Intents

Intents stellen eine Aufgabe dar, die Assistant von deiner Aktion ausführen muss, z. B. eine Nutzereingabe, die verarbeitet werden muss, oder ein Systemereignis, das du verarbeiten musst. Sie verwenden Intents, um Ihre Aufruf- und Unterhaltungsmodelle zu erstellen. Wenn diese Ereignisse auftreten, ordnet die Assistant-Laufzeit ihn dem entsprechenden Intent zu und sendet den Intent zur Verarbeitung an Ihre Aktion. Es gibt zwei Haupttypen von Intents, die in der folgenden Liste beschrieben werden:

  • Mit Nutzer-Intents können Sie die Fähigkeit von Assistant erweitern, Nutzeranfragen zu verstehen, die für Ihre Marke und Ihre Dienste spezifisch sind. Sie definieren benutzerdefinierte Trainingsformulierungen innerhalb eines Intents, der wiederum das Sprachmodell eines Intents generiert. Dieses Sprachmodell ergänzt die Assistant-NLU und verbessert die Fähigkeit, noch mehr zu verstehen.

  • System-Intents haben Trainingsdaten oder andere nicht dialogorientierte Eingabesignale, die von Assistant definiert werden. Das bedeutet, dass Sie für diese Intents keine Trainingsformulierungen definieren müssen. Assistant ordnet diese Intents standardmäßig zu, z. B. bei bekannten Systemereignissen wie dem Hauptaufruf oder wenn Nutzer keine Eingabe bereitstellen.

Abbildung 1. Ein gängiges Szenario für den Intent-Abgleich. Ein Nutzer sagt etwas, das mit einem globalen Intent übereinstimmt. Die entsprechende Szene wird aktiviert und verbraucht schließlich mehr Nutzereingaben. Ein anderer Intent wird zugeordnet, der zu einer anderen Szene wechselt und diese aktiviert.

Nutzerabsichten

Wenn Sie Aktionen erstellen, erstellen Sie Nutzer-Intents, die Trainingsformulierungen enthalten, wodurch Assistant noch mehr versteht. Assistant verwendet Ihre Trainingsformulierungen, um seine NLU zu erweitern, wenn er Nutzeranfragen an Ihre Aktionen delegiert.

In diesem Fall vermittelt Assistant die Kommunikation zwischen dem Nutzer und Ihren Aktionen und ordnet die Nutzereingabe einem Intent mit einem übereinstimmenden Sprachmodell zu. Assistant benachrichtigt dann Ihre Aktionen über den zugeordneten Intent, sodass Sie ihn innerhalb einer Szene verarbeiten können.

Beim Erstellen von Nutzer-Intents geben Sie die folgenden Elemente an:

  • Eine globale Intent-Bezeichnung definiert, ob die Assistant-Laufzeit dem angegebenen Nutzer-Intent zum Zeitpunkt des Aufrufs und während einer Unterhaltung zuordnen kann. Standardmäßig kann Assistant Nutzer-Intents nur während einer Unterhaltung zuordnen. Nur Intents, die Sie als global markieren, kommen für den Deeplink-Aufruf infrage.

  • Trainingsformulierungen sind Beispiele dafür, was ein Nutzer sagen könnte, um dem Intent zu entsprechen. Die Assistant NLU-Engine (Natural Language Understanding) erweitert diese Trainingsformulierungen auf natürliche Weise, um andere, ähnliche Wortgruppen einzuschließen. Wenn Sie eine große Anzahl hochwertiger Beispiele angeben, erhöht sich die Qualität und Übereinstimmungsgenauigkeit des Intents.

  • Parameter sind typisierte Daten, die Sie aus Nutzereingaben extrahieren möchten. Zum Erstellen eines Parameters annotieren Sie Trainingsformulierungen mit types, um die NLU-Engine darüber zu informieren, dass Teile der Nutzereingabe extrahiert werden sollen. Sie können Systemtypen verwenden oder eigene benutzerdefinierte Typen für Parameter erstellen.

Wenn die NLU-Engine eine Parameterübereinstimmung in der Nutzereingabe erkennt, wird der Wert als typisierten Parameter extrahiert, damit Sie ihn in einer Szene logisch ausführen können. Wenn ein Intent-Parameter denselben Namen wie ein Szenenslot hat, füllt die Assistant-Laufzeit diesen Bereich automatisch mit dem Wert aus dem Intent-Parameter aus. Weitere Informationen finden Sie in der Dokumentation zur Slotwertzuordnung.

Intent-Parameter unterstützen auch „teilweise“ Übereinstimmungen. Wenn Sie beispielsweise den Typ DateTime angeben und der Nutzer nur ein Datum angibt, extrahiert die NLU trotzdem den Teilwert als Parameter.

Sie können Ihre eigene NLU verwenden, um alle Nutzereingaben für eine Aktion zu verarbeiten. Beispielsweise kann es sein, dass deine Aktion auf alle No-Match-Szenarien während einer Unterhaltung reagiert. Damit alle Nutzereingaben erfasst werden, erstellen Sie einen Intent mit dem Typ „Freier Text“. Sie sollten jedoch keine benutzerdefinierten Intents verwenden, um das standardmäßige Verhalten bei Nichtübereinstimmung von Assistant global zu überschreiben, da sich dies negativ auf die Fähigkeit von Nutzern auswirken kann, zwischen Aktionen zu wechseln.

Wenn Sie in der Actions Console einen benutzerdefinierten Intent erstellen, schlägt Actions Builder System-Intents vor, die dieselbe Rolle wie Ihr Nutzer-Intent übernehmen können. Weitere Informationen zu System-Intents finden Sie im folgenden Abschnitt.

System-Intents

Assistant ordnet System-Intents anhand von standardmäßigen Systemereignissen zu. Diese Ereignisse können ein systemdefiniertes Sprachmodell haben, z. B. wenn Nutzer "pause" sagen, um den Mediaplayer anzuhalten, oder kein Sprachmodell vorhanden, sodass Nutzer überhaupt keine Eingabe bereitstellen. Da diese Intents von Assistant bereitgestellt werden, müssen Sie sich keine Gedanken darüber machen, wie sie zugeordnet werden, sondern nur wie die Intents verarbeitet werden, wenn sie zugeordnet werden.

System-Intents ersetzen außerdem die Notwendigkeit, Nutzer-Intents für Aktionen zu erstellen, die häufig erforderlich sind, z. B. YES und NO. System-Intents werden für alle Sprachen trainiert, damit Sie einfacher eine einheitliche Nutzererfahrung in mehreren Sprachen implementieren können. System-Intents können auch als globale Intents festgelegt werden.

System-Intents sind versioniert. Sie können eine bestimmte Version eines System-Intents verwenden, solange diese Version von Assistant unterstützt wird. Wenn eine Aktion eine nicht unterstützte Version eines System-Intents verwendet, wird dieser System-Intent automatisch auf eine unterstützte Version aktualisiert.

Liste der Intents

Absicht Beschreibung
actions.intent.MAIN Jedes Actions-Projekt muss diesen standardmäßigen Hauptaufruf enthalten, der an Ihren Anzeigenamen gebunden ist. Nutzer sagen Befehle wie "Ok Google, sprich mit <Anzeigename>", um die Aktion aufzurufen.

actions.intent.NO_MATCH_1

actions.intent.NO_MATCH_2

actions.intent.NO_MATCH_FINAL

Diese Intents werden zugeordnet, wenn der Nutzer etwas sagt, das keinem Intent in deiner Aktion zugeordnet werden kann. Sie können im endgültigen Intent einzelne Aufforderungen und eine Exit-Nachricht festlegen.

actions.intent.NO_INPUT_1

actions.intent.NO_INPUT_2

actions.intent.NO_INPUT_FINAL

Diese Intents werden zugeordnet, wenn nach 8 Sekunden keine Eingabe vom Nutzer erfolgt. Sie können für jeden Intent individuelle Aufforderungen festlegen und im endgültigen Intent eine Exit-Nachricht.

actions.intent.CANCEL Dieser Intent wird zugeordnet, wenn der Nutzer Ihre Aktionen während einer Unterhaltung beenden möchte, z. B. wenn er "Ich möchte die Unterhaltung beenden" sagt.
actions.intent.MEDIA_STATUS_FINISHED Dieser Intent wird zugeordnet und an deine Aktion gesendet, wenn ein Nutzer die Medienwiedergabe abschließt oder zum nächsten Medienelement springt.
actions.intent.MEDIA_STATUS_PAUSED Dieser Intent wird zugeordnet und an deine Aktion gesendet, wenn ein Nutzer die Medienwiedergabe in einer Medienantwort pausiert.
actions.intent.MEDIA_STATUS_STOPPED Dieser Intent wird zugeordnet und an deine Aktion gesendet, wenn ein Nutzer die Medienwiedergabe in einer Medienantwort beendet oder beendet.
actions.intent.MEDIA_STATUS_FAILED Dieser Intent wird zugeordnet und an deine Aktion gesendet, wenn der Player einer Medienantwort nicht wiedergegeben werden kann.
actions.intent.YES

Dieser Intent wird zugeordnet, wenn ein Nutzer auf deine Aktion eine positive Antwort gibt.

actions.intent.NO

Dieser Intent wird zugeordnet, wenn ein Nutzer eine negative Antwort auf deine Aktion sendet.

actions.intent.REPEAT

Dieser Intent wird zugeordnet, wenn ein Nutzer die Aktion auffordert, die letzte Antwort zu wiederholen. Wiederholungsanfragen werden von Assistant automatisch verarbeitet, wenn der System-Intent nicht im Agent aktiviert ist. Wenn Sie diesen System-Intent aktivieren, können Sie ändern, wie wiederholte Anfragen und Antworten verarbeitet werden.

actions.intent.PLAY_GAME Dieser Intent wird zugeordnet, wenn ein Nutzer darum bittet, ein Spiel zu spielen. Mit diesem Intent kannst du einen impliziten Aufruf (Aufruf ohne Verwendung deines Anzeigenamens) aktivieren, der von Actions on Google bereitgestellt wird.

Unterstützung für weitere Sprachen hinzufügen

Bestimmte System-Intents wie YES, NO und NO_MATCH werden nur auf Englisch unterstützt.Wenn Sie weitere Sprachen unterstützen möchten, müssen Sie Nutzer-Intents erstellen, die diesen System-Intents entsprechen. Die neuen Intents müssen in Ihrem Code auf dieselbe Weise verarbeitet werden wie die von Ihnen implementierten System-Intents.

Angenommen, Sie entwickeln eine neue Aktion und haben den System-Intent YES implementiert. Der System-Intent YES wird nur für Englisch unterstützt. Sie möchten aber auch, dass Ihre App Interaktionen auf Deutsch und Japanisch unterstützt. Zur Unterstützung der zusätzlichen Sprachen erstellen Sie einen Intent, der Trainingsformulierungen für Deutsch und Japanisch enthält, und implementieren dann die Verarbeitung, die Sie für den System-Intent YES verwendet haben.

Weitere Informationen zum Erstellen von Nutzer-Intents

Weitere Informationen zum Lokalisieren von Nutzer-Intents

No-Match-Ertrag

Wenn die Antwort eines Nutzers keinem Ihrer Intents entspricht, versucht Assistant, die Eingabe zu verarbeiten. So können Nutzer mitten in einer Unterhaltung Aktionen ändern. Beispiel: Ein Nutzer fragt: „Welche Filme laufen diese Woche?“ und ändert dann mitten in der Unterhaltung den Kontext: „Wie wird das Wetter morgen?“ In diesem Beispiel versucht Assistant automatisch, die Übereinstimmung zu verarbeiten und den Nutzer in eine entsprechende Unterhaltung zu leiten, da „Wie wird das Wetter morgen?“ keine gültige Antwort auf die Unterhaltung ist.

Wenn Assistant keine passende Aktion findet, die der Eingabe des Nutzers entspricht, fährt der Nutzer im Kontext deiner Aktion fort.

Assistant kann deine Aktion unterbrechen, um auf ein gültiges No-Match-Szenario zu reagieren. Daher solltest du den System-Intent NO_MATCH nicht verwenden, um Nutzerabfragen auszuführen. Sie sollten den Intent NO_MATCH nur verwenden, um dem Nutzer eine erneute Aufforderung zu senden.