Sdílet prostřednictvím


Používání entit a vyplňování slotů v kopilotech

Velká část konverzací kopilota v Copilot Studio je porozumění přirozenému jazyku, což je schopnost AI porozumět záměru uživatele. Použití se týká například situace, kdy uživatel může říct „Zkoušel jsem použít svou dárkovou kartu, ale nefunguje“ a kopilot umí uživatele 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. Chcete-li začít s entitami, podívejte se na video.

Entitu lze považovat za jednotku informací, která představuje určitý typ předmětu v reálném světě, jako je telefonní číslo, PSČ, město nebo dokonce jméno osoby. Díky znalostem poskytnutým entitami může kopilot 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 kopilotech vám umožňují ukládat informace do podobných skupin.

Copilot Studio je vybaven sadou 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 poskytnutým entitami může kopilot chytře rozpoznat relevantní informace z uživatelského vstupu a uložit je pro pozdější použití.

Abychom tomuto pojmu lépe rozuměli, lze jako příklad použít entitu Peníze.

  1. Otevřete kopilota Copilot Studio a vyberte Nastavení v horní části stránky a poté Entity v nabídce.

    Přechod na kartu Entity.

    Zobrazí se seznam předem připravených dostupných entit.

    Podokno entit.

  2. Vyberte entitu Peníze, čímž se otevře podokno podrobností entity.

    Popis entity Peníze.

Zde vidíte vysvětlení této entity a způsoby, jak ji lze použít k vyhledání 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 kopilot ví, že „1000 dolarů“ představuje peněžní typ informací. Když kopilot extrahuje tuto entitu 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í kopilota, který slouží konkrétnímu účelu, budete muset naučit model porozumění jazyku kopilota určité znalosti specifické pro doménu.

Dejme tomu, že chcete sestavit kopilota pro obchod s outdoorovou výbavou. V tomto případě budete muset kopilota naučit, aby v dialogovém okně uznal kategorii „produkt outdoorové výbavy“.

Nejprve vytvořte vlastní entitu. V tomto případě můžete vytvořit entitu, která kopilotovi poskytne znalosti o všech kategoriích outdoorových produktů.

  1. Otevřete kopilota Copilot Studio a vyberte Nastavení v horní části stránky a poté Entity v nabídce.

  2. Vyberte Přidat entitu>Nová entita.

    Výběr možnosti Nová entita.

  3. Otevře se nové podokno, ve kterém můžete vybrat 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.

Snímek obrazovky okna vytvoření entity se zvýrazněnou možností Uzavřený seznam.

Výběrem této možnosti při vytváření entity se zobrazí podokno, kde můžete zadat název entity, volitelný popis a zadat položky, které chcete do entity zahrnout.

Snímek obrazovky podokna seznamu entit.

Při zadávání položek můžete:

  • Vybrat každou položku a změnit její název.
  • Vybrat ikonu koše a odstranit položku ze seznamu.
  • Vyberte položku + Synonyma (nebo vyberte uvedená synonyma, pokud již byla přidána) a otevřete podokno Upravit synonyma.

Přidáním synonym 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í“.

Snímek obrazovky podokna Upravit synonyma.

U každé entity můžete také povolit Inteligentní párování.

Inteligentní párování je součástí umělé inteligence podporované kopilotovým modelem porozumění jazyku. Pokud je tato možnost povolena, kopilot bude interpretovat vstup uživatele pomocí fuzzy logiky na základě položek uvedených v entitě.

Kopilot zejména automaticky opraví překlepy a sémanticky rozšíří svou logiku párování. Kopilot může například automaticky přiřadit „softball“ k „baseballu“.

Snímek obrazovky přepínače možnosti inteligentního párování.

Po dokončení vytváření nebo úprav entity vyberte Uložit, uložte entitu a vraťte se do seznamu entit. Výběrem možnosti Zavřít zahodíte vaše změny (budete mít možnost vrátit se k úpravě entity v případě, že jste omylem vybrali špatnou možnost).

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 typu regulární výraz se skvěle hodí ke komplexnímu párování vzorů se vstupem uživatele nebo pokud potřebujete povolit specifické variace v tom, jak může uživatel formátovat nebo vkládat svůj vstup do konverzace.

Například byste mohli použít entitu regulárního výrazu k identifikaci položek, jako je ID sledování, licenční číslo, číslo kreditní karty nebo IP adresa z řetězce, který uživatel zadá do kopilota.

Snímek obrazovky okna vytvoření entity se zvýrazněnou možností Regulární výraz.

Výběrem této možnosti při vytváření entity se zobrazí podokno, kde můžete zadat název entity, volitelný popis a zadat vzor regulárního výrazu, který by měl být použit ke spárování a extrahování položek entity ze vstupu.

Snímek obrazovky podokna entity regulárního výrazu.

Entita regulárního výrazu Copilot Studio používá syntaxi regulárních výrazů .NET.

Ve výchozím nastavení se při porovnávání vzorů rozlišují velká a malá písmena; chcete-li, aby se nerozlišovala, použijte v řetězci vzoru možnost regulárního výrazu (?i). Některé základní příklady vzorů jsou zahrnuty v podokně entity regulárního výrazu, další informace o syntaxi a další příklady najdete 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.

Po dokončení vytváření nebo úprav entity vyberte Uložit, uložte entitu a vraťte se do seznamu entit. Výběrem možnosti Zavřít zahodíte vaše změny (budete mít možnost vrátit se k úpravě entity v případě, že jste omylem vybrali špatnou možnost).

Používání entit v konverzaci

Nyní, když jste kopilotovi poskytli znalosti o outdoorovém vybavení vytvořením entity kategorie produktu a několika dalších vlastních entit, můžete je začít používat při vytváření konverzace s kopiloty.

  1. Přejděte na stránku Témata pro kopilota, kterého chcete upravit.

  2. Otevřete téma pro entitu, kterou chcete shromáždit.

  3. Vyberte ikonu nabídky Přidat uzel a poté vyberte Položit otázku.

  4. V části Identifikovat vyberte entitu, kterou jste vytvořili v části Vlastní entity.

    Uzel otázky s výběrem entity.

  5. 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.

    Snímek obrazovky, který ukazuje výběr hodnot entit, které se mají zobrazit jako tlačítka za běhu.

  6. 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. Nicméně v aplikaci Copilot Studio pojem vyplňování slotů znamená umístění extrahované hodnoty entity do proměnné.

Jako příklad budeme nadále používat téma kempingových aktivit, které se spouští zadáním fráze „chci něco dělat“ v testovacím chatu.

Téma se úspěšně spustí a kopilot se zeptá na typ aktivity, přičemž také zobrazí tlačítkové volby zadané při vytváření uzlu Položit otázku. Ve stromu dialogu sledování témat také ukazuje, že kopilot směřuje k uzlu otázky, který jste právě upravili.

Sledování témat.

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.

Přídavné sledování témat.

Při sledování témat se ukazuje, že dialog je správně nasměrován na cestu, ve které má kategorie produktu hodnotu „Pěší turistika“. Hodnotu proměnné můžete zkontrolovat v okně sledování proměnné ve spodní části vytvářecího plátna. V okně sledování vidíte, že hodnota proměnné je „Pěší turistika“.

K vyplnění slotu došlo vložením extrahované entity „Pěší turistika“ do proměnné VarCampType.

Okno sledování proměnných.

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. Kopilot 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řípadě uživatel napsal „Nudím se, ale mám rád horolezectví“. Tato zpráva obsahuje jak spouštěcí frázi, že uživatel chce pomoc s outdoorovými aktivitami, tak také poskytuje druhou informaci – „horolezectví“, což je entitou definované synonymum pro pěší turistiku. V tomto případě kopilot vyplní entitu pro výběr outdoorové aktivity a pro typ aktivity.

Vícenásobné a proaktivní vyplňování slotů.

Při sledování témat můžete vidět, že kopilot přebírá tento uživatelský vstup a inteligentně přeskakuje uzel otázky s dotazem na typ aktivity.

Kopilot 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ázek s dotazem na věci, jako, kolik času na aktivitu máte (pomocí entity Doba trvání) a také cenové rozpětí (pomocí entity Peníze).

Tentokrát, když je uvedena otázka kategorie produktu, místo toho, aby kopilotovi sdělil pouze kategorii produktu, může uživatel říci „Chci si koupit pár turistických bot do 100 dolarů“. V tomto příkladu je kopilot nejen schopen přejít na správnou trasu kategorie produktu pro pěší turistiku, ale také aktivně vyplnit sloty s dotazem na typ turistické výbavy a informaci o cílovém cenovém rozpětí.

Sledování témat u produktových a cenových kategorií.

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ázky. Proveďte následující kroky pro deaktivaci možnosti Přeskočit otázku.

  1. Vyberte ikonu Další () nabídky uzlu Otázka a poté vyberte Vlastnosti. Zobrazí se panel Vlastnosti otázky.

    Otevřete panel vlastností otázky.

  2. Na panelu Vlastnosti otázky vyberte Chování otázky.

  3. 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řeskočení otázky.