Google Action ontwikkelen in Dialogflow: Deel 2

Dit is het vervolg op de eerder gepubliceerde blog: Hoe maak ik een Google Action? Mocht je die nog niet gelezen hebben doe dat dan eerst, heb je alles klaarstaan zoals hier beschreven wordt? Dan kunnen we beginnen!

Je zit nu in het hoofdscherm van Dialogflow, dat ziet er als volgt uit:

Eerst wil ik wat dieper ingaan op wat de belangrijkste termen in het linkermenu betekenen. Als de belangrijkste begrippen niet helder zijn is het moeilijk om een goede app te maken. Contexts en events ga ik in deze blog niet behandelen, dit is erg geavanceerd en komt wellicht in deel 3 aan bod.

Wat zijn intents?

Intents zijn code blokken die worden geactiveerd als een gebruiker bepaalde zinnen uitspreekt, die zinnen worden training phrases genoemd. Als een gebruiker bijvoorbeeld zegt:”Ik wil een pizza bestellen” is zijn of haar intentie duidelijk: Er moet pizza bezorgd worden. Het uitspreken van deze zin triggert de intent, jij kunt in Dialogflow aangeven wat er vervolgens teruggezegd moet worden. Ook kun je allerlei andere zaken laten gebeuren zoals het doorgeven van een bestelling en vragen om een betaling. Hiervoor moet je wel op een andere manier van Actions on Google gebruik maken. Dit is vrij geavanceerd en als je hiermee aan de slag wil kun je contact opnemen voor vrijblijvend advies.

Wat zijn training phrases?

Training phrases zijn bepaalde zinnen die intents triggeren. In het voorbeeld hiervoor is “Ik wil een pizza bestellen” een training phrase voor de eten bestellen intent. Je kunt je voorstellen dat dit niet de enige manier is om dit te vragen. Iemand die zegt “Bestel een pizza voor me” heeft exact dezelfde intentie, daar maak je geen andere intent voor aan. Door middel van machine learning worden deze training phrases steeds uitgebreider en beter, Google doet dit op de achtergrond. In de afbeelding hieronder zie je waar je de training phrases invoert. Maar wat gebeurt er als iemand geen pizza maar sushi wil bestellen?

Wat zijn entities?

Entities zijn een mechanisme waarmee relevante variabelen geïdentificeerd en geëxtrapoleerd worden. Dit helpt als je een intent ‘eten bestellen’ wil maken in plaats van alleen pizza bestellen. Eten is dan een variabele, de ene keer heeft iemand zin in pizza en de andere keer in sushi. In onderstaande afbeelding vind je het scherm waar je een entity maakt. Je hoeft je hierdoor ook geen zorgen te maken over de friet tegen patat discussie, de bot begrijpt dat die twee dingen exact hetzelfde zijn. Je kunt ervoor kiezen om de checkbox ‘allow automated expansion’ aan te zetten. Het kan wel zo zijn dat hierdoor zaken aan de entity toegevoegd worden die er niet horen, let hiermee op.

In de praktijk

Stap 1: Je kunt nu in het menu links ‘intents’ aanklikken.

Stap 2: Noem de intent ‘eten.bestellen’ en voer in zoals op onderstaande afbeelding. De bot begrijpt nu dat dit zinnen zijn waarmee mensen de intentie uiten dat ze eten willen bestellen. Welk eten dat is is per persoon en per keer anders. Uiteindelijk moet er eten besteld worden, dit kan nu dus variëren per interactie met de assistant.

Stap 3: Onderaan de afbeelding zie je ‘Actions and parameters’ staan. Door de checkbox op required te zetten vraagt de bot door totdat de gebruiker een soort eten gezegd heeft zodra de rest van de zin herkend wordt.

Stap 4: Je kunt rechts bij ‘prompts’ opgeven hoe de bot dit moet vragen. Voer hier meerdere zinnen in, een voice assistant moet als een mens zijn en jij gebruikt ook niet altijd precies dezelfde zinnen.

Stap 5: Scroll door naar onderen naar responses. Selecteer in het horizontale menu Google Assistant in plaats van Default. Selecteer vervolgens een ‘simple response’. Je kunt ook voor een basic card gaan bijvoorbeeld, hiermee kun je onder andere audio files afspelen.

Stap 6: Voer enkele verschillende reacties in. Je kunt door het gebruik van het Dollarteken en de entity naam ‘eten’ de bot met het bestelde soort eten te laten reageren.  Scroll je verder naar beneden door dan zie je het kopje ‘Fulfillment’, hier hoef je niets mee te doen. Dit gebruik je op het moment dat je aan de achterkant gaat coderen, om uiteindelijk eten te kunnen bestellen vanuit een intent is dit nodig. Denk aan inloggen, betalen en andere geavanceerde functies.

Je weet nu hoe variabelen werken en hoe je om moet gaan met training phrases en intents. Je bent nu klaar om zelf aan de slag te gaan, probeer bijvoorbeeld eens wat veelgestelde vragen van je website in de voice assistant te zetten!

Mocht je vragen of opmerkingen hebben naar aanleiding van deze blog dan hoor ik het graag. Mijn mailadres is Luuk@geniusvoice.nl en je kunt me bellen op 06 52 28 70 70.

Luuk Van Hoogstraten - Genius Voice

Benieuwd naar welke doelen jouw organisatie kan behalen met voice? Doe de Quickscan.

Meer informatie over voice in het algemeen? Download de whitepaper.

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *