Sestavení rozložitelné 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 na konverzační jazyk, abyste mohli využívat výhod trvalé podpory produktů a možností více jazyků.
V tomto kurzu budete schopni 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 predikovat záměry uživatelů na základě textu poskytnutého uživateli.
Budeme zpracovávat různé uživatelské scénáře (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ů
- Popisky ukázkových promluv
- Trénovat aplikaci
- Publikování aplikace
- Získání předpovědí 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 okně, které se zobrazí, 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 telekomunikační aplikaci LUIS, co by uživatel potřeboval?
Pravděpodobně by museli 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í akcí uživatele |
Help | Žádost o pomoc |
Aktualizovattier | Aktualizace aktuální úrovně |
PayBill | Zaplatit nevyplacenou fakturu |
Žádné | Zjistěte, jestli se uživatel ptá na něco, na co není aplikace LUIS navržená tak, aby odpovídala. 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 promluv uživatelů na základě záměru uživatele určeného z textu v přirozeném jazyce.
Ke klasifikaci promluvy potřebuje záměr příklady uživatelských promluv, které by měly být klasifikovány 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é si například můžou chtít zaregistrovat nový řádek, zatímco jiní můžou požádat o načtení informací.
K tomuto 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 pro nový řádek
- Můžu si zaregistrovat nový řádek?
- Dobrý den, chci nový řádek
- Zapomněl jsem číslo řádku!
- Chci nové číslo řádku
V případě záměru PayBill můžou být některé výroky:
- Chci zaplatit fakturu
- Vyrovnat fakturu
- Zaplatit fakturu
- Chci uzavřít aktuální zůstatek
- Ano! Chci zaplatit aktuální fakturu
Poskytnutím ukázkových promluv vyučujete službu LUIS o tom, jaké druhy promluv by měly být pro tento záměr předpovězeny. Toto jsou pozitivní příklady. Promluvy ve všech ostatních záměrech jsou pro tento záměr považovány za negativní příklady. V ideálním případě čím více ukázkových promluv přidáte, tím lepší budou předpovědi vaší aplikace.
Těchto několik projevů slouží pouze pro demonstrační účely. Reálná aplikace by měla mít aspoň 15 až 30 promluv různé délky, pořadí slov, čas, gramatickou správnost, interpunkci a počet 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 podpořit?"
- "Jsem zasekl, můžeš mi pomoct"
- "Můžu získat pomoc?"
"UpdateTier"
- "Chci aktualizovat úroveň"
- "Update my tier" (Aktualizovat mou úroveň)
- "Chci změnit na úroveň VIP"
- Změna předplatného na úroveň Standard
Příklady promluv pro záměr Žádné
Klientská aplikace potřebuje vědět, jestli promluva není pro aplikaci smysluplná nebo vhodná. V rámci procesu vytváření se do každé aplikace přidá záměr Žádné, aby se zjistilo, jestli klientská aplikace nemá na promluvu odpovědět.
Pokud služba LUIS vrátí pro promluvu záměr "Žádné", klientská aplikace se může zeptat, jestli chce uživatel ukončit konverzaci, nebo zadat další pokyny pro pokračování v konverzaci.
Pokud necháte záměr "None" prázdný, promluva, která by měla být predikována mimo doménu předmětu, bude predikována v jednom ze stávajících záměrů domény předmětu. Výsledkem je, že klientská aplikace, například chatovací robot, bude na základě nesprávné předpovědi provádět nesprávné operace.
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 které nejsou pro vaši aplikaci Telecom relevantní. V těchto příkladech by se neměla používat slova, která očekáváte v doméně předmětu, jako je úroveň, upgrade, registrace nebo faktura.
- "When is my flight?" (Kdy je můj let?"
- "Potřebuji změnit objednávku pizzy, prosím"
- "Jaké je dnes počasí?"
Přidání entit
Entita je položka nebo prvek, který je relevantní pro záměr uživatele. Entity definují data, která se dají extrahovat z promluvy a jsou 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 strojově naučený typ entity a "Vrstva" jako typ entity seznamu. Luis také umožňuje vytvářet různé typy entit.
V okně, které se zobrazí, zadejte UpdateTierInfo a vyberte Machine learned from the available types (Počítač se naučil z dostupných typů). Výběrem pole Přidat strukturu můžete přidat strukturu k této entitě.
Vyberte Další.
Pokud chcete přidat podřízenou dílčí položku, vyberte symbol a+ začněte přidávat podřízenou položku. V našem příkladu entity UpdateTierInfo vyžadujeme tři věci:
- Původnítier
- Novátier
- PhoneNumber
Po přidání všech dílčích podentit vyberte Vytvořit .
Vytvoříme další entitu s názvem "Tier", ale tentokrát to bude entita seznamu a bude obsahovat všechny vrstvy, které můžeme poskytnout: úroveň Standard, Premium a vip úroveň.
Uděláte to tak, že přejdete na kartu entity, stisknete +vytvořit a vyberete seznam z typů na obrazovce, která se zobrazí.
Přidejte položky do seznamu a volitelně můžete přidat synonyma, abyste měli jistotu, že budou srozumitelné všechny případy této zmínky.
Teď se vraťte k entitě UpdateTierInfo a přidejte entitu "vrstvy" jako funkci pro entity OriginalTier a newTier, které jsme vytvořili dříve. Měl by vypadat přibližně takto:
Přidali jsme vrstvu jako funkci pro originalTier i newTier a přidali jsme entitu Phonenumber, což je typ Regex. Dá se vytvořit stejným způsobem jako entita ml a seznam.
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
Vytvoří se strojově naučená entita a dílčí položky mají funkce. Aby bylo možné dokončit vylepšení extrakce, musí být ukázkové promluvy označené dílčími entitami.
Existují dva způsoby, jak označovat promluvy:
Použití nástroje pro popisování
- Otevřete paletu entit a na kontextovém panelu nástrojů vyberte symbol .@
- Vyberte každý řádek entity na paletě a pak pomocí kurzoru palety vyberte entitu v každém příkladu promluvy.
Zvýrazněte text přetažením kurzoru. Pomocí kurzoru zvýrazněte text, který chcete označit. 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 Train (Trénovat).
Před trénováním se ujistěte, že pro každý záměr existuje alespoň jedna promluva.
Publikování aplikace
Abyste mohli přijímat predikci služby LUIS v chatovacím robotovi nebo jiné klientské aplikaci, musíte aplikaci publikovat do koncového bodu predikce. Abyste mohli publikovat, musíte aplikaci vytrénovat jako první.
V pravém horním navigačním panelu vyberte Publikovat .
Vyberte slot Production (Produkční) a pak vyberte Done (Hotovo).
Výběrem možnosti Přístup k adresám URL koncového bodu v oznámení přejděte na stránku Prostředky Azure . Tyto 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í předpovědi záměru
V pravé horní nabídce vyberte Spravovat a pak na levé straně 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 ke kontrole, 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 vlastnost prediction.topIntent . Všechna skóre jsou mezi 1 a 0, lepší skóre je blíže 1.
Další kroky pro klientskou aplikaci
Tento kurz vytvořil aplikaci LUIS, vytvořil záměry, entity, přidal ukázkové promluvy ke každému záměru, přidal ukázkové promluvy do záměru None, natrénoval, publikoval a otestoval na koncovém bodu. Toto jsou základní kroky vytvoření modelu LUIS.
Služba LUIS neposkytuje odpovědi na promluvy uživatelů, pouze identifikuje, o jaký typ informací se žádá v přirozeném jazyce. Další informace o konverzaci zajišťuje klientská aplikace, jako je azure bot.
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 dialogových oknech s názvem Odstranit aplikaci? vyberte OK.