Poznámka
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Podstatná část konverzací agentů v Copilot Studio je porozumění přirozenému jazyku, což je schopnost AI porozumět záměru uživatele. Zákazník může například říct „Zkoušel jsem použít svou dárkovou kartu, ale nefunguje“ a agent je schopen zákazníka nasměrovat na téma související s nefunkčními dárkovými kartami – dokonce i pokud tato přesná fráze není uvedena jako spouštěcí fráze.
Jedním ze základních aspektů porozumění přirozenému jazyku je identifikace entit v uživatelském dialogu.
Entitu lze považovat za jednotku informací, která představuje určitý typ předmětu v reálném světě. Například telefonní číslo, PSČ, město nebo dokonce jméno osoby. Díky znalostem poskytnutým entitami může agent chytře rozpoznat relevantní informace z uživatelského vstupu a uložit je pro pozdější použití.
Předem připravené entity
Entity v agentech umožňují ukládat informace do podobných skupin.
Copilot Studio podporuje sadu předem připravených entit, které představují nejčastěji používané typy informací v dialozích reálného světa, jako je věk, barvy, čísla a jména.
Díky znalostem uděleným entitami může agent chytře rozpoznat relevantní informace ze vstupu uživatele a uložit je pro pozdější použití.
Abychom tento pojem pochopili, použijeme entitu Money jako příklad.
Otevřete agenta v Copilot Studio, v horní části stránky vyberte Nastavení a pak v nabídce vyberte Entity.
Zobrazí se seznam všech dostupných entit
Vyberte entitu Peníze. Otevře se panel podrobností pro entitu.
Zde vidíte vysvětlení této entity a způsoby, jak ji lze použít k extrakci informací souvisejících s penězi nebo měnou ze vstupu uživatele.
Když například uživatel zadá „Stojí to 1000 dolarů“, pomocí této peněžní entity agent ví, že „1000 dolarů“ představuje peněžní typ informací. Když agent extrahuje tyto informace a uloží ji do proměnné, uloží „1000“ jako číslo, i když okolní informace byly textové.
Vlastní entity
Předem vytvořené entity pokrývají běžně používané typy informací. V některých případech, například při sestavování agenta, který slouží ke konkrétnímu účelu, může být nutné naučit agentův model porozumění jazyku znalosti specifické pro doménu.
Dejme tomu, že chcete vytvořit agenta pro obchod s outdoorovou výbavou. V tomto případě budete muset agenta naučit, aby v konverzaci potvrdil kategorii „produkt outdoorové výbavy“.
Nejprve vytvořte vlastní entitu. V tomto případě můžete vytvořit entitu, která agentovi poskytne znalosti o všech kategoriích outdoorových produktů.
Přejděte na stránku Nastavení vašeho agenta a vyberte Entity.
Vyberte Přidat entitu>Nová entita.
Vyberte požadovaný typ entity: buď uzavřený seznam nebo regulární výraz (regex).
Entity uzavřeného seznamu
Entity uzavřeného seznamu umožňují definovat seznam položek. Tyto entity se hodí především pro malé seznamy, které se snadno spravují a které mají jednoduché popisky položek.
V části Vytvořit entitu vyberte Uzavřený seznam.
Na panelu, který se otevře, zadejte název nové entity – například Aktivita kempování.
V případě potřeby přidejte popis.
Pod položkou Položky seznamu zadejte hodnoty, které chcete přidružit k této entitě. Například turistika a jóga.
Případně můžete nahrát soubor se seznamem všech požadovaných hodnot, které chcete pro tuto entitu přidat.
Při zadávání položek můžete:
- Vybrat položku a změnit její název.
- Vybrat ikonu koše a odstranit položku.
- Vyberte položku Synonyma (nebo vyberte uvedená synonyma, pokud již byla přidána) a otevřete panel Úprava synonym.
Přidáním synonym rozšíříte logiku porovnávání u každé hodnoty v seznamu. Například v položce turistika můžete přidat jako synonyma trekking a horolezectví.
V případě potřeby zapněte pro tuto entitu inteligentní párování.
Inteligentní párování je součástí umělé inteligence podporované modelem porozumění jazyku agenta. Pokud je aktivní inteligentní párování, agent interpretuje vstup uživatele pomocí přibližné logiky proti hodnotám uvedeným pro entitu.
Agent zejména automaticky opraví překlepy a sémanticky rozšíří svou logiku párování. Agent může například automaticky přiřadit „softball“ k „baseballu“.
Až dokončíte vytváření nebo úpravy entity, vyberte Uložit. Volbou Zahodit zahodíte provedení změny.
Nahrání hodnot pro entitu uzavřeného seznamu
Na panelu podrobností pro entitu uzavřeného seznamu můžete přidat nebo nahradit sadu hodnot a synonym přidružených k entitě.
Připravte si textový soubor (maximálně 3 MB) se seznamem všech hodnot, které chcete pro svou entitu přidat, včetně případných synonym. Použijte tento formát: jednu hodnotu na řádek a použijte svislou čáru (
|
) jako oddělovač synonym. Příklad:hiking|trekking hiking|mountaineering yoga cycling|bicycling cooking
V části Položky seznamu vyberte Nahrát soubor.
V části Nahrát soubor vyberte požadovanou možnost:
- Pokud chcete přidat nové hodnoty a synonyma pro vaši entitu, vyberte Připojit.
- Pokud chcete nahradit všechny existující hodnoty a synonyma seznamem ze souboru, vyberte Nahradit.
Přetáhněte soubor do okna. Případně vyberte kliknout pro procházení, přejděte na soubor a vyberte ho.
Zkontrolujte hodnoty a synonyma, která se zobrazí, a vyberte Přidat.
Stažení hodnot pro entitu uzavřeného seznamu
Z panelu podrobností pro entitu uzavřeného seznamu si můžete stáhnout textový soubor se seznamem sady hodnot a synonym přidružených k entitě.
V části Položky seznamu vyberte Stáhnout soubor.
Uložte výsledný textový soubor nebo ho otevřete v textovém editoru a zkontrolujte jeho obsah. Každá hodnota entity se zobrazí na samostatném řádku. Pokud má hodnota více synonym, zobrazí se na samostatných řádcích, například takto:
hiking|trekking hiking|mountaineering
Entity typu Regulární výraz (Regex)
Entity typu regulární výraz (regex) umožňují definovat logické vzory, které můžete použít ke spárování a extrahování informací ze vstupu. Entity regulárních výrazů jsou skvělé pro komplexní porovnávání vzorů se vstupem uživatele. Jsou také užitečné, pokud potřebujete povolit konkrétní varianty toho, jak může uživatel formátovat nebo zadávat vstup do konverzace.
Například byste mohli použít entity regulárního výrazu k identifikaci položek, jako je ID sledování, licenční číslo, číslo kreditní karty nebo IP adresa.
V části Vytvořit entitu vyberte Regulární výraz (regex).
Na panelu, který se otevře, zadejte název nové entity.
V případě potřeby přidejte popis.
Zadejte vzor regulárního výrazu, který se má použít ke spárování a extrahování položek entity ze vstupu.
Entita regulárního výrazu Copilot Studio používá syntaxi regulárních výrazů .NET.
Ve výchozím nastavení rozlišuje vzor párování velikost písem. Chcete-li, aby se nerozlišovala, v řetězci vzoru použijte možnost regulárního výrazu
(?i)
. Některé základní příklady jsou zahrnuty v podokně entit regulárního výrazu (regex). Další informace o syntaxi a další příklady naleznete v tématu Jazyk regulárních výrazů – rychlý průvodce.Pokud potřebujete, aby regulární výraz vyhovoval více vzorům, můžete použít operátor alternace
|
ke zřetězení regulárních výrazů. Můžete například zkombinovat dva vzory regulárních výrazů a hledat starý i nový formát kódu ID produktu.Až dokončíte vytváření nebo úpravy entity, vyberte Uložit. Volbou Zahodit zahodíte provedení změny.
Používání entit v konverzaci
Nyní, když váš agent ví o outdoorovém vybavení díky entitě Campingová aktivita a dalším vlastním entitám, které jste vytvořili, můžete je začít používat ve svém agentovi.
Přejděte na stránku Témata svého agenta.
Otevřete téma pro entitu, kterou chcete shromáždit.
Vyberte ikonu nabídky Přidat uzel
a poté vyberte Položit otázku.
V části Identifikovat vyberte entitu, kterou jste vytvořili v části Vlastní entity.
Volitelně můžete také vybrat položky, které se zobrazí jako tlačítka. Pokud například chcete zobrazit některé kategorie jako tlačítka, ze kterých si uživatelé mohou pohodlně vybrat svůj vstup, můžete vybrat položku Vybrat možnosti pro uživatele a poté je vyberte ze seznamu obsahujícího položky, které jste přidali při vytváření vlastní entity.
V případě potřeby pojmenujte proměnnou pro výstup uživatelské odpovědi.
Vyplňování slotů
Vyplňování slotů je koncept porozumění přirozenému jazyku, který znamená uložení extrahované entity do objektu. V nástroji Copilot Studio výplň slotu znamená umístění extrahované hodnoty entity do proměnné.
Jako příklad opět použijme téma outdoorové výbavy, které se spustí zadáním fráze „Chci něco dělat“ v testovacím chatu.
Téma se úspěšně spustí a agent se zeptá na typ aktivity, přičemž také zobrazí tlačítkové volby zadané při vytváření uzlu Otázka. Když zapnete možnost sledovat témata, ve stromu dialogu sledování témat také ukazuje, že agent směřuje k tomuto uzlu Otázka.
Uživatel může použít předdefinované volby výběrem jednoho z tlačítek. Případně mohou také zapsat něco jako „treking“ a zjistit, že to odpovídá „turistice“, protože tato slova byla definována jako synonyma.
Zobrazení sledování ukazuje, že dialogové okno je správně směrováno na cestu, ve které je hodnota kategorie produktu „Turistika“. Hodnotu proměnné můžete zkontrolovat v okně sledování proměnné v dolní části plátna pro vytváření obsahu. Ve sledovacím okně je vidět, že hodnota proměnné je "Pěší turistika".
K vyplnění slotu dojde vložením extrahované entity „Pěší turistika“ do proměnné VarCampType
.
Můžete také použít to, co je známé jako "proaktivní vyplňování slotů", kdy uživatel může zadat více kusů informací, které se mapují na více entit. Agent je schopen automaticky porozumět tomu, jaké informace patří ke které entitě. V případech, kdy si není jistý zamýšleným mapováním, vyzve uživatele, aby byl konkrétnější poskytnutím možností.
V tomto příkladu uživatel napsal:"Jsem nudný, ale mám rád horolezectví." Tato zpráva obsahuje aktivační frázi, kterou chce uživatel pomoct s venkovními aktivitami, a druhou informací o "horolezci", což je synonymum pro pěší turistiku. V tomto případě agent vyplní entitu pro volbu outdoorové aktivity a typu aktivity.
Zobrazení sledování ukazuje, že agent přebírá tento uživatelský vstup a inteligentně přeskakuje uzel Otázka s dotazem na typ aktivity.
Agent vždy aktivně naslouchá vstupu uživatele, pamatuje si informace předem, aby mohl podle potřeby přeskočit zbytečné kroky.
Znovu spustíme testování a zkusíme jiný případ. V tomto kole můžete přidat několik dalších uzlů Otázka s dotazem na věci, jako je množství času, které na aktivitu máte (pomocí entity Doba trvání), nebo cenové rozpětí (pomocí entity Peníze).
Když je tentokrát prezentována otázka ohledně kategorie produktu, uživatel místo toho, aby agentovi sdělil pouze kategorii produktu, může říct „Chci si koupit pár turistických bot pod 100 USD“. V tomto příkladu jej může agent nejen nasměrovat na správnou cestu ke kategorii turistických produktů, ale také aktivně vyplnit pole s dotazem na typ turistického vybavení a cílové cenové rozpětí.
Proaktivní vyplnění slotů lze ručně ovládat na úrovni uzlů. Pokud chcete vždy vyžadovat zadání otázky v rámci konkrétního uzlu bez ohledu na to, zda byl blok zaplněn předchozími odpověďmi uživatelů, můžete zakázat možnost Přeskočit otázku pro tento uzel Otázka. Proveďte následující kroky pro deaktivaci možnosti Přeskočit otázku.
Vyberte ikonu Další (…) nabídky uzlu Otázka a poté vyberte Vlastnosti. Zobrazí se panel Vlastnosti otázky.
Na panelu Vlastnosti otázky vyberte Chování otázky.
Na panelu Chování otázky v části Přeskočit otázku vyberte Pokaždé se ptát a poté v horní části stránky vyberte Uložit.
Přijetí jedné z více entit při konverzaci
V některých situacích může agent přijmout jednu z více platných odpovědí v daném okamžiku konverzace. Váš agent může například vyzvat zákazníka, aby zadal číslo svého účtu nebo jeho telefonní číslo. Můžete také chtít, aby váš agent nechal zákazníka uvést, že tyto informace nemá, a odpovídajícím způsobem směrovat zákazníka místo okamžitého eskalace na zástupce zákaznicḱé podpory.
Přidejte uzel Otázky.
V části Identifikovat vyberte jednu z více entit.
Pro každou entitu, kterou chcete přijmout na tomto uzlu, vyberte Novou entitu a vyberte požadovanou entitu. Uzel otázky může podporovat až pět různých entit.
V části Uložit odpověď uživatele vyberte výchozí název proměnné a otevřete panel Vlastností proměnné a změňte název na něco smysluplného– například identifikátor.
Proměnná, která ukládá rozpoznanou hodnotu entity , je záznam typu, s jedním prvkem pro každou podporovanou entitu v tomto uzlu – například Identifier.account, Identifier.phone, Identifier.unknown.
Přidejte podmínky pro směrování konverzace podle informací poskytovaných zákazníkem. Je vhodné nastavit podmínky pomocí operátoru Není prázdné (nebo je prázdné).
Chování rozpoznávání pro jednu z více entit
Tento typ rozpoznávání je určený k identifikaci jedné entity ze sady možných entit v konverzaci. Pokud zákazník zadá příkaz, který obsahuje dvě nebo více entit nakonfigurovaných pro identifikaci v odpovídajícím uzlu Otázky , agent identifikuje pouze první entitu v seznamu. Proto se ujistěte, že otázky a podmíněná logika, která následuje za takovými uzly Otázky odpovídajícím způsobem.
Řekněme například, že uzel Otázky je nakonfigurovaný tak, aby rozpoznával jednu z následujících možností: číslo karty knihovny, telefonní číslo nebo "Nevím", v tomto pořadí. Pokud zákazník řekne"Moje telefonní číslo je 777 555-1212 a číslo karty je 123456789", rozpoznaná hodnota entity je číslo karty, protože je to první entita v seznamu možných entit na odpovídajícím uzlu Otázky .
Pokud agent nemůže identifikovat žádné z entit, které uzel Otázky má rozpoznat, použije chování opětovného dotazu zadané pro tento uzel.
Omezení
Níže jsou známá omezení uzlů Question nakonfigurovaných k tomu, aby v rámci konverzace shromažďovaly jeden z mnoha subjektů během konverzačního obratu:
Podpora je omezená na maximálně pět entit.
Externí entity nejsou podporované.
Podpora pouze jedné entity libovolného typu. Například jeden uzel Otázky nedokáže rozpoznat dvě entity typu Datum.