Blijf voorop met actiegerichte financiële strategieën, tips, nieuws en trends.
Innovatieserie: Natuurlijke taalverwerking ontcijferen
"Hé Siri, vertel me de weekendvoorspelling." "Hey Cortana, wat is 3 mijl in kilometers." "Alexa, check mijn voicemails van mam" "Hé Google, wat zijn de beste restaurants in New Orleans?" We hebben ze
november 30, 2017"Hé Siri, vertel me de weekendvoorspelling."
"Hey Cortana, wat is 3 mijl in kilometers."
"Alexa, check mijn voicemails van mam"
"Hé Google, wat zijn de beste restaurants in New Orleans?"
We hebben ze allemaal wel eens gehoord, bij een vriend thuis, in een restaurant, zittend in een auto of in het comfort van onze eigen huizen. Natuurlijke menselijke steminteractie met je favoriete verbonden apparaat is nu realiteit en niet langer het domein van science fiction. Het belangrijkste punt hier is interactie met menselijke stemmen, met behulp van natuurlijke alledaagse taal, en niet met een programmeertaal. De plotselinge toename van intelligente assistenten en consumentenautomatiseringsapparaten die onze spraak kunnen ontcijferen, is mogelijk geworden dankzij de vooruitgang in de verwerking van natuurlijke taal.
Wat is natuurlijke taalverwerking?
Hoewel er veel definities van natuurlijke taalverwerking (of NLP) zijn, is de eenvoudigste in mijn ogen het vermogen van machines om menselijke spraak te analyseren, te begrijpen en te genereren. Dit wordt bereikt door het combineren van patronen en praktijken uit de informatica, kunstmatige intelligentie en computationele linguïstiek(Wikipedia)
Hoe werkt het allemaal?

Figuur 1 - NLP Mechanics Stroomdiagram[/caption]
De resultaten van een vraag aan je favoriete digitale assistent lijken misschien magisch, maar er vindt telkens een logische reeks gebeurtenissen plaats (Afbeelding 1). Wanneer je een vraag stelt door middel van een gesproken uitspraak zoals "Alexa, check mijn voicemails van moeder" gebeurt het volgende in de NLP-engine van je apparaat:
1. Spraakherkenning - De eerste stap is het digitaliseren van de stem en vervolgens het ontleden of parsen van de natuurlijke taal in de gesproken vraag zodat een machine elk woord kan identificeren. Als gevolg van verschillende gesproken accenten, niet herkende intonatie of zelfs achtergrondgeluid, is de nauwkeurigheid van deze vertaling niet altijd honderd procent.
Historisch gezien was dit ook een uitdaging omdat computers niet snel genoeg waren om gesproken spraak bij te houden en herkenning uit te voeren. Moderne NLP-engines maken gebruik van zeer schaalbare computerdiensten in de cloud en passen automatische spraakherkenningsalgoritmen (ASR) toe om zinnen snel op te splitsen in de samenstellende woorden die kunnen worden geanalyseerd. Eén zo'n dienst die Alexa aandrijft heet Amazon Lex, en er zijn nu clouddiensten van alle grote leveranciers: Microsoft Cognitive Services, Google Cloud Natural Language.
Deze diensten bieden applicatieontwikkelaars niet alleen een geïntegreerde cloudservice om ASR uit te voeren, maar voeren ook de analyse en statistische betrouwbaarheidsscores uit die nodig zijn om de woorden te begrijpen en de intentie te bepalen.
2. Natural Language Understanding - Deze stap vindt direct plaats nadat woorden zijn geparsed en vertaald naar machinetaal. Natural Language Understanding (NLU) is verreweg de moeilijkste stap in de NLP-keten omdat het systeem de intentie van de oorspronkelijke vraag van de gebruiker moet begrijpen. Dit wordt bemoeilijkt door het feit dat natuurlijke gesproken taal dubbelzinnig kan zijn, dus NLU algoritmen moeten een verscheidenheid aan lexicale analysemodellen gebruiken om woorden te desambigueren. Bijvoorbeeld, "controleren" kan een zelfstandig naamwoord zijn (bijvoorbeeld een rekening in een restaurant) of een werkwoord (bijvoorbeeld iets controleren). Het wordt nog ingewikkelder als je getallen in je spraak gebruikt. 2017" kan bijvoorbeeld het jaar 2017 zijn, of het getal tweeduizend zeventien.
Met behulp van een NLP-engine zoals Lex, creëren ontwikkelaars regels om applicaties te "trainen" om deze regels correct toe te passen om de intentie van de gebruiker te bepalen. Natuurlijk stellen mensen allemaal andere vragen. Daarom is het mogelijk dat meerdere vragen dezelfde bedoeling hebben. De volgende uitingen kunnen bijvoorbeeld allemaal dezelfde bedoeling hebben, namelijk voicemails van mijn moeder afspelen:
"Alexa, controleer mijn voicemails van moeder " "Alexa, speel mijn berichten van moeder af" "Alexa, speel voicemails van mama af" "Alexa, ik wil graag mijn voicemails van mam horen " "Alexa, speel berichten van mama af "
Zodra de intentie is begrepen, kan een actie worden gestart, zoals het uitvoeren van commando's om voicemails te filteren en op te halen uit mijn inbox die door mijn moeder zijn achtergelaten en ze vervolgens af te spelen op de speaker van mijn apparaat. In het tijdperk van het internet der dingen, waar veel apparaten met elkaar verbonden zijn, kunnen deze commando's services van andere apparaten of applicaties activeren.
3. Natural Language Generation - Gesprekken zijn zelden eenzijdig en om met interactieve reacties te komen, moeten computers terug kunnen communiceren naar de gebruiker. Dit staat bekend als Natural Language Generation (NLG). Zie het als werken in de tegenovergestelde richting van wat we zojuist beschreven. NLG neemt machinetaal, met behulp van een set grammaticale regels en een lexicon, en vertaalt deze naar gewone woorden en zinnen. Meestal is de laatste stap het synthetiseren van de tekst met behulp van een linguïstisch model in audio om te lijken op een menselijke stem in een proces dat tekst-naar-spraak wordt genoemd. Opnieuw, met AWS als voorbeeld, is er een dienst op AWS genaamd Polly die tekst naar levensechte spraakconversie faciliteert, zodat bevestigingen of aanvullende vragen kunnen worden teruggekoppeld met een natuurlijke stem.
Waar zal het ons brengen?
Hoewel de vraag naar en het gebruik van NLP in consumententoepassingen is toegenomen, geldt dit niet voor zakelijke toepassingen. In consumententoepassingen is de breedte van de woordenschat en de complexiteit van de intenties kleiner, te beginnen met alledaagse taken. In zakelijke toepassingen is de vereiste woordenschat echter veel breder als je rekening houdt met vaktaal en de complexiteit van intenties varieert enorm, afhankelijk van de zakelijke toepassing. De ambiguïteit die vaak inherent is aan uitingen in de zakelijke wereld kan complex zijn. Ter illustratie, denk aan een eenvoudige uitspraak van een gebruiker zoals "Toon me de best presterende diensten in Q1". Het is nogal dubbelzinnig: wat is "Q1", "top" of "presteren" en denk aan de mogelijke alternatieve manieren om die vraag te stellen (permutatie van uitingen)?
Wat spannend is, is dat dezelfde NLP-technologieën en ontwikkelingsframeworks die zijn ontwikkeld om consumentenproducten zoals de Echo en Google Home te leveren, ook beschikbaar zijn voor ontwikkelaars van bedrijfsapplicaties. En naarmate deze frameworks zich verder ontwikkelen en verfijnder worden, komt het collectieve corpus van gecreëerde NLU-modellen ook beschikbaar voor bedrijfsapplicaties om op voort te bouwen.
Een nieuwe dimensie van gebruikerservaring en interactie is aan het ontstaan in de ruimte voor bedrijfsapplicaties, opnieuw gedreven door de verwachtingen van consumententoepassingen. Na verloop van tijd zullen gesproken gebruikerservaringen, die natuurlijker zijn voor gebruikers, de gebruikerservaring veranderen op een manier die vergelijkbaar is met de disruptie die werd geïntroduceerd door grafische gebruikersinterfaces. Het is een spannende tijd om nieuwe bedrijfsapplicaties te ontwikkelen!