Chatbot servers

AI, ML en NLP

Chatbot servers

1. Artificiële intelligentie (AI)

Met artificiële intelligentie wordt gerefereerd naar gesimuleerde intelligentie dat wordt vertoond door machines. Het centrale idee binnen het onderzoeksveld van Artificiële intelligentie is dat menselijke intelligentie door machines kan worden nagebootst. Artificieel intelligente machines worden over het algemeen geprogrammeerd om het denken van de mens te simuleren en de acties van een echte persoon na te bootsen en vaak zelfs efficiënter af te handelen. De belangrijkste eigenschap van ‘intelligente agenten’ is dat ze rationeel kunnen nadenken en actie kunnen ondernemen om hun kans op succes te verbeteren bij het behalen van een specifiek doel. Machines die kunnen bijleren, dankzij machine learning, en problemen oplossen worden beschouwd als artificieel intelligent.

De criteria waaraan machines moeten voldoen om als artificieel intelligent te worden beschouwd veranderen constant.

Naargelang de technologie steeds geavanceerder wordt veranderen ook steeds de criteria waaraan een machine moet voldoen om als artificieel intelligent te worden beschouwd. Men zegt weleens dat een bepaalde technologie wordt beschouwd als artificieel intelligent tot het succesvol werd geïmplementeerd, daarna wordt het als vanzelfsprekend beschouwd. Zo worden bijvoorbeeld machines die basisfuncties kunnen uitrekenen of de zoekmachine technologie die Google gebruikt niet langer herkend als artificieel intelligente systemen.

Een goed voorbeeld van systemen die nog steeds worden beschouwd als artificieel intelligent zijn computers die kunnen schaken en zelfrijdende auto’s. Schakende computers bestaan al jaren, zelfrijdende auto’s zijn een vrij nieuwe technologie. Deze systemen moeten telkens de gevolgen van elke actie die ze nemen afwegen om hun doel zo efficiënt mogelijk te bereiken, aangezien elke actie een impact heeft op het eindresultaat. Bij schaken is het doel het winnen van het spel, hiervoor moet het systeem rekening houden met elke pion op het veld, zijn mogelijke bewegingen en de locatie van de pionnen. Bij zelfrijdende auto’s is het doel het bereiken van een bepaalde locatie, hiervoor moet het systeem rekening houden met de routeberekening, andere auto’s, verkeersregels, wegomstandigheden, en andere externe data. Al deze data moet verwerkt worden om ongevallen te vermijden.

AI centrale problemen

De centrale problemen binnen het onderzoeksveld van AI die worden onderzocht zijn redenerend vermogen, kennis, planningsvermogen, leervermogen, NLP (natural language processing), waarnemend vermogen en de mogelijkheid om zich voort te bewegen en objecten te manipuleren in de omgeving. In het geval van chatbots zijn vooral het redenerend vermogen, het vermogen om bij te leren en NLP van belang.

AI is een controversieel onderwerp, een thema dat vaak aan bod komt is dat artificieel intelligente systemen op een bepaald moment zo slim zullen worden dat ze zichzelf zullen kunnen verbeteren aan een exponentieel tempo. Dit punt in de toekomst wordt de ‘singularity’ genoemd, dit onderwerp werd uitgebreid besproken in het boek “The Singularity is Near” geschreven door Ray Kurzweil. In zijn boek schat Ray Karzweil dat we dit punt zullen bereiken in 2045. Hij kreeg wel zeer veel commentaar op zijn theorie. Enkele andere controversen gaan over de ethiek van artificiële intelligentie.

2. Machine learning (ML)

Machine learning stelt ons in staat machines taken te laten uitvoeren die te moeilijk zijn om handmatig te ontwerpen of te programmeren. Vanuit een wetenschappelijk en filosofisch perspectief is dit een zeer interessant onderzoeksveld omdat het onderzoek naar machine learning ons meer inzichten geeft in ons fundamentele begrip van intelligentie.

ML stelt programma’s in staat bij te leren zonder dat ze expliciet geprogrammeerd moeten worden

We kunnen chatbots in staat stellen om te communiceren op twee verschillende manieren, namelijk door de chatbot te programmeren en te specifiëren hoe hij moet communiceren, of door de chatbot te programmeren zodat hij kan leren hoe hij moet communiceren.

Machines kunnen dankzij machine learning acties en beslissingen die ze namen in het verleden evalueren en naargelang de uitkomst hun gedrag in de toekomst aanpassen. Machine learning wordt mogelijk doordat developers een aantal algoritmes implementeren die het leerproces automatiseren. Deze automatisatie wordt mogelijk door vaak voorkomende patronen in de data te detecteren of door de data in verschillende categorieën in te delen en vervolgens te herkennen tot welke categorie de data behoort. Op deze manier kunnen machines goed onderbouwde beslissingen nemen wanneer ze nieuwe, onbekende data binnenkrijgen.

Chatbot machine learning

Systemen die machine learning technieken gebruiken hebben grote voordelen in vergelijking met systemen die gebruik maken van voorgeprogrammeerde regels:

  • De leerprocedures die gebruikt worden bij machine learning focussen automatisch op de meest voorkomende gevallen, als je regels definieert en wilt hard coden is het vaak niet duidelijk waar de focus moet liggen.
  • Deze algoritmes zorgen ervoor dat je systeem robuuster wordt in het geval dat er onbekende input werd ingegeven, zoals bijvoorbeeld onbekende woorden of wanneer andere grammatische structuren worden gebruikt of in het geval dat er foutieve input werd ingegeven, zoals bijvoorbeeld fout gespelde woorden of weggelaten woorden. Dit soort potentiële fouten opvangen met handgeschreven code is vaak zeer moeilijk, foutgevoelig en tijdrovend.
  • Systemen die automatisch leren worden nauwkeuriger op langere termijn doordat de pool van input data die ze hebben gekregen groter wordt, terwijl systemen gebaseerd op handgeschreven regels enkel nauwkeuriger kunnen worden door de complexiteit van de regels te vergroten.

Natural Language Processing (NLP)

NLP stelt chatbots in staat om de uitgebreide en ingewikkelde menselijke taal te interpreteren en te verstaan wat er gezegd wordt zodat het systeem waat wat er verwacht wordt en een antwoord kan formuleren. Dit proces komt overeen met het onderbewuste denkproces dat mensen toepassen wanneer ze met elkaar communiceren.

NLP laat ons toe in menselijke taal te communiceren met artificieel intelligente systemen.
Conversational user interfaces (CUI’s) worden aangedreven door NLP-technieken.

Om NLP succesvol te laten werken wordt gebruik gemaakt van 5 verschillende taalkundige stappen die in algoritmes worden omgezet. Met behulp van deze stappen kan een computerprogramma natuurlijke taal gaan verwerken.

  1. Lexicale analyse – In deze eerste stap worden teksten onderverdeeld in paragrafen, zinnen en woorden. Aan elk woord worden tags toegekend die de woordsoort van het woord bepalen. Zinnen kunnen bestaan uit: lidwoorden, bijwoorden, werkwoorden zelfstandige naamwoorden, bijvoeglijke naamwoorden, voornaamwoorden, telwoorden, voegwoorden, voorzetsels en tussenwerpsels.
  2. Syntactische analyse – In deze stap wordt nagegaan wat de onderlinge relatie is tussen de verschillende woorden. Zo worden er grammaticale checks gedaan en wordt de onderlinge volgorde van de woorden geanalyseerd.
  3. Semantische analyse – In deze stap wordt nagegaan wat de exacte betekenis is van de ingegeven tekst. Hierbij wordt rekening gehouden met de analyses in de vorige twee stappen om misinterpretatie van woorden en hun betekenissen te vermijden.
  4. Referentie analyse – In deze stap wordt rekening gehouden met verschillende verwijzingen in de tekst.
  5. Pragmatische analyse – In deze laatste stap wordt geïnterpreteerd wat de intentie van de tekst is door gebruik te maken van wereldkennis. Dit is echter de moeilijkste stap voor computers omdat ze deze wereldkennis vaak missen.

Dit is een zeer belangrijk onderzoeksveld binnen de wereld van chatbots en deze technologie boekt zeer sterke vooruitgang op korte termijn. Dit komt doordat Tech Giants zoals Facebook, Microsoft en Google zich achter de ontwikkeling van NLP hebben gezet. Deze bedrijven ontwikkelen deep learning netwerken en andere machine learning technieken om zo NLP te revolutioneren.

Chatbot verwachtingenChatbot report