Extrakce dat z textu promluvy se záměry a entitami
Důležité
Služba LUIS bude vyřazena 1. října 2025 a od 1. dubna 2023 nebudete moct vytvářet nové prostředky LUIS. Doporučujeme migrovat aplikace LUIS do porozumění konverzačnímu jazyku, abyste mohli využívat další podporu produktů a vícejazyčné funkce.
Služba LUIS umožňuje získat informace z promluv přirozeného jazyka uživatele. Tyto informace se extrahují způsobem, který může použít program, aplikace nebo chatovací robot k provedení akce. V následujících částech se dozvíte, jaká data se vrací ze záměrů a entit pomocí příkladů JSON.
Nejtěžší je extrahovat data strojového učení, protože se nejedná o přesnou shodu textu. Extrakce dat entit strojového učení musí být součástí cyklu vytváření, dokud si nejste jistí, že obdržíte očekávaná data.
Umístění dat a použití klíče
Služba LUIS extrahuje data z promluvy uživatele v publikovaném koncovém bodu. Požadavek HTTPS (POST nebo GET) obsahuje promluvu a také některé volitelné konfigurace, jako je příprava nebo produkční prostředí.
Žádost o koncový bod předpovědi V2
https://westus.api.cognitive.microsoft.com/luis/v2.0/apps/<appID>?subscription-key=<subscription-key>&verbose=true&timezoneOffset=0&q=book 2 tickets to paris
Požadavek koncového bodu předpovědi V3
https://westus.api.cognitive.microsoft.com/luis/v3.0-preview/apps/<appID>/slots/<slot-type>/predict?subscription-key=<subscription-key>&verbose=true&timezoneOffset=0&query=book 2 tickets to paris
Tato appID
možnost je k dispozici na stránce Nastavení aplikace LUIS a také část adresy URL (za /apps/
) při úpravách této aplikace LUIS. Jedná se subscription-key
o klíč koncového bodu používaný k dotazování aplikace. I když se službou LUIS učíte, můžete použít bezplatný klíč pro vytváření a počáteční klíč, je důležité změnit klíč koncového bodu na klíč, který podporuje očekávané využití služby LUIS. Jednotka timezoneOffset
je minuty.
Odpověď HTTPS obsahuje veškerý záměr a informace o entitách, které může luis určit na základě aktuálního publikovaného modelu přípravného nebo produkčního koncového bodu. Adresa URL koncového bodu se nachází na webu LUIS v části Správa na stránce Klíče a koncové body .
Data ze záměrů
Primární data jsou název záměru s nejvyšším skóre. Odpověď koncového bodu je:
{
"query": "when do you open next?",
"topScoringIntent": {
"intent": "GetStoreInfo",
"score": 0.984749258
},
"entities": []
}
Datový objekt | Datový typ | Umístění dat | Hodnota |
---|---|---|---|
Záměr | String | topScoringIntent.intent | "GetStoreInfo" |
Pokud chatbot nebo aplikace pro volání luis provede rozhodnutí na základě více než jednoho skóre záměru, vraťte skóre všech záměrů.
Nastavte parametr řetězce dotazu . verbose=true
Odpověď koncového bodu je:
{
"query": "when do you open next?",
"topScoringIntent": {
"intent": "GetStoreInfo",
"score": 0.984749258
},
"intents": [
{
"intent": "GetStoreInfo",
"score": 0.984749258
},
{
"intent": "None",
"score": 0.2040639
}
],
"entities": []
}
Záměry jsou seřazené od nejvyššího po nejnižší skóre.
Datový objekt | Datový typ | Umístění dat | Hodnota | Skóre |
---|---|---|---|---|
Záměr | String | intents[0].intent | "GetStoreInfo" | 0.984749258 |
Záměr | String | intents[1].intent | "Žádný" | 0.0168218873 |
Pokud přidáte předem připravené domény, název záměru označuje doménu, například Utilties
nebo Communication
záměr:
{
"query": "Turn on the lights next monday at 9am",
"topScoringIntent": {
"intent": "Utilities.ShowNext",
"score": 0.07842206
},
"intents": [
{
"intent": "Utilities.ShowNext",
"score": 0.07842206
},
{
"intent": "Communication.StartOver",
"score": 0.0239675418
},
{
"intent": "None",
"score": 0.0168218873
}],
"entities": []
}
Doména | Datový objekt | Datový typ | Umístění dat | Hodnota |
---|---|---|---|---|
Nástroje | Záměr | String | intents[0].intent | "Nástroje. ShowNext" |
Komunikace | Záměr | String | intents[1].intent | Komunikace. StartOver" |
Záměr | String | intents[2].intent | "Žádný" |
Data z entit
Většina chatovacích robotů a aplikací potřebuje více než název záměru. Tato další volitelná data pocházejí z entit zjištěných v promluvě. Každý typ entity vrátí různé informace o shodě.
Jedno slovo nebo fráze v promluvě se může shodovat s více než jednou entitou. V takovém případě se každá odpovídající entita vrátí se svým skóre.
Všechny entity se vrátí v poli entit odpovědi z koncového bodu.
Vrácená entita s tokenizovanými tokeny
Zkontrolujte podporu tokenů ve službě LUIS.
Předem připravená data entity
Předem připravené entity se zjistí na základě shody regulárního výrazu pomocí opensourcového projektu Recognizers-Text . Předem připravené entity jsou vráceny v poli entit a používají název typu s předponou builtin::
.
Výpis dat entity
Entity seznamu představují pevnou uzavřenou sadu souvisejících slov spolu s jejich synonymy. Služba LUIS nezjišťuje další hodnoty entit seznamu. Pomocí funkce Doporučit zobrazíte návrhy nových slov na základě aktuálního seznamu. Pokud existuje více než jedna entita seznamu se stejnou hodnotou, vrátí se každá entita v dotazu koncového bodu.
Data entity regulárního výrazu
Entita regulárního výrazu extrahuje entitu na základě zadaného regulárního výrazu.
Extrahování názvů
Získání jmen z promluvy je obtížné, protože název může být téměř libovolná kombinace písmen a slov. V závislosti na typu názvu, který extrahujete, máte několik možností. Následující návrhy nejsou pravidla, ale další pokyny.
Přidání předem připravených entit PersonName a GeographyV2
Entity PersonName a GeographyV2 jsou k dispozici v některých jazykových kulturách.
Jména lidí
Jméno lidí může mít v závislosti na jazyce a jazykové verzi nějaký mírný formát. Použijte předem připravenou entitu personName nebo jednoduchou entitu s rolemi křestního jména a příjmení.
Pokud použijete jednoduchou entitu, nezapomeňte uvést příklady, které používají křestní jméno a příjmení v různých částech promluvy, v promluvách různých délek a promluvách napříč všemi záměry, včetně záměru None. Pravidelně zkontrolujte promluvy koncového bodu a označte názvy, které nebyly správně předpovězeny.
Názvy míst
Názvy míst jsou nastavené a známé jako města, okresy, státy, provincie a země/oblasti. Pomocí předem vytvořené entity geographyV2 extrahujte informace o poloze.
Nové a nově vznikající názvy
Některé aplikace musí být schopné najít nové a nově vznikající názvy, jako jsou produkty nebo společnosti. Tyto typy názvů jsou nejobtížnějším typem extrakce dat. Začněte jednoduchou entitou a přidejte seznam frází. Pravidelně zkontrolujte promluvy koncového bodu a označte názvy, které nebyly správně předpovězeny.
Pattern.any data entity
Pattern.any je zástupný symbol pro proměnnou délku, který se používá jenom v promluvě šablony vzoru k označení, kde entita začíná a končí. Aby bylo možné použít vzor, musí být nalezena entita použitá ve vzoru.
Analýza postoje
Pokud je při publikování nakonfigurovaná analýza mínění, odpověď JSON služby LUIS zahrnuje analýzu mínění. Další informace o analýze mínění najdete v dokumentaci ke službě Language.
Data entity extrakce klíčových frází
Entita extrakce klíčových frází vrací klíčové fráze v promluvě poskytované službou Language.
Data odpovídající více entit
Služba LUIS vrátí všechny entity zjištěné v promluvě. V důsledku toho může chatbot muset učinit rozhodnutí na základě výsledků.
Data odpovídající více entitm seznamu
Pokud slovo nebo fráze odpovídají více entitě seznamu, vrátí dotaz koncového bodu každou entitu Seznamu.
Pro dotaz when is the best time to go to red rock?
a aplikace obsahuje slovo red
ve více než jednom seznamu, služba LUIS rozpozná všechny entity a vrátí pole entit jako součást odpovědi koncového bodu JSON.
Další kroky
Další informace o přidávání entit do aplikace LUIS najdete v tématu Přidání entit .