Typy entit

Důležité

Služba LUIS bude 1. října 2025 vyřazena a od 1. dubna 2023 nebude možné vytvářet nové prostředky služby LUIS. Doporučujeme migrovat aplikace LUIS na porozumění konverzačnímu jazyku , abyste mohli využívat výhod nepřetržité podpory produktů a vícejazyčných funkcí.

Entita je položka nebo prvek, který je relevantní pro záměr uživatele. Entity definují data, která se dají extrahovat z promluvy a jsou nezbytná k dokončení požadované akce uživatele. Příklad:

Výrok Předpovězený záměr Extrahované entity Vysvětlení
Ahoj, jak se máš? Pozdrav - Nic k extrakci.
Chci si objednat malou pizzu orderPizza 'small' Entita Size se extrahuje jako malá.
Vypnutí světla v ložnici Odbočku 'ložnice' Entita Místnost se extrahuje jako "ložnice".
Kontrola zůstatku na mém spořicím účtu končícím na 4406 checkBalance 'savings', '4406' Entita accountType se extrahuje jako úspory a entita accountNumber se extrahuje jako 4406.
Koupit 3 vstupenky do New Yorku buyTickets '3', 'New York' Entita ticketsCount se extrahuje jako 3 a entita Destination se extrahuje jako New York.

Entity jsou volitelné, ale doporučené. Nemusíte vytvářet entity pro všechny koncepty v aplikaci, pouze v případě, že:

  • Klientská aplikace potřebuje data, nebo
  • Entita funguje jako nápověda nebo signál k jiné entitě nebo záměru. Další informace o entitách jako funkcích najdete v tématu Entity jako funkce.

Typy entit

Pokud chcete vytvořit entitu, musíte jí dát název a typ. Ve službě LUIS existuje několik typů entit.

Entita seznamu

Entita seznamu představuje pevnou, uzavřenou sadu souvisejících slov spolu s jejich synonymy. Pomocí entit seznamu můžete rozpoznat více synonym nebo variant a extrahovat z nich normalizovaný výstup. Pokud chcete zobrazit návrhy nových slov na základě aktuálního seznamu, použijte možnost doporučení .

Entita seznamu není strojově naučená, což znamená, že služba LUIS nezjistí více hodnot entit seznamu. Služba LUIS označí jakoukoli shodu s položkou v libovolném seznamu jako entitu v odpovědi.

Porovnávání entit seznamu rozlišuje velká a malá písmena a musí se jednat o přesnou shodu. Normalizované hodnoty se používají také při porovnávání entity seznamu. Příklad:

Normalizovaná hodnota Synonyma
Malá sm, sml, tiny, smallest
Střední md, mdm, regular, average, middle
Velká lg, lrg, big

Další informace najdete v referenčním článku k entitě seznamu .

Entita regulárního výrazu

Entita regulárního výrazu extrahuje entitu na základě vzoru regulárního výrazu, který zadáte. Ignoruje velikost písmen a kulturní variantu. Entity regulárních výrazů jsou nejvhodnější pro strukturovaný text nebo předdefinovanou posloupnost alfanumerických hodnot, které se očekávají v určitém formátu. Příklad:

Entita Regulární výraz Příklad
Číslo letu flight [A-Z]{2} [0-9]{4} flight AS 1234
Číslo platební karty [0-9]{16} 5478789865437632

Další informace najdete v referenčním článku o entitách regulárních výrazů .

Předem připravené entity

Luis obsahuje sadu předem připravených entit pro rozpoznávání běžných typů informací, jako jsou data, časy, čísla, měrné jednotky a měny. Podpora předem připravených entit se liší podle jazykové verze vaší aplikace LUIS. Úplný seznam předem připravených entit, které služba LUIS podporuje, včetně podpory podle jazykové verze, najdete v referenčních informacích k předem připraveným entitě.

Pokud je předem připravená entita součástí vaší aplikace, její předpovědi se zahrnou do publikované aplikace. Chování předem připravených entit je předem natrénované a není možné ho upravit.

Předem připravená entita Příklad hodnoty
Jméno osoby James, Bill, Tom
Datum a časV2 2019-05-02, May 2nd, 8am on May 2nd 2019

Další informace najdete v referenčním článku o předem připravených entitách .

Entita Pattern.Any

Vzor. Každá entita je zástupný symbol s proměnnou délkou, který se používá pouze v šabloně promluvy vzoru k označení, kde entita začíná a končí. Řídí se určitým pravidlem nebo vzorem a nejlépe se používá pro věty s pevnou lexikální strukturou. Příklad:

Ukázková promluva Vzor Entita
Můžu si dát burger, prosím? Can I have a {meal} [please][?] Burger
Můžu si nechat pizzu? Can I have a {meal} [please][?] Pizza
Kde najdu Velký Gatsby? Where can I find {bookName}? Velký Gatsby

Další informace najdete v článku s referenčními informacemi k entitě Pattern.Any .

Strojově naučená entita (ML)

Strojově naučená entita používá kontext k extrakci entit na základě označených příkladů. Je to upřednostňovaná entita pro vytváření aplikací LUIS. Spoléhá na algoritmy strojového učení a vyžaduje, aby se popisky úspěšně přizpůsobily vaší aplikaci. Entita ML slouží k identifikaci dat, která nejsou vždy dobře naformátovaná, ale mají stejný význam.

Ukázková promluva Extrahovaná entita produktu
Chci si koupit knihu. 'kniha'
Můžu si ty boty sehnat, prosím? 'boty'
Přidejte ty šortky do mého košíku. 'šortky'

Další informace najdete v tématu Strojově naučené entity .

Entita ML se strukturou

Entita ML se může skládat z menších dílčích entit, z nichž každá může mít své vlastní vlastnosti. Například entita Adresa může mít následující strukturu:

  • Adresa: 4567 Main Street, NY, 98052, USA
    • Číslo budovy: 4567
    • Název ulice: Hlavní ulice
    • Stav: NY
    • PSČ: 98052
    • Země: USA

Vytváření efektivních entit ML

Pokud chcete efektivně vytvářet strojově naučené entity, postupujte podle těchto osvědčených postupů:

  • Pokud máte strojově naučenou entitu s dílčími entitami, ujistěte se, že jsou v označených promluvách uvedeny různé pořadí a varianty entity a dílčích entit. Ukázkové promluvy s popiskem by měly obsahovat všechny platné formuláře a měly by obsahovat entity, které se zobrazují, chybí a také mají v promluvě jiné pořadí.
  • Vyhněte se přeurčení entit na pevnou sadu. K přeurčení dochází, když model dobře generalizuje a je to běžný problém v modelech strojového učení. To znamená, že aplikace nebude dostatečně fungovat na nových typech příkladů. Naopak byste měli označené ukázkové promluvy změnit tak, aby aplikace mohla generalizovat nad rámec omezených příkladů, které zadáte.
  • Popisování by mělo být v rámci záměrů konzistentní. To zahrnuje i promluvy, které zadáte v záměru None (Žádný ), který tuto entitu zahrnuje. V opačném případě model nebude moct efektivně určit sekvence.

Entity jako funkce

Další důležitou funkcí entit je jejich použití jako vlastností nebo odlišení vlastností pro jiné záměry nebo entity, aby je systém pozoroval a učil se z nich.

Entity jako funkce pro záměry

Entity můžete použít jako signál pro záměr. Například přítomnost určité entity v promluvě dokáže rozlišit, pod který záměr spadá.

Ukázková promluva Entita Záměr
Zarezervovat mi let do New Yorku. City (Město) Rezervovat let
Zarezervujte mi hlavní konferenční místnost. Prostor Rezervovat pokoj

Entity jako funkce pro entity

Entity můžete použít také jako indikátor přítomnosti jiných entit. Běžným příkladem je použití předem připravené entity jako funkce pro jinou entitu ML. Pokud vytváříte systém rezervace letů a vaše výroky vypadají jako "Rezervujte mi let z Káhiry do Seattlu", pravděpodobně budete mít jako ML entity Origin City a Destination City . Dobrým postupem by bylo použít předem připravenou entitu GeographyV2 jako funkci pro obě entity.

Další informace najdete v článku s referenčními informacemi o entitách GeographyV2.

Entity můžete použít také jako požadované funkce pro jiné entity. To pomáhá při řešení extrahovaných entit. Pokud například vytváříte aplikaci pro objednávání pizz a máte entitu Size ML, můžete vytvořit entitu seznamu SizeList a použít ji jako požadovanou funkci pro entitu Velikost. Aplikace vrátí normalizovanou hodnotu jako extrahovaná entita z promluvy.

Další informace najdete v článku o funkcích a o předem připravených entitách , které jsou k dispozici ve vaší jazykové verzi.

Data z entit

Většina chatovacích robotů a aplikací potřebuje víc než jen název záměru. Tato další volitelná data pocházejí z entit zjištěných v promluvě. Každý typ entity vrací různé informace o shodě.

Jedno slovo nebo fráze v promluvě může odpovídat více než jedné entitě. V takovém případě se vrátí každá odpovídající entita s jejím skóre.

Všechny entity se vrátí v poli entit odpovědi z koncového bodu.

Osvědčené postupy pro entity

Použití entit strojového učení

Strojově naučené entity jsou přizpůsobené vaší aplikaci a k úspěšnému označování vyžadují popisky. Pokud nepoužíváte strojově naučené entity, možná používáte nesprávné entity.

Strojově naučené entity můžou jako funkce používat jiné entity. Tyto další entity můžou být vlastní entity, jako jsou entity regulárních výrazů nebo entity seznamu, nebo můžete použít předem připravené entity jako funkce.

Seznamte se s efektivními strojově naučenými entitami.

Další kroky