Chatbots zijn populair. Want chatbots zijn de toekomstige manier om in contact te treden met klanten, medewerkers en alle andere mensen met wie u wilt communiceren. De essentie is dat deze communicatie een dialoog is. In tegenstelling tot het ouderwets publiceren van informatie, hebben mensen, door de chatbot vragen te stellen, directer en persoonlijker toegang tot de informatie die ze wensen.
Chatbots kunnen ook worden gebruikt voor informatieoverdracht, zoals leren en opzoeken. De chatbot kan de gebruiker leiden naar die informatiebronnen die hij of zij nodig heeft. Met behulp van vraag-antwoordparen kan de gebruiker de kennis, die in de chatbot is vastgelegd, doorzoeken. Dit is efficiënter dan zoekmachines, omdat de chatbot de gebruiker in dialoog naar het meest relevante antwoord kan leiden, in plaats van een hoeveelheid teksten voor te leggen die mogelijk het juiste antwoord bevatten.
Stel je een servicemonteur voor die werkt op locaties van klanten en die complexe producten onderhoudt, zoals printers en kopieerapparaten. De monteur moet papieren of elektronische boeken, zoals handleidingen, bij zich hebben om dingen op te zoeken. Hoewel ervaring telt en de monteur waarschijnlijk veel uit het hoofd weet, moet de monteur bij ongebruikelijke problemen de oplossing in een document opzoeken. Stellen we ons nu een chatbot voor die deze productgerelateerde documenten ontsluit. Door een chatbot te gebruiken, kan de monteur worden begeleid bij het stellen van de diagnose en het oplossen van problemen. De chatbot leidt de gebruiker door de onderwerpen, stelt aanvullende vragen en geeft de tekstfragmenten terug die het antwoord kunnen bevatten. Dit alles versnelt de onderhoudstijden en uniformeert de manier waarop onderhoud binnen de organisatie wordt uitgevoerd.
Het gebruik van dit soort chatbots helpt niet alleen om de onderhoudsprocessen efficiënter te maken, zulke chatbots kunnen worden gebruikt om minder ervaren monteur te helpen zijn machines te leren kennen. De bots kunnen ook worden gebruikt voor toegang tot de zogenaamde ‘long tail’, zoals ondersteuning van oudere producten die niet vaak meer gebruikt worden.
Een chatbot programmeren
De meeste chatbots zijn voorgeprogrammeerd. Ze maken gebruik van een verzameling vooraf gedefinieerde antwoorden op bestaande vragen en heuristieken om dat passende antwoord te kiezen op basis van de intentie en context van de gebruikersvraag. Het bouwen van een dergelijke chatbot kan behoorlijk omslachtig en tijdrovend zijn. Alle mogelijke dialogen of vraag-antwoordparen moeten vooraf in het systeem worden vastgelegd. Dit is vaak nog een handmatige taak.
Het bouwen van dialogen is al ingewikkeld, maar het onderhouden ervan is nog moeilijker. Als in ons voorbeeld nieuwe producten worden vrijgegeven, wordt nieuwe documentatie gepubliceerd. Ook deze documenten moeten worden geanalyseerd, worden omgezet in nieuwe vraag-antwoord-paren en in het bestaande systeem worden ingevoegd.
Een van de redenen waarom op kennisgebaseerde systemen falen, is omdat het erg moeilijk is om kennis uit mensen en documenten te halen. Dat is de reden waarom zoekmachines nog steeds op grote schaal worden gebruikt. De zoekmachine zelf bevat geen kennis; het kent alleen woorden en relaties tussen woorden, zonder echte context.
De chatbot bouwen
Maar hoe kunnen we een chatbot maken die in staat is om de steeds wisselende verzameling ongestructureerde documenten te gebruiken? Op de een of andere manier zitten we nog steeds vast aan zoekmachines. Zoekmachines zijn tegenwoordig zeer goed. Producten zoals Elasticsearch en IBM Watson Explorer bieden de mogelijkheid om documenten op een intelligentere manier te raadplegen. Deze zoekmogelijkheden gaan verder dan eenvoudige zoekacties op basis van zoekwoorden, omdat ze de teksten kunnen analyseren die ze doorzoeken.
Maar nu we gebruiken gaan we een chatbot gebruiken om door documenten te zoeken. Het is de taak van de chatbot om de intentie en context van de vraag van de gebruiker te bepalen. En omdat het een dialoog is, moet de chatbot ook de interactie met de gebruiker onthouden, zodat de chatbot de context van de gebruiker kan onthouden.
Door de tekstanalysefuncties van de documentzoekmachine te gebruiken, kunnen we automatisch bepalen wat de onderwerpen zijn die in de tekst zelf aanwezig zijn. Deze onderwerpen kunnen worden gebruikt om dialogen in de chatbot te definiëren. Deze dialogen zijn gericht op het maken van specifiekere zoekopdrachten. Hoe specifieker de zoekopdrachten, hoe groter de kans dat relevant documenten of tekstfragmenten uit documenten worden gevonden.
Andersom kunnen we de onderwerpen in de gestelde vragen gebruiken om te zien of de documenten geschikt zijn voor het doel. Bevatten de documenten de antwoorden op de vragen die de gebruikers (zullen) stellen? Als dat niet het geval is, moeten we meer relevante documenten toevoegen aan de verzameling documenten.
Het is de taak van de chatbot om de intentie van de gebruikersvraag in kaart te brengen met de onderwerpen die aanwezig zijn in de documenten. En om intenties en onderwerpen uit teksten te bepalen; of het nu gaat om de vragen van de gebruiker of de inhoud van de documenten, moeten we natuurlijke taal kunnen interpreteren. Ook deze algoritmes zijn beschikbaar.
Het beste van beide werelden
Vergeleken met de huidige chatbots, waar elke interactie moet worden geconfigureerd, zijn op documenten gebaseerde chatbots enkele duidelijke voordelen. Het maken van zo’n chatbot is niet langer een probleem. De technologie is er en klaar voor gebruik. Documentgebaseerde chatbot biedt gebruikers niet alleen de mogelijkheid om grote hoeveelheden kennis te doorzoeken, maar maakt ook chatbots die sneller kunnen worden gebouwd en gemakkelijker kunnen worden onderhouden.