Dela via


Skapa ett decomposable LUIS-program

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 förståelse för konversationsspråk för att dra nytta av fortsatt produktsupport och flerspråkiga funktioner.

I den här självstudien kommer du att kunna skapa ett LUIS-telekomprogram som kan förutsäga olika användarplaner. I slutet av självstudien bör vi ha ett telekomprogram som kan förutsäga användarnas avsikter baserat på text som tillhandahålls av användarna.

Vi kommer att hantera olika användarscenarier (avsikter) som:

  • Registrera dig för en ny telekomlinje
  • Uppdatera en befintlig nivå
  • Betala en faktura

I den här självstudien får du lära dig hur man

  1. Skapa ett LUIS-program
  2. Skapa avsikter
  3. Lägg till entiteter
  4. Lägg till yttranden
  5. Etikettexempelyttranden
  6. Träna en app
  7. Publicera ett program
  8. Hämta förutsägelser från den publicerade slutpunkten

Skapa ett LUIS-program

  1. Logga in på LUIS-portalen

  2. Skapa ett nytt program genom att välja +Ny app.

    En skärmbild av skärmen för att skapa program.

  3. I fönstret som visas anger du namnet "Telecom Tutorial", som behåller standardkulturen engelska. De andra fälten är valfria, ange dem inte. Välj Klar.

    En skärmbild av LUIS-programmets skapandefält.

Användares syften som avsikter

Det första du ser i avsnittet Skapa är appens avsikter. Avsikter representerar en uppgift eller en åtgärd som en användare vill utföra.

Tänk dig ett LUIS-telekomprogram, vad skulle en användare behöva?

De skulle förmodligen behöva utföra någon typ av användaråtgärd eller be om hjälp. En annan användare kanske vill uppdatera sin nivå eller betala en faktura

Det resulterande schemat är följande. Mer information finns i metodtips för att planera schemat.

Avsikt Syfte
UserActions Fastställa användaråtgärder
Help Begär hjälp
UpdateTier Uppdatera aktuell nivå
PayBill Betala utestående faktura
Ingen Ta reda på om användaren frågar något som LUIS-appen inte är utformad för att besvara. Den här avsikten tillhandahålls som en del av appskapandet och kan inte tas bort.

Skapa en ny avsikt

En avsikt används för att klassificera användaryttranden baserat på användarens avsikt, som bestäms av texten på naturligt språk.

För att klassificera ett yttrande behöver avsikten exempel på användaryttranden som ska klassificeras med den här avsikten.

  1. Välj Skapa på den översta navigeringsmenyn och välj sedan Avsikter till vänster på skärmen. Välj + Skapa för att skapa en ny avsikt. Ange det nya avsiktsnamnet UserAction och välj sedan Klar

    UserAction kan vara en av många avsikter. Vissa användare kanske till exempel vill registrera sig för en ny rad, medan andra kan be om att få hämta information.

  2. Lägg till flera exempelyttranden till den här avsikten som du förväntar dig att en användare kan fråga:

    • Hej! Jag vill registrera mig för en ny rad
    • Kan jag registrera mig för en ny rad?
    • Hej, jag vill ha en ny rad
    • Jag glömde mitt linjenummer!
    • Jag vill ha ett nytt radnummer

    En skärmbild som visar exempelyttranden för avsikten UserAction.

För avsikten PayBill kan vissa yttranden vara:

  • Jag vill betala min faktura
  • Reglera min faktura
  • Betala faktura
  • Jag vill stänga mitt nuvarande saldo
  • Ja! Jag vill betala den aktuella fakturan

Genom att tillhandahålla exempelyttranden lär du LUIS om vilka typer av yttranden som ska förutsägas för den här avsikten. Det här är positiva exempel. Yttrandena i alla andra avsikter behandlas som negativa exempel för den här avsikten. Ju fler exempelyttranden du lägger till, desto bättre blir appens förutsägelser.

De här yttrandena finns endast i demonstrationssyfte. En verklig app bör ha minst 15–30 yttranden av varierande längd, ordordning, tempus, grammatisk korrekthet, skiljetecken och ordantal.

Skapa de återstående avsikterna

Utför stegen ovan för att lägga till följande avsikter i appen:

"Hjälp"

  • "Jag behöver hjälp"
  • "Jag behöver hjälp"
  • "Hjälp tack"
  • "Kan någon stödja mig?"
  • "Jag har fastnat, kan du hjälpa mig"
  • "Kan jag få hjälp?"

"UpdateTier"

  • "Jag vill uppdatera min nivå"
  • "Uppdatera min nivå"
  • "Jag vill byta till VIP-nivå"
  • "Ändra min prenumeration till standardnivå"

Exempelyttranden för avsikten Ingen

Klientprogrammet behöver veta om ett yttrande inte är meningsfullt eller lämpligt för programmet. Avsikten "Ingen" läggs till i varje program som en del av skapandeprocessen för att avgöra om ett yttrande inte ska besvaras av klientprogrammet.

Om LUIS returnerar avsikten "Ingen" för ett yttrande kan klientprogrammet fråga om användaren vill avsluta konversationen eller ge fler anvisningar för att fortsätta konversationen.

Om du lämnar avsikten "Ingen" tom förutsägs ett yttrande som ska förutsägas utanför ämnesdomänen i någon av de befintliga avsikterna för ämnesdomänen. Resultatet är att klientprogrammet, till exempel en chattrobot, utför felaktiga åtgärder baserat på en felaktig förutsägelse.

  1. Välj Intents (Avsikter) på den vänstra panelen.

  2. Välj avsikten None (Ingen). Lägg till tre yttranden som användaren kan ange men som inte är relevanta för din telekomapp. De här exemplen bör inte använda ord som du förväntar dig i ämnesdomänen, till exempel nivå, uppgradering, registrering, faktura.

    • "När är min flygning?"
    • "Jag behöver ändra min pizza beställning tack"
    • "Hur är vädret för idag?"

Lägg till entiteter

En entitet är ett objekt eller element som är relevant för användarens avsikt. Entiteter definierar data som kan extraheras från yttrandet och är nödvändiga för att slutföra en användares nödvändiga åtgärd.

  1. I byggavsnittet väljer du Entiteter.

  2. Om du vill lägga till en ny entitet väljer du +Skapa

    I det här exemplet skapar vi två entiteter, "UpdateTierInfo" som en maskininlärd entitetstyp och "Nivå" som en listentitetstyp. Med Luis kan du också skapa olika entitetstyper.

  3. I fönstret som visas anger du "UpdateTierInfo" och väljer Maskininlärning från de tillgängliga typerna. Välj rutan Lägg till struktur för att kunna lägga till en struktur i den här entiteten.

    En skärmbild som visar en entitet.

  4. Välj Nästa.

  5. Om du vill lägga till en underdel väljer du symbolen "+" och börjar lägga till det underordnade objektet. För vårt entitetsexempel, "UpdateTierInfo", behöver vi tre saker:

    • OriginalTier
    • NewTier
    • PhoneNumber

    En skärmbild av underentiteter i appen.

  6. Välj Skapa när du har lagt till alla underentiteter.

    Vi skapar en annan entitet med namnet "Nivå", men den här gången blir det en listentitet, och den innehåller alla nivåer som vi kan tillhandahålla: Standardnivå, Premium-nivå och VIP-nivå.

  7. Det gör du genom att gå till fliken entiteter och trycka på +skapa och välja lista från de typer på skärmen som visas.

  8. Lägg till objekten i listan, och om du vill kan du lägga till synonymer för att se till att alla fall av detta omnämnande kommer att förstås.

    En skärmbild av en listentitet.

  9. Gå nu tillbaka till entiteten "UpdateTierInfo" och lägg till entiteten "nivå" som en funktion för entiteterna "OriginalTier" och "newTier" som vi skapade tidigare. Den bör se ut ungefär så här:

    En skärmbild av en entitets funktioner.

    Vi har lagt till nivå som en funktion för både "originalTier" och "newTier", och vi lade till entiteten "Phonenumber", som är en Regex-typ. Det kan skapas på samma sätt som vi skapade en ML och en listentitet.

Nu har vi skapat avsikter, lagt till exempelyttranden och lagt till entiteter. Vi skapade fyra avsikter (förutom avsikten "ingen" och tre entiteter.

Etikettexempelyttranden

Den maskininlärda entiteten skapas och underentiteterna har funktioner. För att slutföra extraheringsförbättringen måste exempelyttrandena märkas med underentiteterna.

Det finns två sätt att märka yttranden:

  1. Använda märkningsverktyget

    1. Öppna entitetspaletten och välj symbolen "@" i det kontextuella verktygsfältet.
    2. Välj varje entitetsrad i paletten och använd sedan palettmarkören för att välja entiteten i varje exempelyttrande.
  2. Markera texten genom att dra markören. Markera över den text som du vill märka med hjälp av markören. I följande bild markerade vi "vip - tier" och väljer entiteten "NewTier".

    En skärmbild som visar hur du etiketterar yttranden.

Träna appen

Välj knappen Träna längst upp till höger på LUIS-webbplatsen.

Kontrollera att det finns minst ett yttrande för varje avsikt innan du tränar.

En skärmbild som visar men för att träna en app.

Publicera appen

För att få en LUIS-förutsägelse i en chattrobot eller ett annat klientprogram måste du publicera appen till förutsägelseslutpunkten. För att kunna publicera måste du träna din programhand.

  1. Välj Publicera i det övre högra navigeringsfältet.

    En skärmbild som visar knappen för att publicera en app.

  2. Välj produktionsplatsen och välj sedan Klar.

    En skärmbild som visar väljaren för produktionsfacket.

  3. Välj Åtkomst till slutpunkts-URL:er i meddelandet för att gå till sidan Azure-resurser . Du kan bara se URL:erna om du har en förutsägelseresurs som är associerad med appen. Du hittar även sidan Azure-resurser genom att klicka på Hantera till vänster på skärmen.

    En skärmbild som visar meddelandet om åtkomst till slutpunkten.

Hämta avsiktsförutsägelse

  1. Välj Hantera i den övre högra menyn och välj sedan Azure-resurser till vänster.

  2. Kopiera exempelfrågans URL och klistra in den på en ny webbläsarflik.

    Slutpunkts-URL:en har följande format.

    https://YOUR-CUSTOM-SUBDOMAIN.api.cognitive.microsoft.com/luis/prediction/v3.0/apps/YOUR-APP-ID/slots/production/predict?subscription-key=YOUR-KEY-ID&verbose=true&show-all-intents=true&log=true&query=YOUR\_QUERY\_HERE
    
  3. Gå till slutet av URL:en i adressfältet och ersätt query= strängparametern med:

    "Hej! Jag letar efter ett nytt nummer tack."

    Yttrandefrågan skickas i URI:n. Det här yttrandet är inte detsamma som något av exempelyttrandena och bör vara ett bra test för att kontrollera om LUIS förutsäger avsikten UserAction som avsikten med den högsta poängen.

    {
        "query": "hello! i am looking for a new number please",
        "prediction": 
        {
            "topIntent": "UserAction",
            "intents": 
            {
                "UserAction": {
                "score": 0.8607431},
                "Help":{
                "score": 0.031376917},
                "PayBill": {
                "score": 0.01989629},
                "None": {
                "score": 0.013738701},
                "UpdateTier": {
                "score": 0.012313577}
            },
        "entities": {}
        }
    }
    

JSON-resultatet identifierar avsikten med högsta poäng som egenskapen prediction.topIntent . Alla poäng är mellan 1 och 0, och den bättre poängen är närmare 1.

Nästa steg för klientprogrammet

Den här självstudien skapade en LUIS-app, skapade avsikter, entiteter, lade till exempelyttranden för varje avsikt, lade till exempelyttranden i avsikten None, tränade, publicerade och testade på slutpunkten. Det här är de grundläggande stegen i att skapa en LUIS-modell.

LUIS ger inte svar på användaryttranden, utan identifierar bara vilken typ av information som efterfrågas på naturligt språk. Konversationsuppföljningen tillhandahålls av klientprogrammet, till exempel en Azure Bot.

Rensa resurser

Ta bort LUIS-appen när den inte längre behövs. Om du vill göra det väljer du Mina appar på menyn längst upp till vänster. Välj ellipsen ( ... ) till höger om appnamnet i applistan och välj Ta bort. I popup-dialogrutan med namnet Ta bort app? väljer du Ok.