Hoe chatbots ons begrijpen

Een chatbot kan ons begrijpen door het omzetten van een taaluiting naar intents, entiteiten en door gebruik te maken van context. Ik zal uitleggen wat een intent is, wat entiteiten zijn en hoe een chatbot gebruik maakt van context.

Hoe chatbots ons begrijpen
Uit de nevelen van de taal de juiste bedoeling halen.

In de context van vraag-antwoordsystemen en natuurlijke taalverwerking verwijst intent naar het onderliggende doel dat een gebruiker heeft wanneer hij een vraag stelt of een verklaring aflegt. In wezen is de intent de reden waarom de gebruiker met het systeem of een andere persoon communiceert.

Een gebruiker kan bijvoorbeeld de vraag "Hoe is het weer vandaag?" stellen met de bedoeling informatie te krijgen over de huidige weersomstandigheden in zijn omgeving. Een andere mogelijkheid is dat een gebruiker de vraag "Hoe repareer ik mijn computer?" stelt met de bedoeling instructies te krijgen voor het oplossen van een technisch probleem.

Intentieherkenning is een belangrijk aspect van natuurlijke taalverwerking, omdat het systeem daarmee de behoeften van de gebruiker kan begrijpen en een passend antwoord kan geven. Door de intentie van de vraag van een gebruiker te identificeren, kan een vraag-antwoordsysteem bepalen welk soort informatie de gebruiker zoekt en een relevant antwoord geven.

ChatGPT een persoonlijke vraag over intents gesteld

Intents en een taalmodel

Een AI-taalmodel ontwikkelt en verbetert voortdurend het vermogen om de bedoeling van vragen te begrijpen. De trainingsgegevens omvatten een enorme hoeveelheid natuurlijke taaltekst, waardoor patronen en relaties tussen woorden en zinnen herkend worden.

Een AI-taalmodel gebruikt ook een combinatie van op regels gebaseerde systemen en algoritmen voor machinaal leren om de context, structuur en formulering van een vraag te analyseren om de bedoeling ervan te bepalen. Dankzij deze aanpak kan het systeem een grote verscheidenheid aan vragen op verschillende gebieden, waaronder wetenschap, technologie en het dagelijks leven, nauwkeurig interpreteren.

Er zijn echter nog steeds gevallen waarin de bedoeling van een vraag niet nauwkeurig kan worden bepaald, vooral wanneer de vraag dubbelzinnig is of wanneer de context onduidelijk is. In dergelijke gevallen worden gebruikers gevraagd extra context of verduidelijking geven om zo te helpen hun vraag beter te begrijpen.

Voorbeelden van intents

Er zijn talloze verschillende bedoelingen die iemand kan hebben bij het stellen van een vraag, aangezien menselijke taal ongelooflijk complex en divers is. Enkele voorbeelden van veel voorkomende bedoelingen bij het stellen van vragen zijn:

  • Informatief: de gebruiker is op zoek naar specifieke informatie, zoals het antwoord op een vraag of de uitleg van een concept.
  • Verduidelijking: de gebruiker wil iets verduidelijken dat hij niet begrijpt of waarover hij twijfelt.
  • Instructie: de gebruiker zoekt begeleiding of instructies om een bepaalde taak uit te voeren of een probleem op te lossen.
  • Vergelijking: de gebruiker wil verschillende opties of scenario's met elkaar vergelijken om een beslissing te kunnen nemen.
  • Opinie: de gebruiker zoekt de mening van anderen over een bepaald onderwerp of probleem.
  • Bevestiging: de gebruiker zoekt bevestiging of verificatie van iets waarvan hij denkt dat het waar is.

Dit zijn slechts enkele voorbeelden van de verschillende bedoelingen die aan de vraag van een gebruiker ten grondslag kunnen liggen. Als AI-taalmodel ben ik getraind om een breed scala aan vraagintenties te herkennen en erop te reageren, en ik leer voortdurend bij en pas me aan om de nuances van de menselijke taal beter te begrijpen.

Entiteiten, bouwstenen voor intents

Entiteiten zijn een ander belangrijk concept in natuurlijke taalverwerking dat nauw verwant is aan intents. Terwijl intents het algemene doel van de invoer van een gebruiker weergeven, verwijzen entiteiten naar specifieke stukjes informatie binnen de invoer die relevant zijn voor de intent.

Entiteiten worden gebruikt om belangrijke informatie uit de invoer van de gebruiker te halen en zo een nauwkeuriger en nuttiger antwoord te geven. Als de bedoeling bijvoorbeeld is een vlucht te boeken, kunnen de relevante entiteiten de steden van vertrek en aankomst, de reisdatum en het aantal passagiers zijn.

Entiteiten kunnen worden beschouwd als de bouwstenen van intents, aangezien zij de specifieke details verschaffen die nodig zijn om het verzoek van de gebruiker uit te voeren. Zij kunnen uit de invoer worden gehaald met technieken als reguliere uitdrukkingen, named entity recognition of machine learning.

In het algemeen werken entiteiten en intents samen om chatbots en taalmodellen in staat te stellen input van gebruikers te begrijpen en erop te reageren op een manier die relevant en nuttig is. Door de specifieke informatie te extraheren die nodig is om aan het verzoek van de gebruiker te voldoen, kunnen chatbots nauwkeurige en gepersonaliseerde antwoorden geven die zijn afgestemd op de behoeften van de gebruiker.

Voorbeelden entiteiten

Voorbeelden maken het snel duidelijker. Hier zijn enkele voorbeelden van entiteiten die in verschillende contexten relevant kunnen zijn:

  • Data en tijden: Gebruikt voor planning of event-gerelateerde queries
  • Locaties: Gebruikt voor mapping, navigatie of zoekopdrachten naar lokale bedrijven.
  • Namen: Gebruikt voor contactbeheer of personalisatie.
  • Getallen: Gebruikt voor berekeningen of kwantitatieve zoekopdrachten.
  • Producten: Gebruikt voor e-commerce of voorraadbeheer.
  • Organisaties: Gebruikt voor zakelijke zoekopdrachten of bedrijfsinformatie.
  • Monetaire bedragen: Gebruikt voor financiële of budgetgerelateerde zoekopdrachten.
  • Hoeveelheden: Gebruikt voor bestellingen of voorraadbeheer.
  • Afmetingen: Gebruikt voor vragen over koken of constructie.
  • URL's of e-mailadressen: Gebruikt voor web- of e-mailgerelateerde zoekopdrachten.

Dit zijn slechts enkele voorbeelden, en de specifieke entiteiten die relevant zijn, hangen af van de context en het doel van de chatbot of het taalmodel. Entiteiten kunnen worden geïdentificeerd met behulp van verschillende technieken, zoals reguliere expressies, named entity recognition of machine learning.

Uitspraken en de intents en entiteiten hieruit.

Recente vooruitgang natuurlijke taalverwerking

Intents en entiteiten uit vragen halen kan een uitdaging zijn, omdat natuurlijke taal complex en vaak dubbelzinnig is. Inzicht in de nuances van taal vereist niet alleen kennis van syntaxis en grammatica, maar ook begrip van context, idioom en culturele verwijzingen.

Bovendien hangt de complexiteit van de taak af van de specifieke use case en de verscheidenheid aan inputs die de chatbot of het taalmodel geacht wordt te verwerken. Zo kan een chatbot die is ontworpen om klantenondersteuning te bieden voor een specifiek product of een specifieke dienst een beperkter scala aan mogelijke inputs hebben dan een algemeen taalmodel dat een grote verscheidenheid aan vragen moet verwerken.

Dankzij de vooruitgang op het gebied van natuurlijke taalverwerking en machinaal leren wordt het echter steeds beter mogelijk om nauwkeurig intenties en entiteiten uit gebruikersinput te halen. Met behulp van grote datasets en geavanceerde algoritmen kunnen moderne chatbots en taalmodellen (zoals ChatGPT) patronen in taal herkennen en voorspellingen doen over de intentie en entiteiten die hoogstwaarschijnlijk aanwezig zijn in een bepaalde input.

Context van een conversatie

Hoewel het extraheren van intenties en entiteiten uit gebruikersinput een uitdaging kan zijn, is het een cruciaal aspect van de ontwikkeling van effectieve chatbots en taalmodellen die accurate en gepersonaliseerde antwoorden kunnen geven op gebruikersvragen. Hierbij speelt vooral ook de context een belangrijke rol. In de context van chatbots verwijst context naar de informatie of aanwijzingen die beschikbaar zijn voor het systeem op een gegeven moment in een gesprek, inclusief eerdere invoer van de gebruiker, de huidige status van het gesprek en relevante externe gegevensbronnen.

Door gebruik te maken van de context kunnen chatbots intelligenter en persoonlijker reageren op input van de gebruiker. Zo kan een chatbot die is ontworpen om gebruikers te helpen bij het boeken van vluchten, de context gebruiken om de favoriete luchtvaartmaatschappij van de gebruiker, vertrektijden en andere relevante details uit eerdere interacties te onthouden, en deze informatie gebruiken om gerichtere aanbevelingen te doen of efficiëntere boekingsopties te bieden.

Context kan op verschillende manieren worden gemodelleerd, afhankelijk van de specifieke toepassing en de beschikbare gegevensbronnen. Enkele gangbare benaderingen zijn het gebruik van op regels gebaseerde systemen, algoritmen voor machinaal leren, of een combinatie van beide, om relevante patronen en kenmerken in de conversatiegeschiedenis en andere contextuele informatie te identificeren en te benutten.

Samenvatting intents, entiteiten en context

De intents van een vraag verwijst naar het doel of de betekenis van de vraag, en kan worden geïdentificeerd en gebruikt door chatbots en andere natuurlijke taalverwerkingssystemen om betere antwoorden te geven.

Entiteiten zijn specifieke objecten, concepten of stukjes informatie die worden genoemd in de input van een gebruiker en relevant zijn voor het doel van de input. Chatbots kunnen entiteiten gebruiken om specifieke informatie of parameters uit gebruikersinvoer te extraheren en meer nauwkeurige en gepersonaliseerde antwoorden te geven.

Context is belangrijk voor chatbots en verwijst naar de informatie of aanwijzingen die beschikbaar zijn voor het systeem op elk moment in een gesprek. Door context te gebruiken, kunnen chatbots intelligenter en gepersonaliseerde reacties bieden.

Het proces van het vinden van intenties en entiteiten is gedeeltelijk geprogrammeerd en gedeeltelijk gebaseerd op machine learning-modellen die zijn getraind op grote hoeveelheden gegevens. Ik ga hier de komende tijd mee aan de slag en zodra ik iets heb om te laten zien dan maak ik een volgend artikel. Dat is tenminste de intentie ;-)