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, sodass er in einer Szene verarbeitet werden kann.
Innerhalb 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. gesuchten Wort, 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 z. B. ein Nutzer
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ändigerDateTime
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 einDateTime
-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 Derday
-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.