Gebruik van Conversational App Builders voor Amazon Alexa Skills

Conversational App Builders

Ongeveer 2 jaar geleden kregen we dankzij het ambassadeursschap van Hackster.io als één van de eersten in Nederland de beschikking over een Amazon Alexa. De slimme “praatpaal”. Toen heette die overigens nog de Amazon Echo. De Amazon Alexa fascineerde vanaf het begin.

Kenmerken Amazon Alexa

Al snel vielen wat zaken op:

  • de weergave geluidskwaliteit was werkelijk verrassend goed met een vrij hoog volume
  • het vermogen om je stem te herkennen in een rumoerige omgeving was erg groot (ook als de Alexa zelf “aan het woord was”
  • er was een nieuwe manier van een User Interface aan het ontstaan: de Conversational UI mede met dank aan de vooruitgang op het gebied van Natural Language Understanding (en AI in het algemeen)
  • door de opkomst van de low code/no code software ontwikkelomgeving, ontstonden manieren om met een relatief geringe ontwikkelinspanning, zelf Skills te maken voor de Amazon Alexa

Voor ons was het een kwestie van tijd een goede aanleiding te vinden om ermee te gaan experimenteren. Dat hebben we afgelopen maanden gedaan om een eerste Amazon Alexa Skill te maken. De vraag die daarbij speelde was: “hoe moeilijk is het om als niet programmeur, zelf een Alexa Skill te ontwikkelen en die eventueel breder in te zetten als Web chat bot?” In dit stuk wordt beknopt verslag gedaan van wat bevindingen die we hebben opgedaan.

Uitgangspunten

Bij het uitproberen van de verschillende Conversational App Builders zijn de volgende uitgangspunten gehanteerd:

  1.  Multi Channel mogelijkheid voor de applicatie, met Amazon Alexa als eerste vanwege het beschikbaar hebben ervan
  2. Low Code/No Code mogelijkheid, maar wel met integratiemogelijkheden voor bestaande (enterprise) applicaties
  3. Binnen 4 uur een werkende basic Alexa Skill kunnen maken
  4. Freemium business model van de Conversational App Builder zodat de beperkte mogelijkheden laagdrempelig kunnen worden uitgeprobeerd in de praktijk
  5. Engelse taal ondersteund met optioneel ook Nederlands

Deze uitgangspunten passen sterk bij onze rapid prototyping aanpak, zoals we dat doen met meer opdrachten: zorgen dat je via de weg van een Minimum Viable Product kunt laten zien in de praktijk dat een idee of concept werkt en dat daarna verder uitbouwen en doorontwikkelen.

De verschillende Conversational App Builders

We hebben in de afgelopen maanden een verkenning gedaan van deze nieuwe markt van App Builders. Met het bijhouden van de martkontwikkelingen zijn de volgende oplossingen in het vizier gekomen:

  1. Conversation.One
  2. Flow.ai
  3. Dialogflow.com

De producten in vogelvlucht

Conversation.One maakt een interessante indruk omdat er een rijke hoeveelheid kanalen mogelijk is, variërend van Amazon Alexa, Google Assistant en Facebook Messenger. Daarnaast wordt Web ondersteund, maar geen directe mobile app support. Het is een zelfstandige oplossing, maar je komt het ook tegen als IBM partner product in de IBM Cloud. Zo zijn wij er mee in aanraking gekomen. De Engelse taal is uiteraard ondersteund, Nederlands niet.

Flow.ai is een van origine Nederlands product, waardoor je mag verwachten dat de Nederlandse taal wordt ondersteund. En dat is ook het geval. Verder is het product qua functionaliteit sterk vergelijkbaar met Conversation.One. Ze hanteren de slogan: “Create working solutions in minutes instead of days”. Dat past mooi bij ons uitgangspunt om binnen 8 uur een werkende Alexa Skill te kunnen maken 🙂

Dialogflow.com is een Google product dat overgenomen is in 2016. Het was daarvoor bekend onder API.ai. Mede door de overname van Google is er een forse hoeveelheid talen beschikbaar en bovendien een rijke hoeveelheid kanalen. Maar hier is gelijk waarneembaar dat Google Assistant en Amazon Alexa elkaars concurrenten zijn want de ondersteuning van Amazon Alexa is een indirecte met een toch wel wat primitieve export van Skill files.

app builders

Screenshot van Conversation.One App Builder

De ervaringen met het ontwikkelen van een basic Skill

In verschillende sessies is er min of meer tegelijkertijd gewerkt aan een Alexa Skill waarmee het mogelijk moet zijn om de agenda van een evenement op te vragen en om meer details te krijgen over de sprekers. De korte editie van de ervaringen is dat het niet gelukt is om de oorspronkelijke opzet voor elkaar te krijgen binnen 4 uur! Op een rijtje gezet wat er wel is gelukt:

  • Met Conversation.One is uiteindelijk een werkende Alexa Skill gemaakt, zij het dat het meer tijd heeft gekost dan 4 uur en dat er ook geen complexe intent structuren mogelijk waren
  • Het merkwaardige effect trad op dat de inent structuur binnen de ontwikkelomgeving keurig werkte, maar zodra er een Alexa Skill werd gedeployed deze complexiteit daar niet werkte. Dat betekent in de praktijk dat je geen complexe conversaties kunt maken met verschillende vertakkingen en uitvragingen
  • Om toegang te krijgen tot de Developer Community van Conversation.One is een Facebook account nodig en dat doen we uit principe niet. Dus geen suppport gezocht en gekregen.
  • Conversation.One ontbeert een ontwikkelomgeving waarin de conversation flow logisch en ordelijk wordt weergegeven en kan worden gerangschikt
  • Hierin is Flow.ai een stuk sterker wat het ontwikkelen ervan prettiger maakt als je nog niet zo ervaren bent in dit soort toepassingen
  • Er is echter een grote lacune bij Flow.ai waar we tegenaan liepen. Wat we ook geprobeerd hebben we kregen wel een werkende Conversational App die alleen als Amazon Alexa Skill niet werkte. En dat is best gek want er is een tutorial waarin getoond wordt hoe dat gaat en resulteert in een werkende Skill.
  • In het Amazon Alexa Developers Console konden we ook zien dat deze Skill definitie niet correct was en dat er dus ergens in overdracht van Flow.ai naar het Developers Console iets mis gaan. Nadeel van Flow.ai t.o.v. Conversation.One is dat het overdrachtsproces naar het Developers Console heel gesloten is en je er geen invloed op lijkt te hebben.
  • De 4 uren waren alweer heel ruim gepasseerd en er is geen verdere tijd aan besteed.
  • En tenslotte Dialogflow.com. Tsja we zijn eraan begonnen, maar toen duidelijk werd dat het deployen van een Amazon Alexa Skill ontmoedigd wordt, namen we het product niet meer zo serieus passend bij de gehanteerde uitgangspunten. Het ontwikkelen van een Skill is – zeker in het begin – een heel iteratief proces waardoor je vele malen het resultaat moet overzetten van de ontwikkelomgeving naar het doelplatform (Amazon Alexa in dit geval), dat dat veel te tijdrovend en foutgevoelig wordt.

Conclusies

Na een aantal dagen aan dit project werken, komen we tot de volgende conslusies:

  •  Het is gelukt om een basic Skill te maken, waarbij Conversation.One uiteindelijk het maxmaal haalbare opleverde
  • Geen enkele oplossing levert een volledig direct bruikbaar resultaat op dat heel eenvoudig kan worden voortgebracht
  • De Conversational App Builders zijn absoluut krachtig en veelbelovend. Maar de claim van Flow.ai “Create working solutions in minutes instead of days”, hebben we nu nog niet ervaren
  • Desalnietemin is het een verrijkende ervaring om zelf in staat te zijn een basic Skill in elkaar te zetten of om een Web chat bot te kunnen maken en mee laten groeien met je organisatie

Sloptopmerkingen

Deze markt van software tools voor Natural Language Understanding en Conversational Apps is volop in beweging. We hebben slechts een momentopname gemaakt door de huidige generatie tools te gebruiken. Genoemde omissies zijn subjectief waargenomen en een weerslag van onze manier van selecteren en werken. Dat is arbitrair. Toch geeft het een professionele impressie door er een concrete toepassing mee te maken.

Er zijn nog meer producten die erom vragen te worden uitgeprobeerd in de praktijk. Voor het komende najaar staan de volgende tools nog op het lijstje

  • Amazon Lex
  • Watson Conversation
  • Kinetise Mobile App Builder i.c.m. Watson Conversation
  • Node-RED i.c.m. Watson

Manfred van der Voort

Ede, 21 augustus 2018

Interessant?

 

Share This