Datainsamling för din app
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.
En LUIS-app (Language Understanding) behöver data som en del av apputvecklingen.
Data som används i LUIS
LUIS använder text som data för att träna och testa LUIS-appen för klassificering för avsikter och för extrahering av entiteter. Du behöver en tillräckligt stor datauppsättning som du har tillräckligt med data för att skapa separata datauppsättningar för både träning och testning som har mångfalden och distributionen framhävd specifikt nedan. Data i var och en av dessa uppsättningar bör inte överlappa varandra.
Val av träningsdata för exempelyttranden
Välj yttranden för din träningsuppsättning baserat på följande kriterier:
Verkliga data är bäst:
- Verkliga data från klientprogrammet: Välj yttranden som är verkliga data från klientprogrammet. Om kunden skickar ett webbformulär med sin förfrågan idag och du skapar en robot kan du börja med att använda webbformulärdata.
- Crowd-sourced data: Om du inte har några befintliga data kan du överväga yttranden för crowd sourcing. Försök att använda yttranden från din faktiska användarpopulation för ditt scenario för att få den bästa uppskattningen av de verkliga data som programmet kommer att se. Mänskliga yttranden från folkmassor är bättre än datorgenererade yttranden. När du skapar en datauppsättning med syntetiska yttranden som genereras på specifika mönster, kommer den att sakna mycket av den naturliga variation som du ser med personer som skapar yttrandena och kommer inte att generaliseras väl i produktion.
Datadiversitet:
- Regiondiversitet: Kontrollera att data för varje avsikt är så olika som möjligt, inklusive frasering (ordval) och grammatik. Om du lär ut en avsikt om HR-principer om semesterdagar kontrollerar du att du har yttranden som representerar de termer som används för alla regioner som du betjänar. Till exempel kan människor i Europa fråga om
taking a holiday
och i USA kan folk fråga omtaking vacation days
. - Språkvariation: Om du har användare med olika inbyggda språk som kommunicerar på ett andra språk ska du se till att ha yttranden som representerar icke-inbyggda talare.
- Indatadiversitet: Överväg din datainmatningssökväg. Om du samlar in data från en person, avdelning eller indataenhet (mikrofon) saknar du förmodligen mångfald som är viktig för din app att lära sig om alla indatavägar.
- Mångfald av skiljetecken: Tänk på att människor använder olika nivåer av skiljetecken i textprogram och ser till att du har en mångfald av hur skiljetecken används. Om du använder data som kommer från tal har de inga skiljetecken, så dina data bör inte heller göra det.
- Regiondiversitet: Kontrollera att data för varje avsikt är så olika som möjligt, inklusive frasering (ordval) och grammatik. Om du lär ut en avsikt om HR-principer om semesterdagar kontrollerar du att du har yttranden som representerar de termer som används för alla regioner som du betjänar. Till exempel kan människor i Europa fråga om
Datadistribution: Kontrollera att data som sprids över avsikter representerar samma spridning av data som klientprogrammet tar emot. Om LUIS-appen klassificerar yttranden som är förfrågningar om att schemalägga en ledighet (50 %), men den också ser yttranden om att fråga om lediga dagar kvar (20 %), godkännande av löv (20 %) och vissa utanför omfång och chitchatt (10 %) bör datauppsättningen ha exempelprocenten för varje typ av yttrande.
Använd alla dataformulär: Om LUIS-appen tar data i flera formulär måste du inkludera dessa formulär i dina träningsyttranden. Om klientprogrammet till exempel tar in både tal och text måste du ha tal-till-text-genererade yttranden samt inskrivna yttranden. Du kommer att se olika variationer i hur människor talar från hur de skriver samt olika fel i taligenkänning och stavfel. All den här varianten bör representeras i dina träningsdata.
Positiva och negativa exempel: Om du vill lära ut en LUIS-app måste den lära sig om vad avsikten är (positiv) och vad den inte är (negativ). I LUIS kan yttranden bara vara positiva för en enda avsikt. När ett yttrande läggs till i en avsikt gör LUIS automatiskt samma exempelyttrande till ett negativt exempel för alla andra avsikter.
Data utanför programomfånget: Om ditt program ser yttranden som ligger utanför dina definierade avsikter måste du ange dem. Exemplen som inte är tilldelade till en viss definierad avsikt kommer att märkas med avsikten Ingen . Det är viktigt att ha realistiska exempel för avsikten Ingen för att korrekt förutsäga yttranden som ligger utanför omfånget för de definierade avsikterna.
Om du till exempel skapar en HR-robot som fokuserar på ledighetstid och har tre avsikter:
- schemalägga eller redigera en ledighet
- fråga om tillgängliga ledighetsdagar
- godkänn/ogilla ledighet
Du vill se till att du har yttranden som täcker båda dessa avsikter, men även som täcker potentiella yttranden utanför det omfånget som programmet ska fungera så här:
What are my medical benefits?
Who is my HR rep?
tell me a joke
Sällsynta exempel: Din app måste ha sällsynta exempel och vanliga exempel. Om din app aldrig har sett sällsynta exempel kan den inte identifiera dem i produktion. Om du använder verkliga data kan du mer exakt förutsäga hur luis-appen kommer att fungera i produktion.
Kvalitet i stället för kvantitet
Överväg kvaliteten på dina befintliga data innan du lägger till mer data. Med LUIS använder du maskinundervisning. Kombinationen av dina etiketter och de maskininlärningsfunktioner som du definierar är vad din LUIS-app använder. Den förlitar sig inte bara på mängden etiketter för att göra den bästa förutsägelsen. Mångfalden av exempel och deras representation av vad din LUIS-app kommer att se i produktion är den viktigaste delen.
Förbearbeta data
Följande förbearbetningssteg hjälper dig att skapa en bättre LUIS-app:
- Ta bort dubbletter: Duplicerade yttranden skadar inte, men de hjälper inte heller, så om du tar bort dem sparas etiketteringstiden.
- Använd samma klientappsförbearbetning: Om klientprogrammet, som anropar LUIS-förutsägelseslutpunkten, tillämpar databearbetning vid körning innan texten skickas till LUIS, bör du träna LUIS-appen på data som bearbetas på samma sätt.
- Använd inte nya rensningsprocesser som klientappen inte använder: Om klientappen accepterar talgenererad text direkt utan någon rensning, till exempel grammatik eller skiljetecken, måste dina yttranden återspegla samma sak, inklusive eventuella saknade skiljetecken och eventuella andra fel som du måste ta hänsyn till.
- Rensa inte data: Bli inte av med felaktiga indata som du kan få från förvrängd taligenkänning, oavsiktliga tangenttryckningar eller feltypad/felstavad text. Om din app ser indata som dessa är det viktigt att den tränas och testas på dem. Lägg till en felaktig avsikt för indata om du inte förväntar dig att din app ska förstå den. Märk dessa data för att hjälpa LUIS-appen att förutsäga rätt svar vid körning. Klientprogrammet kan välja ett lämpligt svar på obegripliga yttranden som
Please try again
.
Etikettera data
- Etiketttext som om den vore korrekt: Exempelyttranden bör ha alla former av en entitet märkt. Detta inkluderar text som är felstavad, feltypad och felöversatt.
Datagranskning när LUIS-appen är i produktion
Granska slutpunktsyttranden för att övervaka verklig yttrandetrafik när du har distribuerat en app till produktion. På så sätt kan du uppdatera dina träningsyttranden med verkliga data, vilket förbättrar din app. Alla appar som skapats med crowd-sourced eller icke-verkliga scenariodata måste förbättras baserat på dess verkliga användning.
Testa dataval för batchtestning
Alla principer som anges ovan för träningsyttranden gäller för yttranden som du bör använda för testuppsättningen. Se till att fördelningen mellan avsikter och entiteter speglar den verkliga fördelningen så nära som möjligt.
Återanvänd inte yttranden från träningsuppsättningen i testuppsättningen. Detta påverkar dina resultat felaktigt och ger dig inte rätt indikation på hur luis-appen kommer att prestera i produktion.
När den första versionen av din app har publicerats bör du uppdatera testuppsättningen med yttranden från verklig trafik för att säkerställa att testuppsättningen återspeglar din produktionsdistribution och att du kan övervaka realistiska prestanda över tid.