Dela via


Alternativ för avsiktsigenkänning och entitetsextrahering för dina intelligenta programarbetsbelastningar

Avsiktsigenkänning och entitetsextrahering är viktiga komponenter i förståelse av naturligt språk.

Avsiktsigenkänning innebär att identifiera användarens mål eller syfte bakom deras indata. Om en användare till exempel säger "Jag vill boka ett flyg" är avsikten att boka ett flyg. Avsiktsigenkänning hjälper agenten att förstå vilka åtgärder som måste vidtas baserat på användarens begäran.

Entitetsextrahering innebär att identifiera och extrahera specifika delar av information från användarens indata. Entiteter kan vara saker som datum, namn, platser eller andra relevanta data. I meningen "Boka ett flyg till New York den 15 september" är till exempel "New York" och "15 september" entiteter.

En handläggare använder avsikten att förstå användarens mål och entiteterna för att identifiera den specifika information som behövs för att slutföra uppgiften. Avsiktsigenkänning och entitetsextrahering gör det därför möjligt för handläggare att ge korrekta och effektiva svar på användarfrågor.

När du utformar din intelligenta programarbetsbelastning måste du välja det bästa alternativet för avsiktsigenkänning och entitetextrahering för att säkerställa att din intelligenta programarbetsbelastning ger en positiv användarupplevelse.

Definitioner

Begrepp Definition
NLU Naturlig språkförståelse är en delmängd av naturlig språkbehandling inom AI som fokuserar på maskinläsförståelse.
CLU Konversationsspråkförståelse är en funktion i Azure AI som gör det möjligt att skapa anpassade NLU-modeller.
LLM En stor språkmodell är en typ av AI-modell som är utformad för att förstå och generera mänskligt språk.
GPT Generativ förtränad transformator hänvisar till en familj av stora språkmodeller som använder transformatorarkitekturen för att förstå och generera människoliknande text.
Dynamisk länkning Dynamisk länkning är en metod för att automatisera utlösare för generativa åtgärder. I stället för att manuellt definiera alla möjliga ämnen eller utlösande fraser gör dynamisk länkning det möjligt för AI att avgöra vilka ämnen eller plugin-åtgärder som måste anropas baserat på konversationens sammanhang.

Att välja rätt alternativ för avsiktsigenkänning och entitetsextrahering i din intelligenta programarbetsbelastning omfattar flera viktiga överväganden:

  • Fördefinierade jämfört med anpassade entiteter: Utvärdera om de fördefinierade entiteterna som tillhandahålls av Microsoft Copilot Studio uppfyller dina behov. Fördefinierade entiteter omfattar vanliga informationstyper som datum, tal och namn. Om ditt program kräver domänspecifik kunskap kan du behöva skapa anpassade entiteter.

  • Komplexiteten i användarindata: Tänk på komplexiteten och variationen i användarindata. För enkla scenarier kan det räcka med fördefinierade entiteter. För mer komplexa interaktioner kan anpassade entiteter och avancerade konfigurationer som reguljära uttryck (regex) vara nödvändiga.

  • Platsfyllning: Ta reda på om ditt program kräver proaktiv platsfyllning, där handläggare aktivt söker efter och fyller i saknad information från användarindata. Att fylla luckor kan förbättra användarupplevelsen genom att minska behovet av uppföljningsfrågor.

  • Prestanda och skalbarhet: Utvärdera prestanda och skalbarhet för den valda metoden. Anpassade entiteter och komplexa konfigurationer kräver ofta mer processorkraft och kan påverka svarstiderna.

  • Enkelt underhåll: Tänk på hur enkelt det är att underhålla och uppdatera dina entiteter. Fördefinierade entiteter är enklare att hantera, medan anpassade entiteter kräver löpande justeringar i takt med att programmet utvecklas.

Välj mellan standard NLU, Azure CLU eller dynamisk länkning

I Copilot Studio, ämne eller åtgärd kan utlösning uppnås genom att använda standardmodellen NLU, kombinera eller åsidosätta den med en anpassad Azure CLU-modell, eller genom att helt ersätta NLU-modellen med dynamisk länkning, en GPT-modell baserad på stora språk.

Standardmodell NLU Anpassad Azure CLU-modell Dynamisk länkning
Pro Standardmodell, färdig modell som är förtränad, med många fördefinierade entitetstyper.

Konfigurationen görs genom att lägga till utlösande fraser och anpassade entiteter (antingen stängda listor med värden och synonymer eller reguljära uttryck).
Har stöd för fler språk med inbyggda modeller.

Stöder anpassning av den avsiktsutlösande modellen för bättre avsiktsigenkänning eller för att hantera specifika branschkrav.

Tillåter extrahering av komplexa entiteter (till exempel av samma typ).

Entitetsextrahering kan också använda standard Copilot Studio NLU.
Använder en stor GPT-språkmodell och är förtränad på ett bredare spektrum av data.

Kan hantera flera avsikter och kedjeämnen och/eller plugin-program.

Genererar automatiskt frågor för saknade indata och besvarar komplexa enheter och frågor från samtalskontexten.

Konfigurationen görs genom att beskriva teman, plugin-åtgärder, indata och utdata.
Nackdelar En enda avsiktsigenkänning per fråga.

Kan inte utökas. Du kan inte ändra hur modellen beter sig eller finjustera modellen. Det tillhandahålls som det är.

Platsfyllning av flera entiteter av samma typ i samma fråga kräver förtydligande för var och en (till exempel från och till städer).
En enda avsiktsigenkänning per fråga.

Konfigurationen görs i Azure mot en extra kostnad.

Har sina egna tjänstbegränsningar som måste utvärderas.

Azure CLU-avsikter och Copilot Studio-ämnen måste noggrant hållas synkroniserade.
Eftersom det är en generativ AI-funktion är licensbränningshastigheten för meddelanden högre än för vanlig ämnesutlösning.

Utlösande fraser och platsfyllning

När du utvecklar intelligenta apparbetsbelastningar kan du använda inbyggda funktioner för att förbättra avsiktsigenkänning och effektivisera konversationer. Börja med att identifiera ämnesutlösande fraser från befintliga FAQ-databaser och chattavskrifter för att säkerställa att förväntade fraser är relevanta och korrekta. Fundera på hur du ska använda entiteter. till exempel om du ska använda reguljära uttryck för att hitta order-ID:t, fördefinierade entiteter för e-postmeddelanden eller stängda listor för åtgärdstyper med synonymer. Planera också hur du ska testa ämnesutlösare med exempelfraser för att validera och förfina noggrannheten i processerna för avsiktsigenkänning och entitetsextrahering. Läs mer i Distributions- och testöverväganden.

Utlösande fraser

Utlösande fraser tränar agentens NLU-modell. De hjälper agenten att känna igen och svara korrekt på användarens talindata genom att definiera specifika fraser som utlöser vissa ämnen. Korrekt konfiguration av dessa utlösande fraser säkerställer att agenten kan identifiera användarens avsikt korrekt och svara på lämpligt sätt. När handläggare är osäker på vilket ämne som ska utlösas kan det föreslå upp till tre potentiella ämneskandidater (systemämne för flera ämnen) eller återgå till ett standardsvar om inget ämne identifieras. Den här mekanismen hjälper till att upprätthålla konversationsflödet och säkerställer att handläggare kan hantera en mängd olika användarindata effektivt.

Extrahering av entitet och platsfyllning

Extrahering av enheter och utfyllnad av platser är viktiga komponenter för att utveckla effektiva agenter. Dessa processer gör det möjligt för handläggare att inhämta och använda information effektivt genom att identifiera och extrahera relevant information från användarfrågor.

Entitetsextrahering innebär att parsa användarens indata för att identifiera specifik information. I frågan "Jag vill beställa tre stora blå t-shirts" bör agentens NLU-modell till exempel extrahera följande entiteter:

  • Antal: 3
  • Färg: Blå
  • Storlek: Stor
  • Artikeltyp: T-shirt

Platsfyllning är processen att använda dessa extraherade entiteter för att slutföra nödvändig information för en viss uppgift. I det här exemplet identifierar agenten ämnet som en order och fyller i nödvändiga platser med de extraherade entiteterna. Agenten kan förstå användarens begäran utan att ställa fler frågor, vilket effektiviserar interaktionen.

Entitetsextrahering och platsfyllning gör det möjligt för agenter att hantera komplexa frågor mer effektivt, vilket ger korrekta och kontextuellt relevanta svar och förbättrar användarupplevelsen.

Läs mer:

Integrera Microsoft Copilot Studio med Azure CLU

Genom att integrera en CLU-modell med en Copilot Studio-agent kan agentens funktioner förbättras avsevärt. Den här integreringen omfattar mappning av Azure CLU-avsikter till Copilot Studio-ämnen, vilket gör att agenter kan förstå och svara på användarnas avsikter mer exakt. Dessutom kan fördefinierade Copilot Studio-entiteter användas tillsammans med Azure CLU-entiteter, vilket ger ett robust ramverk för entitetsextrahering.

När du överväger den här integreringen är det viktigt att utvärdera om din intelligenta programarbetsbelastning kräver Azure CLU. Till exempel stöder Azure CLU fler språk, branschspecifika ordlistor och komplex entitetsextrahering, vilket kan vara viktigt för ditt program. Anpassade entitetsextraheringar med Azure CLU kan också aktivera tyst eller "turlig" platsfyllning, vilket gör att handläggare kan hantera scenarier som att identifiera både käll- och målstäder i en enda fras utan att ställa följdfrågor.

En annan viktig aspekt är att se till att Azure CLU-tjänstens kvoter och gränser överensstämmer med din agents användning. Om du till exempel förväntar dig färre än 1 000 anrop som kräver avsiktsigenkänning per minut kan du konfigurera Azure CLU med hjälp av S-nivån. Den här konfigurationen säkerställer att din agent kan hantera den förväntade arbetsbelastningen utan att överskrida tjänstbegränsningar eller medföra oväntade kostnader.

Läs mer:

Att tänka på när det gäller ämnesstrukturer

Att strukturera ämnen på ett effektivt sätt är viktigt för att skapa naturliga och sömlösa konversationer. Ämnen är diskreta konversationsvägar som, när de kombineras, gör det möjligt för användare att interagera med agenten smidigt. Här är några viktiga saker att tänka på när du utformar ämnesstrukturer:

  • Utlösarbaserade ämnen: Dessa ämnen aktiveras baserat på användarens talindata och fungerar som startpunkter. Definiera tydliga utlösande fraser för dessa ämnen. Om utlösande fraser överlappar flera ämnen bör du överväga att implementera ett catch-all-ämne som kan omdirigera till rätt ämne efter att ha ställt klargörande frågor. Med extrahering av entiteter och platsfyllning kan dessa klargörande frågor hoppas över om nödvändig information redan har angetts.

  • Omdirigeringsbaserade ämnen: Dessa ämnen utlöses av omdirigeringsåtgärder, aktiviteter eller händelser och kan anropas av flera andra ämnen. De bör utformas för att vara återanvändbara och modulära, med in- och utdatavariabler för att underlätta sömlös integrering i olika konversationsvägar.

  • Ämnen med dubbla utlösare: Vissa ämnen kan utlösas antingen genom avsiktsigenkänning eller genom en explicit omdirigering. Den här flexibiliteten möjliggör mer dynamiska och responsiva konversationer.

  • Konversationsförstärkning och reserv: Skapa reservämnen för situationer där inget matchande ämne utlösas av användarens fråga. Dessa ämnen kan ge generiska svar eller föreslå relevanta ämnen för att upprätthålla konversationsflödet.

Designmetod:

  • Anpassade ämnen för viktiga scenarier: Utveckla några anpassade ämnen för viktiga scenarier med relevanta utlösande fraser och omdirigeringar. Använd en överordnad-underordnad ämnesstruktur för att hantera komplexa interaktioner. För okända avsikter implementerar du generativa svar och reservmekanismer.

  • Ämnen för tvetydigheter: Planera att använda ämnen för tvetydigheter för åtgärder som kräver förtydligande frågor. Till exempel kan användarkontoåtgärder behöva förtydligas om typen av åtgärd (till exempel skapa, låsa upp, pausa) och det system som ingår (till exempel SAP, ServiceNow, Microsoft).

  • Undvika duplicering: Undvik att duplicera innehåll genom att skapa återanvändbara ämnen för dialogvägar som måste upprepas. Dessa återanvändbara ämnen kan anropas av ett överordnat ämne och när det är klart kan konversationen återuppta det överordnade ämnets logik.

Läs mer:

Hantera okända avsikter

Effektiv hantering av okända avsikter säkerställer en smidig användarupplevelse. Okända avsikter inträffar när agenten inte förstår användarens talindata och saknar tillräcklig konfidens för att utlösa ett befintligt ämne. Här följer några förslag på hur du kan hantera dessa scenarier:

  • Hantera okända avsikter: Dirigera först okända avsikter till ämnet Konversationsförstärkande system, som söker efter svar på offentliga webbplatser och företagsresurser som SharePoint webbplatser. Om ingen relevant information hittas kan systemet sedan återgå till en ChatGPT-liknande upplevelse med hjälp av en anpassad systemprompt med Azure OpenAI GPT-4-modellen. Den här metoden säkerställer att användarna får användbara svar även när frågorna är oplanerade.

  • Integrering med externa system: Överväg om du integrerar med externa system som en del av din reservstrategi. Du kan till exempel integrera med Azure OpenAI GPT-4-modellen med hjälp av HTTP-begäranden för att ge en kompatibel ChatGPT-liknande upplevelse.

  • Övervaka reservlösningens användning: Granska regelbundet procentandelen konversationer som når reserv. Använd dessa insikter för att berika befintliga ämnen eller skapa nya, vilket säkerställer att agenten kontinuerligt förbättrar sin förståelse och svarskapacitet.

  • Reservlösning och generativa svar: Reservsystemämne utlöses när inget matchande ämne identifieras. Om Generativa svar är aktiverade utlöses konversationsförstärkande ämne först vid okända avsiktshändelser, följt av reservavsnitt efter behov. Den här metoden i flera lager hjälper till att hantera okända avsikter på ett effektivt sätt.

  • Använd konversationsförstärkning och reserv: Använd Generativa svar för att söka i olika datakällor eller integrera med andra system som Azure Cognitive Service för språk. Den här tjänsten kan hantera stora mängder par med frågor och svar och innehåller en chitchat-modell för slumpmässiga frågor.

  • Kärnscenarier och anpassade ämnen: Se till att kärnscenarier och ämnen är väldefinierade och hanteras via anpassade ämnen. Definiera tydligt resultaten av dessa ämnen för att upprätthålla ett strukturerat och effektivt konversationsflöde.

Lokalisering och språk

När du skapar en agent bör du tänka på vilka språk och marknader din intelligenta programarbetsbelastning måste stödja. Lokalisering och språkstöd är viktiga faktorer för att säkerställa att din intelligenta applikationsarbetsbelastning uppfyller behoven hos olika användarbaser. Här är några förslag på metoder:

  • En agent per språk: Den här metoden innebär att du skapar en separat agent för varje språk. Det säkerställer att varje agent är helt optimerad för sitt specifika språk; Det kan emellertid vara resurskrävande att underhålla flera agenter.

  • En agent för flera språk (konfigurerade översättningar): Med den här metoden stöder en enda agent flera språk, med översättningar som tillhandahålls som en del av agentens konfiguration. Den här metoden kräver att översättningarna uppdateras varje gång agenten uppdateras eller nytt innehåll läggs till. Det erbjuder en balans mellan resurseffektivitet och språkstöd, men kräver noggrann hantering av översättningsuppdateringar.

  • En agent för flera språk (realtidsöversättningar): Den här metoden använder en reläagent för att tillhandahålla realtidsöversättningar vid körning. Det möjliggör snabb distribution av fler språk och minskar behovet av frekventa översättningsuppdateringar. Den introducerar dock ett beroende av reläagent och ett realtidsöversättningslager, till exempel Azure Service Copilot och Azure Cognitive Services Translator.

Viktiga saker att tänka på:

  • Språk och marknader: De språk och marknader som din agent måste stödja påverkar din lokaliseringsstrategi.

  • Enkel- eller flerspråkig agent: Bestäm om du vill utveckla en enda agent som stöder flera språk eller separata agenter för varje språk. Det här beslutet beror på faktorer som resurstillgänglighet, underhållsfunktioner och komplexiteten hos de språk som ingår.

  • Tidsinställning för översättning Överväg om översättningar ska anges under konfigurationsfasen eller tillhandahållas i realtid vid körning. Konfigurerade översättningar ger stabilitet och kontroll, medan realtidsöversättningar ger flexibilitet och snabb distribution.

Läs mer: