Agent erstellen und anpassen

Ein neu erstellter Agent erhält in Dialogflow automatisch zwei Standard-Intents: den Begrüßungs-Intent und den Fallback-Intent. Im Rahmen der Erstellung eines Agents müssen Sie weitere Intents erstellen und die Standard-Intents an den Zweck und die Rolle des Agents anpassen.

Hinweis

Machen Sie sich mit den unter Schnellstart behandelten Grundlagen von Dialogflow vertraut, bevor Sie mit der Anleitung beginnen.

Agent erstellen

Verwenden Sie die Dialogflow-Konsole, um einen Agent mit dem Namen "MarysBikeShop" zu erstellen. Wenn Sie sich nicht sicher sind, wie das geht, informieren Sie sich unter Schnellstart.

Standard-Begrüßungs-Intent anpassen

Im ersten Schritt wird die Antwort des Standard-Begrüßungs-Intents angepasst. Dabei werden die in Google Conversation Design festgelegten Best Practices berücksichtigt. Die Best Practices schlagen drei Hauptziele der Begrüßung vor: Nutzer begrüßen, Erwartungen definieren und Kontrolle an Nutzer übergeben.

Eine Begrüßung des Agents, die diese Vorschläge befolgt, könnte so lauten:

Welcome. I can tell you the shop hours, or I can set up an appointment. Which would you like?

So aktualisieren Sie die Antwort des Standard-Begrüßungs-Intents:

  1. Klicken Sie auf den Standard-Begrüßungs-Intent.
  2. Wechseln Sie zum Abschnitt Antworten.
  3. Löschen Sie in der Tabelle Antworttext alle Standardantworten.
  4. Kopieren Sie folgende Antwort und fügen Sie sie in die Tabelle Antworttext ein:

    Welcome. I can tell you the shop hours, or I can set up an appointment. Which would you like?

  5. Klicken Sie auf Speichern.

  6. Testen Sie die aktualisierte Antwort mit dem Simulator der Dialogflow-Konsole.

    Abbildung 2. Flussdiagramm mit Begrüßungs-Intent sowie der zugeordneten Äußerung und Antwort

Antwortvarianten erstellen

Wir haben eine neue Begrüßungsformulierung erstellt und müssen nun mehrere Varianten dieser Formulierung erstellen. Fügen Sie die folgenden Varianten als Antworten in den Standard-Begrüßungs-Intent ein:

  • Welcome. I can tell you the shop hours, or I can make an appointment. What can I do for you?
  • Hello there. I can tell you the shop hours, or I can schedule an appointment. How may I help you today?

Stehen mehrere Antworten für einen Intent zur Verfügung, wählt Dialogflow nach dem Zufallsprinzip eine Antwortvariante aus der Liste aus. Beachten Sie, dass es ausgefeiltere Möglichkeiten gibt, Varianten in Antworten zu verarbeiten. Sie sind relevant, wenn wir den Code für den Fulfillment-Prozess schreiben, da dort komplexere Logik eingesetzt werden kann. Die Fulfillment-Komponente von Dialogflow wird in späteren Abschnitten behandelt.

Im Fall unserer Antwortvarianten enden die Begrüßungsformulierungen mit einer Frage wie "Which would you like? und "What can I do for you?" ". An diesem Punkt erwartet der Agent eine Äußerung des Nutzers, aus der hervorgeht, welches Anliegen er hat. Im nächsten Abschnitt erstellen wir für den Agent einen ersten benutzerdefinierten Intent, der die Anfrage eines Nutzers identifizieren und auf sie eingehen kann.

Benutzerdefinierten Intent erstellen

Der Agent des Fahrradladens soll zwei Aufgaben ausführen:

  • Kunden die Öffnungszeiten mitteilen
  • Termine für Kunden vereinbaren

Im ersten Schritt erstellen wir einen Intent, der Nutzern die Öffnungszeiten des Fahrradgeschäfts mitteilen kann. Wir schreiben zuerst einen Beispieldialog für diesen Intent:

Nutzer: When are you open?

Agent: We're open from 9 AM to 6 PM every day. Is there anything else I can do for you?

So erstellen Sie einen Intent, der mit diesem Dialog umgehen kann:

  1. Erstellen Sie einen neuen Intent mit dem Namen Hours.
  2. Geben Sie im Abschnitt Trainings phrases (Trainingsformulierungen) des Intents Hours (Öffnungszeiten) die folgende Trainingsformulierung ein: When are you open?
  3. Geben Sie im Abschnitt Responses (Antworten) die folgende Antwort in die Tabelle Text response (Antworttext) ein: We're open from 9 AM to 6 PM every day. Is there anything else I can do for you?
  4. Klicken Sie auf SPEICHERN.

    Abbildung 3. Flussdiagramm mit dem Standard-Begrüßungs-Intent und dem neuen benutzerdefinierten Intent Hours (Öffnungszeiten).

Wenn wir den Intent wie oben beschrieben einrichten, erhalten wir einen funktionierenden einfachen Intent. Stellt ein Nutzer die Frage "When are you open?", ordnet Dialogflow diese Äußerung dem benutzerdefinierten Intent Hours (Öffnungszeiten) zu. Der Intent antwortet mit der Formulierung "We're open from 9 AM to 6 PM every day. Is there anything else I can do for you?"

Weitere Trainingsformulierungen hinzufügen

Bis jetzt wurde für den Intent Hours (Öffnungszeiten) nur die Trainingsformulierung "When are you open?" definiert. Der Intent ist daher noch nicht in der Lage, ähnliche Äußerungen zu identifizieren, die dieselbe Bedeutung haben. Wir müssen weitere Trainingsformulierungen bereitstellen, damit der Agent dem Intent eine Reihe von Nutzeräußerungen zuordnen kann, mit denen dieselbe Absicht ausgedrückt wird.

In der natürlichen Sprache ist es fast immer möglich, mit verschiedenen Formulierungen dieselbe Bedeutung auszudrücken. Wir empfehlen, für jeden Intent zu Beginn mindestens 10 bis 20 Trainingsformulierungen bereitzustellen (abhängig von der Komplexität des Intents). Nachdem Sie mit dem Testen des Agents begonnen haben, sollten Sie mithilfe des Trainingstools von Dialogflow weitere Trainingsformulierungen hinzufügen.

Mit der Formulierung "When are you open?" können wir uns diese zehn Varianten vorstellen, die Nutzer stattdessen sagen können:

  • Are you open today?
  • How late are you open on weekends?
  • When do you close?
  • What time do you open tomorrow morning?
  • Are you open now?
  • Business hours.
  • How early can I drop in?
  • Tell me your opening hours.
  • What are your hours?
  • How late can I come in?

So fügen Sie diese Varianten als Trainingsformulierungen hinzu:

  1. Klicken Sie auf den Intent Hours (Öffnungszeiten).
  2. Kopieren Sie jede der oben aufgeführten Formulierungen und fügen Sie sie im Abschnitt Trainingsformulierungen ein.
  3. Klicken Sie auf SPEICHERN.
  4. Testen Sie den Intent mithilfe des Simulators der Dialogflow-Konsole unter Verwendung verschiedener Nutzeräußerungen.

Der Agent kann nun Nutzer begrüßen und eine bestimmte Anfrage von Nutzern identifizieren und darauf eingehen. Was passiert jedoch, wenn Nutzer etwas sagen, das der Agent nicht versteht?

Im nächsten Abschnitt lernen wir einen besonderen Intent kennen. Der Fallback-Intent dient dazu, auf Äußerungen zu reagieren, die nicht zugeordnet werden können.

Fallback-Intent anpassen

Ein Fallback-Intent ist ein besonderer Intent, der aktiviert wird, wenn eine Nutzeräußerung keinem anderen Intent zugeordnet ist. Neben dem Standard-Begrüßungs-Intent enthält jeder Agent auch einen allgemeinen Fallback-Intent, den Standard-Fallback-Intent.

Ein Fallback-Intent kann Nutzer auffordern, Äußerungen so zu formulieren, dass der Agent sie verstehen kann. So aktualisieren Sie die Antwort des Standard-Fallback-Intents:

  1. Klicken Sie auf den Standard-Fallback-Intent.
  2. Wechseln Sie zum Abschnitt Antworten.
  3. Löschen Sie in der Tabelle Antworttext alle Standardantworten.
  4. Kopieren Sie folgende Antwort und fügen Sie sie in die Tabelle Antworttext ein:

    Sorry, did you want to hear our hours, or set up an appointment?

  5. Klicken Sie auf Speichern.

    Abbildung 4. Flussdiagramm mit Fallback-Intent in der Ecke links oben

Durch die gezielte Frage in der Fallback-Antwort ("did you want to hear our hours, or set up an appointment?") werden die Nutzer dazu angeleitet, eine Formulierung zu verwenden, die identifiziert werden kann. Der Agent kann eine der folgenden Äußerungen vom Nutzer erwarten: "I want to know the hours" oder "I want to set up an appointment".

Derzeit hat unser Agent keinen Intent, der die Äußerung verarbeiten kann, und ich möchte einen Termin vereinbaren. Im folgenden Abschnitt erstellen wir einen erweiterten Intent, mit dem die Anfrage zur Terminvereinbarung aufgelöst werden kann.