Part Of Speech Tagging en GWT

In de Alane Suite berekenen we de moeilijkheid van tekst op basis van hoe vaak de woorden in de tekst voorkomen. Een tekst met alleen veelvoorkomende woorden is gemakkelijker dan een tekst met weinig voorkomende woorden. Hierop baseren wij de berekening van de moeilijkheid van teksten voor de Alane Nieuwslezer. Het woord "de" is makkelijker dan het woord "allengs".  Het eerste woord komt vaker voor, dus kom je het vaker tegen, dus is de kans dat je weet wat het betekent groter. Dat is dus de theorie, en in de praktijk blijkt dat prima te werken. Echter, er is altijd ruimte voor verbetering.

Taal is ambigu. Het woord "was" bestaat zowel als werkwoord en als zelfstandig naamwoord. "Ik was de was" is hier een voorbeeld van. En beide vormen komen in verschilllende mate voor, ze zouden dus eigenlijk als aparte woorden gezien moeten worden. Maar hoe? Daar komt dus het probleem boven dat we automatisch moeten gaan taalkundig ontleden. Gelukkig is daar al een hoop werk in verricht en onderzoek naar gedaan, met dank aan, onder andere, Antal van den Bosch, zie hier zijn briljante uiteenzetting. Na even diep inlezen, gevolgd door flink programmeren heb ik het geheel aan de praat. Ik zal niet in details treden, maar de alane suite kan nu real-time, automatisch taalkundig ontleden (ook wel Part-Of-Speech (POS) taggen genoemd). Om nu een beetje inzicht te krijgen in de resultaten van de POS tagger dacht ik dat het wel aardig zou zijn een applicatietje te bouwen waar je e.e.a. zou kunnen bekijken. Zie hier het resultaat:

 POS Editor Screen

POS Editor Screen

En dan nu even het technische verhaal. Na een opzetje in Spring MVC/JSP/html kwam ik toch snel to de conclusie dat de user interactie toch iets ingewikkelder is dan met mijn kennis van html mogelijk is, en een javascript/dhtml god ben ik al helemaal niet. Gelukkig ben ik niet de enige met dit probleem, en heeft google Google Web Toolkit (GWT) al een tijdje uitgebracht. Om de leercurve nog even wat steiler te maken, ben ik gelijk maar begonnen met de gwt-ext extensie. Het laatste is een koppeling tussen GWT en de javascript library Ext (http://extjs.com/). Ontwikkelen in GWT is eigenlijk terug naar de jaren '90, waar we met Swing/AWT dagen lang vochten met labels, text input velden, gridbag layout managers en buttons. Toen was dat niet leuk, frustratie alom. Nu, na jaren webontwikkelen, is het eigenlijk fijn om weer terug te zijn bij dit model. De vraag is natuurlijk waarom dit is? Omdat web ontwikkeling zo lastig is, of omdat dit model toch beter is? Of hebben we gewoon meer ervaring waardoor we minder lang blijven steken in problemen. Ik denk het laatste. In ieder geval is ontwikkelen in GWT een heftige ervaring, het compileren naar javascript werkt, als je de beperkingen kent, eigenlijk best perfect. Het voelt ongeloofelijk de kracht van java in je browser te kunnen inzetten. Dan nog even wennen aan het feit dat je alleen asynchroon kunt communiceren en je bent er. Dé lang gezochte totaal oplossing voor front end ontwikkeling is het niet, maar het laat in ieder geval een heel interessante richting zien. Mijn zoektocht naar de heilige front-end graal gaat voort.

Overige Blog Posts

Mixing Spring MVC Controllers with Spring Annotations

Blogger: Roland Groen

Date: 20-08-2011 - 14:00

Read the article at our confluence page Mixing Spring MVC Controllers with Spring Annotations

Sakai en SURFconext: federated team sites en Sakai openSocial gadgets

Blogger: Jaeques Koeman

Date: 18-03-2011 - 16:29

Edia heeft de afgelopen maanden gewerkt aan Sakai als service provider binnen de samenwerkinginfrastructuur die door SURFnet wordt ontwikkeld. SURFconext zorgt dat diensten van verschillende aanbieders met en naast elkaar gebruikt kunnen worden waardoor nieuwe samenwerkingsmogelijkheden ontstaan. Instellingen passen SURFconext toe om interne en externe diensten te integreren en om gebruikers een samenwerkingsomgeving te bieden die meebeweegt met hun online samenwerkingsbehoefte (Bron: surfnet.nl).

Sakai Scorm Player at the Dutch NOiv Plugfest

Blogger: Melvin Wevers

Date: 12-10-2010 - 15:12

Edia has been awarded the 100% score with the Sakai SCORM player at the Dutch NOiV Plugfest. During this event, organized by NOiV and Kennisnet, experts on education show how open-source eLearning can be employed within different eLearning platforms and Authoring environments. Edia’s version became first in the ranking of the eLearning category which also featured It’s Learning and N@tschool. The Sakai SCORM player works within the Sakai architecture, and it a continuation of the work of UC Davis.

Creating your own GroupProvider in Sakai

Blogger: Maarten van Hoof

Date: 12-05-2009 - 11:04

In Sakai, the GroupProvider provides user / role membership in a group, from an external system. We are currently involved in a project that implements GroupProvider to allow the members of a federated administration workspace to manage the worksites created inside that federated administration worksite. More on that in future posts. Here I'd like to briefly give a few pointers about implementing your own GroupProvider.

Part Of Speech Tagging en GWT

Blogger: Roland Groen

Date: 20-03-2009 - 12:20

In de Alane Suite berekenen we de moeilijkheid van tekst op basis van hoe vaak de woorden in de tekst voorkomen. Een tekst met alleen veelvoorkomende woorden is gemakkelijker dan een tekst met weinig voorkomende woorden. Hierop baseren wij de berekening van de moeilijkheid van teksten voor de Alane Nieuwslezer. Het woord "de" is makkelijker dan het woord "allengs".  Het eerste woord komt vaker voor, dus kom je het vaker tegen, dus is de kans dat je weet wat het betekent groter. Dat is dus de theorie, en in de praktijk blijkt dat prima te werken.

Launch of the 'Smart Newsreader'

Blogger: Rintse van der Werf

Date: 15-10-2008 - 14:53

In a project sponsored by a digital pioneers grant of Netherlands Knowledgeland software from Edia's ALANE suite is used to help immigrants with learning Dutch vocabulary used in today's newspaper articles.