Wat Artificiële Intelligentie (NLP) kan met tekst

28 juli, 2020

Rick Vink Instructeur School of Data Science

Rick Vink – Expert in Machine Learning & Deep Learning

“Natural Language Processing (NLP) is een snel ontwikkelend veld. Tegenwoordig zien we iedere paar maanden een nieuw opwindend resultaat dat gepubliceerd wordt met nieuwe methoden die nóg beter in staat zijn kennis te halen uit tekst. “

Tekst, een gigantische onontgonnen bron van informatie. Artificiële Intelligentie (AI) kan met behulp van Natural Language Processing (NLP) ons helpen deze bron beter te benutten. Daarvoor is het nodig dat AI dit weet te interpreteren, zodat wij daarop kunnen handelen. Enkele voorbeelden van toepassingen: vragen stellen aan de hand van een tekst, een vraag doorverwijzen naar de juiste persoon binnen een organisatie of de behoeftes van klanten beter leren begrijpen. Maar kan een AI dat al? En hoe kan dat? In deze blog lees je meer over de dingen die al kunnen met NLP.

Stel je voor, je hebt een artikel waar je informatie uit wilt halen, maar het artikel is vrij complex en vele pagina’s lang. Of je wilt wat opzoeken in het wetboek over een bepaalde zaak. Hoe tof zou het zijn als AI je vraag kan beantwoorden of je kan verwijzen naar het juiste stukje tekst? Dit is iets wat nu al kan met question and answering. Hierbij geef je een model je vraag en de tekst waar waarschijnlijk het antwoord in staat. Het model spit de tekst door en geeft aan hoe waarschijnlijk het is dat de woorden van de tekst relevant zijn voor je vraag. Een ander voorbeeld wat nu al zeer goed werkt is het vertalen van teksten. Wekelijks gebruik ik Google translate om een vertaling van een woord op te zoeken (gek genoeg vaker van Engels naar Nederlands in plaats van andersom) of teksten te vertalen. In het begin was Google translate vooral leuk om mee te spelen maar nu is de gegenereerde tekst voor 90% al perfect en hoef ik alleen nog een paar zinnen aan te passen zodat ik het zelf beter vind klinken. Het labelen van teksten op sentiment of onderwerp kan veel opleveren. Bijvoorbeeld wanneer je wilt weten wat mensen van je bedrijf of product vinden via Twitter. Zo’n AI kan je maken door een hele set aan data al van te voren zelf te labelen. Een AI kan dan patronen gaan vinden in deze gelabelde teksten, waarna het op nieuwe teksten een goede voorspelling kan doen. Die hebben we uitgevoerd op Nederlandse reviews van Tweakers. In Afbeelding 1 is te zien dat onze modellen een nauwkeurigheid hadden tussen de 75 en 90%.
NLP Validatie Accuratie NLP

Afbeelding 1: Test resultaten van het voorspellen of een review positief is of negatief. Deze testset bestaat uit 600 review waarvan 50% positief is en 50% negatief. X-as is de Epoch: hoe vaak het de data heeft gezien. Waarbij epoch 1 één keer de data heeft gezien en epoch 10 tien keer de data heeft gezien. Y-as is de accuractie: hoeveel van de data heeft het goed voorspeld. Waarbij dus de modellen tussen de 75% en 90% als score hebben.

Het kiezen van het juiste model is belangrijk. Vaak loont het om een pretrained model te gebruiken zoals BERT (een getraind model van Google). Dit model heeft dagenlang wikipedia en andere teksten ‘gelezen’ om zo taal te ‘begrijpen’. Daarna is het leren van jouw specifieke opdracht met een paar voorbeelden al goed te doen.

Naast een goed model speelt de kwaliteit en kwantiteit van je data een zeer grote rol. Een vers model heeft met een paar samples niet genoeg ervaring om goed onderscheid te kunnen maken tussen positieve en negatieve reviews. Gelukkig kan een pre-trained model een hoop goed maken, omdat het al kennis heeft van de taal. Hierdoor hoeft het enkel nog te leren wat je precies wilt met de tekst.

NLP Model BERT

Afbeelding 2: Het effect van trainen van een model met een beperkte hoeveelheid data. Hier zie je dat een nieuw model dat nooit op tekst is getraind bijna 1000 voorbeelden nodig heeft voordat het een beetje van de grond komt. Daarentegen heeft het pretrained BERT model al een vliegende start. Elk datapunt is een uniek getraind model. X-as: Het aantal samples dat gebruikt is tijdens het trainen. Y-as: De prestatie van het model.

Natural Language Processing is een snel ontwikkelend veld. Tegenwoordig zien we iedere paar maanden een nieuw opwindend resultaat dat gepubliceerd wordt met nieuwe methoden die nóg beter in staat zijn kennis te halen uit tekst. Op dit moment schijnt de trend te zijn: meer data en groter model voor een beter resultaat. Deze modellen kosten veel tijd en geld om te trainen. Gelukkig worden de meeste modellen publiekelijk vrijgegeven, zodat iedereen die de juiste kennis heeft ze kan gebruiken voor hun zijn of haar uitdagingen.

Wil jij zelf NLP technieken leren begrijpen en toepassen?

“Deze 1-daagse cursus is ideaal om wegwijs te geraken met NLP.”

5/5

Vincent Janssen – AI/System Engineer bij Verhaert

Scroll to Top