Vytvoření rozkompilovatelné aplikace LUIS
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.
V tomto kurzu budete moct vytvořit telekomunikační aplikaci LUIS, která dokáže předpovědět různé záměry uživatelů. Na konci kurzu bychom měli mít telekomunikační aplikaci, která dokáže předpovědět záměry uživatelů na základě textu poskytovaného uživateli.
Budeme zpracovávat různé scénáře uživatelů (záměry), například:
- Registrace nové telekomunikační linky
- Aktualizace existující vrstvy
- Platba faktury
V tomto kurzu se naučíte, jak:
- Vytvoření aplikace LUIS
- Vytvořit záměry
- Přidání entit
- Přidání projevů
- Označení ukázkových promluv
- Trénovat aplikaci
- Publikování aplikace
- Získání predikcí z publikovaného koncového bodu
Vytvoření aplikace LUIS
Přihlášení k portálu LUIS
Novou aplikaci vytvoříte tak , že vyberete +Nová aplikace.
V zobrazeném okně zadejte název "Telecom Tutorial" a ponechte výchozí jazykovou verzi angličtinu. Ostatní pole jsou volitelná, nenastavujte je. Vyberte Hotovo.
Záměry uživatelů jako záměry
První věc, kterou uvidíte v části Sestavení , jsou záměry aplikace. Záměry představují úkol nebo akci, kterou chce uživatel provést.
Představte si aplikaci LUIS pro telecom, co by uživatel potřeboval?
Pravděpodobně by potřebovali provést nějaký typ akce uživatele nebo požádat o pomoc. Jiný uživatel může chtít aktualizovat svoji úroveň nebo zaplatit fakturu
Výsledné schéma je následující. Další informace najdete v osvědčených postupech pro plánování schématu.
Záměr | Účel |
---|---|
UserActions | Určení uživatelských akcí |
Help | Požádat o pomoc |
UpdateTier | Aktualizace aktuální úrovně |
PayBill | Zaplatit nevyrovnanou fakturu |
Nic | Zjistěte, jestli uživatel žádá něco, na co aplikace LUIS není navržená odpověď. Tento záměr se poskytuje jako součást vytváření aplikace a nedá se odstranit. |
Vytvoření nového záměru
Záměr se používá ke klasifikaci uživatelských promluv na základě záměru uživatele určeného z textu přirozeného jazyka.
Aby bylo možné klasifikovat promluvu, potřebuje záměr příklady promluv uživatelů, které by se měly klasifikovat s tímto záměrem.
V horní navigační nabídce vyberte Sestavit a pak na levé straně obrazovky vyberte Záměry . Vyberte + Vytvořit a vytvořte nový záměr. Zadejte nový název záměru UserAction a pak vyberte Hotovo.
UserAction může být jedním z mnoha záměrů. Někteří uživatelé se například můžou chtít zaregistrovat k novému řádku, zatímco jiní se můžou zeptat na načtení informací.
Do tohoto záměru přidejte několik ukázkových promluv, které očekáváte, že se uživatel zeptá:
- Hi! Chci se zaregistrovat k nové lince
- Můžu si zaregistrovat nový řádek?
- Dobrý den, chci nový řádek
- Zapomněl jsem číslo řádku!
- Chci nové číslo řádku
U záměru PayBill můžou být některé promluvy:
- Chci zaplatit fakturu
- Vyrovnání faktury
- Platba faktury
- Chci zavřít aktuální zůstatek
- Ano! Chci zaplatit aktuální fakturu
Když poskytnete ukázkové promluvy, učíte službu LUIS o tom, jaké druhy promluv by se měly pro tento záměr předpovědět. Jedná se o pozitivní příklady. Promluvy ve všech ostatních záměrech se považují za záporné příklady tohoto záměru. V ideálním případě budou další ukázkové promluvy, které přidáte, tím lepší bude predikce vaší aplikace.
Těchto několik projevů slouží pouze pro demonstrační účely. Aplikace z reálného světa by měla mít aspoň 15 až 30 promluv s různou délkou, pořadím slov, časovou, gramatickou správností, interpunkcí a počtem slov.
Vytvoření zbývajících záměrů
Provedením výše uvedených kroků přidejte do aplikace následující záměry:
"Nápověda"
- "Potřebuji pomoc"
- "Potřebuji pomoc"
- "Pomozte prosím"
- "Může mě někdo podporovat?"
- "Zaseknem se, můžeš mi pomoct"
- "Můžu získat pomoc?"
"UpdateTier"
- "Chci aktualizovat svoji úroveň"
- "Aktualizovat moji úroveň"
- "Chci změnit na úroveň VIP"
- Změna předplatného na úroveň Standard
Příklady promluv pro záměr None (Žádný)
Klientská aplikace musí vědět, jestli promluva není smysluplná nebo vhodná pro aplikaci. Záměr None (Žádný) se přidá do každé aplikace jako součást procesu vytváření, abyste zjistili, jestli klientská aplikace neodpovídá na promluvu.
Pokud služba LUIS vrátí záměr None (Žádný) pro promluvu, klientská aplikace se může zeptat, jestli chce uživatel ukončit konverzaci, nebo poskytnout další pokyny pro pokračování konverzace.
Pokud záměr None ponecháte prázdný, promluva, která by se měla předpovědět mimo doménu předmětu, se předpovědí v jednom ze stávajících záměrů domény subjektu. Výsledkem je, že klientská aplikace, jako je chatovací robot, provede nesprávné operace na základě nesprávné předpovědi.
Na levém panelu vyberte Intents (Záměry).
Vyberte záměr None (Žádný). Přidejte tři promluvy, které může uživatel zadat, ale nejsou pro vaši aplikaci Telecom relevantní. Tyto příklady by neměly používat slova, která očekáváte ve vaší doméně předmětu, jako je například úroveň, upgrade, registrace, faktura.
- "Kdy je můj let?"
- "Potřebuji změnit objednávku pizzy, prosím"
- "Jaké je počasí dnes?"
Přidání entit
Entita je položka nebo prvek, který je relevantní pro záměr uživatele. Entity definují data, která je možné extrahovat z promluvy, a je nezbytné k dokončení požadované akce uživatele.
V části sestavení vyberte Entity.
Pokud chcete přidat novou entitu, vyberte +Vytvořit.
V tomto příkladu vytvoříme dvě entity , UpdateTierInfo jako typ entity strojového učení a "Vrstva" jako typ entity seznamu. Luis také umožňuje vytvářet různé typy entit.
V zobrazeném okně zadejte "UpdateTierInfo" a vyberte Machine learned from the available types. Vyberte pole Přidat strukturu, abyste mohli do této entity přidat strukturu.
Vyberte Další.
Pokud chcete přidat podřízenou podentitu, vyberte symbol "+" a začněte přidávat podřízené položky. V našem příkladu entity UpdateTierInfo vyžadujeme tři věci:
- OriginalTier
- NewTier
- Telefonní číslo
Po přidání všech dílčích položek vyberte Vytvořit .
Vytvoříme další entitu s názvem "Vrstva", ale tentokrát se jedná o entitu seznamu a bude obsahovat všechny úrovně, které můžeme poskytnout: úroveň Standard, úroveň Premium a virtuální IP adresa.
Uděláte to tak, že přejdete na kartu entity a stisknete + vytvořit a vyberete seznam z typů na zobrazené obrazovce.
Přidejte položky do seznamu a volitelně můžete přidat synonyma, abyste měli jistotu, že budou všechny případy této zmínky srozumitelné.
Teď se vraťte k entitě UpdateTierInfo a přidejte entitu tier jako funkci pro entity OriginalTier a NewTier, které jsme vytvořili dříve. Měla by vypadat přibližně takto:
Přidali jsme úroveň jako funkci pro originalTier i newTier a přidali jsme entitu Phonenumber, což je typ Regex. Dá se vytvořit stejným způsobem, jakým jsme vytvořili ml a entitu seznamu.
Teď jsme úspěšně vytvořili záměry, přidali ukázkové promluvy a přidali entity. Vytvořili jsme čtyři záměry (kromě záměru none) a tři entity.
Označení ukázkových promluv
Entita strojového učení se vytvoří a dílčí prvky mají funkce. Aby bylo možné provést vylepšení extrakce, musí být ukázkové promluvy označeny dílčími znamény.
Popisky promluv můžete označovat dvěma způsoby:
Použití nástroje pro označování
- Otevřete paletu entit a na kontextovém panelu nástrojů vyberte symbol "@".
- Vyberte každý řádek entity v paletě a pak pomocí kurzoru palety vyberte entitu v každé ukázkové promluvě.
Zvýrazněte text přetažením kurzoru. Pomocí kurzoru zvýrazněte text, který chcete označovat. Na následujícím obrázku jsme zvýraznili vip – úroveň a vybrali entitu NewTier.
Trénování aplikace
V pravém horním rohu webu LUIS vyberte tlačítko Trénovat .
Před trénováním se ujistěte, že pro každý záměr existuje aspoň jedna promluva.
Publikování aplikace
Abyste mohli přijímat predikce SLUŽBY LUIS v chatovacím robotovi nebo jiné klientské aplikaci, musíte aplikaci publikovat do koncového bodu předpovědi. Abyste mohli publikovat, musíte vytrénovat pěst aplikace.
V pravém horním navigačním panelu vyberte Publikovat .
Vyberte produkční slot a pak vyberte Hotovo.
V oznámení vyberte Přístup k adresám URL koncového bodu a přejděte na stránku Prostředky Azure. Adresy URL uvidíte jenom v případě, že máte k aplikaci přidružený prostředek predikce. Stránku Prostředky Azure najdete také kliknutím na Spravovat na levé straně obrazovky.
Získání predikce záměru
V pravé horní nabídce vyberte Spravovat a pak vlevo vyberte Prostředky Azure.
Zkopírujte adresu URL ukázkového dotazu a vložte ji na novou kartu webového prohlížeče.
Adresa URL koncového bodu bude mít následující formát.
https://YOUR-CUSTOM-SUBDOMAIN.api.cognitive.microsoft.com/luis/prediction/v3.0/apps/YOUR-APP-ID/slots/production/predict?subscription-key=YOUR-KEY-ID&verbose=true&show-all-intents=true&log=true&query=YOUR\_QUERY\_HERE
Přejděte na konec adresy URL na panelu Adresa a nahraďte
query=
parametr řetězce tímto:"Dobrý den! Hledám nové číslo, prosím."
Dotaz promluvy se předává v identifikátoru URI. Tato promluva není stejná jako žádná z ukázkových promluv a měla by být dobrým testem pro kontrolu, jestli luis predikuje záměr UserAction jako záměr s nejvyšším skóre.
{ "query": "hello! i am looking for a new number please", "prediction": { "topIntent": "UserAction", "intents": { "UserAction": { "score": 0.8607431}, "Help":{ "score": 0.031376917}, "PayBill": { "score": 0.01989629}, "None": { "score": 0.013738701}, "UpdateTier": { "score": 0.012313577} }, "entities": {} } }
Výsledek JSON identifikuje záměr s nejvyšším skóre jako prediction.topIntent vlastnost. Všechna skóre jsou mezi 1 a 0, lepší skóre je blíže 1.
Další kroky klientské aplikace
V tomto kurzu jste vytvořili aplikaci LUIS, vytvořili záměry, entity, přidali do každého záměru ukázkové promluvy, přidali ukázkové promluvy do záměru None(Žádný), natrénovali, publikovali a otestovali na koncovém bodu. Toto jsou základní kroky vytvoření modelu LUIS.
Služba LUIS neposkytuje odpovědi na promluvy uživatelů, identifikuje pouze typ informací, o který typ informací se žádá v přirozeném jazyce. Následné konverzace poskytuje klientská aplikace, jako je robot Azure.
Vyčištění prostředků
Pokud už aplikaci LUIS nepotřebujete, odstraňte ji. Uděláte to tak, že v nabídce vlevo nahoře vyberete Moje aplikace . Vyberte tři tečky ( ... ) napravo od názvu aplikace v seznamu aplikací a vyberte Odstranit. V automaticky otevíraných dialogech s názvem Odstranit aplikaci? vyberte Ok.