Sdílet prostřednictvím


Záměry

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.

Záměr představuje úkol nebo akci, kterou chce uživatel provést. Jedná se o účel nebo cíl vyjádřený v promluvě uživatele.

Definujte sadu záměrů, které odpovídají akcím, které uživatelé chtějí ve vaší aplikaci provést. Například cestovní aplikace by měla několik záměrů:

Záměry cestovních aplikací Ukázkové promluvy
BookFlight (Rezervovat let) "Rezervujte mi let do Rio příští týden"
"Letět do Ria na 24.
"Potřebuji letenku příští neděle do Rio de Janeiro"
Pozdrav "Ahoj"
"Hello"
„Good morning“ (Dobré jitro)
Zkontrolovat počasí "Jaké je počasí v Boston?"
"Ukaž mi předpověď pro tento víkend"
Nic "Získejte mi recept na sušenky"
"Vyhráli lakers?"

Všechny aplikace mají předdefinovaný záměr "None", což je záložní záměr.

Předem připravené záměry

Služba LUIS poskytuje předem připravené záměry a jejich promluvy pro každou z předem připravených domén. Záměry je možné přidat bez přidání celé domény. Přidání záměru je proces přidání záměru a jeho promluv do aplikace. Název záměru i seznam promluv je možné upravit.

Vrácení skóre všech záměrů

Promluvu přiřadíte jednomu záměru. Když služba LUIS obdrží promluvu, ve výchozím nastavení vrátí nejvyšší záměr pro danou promluvu.

Pokud chcete skóre pro všechny záměry promluvy, můžete zadat příznak v řetězci dotazu rozhraní API pro predikce.

Verze rozhraní API pro predikce Příznak
V2 verbose=true
V3 show-all-intents=true

Záměr ve srovnání s entitou

Záměr představuje akci, která má aplikace pro uživatele provést na základě celé promluvy. Promluva může mít pouze jeden záměr s nejvyšším skóre, ale může mít mnoho entit.

Vytvořte záměr, pokud by záměr uživatele aktivoval akci v klientské aplikaci, například volání funkce checkweather() z výše uvedené tabulky. Pak vytvořte entity, které představují parametry potřebné k provedení akce.

Záměr Entity Ukázková promluva
Zkontrolovat počasí { "type": "location", "entity": "Seattle" }
{ "type": "builtin.datetimeV2.date","entity": "tomorrow","resolution":"2018-05-23" }
Jaké je počasí jako v Seattle tomorrow?
Zkontrolovat počasí { "type": "date_range", "entity": "this weekend" } Zobrazit prognózu pro this weekend

Žádný záměr

Záměr None (Žádný ) se vytvoří, ale ponechá se účelně prázdný. Záměr None (Žádný) je povinný záměr a nelze ho odstranit ani přejmenovat. Vyplňte do něj výroky, které nepatří do vaší domény.

Záměr None (Žádný ) je záložní záměr a měl by obsahovat 10 % celkových promluv. Je důležité v každé aplikaci, protože se používá k výuce promluv LUIS, které nejsou důležité v doméně aplikace (oblast předmětu). Pokud žádné promluvy pro záměr None nepřidáte, služba LUIS vynutí promluvu, která je mimo doménu, do jednoho ze záměrů domény. Tím se zkosí skóre předpovědí tím, že službě LUIS vyučuje nesprávný záměr promluvy.

Když se promluva predikuje jako záměr None (Žádný), klientská aplikace může klást další otázky nebo poskytnout nabídku, která uživatele přesměruje na platné volby.

Negativní záměry

Pokud chcete určit negativní a pozitivní záměry, například "Chci auto " a " Nechci auto", můžete vytvořit dva záměry (jeden pozitivní a jeden negativní) a přidat odpovídající promluvy pro každý z nich. Nebo můžete vytvořit jeden záměr a označit dva různé kladné a záporné termíny jako entitu.

Záměry a vzory

Pokud máte ukázkové promluvy, které je možné definovat v části nebo celku jako regulární výraz, zvažte použití entity regulárního výrazu spárované se vzorem.

Použití entity regulárního výrazu zaručuje extrakci dat, aby se vzor shodoval. Porovnávání vzorů zaručuje, že se vrátí přesný záměr.

Zůstatek záměru

Záměry domény aplikace by měly mít v každém záměru rovnováhu promluv. Například nemáte většinu záměrů s 10 promluvami a dalším záměrem s 500 promluvami. To není vyvážené. V této situaci byste chtěli zkontrolovat záměr s 500 promluvami a zjistit, jestli lze mnoho záměrů změnit uspořádání do vzoru.

Záměr None (Žádný ) není zahrnut do zůstatku. Tento záměr by měl obsahovat 10 % celkových promluv v aplikaci.

Omezení záměru

Projděte si omezení a zjistěte, kolik záměrů můžete přidat do modelu.

Tip

Pokud potřebujete více než maximální počet záměrů, zvažte, jestli váš systém používá příliš mnoho záměrů, a zjistěte, jestli se více záměrů zkombinuje do jednoho záměru s entitami. Záměry, které jsou příliš podobné, můžou službě LUIS usnadnit rozlišení mezi nimi. Záměry by měly být dostatečně různorodé, aby zachytily hlavní úlohy, o které uživatel žádá, ale nepotřebují zachytit každou cestu, kterou váš kód vezme. Například dva záměry: BookFlight() a FlightCustomerService() můžou být samostatné záměry v cestovní aplikaci, ale BookInternationalFlight() a BookDomesticFlight() jsou příliš podobné. Pokud je váš systém potřebuje odlišit, používejte entity nebo jinou logiku místo záměrů.

Žádost o pomoc s aplikacemi s významným počtem záměrů

Pokud snížíte počet záměrů nebo rozdělíte záměry do několika aplikací, kontaktujte podporu. Pokud vaše předplatné Azure zahrnuje služby podpory, obraťte se na technickou podporu Azure.

Osvědčené postupy pro záměry:

Definování jedinečných záměrů

Ujistěte se, že slovník pro každý záměr je jenom pro tento záměr a nepřekrývá se jiným záměrem. Pokud například chcete mít aplikaci, která zpracovává cestovní uspořádání, jako jsou lety leteckých společností a hotely, můžete tyto předmětné oblasti použít jako samostatné záměry nebo stejný záměr s entitami pro konkrétní data uvnitř promluvy.

Pokud je slovník mezi dvěma záměry stejný, zkombinujte záměr a použijte entity.

Představte si následující ukázkové promluvy:

  1. Rezervace letu
  2. Rezervace hotelu

"Rezervovat let" a "rezervovat hotel" používají stejnou slovní zásobu "rezervovat <podstatné jméno>". Tento formát je stejný, takže by měl být stejný záměr s různými slovy letu a hotelu jako extrahované entity.

Přidání funkcí do záměrů

Funkce popisují koncepty záměru. Funkce může být seznam frází slov, která jsou pro daný záměr významná, nebo entita, která je pro tento záměr významná.

Najít sladké místo pro záměry

Pomocí prediktivních dat ze služby LUIS určete, jestli se záměry překrývají. Překrývající se záměry si službu LUIS zaměňují. Výsledkem je, že záměr s nejvyšším skóre je příliš blízko k jinému záměru. Vzhledem k tomu, že služba LUIS při každém trénování nepoužívá úplně stejnou cestu daty, má překrývající se záměr při trénování šanci být první nebo druhý. Chcete, aby skóre promluvy bylo pro každý záměr od sebe daleko od sebe, takže k tomuto rozptylu nedojde. Dobrý rozdíl u záměrů by měl pokaždé vést k očekávanému hlavnímu záměru.

Vyvážení promluv napříč záměry

Aby byly předpovědi služby LUIS přesné, musí být množství ukázkových promluv v každém záměru (s výjimkou záměru None) relativně stejné.

Pokud máte záměr s 500 ukázkovými promluvami a všemi ostatními záměry s 10 ukázkovými promluvami, bude mít záměr 500 promluv vyšší míru predikce.

Přidání ukázkových promluv do záměru none (Žádný záměr)

Tento záměr je záložní záměr označující vše mimo vaši aplikaci. Přidejte jeden ukázkový výrok do záměru None (Žádné) pro každých 10 ukázkových promluv ve zbývající části aplikace LUIS.

Nepřidávejte do záměrů mnoho ukázkových promluv.

Po publikování aplikace přidejte promluvy jenom z aktivního učení v procesu životního cyklu vývoje. Pokud jsou promluvy příliš podobné, přidejte vzor.

Nekombinujte definici záměrů a entit.

Vytvořte záměr pro všechny akce, které robot provede. Použijte entity jako parametry, které tuto akci umožňují.

Například pro robota, který bude rezervovat lety leteckých společností, vytvořte záměr BookFlight . Nevytvádřujte záměr pro každou letecké společnosti ani pro každou cílovou destinaci. Tyto části dat použijte jako entity a označte je v ukázkových promluvách.

Další kroky

Jak používat záměry