Kommunikationsaktionen

Mit Konversationsaktionen können Sie Google Assistant mit Ihren eigenen dialogorientierten Schnittstellen erweitern, über die Nutzer auf Ihre Produkte und Dienste zugreifen können. Aktionen nutzen die leistungsstarke NLU-Engine (Natural Language Understanding) von Assistant, um Eingaben in natürlicher Sprache zu verarbeiten und zu verstehen und basierend darauf Aufgaben auszuführen.

Überblick

Eine Konversationsaktion ist ein einfaches Objekt, das einen Einstiegspunkt (auch als Aufruf bezeichnet) in eine Unterhaltung definiert:

  • Ein Aufruf definiert, wie Nutzer Assistant sagen, dass sie eine Unterhaltung mit einer Ihrer Aktionen starten möchten. Der Aufruf einer Aktion wird durch einen einzelnen Intent definiert, der zugeordnet wird, wenn Nutzer die Aktion anfordern.
  • Eine Unterhaltung definiert, wie Nutzer mit einer Aktion interagieren, nachdem sie aufgerufen wurde. Sie erstellen Unterhaltungen mit Intents, Typen, Szenen und Prompts.
  • Darüber hinaus kann deine Aktionen zusätzliche Arbeit an die Auftragsausführung delegieren. Das sind Webdienste, die über Webhooks mit deinen Aktionen kommunizieren. Auf diese Weise können Sie eine Datenvalidierung durchführen, andere Webdienste aufrufen, eine Geschäftslogik ausführen und vieles mehr.

Sie bündeln eine oder mehrere Aktionen basierend auf den Anwendungsfällen, die für Ihre Nutzer wichtig sind, in einem logischen Container, einem Aktionsprojekt. Ihr Actions-Projekt enthält Ihr gesamtes Aufrufmodell (die Sammlung aller Aufrufe), sodass Nutzer an logischen Stellen in Ihrem Unterhaltungsmodell beginnen können (alle möglichen Dinge, die Nutzer sagen können und wie Sie Nutzern antworten).

Abbildung 1: Eine Sammlung von Aktionen, die als Einstiegspunkte in ein Unterhaltungsmodell dienen. Intents, die zum Aufrufen berechtigt sind, gelten als global.

Aufruf

Der Aufruf ist mit einem Anzeigenamen verknüpft, der eine Marke, einen Namen oder eine Persona darstellt, mit der Nutzer Assistant bitten können, deine Aktionen aufzurufen. Nutzer können diesen Anzeigenamen allein (als Hauptaufruf bezeichnet) oder in Kombination mit optionalen Deep-Link-Ausdrücken verwenden, um Ihre Aktionen aufzurufen.

Beispielsweise können Nutzer die folgenden Formulierungen verwenden, um drei separate Aktionen in einem Projekt mit dem Anzeigenamen „Fakten über Google“ aufzurufen:

  • „Hey Google, sprich mit Fakten über Google.“
  • „Hey Google, rede mit Fakten über Google, um Informationen zum Unternehmen zu erhalten.“
  • „Hey Google, rede mit Fakten über Google, um Informationen zur Geschichte zu erhalten.“

Der erste Aufruf im Beispiel ist der Hauptaufruf. Dieser Aufruf ist mit einem speziellen System-Intent namens actions.intent.MAIN verknüpft. Beim zweiten und dritten Aufruf handelt es sich um Deeplink-Aufrufe, mit denen Sie zusätzliche Formulierungen angeben können, mit denen Nutzer bestimmte Funktionen anfordern können. Diese Aufrufe entsprechen Nutzer-Intents, die Sie als global festgelegt haben. Jeder Aufruf in diesem Beispiel stellt einen Einstiegspunkt in eine Unterhaltung dar und entspricht einer einzelnen Aktion.

Abbildung 2: Beispiel für einen Hauptaufruf

Abbildung 2 beschreibt einen typischen Hauptaufrufablauf:

  1. Wenn Nutzer eine Aktion anfordern, fragen sie Assistant normalerweise nach deinem Anzeigenamen danach.
  2. Assistant ordnet die Anfrage des Nutzers dem entsprechenden Intent zu. In diesem Fall ist das actions.intent.MAIN.
  3. Die Aktion wird über die Intent-Zuordnung benachrichtigt und antwortet mit der entsprechenden Aufforderung, eine Unterhaltung mit dem Nutzer zu starten.

Unterhaltung

Eine Unterhaltung definiert, wie Nutzer mit einer Aktion interagieren, nachdem sie aufgerufen wurde. Sie erstellen diese Interaktionen, indem Sie die gültige Nutzereingabe für Ihre Unterhaltung, die Logik für die Verarbeitung dieser Eingabe und die entsprechenden Eingabeaufforderungen für die Antwort an den Nutzer definieren. Die folgende Abbildung und Erläuterung zeigen, wie ein typischer Unterhaltungswechsel mit den Low-Level-Komponenten einer Unterhaltung funktioniert: Intents, Typen, Szenen und Prompts.

Abbildung 3: Beispiel für eine Unterhaltung

Abbildung 3 beschreibt eine typische Unterhaltungsrunde:

  1. Wenn Nutzer etwas sagen, ordnet Assistant NLU die Eingabe einem geeigneten Intent zu. Ein Intent wird zugeordnet, wenn das Sprachmodell für diesen Intent genau oder genau mit der Nutzereingabe übereinstimmen kann. Sie definieren das Sprachmodell, indem Sie Trainingsformulierungen oder Beispiele für Dinge angeben, die Nutzer sagen möchten. Assistant erweitert diese Trainingsformulierungen, um das Sprachmodell des Intents zu erstellen.
  2. Wenn die Assistant-NLU einem Intent zugeordnet wird, kann sie die benötigten Parameter aus der Eingabe extrahieren. Diesen Parametern sind Typen zugeordnet, z. B. ein Datum oder eine Zahl. Sie annotieren bestimmte Teile der Trainingswortgruppen eines Intents, um anzugeben, welche Parameter Sie extrahieren möchten.
  3. Eine Szene verarbeitet dann den zugeordneten Intent. Sie können sich Szenen als logische Ausführer einer Aktion vorstellen, die die schwierige Arbeit erledigen und die Logik ausführen, die erforderlich ist, um eine Unterhaltung voranzutreiben. Szenen werden in einer Schleife ausgeführt und bieten einen flexiblen Ausführungslebenszyklus, mit dem Sie unter anderem Intent-Parameter validieren, Slots füllen und Prompts an den Nutzer zurücksenden können.
  4. Wenn eine Szene ausgeführt ist, sendet sie in der Regel eine Aufforderung zurück an die Nutzer, um die Unterhaltung fortzusetzen, oder kann die Unterhaltung gegebenenfalls beenden.

Auftragsausführung

Während eines Aufrufs oder einer Unterhaltung kann deine Aktion einen Webhook auslösen, der einen Auftragsausführungsdienst mit der Ausführung bestimmter Aufgaben benachrichtigt.

Abbildung 4: Beispiel für eine Unterhaltung

In Abbildung 4 wird beschrieben, wie Sie die Auftragsausführung nutzen können, um Prompts zu generieren. Dies ist eine gängige Methode zur Verwendung der Auftragsausführung:

  1. An bestimmten Punkten der Ausführung Ihrer Aktion kann sie einen Webhook auslösen, der eine Anfrage mit einer JSON-Nutzlast an einen registrierten Webhook-Handler (Ihren Auftragsausführungsdienst) sendet.
  2. Die Auftragsausführung verarbeitet die Anfrage, z. B. durch Aufrufen einer REST API für die Datensuche oder Validierung einiger Daten aus der JSON-Nutzlast. Eine sehr gängige Methode zur Verwendung der Auftragsausführung besteht darin, zur Laufzeit eine dynamische Aufforderung zu generieren, damit Ihre Unterhaltungen besser auf den aktuellen Nutzer abgestimmt sind.
  3. Die Auftragsausführung gibt eine Antwort mit einer JSON-Nutzlast an die Aktion zurück. Es kann die Daten aus der Nutzlast verwenden, um seine Ausführung fortzusetzen und dem Nutzer zu antworten.