Wat is Natural Language Understanding?

Natural Language Understanding (NLU) is het vakgebied dat zich bezig houdt met het interpreteren van de betekenis van menselijke taal door computers.

Waar Natural Language Processing (NLP) zich met name richt op het verwerken van natuurlijke tekst zoals het ontleden van zinnen, gaat Natural Language Understanding (NLU) een stap verder richting het achterhalen van de betekenis van tekst.

Complexiteit

Natural Language Understanding (NLU) is een zeer complex vakgebied waar computers tot nu slechts in beperkte mate in staat toe zijn. Een belangrijke reden is hiervoor de beperkte kennis van onze fysieke wereld (onze realiteit) voor computers.

Wanneer mensen via natuurlijke taal met elkaar communiceren denken we anders dan de woordsoorten (lidwoorden, zelfst. naamwoorden, werkwoorden etc.) zoals we op school leren te ontleden, maar begrijpen de daadwerkelijke betekenis van woorden en hun rol in de fysieke wereld. Zo zien wij een bal niet als slechts een zelfstandig naamwoord, maar hebben een directe voorstelling van het voorwerp, het gebruik en zijn eigenschappen. Zo weten we bijvoorbeeld dat een bal rond is, een bal kan rollen en welke sporten o.a. een bal gebruiken.

Mensen weten ook wat realiteit is in onze wereld. Meteen als we geboren worden starten we als baby direct met het ontdekken van onze wereld, nog voor we kunnen praten. Dit doen we door te zien, te proeven, te voelen, ruiken en te horen. Na een maand of 7-12 zullen we de eerste woorden gaan koppelen aan voorwerpen en personen zoals ‘pappa’ of ‘mamma’ en leren we steeds meer hoe taal mogelijkheden in de fysieke wereld beschrijft. Zo snappen we bijvoorbeeld dat een bal tegen je neus krijgen pijn kan doen, maar een muur geen pijn heeft van een bal. Mensen kunnen zingen, maar planten kunnen dat niet. Maar hoe leg je een computer dit uit als deze zelf niet de wereld kan ontdekken?

De wereld ontdekken vanuit alleen tekst is lastig

Computers kunnen onze realiteit niet zelf ontdekken en zijn afhankelijk van puur de teksten en databases die door mensen zijn opgesteld. Waar een computer bijvoorbeeld eenvoudig een veelvoorkomende relatie tussen woorden als bijvoorbeeld zee en oceaan kan vaststellen, zal de mens begrijpen, interpreteren, relateren en redeneren -al dan niet uit eigen ervaring of opgedane kennis- dat een zee bestaat uit zout water, dat je in de zee kan zwemmen, dat je zeewater (beter) niet kan drinken, en de zee erg groot is. Ook kunnen we logisch redeneren dat ‘Een zee van ideeën’ niet letterlijk bestaat, maar beeldspraak is voor ‘Heel veel ideeën’ omdat we gezond verstand (common sense) toepassen op deze fysieke wereld.

De algemene kennis die mensen hebben van de fysieke wereld, maakt dat mensen met elkaar kunnen communiceren op een zodanige efficiënte manier dat we er vanuit gaan dat als we iemand iets vragen, bepaalde algemene kennis en begrip reeds aanwezig is bij de ontvanger. Een zin als “Ik heb mijn glas omgestoten en hierdoor is de vloer nat.” zullen we in de praktijk mogelijk enkel communiceren als “Ik heb mijn glas omgestoten.”; We gaan er reeds van uit dat de ontvanger snapt dat het gevolg is dat de vloer nat is.

In de NLU-wereld spreken we ook wel van het “missende tekst” probleem voor computers. Dat wil zeggen dat als we met elkaar communiceren we niet alles benoemen in tekst. Die kennis is bij de ontvanger reeds aanwezig door bijvoorbeeld de context van het gesprek, de omgeving en ervaring van de ontvanger. Hoe beter mensen elkaar kennen, hoe minder woorden vaak nodig zijn om met elkaar te communiceren. Voor computers is vrijwel onmogelijk om uit alleen de tekst de concepten van de fysieke wereld te leren. Immers staan deze concepten meestal niet beschreven.

Intents zijn geen NLU

Veel chatbotsystemen in de markt werken op dit moment met zogeheten intents onder de noemer “Natural Language Understanding”. Een intent is een intentie (mogelijk doel of wens) van een gebruiker die met een aantal voorbeeldzinnen van typische vragen (zogeheten utterances) aan de chatbot wordt opgegeven als trainingsdata. Een chatbot “leert” zo aan de hand van deze voorbeeldzinnen, dat als iemand een dergelijke vraag stelt, de vraag wordt gekoppeld aan een antwoord. Dankzij machine learning-technieken en taalmodellen kunnen ook andersgestelde vragen worden gerelateerd aan de eerder opgegeven voorbeeldzinnen. Hierdoor hoeft de maker van de chatbot niet alle mogelijke vraagmanieren op te geven. Intents leveren daarom meestal een bruikbare chatbot toepassing op, want iedereen stelt zijn vraag op een net iets andere manier en zo kan de chatbot op een zo breed mogelijke manier een vraag afvangen.

Toch is het belangrijk om het volgende te beseffen: Door voorbeeldzinnen aan computer op te geven leert een computer in basis slechts vragen te koppelen aan een mogelijke antwoord. De computer leert niet te begrijpen of te redeneren waarom het antwoord gegeven moet worden. We geven immers een computer de gewenste input en output op, maar leggen niet uit welke grondslag van toepassing was om van vraag tot antwoord te komen. De computer kan dus zijn eigen redenatie maken tussen input en output, die niet per definitie hetzelfde is als de menselijke redenatie. En met machine learning-technieken heeft de redenatie van de computer meestal een statistische grondslag dan taalbegrip. In het algemeen leert men met intents computers vragen te classificeren, wat iets anders is dan echt vragen te begrijpen. Deze systemen passen dus eigenlijk Natural Language Classification (NLC) toe. Eigenlijk is het woord “Understanding” in NLU te groot voor wat werkelijk gebeurd in de computer.

Natural Language Understanding in Botprof

Binnen het Botprof platform is Natural Language Understanding het proces waarbij we uit taal fundamentele kenmerken proberen te extraheren die essentieel zijn in wederkerig begrip tijdens verbale communicatie. Denk hierbij bijvoorbeeld aan wat in een gesprek de communicatierichting is, welke voorwerpen worden besproken, wat acties zijn, wie de voorwerpen heeft (bezit), of iemand iets wel of niet wil (ontkenning) en of iemand überhaupt een vraag stelt of een reactie geeft. Hiermee kunnen onze chatbots o.a. beter het verschil tussen ‘jij’ en ‘ik’ herkennen of wanneer iemand iets ‘wel’ of ‘niet’ wil. Vrij essentieel om miscommunicatie te voorkomen. Door de robot op deze fundamenten te trainen, heeft de robot basiskennis die toepasbaar is op ieder willekeurige zin. Dit helpt ons systemen te ontwikkelen die minder afhankelijk zijn van grote hoeveelheden trainingsdata.

GPT-3

Bij het grootste taalmodel ter wereld van 2020, GPT-3 (OpenAI), getraind op een enorme hoeveelheid teksten van het internet, zien we dat computers steeds krachtiger worden in het statistisch voorspellen van opvolgende woorden en relaties. Daarmee hebben ze nog lang geen begrip van onze realiteit of een vorm van intelligentie, maar hebben wel het vermogen om soms tot indrukwekkende toepassingen te komen.