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

Alane Nieuwslezer in Levende Talen Magazine

Blogger: Remy Lamers

Date: 25-06-2010 - 11:04

In het Levende Talen Magazine van mei 2010 staat een artikel over de Alane Slimme Nieuwslezer. In het artikel schrijft John Daniëls over zijn ervaring met de Alane Nieuwslezer als leerling en docent.

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.