Typen

Mit Typen können Sie Assistant NLU (Natural Language Understanding) konfigurieren um strukturierte Daten aus Nutzereingaben zu extrahieren. Ich können Typen in den folgenden Situationen verwenden:

  • In intents können Sie Trainingsformulierungen mit Typen annotieren, Anzeigenflächen erstellen. Wenn Nutzer etwas sagen, das mit einem Slot übereinstimmt, zeigt die NLU-Engine extrahiert ihn als typisierten Parameter, damit er in einer Szene verarbeitet werden kann.

  • In der Phase Slot-Füllung einer Szene können Sie durch die der Nutzer bereitstellen soll, bevor er oder verlassen die Szene.

  • Innerhalb der Phase conditions einer Szene können Sie Logik, ob ein Parameter einen bestimmten Wert hat, der in einem Typ definiert ist.

Benutzerdefinierte Typen

Mit benutzerdefinierten Typen können Sie Ihre eigene Typspezifikation erstellen, um die NLU zu benachrichtigen, einem einzelnen Schlüssel eine Gruppe von Werten zuzuweisen. Sie können Typen in einer Vielzahl von Möglichkeiten:

  • Mit Wörtern und Synonymen können Sie mehrere Werte einem einzigen Schlüssel zuordnen. die als Eintrag bezeichnet werden. Ihr Typ kann einen oder mehrere Einträge enthalten. Wenn Sie Wenn Sie diese Option auswählen, können Sie auch die folgenden NLU-Einstellungen aktivieren: <ph type="x-smartling-placeholder">
      </ph>
    • Ungenaue Übereinstimmung aktivieren: Mit dieser Funktion sind Einträge mit mehr als einem zulässig. Wort, das abgeglichen werden soll, auch wenn die Wörter in einer anderen Reihenfolge gesprochen werden.
    • Unbekannte Werte akzeptieren: Wenn Sie nicht alle möglichen Werte angeben können, Der Sprachprozessor kann unbekannte Wörter oder Wortgruppen akzeptieren, die sich auf die Umgebung beziehen Eingabe- und Intent-Trainingsdaten, z. B. Artikel, die einem Lebensmittel hinzugefügt werden könnten Liste.
  • Reguläre Ausdrücke ermöglichen es dem Typ, Werte mithilfe von regulären Ausdrücken Ausdrucksmustern basierend auf RE2-Standard von Google.
  • Mit Freier Text wird der Typ was Nutzende sagen. Anmerkungen Mit einem Intent mit diesem Typ können Sie die gesamte Eingabe als Parameter nutzen, eine Pipe an Ihre eigene NLU.

Systemtypen

Mit Systemtypen können Sie bekannte Daten mit Anmerkungen versehen und aus Nutzereingaben extrahieren mit vom System bereitgestellten Trainingsdaten und Werten. Die folgenden Systemtypen sind unterstützt:

Typ Beschreibung
actions.type.DateTime Enthält Datum, Uhrzeit und Zeitzone basierend auf den Geräteeinstellungen des Nutzers. Verfügbar für die Slot-Füllung und die Annotation von Trainingsformulierungen.
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 Ordinal- und Kardinalzahlen überein Zahlen.

Nutzung von DateTime, Date und Time

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

Mit Intents verwenden

Das Annotieren von Trainingsformulierungen in Intents unterstützt nur den Typ DateTime. Nutzer Die Eingabe muss nicht mit einem ganzen DateTime-Wert übereinstimmen. Wenn ein Nutzer z. B. nur das Jahr bereitstellt, kann der Sitzungsparameter wie folgt aussehen:

"date_time": {
  "year": 2019
}

Mit Slot-Füllung verwenden

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

  • Wenn der Slottyp DateTime ist, fordert Assistant den Nutzer auf, bis eine volle -Wert angegeben ist.
  • Wenn der Slottyp Date ist, fordert Assistant den Nutzer bis zu einem Datum auf -Wert angegeben ist. Der Parameter, den Sie erhalten, ist ein vollständiger DateTime mit einer Zeitangabe auf 00:00.
  • Wenn der Slottyp Time ist, wird der Nutzer von Assistant aufgefordert, -Wert angegeben ist. Bei der Erfassung ist der empfangene Parameter ein DateTime-Objekt, wobei das aktuelle Datum als Datum festgelegt ist

Angenommen, ein Nutzer in Hamburg sagt: „Hey Google, erstelle eine Erinnerung für den 15. Januar 2024 um 20 Uhr.“ Wenn DateTime als Teil eines Slots extrahiert wird kann der vollständige Parameter wie folgt aussehen:

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

Verwendung mit Bedingungen

Bedingungen lassen nur die Verwendung von Zahlen und Strings zu. Die Verwendung der obersten Ebene Der Parameter DateTime führt zu einem Ergebnis vom Typ False für die Bedingung. Beispiel:

  • $session.params.my_dateTime.day > 5 ist eine gültige Bedingung, da die Der day-Wert ist eine Zahl und wird unterstützt.
  • $session.params.my_dateTime > "01-01-2010" ist eine ungültige Bedingung, weil die oberste Ebene "DateTime". Objekt ist keine Zahl oder kein String.

Laufzeittypüberschreibungen

Mit Laufzeittypüberschreibungen können Sie Typen dynamisch in Auftragsausführung. Mit dieser Funktion können Sie die Spezifikation eines Typs unter Laufzeit. Sie können beispielsweise eine Back-End-Datenquelle prüfen, um das Menü des Tages zu laden. bei der Auftragsausführung in einen Typ umwandeln.

Weitere Informationen finden Sie im Webhook-Leitfaden. zum Erstellen von Typüberschreibungen.