Entitetstyper
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 entitet är ett objekt eller ett 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. Till exempel:
Yttrande | Avsikt förutsagd | Entiteter som extraherats | Förklaring |
---|---|---|---|
Hej hur mår du? | Hälsning | - | Inget att extrahera. |
Jag vill beställa en liten pizza | orderPizza | "liten" | Entiteten "Storlek" extraheras som "liten". |
Släck sovrumslampa | Avfarten | "sovrum" | Entiteten "Rum" extraheras som "sovrum". |
Kontrollera saldot på mitt sparkonto som slutar på 4406 | checkBalance | "besparingar", "4406" | Entiteten "accountType" extraheras som "besparingar" och "accountNumber"-entiteten extraheras som "4406". |
Köp 3 biljetter till New York | buyTickets | "3", "New York" | Entiteten "ticketsCount" extraheras som "3" och "Mål"-entiteten extraheras som "New York". |
Entiteter är valfria men rekommenderas. Du behöver inte skapa entiteter för varje koncept i din app, bara när:
- Klientprogrammet behöver data, eller
- Entiteten fungerar som ett tips eller en signal till en annan entitet eller avsikt. Om du vill veta mer om entiteter som funktioner går du till Entiteter som funktioner.
Entitetstyper
Om du vill skapa en entitet måste du ge den ett namn och en typ. Det finns flera typer av entiteter i LUIS.
Lista entitet
En listentitet representerar en fast, stängd uppsättning relaterade ord tillsammans med deras synonymer. Du kan använda listentiteter för att identifiera flera synonymer eller varianter och extrahera en normaliserad utdata för dem. Använd alternativet rekommendera för att se förslag på nya ord baserat på den aktuella listan.
En listentitet är inte maskininlärd, vilket innebär att LUIS inte identifierar fler värden för listentiteter. LUIS markerar alla matchningar till ett objekt i en lista som en entitet i svaret.
Matchande listentiteter är både skiftlägeskänsliga och måste vara en exakt matchning. Normaliserade värden används också när du matchar listentiteten. Till exempel:
Normaliserat värde | Synonymer |
---|---|
Litet | sm , sml , , tiny smallest |
Medium | md , mdm , regular , , , average middle |
Stort | lg , , lrg big |
Mer information finns i referensartikeln för entiteter i listan.
Regex-entitet
En entitet med reguljära uttryck extraherar en entitet baserat på ett mönster för reguljära uttryck som du anger. Den ignorerar fall och ignorerar kulturell variant. Reguljära uttrycksentiteter passar bäst för strukturerad text eller en fördefinierad sekvens med alfanumeriska värden som förväntas i ett visst format. Till exempel:
Enhet | Regular expression | Exempel |
---|---|---|
Flightnummer | flight [A-Z]{2} [0-9]{4} |
flight AS 1234 |
Kreditkortsnummer | [0-9]{16} |
5478789865437632 |
Mer information finns i referensartikeln för regex-entiteter.
Förbyggda entiteter
LUIS innehåller en uppsättning fördefinierade entiteter för att identifiera vanliga typer av information, till exempel datum, tider, tal, mått och valuta. Det fördefinierade entitetsstödet varierar beroende på luis-appens kultur. En fullständig lista över de fördefinierade entiteter som LUIS stöder, inklusive stöd efter kultur, finns i den fördefinierade entitetsreferensen.
När en fördefinierad entitet ingår i ditt program inkluderas dess förutsägelser i det publicerade programmet. Beteendet för fördefinierade entiteter är förtränat och kan inte ändras.
Fördefinierad entitet | Exempelvärde |
---|---|
PersonName | James, Bill, Tom |
DatetimeV2 | 2019-05-02 , , May 2nd 8am on May 2nd 2019 |
Mer information finns i referensartikeln för fördefinierade entiteter.
Pattern.Any entity
Ett mönster. En entitet är en platshållare med variabel längd som endast används i ett mönsters mallyttrande för att markera var entiteten börjar och slutar. Den följer en specifik regel eller mönster och används bäst för meningar med fast lexikal struktur. Till exempel:
Exempel på yttrande | Mönster | Enhet |
---|---|---|
Kan jag få en hamburgare, tack? | Can I have a {meal} [please][?] |
burgare |
Kan jag få en pizza? | Can I have a {meal} [please][?] |
pizza |
Var hittar jag Den store Gatsby? | Where can I find {bookName}? |
Den stora Gatsby |
Mer information finns i referensartikeln Pattern.Any entiteter.
Maskininlärd entitet (ML)
Entiteten Machine Learned använder kontext för att extrahera entiteter baserat på märkta exempel. Det är den föredragna entiteten för att skapa LUIS-program. Den förlitar sig på maskininlärningsalgoritmer och kräver att etikettering skräddarsys för ditt program. Använd en ML-entitet för att identifiera data som inte alltid är väl formaterade men har samma innebörd.
Exempel på yttrande | Extraherad produktentitet |
---|---|
Jag vill köpa en bok. | "bok" |
Kan jag få de här skorna, tack? | "skor" |
Lägg till shortsen i min korg. | "shorts" |
Mer information finns i Maskininlärda entiteter .
ML-entitet med struktur
En ML-entitet kan bestå av mindre underentiteter, som var och en kan ha sina egna egenskaper. En adressentitet kan till exempel ha följande struktur:
- Adress: 4567 Main Street, NY, 98052, USA
- Byggnadsnummer: 4567
- Gatunamn: Huvudgatan
- Tillstånd: NY
- Postnummer: 98052
- Land: USA
Skapa effektiva ML-entiteter
Följ dessa metodtips för att skapa maskininlärda entiteter på ett effektivt sätt:
- Om du har en datorinlärd entitet med underentiteter kontrollerar du att de olika beställningarna och varianterna av entiteten och underentiteterna visas i de märkta yttrandena. Märkta exempelyttranden bör innehålla alla giltiga formulär och inkludera entiteter som visas och är frånvarande och även ordnas om i yttrandet.
- Undvik att överanpassa entiteterna till en fast uppsättning. Överanpassning sker när modellen inte generaliseras väl och är ett vanligt problem i maskininlärningsmodeller. Detta innebär att appen inte skulle fungera med nya typer av exempel på ett tillfredsställande sätt. I sin tur bör du variera de märkta exempelyttrandena så att appen kan generalisera utöver de begränsade exempel som du anger.
- Etiketterna ska vara konsekventa i avsikterna. Detta inkluderar även yttranden som du anger i avsikten Ingen som innehåller den här entiteten. Annars kan modellen inte fastställa sekvenserna effektivt.
Entiteter som funktioner
En annan viktig funktion för entiteter är att använda dem som funktioner eller särskilja egenskaper för andra avsikter eller entiteter så att systemet observerar och lär sig genom dem.
Entiteter som funktioner för avsikter
Du kan använda entiteter som en signal för en avsikt. Till exempel kan förekomsten av en viss entitet i yttrandet skilja vilken avsikt den faller under.
Exempel på yttrande | Enhet | Avsikt |
---|---|---|
Boka ett flyg till New York. | City | Boka flyg |
Boka konferensrummet till mig. | Rum | Reservera rum |
Entiteter som funktion för entiteter
Du kan också använda entiteter som en indikator på förekomsten av andra entiteter. Ett vanligt exempel på detta är att använda en fördefinierad entitet som funktion för en annan ML-entitet. Om du skapar ett flygbokningssystem och ditt yttrande ser ut som "Boka mig ett flyg från Kairo till Seattle" kommer du sannolikt att ha Origin City och Destination City som ML-enheter. En bra idé är att använda den fördefinierade GeographyV2-entiteten som en funktion för båda entiteterna.
Mer information finns i referensartikeln GeographyV2-entiteter.
Du kan också använda entiteter som nödvändiga funktioner för andra entiteter. Detta hjälper till vid lösning av extraherade entiteter. Om du till exempel skapar ett pizzabeställningsprogram och har en Storlek ML-entitet kan du skapa entiteten SizeList-lista och använda den som en nödvändig funktion för entiteten Storlek. Ditt program returnerar det normaliserade värdet som den extraherade entiteten från yttrandet.
Se funktioner för mer information och fördefinierade entiteter för att lära dig mer om fördefinierade entiteter som är tillgängliga i din kultur.
Data från entiteter
De flesta chattrobotar och program behöver mer än avsiktsnamnet. Dessa ytterligare, valfria data kommer från entiteter som identifieras i yttrandet. Varje typ av entitet returnerar olika information om matchningen.
Ett ord eller en fras i ett yttrande kan matcha mer än en entitet. I så fall returneras varje matchande entitet med dess poäng.
Alla entiteter returneras i entitetsmatrisen för svaret från slutpunkten
Metodtips för entiteter
Använda maskininlärningsentiteter
Maskininlärda entiteter är skräddarsydda för din app och kräver att etikettering lyckas. Om du inte använder maskininlärda entiteter kanske du använder fel entiteter.
Maskininlärda entiteter kan använda andra entiteter som funktioner. Dessa andra entiteter kan vara anpassade entiteter, till exempel reguljära uttrycksentiteter eller listentiteter, eller så kan du använda fördefinierade entiteter som funktioner.
Lär dig mer om effektiva maskininlärda entiteter.