Intents

Mit Sammlungen den Überblick behalten Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.

Ein Intent kategorisiert die Absicht eines Endnutzers für eine Unterhaltungsrunde. Im Vergleich zu ES-Intents wurden CX-Intents vereinfacht, um sie zu wiederverwendbareren Ressourcen zu machen.

Ein Intent enthält folgende Daten:

Begriff Definition
Trainingssätze Trainingsformulierungen sind Beispielformulierungen für das, was Endnutzer eingeben oder sagen könnten, sogenannte Endnutzereingaben. Wenn die Endnutzereingabe einer dieser Formulierungen ähnelt, ordnet Dialogflow den Intent zu. Sie müssen dabei nicht jede denkbare Formulierung angeben. Das integrierte maschinelle Lernen von Dialogflow erweitert Ihre Liste automatisch um ähnliche Äußerungen.
Parameter Sie definieren Ihre Trainingsformulierungen, um mithilfe von Parametern Werte aus bestimmten Teilen der Endnutzereingabe zu extrahieren.

Intent-Zuordnung

Wenn ein Endnutzer etwas schreibt oder sagt, was als "Endnutzereingabe" bezeichnet wird, vergleicht Dialogflow die Eingabe mit den Intent-Trainingsformulierungen, um die beste Übereinstimmung zu finden. Dieser Vorgang wird als Intent-Zuordnung bezeichnet. Die Intent-Zuordnung kann nur für Intents erfolgen, die mit einer Intent-Route (ein Zustands-Handler mit einer Intent-Anforderung) im Bereich verknüpft sind.

Bei der Suche nach einem übereinstimmenden Intent bewertet Dialogflow potenzielle Übereinstimmungen mit einer Intent-Erkennungskonfidenz, die auch als Konfidenzwert bezeichnet wird. Diese Werte reichen von 0,0 (vollständig unsicher) bis 1,0 (vollständig sicher). Wurden Intents bewertet, gibt es zwei mögliche Ergebnisse:

  • Wenn der Intent mit der höchsten Bewertung einen Konfidenzwert größer oder gleich der Einstellung für den Klassifizierungsschwellenwert aufweist, wird er als Übereinstimmung zurückgegeben.
  • Wenn keine Intents den Schwellenwert erreichen, wird ein No-Match-Ereignis aufgerufen.

Trainingssätze

Trainingsformulierungen sind Beispielformulierungen für das, was Endnutzer eingeben oder sagen könnten, sogenannte Endnutzereingaben. Für jeden Intent erstellen Sie viele Trainingsformulierungen. Wenn eine Endnutzereingabe einer dieser Formulierungen ähnelt, ordnet Dialogflow den Intent zu.

Die Trainingsformulierung "Ich möchte Pizza" trainiert Ihren Agent beispielsweise, Endnutzereingaben zu erkennen, die dieser Formulierung ähnlich sind, wie "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 (je nach Komplexität des Intents) mindestens 10–20 Trainingsformulierungen erstellen, damit Ihr Agent vielfältige Endnutzereingaben erkennen kann. Beispiel: Wenn Sie möchten, dass Ihr Intent die Eingabe eines Endnutzers zu seiner Lieblingsfarbe erkennt, können Sie folgende 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)

Trainingsformulierungen annotieren

Sie legen durch Annotieren von Teilen Ihrer Trainingsformulierungen und durch Konfigurieren der zugehörigen Parameter fest, wie Endnutzerdaten extrahiert werden.

Stellen Sie sich beispielsweise eine Trainingsformulierung wie "Wie ist die Wettervorhersage für morgen in Tokio?" vor. Sie sollten "morgen" mit einem date-Parameter und "Tokio" mit einem location-Parameter 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 eine Endnutzereingabe wie "Wie ist die Wettervorhersage für Sydney am Freitag?" 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.

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.

Bei der Erstellung eines Agents mit der API müssen Sie die Bestandteile der Trainingsformulierung manuell annotieren. Siehe den Typ TrainingPhrase, der vom Typ Intent verwendet wird.

Wählen Sie ein Protokoll und eine Version für die Intent-Referenz aus:

Protokoll V3 V3beta1
REST Intent-Ressource Intent-Ressource
RPC Intent-Schnittstelle Intent-Schnittstelle
C++ IntentsClient Nicht verfügbar
C# IntentsClient Nicht verfügbar
Einfach loslegen (Go) IntentsClient Nicht verfügbar
Java IntentsClient IntentsClient
Node.js IntentsClient IntentsClient
PHP Nicht verfügbar Nicht verfügbar
Python IntentsClient IntentsClient
Ruby Nicht verfügbar Nicht verfügbar

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. Dies geschieht, wenn Sie Text einer Trainingsformulierung annotieren, wobei der annotierte Text kein durch den ausgewählten Entitätstyp definierter Wert ist. Der annotierte Text wird zu einem Entitätsreferenzwert für den implizit hinzugefügten Entitätseintrag. Wenn der Entitätstyp eine Kartenentität ist, wird der Text auch zu einem Synonym für den Entitätseintrag.

Standard-Begrüßungs-Intent

Wenn Sie einen Agent erstellen, wird automatisch ein Standard-Begrüßungs-Intent erstellt. Für einige Sprachen enthält der Intent einfache Trainingsformulierungen wie "Hi" oder "Hallo", die den anfänglichen Endnutzerausdrücken entsprechen sollen. Sie können diesen Intent nach Bedarf bearbeiten.

Bei Verwendung der API können Sie diesen Intent mit der folgenden Intent-ID referenzieren:

00000000-0000-0000-0000-000000000000

Standardmäßig auszuschließender Intent

Wenn Sie einen Agent erstellen, wird automatisch ein negativer Intent angelegt. Sie können diesem Intent Trainingsformulierungen hinzufügen, die als Negativbeispiele dienen. Es kann vorkommen, dass Eingaben von Endnutzern teilweise mit Trainingsformulierungen in normalen Intents übereinstimmen, es aber nicht erwünscht ist, dass diese Eingaben als Intent gewertet werden.

Beispielsweise kann ein Zimmerbuchungsservice eine Trainingsformulierung wie "Ich möchte ein Zimmer buchen" enthalten. Wenn der Endnutzer ein Buch über Räume kaufen möchte, sagt er vielleicht "Ich möchte ein Buch über Räume kaufen". Damit der Endnutzerausdruck nicht Ihrem Intent zugeordnet wird, können Sie die Formulierung als negatives Beispiel hinzufügen.

Fügen Sie außerdem mögliche Wortgruppen hinzu, die außerhalb des Zuständigkeitsbereich des Agents liegen, damit diese nicht mit einem Intent übereinstimmen. Vermeiden Sie jedoch eine sehr große Anzahl dieser Wortgruppen. Wenn Sie beispielsweise 10.000 standardmäßige auszuschließende Intent-Ausdrücke definieren, wirkt sich dies negativ auf den normalen Abgleich von Intents aus.

Sie sollten diese Wortgruppen regelmäßig prüfen, da sie möglicherweise für den Agent ursprünglich nicht berücksichtigt wurden, aber später zu Intents hinzugefügt wurden.

Der standardmäßige auszuschließende Intent hat Auswirkungen auf den gesamten Intent-Abgleich. Wortgruppen, die Sie ihr hinzufügen, können für einen Intent von Vorteil sein, für einen anderen aber Schaden. Beispielsweise können Sie dem standardmäßigen auszuschließenden Intent „&internationale Anrufe“ hinzufügen, um zu vermeiden, dass ein Intent für internationale Reisen abgeglichen wird. Dadurch wird jedoch auch verhindert, dass diese Wortgruppe mit einer internationalen Anrufabsicht übereinstimmt.

Bei Verwendung der API können Sie diesen Intent mit der folgenden Intent-ID referenzieren:

00000000-0000-0000-0000-000000000001

Intents abbrechen

Während einer Unterhaltung kann der Endnutzer das aktuelle Unterhaltungsthema abbrechen. Beispiel: Die aktuell aktive Seite fordert möglicherweise ein Datum für einen neuen Termin an, der Endnutzer hat sich jedoch gegen die Erstellung eines neuen Termins entschieden. Der Endnutzer sagt möglicherweise "Abbrechen" oder "Ich möchte keinen neuen Termin". Sie können in diesem Fall einen oder mehrere Intents abbrechen für Ihren Agent erstellen. Sie können diesen Abbruch-Intents einen beliebigen Namen geben. Der Name ist jedoch üblich, "cancel" in den Namen aufzunehmen. Sie sollten diese Abbruch-Intents mit Intent-Routen verknüpfen, die sich im relevanten Bereich an relevanten Punkten in der Unterhaltung befinden. Diese Intent-Routen sollten auf eine entsprechende Seite wechseln, um den Abbruch zu verwalten.

Die Trainingsformulierungen für Abbrechen-Intents sollten sowohl allgemeine als auch themenspezifische Versuche zum Abbrechen verarbeiten. Beispiel:

  • Abbrechen
  • Beenden
  • Nein, doch nicht
  • Abbrechen
  • Zurück
  • Zurück
  • Ich möchte keinen neuen Termin
  • Neuen Termin stornieren
  • Neuen Termin löschen

Intent erstellen

So erstellen Sie einen Intent:

Console

  1. Öffnen Sie die Dialogflow CX Console.
  2. Wählen Sie Ihr GCP-Projekt aus.
  3. Wählen Sie den Agent aus.
  4. Wählen Sie den Tab Verwalten.
  5. Klicken Sie auf Intents.
  6. Klicken Sie auf +Erstellen.
  7. Geben Sie Intent-Daten ein.
  8. Klicken Sie auf Speichern.

API

Siehe die Methode create für den Typ Intent.

Wählen Sie ein Protokoll und eine Version für die Intent-Referenz aus:

Protokoll V3 V3beta1
REST Intent-Ressource Intent-Ressource
RPC Intent-Schnittstelle Intent-Schnittstelle
C++ IntentsClient Nicht verfügbar
C# IntentsClient Nicht verfügbar
Einfach loslegen (Go) IntentsClient Nicht verfügbar
Java IntentsClient IntentsClient
Node.js IntentsClient IntentsClient
PHP Nicht verfügbar Nicht verfügbar
Python IntentsClient IntentsClient
Ruby Nicht verfügbar Nicht verfügbar

Intent löschen

So löschen Sie einen Intent:

Console

  1. Öffnen Sie die Dialogflow CX Console.
  2. Wählen Sie Ihr GCP-Projekt aus.
  3. Wählen Sie den Agent aus.
  4. Wählen Sie den Tab Verwalten.
  5. Klicken Sie auf Intents.
  6. Setzen Sie den Mauszeiger auf den Intent, den Sie löschen möchten.
  7. Klicken Sie auf die Schaltfläche Löschen .

API

Siehe die Methode delete für den Typ Intent.

Wählen Sie ein Protokoll und eine Version für die Intent-Referenz aus:

Protokoll V3 V3beta1
REST Intent-Ressource Intent-Ressource
RPC Intent-Schnittstelle Intent-Schnittstelle
C++ IntentsClient Nicht verfügbar
C# IntentsClient Nicht verfügbar
Einfach loslegen (Go) IntentsClient Nicht verfügbar
Java IntentsClient IntentsClient
Node.js IntentsClient IntentsClient
PHP Nicht verfügbar Nicht verfügbar
Python IntentsClient IntentsClient
Ruby Nicht verfügbar Nicht verfügbar

Auf Intent-Daten zugreifen

So greifen Sie auf Intent-Daten zu:

Console

  1. Öffnen Sie die Dialogflow CX Console.
  2. Wählen Sie Ihr GCP-Projekt aus.
  3. Wählen Sie den Agent aus.
  4. Wählen Sie den Tab Verwalten.
  5. Klicken Sie auf Intents.
  6. Klicken Sie auf den Intent, auf den Sie zugreifen möchten.
  7. Sehen Sie sich Intent-Daten an oder aktualisieren Sie sie.
  8. Klicken Sie auf Speichern, um die Änderungen zu speichern.

API

Siehe die Methoden get und patch/update für den Typ Intent.

Wählen Sie ein Protokoll und eine Version für die Intent-Referenz aus:

Protokoll V3 V3beta1
REST Intent-Ressource Intent-Ressource
RPC Intent-Schnittstelle Intent-Schnittstelle
C++ IntentsClient Nicht verfügbar
C# IntentsClient Nicht verfügbar
Einfach loslegen (Go) IntentsClient Nicht verfügbar
Java IntentsClient IntentsClient
Node.js IntentsClient IntentsClient
PHP Nicht verfügbar Nicht verfügbar
Python IntentsClient IntentsClient
Ruby Nicht verfügbar Nicht verfügbar

Bei der Gestaltung von Agents ist es manchmal nützlich, Intents entweder als Head-Intents oder zusätzliche Intents zu betrachten. Diese Begriffe sind lediglich konzeptionell und unterscheiden sie in Dialogflow nicht nativ.

Ein Head Intent dient als primärer Zweck für die Interaktion mit einem Agent. Ein ergänzender Intent identifiziert die nachfolgenden Fragen des Endnutzers, die sich auf den Head-Intent beziehen. Diese nachfolgenden Fragen können zusätzlichen Kontext für die Anforderungen des Endnutzers liefern oder Folgefragen sein, die dem Endnutzer helfen, etwas zu verstehen oder besser zu verstehen.

Ein Head-Intent ist in der Regel einer der ersten Intents, die in einer Unterhaltung abgeglichen werden. Weitere Endnutzerfragen entsprechen zusätzlichen Intents. Beispiel:

Dialog Erklärung
Endnutzer: Neues Smartphone aktivieren
Agent: Sehr gern. Wie lauten die letzten vier Ziffern der Telefonnummer, die Sie aktivieren möchten?
Übereinstimmung mit Kopfabsicht wird zugeordnet
Endnutzer: 1234
Agent: Möchten Sie Ihr Smartphone jetzt aktivieren?
Ein Parameter ist festgelegt
Endnutzer: Werden alle meine Nachrichten auf mein neues Smartphone übertragen?
Agent: ...
Zusätzlicher Intent wird zugeordnet