Intents stellen eine Aufgabe dar, die Assistant zum Ausführen Ihrer Aktion benötigt. Dazu gehören z. B. Nutzereingaben, die verarbeitet werden müssen, oder Systemereignisse, die verarbeitet werden müssen. Mit Intents können Sie den Aufruf und die Unterhaltungsmodelle erstellen. Wenn diese Ereignisse eintreten, ordnet die Assistant-Laufzeit den entsprechenden Intent zu und sendet ihn an die zu verarbeitende Aktion. Es gibt zwei Haupttypen von Intents, die in der folgenden Liste beschrieben sind:
Mit Nutzer-Intents können Sie die Anfragen von Assistant, die für Ihre Marke und Ihre Dienste spezifisch sind, erweitern. Sie definieren in einem Intent benutzerdefinierte Trainingswortgruppen, die wiederum das Sprachmodell des Intents generieren. Dieses Sprachmodell ergänzt Assistant NLU und erhöht so die Fähigkeit, noch mehr zu verstehen.
System-Intents haben Trainingsdaten oder andere Signale, die nicht von Unterhaltungen stammen, die von Assistant definiert wurden. Das bedeutet, dass Sie für diese Intents keine Trainingsworte definieren müssen. Assistant ordnet diese Intents auf standardmäßige Weise zu, bei bekannten Systemereignissen wie dem Hauptaufruf oder wenn Nutzer keine Eingabe liefern.
Nutzerabsichten
Wenn Sie Aktionen erstellen, erstellen Sie Nutzerabsichten, die Trainingsformulierungen enthalten. Dies erweitert die Fähigkeit von Assistant, noch mehr zu verstehen. Assistant verwendet Ihre Trainingssätze, um den NLU zu verbessern, wenn er Nutzeranfragen an Ihre Aktionen delegiert.
In diesem Fall übernimmt Assistant die Kommunikation zwischen dem Nutzer und Ihren Aktionen und ordnet die Nutzereingabe einem Intent mit einem passenden Sprachmodell zu. Assistant benachrichtigt dann Ihre Aktionen über den abgeglichenen Intent, damit Sie sie in einer Szene verarbeiten können.
Wenn Sie Nutzerabsichten erstellen, geben Sie die folgenden Elemente an:
Eine globale Intent-Kennzeichnung definiert, ob die Assistant-Laufzeit mit dem angegebenen Nutzer-Intent sowohl beim Aufruf als auch während einer Unterhaltung übereinstimmen kann. Standardmäßig kann Assistant Nutzerabsichten nur während einer Unterhaltung zuordnen. Nur Intents, die Sie als global kennzeichnen, kommen für Deeplink-Aufrufe infrage.
Trainingsformulierungen sind Beispiele dafür, was ein Nutzer sagen könnte, um die Absicht zu decken. Die NLU-Engine (Natural Language Understanding) von Assistant erweitert diese Trainingsformulierungen auf natürliche Weise, um andere ähnliche Wortgruppen hinzuzufügen. Wenn Sie eine große Auswahl an hochwertigen Beispielen angeben, erhöhen Sie die Qualität des Intents und die Abgleichgenauigkeit.
Parameter sind typisierte Daten, die Sie aus Nutzereingaben extrahieren möchten. Zum Erstellen eines Parameters annotieren Sie Trainingsformulierungen mit Typen, um die NLU-Engine darüber zu informieren, dass Teile der Nutzereingabe extrahiert werden. Sie können Systemtypen verwenden oder eigene benutzerdefinierte Typen für Parameter erstellen.
Wenn die NLU-Engine in der Nutzereingabe eine Parameterübereinstimmung erkennt, extrahiert sie den Wert als typisierten Parameter, damit Sie in einer Szene damit Logik ausführen können. Wenn ein Intent-Parameter denselben Namen wie ein Szenenslot hat, füllt die Assistant-Laufzeit den Szenenbereich automatisch mit dem Wert aus dem Intent-Parameter ein. Weitere Informationen finden Sie in der Dokumentation zur Slot-Wertzuordnung.
Intent-Parameter unterstützen auch teilweise Übereinstimmungen. Wenn Sie beispielsweise den Typ DateTime
angeben und der Nutzer nur ein Datum angibt, extrahiert die NLU den Teilwert trotzdem als Parameter.
Sie können alle Nutzereingaben für eine Aktion mit einer eigenen NLU verwalten. Beispielsweise kannst du festlegen, dass die Aktion auf alle Szenarien ohne Übereinstimmung in einer Unterhaltung reagiert. Erstellen Sie einen Intent mit dem Texttyp „Freies Format“, damit alle Nutzereingaben erfasst werden. Allerdings sollten Sie benutzerdefinierte Intents nicht verwenden, um das Standardverhalten von No-Match zu überschreiben, da Nutzer sonst eventuell nicht zwischen Aktionen wechseln können.
Wenn Sie in der Aktionen-Konsole einen benutzerdefinierten Intent erstellen, schlägt Actions Builder System-Intents vor, die dieselbe Rolle wie Ihre Nutzerabsicht erfüllen können. Weitere Informationen zu System-Intents finden Sie im folgenden Abschnitt.
System-Intents
Assistant ordnet Systemabsichten auf der Grundlage von Standardsystemereignissen zu. Diese Ereignisse haben möglicherweise ein systemdefiniertes Sprachmodell, in dem Nutzer den Player pausieren, oder kein Sprachmodell wie etwa Nutzer, die überhaupt keine Eingabe erfolgen. 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 auch die Notwendigkeit, Nutzerabsichten für Aktionen zu erstellen, die häufig benötigt werden, z. B. YES
und NO
. System-Intents werden für alle Sprachen trainiert, sodass Sie eine konsistente Nutzererfahrung in mehreren Sprachen einfacher implementieren können.
System-Intents können auch als globale Intents festgelegt werden.
System-Intents werden 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 er automatisch auf eine unterstützte Version aktualisiert.
Liste der Intents
Absicht | Beschreibung |
---|---|
actions.intent.MAIN
|
Dieser Actions-Standardaufruf muss in jedem Actions-Projekt enthalten sein, der an Ihren Anzeigenamen gebunden ist. Nutzer sagen Wortgruppen wie „Hey Google, sprich mit <Anzeigename>“, um die Aktion aufzurufen. |
|
Diese Intents werden zugeordnet, wenn der Nutzer etwas sagt, das nicht mit einem Intent in Ihrer Aktion abgeglichen werden kann. Sie können im letzten Intent individuelle Aufforderungen und eine Exit-Nachricht festlegen. |
|
Diese Intents werden abgeglichen, wenn der Nutzer nach 8 Sekunden keine Eingabe erhält. Sie können einzelne Aufforderungen für jeden Intent und eine Exit-Nachricht im endgültigen Intent festlegen. |
actions.intent.CANCEL
|
Dieser Intent wird zugeordnet, wenn der Nutzer Ihre Aktionen während einer Unterhaltung beenden möchte, z. B. mit „Ich möchte beenden“. |
actions.intent.MEDIA_STATUS_FINISHED
|
Dieser Intent wird zugeordnet und an Ihre 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 Ihre Aktion gesendet, wenn ein Nutzer die Medienwiedergabe in einer Medienantwort pausiert. |
actions.intent.MEDIA_STATUS_STOPPED
|
Dieser Intent wird zugeordnet und an Ihre Aktion gesendet, wenn ein Nutzer die Medienwiedergabe in einer Medienantwort stoppt oder verlässt. |
actions.intent.MEDIA_STATUS_FAILED
|
Dieser Intent wird zugeordnet und an Ihre Aktion gesendet, wenn der Player einer Medienantwort nicht wiedergegeben werden kann. |
actions.intent.YES
|
Dieser Intent wird zugeordnet, wenn ein Nutzer positiv auf Ihre Aktion reagiert. |
actions.intent.NO
|
Dieser Intent wird zugeordnet, wenn ein Nutzer eine negative Antwort auf Ihre Aktion sendet. |
actions.intent.REPEAT
|
Dieser Intent wird zugeordnet, wenn ein Nutzer die Aktion anfordert, 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 die Verarbeitung von wiederkehrenden Anfragen und Antworten ändern. |
actions.intent.PLAY_GAME
|
Dieser Intent wird zugeordnet, wenn ein Nutzer versucht, ein Spiel zu spielen. Mit diesem Intent können Sie einen impliziten Aufruf (Aufruf ohne Verwendung Ihres Anzeigenamens) aktivieren, der von Actions on Google bereitgestellt wird. |
Unterstützung für andere Sprachen hinzufügen
Bestimmte System-Intents, z. B. YES
, NO
und NO_MATCH
, werden nur auf Englisch unterstützt.Wenn Sie auch andere Sprachen unterstützen möchten, müssen Sie Nutzer-Intents erstellen, die mit diesen System-Intents übereinstimmen. Ihre 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 Systemabsicht YES
implementiert. Der System-Intent YES
wird nur auf 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 Trainingssätze für Deutsch und Japanisch enthält, und implementieren dann den Umgang mit dem System-Intent YES
.
Weitere Informationen zum Erstellen von Nutzer-Intents
Weitere Informationen zur Lokalisierung von Nutzer-Intents
Ertrags ohne Übereinstimmung
Wenn die Antwort eines Nutzers mit keinem Ihrer Intents übereinstimmt, versucht Assistant, die Eingabe zu verarbeiten. Dieses Verhalten ermöglicht es Nutzern, Aktionen mitten in einer Unterhaltung zu ändern. Ein Nutzer fragt dann beispielsweise: „Welche Filme werden diese Woche gezeigt?“ und ändert dann den Kontext: ‚Wie wird das Wetter morgen?‘. Da in diesem Beispiel „Wie ist das Wetter morgen?“ keine gültige Antwort auf die Unterhaltung ist, die durch die ursprüngliche Aufforderung ausgelöst wurde, versucht Assistant automatisch, die Zuordnung zu verarbeiten und den Nutzer in eine entsprechende Unterhaltung zu verschieben.
Wenn Assistant keine geeignete Aktion findet, die mit der Eingabe des Nutzers übereinstimmt, fährt der Nutzer im Kontext deiner Aktion fort.
Assistant kann deine Aktion unterbrechen, um auf ein gültiges Szenario ohne Übereinstimmung zu reagieren. Verwende deshalb nicht den Systemabsicht NO_MATCH
, um Nutzerabfragen auszuführen. Sie sollten den Intent NO_MATCH
nur verwenden, um den Nutzer noch einmal aufzurufen.