Självstudier: Skapa en LUIS-app som identifierar användarens avsikterTutorial: Build LUIS app to determine user intentions

I den här självstudien skapar du en anpassad Human Resources-app som förutspår vad en användare vill baserat på yttrandet (text).In this tutorial, you create a custom Human Resources (HR) app that predicts a user's intention based on the utterance (text).

I den här självstudiekursen får du lära du dig att:In this tutorial, you learn how to:

  • Skapa en ny appCreate a new app
  • Skapa avsikterCreate intents
  • Lägga till exempelyttrandenAdd example utterances
  • Träna appenTrain app
  • Publicera appPublish app
  • Hämta avsikter från en slutpunktGet intent from endpoint

För den här artikeln kan du använda ett kostnadsfritt LUIS-konto för att kunna redigera LUIS-programmet.For this article, you can use the free LUIS account in order to author your LUIS application.

Användares syften som avsikterUser intentions as intents

Syftet med appen är att avgöra syftet med en konversationsbaserad text på naturligt språk:The purpose of the app is to determine the intention of conversational, natural language text:

Are there any new positions in the Seattle office?

Dessa syften är indelade i avsikter.These intentions are categorized into Intents.

Den här appen innehåller ett par avsikter.This app has a few intents.

AvsiktIntent SyftePurpose
ApplyForJobApplyForJob Avgör om användaren söker ett jobb.Determine if user is applying for a job.
GetJobInformationGetJobInformation Avgör om användaren letar efter information om jobb allmänt eller ett specifikt jobb.Determine if user is looking for information about jobs in general or a specific job.
IngaNone Avgör om användaren frågar om något som appen inte är avsedd att besvara.Determine if user is asking something app is not supposed to answer. Den här avsikten tillhandahålls som en del av att skapa appen och kan inte tas bort.This intent if provided as part of app creation and can't be deleted.

Skapa en ny appCreate a new app

  1. Logga in på LUIS-portalen med webbadressen https://www.luis.ai.Sign in to the LUIS portal with the URL of https://www.luis.ai.

  2. Välj Create new app (Skapa ny app).Select Create new app.

    Skärmbild av Language Understanding (LUIS), sidan Mina apparScreenshot of Language Understanding (LUIS) My Apps page

  3. I dialogrutan anger du namnet HumanResources och behåller standardkulturen Engelska.In the pop-up dialog, enter the name HumanResources and keep the default culture, English. Lämna beskrivningen tom.Leave the description empty.

    Skapa ny LUIS-app för HumanResources

  4. Välj Done (Klar).Select Done.

Skapa avsikt för jobbinformationCreate intent for job information

  1. Välj Create new intent (Skapa ny avsikt).Select Create new intent. Ange det nya avsiktsnamnet GetJobInformation.Enter the new intent name GetJobInformation. Den här avsikten förväntas när en användare vill ha information om lediga tjänster på företaget.This intent is predicted when a user wants information about open jobs in the company.

    Skärmbild av Language Understanding (LUIS), dialogrutan Ny avsiktScreenshot of Language Understanding (LUIS) New intent dialog

  2. Välj Done (Klar).Select Done.

  3. Lägg till flera exempelyttranden till den här avsikten som du förväntar dig att en användare kan fråga:Add several example utterances to this intent that you expect a user to ask:

    Exempel på yttrandenExample utterances
    Har nya jobb publicerats i dag?Any new jobs posted today?
    Finns det lediga tjänster på Seattle-kontoret?Are there any new positions in the Seattle office?
    Finns det några lediga distansjobb för tekniker?Are there any remote worker or telecommute jobs open for engineers?
    Finns det jobb med databaser?Is there any work with databases?
    Jag letar efter ett jobb på tampa-kontoret.I'm looking for a co-working situation in the tampa office.
    Finns det någon ledig praktikplats på san francisco-kontoret?Is there an internship in the san francisco office?
    Finns det några deltidstjänster för studerande vid universitetet?Is there any part-time work for people in college?
    Söker efter ett nytt arbete inom redovisningLooking for a new situation with responsibilities in accounting
    Letar efter ett jobb i new york för tvåspråkiga.Looking for a job in new york city for bilingual speakers.
    Söker efter ett nytt arbete inom redovisning.Looking for a new situation with responsibilities in accounting.
    Nya jobb?New jobs?
    Visa mig alla jobb för tekniker som har lagts till de 2 senaste dagarna.Show me all the jobs for engineers that were added in the last 2 days.
    Dagens jobbannonser?Today's job postings?
    Vilka redovisningstjänster är lediga på london-kontoret?What accounting positions are open in the london office?
    Finns det lediga tjänster för erfarna tekniker?What positions are available for Senior Engineers?
    Var finns jobblistornaWhere is the job listings

    Skärmbild av att ange nya yttranden för MyStore-avsikterScreenshot of entering new utterances for MyStore intent

    Genom att tillhandahålla exempelyttranden tränar du LUIS i vilka typer av yttranden som ska förväntas i samband med den här avsikten.By providing example utterances, you are training LUIS about what kinds of utterances should be predicted for this intent.

    De här yttrandena finns endast i demonstrationssyfte.These few utterances are for demonstration purposes only. En verklig app bör ha minst 15 yttranden av varierande längd, ordföljd, tempus, grammatisk korrekthet, interpunktion och antal ord.A real-world app should have at least 15 utterances of varying length, word order, tense, grammatical correctness, punctuation, and word count.

Lägg till exempel på yttranden i avsikten IngenAdd example utterances to the None intent

Klientprogrammet behöver veta om ett yttrande inte är meningsfullt eller lämpligt för programmet.The client application needs to know if an utterance is not meaningful or appropriate for the application. Avsikten Ingen läggs till i varje program som en del av skapandeprocessen för att avgöra om ett yttrande inte kan besvaras av klientprogrammet.The None intent is added to each application as part of the creation process to determine if an utterance can't be answered by the client application.

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.If LUIS returns the None intent for an utterance, your client application can ask if the user wants to end the conversation or give more directions for continuing the conversation.

Varning

Lämna inte avsikten Ingen tom.Do not leave the None intent empty.

  1. Välj Intents (Avsikter) på den vänstra panelen.Select Intents from the left panel.

  2. Välj avsikten None (Ingen).Select the None intent. Lägg till tre yttranden som användarna kan tänkas ange men som inte är relevanta för Human Resources-appen:Add three utterances that your user might enter but are not relevant to your Human Resources app:

    Exempel på yttrandenExample utterances
    Skällande hundar är irriterandeBarking dogs are annoying
    Beställ en pizza åt migOrder a pizza for me
    Pingviner i havetPenguins in the ocean

Träna appen innan du testar eller publicerarTrain the app before testing or publishing

  1. Längst uppe till höger på LUIS-webbplatsen väljer du knappen Train (Träna).In the top right side of the LUIS website, select the Train button.

    Knappen Train (Träna)

  2. Träningen är klar när du ser det gröna statusfältet som bekräftar att det är klart längst upp på webbplatsen.Training is complete when you see the green status bar at the top of the website confirming success.

    Statusfält för avslutad träning

Publicera appen att fråga från slutpunktenPublish the app to query from the endpoint

För att få en LUIS-förutsägelse i en chattrobot eller i ett annat klientprogram, måste du publicera appen på slutpunkten.In order to receive a LUIS prediction in a chat bot or other client application, you need to publish the app to the endpoint.

  1. Välj Publish (Publicera) i det övre högra navigeringsfältet.Select Publish in the top right navigation.

    Knappen för LUIS-publicering till en slutpunkt i den övre högra menyn

  2. Välj platsen Produktion och knappen Publicera.Select the Production slot and the Publish button.

    LUIS-publicering till slutpunkt

  3. Publiceringen är klar när du ser det gröna statusfältet som bekräftar att det är klart längst upp på webbplatsen.Publishing is complete when you see the green status bar at the top of the website confirming success.

    LUIS-publicering till slutpunkt

  4. Välj länken för slutpunkter i det gröna statusfältet för att gå till sidan Nycklar och slutpunkter.Select the endpoints link in the green status bar to go to the Keys and endpoints page. Slutpunktens URL:er finns längst ned.The endpoint URLs are listed at the bottom.

Hämta avsiktsförutsägelser från slutpunktenGet intent prediction from the endpoint

  1. I avsnittet Hantera (övre högra menyn) på sidan Nycklar och slutpunkter (vänstra menyn), väljer du slutpunkts-URL:en längst ned på sidan.In the Manage section (top right menu), on the Keys and endpoints page (left menu), select the endpoint URL at the bottom of the page. Den här åtgärden öppnar en ny webbläsarflik med slutpunktens URL i adressfältet.This action opens another browser tab with the endpoint URL in the address bar.

    Slutpunktens URL-adress liknar https://<region>.api.cognitive.microsoft.com/luis/v2.0/apps/<appID>?verbose=true&subscription-key=<YOUR_KEY>&<optional-name-value-pairs>&q=<user-utterance-text>.The endpoint URL looks like https://<region>.api.cognitive.microsoft.com/luis/v2.0/apps/<appID>?verbose=true&subscription-key=<YOUR_KEY>&<optional-name-value-pairs>&q=<user-utterance-text>.

  2. Gå till slutet av webbadressen i adressfältet och ange I'm looking for a job with Natural Language Processing.Go to the end of the URL in the address bar and enter I'm looking for a job with Natural Language Processing. Den sista frågesträngsparametern är q, yttrandefrågan.The last query string parameter is q, the utterance query. Det här yttrandet är inte identiskt med något av exempelyttrandena.This utterance is not the same as any of the example utterances. Det är ett bra test och bör returnera avsikten GetJobInformation som avsikten med högst poäng.It is a good test and should return the GetJobInformation intent as the top scoring intent.

    {
      "query": "I'm looking for a job with Natural Language Processing",
      "topScoringIntent": {
        "intent": "GetJobInformation",
        "score": 0.9923871
      },
      "intents": [
        {
          "intent": "GetJobInformation",
          "score": 0.9923871
        },
        {
          "intent": "None",
          "score": 0.007810574
        }
      ],
      "entities": []
    }
    

    Frågesträngsparametern verbose=true innebär att inkludera alla avsikter i appens frågeresultat.The verbose=true querystring parameter means include all the intents in the app's query results. Entitetsmatrisen är tom eftersom appen för närvarande inte har några entiteter.The entities array is empty because this app currently does not have any entities.

    I JSON-resultatet identifieras avsikten med högst poäng i egenskapen topScoringIntent .The JSON result identifies the top scoring intent as topScoringIntent property. Alla poäng är mellan 1 och 0, ju närmare 1 desto bättre.All scores are between 1 and 0, with the better score being close to 1.

Skapa avsikt för jobbansökningarCreate intent for job applications

Gå tillbaka till LUIS-portalen och skapa en ny avsikt för att avgöra om användarens yttrande handlar om att söka ett jobb.Return to the LUIS portal and create a new intent to determine if the user utterance is about applying for a job.

  1. Välj Build (Skapa) på menyn längst upp till höger för att återgå till sidan för att skapa appen.Select Build from the top, right menu to return to app building.

  2. Välj Avsikter på den vänstra menyn för att få en lista över avsikter.Select Intents from the left menu to get to the list of intents.

  3. Välj Create new intent (Skapa ny avsikt) och ange namnet ApplyForJob.Select Create new intent and enter the name ApplyForJob.

    LUIS-dialogrutan för att skapa en ny avsikt

  4. Lägg till flera yttranden till den här avsikten som du förväntar dig att en användare begär, till exempel:Add several utterances to this intent that you expect a user to ask for, such as:

    Exempel på yttrandenExample utterances
    Fyll i ansökan till jobbet 123456Fill out application for Job 123456
    Här är mitt cvHere is my c.v. för tjänsten 654234for position 654234
    Här är mitt CV för deltidstjänsten som receptionist.Here is my resume for the part-time receptionist post.
    Jag söker tjänsten på reklamavdelningen med dessa dokument.I'm applying for the art desk job with this paperwork.
    Jag söker sommarpraktikplatsen på forskning och utveckling i San DiegoI'm applying for the summer college internship in Research and Development in San Diego
    Jag vill lämna in mitt CV för den tillfälliga tjänsten i kafeterian.I'm requesting to submit my resume to the temporary position in the cafeteria.
    Jag skickar mitt CV för det nya Autocar-teamet i Columbus, OHI'm submitting my resume for the new Autocar team in Columbus, OH
    Jag vill söka det nya jobbet inom redovisningI want to apply for the new accounting job
    Dokumenten för jobb 456789, praktikplatsen på redovisningsavdelningen, är härJob 456789 accounting internship paperwork is here
    Jobbet 567890 och mina dokumentJob 567890 and my paperwork
    Jag bifogar mina dokument för redovisningspraktikplatsen i tulsa.My papers for the tulsa accounting internship are attached.
    Mina dokument för helgleveranstjänstenMy paperwork for the holiday delivery position
    Skicka mitt CV för det nya redovisningsjobbet i seattlePlease send my resume for the new accounting job in seattle
    Skicka cv för teknikertjänstenSubmit resume for engineering position
    Jag skickar härmed mitt cvThis is my c.v. för tjänsten 234123 i Tampa.for post 234123 in Tampa.

Träna igenTrain again

  1. Längst uppe till höger på LUIS-webbplatsen väljer du knappen Train (Träna).In the top right side of the LUIS website, select the Train button.

    Knappen Train (Träna)

  2. Träningen är klar när du ser det gröna statusfältet som bekräftar att det är klart längst upp på webbplatsen.Training is complete when you see the green status bar at the top of the website confirming success.

    Statusfält för avslutad träning

Publicera igenPublish again

För att få en LUIS-förutsägelse i en chattrobot eller i ett annat klientprogram, måste du publicera appen på slutpunkten.In order to receive a LUIS prediction in a chat bot or other client application, you need to publish the app to the endpoint.

  1. Välj Publish (Publicera) i det övre högra navigeringsfältet.Select Publish in the top right navigation.

    Knappen för LUIS-publicering till en slutpunkt i den övre högra menyn

  2. Välj platsen Produktion och knappen Publicera.Select the Production slot and the Publish button.

    LUIS-publicering till slutpunkt

  3. Publiceringen är klar när du ser det gröna statusfältet som bekräftar att det är klart längst upp på webbplatsen.Publishing is complete when you see the green status bar at the top of the website confirming success.

    LUIS-publicering till slutpunkt

  4. Välj länken för slutpunkter i det gröna statusfältet för att gå till sidan Nycklar och slutpunkter.Select the endpoints link in the green status bar to go to the Keys and endpoints page. Slutpunktens URL:er finns längst ned.The endpoint URLs are listed at the bottom.

Hämta avsiktsförutsägelse igenGet intent prediction again

  1. I avsnittet Hantera (övre högra menyn) på sidan Nycklar och slutpunkter (vänstra menyn), väljer du slutpunkts-URL:en längst ned på sidan.In the Manage section (top right menu), on the Keys and endpoints page (left menu), select the endpoint URL at the bottom of the page. Den här åtgärden öppnar en ny webbläsarflik med slutpunktens URL i adressfältet.This action opens another browser tab with the endpoint URL in the address bar.

    Slutpunktens URL-adress liknar https://<region>.api.cognitive.microsoft.com/luis/v2.0/apps/<appID>?verbose=true&subscription-key=<YOUR_KEY>&<optional-name-value-pairs>&q=<user-utterance-text>.The endpoint URL looks like https://<region>.api.cognitive.microsoft.com/luis/v2.0/apps/<appID>?verbose=true&subscription-key=<YOUR_KEY>&<optional-name-value-pairs>&q=<user-utterance-text>.

  2. I det nya webbläsarfönstret anger du Can I submit my resume for job 235986 i slutet av URL:en.In the new browser window, enter Can I submit my resume for job 235986 at the end of the URL.

    {
      "query": "Can I submit my resume for job 235986",
      "topScoringIntent": {
        "intent": "ApplyForJob",
        "score": 0.9634406
      },
      "intents": [
        {
          "intent": "ApplyForJob",
          "score": 0.9634406
        },
        {
          "intent": "GetJobInformation",
          "score": 0.0171300638
        },
        {
          "intent": "None",
          "score": 0.00670867041
        }
      ],
      "entities": []
    }
    

    Resultatet innehåller den nya avsikten ApplyForJob samt befintliga avsikter.The results include the new intent ApplyForJob as well as the existing intents.

Nästa steg för klientprogrammetClient-application next steps

När LUIS returnerar JSON-svaret är LUIS färdig med förfrågningen.After LUIS returns the JSON response, LUIS is done with this request. LUIS svarar inte på användarnas yttranden utan identifierar bara vilken typ av information som efterfrågas på det naturliga språket.LUIS doesn't provide answers to user utterances, it only identifies what type of information is being asked for in natural language. Konversationsuppföljningen tillhandahålls av klientprogram, till exempel en Azure-robot.The conversational follow-up is provided by the client application such as an Azure Bot.

Rensa resurserClean up resources

Ta bort LUIS-appen när den inte längre behövs.When no longer needed, delete the LUIS app. Det gör du genom att välja My apps (Mina appar) på menyn längst upp till vänster.To do so, select My apps from the top left menu. Välj ellipsen (...) till höger om appnamnet i applistan och välj Delete (Ta bort).Select the ellipsis (...) to the right of the app name in the app list, select Delete. På popup-dialogrutan Delete app? (Ta bort appen?) väljer du Ok.On the pop-up dialog Delete app?, select Ok.

Nästa stegNext steps

I den här självstudien har du skapat appen Human Resources, skapat 2 avsikter, lagt till exempelyttranden för varje avsikt, lagt till exempelyttranden för avsikten Ingen samt tränat upp, publicerat och testat vid slutpunkten.This tutorial created the Human Resources (HR) app, created 2 intents, added example utterances to each intent, added example utterances to the None intent, trained, published, and tested at the endpoint. Det här är de grundläggande stegen i att skapa en LUIS-modell.These are the basic steps of building a LUIS model.

Fortsätt med den här appen och lägg till en enkel entitet och fraslista.Continue with this app, adding a simple entity and phrase list.