Konversationsaktionen werden am 13. Juni 2023 eingestellt. Weitere Informationen finden Sie unter Einstellung von Konversationsaktionen.

Typen

Mit Typen können Sie die Assistant NLU-Engine (Natural Language Understanding) so konfigurieren, dass strukturierte Daten aus Nutzereingaben extrahiert werden. Sie können Typen in den folgenden Situationen verwenden:

  • In Intents können Sie Trainingsformulierungen mit Typen annotieren, um Slots zu erstellen. Wenn Nutzer etwas sagen, das mit einem Slot übereinstimmt, extrahiert die NLU-Engine ihn als typisierten Parameter, damit Sie ihn in einer Szene verarbeiten können.

  • In der Phasenfüllung einer Szene können Sie mehrere Slots angeben, die der Nutzer bereitstellen soll, bevor er umsteigen oder die Szene verlassen kann.

  • In der Bedingung einer Szene können Sie darauf basiert, ob ein Parameter einen bestimmten Wert enthält, der in einem Typ definiert ist.

Benutzerdefinierte Typen

Mit benutzerdefinierten Typen können Sie eine eigene Typspezifikation erstellen, um die NLU darüber zu informieren, dass einem einzelnen Schlüssel eine Gruppe von Werten zugewiesen wird. Sie können Typen auf verschiedene Arten angeben:

  • Mit Wörtern und Synonymen können Sie einem einzelnen Schlüssel mehrere Werte zuordnen. Diese werden als Eintrag bezeichnet. Der Typ kann einen oder mehrere Einträge enthalten. Wenn Sie diese Option auswählen, können Sie auch die folgenden NLU-Einstellungen aktivieren:
    • Ungenaue Übereinstimmung aktivieren: Mit dieser Funktion können Einträge mit mehr als einem Wort abgeglichen werden, auch wenn die Wörter in einer anderen Reihenfolge gesprochen werden.
    • Unbekannte Werte akzeptieren: Wenn Sie nicht alle möglichen Werte angeben können, kann der Sprachprozessor unbekannte Wörter oder Wortgruppen auf der Grundlage von umgebenden Eingabe- und Intent-Trainingsdaten akzeptieren, z. B. Artikel, die einer Einkaufsliste hinzugefügt werden können.
  • Mit regulären Ausdrücken kann der Typ Werte anhand von regulären Ausdrucksmustern auf Basis des RE2-Standards von Google abgleichen.
  • Bei Freier Text passt sich der Typ an das, was ein Nutzer sagt. Wenn Sie einen Intent mit diesem Typ annotieren, können Sie alle Eingaben als Parameter verarbeiten, den Sie an Ihre eigene NLU weiterleiten können.

Systemtypen

Mit Systemtypen können Sie bekannte Daten mit vom System bereitgestellten Trainingsdaten und Werten annotieren und extrahieren. Die folgenden Systemtypen werden unterstützt:

Typ Beschreibung
actions.type.DateTime Enthält Datum, Uhrzeit und Zeitzone gemäß den Geräteeinstellungen des Nutzers. Verfügbar für die Annotation von Slot-Füllungen und Trainingswortgruppen.
actions.type.Date Enthält nur das Datum. Nur für Slot-Füllung verfügbar.
actions.type.Time Enthält nur Zeit. Nur für Slot-Füllung verfügbar.
actions.type.Number Der Typ Number stimmt mit den Ordinal- und Kardinalzahlen überein.

Nutzung von DateTime, Date und Time

Diese Typen verhalten sich unterschiedlich, je nachdem, wo Sie den Typ und die Nutzereingabe verwenden, die dem Typ entspricht.

Mit Intents verwenden

Das Annotieren von Trainingswortgruppen in Intents unterstützt nur den Typ DateTime. Die Nutzereingabe muss nicht mit einem ganzen DateTime-Wert übereinstimmen. Wenn ein Nutzer beispielsweise nur das Jahr angibt, könnte der Sitzungsparameter so aussehen:

"date_time": {
  "year": 2019
}

Wird mit Slot-Füllung verwendet

Slot-Füllung unterstützt DateTime, Date und Time.

  • Wenn der Slottyp DateTime ist, fordert Assistant den Nutzer auf, bis ein vollständiger Wert angegeben ist.
  • Wenn der Slottyp Date ist, fordert Assistant den Nutzer auf, bis ein Datumswert angegeben ist. Der Parameter, den Sie erhalten, ist ein ganzer DateTime mit der Zeit 00:00.
  • Wenn der Slottyp Time ist, fordert Assistant den Nutzer auf, bis ein Zeitwert angegeben wird. Bei deren Erfassung ist der Parameter, den du erhältst, ein vollständiges DateTime-Objekt, bei dem das Datum auf das aktuelle Datum eingestellt ist.

Beispiel: Ein Nutzer in Los Angeles hat gesagt: „Hey Google, erstelle eine Erinnerung für den 15. Januar 2024 um 20:00 Uhr.“ Wenn DateTime durch einen Slot-Füllvorgang extrahiert wird, könnte der vollständige Parameter so aussehen:

"date_time": {
  "day": 15,
  "hours": 20,
  "minutes": 0,
  "month": 1,
  "nanos": 0,
  "seconds": 0,
  "time_zone": {
    "id": "America/Los_Angeles"
  },
  "year": 2024
}

Mit Bedingungen verwenden

In Bedingungen können nur Zahlen und Strings verwendet werden. Wenn Sie den Parameter DateTime auf oberster Ebene verwenden, wird für die Bedingung also ein False-Ergebnis angezeigt. Beispiel:

  • $session.params.my_dateTime.day > 5 ist eine gültige Bedingung, da der Wert day eine Zahl ist und unterstützt wird.
  • $session.params.my_dateTime > "01-01-2010" ist eine ungültige Bedingung, da das „DateTime“-Objekt der obersten Ebene keine Zahl oder ein String ist.

Überschreibungen des Laufzeittyps

Mit Laufzeittyp-Überschreibungen können Sie Typen in der Auftragsausführung dynamisch erstellen oder ändern. Mit diesem Feature können Sie die Spezifikation eines Typs während der Laufzeit ergänzen oder ersetzen. Sie können beispielsweise in einer Back-End-Datenquelle festlegen, dass tägliche Menüelemente in einen Typ in der Auftragsausführung geladen werden.

Weitere Informationen zum Erstellen von Typüberschreibungen finden Sie im Leitfaden zu Webhooks.