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í vaší aplikace LUIS i v části adresy URL (po/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í

název 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 .