Sdílet prostřednictvím


Možnosti rozpoznávání záměrů a extrakce entit pro úlohy inteligentních aplikací

Rozpoznávání záměrů a extrakce entit jsou klíčovými součástmi porozumění přirozenému jazyku.

Rozpoznání záměru zahrnuje identifikaci cíle nebo účelu uživatele za jeho vstupem. Pokud například uživatel řekne: "Chci si rezervovat let," záměrem je rezervovat let. Rozpoznávání záměru pomáhá agent pochopit, jakou akci je potřeba provést na základě žádosti uživatele.

Extrakce entit zahrnuje identifikaci a extrahování konkrétních informací ze vstupu uživatele. Entitami mohou být například data, jména, místa nebo jakákoli jiná relevantní data. Například ve větě "Zarezervujte si let do New Yorku na 15. září" jsou "New York" a "15. září" entity.

Agent používá záměr k pochopení cíle uživatele a entit k identifikaci konkrétních podrobností potřebných k dokončení úkolu. Rozpoznávání záměrů a extrakce entit proto umožňují agent poskytovat přesné a efektivní odpovědi na dotazy uživatelů.

Při navrhování úloh inteligentních aplikací je potřeba zvolit nejlepší možnost pro rozpoznávání záměrů a extrakci entit, abyste zajistili, že vaše úlohy inteligentních aplikací budou poskytovat pozitivní uživatelské prostředí.

Definice

Pojem definice
NLU Porozumění přirozenému jazyku je podmnožinou zpracování přirozeného jazyka v umělé inteligenci, která se zaměřuje na strojové čtení s porozuměním.
CLU Porozumění konverzační řeči je funkce Azure AI, která umožňuje vytvářet vlastní NLU modely.
LLM Velký jazykový model je typ modelu umělé inteligence navržený tak, aby rozuměl a generoval lidský jazyk.
GPT Generativní předtrénovaný transformátor odkazuje na řadu velkých jazykových modelů, které používají architekturu transformátoru k pochopení a generování textu podobného lidskému.
Dynamické řetězení Dynamické řetězení je metoda automatizace triggerů pro generativní akce. Namísto ručního definování všech možných témat nebo spouštěcích frází umožňuje dynamické řetězení umělé inteligenci určit, která témata nebo akce pluginu je třeba volat na základě kontextu konverzace.

Volba správné možnosti pro rozpoznávání záměrů a extrakci entit v úloze inteligentní aplikace zahrnuje několik klíčových aspektů:

  • Předem připravené vs. vlastní entity: Vyhodnoťte, jestli předem připravené entity, které poskytuje Microsoft Copilot Studio, vyhovují vašim potřebám. Předem připravené entity pokrývají běžné typy informací, jako jsou data, čísla a jména. Pokud vaše aplikace vyžaduje znalosti specifické pro doménu, možná budete muset vytvořit vlastní entity.

  • Složitost uživatelských vstupů: Zvažte složitost a variabilitu uživatelských vstupů. Pro jednoduché scénáře mohou stačit předem připravené entity. U složitějších interakcí mohou být nutné vlastní entity a rozšířené konfigurace, jako jsou regulární výrazy (regex).

  • Vyplňování slotů: Určete, jestli vaše aplikace vyžaduje proaktivní vyplňování slotů, kde agent aktivně vyhledává a vyplňuje chybějící informace z uživatelských vstupů. Vyplňování slotů může zlepšit uživatelský zážitek tím, že sníží potřebu následných otázek.

  • Výkon a škálovatelnost: Vyhodnoťte výkon a škálovatelnost zvolené metody. Vlastní entity a složité konfigurace často vyžadují větší výpočetní výkon a mohou ovlivnit dobu odezvy.

  • Snadná údržba: Zvažte snadnost údržby a aktualizace entit. Předem připravené entity se snadněji spravují, zatímco vlastní entity vyžadují průběžné úpravy s tím, jak se vaše aplikace vyvíjí.

Vyberte si mezi standardním NLU, Azure CLU nebo dynamickým řetězením

Spouštění témat nebo akcí v Copilot Studio lze dosáhnout použitím standardního modelu NLU, jeho kombinací nebo přepsáním s vlastním modelem Azure CLU nebo úplným nahrazením modelu NLU dynamickým řetězením, modelem založeným na velkém jazykovém modelu GPT.

Standardní model NLU Vlastní model Azure CLU Dynamické řetězení
Pro Výchozí, předem připravený model, který se dodává předem natrénovaný, s mnoha předdefinovanými typy entit.

Konfigurace se provádí přidáním spouštěcích frází a vlastních entit (buď uzavřených seznamů s hodnotami a synonymy, nebo regulárních výrazů).
Podporuje více jazyků s nativními modely.

Podporuje přizpůsobení modelu aktivace záměru pro lepší rozpoznání záměru nebo pro řešení konkrétních oborových požadavků.

Umožňuje komplexní extrakci entit (například stejného typu).

Extrakce entit může také používat standardní NLU Copilot Studio.
Používá velký jazykový model GPT a je předtrénován na širším spektru dat.

Dokáže zpracovat více záměrů a řetězit témata a/nebo pluginy.

Automaticky generuje otázky pro chybějící vstupy a odpovídá na složité entity a otázky z kontextu konverzace.

Konfigurace se provádí popisem témat, akcí pluginu, vstupů a výstupů.
Nevýhoda Rozpoznávání jednoho záměru na dotaz.

Nelze jej rozšířit. Chování modelu nelze upravit ani doladit. Je k dispozici tak, jak je.

Vyplnění více entit stejného typu v jednom dotazu vyžaduje disambiguaci pro každou z nich (například z a do měst).
Rozpoznávání jednoho záměru na dotaz.

Konfigurace se provádí v Azure za příplatek.

Má své vlastní limity služeb, které je potřeba vyhodnotit.

Záměry Azure CLU a témata Copilot Studio musí být pečlivě synchronizovány.
Vzhledem k tomu, že se jedná o funkci generativní AI, je míra vypalování licencí zpráv vyšší než u běžného spouštění témat.

Spouštěcí fráze a vyplňování slotů

Při vývoji úloh inteligentních aplikací můžete pomocí nativních funkcí vylepšit rozpoznávání záměrů a zjednodušit konverzace. Začněte tím, že identifikujete spouštěcí fráze témat z existujících databází častých dotazů a přepisů chatů, abyste zajistili, že očekávané fráze budou relevantní a přesné. Zvažte, jak budete entity používat. Například zda budete používat regulární výrazy k vyhledání ID objednávek, předem vytvořené entity pro e-maily nebo uzavřené seznamy pro typy operací se synonymy. Naplánujte si také, jak budete testovat triggery témat pomocí ukázkových frází, abyste ověřili a upřesnili přesnost procesů rozpoznávání záměru a extrakce entit. Další informace najdete v Úvahách o nasazení a testování.

Spouštěcí fráze

Spouštěcí fráze trénují model agenta NLU. Pomáhají agent rozpoznat a přesně reagovat na promluvy uživatelů tím, že definují konkrétní fráze, které spouštějí konkrétní témata. Správná konfigurace těchto spouštěcích frází zajistí, že agent dokáže správně identifikovat záměr uživatele a odpovídajícím způsobem reagovat. Pokud si agent není jistý, které téma se má aktivovat, může navrhnout až tři potenciální kandidáty na téma (systémové téma odpovídající více tématům) nebo se vrátit k výchozí odpovědi, pokud není identifikováno žádné téma. Tento mechanismus pomáhá udržovat tok konverzace a zajišťuje, že agent dokáže efektivně zpracovávat širokou škálu uživatelských vstupů.

Extrakce entit a plnění štěrbin

Extrakce entit a plnění slotů jsou důležitými součástmi při vývoji účinných agentů. Tyto procesy umožňují agent efektivně získávat a využívat informace tím, že identifikují a extrahují relevantní podrobnosti z dotazů uživatelů.

Extrakce entit zahrnuje analýzu vstupu uživatele za účelem identifikace konkrétních informací. Například v dotazu "Chtěl bych objednat tři velká modrá trička" by měl model NLU agenta extrahovat následující entity:

  • Množství: 3
  • Barva: Modrá
  • Velikost: L
  • Typ položky: Tričko

Vyplnění slotů je proces použití těchto extrahovaných entit k vyplnění potřebných informací pro daný úkol. V tomto příkladu agent rozpozná téma jako objednávku a vyplní požadované sloty extrahovanými entitami. Agent je schopen porozumět požadavku uživatele, aniž by kladl další otázky, což zefektivňuje interakci.

Extrakce entit a vyplňování slotů umožňují agentům efektivněji zpracovávat složité dotazy, poskytovat přesné a kontextově relevantní odpovědi a zlepšovat uživatelskou zkušenost.

Další informace:

Integrace Microsoft Copilot Studio s Azure CLU

Integrace modelu CLU s agentem Copilot Studio může výrazně rozšířit možnosti agenta. Tato integrace zahrnuje mapování záměrů Azure CLU na témata Copilot Studio, což umožňuje agentovi přesněji porozumět záměrům uživatelů a reagovat na ně. Kromě toho je možné předem připravené entity Copilot Studio použít společně s entitami Azure CLU, což poskytuje robustní architekturu pro extrakci entit.

Při zvažování této integrace je důležité vyhodnotit, jestli vaše úloha inteligentních aplikací vyžaduje Azure CLU. Například Azure CLU podporuje více jazyků, oborově specifické slovníky a komplexní extrakci entit, což může být pro vaši aplikaci nezbytné. Vlastní extrakce entit pomocí Azure CLU může také umožnit tiché nebo "šťastné" vyplňování slotů, což umožňuje agent zpracovávat scénáře, jako je identifikace zdrojového i cílového města v jedné frázi bez kladení doplňujících otázek.

Dalším důležitým aspektem je zajistit, aby kvóty a limity služby Azure CLU odpovídaly využití služby agent. Pokud například očekáváte méně než 1 000 hovorů vyžadujících rozpoznání záměru za minutu, můžete nastavit Azure CLU pomocí úrovně S. Tato konfigurace zajišťuje, že agent zvládne očekávané úlohy bez překročení limitů služeb nebo neočekávaných nákladů.

Další informace:

Důležité informace o strukturách témat

Efektivní strukturování témat je důležité pro vytváření přirozených a bezproblémových konverzací. Témata jsou diskrétní konverzační cesty, které v kombinaci umožňují uživatelům hladce pracovat s agent. Tady je několik klíčových aspektů pro navrhování struktur témat:

  • Témata založená na spouštěcí události: Tato témata se aktivují na základě uživatelských výroků a slouží jako vstupní body. Definujte jasné spouštěcí fráze pro tato témata. Pokud se spouštěcí fráze překrývají ve více tématech, zvažte implementaci univerzálního tématu, které může po položení upřesňujících otázek přesměrovat na příslušné téma. Při extrakci entit a vyplňování slotů lze tyto upřesňující otázky přeskočit, pokud jsou již poskytnuty potřebné informace.

  • Témata založená na přesměrování: Tato témata jsou spouštěna akcemi, aktivitami nebo událostmi přesměrování a mohou být volána více dalšími tématy. Měly by být navrženy tak, aby byly opakovaně použitelné a modulární, se vstupními a výstupními proměnnými, aby se usnadnila bezproblémová integrace do různých konverzačních cest.

  • Témata s dvojí aktivační událostí: Některá témata mohou být spuštěna buď prostřednictvím rozpoznání záměru, nebo explicitním přesměrováním. Tato flexibilita umožňuje dynamičtější a citlivější konverzace.

  • Zvýšení konverzace a záložní témata: Vytvořte záložní témata pro situace, kdy dotaz uživatele neaktivuje žádné odpovídající téma. Tato témata mohou nabízet obecné odpovědi nebo navrhovat relevantní témata, aby byl zachován tok konverzace.

Návrhový přístup:

  • Vlastní témata pro klíčové scénáře: Vytvořte několik vlastních témat pro klíčové scénáře s relevantními aktivačními frázemi a přesměrováními. Ke správě složitých interakcí použijte strukturu témat nadřazený-podřízený. V případě nerozpoznaných záměrů implementujte generativní odpovědi a záložní mechanismy.

  • Témata mnohoznačnosti: Naplánujte použití témat mnohoznačnosti pro operace, které vyžadují objasňující otázky. Například operace uživatelského účtu mohou vyžadovat objasnění typu operace (například vytvoření, odemknutí, pozastavení) a použitého systému (například SAP, ServiceNow, Microsoft).

  • Zamezení duplicitám: Chcete-li se vyhnout duplikování obsahu, vytvořte opakovaně použitelná témata pro dialogové cesty, které je třeba opakovat. Tato opakovaně použitelná témata mohou být vyvolána nadřazeným tématem a po dokončení může konverzace pokračovat v logice nadřazeného tématu.

Další informace:

Zpracování nerozpoznaných záměrů

Efektivní správa nerozpoznaných záměrů zajišťuje bezproblémové uživatelské prostředí. K nerozpoznaným záměrům dochází, když agent nerozumí promluvě uživatele a nemá dostatečnou jistotu k aktivaci existujícího tématu. Tady je několik návrhů pro zpracování těchto scénářů:

  • Správa nerozpoznaných záměrů: Zpočátku přesměrujte nerozpoznané záměry na Konverzační posilovací systémové téma, které hledá odpovědi na veřejných webech a podnikových zdrojích, jako jsou weby SharePoint. Pokud nejsou nalezeny žádné relevantní informace, může se systém vrátit k prostředí podobnému ChatGPT pomocí vlastní systémové výzvy s modelem Azure OpenAI GPT-4. Tento přístup zajišťuje, že uživatelé obdrží užitečné odpovědi i v případě, že jsou dotazy neplánované.

  • Integrace s externími systémy: Zvažte, jestli v rámci záložní strategie neprovádíte integraci s externími systémy. Například integrace s modelem Azure OpenAI GPT-4 pomocí požadavků HTTP k zajištění kompatibilního prostředí podobného ChatGPT.

  • Monitorování využití záložních řešení: Pravidelně kontrolujte procento konverzací, které se dostaly do záložních konverzací. Pomocí těchto přehledů můžete obohatit stávající témata nebo vytvořit nová a zajistit, aby agent neustále zlepšoval své porozumění a možnosti reakce.

  • Záložní téma a generativní odpovědi: Záložní systémové téma se spustí, když není identifikováno žádné odpovídající téma. Pokud jsou povolené generativní odpovědi, Téma posílení konverzace se aktivuje nejprve u událostí s neznámým záměrem a podle potřeby následuje záložní téma. Tento vrstvený přístup pomáhá efektivně spravovat nerozpoznané záměry.

  • Použití konverzačního posílení a záložního tématu: Pomocí generativních odpovědí můžete prohledávat různé zdroje dat nebo se integrovat s jinými systémy, jako je Azure Cognitive Service for Language. Tato služba dokáže zpracovat velké objemy párů otázek a odpovědí a zahrnuje model chatu pro náhodné otázky.

  • Základní scénáře a vlastní témata: Ujistěte se, že základní scénáře a témata jsou dobře definována a zpracována prostřednictvím vlastních témat. Jasně definujte výsledky těchto témat, abyste zachovali strukturovaný a efektivní tok konverzace.

Lokalizace a jazyky

Při sestavování agent zvažte jazyky a trhy, které musí vaše úlohy inteligentních aplikací podporovat. Lokalizace a jazyková podpora jsou kritickými faktory, které zajistí, že vaše úlohy inteligentních aplikací splňují potřeby různých uživatelských základen. Tady je několik navrhovaných přístupů:

  • Jeden agent pro každý jazyk: Tento přístup zahrnuje vytvoření samostatného agenta pro každý jazyk. Zajišťuje, že každý agent je plně optimalizován pro svůj konkrétní jazyk; Údržba více agentů ale může být náročná na prostředky.

  • Jeden agent pro více jazyků (nakonfigurované překlady): Při tomto přístupu jeden agent podporuje více jazyků, přičemž překlady jsou k dispozici jako součást konfigurace agenta. Tento přístup vyžaduje aktualizaci překladů pokaždé, když se aktualizuje agent nebo se přidá nový obsah. Nabízí rovnováhu mezi efektivitou zdrojů a jazykovou podporou, ale vyžaduje pečlivou správu aktualizací překladů.

  • Jeden agent pro více jazyků (překlady v reálném čase): Tato metoda používá přenosového agenta k poskytování překladů v reálném čase za běhu. Umožňuje rychlé nasazení více jazyků a snižuje potřebu častých aktualizací překladů. Zavádí ale závislost na předávacím agent a vrstvě překladu v reálném čase, jako je například Azure Service Copilot a Azure Cognitive Services Translator.

Klíčové informace

  • Jazyky a trhy: Jazyky a trhy, které musí váš agent podporovat, ovlivňují vaši lokalizační strategii.

  • Jedno vs. vícejazyčný agent: Rozhodněte se, jestli chcete vyvinout jediného agenta, který podporuje více jazyků nebo samostatné agenty pro každý jazyk. Toto rozhodnutí závisí na faktorech, jako je dostupnost prostředků, možnosti údržby a složitost příslušných jazyků.

  • Načasování překladu: Zvažte, zda by měly být překlady nastaveny během fáze konfigurace nebo poskytovány v reálném čase za běhu. Nakonfigurované překlady nabízejí stabilitu a kontrolu, zatímco překlady v reálném čase poskytují flexibilitu a rychlé nasazení.

Další informace: