Trainingssätze

Trainingsformulierungen sind Beispielformulierungen für das, was Endnutzer eingeben oder sagen könnten. Diese Äußerungen werden auch als Endnutzerausdrücke bezeichnet. Für jeden Intent erstellen Sie viele Trainingsformulierungen. Wenn ein Endnutzerausdruck einer dieser Formulierungen ähnelt, ordnet Dialogflow den Intent zu.

Mit der Trainingsformulierung "Ich möchte Pizza" beispielsweise wird der Agent darauf trainiert, Endnutzerausdrücke zu erkennen, die dieser Wortgruppe ähneln, z. B. "Pizza bestellen" oder "Bestell Pizza".

Sie müssen dabei nicht jede denkbare Formulierung angeben. Das integrierte maschinelle Lernen von Dialogflow erweitert Ihre Liste automatisch um ähnliche Formulierungen. Sie sollten jedoch (je nach Komplexität des Intents) mindestens 10–20 Trainingsformulierungen erstellen, damit Ihr Agent vielfältige Endnutzerausdrücke erkennen kann. Wenn Sie beispielsweise möchten, dass Ihr Intent einen Endnutzerausdruck zu seiner Lieblingsfarbe erkennt, können Sie die folgenden Trainingsformulierungen definieren:

  • "I like red" (Ich mag Rot)
  • "My favorite color is yellow" (Meine Lieblingsfarbe ist Gelb)
  • "black" (Schwarz)
  • "Blue is my favorite" (Blau ist mein Favorit)

Wo finde ich diese Daten?

In der Regel erstellen Sie Agents mit der Dialogflow ES-Konsole (Dokumentation ansehen, Konsole öffnen). Die folgende Anleitung bezieht sich auf die Konsole. So greifen Sie auf die Daten zu den Trainingsformulierungen zu:

  1. Rufen Sie die Dialogflow ES-Konsole auf.
  2. Wählen Sie einen Agent aus.
  3. Wählen Sie im Menü der linken Seitenleiste Intents aus.
  4. Wählen Sie einen Intent aus.
  5. Scrollen Sie nach unten zum Abschnitt Training phrases (Trainingsformulierungen).

Wenn Sie statt der Konsole die API zur Erstellung eines Agents verwenden, finden Sie Informationen dazu in der Intent-Referenz. Die Bezeichnungen der API-Felder und der Felder in der Konsole sind weitgehend gleich. In der folgenden Anleitung werden alle wichtigen Unterschiede zwischen der Konsole und der API hervorgehoben.

Trainingsformulierungen hinzufügen

So fügen Sie einem Intent Trainingsformulierungen hinzu:

  1. Klicken Sie auf das Textfeld mit der Bezeichnung "Add user expression" (Nutzerausdruck hinzufügen).
  2. Geben Sie Ihre Trainingsformulierungen ein und drücken Sie nach jeder Eingabe die Taste Enter.

Trainingsformulierungen annotieren

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.

Bei der Erstellung eines Agents legen Sie durch Annotieren von Teilen der Trainingsformulierungen und durch Konfigurieren der zugehörigen Parameter fest, wie die Daten extrahiert werden.

Stellen Sie sich beispielsweise eine Trainingsformulierung wie "Wie ist die Wettervorhersage für morgen in Tokio?" vor. Sie sollten "morgen" mit einem Parameter date und "Tokio" mit einem Parameter location annotieren. Wenn Sie Teile einer Trainingsformulierung annotieren, erkennt Dialogflow, dass diese Teile nur Beispiele für tatsächliche Werte sind, die von Endnutzern zur Laufzeit bereitgestellt werden. Für einen Endnutzerausdruck wie "Wie ist die Wettervorhersage für Freitag in Sydney?" würde Dialogflow den Parameter date aus "Freitag" und den Parameter location aus "Sydney" extrahieren.

Bei der Erstellung eines Agents mit der Konsole werden die meisten Annotationen automatisch angelegt, wenn Sie Trainingsformulierungen hinzufügen, von denen Teile existierenden Entitätstypen zugeordnet werden können. Diese Teile werden in der Konsole markiert. Sie können diese Annotationen und Parameter nach Bedarf bearbeiten.

Screenshot zur Annotation von Trainingsformulierungen

So können Sie eine Trainingsformulierung manuell mit der Konsole annotieren:

  1. Wählen Sie den Teil der Trainingsformulierung aus, den Sie annotieren möchten.
  2. Wählen Sie den gewünschten Entitätstyp aus der Liste aus.
  3. In der Parametertabelle unten wird ein Parameter erstellt.
  4. Klicken Sie auf Save und warten Sie, bis im Dialog Agent Training angezeigt wird, dass das Training abgeschlossen ist.

Bei der Erstellung eines Agents mit der API müssen Sie manuell Trainingsformulierungen annotieren und Parameter konfigurieren. Informationen dazu finden Sie unter Typ TrainingPhrase und Typ Parameter in der Intent-Referenz. Im Feld Part.alias werden Annotationen zu Trainingsformulierungen mit bestimmten Parametern verknüpft.

Implizite Entitäten, die durch Trainingsformulierungen erstellt wurden

Die meisten benutzerdefinierten Entitäten werden explizit definiert, indem Entitätstypen erstellt und Entitätseinträge hinzugefügt werden. Benutzerdefinierte Entitäten können jedoch auch implizite Werte enthalten. Das passiert, wenn Sie Text einer Trainingsformulierung annotieren und der annotierte Text kein vom ausgewählten Entitätstyp definierter Wert ist. Der kommentierte Text wird zum Entitätsreferenzwert für den implizit hinzugefügten Entitätseintrag. Wenn der Entitätstyp eine Kartenentität ist, wird der Text auch zum Synonym für den Entitätseintrag.

Beispiel- und Vorlagenmodi

Jede Trainingsformulierung kann sich in einem von zwei Modi befinden:

  • Beispielmodus: Erkennbar durch links neben der Trainingsformulierung. Trainingsformulierungen im Beispielmodus sind in natürlicher Sprache verfasst und werden zur Parameterextraktion annotiert.
  • Vorlagenmodus: Erkennbar durch links neben der Trainingsformulierung. Trainingsformulierungen im Vorlagenmodus enthalten direkte Verweise auf Entitätstypen.