Entity v LUIS
Entita je položka nebo prvek, který je relevantní pro záměr uživatele. Entity definují data, která je možné extrahovat z utterance a jsou zásadní pro dokončení akce vyžadované uživatelem. Například:
| Výrok | Předpokládané záměr | Extrahované entity | Vysvětlení |
|---|---|---|---|
| Ahoj, jak se máš? | Pozdrav | - | Nic k extrakci. |
| Chci objednat malé Pizza | orderPizza | nejmenší | Entita "size" je extrahována jako "malá". |
| Vypnout Bedroom světlo | turnOff | "bedroom" | Entita "místnost" je extrahována jako "Bedroom". |
| Kontrolovat rovnováhu v účtu úspory na konci v 4406 | checkBalance | "úspory", "4406" | entita "accountType" se extrahuje jako "úspory" a entita "accountNumber" se extrahuje jako "4406". |
| Koupit 3 lístky do Praha | buyTickets | "3"; "New York" | entita "ticketsCount" je extrahována jako "3" a "cílová" entita je extrahována jako "New York". |
Entity jsou volitelné, ale doporučené. Pro každý koncept ve vaší aplikaci nemusíte vytvářet entity, jenom pro ty, kde:
- Klientská aplikace potřebuje data, nebo
- Entita slouží jako pomocný parametr nebo signál k jiné entitě nebo záměru. Další informace o entitách jako funkce najdete v entitách jako funkce.
Typy entit
Chcete-li vytvořit entitu, je nutné zadat název a typ. V LUIS existuje několik typů entit.
Entita seznamu
Entita seznamu představuje pevně uzavřenou sadu příbuzných slov spolu s jejich synonymy. Entity seznam můžete použít k rozpoznání více synonym nebo variací a k extrakci normalizovaných výstupů. Pomocí možnosti doporučit můžete zobrazit návrhy nových slov na základě aktuálního seznamu.
Entita seznamu není zjištěna počítačem, což znamená, že LUIS nezjistí další hodnoty pro entity seznamu. LUIS označí jakoukoli shodu s položkou v libovolném seznamu jako entitu v odpovědi.
Párování v seznamu entit rozlišuje velká a malá písmena a musí být pro extrakci přesné shody. Normalizované hodnoty se použijí i při shodě s entitou seznam. Například:
| Normalizovaná hodnota | Synonyma |
|---|---|
| Malá | SM, SML, malý, nejmenší |
| Střední | MD, MDM, Regular, Average, prostřední |
| Velká | LG, LRG, velký |
Další informace najdete v článku referenční informace o entitách seznamu .
Entita Regex
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 ignoruje kulturní variantu. Regulární výraz je nejvhodnější pro strukturovaný text nebo předdefinované sekvence alfanumerických hodnot, které jsou očekávány v určitém formátu. Například:
| Entita | Regulární výraz | Příklad |
|---|---|---|
| Číslo letu | letů [A-Z] {2} [0-9]{4} | letů jako 1234 |
| Číslo platební karty | [0-9]{16} | 5478789865437632 |
Další informace najdete v článku referenční informace o entitách Regex .
Předem vytvořená entita
LUIS nabízí sadu předem připravených entit pro rozpoznávání běžných typů dat, jako je název, datum, číslo a měna. Chování předem sestavených entit je opraveno. Předem připravená podpora entit se liší v závislosti na jazykové verzi aplikace LUIS. Například:
| Předem vytvořená entita | Příklad hodnoty |
|---|---|
| PersonName | James, faktura, kdo |
| DatetimeV2 | 2019-05-02, Květen 2. května 8:00 2. května 2019 |
Další informace najdete v článku referenční informace k předem vytvořeným entitám .
Vzor. kterákoli entita
Vzor. Každá entita je zástupný symbol s proměnlivou délkou, který se používá jenom v šabloně vzoru utterance k označení, kde začíná a končí entita. Sleduje konkrétní pravidlo nebo vzor a nejlépe se používá pro věty s pevnou lexikální strukturou. Například:
| Ukázková promluva | Vzor | Entita |
|---|---|---|
| Můžu si Burger? | Můžu mít {jídlo} [prosím] [?] | burger |
| Můžu mít Pizza? | Můžu mít {jídlo} [prosím] [?] | Pizza |
| Kde můžu najít skvělé Gatsby? | Kde najdu {Book}? | Skvělé Gatsby |
Další informace najdete v článku o modelu. všechny entity .
Strojově naučená entita (ML)
Strojově naučená entita používá kontext k extrakci entit na základě označených příkladů. Je upřednostňovanou entitou pro vytváření aplikací LUIS. Spoléhá na algoritmy strojového učení a vyžaduje, aby popisky byly úspěšně přizpůsobené vaší aplikaci. Pomocí ML můžete identifikovat data, která nejsou vždy správně naformátovaná, ale mají stejný význam.
| Ukázková promluva | Extrahovaná entita produktu |
|---|---|
| Chci si koupit knihu. | "book" |
| Můžu tyto boty prosím získat? | "shoes" |
| Přidejte mi tyto krátká zboží do košíku. | "shorts" |
Další informace o strojově naučených entitách najdete tady.
Další informace najdete v referenčním článku o strojově naučených entitách.
ML entity 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. Adresa může mít například následující strukturu:
- Adresa: 4567 Main Street, NY, 98052, USA
- Číslo budovy: 4567
- Název ulice: Hlavní ulice
- Stát: NY
- PSČ: 98052
- Země: USA
Vytváření efektivních ML entit
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 se dílčími entitami, ujistěte se, že jsou různé objednávky a varianty entity a dílčích entit uvedené v označených protterancech. Označené příklady protterance by měly obsahovat všechny platné formuláře a měly by obsahovat entity, které se zobrazují a chybí a také se přeuspořádaly v rámci protterance.
Vyhněte se přeučení entit na velmi pevnou sadu. K přeučení dochází v případě, že model není dobře zobecněn a je běžným problémem v modelech strojového učení. To znamená, že aplikace nebude dostatečně fungovat na nových typech příkladů. Popisky příkladů promyšlků byste pak měli změnit tak, aby se aplikace zobecněla nad rámec omezených příkladů, které poskytnete.
Popisky by měly být v rámci záměrů konzistentní. To zahrnuje i protterance, které zadáte v záměru None (Žádný), který zahrnuje tuto entitu. V opačném případě model nebude schopen efektivně určit sekvence.
Entity jako funkce
Další důležitou funkcí entit je jejich použití jako funkcí nebo rozlišení vlastností pro jiné záměry nebo entity, aby je váš systém pozoroval a učil se prostřednictvím 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 proance dokáže rozlišit, do kterého záměru spadá.
| Ukázková promluva | Entita | Záměr |
|---|---|---|
| Přisudku k newyorskému zápasu. | City (Město) | Book Flight |
| Rezervace hlavní konferenční místnosti | Prostor | Rezervovat místnost |
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 sestavené entity jako funkce pro jinou ML entitu.
Pokud si sestavíte systém rezervace letů a vaše proance vypadá takto: "Book me a flight from Seattle" (Rezervovat let ze Seattlu do Seattlu), budete mít jako ML a cílové město. Osvědčeným postupem je použít předem vytvořenou GeographyV2 entitu jako funkci pro obě entity.
Další informace najdete v referenčním článku o entitách GeographyV2.
Entity můžete použít také jako požadované funkce pro ostatní entity. To pomáhá při řešení extrahovaných entit. Pokud například vytváříte aplikaci pro objednávání pizzy a máte entitu ML, můžete vytvořit entitu seznamu a použít ji jako požadovanou funkci Size SizeList Size entity. Vaše aplikace vrátí normalizovanou hodnotu jako extrahovanou entitu z protterance.
Další informace o předem připravených entitách, které jsou k dispozici ve vaší jazykové verzi, najdete v článku o funkcích a předem připravených entitách.
Stav a chyby predikce entity
Pokud má entita jinou predikci entity, než je entita, kterou jste pro příklad promyšli, na portálu LUIS se zobrazí následující informace. Toto jiné skóre je založené na aktuálním natrénované modelu.
Text, který chybu způsobuje, je v příkladu protterance zvýrazněný a příklad čáry protterance má vpravo indikátor chyby, který se zobrazuje jako červený trojúhelník.
Při řešení chyb entit zkuste jednu nebo více z následujících možností:
- Zvýrazněný text je špatně označený. Pokud chcete problém vyřešit, zkontrolujte popisek, opravte ho a aplikaci znovu natrénte.
- Vytvořte pro entitu funkci, která vám pomůže identifikovat koncept entity.
- Přidejte další příklady protterance a popisek s entitou.
- Zkontrolujte návrhy aktivního učení pro všechny protterance přijaté v koncovém bodě předpovědi, které vám můžou pomoct identifikovat koncept entity.
Další kroky
- Přečtěte si o dobrých příkladech protterance.
- Další informace o přidávání entit do aplikace LUIS najdete v tématu Přidání entit.
- Přečtěte si další informace o omezeních aplikací LUIS.
- V kurzu se dozvíte, jak extrahovat strukturovaná data z protterance pomocí entity strojového učení.