Een 'chatbot' in het Portugees is een programma dat een gesprek in het Portugees kan begrijpen en analyseren. Tegenwoordig kunnen deze chatbots heel soepel een dialoog voeren tussen mens en computer.

Recente vooruitgang in Natural Language Processing (NLP, in het Engels – in deze tekst aangeduid als PLN) maakt het mogelijk om chatbots in het Portugees te creëren, rekening houdend met de eigenaardigheden van de taal. Deze vooruitgang gebruikt Machine Learning (of ML – machine learning) om niet alleen de structuur van de taal te begrijpen, maar ook de betekenis van woorden en hun context.

Een chatbot maken in het Portugees met AI

Portugees is de zesde meest gesproken taal ter wereld, waarvan de helft in Brazilië. Ondanks de verwantschap met andere Romaanse talen, heeft het twee opvallende bijzonderheden:

  • Er zijn talloze valse vrienden: woorden die op elkaar lijken, maar iets anders betekenen. In pt_PT betekent propina een maandelijkse betaling, in pt_BR is het omkoping. Zelfs binnen Brazilië kunnen woorden van betekenis veranderen: in het noordoosten betekent "cabra" een man, maar in de rest van het land alleen het dier.
  • Intensief gebruik van contexten maakt het interpreteren van een chatbot in het Portugees erg lastig. Het woord "chega" kan een werkwoord zijn ("zij komt morgen aan") of een verzoek om te stoppen ("genoeg van dit gesprek").

Bovendien zijn er totaal verschillende uitdrukkingen tussen sprekers uit verschillende landen, waardoor het soms erg lastig is om hele zinnen te begrijpen.

Maken deze eigenaardigheden het lastig om een Portugese chat te bouwen? Niet verrassend is het antwoord ja.

Chatbot in het Portugees: uitdagingen van PLN

Het bovenstaande brengt uitdagingen met zich mee voor NLP in Portugese chatbots. De eerste stap voor elk Natural Language Processing-algoritme is het begrijpen van de taal, oftewel het analyseren van zinnen in kleine betekenisvolle eenheden, ofwel 'tokens'. Deze taak heet 'tokenisatie' (overigens is het typisch voor Braziliaans Portugees om buitenlandse woorden te gebruiken en te 'verportugesen'). Hoe systematischer en ordelijker de taal, hoe makkelijker de tokenisatie.

Voordat we de laatste ontwikkelingen in NLP kunnen begrijpen, moeten we weten hoe de NLP-begripsmodellen zijn ontstaan.

In het verleden

In zekere zin betekent begrijpen hoe een chatbot in het Portugees (of in welke taal dan ook) wordt gemaakt, een reis door de tijd.

De eerste onderzoeken naar het omgaan met de onvoorspelbaarheid van taal dateren uit de jaren 40, met artikelen van neuroanatoom en psychiater Warren McCulloch van het Massachusetts Institute of Technology en wiskundige Walter Pitts van de Universiteit van Illinois. Zij legden de theoretische basis die John von Neumann in staat stelde om “The General and Logical Theory of Automata” te schrijven, eind jaren 1940.

De vooruitgang die computers steeds meer rekenkracht gaf, vormde de andere pijler die onderzoek naar NLP van wetenschappelijke laboratoria naar bedrijven en overheidsinstellingen bracht, gericht op het dagelijks gebruik van nieuwe technologieën.

De geschiedenis van NLP begint eigenlijk in de jaren 1950, toen Alan Turing het artikel “Computing Machinery and Intelligence” publiceerde, waarin hij het nu bekende Turing-testvoorstel als criterium voor intelligentie introduceerde.

Vanaf het einde van de jaren 1980 vond er echter een revolutie plaats in NLP met de introductie van machine learning-algoritmen voor taalverwerking. Dit kwam zowel door de toename van de rekenkracht als door het geleidelijk afnemen van de dominantie van de “chomskyaanse” taalkundige theorieën, waarvan de theoretische fundamenten het soort taalkorpus ontmoedigden dat ten grondslag ligt aan de machine learning-benadering van taalverwerking. Deze automatisering werd bereikt door zinnen op te splitsen in kleinere blokken en statistische regels toe te passen om de relaties tussen deze blokken te catalogiseren en te identificeren. Dit proces heet “tokenisatie”, hierboven al uitgelegd.

Toch vereiste het werk van het tokeniseren van een taal veel handmatige tussenkomst van de NLP-onderzoeker. Elke taal moest onafhankelijk en vrijwel handmatig worden getokeniseerd.

Dit werk was bijzonder lastig voor robots die met sterk contextuele talen werken, zoals je je kunt voorstellen.

Zodra de taal getokeniseerd was, konden AI-algoritmen worden toegepast om de taal te begrijpen, oftewel een betekeniskaart te maken van hoe de woorden in de taal zich tot elkaar verhouden.

Deze stap van taalbegrip kon worden geautomatiseerd als de tokenisatie betrouwbaar was. Het probleem was echter dat tokenisatie ingewikkeld was, waardoor zelfs de algoritmen voor begrip handmatig moesten worden ingesteld, samen met de tokenisatie.

En het eindresultaat was niet goed. Zo was het niveau van begrip van het Portugees in vergelijking met het Engels gemiddeld. Natuurlijk is er altijd veel meer onderzoek gedaan naar Engels dan naar Portugees, maar de moeilijkheid om met de contextuele scenario's van het Portugees om te gaan, maakte het lastig om goede resultaten te behalen.

Zoals AI-onderzoekers vaak doen, vroegen ze zich af of tokenisatie zelf niet door machine learning kon worden gedaan. Dit zou betekenen dat tokenisatie- en begripsalgoritmen onafhankelijk van de onderliggende taal zouden worden (taalagnostisch genoemd) en dat het trainen van AI in een taal veel sneller en beter zou gaan.

Recente ontwikkelingen in Kunstmatige Intelligentie

En op dat punt werd de innovatie eind 2018 gerealiseerd: AI kon getraind worden in het Portugees zonder handmatige tussenkomst, waardoor de prestaties van NLP veel beter werden.

AI-platforms voor Portugese chatbots konden daardoor direct veel beter worden en het begrip in het Portugees was vergelijkbaar met het niveau van andere talen.

Dat deze vooruitgang plaatsvond, betekent niet dat de algemene kwaliteit van Portugese chatbots direct verbeterde. Om deze voordelen te realiseren, moesten chatbotplatforms hun algoritmes bijwerken naar de nieuwste technologieën.

Gezien de investeringen in de vorige technologie, deden deze platforms dat niet snel.

Bovendien zijn er enkele functies die geïmplementeerd moeten worden om te zorgen dat Portugese chatbots een goede gebruikerservaring bieden. Bijvoorbeeld het bouwen van synoniemenblokken en hun gebruik in verschillende contexten om betekenissen te koppelen en te voorkomen dat de chatbot een woord verkeerd begrijpt afhankelijk van de context.

Meertalig platform

Werken met meerdere talen op verschillende marktplaatsplatforms kan lastig zijn. Sommige platforms vereisen dat chatbots in verschillende talen als aparte bots worden gebouwd, wat uiteraard inefficiënt is qua schaalbaarheid en onderhoud.

Een goed platform is daarom echt meertalig en maakt meerdere vertalingen van dezelfde content in de gebruikersinterface mogelijk.

Bovendien moet de taal als variabele in het gesprek worden ingesteld, zodat de AI deze nauwkeurig kan detecteren en conversatieontwerpers de logica rond die taal kunnen bouwen.

Naast taalspecifieke functionaliteit moet het algemene chatbotplatform ook uitstekend zijn om een geweldige chatbot in elke taal te maken. Er zijn twee categorieën functionaliteit die belangrijk zijn.

  • De eerste is de algemene technologie voor natuurlijke taalverwerking (of, zoals hierboven genoemd, het NLP-algoritme). Een goed presterend platform is niet alleen taalonafhankelijk, maar het onderliggende NLP-algoritme gebruikt de nieuwste technologie en werkt over het algemeen goed. Het is belangrijk dat het platform functies heeft die verband houden met NLP, zoals slot filling (informatie uit een context halen om een set sleutel/waarde-paren te vormen) en intent matching op basis van de dialoogcontext.
  • De tweede categorie is de algemene functionaliteit van het platform. Het moet ontwerpers in staat stellen om op een eenvoudige manier uiterst bevredigende chatbot-ervaringen te creëren voor eindgebruikers, inclusief eenvoudige integratie met bestaande en externe systemen. Als het deze functionaliteit niet heeft of niet gebruiksvriendelijk is, maakt het niet uit of het in het Portugees is of niet.

De kwaliteit van de chatbotervaring voor de eindgebruiker hangt direct samen met de kracht van het gebruikte platform, van taalbegrip tot de aanpak van de grafische/tekstuele interface.

De beste chatbot bouwen in het Portugees taalgebied

Zelfs met een goed platform zijn er nog steeds uitdagingen bij het maken van een chatbot in het Portugees. Er zijn wereldwijd maar weinig studies over Portugees in de AI-wereld, waardoor het vinden van de juiste middelen voor een project behoorlijk lastig kan zijn.

Hoewel je niet zelf de onderliggende NLP-algoritmes hoeft te schrijven, omdat deze direct beschikbaar zijn, kan het een uitdaging zijn om competente ontwerpers te vinden die de idiomatische verschillen tussen de verschillende groepen die de Portugese chatbot moet bedienen begrijpen. Dit geldt vooral voor het Portugees, gezien het uitgebreide gebruik van contextafhankelijke uitdrukkingen.

Daarom is het belangrijk dat het chatbotplatform het eenvoudig maakt voor niet-technische gebruikers om inhoud en vertalingen bij te werken en te onderhouden, omdat ontwerpers en ontwikkelaars waarschijnlijk niet alle culturele aspecten van de verschillende Portugese varianten beheersen.

Uiteraard betekent het feit dat hoogwaardige Portugese chatbots steeds nauwkeuriger worden, dat de adoptie van deze technologie de komende jaren zal toenemen. Deze groeiende adoptie zal de problemen met beperkte middelen oplossen en potentiële kopers van de technologie een duidelijk beeld geven van de best practices voor het behalen van de beste resultaten.

Samenvatting

Innovaties in NLP-technologie zijn niet alleen van toepassing op Portugese chatbots, maar ook op andere AI-toepassingen. We zien nu veelzijdige systemen die Portugese AI op verschillende manieren inzetten, van sentimentanalyse in nieuws en reacties tot het samenvatten of genereren van teksten die voorheen alleen door mensen konden worden gedaan. Meestal wordt een Portugese chatbot gebruikt als gebruikersinterface, niet alleen voor verschillende AI-technologieën, maar ook om eindgebruikers te helpen bij het gebruik van andere systemen, zoals websites of webapps, of als aankoopadviseur en/of bij het nemen van beslissingen.

Hoewel er een grote sprong is gemaakt in de kracht van Portugese NLP, kunnen de resultaten altijd beter. Onderzoek blijft de NLP-engines verbeteren en ongetwijfeld komen er nieuwe doorbraken. Totdat NLP het menselijke niveau bereikt, blijft er werk aan de winkel.

De volgende stap voor alle NLP-engines, ongeacht de taal, is het verbeteren van meerstapsdialogen. Dit betekent dat een mens een meerstapsgesprek kan voeren met de bot binnen een beperkt onderwerp, in plaats van alleen commando's of vragen te geven. De volgende stap voor chatbotplatforms is het makkelijker maken om meerstapsdialogen te creëren.

Meerstapsdialogen zijn vooral belangrijk voor spraakinterfaces zoals Alexa of apparaten als Google Home.

Hoewel we het hebben gehad over machine learning-gestuurde tokenisatie en de implicaties voor Portugese NLP, is een gerelateerd onderwerp de spraak-naar-teksttranscriptie in het Portugees. Spraak-naar-tekst voor Portugees is nog in ontwikkeling ten opzichte van andere talen – hoewel de prestatieverschillen snel kleiner worden. We hopen dat de hier beschreven NLP-vooruitgang, en die wereldwijd wordt geboekt, deze kloof in de nabije toekomst verder zal verkleinen.