Avsikter

Viktigt

LUIS dras tillbaka den 1 oktober 2025 och från och med den 1 april 2023 kommer du inte att kunna skapa nya LUIS-resurser. Vi rekommenderar att du migrerar dina LUIS-program till konversationsspråkförståning för att dra nytta av fortsatt produktsupport och flerspråkiga funktioner.

En avsikt representerar en uppgift eller åtgärd som användaren vill utföra. Det är ett syfte eller mål som uttrycks i en användares yttrande.

Definiera en uppsättning avsikter som motsvarar åtgärder som användarna vill vidta i ditt program. En reseapp skulle till exempel ha flera avsikter:

Reseappens avsikter Exempel på yttranden
BookFlight (Boka flyg) "Boka ett flyg till Rio nästa vecka"
"Flyg mig till Rio den 24: e"
"Jag behöver en flygbiljett nästa söndag till Rio de Janeiro"
Hälsning ”Hallå”
”Hej”
”God morgon”
CheckWeather "Hur är vädret i Boston?"
"Visa mig prognosen för den här helgen"
Ingen "Ge mig ett kakrecept"
"Vann Lakers?"

Alla program har den fördefinierade avsikten "Ingen", vilket är reservavsikten.

Fördefinierade avsikter

LUIS tillhandahåller fördefinierade avsikter och deras yttranden för var och en av dess fördefinierade domäner. Avsikter kan läggas till utan att hela domänen läggs till. Att lägga till en avsikt är processen att lägga till en avsikt och dess yttranden till din app. Både avsiktsnamnet och yttrandelistan kan ändras.

Returnera alla avsikters poäng

Du tilldelar ett yttrande till en enda avsikt. När LUIS tar emot ett yttrande returnerar det som standard den främsta avsikten för det yttrandet.

Om du vill ha poängen för alla avsikter för yttrandet kan du ange en flagga i frågesträngen för förutsägelse-API:et.

Prediktions-API-version Flagga
V2 verbose=true
V3 show-all-intents=true

Avsikt jämfört med entitet

Avsikten representerar den åtgärd som programmet ska vidta för användaren, baserat på hela yttrandet. Ett yttrande kan bara ha en avsikt med högsta poäng, men det kan ha många entiteter.

Skapa en avsikt när användarens avsikt skulle utlösa en åtgärd i klientprogrammet, till exempel ett anrop till funktionen checkweather() från tabellen ovan. Skapa sedan entiteter som representerar parametrar som krävs för att köra åtgärden.

Avsikt Entitet Exempel på yttrande
CheckWeather { "type": "location", "entity": "Seattle" }
{ "type": "builtin.datetimeV2.date","entity": "tomorrow","resolution":"2018-05-23" }
Hur är vädret i Seattletomorrow?
CheckWeather { "type": "date_range", "entity": "this weekend" } Visa prognosen för this weekend

Avsikten Ingen

Avsikten None skapas men lämnas tom med flit. Avsikten None är en obligatorisk avsikt och kan inte tas bort eller byta namn. Fyll i med talindata som ligger utanför din domän.

Avsikten None (Ingen ) är reserv avsikten och bör ha 10 % av de totala yttrandena. Det är viktigt i varje app, eftersom det används för att lära LUIS-yttranden som inte är viktiga i appdomänen (ämnesområdet). Om du inte lägger till några yttranden för avsikten None (Ingen ) tvingar LUIS ett yttrande utanför domänen till en av domänens avsikter. Detta förvränger förutsägelsepoängen genom att lära LUIS fel avsikt för yttrandet.

När ett yttrande förutsägs som avsikten Ingen kan klientprogrammet ställa fler frågor eller tillhandahålla en meny för att dirigera användaren till giltiga alternativ.

Negativa avsikter

Om du vill fastställa negativa och positiva avsikter, till exempel "Jag vill ha en bil" och "Jag vill inte ha en bil", kan du skapa två avsikter (en positiv och en negativ) och lägga till lämpliga yttranden för varje. Eller så kan du skapa en enda avsikt och markera de två olika positiva och negativa termerna som en entitet.

Avsikter och mönster

Om du har exempelyttranden, som kan definieras delvis eller helt som ett reguljärt uttryck, bör du överväga att använda entiteten för reguljära uttryck tillsammans med ett mönster.

Om du använder en entitet med reguljära uttryck garanterar du dataextraheringen så att mönstret matchas. Mönstermatchningen garanterar att en exakt avsikt returneras.

Avsiktssaldo

Appdomänens avsikter bör ha en balans mellan yttranden för varje avsikt. Du har till exempel inte de flesta av dina avsikter med 10 yttranden och en annan avsikt med 500 yttranden. Detta är inte balanserat. I den här situationen vill du granska avsikten med 500 yttranden för att se om många av avsikterna kan omorganiseras till ett mönster.

Avsikten None ingår inte i saldot. Avsikten bör innehålla 10 % av de totala yttrandena i appen.

Avsiktsbegränsningar

Granska gränserna för att förstå hur många avsikter du kan lägga till i en modell.

Tips

Om du behöver mer än det maximala antalet avsikter bör du överväga om systemet använder för många avsikter och avgöra om flera avsikter kombineras till en enda avsikt med entiteter. Avsikter som är för lika kan göra det svårare för LUIS att skilja mellan dem. Avsikterna bör varieras tillräckligt för att samla in de viktigaste uppgifter som användaren efterfrågar, men de behöver inte samla in alla sökvägar som koden tar. Två avsikter: BookFlight() och FlightCustomerService() kan till exempel vara separata avsikter i en reseapp, men BookInternationalFlight() och BookDomesticFlight() är för lika. Om systemet behöver särskilja dem använder du entiteter eller annan logik i stället för avsikter.

Begär hjälp för appar med ett stort antal avsikter

Kontakta supporten om det inte fungerar att minska antalet avsikter eller dela upp dina avsikter i flera appar. Om din Azure-prenumeration innehåller supporttjänster kontaktar du Azures tekniska support.

Metodtips för avsikter:

Definiera distinkta avsikter

Kontrollera att vokabulären för varje avsikt bara är för den avsikten och inte överlappar med en annan avsikt. Om du till exempel vill ha en app som hanterar researrangemang, till exempel flygresor och hotell, kan du välja att ha dessa ämnesområden som separata avsikter eller samma avsikt med entiteter för specifika data i yttrandet.

Om vokabulären mellan två avsikter är densamma kombinerar du avsikten och använder entiteter.

Överväg följande exempelyttranden:

  1. Boka en flygresa
  2. Boka ett hotell

"Boka ett flyg" och "boka ett hotell" använder samma vokabulär som "boka ett <substantiv>". Det här formatet är detsamma så det bör vara samma avsikt med de olika orden för flyg och hotell som extraherade entiteter.

Lägg till funktioner i avsikter

Funktioner beskriver begrepp för en avsikt. En funktion kan vara en fraslista med ord som är viktiga för avsikten eller en entitet som är viktig för den avsikten.

Hitta sweet spot för avsikter

Använd förutsägelsedata från LUIS för att avgöra om dina avsikter överlappar varandra. Överlappande avsikter förvirrar LUIS. Resultatet är att avsikten med högsta poäng är för nära en annan avsikt. Eftersom LUIS inte använder exakt samma sökväg via data för träning varje gång, har en överlappande avsikt en chans att vara först eller tvåa i träningen. Du vill att yttrandets poäng för varje avsikt ska vara längre ifrån varandra, så den här variansen sker inte. Bra skillnad för avsikter bör resultera i den förväntade högsta avsikten varje gång.

Balansera yttranden mellan avsikter

För att LUIS-förutsägelserna ska vara korrekta måste antalet exempelyttranden i varje avsikt (förutom avsikten None) vara relativt lika.

Om du har en avsikt med 500 exempelyttranden och alla andra avsikter med 10 exempelyttranden har avsikten 500 yttranden en högre förutsägelsetakt.

Lägg till exempelyttranden i avsikten none

Den här avsikten är reserv avsikten, som anger allt utanför ditt program. Lägg till ett exempelyttrande i avsikten Ingen för varje 10 exempelyttranden i resten av LUIS-appen.

Lägg inte till många exempelyttranden i avsikter

När appen har publicerats lägger du bara till yttranden från aktiv inlärning i utvecklingsprocessen. Om yttrandena är för lika lägger du till ett mönster.

Blanda inte definitionen av avsikter och entiteter

Skapa en avsikt för alla åtgärder som din robot kommer att vidta. Använd entiteter som parametrar som gör den åtgärden möjlig.

Skapa till exempel en BookFlight-avsikt för en robot som ska boka flygresor. Skapa inte en avsikt för varje flygbolag eller varje destination. Använd dessa datadelar som entiteter och markera dem i exempelyttranden.

Nästa steg

Använda avsikter