Entitetstyper

Viktigt

LUIS dras tillbaka den 1 oktober 2025 och från och med 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. Ett 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".
Stäng av sovrumslampan 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 "Destination"-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. Mer information om entiteter som funktioner finns i 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 entiteter i listan för att identifiera flera synonymer eller varianter och extrahera normaliserade 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å vid matchning av listentiteten. Ett exempel:

Normaliserat värde Synonymer
Liten sm, sml, tiny, smallest
Medel md, mdm, regular, average, middle
Stor lg, lrg, big

Mer information finns i referensartikeln om entiteter i listan .

Regex-entitet

En entitet för reguljära uttryck extraherar en entitet baserat på ett mönster för reguljära uttryck som du anger. Den ignorerar skiftläge och ignorerar kulturell variant. Entiteter med reguljära uttryck passar bäst för strukturerad text eller en fördefinierad sekvens med alfanumeriska värden som förväntas i ett visst format. Ett exempel:

Entitet Reguljärt uttryck Exempel
Flygnummer flight [A-Z]{2} [0-9]{4} flight AS 1234
Kreditkortsnummer [0-9]{16} 5478789865437632

Mer information finns i referensartikeln om regex-entiteter .

Fördefinierade 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-entitet

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. Ett exempel:

Exempel på yttrande Mönster Entitet
Kan jag få en hamburgare tack? Can I have a {meal} [please][?] Burger
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 om Pattern.Any-entiteter .

Maskininlärd entitet (ML)

Entiteten Maskininlärning 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 etiketterna skräddarsys för ditt program. Använd en ML-entitet för att identifiera data som inte alltid är väl formaterade men som har samma innebörd.

Exempel på yttrande Extraherad produktentitet
Jag vill köpa en bok. "bok"
Kan jag få 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: Huvudgata
    • Tillstånd: NY
    • Postnummer: 98052
    • Land: USA

Skapa effektiva ML-entiteter

Följ dessa metodtips för att skapa maskininlärda entiteter effektivt:

  • Om du har en maskininlärd entitet med underentiteter kontrollerar du att de olika beställningarna och varianterna för 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 på 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 hos 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 Entitet Avsikt
Boka ett flyg till New York. City Boka flyg
Boka konferensrummet till mig. Rum Boka 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 förmodligen att ha Origin City och Destination City som ML-entiteter. 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 underlättar lösningen av extraherade entiteter. Om du till exempel skapar ett pizzabeställningsprogram och har en Size ML-entitet kan du skapa entiteten SizeList-lista och använda den som en obligatorisk 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 entitetsmatchning som är tillgänglig 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 enda 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 etikettering för att 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.

Nästa steg