Osvědčené postupy k entitám a vyplňování slotů v Copilot Studio
Co je plnění slotu?
Vyplňování slotů souvisí s používáním entit , které agent umožňují snadněji získávat a používat informace tím, že je identifikují a extrahují z uživatelského dotazu.
Agent obvykle potřebuje ke své práci několik informací od uživatele. Chcete-li získat tyto informace, obvykle byste položili samostatné otázky, jednu pro každou skutečnost, kterou agent potřebuje. Když ve svých otázkách použijete entity, Copilot Studio detekuje požadované informace a přeskočí otázky, kde by mohly být informace identifikovány ve spouštěcím uživatelském dotazu.
Když se například uživatel zeptá: Chtěl bych si objednat 3 velká modrá trička
Porozumění přirozenému jazyku (NLU) Copilot Studio dokáže okamžitě porozumět:
- Téma je Pořadí
- Množství je 3
- Barva je Modrá
- Typ položky je T-Shirt
Agent pak může přeskočit zbytečné otázky. Pokud některé informace chybí, například Velikost, zeptá se na nezodpovězené otázky, než se přesune dál. Vyplnění slotu umožňuje vašemu agent snadněji získávat a používat informace a snižuje počet otázek, které musíte položit.
Nejprve definujete entity, které chcete použít, a jejich typy.
Definování entit
Copilot Studio poskytuje několik vestavěných entit pro nejběžnější případy použití, jako je např E-mail, Datum a čas, Jméno osoby, Telefonní číslo, Barva, Země, Město, Číslo, Peníze a další.
Vestavěné entity jsou výkonné, protože dokážou zpracovat mnoho variant formy, kterou může mít informace. Například při použití entity Peníze v konverzaci může uživatel zadat hodnotu jako „100 $“ nebo „sto dolarů“ nebo „100 dolarů“. Model NLU v Copilot Studio zjistí, že hodnota je peněžní hodnota 100 dolarů.
Tip
Ať už jsou hodnoty zadány jakkoli, pokud jsou požadovány s otázkami ve vašem toku konverzace, jsou uloženy v proměnných, které můžete znovu použít.
Můžete také definovat své vlastní uživatelské entity, jako je např Typ položky z předchozího příkladu. Vlastní entity mohou být dvou typů:
- Uzavřený seznam: pro předdefinovaný seznam hodnot.
- Regulární výrazy (RegEx): pro informace odpovídající konkrétnímu vzoru. RegEx je ideální, když potřebujete zachytit data, která mají vždy stejný formát (např. INC000001 jako číslo vstupenky)
Vylepšení uživatelského prostředí
Používání entit vám zjednodušuje život tím, že necháte Copilot Studio inteligentněji shromažďovat informace z uživatelských dotazů. A co je důležitější, zlepšuje to život uživatelů, protože entity mohou vyhledávat a ukládat informace z uživatelských dotazů a poté je zpřístupnit později v konverzaci. Entity zlepšují uživatelskou zkušenost – vaše agent se díky nim jeví chytřejší – a jejich používání, kdykoli je to možné, je rozhodně osvědčeným postupem.
Osvědčené postupy k entitám
Použití synonym
Přidáním synonym do hodnot entit uzavřeného seznamu ručně rozšíříte logiku porovnávání u každé položky v seznamu entit. Například v položce „turistika“ můžete přidat jako synonyma „treking“ a „horolezectví“.
Tip
- Použití synonym může také pomoci spouštění témat, protože zvyšuje váhu spouštěcí fráze přidáním příbuzných slov jako synonym entity, kterou obsahuje. Například pro možnost „Stížnost“ přidejte podobná vylučující slova nebo fráze jako synonyma.
- Model NLU také zobecňuje všechny varianty entity (to znamená všechny jejich hodnoty a jejich synonyma) v případě, že spouštěcí fráze tématu obsahuje alespoň jednu variantu této entity. Jinými slovy, agent autoři by měli zahrnout jeden příklad spouštěcí fráze s jedním použitím této entity pro NLU pro zobecnění na jiné varianty entity.
Povolit inteligentní párování
U každé entity uzavřeného seznamu můžete také povolit Inteligentní párování.
Smart Matching je součástí inteligence podporované modelem agent's NLU. Když je tato možnost povolena, agent interpretuje vstup uživatele pomocí fuzzy logiky na základě položek uvedených v entitě.
Konkrétně agent automaticky opravuje překlepy a sémanticky rozšiřuje svou odpovídající logiku. Například agent může automaticky odpovídat „softball“ k „baseball“.
Buďte kreativní s regulárními výrazy
Někdy může extrakce entity z uživatelského dotazu vést ke zmatení modelu NLU, zejména pokud je v uživatelském dotazu přítomno několik entit stejného typu.
Pokud například uživatel řekne: „můžete přinést 2 ručníky a 1 polštář do pokoje 101“?
Použití vestavěné entity Číslo by bylo zmateno mezi 2, 1 a 101. Chcete-li tento zmatek obejít, můžete definovat následující entity regulárního výrazu:
- Množství ručníků: [1-9] ručník
- Množství polštářů: [1-9] polštář
- Číslo pokoje: [0-9]{3}
Alternativy k entitám pro ukládání referenčních dat
Pro velké nebo vyvíjející se datové sady (například seznam produktů nebo zákazníků) namísto použití entit uzavřeného seznamu Copilot Studio možná budete chtít zkontrolovat externí zdroje. Uživatelský výrok musíte předat externí službě pomocí cloudového toku Power Automate.
Vaše logika tématu pak může ověřit přesnost výsledku (nebo požádat uživatele o jeho ověření), než se pohne v konverzaci vpřed.
Dataverse je dobrým kandidátem pro ukládání takových dat, protože má vestavěnou funkci Vyhledávání Dataverse, která podporuje fuzzy párování a poskytuje nejlepší výsledky spolu se skóre spolehlivosti. I při vyhledávání pomocí celé věty je schopen načíst potenciální shody.
Tip
Chcete-li zkontrolovat ukázkovou implementaci, viz Vrácení seznamu výsledků.