Vergleich der Voice Assistenten aus Entwicklersicht Alexa vs. Google Assistant Sebastian Meßingfeld Köln, 12.06.2017
Neue Plattformen alte Probleme? Alexa & Google Assistant bieten aus Kundensicht ein Voice-Interface für Services Wunsch von Software-Entwickler Write once, run anywhere Ist das machbar? 2
Funktionsweise Alexa & Google Assistant Extraktion von Information aus der Spracheingabe Absicht Entitäten Verarbeitung Ausgabe Text / Ton für Tonausgabe formatierter Text für Anzeige in (Companion-)App 3
Funktionsweise Unterschiede Alexa & Google Assistant Alexa Skill Kit API Voice Device Speech Recognition Action Selection Intent Selection Entity Extraction Fulfillment Google Assistant API (über api.ai) 4
Definition Sprachschnittstelle Alexa & Google Assistant Abstrakte Funktionalitätsbeschreibung Intent / Aktion Name Eingabebespiele für Intent / Aktion Definition der Entitäten-Platzhalter Definition der Entitäten-Typen WETTERABFRAGE: Wie ist das Wetter in {Stadt}? 5
Definition Sprachschnittstelle Alexa Skill Kit (noch Platzhalter) 6
Definition Sprachschnittstelle Alexa Skill Kit Eingabe eigener Intents mit Beispiel-Äußerungen Vordefinierte Intents (YES/NO, Help) Entitäten definierbar vordefinierte Typen (Datumswerte, Städtenamen) eigene Liste von Werte (nicht dynamisch aktualisierbar) Alternative: Skill Builder Beta 7
Definition Sprachschnittstelle Google Assistant zwei Umsetzungsarten Google Actions SDK api.ai (präferierter Weg) Google Actions SDK Ähnlichkeit zu Alexa Skill Kit Intents, Äußerung, Entitäten in einer JSON Datei definiert schlecht dokumentiert, wenige & nicht funktionierende Beispiele 8
Definition Sprachschnittstelle api.ai We recommend using API.AI to build your app. It will make it much easier to build a high-quality conversational experience. (Google) ermöglicht Intent Selection & Entity Extraction 9
Definition Sprachschnittstelle api.ai 10
Definition Sprachschnittstelle api.ai Eingabe von Beispielsätzen Definition von Entitäten über Selektion vordefinierte Typen Freitext Abfragen von fehlenden Entitäten Training von Eingabentexten möglich nachträgliches Markieren von Entitäten 11
Definition Sprachschnittstelle Vergleich Vorteile von api.ai Freitext für Parameter Zugriff auf Raw-Text Training durch reale Usereingaben Vorteile Amazon Skills Kit kein zusätzlicher Dienst nötig Standard-Intents vorhanden (User-Erwartungen) 12
Verarbeitung Alexa & Google Assistant Intent Selection Entity Extraction Fulfillment JSON-Struktur als Austausch Request: Aktion mit Parametern Response: Ausgabe (Voice + zusätzliche Infos) Strukturen komplett unterschiedlich Gemeinsamkeit: Spracheausgabe im SSML Format 13
Verarbeitung SDKs Abstraktion für Austausch der JSON-Nachrichten Alexa: Node.js: https://github.com/alexa/alexa-skills-kit-sdk-for-nodejs Java: https://github.com/amzn/alexa-skills-kit-java Google Assistant: Node.js: https://github.com/actio...ogle/actions-on-google-nodejs 14
Verarbeitung SDKs Alexa SDKs laufen nur auf AWS Lambda GA SDK läuft nicht auf AWS Lambda Google Functions eigener Server (express.js) Lösungen andere SDKs verwenden (Alexa: alexa-app ) eigenes SDK schreiben 15
meine Entwicklungsumgebung lokaler Server verarbeitet Voice Assistenten Request liefert Response für Voice Assistenten über Tunnel-Service öffentlich bereitstellen Test mit realen Request Programmiersprache: Node.js IDE: Webstorm 16
Ausgabe Alexa & Google Assistant Audio Text Google Assistant mehr als ein Voice-Assistant Chatbot benötigte Ausgabe kann angegeben werden 17
Ausgabe Alexa Voice Echo (Dot) Alexa Voice Service Dienste (Reverb) Visuell Alexa Companion App (auch wenn nicht aktiv) Voice & Visuell FireTV (Stick) 18
Ausgabe Google Assistant Voice Google Home Google Assistant Dienste Voice & Visuell Google Assistant Apps (Allo) Visuell Chromecast (als Companion Device von Google Home) 19
Testen Alexa & Google Assistant während der Entwicklung Verhalten wie in Produktivumgebung Test über Hardware möglich automatisches Deployment (über Accounts) manuelle Text und Voice-Eingaben über Entwicklungs- Portal 20
Testen Alexa Voice-Eingaben nur über Hardware oder externe Dienste keine Dialogsübersicht Google Assistant Voice- und Texteingaben auch im Browser Dialoge werden visualisiert 21
Portierung Google Assistant > Alexa Skill Smart Transport (von Dominik H. aus L.) Abfrage von Zugverbindungen Start + Ziel Ziel Anstatt Ok, Google Alexa sagen können Rest bleibt gleich 22
Portierung Praxis api.ai bietet Export-Möglichkeiten an Format nicht kompatibel zu Alexa Skill Kit Schnittstellen-Definition von api.ai verwenden Typen sind unterschiedlich Einschränkungen bei Alexa Skill Kit Anforderungen an Alexa Skills (Built-In Intents) 23
Portierung Praxis api.ai stellt fertigen Intent bereit Alexa Skill Kit benötigt einen Fulfillment-Service Fulfillment-Service wiederverwenden liefert Google Assistant optimierte Ausgabe Alexa ruft sich bei Ausgabe selber auf: I.C.E Beispiel 24
Fazit Voice-Schnittstelle könnten einheitlich sein Einschränkungen der Plattform beachten Voice Assistant läuft nicht nur auf Google Home / Echo Businesslogik muss unabhängig von Voice Services gestaltet werden jeder Plattform braucht optimierte Anwendung 25
Vielen Dank Sebastian Meßingfeld sebastian.messingfeld@inovex.de Fragen?