Konversationsaktionen (Dialogflow)

Konversationsaktionen erweitern die Funktionalität von Google Assistant, indem Entwickler benutzerdefinierte Funktionen oder Unterhaltungen für Assistant erstellen können. In einer Unterhaltung verarbeitet die konversationelle Aktion Anfragen von Assistant und gibt Antworten mit Audio- und visuellen Komponenten zurück. Konversationsaktionen können auch eine Verbindung zu externen Diensten herstellen, um zusätzliche Konversations- oder Geschäftslogik zu erhalten, bevor eine Antwort zurückgegeben wird.

Nutzer können beispielsweise Ihre Konversationsaktion aufrufen, um eine Antwort von Ihrem externen Auftragsausführungsdienst zu erhalten, wenn sie Informationen suchen, eine personalisierte Empfehlung erhalten oder Transaktionen mit digitalen Zahlungen ausführen möchten.

Bei einem Gespräch mit Google Assistant fragt ein Nutzer nach einer Konferenzsitzung und erhält eine Antwort.
Abbildung 1. Beispiel für eine konversationelle Aktion

Anwendungsfälle

Konversationsaktionen funktionieren am besten für einfache Anwendungsfälle, die andere Funktionen ergänzen. Gute Konversationsaktionen lassen sich oft in die folgenden allgemeinen Kategorien einordnen:

  • Dinge, die leicht zu beantworten sind Aktionen, die mit vertrauten Eingaben wie Uhrzeiten oder Daten durchgeführt werden können, z. B. Buchen eines Flugs.
  • Schnelle, aber dennoch äußerst nützliche Aktionen Nutzer profitieren in der Regel sofort, wenn sie wenig Zeit aufwenden, z. B. wenn sie herausfinden möchten, wann ihre Lieblingsmannschaft das nächste Mal spielt.
  • Aktionen, die von Natur aus besser für Sprachbefehle geeignet sind Dies sind in der Regel Dinge, die Sie per Sprachbefehl tun möchten, z. B. Coaching beim Yoga oder bei leichten Übungen.

So funktionieren Konversationsaktionen

Im Gegensatz zu herkömmlichen mobilen und Desktop-Apps, die computerorientierte Paradigmen verwenden, interagieren Nutzer mit Actions for Assistant über natürlich klingende Unterhaltungen. Konversationsaktionen beginnen, wenn sie von einem Nutzer aufgerufen werden, und werden fortgesetzt, bis der Nutzer die Unterhaltung beendet (mit vorgegebenen Formulierungen) oder Ihre Konversationsaktion das Ende der Unterhaltung angibt.

Während einer Unterhaltung werden Nutzereingaben von Assistant von Sprache in Text umgewandelt und in JSON-Anfragen zur Verarbeitung natürlicher Sprache geformt. Diese Anfragen werden an die sogenannte Unterhaltungsausführung gesendet.

Die Unterhaltungsausführung parst die Anfrage des Nutzers in strukturierte Daten, verarbeitet sie und gibt eine Webhook-JSON-Antwort an Assistant zurück. Assistant verarbeitet dann Ihre Antwort und präsentiert sie dem Nutzer.

Die Unterhaltungsausführung kann durch eine JSON-Anfrageeingabe und eine Webhook-JSON-Antwortausgabe dargestellt werden.
Abbildung 2. Die Unterhaltungsausführung ist ein JSON-In-JSON-Out-System.

Einen eigenen Natural Language Processing-Dienst zu erstellen, kann eine Herausforderung sein. Deshalb bieten wir Dialogflow als Möglichkeit, dies für Sie zu erledigen. Für Entwickler, die Dialogflow nicht verwenden können, bieten wir außerdem das Actions SDK als Sicherungsoption mit einem separaten, aber verwandten Entwicklungspfad an.

Sobald Sie in Dialogflow einen Agent eingerichtet haben, wird die Unterhaltungsausführung durch die Features von Dialogflow erweitert. Dazu gehört auch die Möglichkeit, die Auftragsausführung von Dialogflow zu verwenden. Mit diesem Ansatz können Sie die Auftragsausführung von Unterhaltungen von anderen Diensten isolieren, die Sie möglicherweise benötigen, um Nutzern das gewünschte Ergebnis zu liefern.

Actions on Google parst die Äußerung eines Nutzers und sendet eine Anfrage an Dialogflow. Dialogflow ordnet den Intent zu und extrahiert Parameter, um sie an die entsprechende Dialogflow-Auftragsausführung zu senden. Die Auftragsausführung sendet dann eine Antwort an Actions on Google zurück, die die Antwort auf einer Assistant-Oberfläche rendert.
Abbildung 3. Unterhaltungsausführung mit Dialogflow

Dialogorientierte Aktion erstellen

Der größte Teil des Aufbaus Ihrer konversationellen Aktion besteht darin, die Unterhaltung zu entwerfen und die Unterhaltungsausführung zu gestalten. Betrachten Sie die Konversation als die Benutzeroberfläche für Ihre Konversationsaktion. Sie müssen sich überlegen, wie Nutzer Ihr Actions-Projekt aufrufen, welche Dinge sie in einer Unterhaltung sagen können und wie das Actions-Projekt darauf reagiert.

In Ihrem Actions-Projekt stellen Sie Metadaten zum Veröffentlichen des Projekts bereit und legen eine Methode für die Unterhaltungsausführung fest. Entwickler, die Dialogflow verwenden, verknüpfen ihren Dialogflow-Agent mit dem Projekt und erstellen dann die Auftragsausführung über Dialogflow. Entwickler, die das Actions SDK verwenden, müssen zum Erstellen der Unterhaltungsauftragsausführung im Unterhaltungs-Webhook-Format codieren und bereitstellen.

Wir empfehlen, bei der Gestaltung Ihrer Unterhaltungen unsere Prozesse und Designprinzipien zu beachten. Konversationsoberflächen sind noch eine relativ neue Technologie und das Kennenlernen von Best Practices kann Ihnen in Zukunft Zeit sparen.

Auftragsausführung mit Dialogflow

Bei der Integration in einen Dialogflow-Agent verarbeitet der Agent die NLU für Nutzerabfragen in der Unterhaltungsaktion. Der Dialogflow-Agent führt in diesem Schritt die folgenden Schritte für Sie aus:

  1. Parst jede eingehende Anfrage von Assistant anhand der von Ihnen bereitgestellten Trainingsformulierungen und des Gesprächskontexts.
  2. Ordnet jede Anfrage einem Dialogflow-Intent zu (auch als Ereignis bezeichnet).
  3. Extrahiert Parameter in Dialogflow-Entitäten.

Der Dialogflow-Agent kann dann eine eigene Auftragsausführung (als Webhook bereitgestellt) aufrufen, um eine Logik auszuführen, z. B. eine REST API oder einen anderen Back-End-Dienst aufzurufen, der eine Antwort generiert, um an Assistant zurückzukehren. Dieser Webhook wird auch als Dialogflow-Auftragsausführung bezeichnet und verwendet das Dialogflow-Webhook-Format.

Dialogflow akzeptiert Nutzeräußerungen für den Intent-Abgleich und stellt extrahierte Parameter für die Dialogflow-Auftragsausführung bereit. Die Auftragsausführung gibt eine Antwort an den Nutzer zurück.
Abbildung 4. Ein Dialogflow-Agent parst eine Nutzerabfrage für die Dialogflow-Auftragsausführung in strukturierte Daten

Das Erstellen der Unterhaltungsausführung bei der Verwendung von Dialogflow besteht in erster Linie aus dem Entwickeln eines Dialogflow-Auftragsausführungs-Webhooks. Die Dokumentation zu Actions on Google enthält Ressourcen, die Ihnen beim Entwerfen, Erstellen und Testen des Dialogflow-Auftragsausführungs-Webhooks helfen. Zu diesen Ressourcen gehören insbesondere die Node.js-Clientbibliothek und die Java-Clientbibliothek.

Für die Erstellung mit Dialogflow verwenden Sie die Dialogflow-Konsole, um Dialogflow-Intents, -Entitäten und -Trainingsformulierungen zu erstellen.

Allgemeine Informationen zu Dialogflow finden Sie in der Dialogflow-Dokumentation zur Einbindung von Actions on Google.

Auftragsausführung mit Actions SDK

Das Erstellen und Bereitstellen eines Aktionspakets besteht in erster Linie aus dem Erstellen und Bereitstellen des Aktionspakets, um die Unterhaltungsausführung mit dem Actions SDK zu erstellen. Aktionspakete werden im ActionPackage-Format erstellt und verwenden das Format für Unterhaltungs-Webhooks. Ein Aktionspaket enthält alle Aktionen für ein bestimmtes Actions-Projekt.

Assistant stellt mithilfe von Actions on Google-Intents Nutzeranfragen an die Unterhaltungsausführung. Für jeden Intent muss der Auftragsausführungs-Webhook den Intent parsen, verarbeiten und eine JSON-Antwort für den Nutzer an Assistant zurückgeben.

Antworten

Wenn Sie eine Aktion für Assistant erstellen, entwerfen Sie Ihre Unterhaltungen für verschiedene Oberflächen, z. B. eine sprachorientierte Unterhaltung für Lautsprecher mit Sprachsteuerung oder eine visuelle Unterhaltung auf einer von Assistant unterstützten Oberfläche. Mit diesem Ansatz können Nutzer Dinge schnell erledigen, entweder sprachlich oder visuell.

Beim Erstellen der Auftragsausführung können Sie aus einer Vielzahl ansprechender Antworttypen auswählen, die Assistant den Nutzern präsentieren soll. Diese reichen von Sprechblasen mit einfachem Text bis hin zu Medienantworten, Karussells und sogar HTML mit interaktivem Canvas.

Nächste Schritte

Im Codelab Build Actions for Google Assistant (Level 1) finden Sie eine detaillierte Schritt-für-Schritt-Anleitung zum Erstellen Ihrer ersten Konversationsaktion.

Anschließend können Sie mit unseren Leitfäden zum Erstellen einer eigenen Unterhaltungsausführung mit Dialogflow oder mit dem Actions SDK fortfahren. Sie können sich auch diese zusätzlichen Ressourcen zum Erstellen von Konversationsaktionen ansehen: