Ein Unterhaltungsmodell definiert, was Nutzer zu deinen Aktionen sagen können und wie deine Aktionen reagieren auf Nutzer. Die Hauptbausteine Ihres Unterhaltungsmodells sind Intents, types, scenes und Aufforderungen. Nachdem eine Ihrer Aktionen aufgerufen wurde, übergibt den Nutzer an diese Aktion und die Aktion beginnt ein Gespräch mit dem basierend auf Ihrem Unterhaltungsmodell, das aus Folgendem besteht:
Gültige Nutzeranfragen – Um festzulegen, was Nutzer zu deinen Aktionen sagen können, eine Sammlung von Intents erstellen, die die Assistant NLU ergänzen, damit sie Anfragen zu verstehen, die sich speziell auf deine Aktionen beziehen. Jeder Intent definiert Trainingsformulierungen, die beschreiben, was Nutzende für den Abgleich mit diesem Intent sagen können. Die Assistant NLU erweitert diese Trainingsformulierungen um ähnliche Formulierungen und Die Aggregation dieser Wortgruppen führt zum Sprachmodell des Intents.
Aktionslogik und Antworten: In diesen Szenen werden Intents verarbeitet, die erforderliche Logik ausgeführt und Aufforderungen generiert, die an den Nutzer zurückgegeben werden.
Gültige Nutzeranfragen definieren
Du kannst eine Kombination aus Intents verwenden, um festzulegen, was Nutzer zu deinen Aktionen sagen können und Typen. Mithilfe von Nutzer-Intents und -typen können Sie Assistant NLU mit Ihren Sprachmodellen arbeiten. Mit System-Intents und -typen können Sie Language Models und Ereigniserkennung wie Nutzende, die Ihre Aktion beenden Assistant erkennt keine Eingabe.
Nutzer-Intents erstellen
Mit Nutzer-Intents können Sie eigene Trainingsformulierungen definieren, die definieren, zu euren Aktionen sagen könnte. Assistant NLU verwendet diese Sätze, um sich selbst zu trainieren um zu verstehen, was die Nutzenden sagen. Wenn Nutzende etwas sagen, das mit einer dem Sprachmodell des Nutzer-Intents zu, ordnet Assistant den Intent zu und benachrichtigt Aktion ausführen, damit du die Logik ausführen und auf Nutzende antworten kannst.
![](https://developers.google.cn/static/assistant/console/images/builder/new-intent.png?authuser=6&hl=de)
So erstellen Sie einen Nutzer-Intent:
- Klicken Sie auf dem Tab Develop auf User Intents > ⊕ (New Intent) Geben Sie einen Namen ein und drücken Sie die Eingabetaste, um den Intent zu erstellen.
- Klicken Sie im linken Menü auf den neu erstellten Intent. Den Intent-Editor angezeigt wird.
- Fügen Sie dem Intent Trainingsformulierungen hinzu. Sie sollten so viele Trainingsformulierungen um Assistant NLU zu trainieren.
- Optional: Annotieren Sie Trainingsformulierungen, um die Assistant-NLU anzuweisen, das Parsen durchzuführen
und extrahiert typisierte Parameter aus Nutzereingaben, die einem bestimmten Typ entsprechen:
- Geben Sie in das Feld Neuen Parameter hinzufügen einen Namen für den Parameter ein.
- Wählen Sie im Drop-down-Menü einen Systemtyp aus oder erstellen Sie einen benutzerdefinierten Typ.
- Geben Sie an, ob der Parameter eine Liste ist. Dadurch kann der Parameter Daten erfassen, mehrere Werte desselben Typs.
- Markieren Sie im Abschnitt Trainingsformulierungen hinzufügen den Text, den Sie hinzufügen möchten. auf den der Typ angewendet wird. Dadurch wird Assistant NLU angewiesen, die hervorgehobenen text als Parameter verwendet werden. Wenn Nutzende etwas sagen, das dem Typ entspricht, wird der NLU extrahiert diesen Wert als Parameter.
System-Intents erstellen
Mit System-Intents können Sie Intents mit vordefinierter Sprache nutzen für häufige Ereignisse wie Nutzende, die Ihre Aktion beenden wollen, oder wenn eine Zeitüberschreitung der Eingabe. So erstellen Sie System-Intents:
- Klicken Sie auf dem Tab Develop auf System Intents. Eine Reihe von System-Intents wie NO_MATCH, NO_INPUT und CANCEL.
- Jeder System-Intent enthält eigene Handler, die Sie anpassen können jede Art von System-Intent. Mit System-Intents können Sie z. B. Webhook-Ereignisse einrichten und beim Eintreten des Ereignisses statische Aufforderungen senden.
Benutzerdefinierte Typen erstellen
Mit benutzerdefinierten Typen können Sie Ihre eigene Typspezifikation erstellen, um die NLU zu trainieren eine Reihe von Werten verstehen, die einem einzelnen Schlüssel zugeordnet werden sollen.
![](https://developers.google.cn/static/assistant/console/images/builder/type-options.png?authuser=6&hl=de)
So erstellen Sie einen benutzerdefinierten Typ:
- Klicken Sie auf dem Tab Develop auf Typen > ⊕ (Neuer Typ).
Wählen Sie in der Spalte Welche Art von Werten zu erhalten:
- 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: Einträge mit mehr als einem Wort sind erlaubt. auch wenn die Wörter in einer anderen Reihenfolge gesprochen werden.
- Unbekannte Werte akzeptieren: Wenn Sie nicht alle möglichen Werte angeben können, akzeptiert sie unbekannte Wörter oder Wortgruppen je nach Eingabe in der jeweiligen Umgebung Intent-Trainingsdaten, z. B. Artikel, die einem Lebensmittel hinzugefügt werden könnten Liste.
- Reguläre Ausdrücke ermöglichen den Abgleich des Typs mit Mustern regulärer Ausdrücke basierend auf dem RE2-Standard von Google.
- Bei Freier Text kann der Typ mit allem übereinstimmen, was der Nutzer sagt.
- 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">
Geben Sie im Bereich Einträge hinzufügen Typwerte an. Wenn Sie Freies Format Text eingeben, stimmt Ihr Typ mit beliebigem Text überein, sodass Sie keine Einträge machen müssen.
Aktionslogik und Antworten erstellen
Die Assistant-NLU ordnet Nutzeranfragen Intents zu, damit deine Aktion zu verarbeiten. Szenen sind leistungsstarke Logik-Executors, Ereignisse während eines Gesprächs zu verarbeiten.
![](https://developers.google.cn/static/assistant/conversational/images/scene.png?authuser=6&hl=de)
Szene erstellen
In den folgenden Abschnitten wird beschrieben, wie Sie Szenen erstellen und Funktionen definieren. für die Lebenszyklusphase jeder Szene.
So erstellen Sie eine Szene:
- Klicken Sie auf dem Tab Develop auf Szenen > &CirclePlus; (Neue Szene), einen Namen ein und drücken Sie die Eingabetaste, um eine Szene zu erstellen.
- Klicken Sie im linken Menü auf die neu erstellte Szene. Den Szeneneditor angezeigt wird.
Einmalige Einrichtung definieren
Wenn eine Szene zum ersten Mal aktiv wird, können Sie einmalige Aufgaben in der Beim Einstieg Die Phase Beim Einstieg wird nur einmal ausgeführt. Sie ist die einzige die nicht in der Ausführungsschleife einer Szene läuft.
Klicken Sie in einer Szene auf den Anzeigebereich Beim Starten, um seine Funktion festzulegen. In dieser Phase können Sie die folgenden Funktionen festlegen:
- Webhook aufrufen: Löst einen Webhook aus. Weitere Informationen finden Sie unter Webhooks. finden Sie in der Dokumentation weitere Informationen zu Webhooks.
- Prompts senden: Geben Sie statische Aufforderungen an den Nutzer an, damit dieser weiß, wie er sie ausführen kann. können Sie das Gespräch fortsetzen. Weitere Informationen finden Sie in der Prompts-Dokumentation. .
Abbildung 4. Beispiel für eine Szene beim Einsteigen in die Bühne
Bedingungen prüfen
Mit Bedingungen können Sie Slot-Füllung, Sitzungsspeicher, Nutzerspeicher Home-Speicherparameter zur Steuerung des Ablaufs für die Szenenausführung.
Klicken Sie in einer Szene auf das Symbol + für die Phase Bedingung. Die Der Bedingungseditor wird rechts angezeigt. Sie können Folgendes angeben: Funktionalität in dieser Phase:
- Bedingung: Geben Sie die tatsächliche bedingte Anweisung an, die als Basis für die Logik dient. von. Informationen zur Syntax finden Sie in der Dokumentation zu Bedingungen. Informationen.
- Webhook aufrufen: Löst einen Webhook aus. Weitere Informationen finden Sie unter Webhooks. finden Sie in der Dokumentation weitere Informationen zu Webhooks.
- Send requests (Aufforderungen senden): Gibt statische Aufforderungen an, die an den Nutzer gesendet werden wie Sie das Gespräch fortsetzen können. Siehe Aufforderungen Dokumentation finden Sie weitere Informationen zum Angeben von Prompts.
- Transition (Übergang): Gibt die Szene an, in die gewechselt werden soll, wenn die Bedingung wahr ist.
![](https://developers.google.cn/static/assistant/conversational/images/scene-condition.png?authuser=6&hl=de)
Slot-Füllung definieren
Mit Slots können Sie typisierte Parameter aus Nutzereingaben extrahieren.
Klicken Sie im Szeneneditor auf das +-Symbol für den Bereich Slot-Füllung. Die für die Anzeigenfläche erscheint auf der rechten Seite. Sie können Folgendes angeben: Eigenschaften einer Anzeigenfläche:
- Slot-Name:Gibt den Namen des Slots an. Wenn Sie die Vorteile Slot-Wertzuordnung haben, verwenden Sie denselben Namen wie für die zugehörigen Intent-Parameter.
- Slot-Typ:Gibt den Typ der Anzeigenfläche entweder mit einem oder benutzerdefinierten Typ.
- Dieser Slot ist erforderlich:Mit dieser Option wird dieser Slot als erforderlich gekennzeichnet. Wenn aktiviert, Slot wird die Füllung erst abgeschlossen, wenn diese Anzeigenfläche gefüllt ist.
- Dieser Anzeigenfläche Standardwert zuweisen: Gibt einen Standardwert für die Anzeigenfläche an. der aus dem angegebenen Sitzungsparameter gelesen wird.
- Anpassung des Slot-Wert-Schreibvorgangs:Gibt einen beibehaltenen Sitzungsparameter an. nachdem die Slot-Füllung abgeschlossen ist.
- Slotvalidierung:Ein Webhook wird ausgelöst, wenn eine Anzeigenfläche gefüllt wird. Diese Einstellung gilt für alle Anzeigenflächen.
- Webhook aufrufen (aktiviert, wenn der Slot erforderlich ist): Löst einen Webhook aus. Weitere Informationen finden Sie in der Webhook-Dokumentation. Webhooks.
- Send requests (Aufforderungen senden; aktiviert, wenn der Slot erforderlich ist): Gibt statische Aufforderungen an die Sie an den Nutzer senden, damit er weiß, wie er mit der Unterhaltung fortfahren soll. Weitere Informationen finden Sie unter finden Sie in der prompts-Dokumentation Aufforderungen.
Für bestimmte Arten von Anzeigenflächen (z. B. für Transaktionen oder Nutzerinteraktionen) wird ein zusätzlicher Bereich angezeigt, in dem Sie den Slot konfigurieren können. Bereich Konfigurationen können den Konversationsmodus für Nutzer je nach Eigenschaften, die Sie zur Verfügung stellen.
Wenn Sie eine Anzeigenfläche konfigurieren möchten, geben Sie Attribute in einem JSON-Objekt entweder in Ihrem
Auftragsausführung (auf die als Sitzungsparameter verwiesen wird) oder im JSON-Inline-Editor.
Die verfügbaren Eigenschaften für jeden Slottyp finden Sie in der
Actions Builder-JSON-Referenz Beispiel: actions.type.DeliveryAddressValue
Slottyp entspricht dem Referenzinhalt für die
DeliveryAddressValue
Slot.
![](https://developers.google.cn/static/assistant/conversational/images/scene-slot.png?authuser=6&hl=de)
Slot-Wertzuordnung
In vielen Fällen kann ein vorheriger Intent-Abgleich Parameter enthalten, die teilweise oder die Slotwerte einer Szene vollständig füllen. In diesen Fällen werden alle Anzeigenflächen durch Intent-Parameter ausgefüllte Slot-Füllung zuordnen, mit dem Namen des Intent-Parameters übereinstimmt.
Stimmt ein Nutzer beispielsweise mit der Absicht überein, ein Getränk zu bestellen, indem er sagt: "Ich möchte einen großen Vanillekaffee zu bestellen“, gibt es Anzeigenflächen für Größe, Geschmack und Getränk. werden in der entsprechenden Szene als ausgefüllt betrachtet, wenn in dieser Szene dasselbe Slots.
Eingabe verarbeiten
Während dieser Phase können Sie über Assistant NLU die Nutzereingaben den Intents zuordnen. Sie können den Intent-Abgleich auf eine bestimmte Szene beschränken, indem Sie die gewünschten Intents hinzufügen zur Szene hinzufügen. So kannst du den Ablauf der Unterhaltung steuern, indem du Assistant angibst um bestimmte Intents zuzuordnen, wenn bestimmte Szenen aktiv sind.
Klicken Sie in einer Szene auf das Symbol + für das Feld User-Intent-Verarbeitung oder Phase System-Intent-Verarbeitung: Der Editor für den Intent-Handler wird angezeigt. auf der rechten Seite. Sie können folgende Funktionalität des Intents festlegen: Handler:
- Intent: Gibt den Intent an, den Sie in dieser Szene abgleichen möchten.
- Webhook aufrufen: Löst einen Webhook aus. Weitere Informationen finden Sie unter Webhooks. Dokumentation finden Sie weitere Informationen zum Verarbeiten einer Webhook-Anfrage.
- Prompts senden: Geben Sie statische Aufforderungen an Nutzer an, damit diese wissen, wie sie antworten. Weitere Informationen zu Prompts finden Sie in der Dokumentation zu Prompts festlegen.
- Übergang (falls zutreffend): Gibt die Szene an, in die gewechselt werden soll, wenn der angegebene Intent übereinstimmt.
![](https://developers.google.cn/static/assistant/conversational/images/scene-customintent.png?authuser=6&hl=de)
![](https://developers.google.cn/static/assistant/conversational/images/scene-systemintent.png?authuser=6&hl=de)