Natural Language Processing

Wat is Natural Language Processing?

In Basics, Tech by PeterLeave a Comment

Leestijd: 8 min.

Natural Language Processing (NLP) is de technologie die wordt gebruikt om computers te helpen de natuurlijke taal van de mens te begrijpen.

De vertaling in Nederlands is: computationele taalkunde of computerlinguïstiek, alleen gebruikt vrijwel niemand deze vertalingen. Overigens wordt Natural Language Processing ook niet zo vaak gebruikt. Zodra men het woord ‘chatbox’ gebruikt, begrijpt opeens iedereen waar het overgaat. NLP is echter veel meer dan een chatbox.  

De meeste artikelen op deze site gaan over agile werken, dit artikel zou dus ook over het andere NLP (Neuro Linguïstisch Programmeren) kunnen gaan. Dit artikel gaat echter over verandering, want NLP is een mooi voorbeeld van grote veranderingen door technologische ontwikkelingen.

Dit artikel is voor velen nog ‘nice to know’, maar afhankelijk van je omgeving al ‘need to know’. Of je techniek nu interessant vindt of niet, voor agile werkenden is het noodzakelijk om veranderingen te herkennen om tijdig te kunnen handelen! In dit artikel zal zoveel mogelijk getracht worden om technisch taalgebruik te vermijden.

Want een ding is inmiddels al duidelijk: het begrijpen van de menselijke taal is niet meer alleen voorbehouden aan de mens.

NLP en Artificial Intelligence

Natural Language Processing is een van de takken van sport in Artificial Intelligence (kunstmatige intelligentiesystemen). NLP houdt zich bezig met de interactie tussen computers en mensen met behulp van mensentaal.

Het doel van NLP is het lezen, ontcijferen, begrijpen en zinnig maken van menselijke taal. Dat dit doel waarde dient te hebben is vanzelfsprekend, dat deze stap gerealiseerd gaat worden ook.

De basisgedachte van NLP is heel simpel. Machinaal leren wordt ingezet om de menselijke talen te leren.

Hoe werkt Natural Language Processing?

Daarvoor past men in de programmering van NLP algoritmes, artificial intelligence en deep learning toe. NLP is een toepassing om ongestructureerde gegevens om te kunnen zetten naar een vorm die een machine begrijpt.

De meeste mensen denken dat NLP m.b.v. statistische methodes werkt, maar statistische methoden bleken te beperkt. In de afgelopen 10 jaar is NLP van statische methodes overgestapt naar neurale netwerken voor machinaal leren. De snelheid waarin dit zich verder ontwikkelt is zeer hoog te noemen.

Het makkelijkste om dit eenvoudig uit te leggen is dat je door het toevoegen van een natuurlijke taalregel een machine deze kan toepassen. Dit is echter niet voldoende, slechts door ontelbare keren te vertalen en een menselijke correctie te ontvangen kan een machine leren. Door te leren, verbetert de machine zich constant. Daardoor is een machine uiteindelijk in staat om de betekenis van een zin te ‘begrijpen’  en de benodigde gegevens er uit te halen.

Straks volgen 9 toepassingen van Natural Language Processing, maar nu eerst een voorbeeld hoe jij helpt om NLP te verbeteren. Wanneer je iets laat vertalen door een machine krijg je soms een verrassende vertaling aangeboden, maar jij begrijpt al snel wanneer de vertaling niet helemaal klopt en gaat op zoek naar alternatieve begrippen in de aangeboden woordenlijst. Door deze woorden aan te klikken, krijg jezelf een betere vertaling en leert de machine. Na ontelbare keren zal de machine steeds betere vertalingen leveren.

Je kunt stellen dat er turbulente ontwikkelingen zijn in AI en NLP. Het lijkt er immers op dat machines de stap naar de taal goed leren te begrijpen maken, begrijpen straks taal net als wij dat doen. Hoe werkt dat nu in grote lijnen?

De stappen in de interactie

Het proces van NLP is vrij eenvoudig te beschrijven. Het is immers een interactieproces, met als verschil dat één van beide partijen een machine is. Simplistisch beschouwt zijn er 6 stappen: 

  • Een mens ‘praat of schrijft’ met een machine.
  • De machine vangt de audio of tekst op.
  • Conversie (van audio) naar ‘taal’ vindt plaats.
  • Verwerking van de gegevens naar context.
  • Omzetting van context naar een antwoord via audio of tekst.
  • De machine reageert door het teruggeven van een tekst of door audio.

Dit is gemakkelijk om te realiseren als er altijd exact dezelfde vraag wordt gesteld. Maar mensen zijn niet zo gemakkelijk te begrijpen. We kennen meerdere talen, elke taal kent meerdere niveaus, bijv. hoog of laag, abstract of niet abstract, emotioneel en/of hanteren allerlei taalvormen (bijvoorbeeld sarcasme). Derhalve hanteert NLP een scala aan technieken, deze zijn echter terug te brengen naar 2 hoofdcategorieën.

De technieken van Natural Language Processing

De hoofdcategorieën van NLP bestaan uit syntactische en semantische analyse. Syntax gaat over de rangschikking van woorden in een zin. Semantiek gaat over de betekenis die overgebracht wordt.

  • Voor syntax hanteert men grammaticale regels. Het toepassen van regels past goed bij machinetaal, dus is men hier al heel ver mee.
  • Semantiek is de uitdaging die nu voor ligt. Met computeralgoritmes probeert men de betekenis van woorden om zinnen te begrijpen.

Binnen NLP is er een hele wereld aan begrippen ontstaan. Die elk een deel van taal proberen te tackelen.

Omdat beloofd is om in dit artikel niet met complexe termen te komen, volgen nu slechts een aantal voorbeelden van technieken die onder de hoofdindeling passen: speech recognition, grammatical tagging, named entity recognition en parsing.

Een goede eigenschap is dat men nieuwsgierig en onderzoekend is, deze AC beleefd veel plezier aan het met dit soort onderwerpen bezig te zijn. Derhalve is vorig jaar o.a. de techniek van Watson Assistent van IBM verkend, een chatbot voor klantenservice in AI omgevingen.

Wat is op dit moment de NLP uitdaging?

De uitdaging is semantiek, want deze ligt in de combinatie van de gebruikte woorden, de verbinding van deze woorden en de beoogde boodschap.

Feitelijk zijn natuurlijke talen niet eenduidig. We gebruiken dubbelzinnigheden, taalregels die weinigen begrijpen, allerlei uitzonderingen op de taalregels, variaties in zinsbouw en daar komen de verschillende betekenissen per woord(combinatie) nog overheen.

Mensen vangen al een deel van de taal op in de moederschoot en hebben daarna jaren nodig om zelfs in hun moedertaal op hoog niveau te kunnen communiceren. Mensen kunnen vrij goed een tweede of derde taal daarnaast beheersen. Zou jij het handig vinden als tijdens een gesprek met een anderstalige taal direct een vertaling zou plaatsvinden?

Machines gebruikten, tot voor kort, programmeertaal. De mens moest in precieze taal communiceren met de machine. Een natuurlijke taal bestaat echter ook uit dubbelzinnigheid en onnauwkeurigheid en dit maakt het uitdagend voor machines om een natuurlijke taal te leren. 

NLP ontleedt menselijke tekst en spraak op diverse manieren. NLP is eigenlijk een complexe combinatie van computerwetenschap, kunstmatige intelligentie en computationele linguïstiek.

Binnen NLP is er een hele wereld aan begrippen ontstaan. Die elk een apart deel van taal proberen te tackelen. Omdat beloofd is om in dit artikel het niet te complex te beschrijven, volgen nu slechts een aantal technieken, zonder verdere toelichting: speech recognition, grammatical tagging, named entity recognition en parsing.

Wellicht is het handiger om je voorbeelden van toepassingen aan te reiken.

9 toepassingen van Natural Language Processing

Welke toepassingen zijn er en wat merk je er vandaag al van? De huidige status van NLP ervaar je elke dag. Wellicht heb je niet zo vaak door dat NLP al volop wordt ingezet. Laten we direct starten met de persoonlijke assistenten: Siri, Ok Google of Alexa, maar laten we ook de andere mogelijkheden noemen.

1. Taalcontrole

Hoe vaak laat jij je teksten controleren? Vermoedelijk staat je autocontrole standaard aan. Het detecteren en corrigeren van spelfouten vinden we al heel gewoon.

2. Automatisch vertalen

We gebruiken allemaal de diverse automatische vertaalmachines. Denk maar aan Google Translate of Deepl. Deze vertalingen worden in rap tempo beter. Als je twijfelt of een vertaling juist is, dan is de volgende tip wellicht handig. Laat de vertaalde tekst eens ‘terugvertalen’, gebruik daar eventueel een andere vertaalmachine voor.

Vertaalmachines worden steeds nauwkeuriger en steeds meer talen kunnen vertaald worden. Zelfs dialecten worden al meegenomen.

Interessant is dat Google recentelijk heeft aangegeven om ook talen die aan het verdwijnen zijn te vast willen vastleggen. Taal is immers een onderdeel van de cultuur en elke taal bevat verhalen en inzichten die in overlevering worden doorgegeven.

Het is jammer dat talen verloren gaan, maar een mooi voorbeeld hiervan is Latijns. Eigenlijk ‘een dode taal’, want deze wordt niet meer gesproken, maar nog wel steeds gebruikt. Als men een taal uit het verleden kent heeft men beter begrip van die periode in de geschiedenis.

3. Spam

no spam in mailbox

Je staat er vermoedelijk niet bij stil dat als je spamberichten ontvangt, een NLP algoritme deze spam helaas nog niet heeft kunnen tegenhouden.

Want wist je al dat de betere spamfilters detectietechnologieën van NLP gebruiken om e-mails te scannen op taal die vaak wijst op spam of phishing? Men controleert dan o.a. op slechte grammatica, onlogische urgentie, bedrijfsnamen die niet juist zijn gespeld of bepaald taalgebruik.

Spam is echter een kat en muis spel geworden tussen aanvallers en verdedigers. Spam zal dus blijven binnenkomen, maar NLP-deskundigen beschouwen spam als zijnde opgelost binnen NLP. Daar mag je het best mee oneens zijn, maar zij stellen dat ook voor spam de NLP algoritmes steeds beter zullen worden.

4. Chatbots

Chatbots zie je eigenlijk al continue op allerlei websites. Zij gaan uit van getypte tekst in een passend vakje. Maar wist je al dat een aantal chatbots al context (semantiek) gebruiken om tot een beter resultaat te komen? Door het gebruiken van deep learning zijn sommige al zover, dat jij kunt worden verrast door de relevantie van het gegeven antwoord. De antwoorden maken al gebruik van ‘eigen’ taal.

5. Samenvatten van teksten

Er komt steeds meer digitale tekst beschikbaar, al deze tekst kan worden verwerkt. Bijvoorbeeld om samenvattingen, indexaties en databases te maken. Hetzelfde geldt natuurlijk voor beeldmateriaal.

Wat NLP en AI trachten te bereiken is het bieden van relevantie. Want daardoor kunnen mensen veel tijd besparen. Ze hoeven niet alles meer te lezen of bekijken, voordat ze vinden wat ze nodig hebben.

Maar wist je al dat NLP ook al wordt ingezet om geautomatiseerd context toe te voegen en conclusies te trekken?

6. Text to speech

Een tekst kan getransformeerd worden naar gesproken taal. Dit helpt o.a. visueel gehandicapten.

7. Virtuele assistenten

Het tegenovergestelde van text to speech is spraakherkenning. De bekendste virtuele assistenten zijn Siri, Alexa en Google Assistent. Deze assistenten proberen patronen in spraakopdrachten te herkennen. Ze reageren met een actie of commentaar op jouw spraakopdracht in natuurlijke taal. Het uitspreken van tekst noemt men spraaksynthese.

8. Sentimenten van sociale media.

Het meten van de sentimenten van sociale media maakt nog steeds veel los. NLP maakt verborgen gegevensinzichten inzichtelijk door enorme hoeveelheden data te analyseren.

hashtag

Wat er feitelijk gebeurt is dat NLP wordt ingezet om berichten, reacties, reviews en allerlei houdingen en emoties te beoordelen op basis van gehanteerde taal. Deze inzichten kunnen dan weer worden gebruikt voor tal van doeleinden.

Naast het bepalen van sentimenten in sociale media, kan men NLP ook richten op specifieke onderwerpen.

Door het scannen van relevante sites, blogs, documenten en beeldmateriaal kan men informatie ophalen en deze classificeren. Daarbij kan NLP bijvoorbeeld ook bepalen of er op het onderwerp positief of negatief wordt gereageerd. Waardoor men uiteindelijk beter kan voorspellen.

Voorbeelden hiervan zijn toepassingen in de wetenschap of door overheidsinstanties t.b.v. de nationale veiligheid.

Welke impact heeft NLP op jou?

Alle voorgaande voorbeelden van een steeds betere NLP stellen jou in staat om anders naar jouw persoonlijke omstandigheden te kijken.

Het gemak waarmee deze systemen ingezet kunnen worden voor persoonlijke doeleinden zal het jou gemakkelijker maken om doelen te bereiken. We vinden het al heel normaal om een computer aan de lijn te krijgen of thuis vragen te stellen aan een speaker met ‘Alexa’.

Naast het gemak, zullen uit de NLP ontwikkeling ook aandachtspunten ontstaan. Een belangrijk aandachtspunt is wat NLP kan betekenen voor jouw organisatie en jouw rol? Om het je gemakkelijk te maken: als jouw taak is om de telefoon op te nemen en simpele antwoorden te geven, dan is het tijd om je verder te gaan ontwikkelen.

Ontwikkeling is nodig, want eenvoudig werk zal door AI en NLP als eerste kunnen worden vervangen. Is dit erg? In veel gevallen niet, want het complexe en interessante werk blijft nog nodig. Maar, dan moet je nu in actie komen om dat interessante werk straks wel te beheersen. Het kan echter ook zijn dat je nu al moet gaan nadenken over een carrière switch.

Tot slot

NLP richt zich op het taalaspect binnen Artificial Intelligence. NLP ontwikkelt zich razendsnel. Je hebt gegarandeerd al te maken gehad met NLP.

Met elkaar verbinden is nodig, men heeft een gedeelde taal nodig om elkaar beter te begrijpen. Zelfs als het begrijpen van de taal van een ander komt door een machine, is het kunnen verbinden belangrijker.

Vraag je eens af wat Natural Language Processing voor jou kan gaan betekenen. In je werk, voor jouw toekomst en gewoon voor fun. Wellicht raak je hierdoor ook geïnteresseerd in Artificial Intelligence en robotisering.

Wil je meer weten over NLP dan is de Engelstalige Wikipedia als vervolgstap interessant.

Leave a Comment