Dialogflow ES-Agent erstellen

Mit der Dialogflow ES-Konsole können Sie einen Agent erstellen und testen.

Hinweis

Führen Sie vor Beginn die folgenden Schritte aus:

Agent erstellen

  1. Rufen Sie die Dialogflow ES-Konsole auf.
  2. Melden Sie sich bei Aufforderung in der Dialogflow-Konsole an. Weitere Informationen finden Sie unter Übersicht über die Dialogflow-Konsole.
  3. Klicken Sie in der Seitenleiste auf Agents.
  4. Wählen Sie den Tab Your deployed agents (Ihre bereitgestellten Agents) aus.
  5. Klicken Sie auf Create agent (Agent erstellen).
  6. Geben Sie den Namen des Agents, die Standardsprache und die Standardzeitzone ein.
  7. Geben Sie ein vorhandenes Projekt ein. Wenn die Dialogflow-Konsole ein Projekt erstellen soll, wählen Sie Create a new Google project (Neues Google-Projekt erstellen) aus.
  8. Klicken Sie auf Erstellen.

Intents

Intents kategorisieren die Absicht des Endnutzers , eine Unterhaltung zu führen. Für jeden Agent definieren Sie viele Intents, die zusammen eine vollständige Unterhaltung verarbeiten.

Standard-Intent

Wenn Sie einen Agent erstellen, erstellt Dialogflow zwei Standard-Intents für Sie:

  • Standard-Begrüßungs-Intent:Dieser Intent wird zugeordnet, wenn der Endnutzer eine Unterhaltung mit Ihrem Agent beginnt. Er gibt eine Antwort zurück, der der Endnutzer entnehmen kann, was Ihr Agent macht oder was der Nutzer für den Start der Unterhaltung sagen muss.
  • Standard-Fallback-Intent:Dieser Intent wird zugeordnet, wenn der Agent den Endnutzerausdruck keinem anderen Intent zuordnen kann.

Rufen Sie die Intent-Liste für Ihren Agent auf, um die Intents zu sehen:

  1. Rufen Sie die Dialogflow ES-Konsole auf.
  2. Wählen Sie den von Ihnen erstellten Agent aus.
  3. Klicken Sie in der Seitenleiste auf Intents.

In der Mitte der Dialogflow-Konsole wird dann die Liste der Intents für den Agent angezeigt.

Screenshot: Intents-Liste

Standard-Fallback-Intent testen

Screenshot: Simulator

Der Dialogflow-Simulator befindet sich außen rechts in der Konsole. Mit diesem Simulator können Sie Ihren Agent testen. Dazu sprechen Sie Mitteilungen oder geben diese ein.

Probieren Sie den Agent jetzt aus:

  1. Klicken Sie auf das Feld Try it now.
  2. Geben Sie What is your name? ein.
  3. Drücken Sie die Eingabetaste.

Die Antwort des Agents wird im Bereich Default Response (Standardantwort) angezeigt. Da Ihre Eingabe keinem Intent entsprochen hat, wurde der Standard-Fallback-Intent zugeordnet und eine der Standardantworten ausgegeben.

Intent erstellen

Mit den Schritten in diesem Abschnitt wird ein Intent erstellt, der die Frage „What is your name?“ beantwortet. Sie definieren für jeden Intent viele Trainingsformulierungen. Eine Trainingsformulierung ist ein Beispiel dafür, was ein Endnutzer dem Agent schriftlich oder mündlich mitteilen könnte. Sie wird auch als Endnutzerausdruck bezeichnet. Definieren Sie Trainingsformulierungen, mit denen Dialogflow Ausdrücke einem Intent zuordnen kann.

So erstellen Sie einen Intent:

  1. Klicken Sie in der Seitenleiste neben Intents auf die Schaltfläche zum Hinzufügen eines Intents .
  2. Geben Sie in das Feld Intent name (Intent-Name) den Wert get-agent-name ein.
  3. Klicken Sie im Abschnitt Training Phrases (Trainingsformulierungen) auf Add training phrases (Trainingsformulierungen hinzufügen).
  4. Geben Sie die folgenden Trainingsformulierungen ein:

    • What is your name?
    • Do you have a name?
    • Tell me your name

    Screenshot: Trainingsformulierungen

  5. Geben Sie im Abschnitt Responses (Antworten) Folgendes im Abschnitt Text Response (Antworttext) ein:

    • My name is Dialogflow!

    Screenshot: Trainingsformulierungen

  6. Klicken Sie auf Save und warten Sie, bis im Dialog Agent Training angezeigt wird, dass das Training abgeschlossen ist.

Intent testen

Screenshot: Simulator

Geben Sie im Simulator What's your name? ein und drücken Sie die Eingabetaste.

Der Agent reagiert korrekt auf den Ausdruck, obwohl er sich geringfügig von den bereitgestellten Trainingsformulierungen unterscheidet.

Dialogflow verwendet Trainingsformulierungen als Beispiele für ein ML-Modell, das Endnutzerausdrücke mit Intents abgleicht. Das Modell prüft den Ausdruck für jeden Intent im Agent, weist jedem Intent einen Wert zu und ordnet den Intent mit dem höchsten Wert zu. Wenn der Intent mit dem höchsten Wert einen sehr niedrigen Wert hat, wird der Fallback-Intent zugeordnet.

Parameter und Entitäten

Wenn ein Intent zur Laufzeit zugeordnet wird, übergibt Dialogflow die aus dem Endnutzerausdruck extrahierten Werte als Parameter. Jeder Parameter hat einen Typ, der als Entitätstyp bezeichnet wird und genau festlegt, wie die Daten extrahiert werden. Im Unterschied zu unstrukturierten Endnutzereingaben sind Parameter strukturierte Daten, mit denen auf einfache Weise ein bestimmter Ablauf ausgeführt werden kann oder Antworten generiert werden können.

Wenn Sie beim Erstellen eines Agents festlegen möchten, wie Daten extrahiert werden, annotieren Sie Teile Ihrer Trainingsformulierungen und konfigurieren Sie die zugehörigen Parameter.

Parameter erstellen

So erstellen Sie Intent-Parameter:

  1. Klicken Sie in der Seitenleiste neben Intents auf die Schaltfläche zum Hinzufügen eines Intents.
  2. Benennen Sie den Intent oben im Intent-Formular mit set-language.
  3. Fügen Sie die folgenden Trainingsformulierungen hinzu:
    • I know English
    • I speak French
    • I know how to write in German
  4. Klicken Sie auf Save und warten Sie, bis im Dialog Agent Training angezeigt wird, dass das Training abgeschlossen ist.

    Screenshot: Trainingsformulierung mit Anmerkungen

Dialogflow erkennt in Trainingsformulierungen automatisch Parameter für Systementitäten, die als Systementitätenerkannt werden. Diese Entitäten werden von Dialogflow für viele gängige Datentypen wie Ort, Farbe oder Datum bereitgestellt.

Nachdem Sie Trainingsformulierungen hinzugefügt haben, erstellt Dialogflow eine Zeile in der Tabelle Action &parameters (Aktion und Parameter):

Screenshot: Trainingsformulierung mit Anmerkungen

  • Required (Erforderlich): Nicht ausgewählt, daher ist dieser Parameter optional.
  • Parameter Name (Parametername): Wird automatisch mit language benannt, da er als Sprache erkannt wird.
  • Entity (Entität): Wird als Systementität @sys.language erkannt.
  • Value (Wert): Die Kennzeichnung, die verwendet wird, wenn auf den Wert dieses Parameters verwiesen wird.
  • Is List (Ist Liste): Nicht ausgewählt, daher ist dieser Parameter keine Liste.

Parameterdaten in einer Antwort verwenden

Sie können den Wert eines Parameters in Ihren Antworten verwenden. Sie haben beispielsweise beim Erstellen eines Agents die Möglichkeit, den Parameterverweis $language in Ihren Antworten anzuwenden. Zur Laufzeit wird er dann durch die im Endnutzerausdruck angegebene Sprache ersetzt.

Fügen Sie eine Antwort hinzu, die einen Parameter verwendet:

  1. Wechseln Sie zum Abschnitt Responses (Antworten).
  2. Fügen Sie im Abschnitt Text Response (Antworttext) Folgendes hinzu: Wow! I didn't know you knew $language.
  3. Klicken Sie auf Save und warten Sie, bis im Dialog Agent Training angezeigt wird, dass das Training abgeschlossen ist.

Parameter testen

Screenshot: Simulator

Geben Sie im Simulator I know Russian ein. Sie sehen, dass Dialogflow den Parameter language korrekt mit dem Wert Russian extrahiert und in der Antwort Russian korrekt an der Stelle einfügt, an der zuvor der Parameterverweis verwendet wurde.

Eigene Entitäten erstellen

In den meisten Fällen müssen Sie bestimmte Informationen von Nutzern erfassen, die nicht von Systementitäten bereitgestellt werden. Hierfür können Sie benutzerdefinierte Entitäten erstellen.

Erstellen Sie eine benutzerdefinierte Entität:

  1. Klicken Sie in der Seitenleiste neben Entities (Entitäten) auf die Schaltfläche zum Hinzufügen einer Entität .
  2. Geben Sie für den Namen der Entität language-programming ein.
  3. Fügen Sie die folgenden Entitätseinträge (Zeilen) hinzu:

    Referenzwert Synonyme
    JavaScript JavaScript, js, ECMAScript
    Java Java
    Python Python, py
  4. Klicken Sie auf Save und warten Sie, bis im Dialog Agent Training angezeigt wird, dass das Training abgeschlossen ist.

Screenshot zur Verwendung der Entität

Dialogflow kann einfache Fälle wie Pluralbildung und Großschreibung verarbeiten. Fügen Sie alle möglichen Synonyme für Ihre Einträge hinzu. Je mehr Synonyme Sie hinzufügen, desto besser kann der Agent die Entitäten identifizieren.

Neue Entität verwenden

Fügen Sie dem Intent set-language Trainingsformulierungen hinzu, die die neue Entität verwenden:

  1. Klicken Sie in der Seitenleiste auf Intents.
  2. Klicken Sie auf den Intent set-language.
  3. Fügen Sie die folgenden Trainingsformulierungen hinzu:
    • I know javascript
    • I know how to code in Java
  4. Beachten Sie, dass die Programmiersprachen in diesen Trainingsformulierungen automatisch annotiert und den Parametern im Abschnitt Action and Parameters (Aktion und Parameter) hinzugefügt werden.
  5. Fügen Sie im Abschnitt Responses (Antworten) die folgende zweite Textantwort hinzu: $language-programming is an excellent programming language.
  6. Klicken Sie auf Save und warten Sie, bis im Dialog Agent Training angezeigt wird, dass das Training abgeschlossen ist.

Neue Entität testen

Screenshot: Simulator

Geben Sie im Simulator I know how to code in py ein. Dialogflow extrahiert py korrekt für den Parameter language-programming, identifiziert ihn als Python-Entität und fügt den Wert in die Antwort ein.

Kontexte

Zur Steuerung des Ablaufs einer Unterhaltung können Sie auch zusätzlichen Kontext nutzen. Kontexte.

Follow-up-Intent hinzufügen

Follow-up-Intents ermöglichen Ihnen die Steuerung von Unterhaltungen, ohne Kontexte manuell erstellen und verwalten zu müssen.

Beim Erstellen eines Follow-up-Intents wird dem übergeordneten Intent ein Ausgabekontext und dem untergeordneten Intent ein Eingabekontext mit dem gleichen Namen hinzugefügt. Das bedeutet, dass der Follow-up-Intent nur dann zugeordnet wird, wenn der übergeordnete Intent in der vorherigen Unterhaltung zugeordnet wurde.

Fügen Sie dem Intent set-language einen benutzerdefinierten Follow-up-Intent hinzu:

  1. Wählen Sie den Intent set-language aus, den Sie in den vorherigen Schritten erstellt haben.
  2. Aktualisieren Sie im Abschnitt Response die Textantwort:
    • Wow! I didn't know you knew $language. How long have you known $language?
  3. Klicken Sie auf Save und warten Sie, bis im Dialog Agent Training angezeigt wird, dass das Training abgeschlossen ist.
  4. Klicken Sie in der Seitenleiste auf Intents.
  5. Bewegen Sie den Mauszeiger auf den Intent set-language und klicken Sie auf Add follow-up intent (Follow-up-Intent hinzufügen).
  6. Klicken Sie in der Liste auf Custom (Benutzerdefiniert).
  7. Klicken Sie auf Save und warten Sie, bis im Dialog Agent Training angezeigt wird, dass das Training abgeschlossen ist.

Dialogflow benennt den Follow-up-Intent automatisch mit set-language - custom.

Screenshot: Follow-up

Intent-Abgleich mit Follow-up-Intents

Follow-up-Intents werden erst zugeordnet, nachdem der übergeordnete Intent zugeordnet wurde. Da der set-language - custom Intent erst nach dem set-language Intent zugeordnet wird, wurde der Nutzer gerade gefragt: „How long have you known $language?“ Fügen Sie Trainingsformulierungen für wahrscheinliche Nutzerantworten auf diese Frage hinzu:

  1. Klicken Sie in der Seitenleiste auf Intents.
  2. Klicken Sie auf den Intent set-language - custom.
  3. Fügen Sie die folgenden Trainingsformulierungen hinzu:
    • 3 years
    • about 4 days
    • for 5 years
  4. Klicken Sie auf Save und warten Sie, bis im Dialog Agent Training angezeigt wird, dass das Training abgeschlossen ist.

Follow-up-Intent testen

Geben Sie im Simulator I know French ein und beantworten Sie dann die Frage How long have you known French mit about 2 weeks.

Obwohl es keine Antwort für den zweiten Ausdruck (about 2 weeks) gibt, sehen Sie, dass der Ausdruck dem richtigen Intent zugeordnet (set-language - custom) und der Parameter „duration“ (Dauer) korrekt geparst wird (2 weeks).

Intents und Kontexte

Prüfen Sie, ob beim Intent set-language als Ausgabekontext set-language-followup mit vorangestellter Zahl 2 aufgeführt ist. Diese Zahl wird als die Lebensdauer bezeichnet.

Screenshot: Ausgabekontext

Nachdem der set-language Intent zugeordnet wurde, ist der set-language-followup Kontext aktiv und für zwei Unterhaltungsrunden mit der Unterhaltung verknüpft (Lebensdauer 2). Wenn Sie also auf eine Frage wie How long have you known $language? antworten, ist der Kontext set-language-followup aktiv.

Prüfen Sie, ob beim set-language - custom Intent set-language-followup als Eingabekontext aufgeführt ist. Dies entspricht dem Ausgabekontext für den set-language Intent.

Intents mit einem Eingabekontext, der mit einem aktiven Kontext übereinstimmt, werden bei der Zuordnung von Intents in Dialogflow bevorzugt.

Kontexte und Parameter

Kontexte speichern Parameterwerte. Sie können auf die Werte von Parametern zugreifen, die im Intent set-language definiert sind, wenn dessen Ausgabekontext aktiv ist. Im Intent set-language - custom haben Sie nur nach der Dauer gefragt, seit der Nutzer die Sprache kennt, und nicht nach der Sprache selbst.

So verweisen Sie in der Antwort auf die Sprache:

  1. Aktualisieren Sie die set-language - custom-Intent-Textantwort auf I can't believe you've known #set-language-followup.language for $duration!
  2. Klicken Sie auf Save und warten Sie, bis im Dialog Agent Training angezeigt wird, dass das Training abgeschlossen ist.

Der Verweis #set-language-followup.language ist ein Parameterverweis für einen aktiven Kontext.

Kontextparameter testen

Geben Sie im Simulator I know French ein und antworten Sie dann auf die Frage mit 1 week. Beachten Sie, dass dabei der Parameterwert language aus dem Kontext abgerufen wird.

Produktion

Bevor Sie den Agent in der Produktion ausführen, sollten Sie die Best Practices für die Produktion implementieren.

Nächste Schritte

Kurzanleitung zu Fulfillment ansehen