Das Ökosystem um Google Assistant wächst schnell. Im April 2017 standen den Benutzern nur 165 Aktionen zur Verfügung, und heute gibt es nur auf Englisch mehr als 4.500. Wie vielfältig und interessant die russischsprachige Ecke dieses Universums sein wird, hängt von den Entwicklern ab. Dmitry Chechetkin, Leiter strategischer Projekte bei Just AI und Autor von
„Yes, my lord“, einem der beliebtesten Spiele für den Assistenten nicht nur in Russland, sondern auch weltweit (mehr als 240.000 Menschen haben es bereits gespielt), teilt wichtige Life-Hacks für die Erstellung von Actionspielen für Google-Assistent. Warum Code und Inhalt vom Skript trennen? Was ist bei der Arbeit an einer Konversationsschnittstelle zu beachten? Im Allgemeinen verstehen wir es, eine Traumaktion zu zerstören.

Schütteln, aber nicht mischen: Die Rolle von Skript, Inhalt und Code
Jede Sprachanwendung besteht aus drei Komponenten - einem interaktiven Skript, Inhalten, mit denen die Aktion interagiert, und programmierbarer Logik, d. H. Code.
Das Szenario ist vielleicht die Hauptsache. Es beschreibt, welche Sätze ein Benutzer sprechen kann, wie eine Aktion auf sie reagieren soll, in welche Zustände sie eingeht und wie genau sie reagiert. Ich programmiere seit 12 Jahren, aber wenn es darum geht, eine Konversationsschnittstelle zu erstellen, greife ich auf verschiedene visuelle Werkzeuge zurück.
Für den Anfang tut es nicht weh, einen einfachen Umriss des Skripts auf Papier zu zeichnen. Sie entscheiden also, was und was im Dialog folgt. Anschließend können Sie das Skript auf ein Produkt übertragen, um es zu visualisieren. Ich verwende unseren visuellen Konstruktor mit NLU
Aimylogic (
wie man eine Aktion für Google Assistant in Aimylogic erstellt ), um zu sehen, wie alle Übergänge in meinem Dialog funktionieren, um die Hypothese selbst und die Idee dessen, was ich implementieren möchte, zu testen und zu validieren. In Aimylogic können Sie ein Skript ohne gründliche Programmierkenntnisse erstellen und die Aktion sofort testen. Google selbst bietet den
Dialogflow zum Erstellen eines benutzerdefinierten Dialogs sowie für einfache und kurze Skripte, für die kein umfassendes Sprachverständnis erforderlich ist, das
Actions SDK an .

Programmierbare Logik ist häufig erforderlich. Zum Beispiel mag Ihre Site cool aussehen, aber damit sie „weiß wie“, muss sie sich auf den Code auf dem Server beziehen, und der Code kann etwas berechnen, speichern und das Ergebnis zurückgeben. Gleiches gilt für das Action-Skript. Der Code sollte reibungslos funktionieren und besser, wenn er vollständig kostenlos ist. Heute müssen Sie nicht mehr Tausende von Dollar bezahlen, sodass rund um die Uhr ein Code von 50, 100, 1000 Zeilen für Ihre Aktion verfügbar ist. Ich benutze dafür mehrere Dienste gleichzeitig: Cloud-Funktionen, Heroku, Webtask.io, Amazon Lambda. Kostenlose Instanzen sind auf der Google Cloud Platform verfügbar.
Das Skript kann mit den einfachsten http-Aufrufen, die wir alle gewohnt sind, auf den Code zugreifen. Gleichzeitig vermischen sich Code und Skript jedoch nicht. Und das ist gut so, denn Sie können diese beiden Komponenten auf dem neuesten Stand halten und nach Belieben erweitern, ohne die Arbeit an der Aktion zu verkomplizieren.

Die dritte Komponente ist Inhalt. Dies sind Daten, die sich ständig ändern können, ohne die Struktur des Skripts selbst zu beeinflussen. Zum Beispiel Quizfragen oder Episoden in unserem
Ja-Ja- Spiel. Wenn der Inhalt mit dem Skript oder mit dem Code leben würde, würde ein solches Skript umständlicher werden. In diesem Fall ist es für Sie immer noch unpraktisch, mit welchem Tool Sie eine Aktion erstellen. Daher empfehle ich, den Inhalt separat zu speichern: in der Datenbank, in einer Datei im Cloud-Speicher oder in einer Tabelle, auf die das Skript auch über die API zugreifen kann, um Daten im laufenden Betrieb zu empfangen. Wenn Sie den Inhalt vom Skript und vom Code trennen, können Sie andere Personen für die Arbeit an der Aktion gewinnen. Sie können den Inhalt unabhängig von Ihnen auffüllen. Und die Entwicklung von Inhalten ist sehr wichtig, da der Benutzer von der Aktion, zu der er immer wieder zurückkehrt, frische und vielfältige Inhalte erwartet.

Wie verwende ich normale Tabellen in der Cloud, um nicht den gesamten Inhalt im Skript selbst zu speichern? Zum Beispiel haben wir im Spiel
„First or Second“ eine Cloud-basierte Excel-Tabelle verwendet, in der jeder Projektteilnehmer neue Fragen und Antworten für die Aktion hinzufügen konnte. Aimylogic-Skript greift über eine spezielle API über eine einzelne http-Anforderung auf diese Tabelle zu. Wie Sie sehen können, ist das Skript selbst klein, da nicht alle Daten aus der Tabelle gespeichert werden, die täglich aktualisiert wird. Daher trennen wir das interaktive Skript vom Inhalt, sodass wir unabhängig mit dem Inhalt arbeiten und das Skript gemeinsam mit neuen Daten auffüllen können. Übrigens haben bereits 80.000 Menschen dieses Spiel gespielt.
Checkliste: Dinge, die Sie beim Erstellen einer Konversationsschnittstelle beachten sollten
Jede Benutzeroberfläche verfügt über Komponenten, mit denen der Benutzer interagiert: Listen, Schaltflächen, Bilder und mehr. Die Konversationsschnittstelle existiert nach den gleichen Gesetzen, aber der grundlegende Unterschied besteht darin, dass eine Person mit dem Programm über Sprache kommuniziert. Daraus müssen wir aufbauen und unser eigenes Handeln schaffen.
Die richtige Aktion sollte nicht in der Lage sein, alles auf der Welt zu tun. Wenn eine Person mit einem Programm spricht, kann sie nicht viele Informationen im Kopf behalten (denken Sie daran, wie Sie mehrstöckige persönliche Angebote einer Bank oder eines Mobilfunkbetreibers telefonisch anhören). Geben Sie das Überflüssige auf und konzentrieren Sie sich auf eine einzige, aber wichtigste Funktion Ihres Dienstes, die am bequemsten mit Ihrer Stimme ausgeführt wird, ohne den Bildschirm zu berühren.
Zum Beispiel haben Sie einen Ticketservice. Sie sollten nicht hoffen, dass der Kunde das übliche Szenario mit einer Stimme auslöst - suchen Sie nach einem Ticket nach fünf oder sechs Kriterien, wählen Sie zwischen Anbietern, vergleichen Sie und zahlen Sie. Eine Anwendung, die Ihnen den Mindestpreis in der gewählten Richtung angibt, kann jedoch nützlich sein: Dies ist ein sehr schneller Vorgang, und es ist bequem, ihn per Spracheingabe auszuführen, ohne die Site zu öffnen, ohne jedes Mal das Skript zum Ausfüllen von Formularen durchlaufen zu müssen (wenn Sie die Felder ausfüllen und Filter auswählen) )
Beim Handeln geht es um die Stimme, nicht um den gesamten Dienst. Der Benutzer sollte es nicht bereuen, dass er die Aktion im Assistenten gestartet hat und beispielsweise nicht in die Anwendung oder die Site gegangen ist. Aber wie kann man verstehen, dass man ohne Stimme nicht auskommen kann? Probieren Sie zunächst die Idee des Handelns an sich selbst aus. Wenn Sie dieselbe Aktion problemlos ohne Stimme ausführen können, ergibt dies keinen Sinn. Eine meiner ersten Assistenten-Apps war
Yoga für die Augen . Dies ist so ein virtueller Personal Trainer, der hilft, Übungen für das Sehen zu machen. Es besteht kein Zweifel, dass hier eine Stimme benötigt wird: Ihre Augen sind mit Übungen beschäftigt, Sie sind entspannt und konzentrieren sich auf mündliche Empfehlungen. Ein Blick in das Memo, der vom Training ablenkt, wäre unpraktisch und ineffektiv.
Oder hier ist ein Beispiel für ein fehlgeschlagenes Skript für eine Sprachanwendung. Oft höre ich, wie ein anderer Online-Shop über einen virtuellen Assistenten etwas verkaufen möchte. Das Befüllen des Korbs mit Stimme ist jedoch unpraktisch und unpraktisch. Und es ist unwahrscheinlich, dass der Kunde versteht, warum er es braucht. Aber die Möglichkeit, die letzte Bestellung per Stimme zu wiederholen oder etwas auf die Einkaufsliste zu setzen, ist eine andere Sache.
Denken Sie an UX. Die Aktion sollte mit dem Benutzer zusammen sein: Begleiten und führen Sie ihn im Verlauf des Dialogs, damit er leicht versteht, was gesagt werden muss. Wenn eine Person zum Stillstand kommt, beginnt sie zu denken: "Und was kommt als nächstes?" Ist ein Fehler. Sie müssen nicht hoffen, dass Ihr Benutzer immer auf die Hilfe verweist. Deadlocks müssen überwacht werden und dem Benutzer bei wichtigen Fragen oder Tipps helfen. Bei Sprachaktionen ist Vorhersehbarkeit kein Laster. In unserem Spiel "Ja, mein Herr" endet beispielsweise jede Phrase, sodass der Teilnehmer entweder "Ja" oder "Nein" antworten kann. Er muss nicht selbst etwas erfinden. Und es ist nicht so, dass dies ein so elementares Spiel ist. Es ist nur so, dass die Regeln so organisiert sind, dass dem Benutzer alles sehr klar ist.
"Er spricht gut!" Die Aktion „hört“ dank des Assistenten gut und „spricht“ gut - dank des Skriptentwicklers. Ein kürzlich veröffentlichtes Update gab Google Assistant neue Sprachoptionen und eine realistischere Aussprache. Alles ist cool, aber der Entwickler sollte über den Satz, seine Struktur und seinen Klang nachdenken, damit der Benutzer beim ersten Mal alles verstehen kann. Ordnen Sie Stress an, verwenden Sie Pausen, damit Aktionsphrasen menschlich klingen.
Laden Sie niemals den Benutzer. Für Actionspiele, die Newsfeeds aussprechen oder Kindern Märchen vorlesen, ist dies kein Problem. Es ist jedoch schwierig, die Rede eines Sprachassistenten endlos zu hören, wenn Sie Pizza bestellen möchten. Versuchen Sie, Repliken kurz, aber nicht einsilbig und abwechslungsreich zu gestalten (z. B. um verschiedene Optionen für Begrüßungen, Abschiede und sogar Sätze zu überdenken, falls der Assistent etwas falsch verstanden hat). Der Dialog sollte natürlich und freundlich klingen. Dazu können Sie Phrasen umgangssprachliche Sprache, Emotionen und Interjektionen hinzufügen.
Der Benutzer vergibt keine Dummheit. Die Leute machen oft Sprachassistenten für Dummheit verantwortlich. Und im Grunde geschieht dies, wenn ein Assistent oder eine Bewerbung für ihn verschiedene Variationen derselben Phrase nicht erkennen kann. Lassen Sie Ihre Aktion so einfach sein wie das Einstellen eines Alarms. Es ist wichtig, dass er immer noch Synonyme versteht, verschiedene Formen von Wörtern, deren Bedeutung identisch ist und die nicht fehlschlagen, wenn der Benutzer unvorhersehbar reagiert.
Wie komme ich aus Situationen heraus, in denen eine Handlung sich weigert zu verstehen? Erstens können Sie die Antworten in der Standard-Fallback-Absicht diversifizieren - verwenden Sie nicht nur den bereitgestellten Standard, sondern auch benutzerdefinierte. Und zweitens können Sie die Fallback-Absicht mit allen Arten von Spam-Phrasen trainieren, die nicht mit dem Spiel zusammenhängen. Dadurch lernt die Anwendung, nicht nur angemessen auf irrelevante Anforderungen zu reagieren, sondern auch die Genauigkeit der Klassifizierung anderer Arten von Anforderungen zu erhöhen.

Und noch ein Tipp. Machen Sie niemals ein Tastenmenü aus Ihrer Aktion, um dem Benutzer das Leben zu erleichtern - es nervt, lenkt vom Dialog ab und lässt Sie an der Notwendigkeit zweifeln, Sprache zu verwenden.
Lehren Sie die Höflichkeitsaktion. Selbst die coolste Action sollte enden. Im Idealfall auf Wiedersehen, danach möchten Sie wieder zu ihm zurückkehren. Denken Sie übrigens daran, dass der Benutzer, wenn er keine Frage stellt, sondern lediglich die Frage des Benutzers beantwortet, das Mikrofon schließen muss (andernfalls wird die Anwendung nicht moderiert und nicht veröffentlicht). Im Fall von Aimylogic müssen Sie dem Skript nur den Block "Skriptvervollständigung" hinzufügen.
Und wenn Sie auf die Aufbewahrung zählen, ist es wichtig, andere Regeln für einen guten Ton im Skript anzugeben: Die Aktion sollte im Kontext funktionieren - merken Sie sich den Namen und das Geschlecht des Benutzers und fragen Sie nicht noch einmal, was bereits geklärt wurde.
Wie man mit Bewertungen und Bewertungen arbeitet
Google Assistant-Nutzer können Actionspiele bewerten und dadurch ihre Bewertung beeinflussen. Daher ist es wichtig zu lernen, wie Sie das Bewertungssystem zu Ihrem Vorteil nutzen können. Es scheint, dass Sie dem Benutzer nur einen Link zu einer Seite mit Ihrer Aktion geben und ihn bitten müssen, eine Bewertung abzugeben. Aber es gibt Regeln. Bieten Sie beispielsweise nicht an, die Aktion in der ersten Nachricht zu bewerten: Der Benutzer muss verstehen, was er bewertet. Warten Sie, bis die Anwendung wirklich eine nützliche oder interessante Benutzermission erfüllt, und bieten Sie erst dann an, eine Bewertung abzugeben.

Und es ist besser, nicht zu versuchen, diese Anfrage mit Hilfe der Sprachsynthese mit Ihrer Stimme zu äußern - Sie verbringen nur die Zeit des Benutzers. Außerdem folgt er möglicherweise nicht dem Link, sondern sagt "Ich wette fünf", und dies ist in diesem Fall überhaupt nicht das, was Sie brauchen.
Im Spiel "Ja, mein Herr" zeigen wir den Link für Feedback erst an, nachdem der Benutzer die nächste Runde gespielt hat. Gleichzeitig äußern wir die Anfrage nicht, sondern zeigen einfach einen Link zum Bildschirm an und bieten an, erneut zu spielen. Ich werde noch einmal darauf achten - bieten Sie diesen Link an, wenn der Benutzer garantiert einen Nutzen oder eine Freude hat. Wenn Sie dies zur falschen Zeit tun, wenn die Aktion etwas nicht versteht oder langsamer wird, können Sie ein negatives Feedback erhalten.
Drei Geheimnisse von Google Assistant
- Die Verwendung von Musik. Von den Sprachassistenten auf Russisch können Sie nur mit Google Assistant Musik direkt im Aktionsskript verwenden. Das musikalische Arrangement klingt in Action-Spielen großartig, und von Yoga bis Musik gibt es völlig unterschiedliche Empfindungen.
- Zahlungsmöglichkeiten innerhalb der Aktion. Für In-App-Käufe verwendet der Google-Assistent die Google Play-Plattform. Die Bedingungen für die Arbeit mit der Plattform für Entwickler von Spielaktionen sind dieselben wie für Entwickler mobiler Anwendungen - 70% der Transaktion werden vom Entwickler abgezogen.
- Moderation . Für eine erfolgreiche Moderation muss die Aktion über eine Richtlinie zur Verarbeitung personenbezogener Daten verfügen. Sie müssen es auf sites.google.com platzieren , den Namen Ihrer Aktion und E-Mail- Adresse angeben - genau wie der des Entwicklers in der Entwicklerkonsole - und schreiben, dass die Anwendung keine Benutzerdaten verwendet. Die Moderation einer Aktion ohne Transaktionen dauert 2-3 Tage, die Moderation einer Anwendung mit integrierten Zahlungen kann jedoch 4-6 Wochen dauern. Mehr zum Überprüfungsverfahren
Im Allgemeinen versuchen Sie unsere Aktionen
Yoga für die Augen , die Spiele
Erste oder Zweite und
Ja, mein Herr selbst (und bald werden Transaktionen darin erscheinen, und es wird für
meinen Herrn einfacher sein, ihre Macht und ihren Reichtum aufrechtzuerhalten!).
Außerdem haben wir die Voice Quest
„Lovecraft World“ für Google Assistant entwickelt. Sie wurde jedoch nicht in Aimylogic, sondern auf Just AI Conversational Platform, einer professionellen Unternehmenslösung, erstellt. Daher werden wir Sie separat über diese Aktion informieren. Dies ist ein interaktives Drama im mystischen Stil von „Call of Cthulhu“, in dem die Szenen von professionellen Schauspielern geäußert werden. Die Handlung kann per Spracheingabe gesteuert und im Spiel bezahlt werden.