Absichten
Wichtig
LUIS wird am 1. Oktober 2025 eingestellt, und ab dem 1. April 2023 können Sie keine neuen LUIS-Ressourcen erstellen. Es wird die Migration Ihrer LUIS-Anwendungen zu Conversational Language Understanding empfohlen, um fortgesetzte Produktunterstützung und mehrsprachige Funktionen zu erhalten.
Eine Absicht stellt eine Aufgabe oder Aktion dar, die der Benutzer ausführen möchte. Sie ist ein Zweck oder Ziel, das in einer Äußerung des Benutzers ausgedrückt wurde.
Definieren Sie einen Satz von Absichten, die Aktionen entsprechen, die Benutzer in Ihrer Anwendung ausführen möchten. Eine Reise-App definiert z. B. mehrere Absichten:
Absichten einer Reise-App | Beispiele für Äußerungen |
---|---|
FlugBuchen | „Buche mir einen Flug nach Rio in der nächsten Woche“ „Fliege mich am 24. nach Rio“ „Ich benötige ein Flugticket am nächsten Sonntag nach Rio De Janeiro“ |
Greeting (Begrüßung) | „Hallo“ „Hallo“ „Guten Morgen“ |
CheckWeather | „Wie ist das Wetter in Boston?“ „Zeige mir die Vorhersage für das Wochenende“ |
Keine | „Zeige mit ein Keksrezept“ „Haben die Lakers gewonnen?“ |
Alle Anwendungen enthalten die vordefinierte Absicht „None“, die als Fallbackabsicht fungiert.
Vordefinierte Absichten
LUIS bietet vordefinierte Absichten mit Äußerungen für alle vordefinierten Domänen. Absichten können auch ohne die gesamte Domäne hinzugefügt werden. Beim Hinzufügen einer Absicht werden Ihrer App die Absicht selbst und ihre Äußerungen hinzugefügt. Sowohl der Name der Absicht als auch die Liste der Äußerungen können geändert werden.
Zurückgeben von Bewertungen für alle Absichten
Sie weisen eine Äußerung einer einzigen Absicht zu. Wenn LUIS eine Äußerung empfängt, gibt es standardmäßig die am besten bewertete Absicht für die Äußerung zurück.
Wenn Sie die Scores für alle Absichten der Äußerung benötigen, können Sie in der Abfragezeichenfolge der Vorhersage-API ein Flag angeben.
Version der Vorhersage-API | Flag |
---|---|
V2 | verbose=true |
V3 | show-all-intents=true |
Absichten im Vergleich zu Entitäten
Die Absicht stellt die Aktion dar, die die Anwendung auf der gesamten Äußerung basierend für den Benutzer ausführen soll. Eine Äußerung kann nur eine Absicht mit höchster Bewertung haben. Sie kann hingegen viele Entitäten aufweisen.
Erstellen Sie eine Absicht, wenn die Benutzerabsicht eine Aktion in der Clientanwendung auslösen würde. Dies kann z. B. ein Aufruf der checkweather()-Funktion aus der obigen Tabelle sein. Erstellen Sie dann Entitäten zur Darstellung der Parameter, die zum Ausführen der Aktion erforderlich sind.
Intent | Entität | Beispieläußerung |
---|---|---|
CheckWeather | { "type": "location", "entity": "Seattle" } { "type": "builtin.datetimeV2.date","entity": "tomorrow","resolution":"2018-05-23" } |
What's the weather like in Seattle tomorrow ? |
CheckWeather | { "type": "date_range", "entity": "this weekend" } | Show me the forecast for this weekend |
Absicht „None“
Die Absicht None wird erstellt, aber absichtlich leer gelassen. Die Absicht None ist eine erforderliche Absicht, die weder gelöscht noch umbenannt werden kann. Füllen Sie sie mit Äußerungen, die außerhalb Ihres Themenbereichs liegen.
Die Absicht None ist die Fallbackabsicht und sollte 10 % der gesamten Äußerungen umfassen. Sie ist in jeder App wichtig, da mit ihr LUIS Äußerungen gelehrt werden, die in der App-Domäne (Themenbereich) nicht wichtig sind. Wenn Sie der Absicht None keine Äußerungen hinzufügen, zwingt LUIS eine Äußerung von außerhalb der Domäne in eine Absicht der Domäne. Dadurch werden die Vorhersagebewertungen verzerrt, da LUIS die falsche Absicht für die Äußerung erlernt.
Wenn eine Äußerung als Absicht „None“ vorhergesagt wird, kann die Clientanwendung weitere Fragen stellen oder ein Menü bereitstellen, über das der Benutzer gültige Auswahlmöglichkeiten angeben kann.
Negative Absichten
Wenn Sie negative und positive Absichten ermitteln möchten, z.B. „ich möchte ein Auto“ und „ich möchte kein Auto“, können Sie zwei Absichten erstellen (eine positive und eine negative) und jeder entsprechende Äußerungen hinzufügen. Sie können aber auch eine einzige Absicht erstellen und die beiden positiven und negativen Begriffe als Entität kennzeichnen.
Absichten und Muster
Wenn Sie über Beispieläußerungen verfügen, die ganz oder teilweise als regulärer Ausdruck definiert werden können, sollten Sie die Entität des regulären Ausdrucks zusammen mit einem Muster verwenden.
Die Verwendung einer Entität eines regulären Ausdrucks garantiert die Datenextraktion, sodass das Muster übereinstimmt. Der Musterabgleich stellt sicher, dass eine genaue Absicht zurückgegeben wird.
Balance zwischen Absichten
Die Äußerungen der Absichten einer App-Domäne sollten gleichmäßig auf die Absichten verteilt sein. Beispielsweise sollten nicht den meisten Ihrer Absichten 10 Äußerungen und einer anderen Absicht 500 Äußerungen zugeordnet sein. Dies ist nicht ausgeglichen. Überprüfen Sie in dieser Situation die Absicht mit den 500 Äußerungen, um zu ermitteln, ob ein Großteil der Absichten in einem Muster neu organisiert werden kann.
Die Absicht None ist in dieser Balance nicht enthalten. Diese Absicht sollte etwa 10 % der gesamten Äußerungen in der App enthalten.
Grenzwerte für Absichten
Informieren Sie sich über die Grenzwerte, um zu erfahren, wie viele Absichten Sie einem Modell hinzufügen können.
Tipp
Wenn Sie mehr als die maximale Anzahl von Absichten benötigen, überlegen Sie, ob Ihr System zu viele Absichten verwendet, und ermitteln Sie, ob mehrere Absichten zu einer einzelnen Absicht mit Entitäten kombiniert werden können. Absichten, die sich sehr ähneln, erschweren LUIS die Unterscheidung. Absichten müssen variabel genug sein, um die Hauptaufgaben zu erfassen, die der Benutzer erfragt, sie müssen aber nicht jeden Pfad Ihres Code abdecken. Beispielsweise zwei Absichten: BookFlight() und FlightCustomerService() sind möglicherweise separate Absichten in einer Reise-App, aber BookInternationalFlight() und BookDomesticFlight() sind sich zu ähnlich. Wenn Ihr System sie voneinander unterscheiden muss, verwenden Sie Entitäten oder andere Programmlogik anstelle von Absichten.
Anfordern von Hilfe für Apps mit einer erheblichen Anzahl von Absichten
Wenn die Verringerung der Anzahl von Absichten oder das Aufteilen eines Teils Ihrer Absichten auf mehrere Apps für Sie nicht funktioniert, wenden Sie sich an den Support. Wenn Ihr Azure-Abonnement Supportdienste umfasst, wenden Sie sich an den technischen Support von Azure.
Best Practices für Absichten:
Definieren unterschiedlicher Absichten
Stellen Sie sicher, dass sich das Vokabular der einzelnen Absichten nicht mit dem anderer Absichten überschneidet. Wenn Sie z.B. eine App planen, die Reisebuchungen wie Flüge oder Hotels verarbeiten soll, können Sie diese Themenbereiche als separate Absichten oder als dieselbe Absicht mit separaten Entitäten für bestimmte Daten innerhalb der Äußerung planen.
Wenn das Vokabular bei zwei Absichten gleich ist, fassen Sie die Absichten zusammen, und verwenden Sie Entitäten.
Erwägen Sie die folgenden Beispieläußerungen:
- Book a flight
- Book a hotel
„Book a flight“ und „Book a hotel“ verwenden das gleiche Vokabular „Book a <noun>“. Das Format ist das gleiche. Aus diesem Grund sollte nur eine Absicht verwendet werden. Extrahieren Sie die unterschiedlichen Wörter „einen Flug“ und „ein Hotelzimmer“ in Entitäten.
Hinzufügen von Features zu Absichten
Features dienen zum Beschreiben von Konzepten für eine Absicht. Bei einem Feature kann es sich um eine Ausdrucksliste mit Wörtern handeln, die für die betreffende Absicht wichtig sind, oder um eine für die Absicht wichtige Entität.
Streben Sie eine Balance zwischen Absichten an
Verwenden Sie die Vorhersagedaten von LUIS, um zu bestimmen, ob die Absichten überlappen. Überlappende Absichten verwirren LUIS. Im Ergebnis ist die Absicht mit der höchsten Bewertung zu nah an einer anderen Absicht. Da LUIS nicht bei jedem Training genau denselben Pfad durch die Daten anwendet, kann eine überlappende Absicht beim Training den ersten oder zweiten Platz erreichen. Damit diese Varianz nicht eintritt, sollten Sie die Ergebnisse der Äußerung für jede Absicht weiter voneinander trennen. Bei einer guten Unterscheidung der Absichten sollte das Ergebnis jedes Mal die erwartete bestbewertete Absicht sein.
Absichten übergreifendes Ausgleichen von Äußerungen
Damit LUIS-Vorhersagen präzise sind, muss die Menge an Beispieläußerungen in jeder Absicht (mit Ausnahme der Absicht „None“) relativ gleich sein.
Wenn Sie eine Absicht mit 500 Beispieläußerungen und sonst nur Absichten mit 10 Beispieläußerungen haben, ist die Vorhersagequote der Absicht mit 500 Äußerungen höher.
Hinzufügen von Beispieläußerungen zur Absicht „None“
Diese Absicht ist die Fallbackabsicht, die alles außerhalb der Anwendung angibt. Fügen Sie der Absicht „None“ eine Beispieläußerung für jeweils 10 Beispieläußerungen im Rest der LUIS-App hinzu.
Fügen Sie Absichten nur wenige Beispieläußerungen hinzu.
Nachdem die Anwendung veröffentlicht wurde, fügen Sie im Entwicklungslebenszyklus-Prozess nur Äußerungen aus dem aktiven Lernen hinzu. Wenn sich die Äußerungen zu ähnlich sind, fügen Sie ein Muster hinzu.
Trennen Sie die Definitionen von Absichten und Entitäten
Erstellen Sie eine Absicht für jede Aktion, die Ihr Bot akzeptieren soll. Verwenden Sie Entitäten als Parameter, die diese Aktionen möglich machen.
Erstellen Sie beispielsweise für einen Bot, der Flüge buchen soll, die Absicht BookFlight. Sie sollten nicht für jede Fluggesellschaft oder jedes Ziel eine Absicht erstellen. Verwenden Sie diese Datenelemente als Entitäten, und kennzeichnen Sie sie in den Beispieläußerungen.