Delen via


Opties voor intentieherkenning en entiteitsextractie voor uw intelligente toepassingsworkloads

Herkenning van intenties en extractie van entiteiten zijn belangrijke onderdelen van begrip van natuurlijke taal.

Bij intentieherkenning gaat het om het identificeren van het doel of de bedoeling van de gebruiker achter diens invoer. Als een gebruiker bijvoorbeeld zegt: "Ik wil een vlucht boeken", dan is de intentie om een vlucht te boeken. Met behulp van intentieherkenning kan de agent begrijpen welke actie moet worden ondernomen op basis van het verzoek van de gebruiker.

Bij entiteitsextractie worden specifieke stukjes informatie uit de invoer van de gebruiker geïdentificeerd en geëxtraheerd. Entiteiten kunnen bijvoorbeeld datums, namen, locaties en andere relevante gegevens zijn. In de zin 'Boek een vlucht naar New York op 15 september' zijn 'New York' en '15 september' bijvoorbeeld entiteiten.

Een agent gebruikt de intentie om het doel van de gebruiker te begrijpen en de entiteiten om de specifieke details te identificeren die nodig zijn om de taak te voltooien. Dankzij intentieherkenning en entiteitsextractie kan de agent nauwkeurige en efficiënte antwoorden geven op vragen van gebruikers.

Bij het ontwerpen van uw intelligente toepassingsworkload moet u de beste optie voor intentieherkenning en entiteitsextractie kiezen om ervoor te zorgen dat uw intelligente toepassingsworkload een positieve gebruikerservaring biedt.

Definities

Term Definitie
NLU (Natural Language Understanding) Begrip van natuurlijke taal is een onderdeel van natuurlijke taalverwerking in AI dat zich richt op machinaal tekstbegrip.
CLU (Conversational Language Understanding) Conversatietaalbegrip is een functie van Azure AI waarmee u aangepaste NLU-modellen kunt maken.
LLM (Large Language Model) Een groot taalmodel is een type AI-model dat is ontworpen om menselijke taal te begrijpen en te genereren.
GPT Generatieve, vooraf getrainde transformers verwijzen naar een familie van grote taalmodellen die gebruikmaken van de transformerarchitectuur om mensachtige tekst te begrijpen en genereren.
Dynamische ketenvorming Dynamische ketenvorming is een methode om triggers voor generatieve acties te automatiseren. In plaats van dat u handmatig elk mogelijk onderwerp of elke triggerzin definieert, kan de AI dankzij dynamische ketening bepalen welke onderwerpen of invoegtoepassingsacties moeten worden aangeroepen op basis van de context van het gesprek.

Bij het kiezen van de juiste optie voor intentieherkenning en entiteitsextractie in uw intelligente toepassingsworkload moet u rekening houden met een aantal belangrijke overwegingen:

  • Vooraf gebouwde versus aangepaste entiteiten: beoordeel of de door Microsoft Copilot Studio geleverde vooraf gebouwde entiteiten aan uw behoeften voldoen. Vooraf gebouwde entiteiten omvatten veelvoorkomende informatietypen zoals datums, getallen en namen. Als uw toepassing domeinspecifieke kennis vereist, moet u mogelijk aangepaste entiteiten maken.

  • Complexiteit van gebruikersinvoer: houd rekening met de complexiteit en variatie van gebruikersinvoer. Voor eenvoudige scenario's kunnen vooraf gebouwde entiteiten volstaan. Voor complexere interacties zijn mogelijk aangepaste entiteiten en geavanceerde configuraties zoals reguliere expressies (regex) nodig.

  • Vullen van tijdvakken: bepaal of uw toepassing proactieve vulling van tijdvakken (slots) nodig heeft, waarbij de agent actief op zoek gaat naar ontbrekende informatie en deze invult in de invoer van gebruikers. Het vullen van tijdvakken kan de gebruikerservaring verbeteren door de noodzaak van vervolgvragen te verminderen.

  • Prestaties en schaalbaarheid: beoordeel de prestaties en schaalbaarheid van de door u gekozen methode. Aangepaste entiteiten en complexe configuraties vereisen vaak meer verwerkingskracht en kunnen de responstijden beïnvloeden.

  • Onderhoudsgemak: denk na over het gemak waarmee u uw entiteiten kunt onderhouden en bijwerken. Vooraf gebouwde entiteiten zijn eenvoudiger te beheren, terwijl aangepaste entiteiten voortdurend moeten worden aangepast naarmate uw toepassing evolueert.

Kiezen tussen de standaard NLU, Azure CLU of dynamische ketenvorming

In Copilot Studio kan onderwerp- of actietriggering worden bereikt door het standaard NLU-model te gebruiken, dit te combineren of te overschrijven met een aangepast Azure CLU-model, of door het NLU-model volledig te vervangen door dynamische ketenvorming, een op een GPT-groot taalmodel gebaseerd model.

Standaard NLU-model Aangepast Azure CLU-model Dynamische ketenvorming
Pro Standaard, kant-en-klaar model dat vooraf is getraind, met veel vooraf gedefinieerde entiteitstypen.

De configuratie wordt uitgevoerd door triggerzinnen en aangepaste entiteiten toe te voegen (gesloten lijsten met waarden en synoniemen of reguliere expressies).
Ondersteunt meer talen, met native modellen.

Ondersteunt de aanpassing van het intentie-triggermodel voor betere herkenning van intenties of om te voldoen aan specifieke vereisten in de sector.

Maakt het mogelijk om complexe entiteiten te extraheren (bijvoorbeeld van hetzelfde type).

Entiteitsextractie kan ook standaard NLU voor Copilot Studio gebruiken.
Maakt gebruik van een GPT-groot taalmodel en is vooraf getraind op een breder spectrum aan gegevens.

Kan meerdere intenties en ketenonderwerpen en/of invoegtoepassingen verwerken.

Genereert automatisch vragen voor ontbrekende invoer en beantwoordt complexe entiteiten en vragen uit de gesprekscontext.

Configuratie gebeurt door onderwerpen, invoegtoepassingsacties, invoer en uitvoer te beschrijven.
Con Herkenning van één intentie per query.

Kan niet worden uitgebreid. U kunt het gedrag van het model niet wijzigen en u kunt het model ook niet verfijnen. Het wordt geleverd zoals het is.

Als u meerdere entiteiten van hetzelfde type in dezelfde query wilt invullen, moet u voor elk entiteit onderscheiden (bijvoorbeeld van- en naar-steden).
Herkenning van één intentie per query.

Configuratie wordt gedaan in Azure tegen meerprijs.

Heeft eigen servicelimieten die moeten worden geëvalueerd.

Azure CLU-intenties en Copilot Studio-onderwerpen moeten zorgvuldig op elkaar worden afgestemd.
Omdat het een generatieve AI-functie is, is de licentieverbruikspercentage van berichten hoger dan bij normale onderwerpactivering.

Triggerzinnen en vullen van tijdvakken

Gebruik bij het ontwikkelen van intelligente toepassingsworkloads native mogelijkheden om intentieherkenning te verbeteren en gesprekken te stroomlijnen. Begin met het identificeren van onderwerptriggerzinnen uit bestaande FAQ-databases en chattranscripties om ervoor te zorgen dat de verwachte zinnen relevant en nauwkeurig zijn. Denk na over hoe u entiteiten wilt gebruiken. Bijvoorbeeld of u reguliere expressies wilt gebruiken om order-id's te vinden, vooraf gebouwde entiteiten voor e-mails of gesloten lijsten voor bewerkingstypen met synoniemen. Plan ook hoe u onderwerptriggers gaat testen met voorbeeldzinnen om de nauwkeurigheid van uw processen voor intentieherkenning en entiteitsextractie te valideren en verfijnen. Meer informatie in Overwegingen bij implementatie en testen.

Triggerzinnen

Met triggerzinnen traint u het NLU-model van uw agent. Ze helpen de agent om de uitingen van gebruikers te herkennen en er nauwkeurig op te reageren door specifieke zinnen te definiëren die specifieke onderwerpen triggeren. Door deze triggerzinnen correct te configureren, kan de agent de intentie van de gebruiker correct identificeren en hierop adequaat reageren. Wanneer de agent niet zeker weet welk onderwerp moet worden geactiveerd, kan deze maximaal drie potentiële onderwerpkandidaten voorstellen (systeemonderwerp dat overeenkomt met meerdere onderwerpen) of terugvallen op een standaardantwoord als er geen onderwerp wordt geïdentificeerd. Dit mechanisme zorgt ervoor dat de conversatie vloeiend verloopt en dat agent een breed scala aan gebruikersinvoer effectief kan verwerken.

Entiteitsextractie en vullen van tijdvakken

Entiteitsextractie en tijdvakvulling zijn belangrijke onderdelen bij de ontwikkeling van effectieve agenten. Dankzij deze processen kan de agent op efficiënte wijze informatie verkrijgen en gebruiken door relevante details uit gebruikersvragen te identificeren en te extraheren.

Entiteitsextractie houdt in dat de invoer van de gebruiker wordt geanalyseerd om specifieke stukjes informatie te identificeren. In de query 'Ik wil drie grote blauwe t-shirts bestellen' zou het NLU-model van de agent bijvoorbeeld de volgende entiteiten moeten extraheren:

  • Hoeveelheid: 3
  • Kleuren: blauw
  • Maat: large
  • Artikeltype: T-shirt

Vullen van tijdvakken is het proces waarbij deze geëxtraheerde entiteiten worden gebruikt om de benodigde informatie voor een bepaalde taak in te vullen. In dit voorbeeld herkent de agent het onderwerp als een bestelling en vult de vereiste tijdvakken met de geëxtraheerde entiteiten. De agent kan het verzoek van de gebruiker begrijpen zonder verdere vragen te stellen, waardoor de interactie wordt gestroomlijnd.

Dankzij entiteitsextractie en tijdvakvulling kunnen agenten complexe vragen effectiever verwerken, nauwkeurige en contextueel relevante antwoorden geven en de gebruikerservaring verbeteren.

Meer informatie:

Integratie van Microsoft Copilot Studio met Azure CLU

Door een CLU-model te integreren met een Copilot Studio-agent kunnen de mogelijkheden van agent aanzienlijk worden verbeterd. Deze integratie houdt in dat Azure CLU-intenties worden gekoppeld aan Copilot Studio-onderwerpen, waardoor de agent de intenties van gebruikers beter kan begrijpen en hierop nauwkeuriger kan reageren. Bovendien kunnen vooraf gebouwde Copilot Studio-entiteiten worden gebruikt naast Azure CLU-entiteiten, waardoor een robuust raamwerk voor entiteitsextractie ontstaat.

Wanneer u deze integratie overweegt, is het belangrijk om te beoordelen of uw intelligente toepassingsworkload Azure CLU vereist. Azure CLU ondersteunt bijvoorbeeld meer talen, branchespecifieke woordenboeken en complexe entiteitsextractie, wat essentieel kan zijn voor uw toepassing. Aangepaste entiteitsextracties met Azure CLU kunnen ook stille of 'gelukkige' tijdvakvulling inschakelen, waardoor agent scenario's kan verwerken zoals het identificeren van zowel bron- als doelsteden in één zin zonder dat er vervolgvragen worden gesteld.

Een ander belangrijk aspect is ervoor te zorgen dat de Azure CLU-servicequota's en -limieten aansluiten op het gebruik van uw agent. Als u bijvoorbeeld verwacht dat er per minuut minder dan 1.000 oproepen zijn waarvoor intentieherkenning nodig is, kunt u Azure CLU instellen met behulp van de S-laag. Met deze configuratie weet u zeker dat uw agent de verwachte workload aankan zonder dat de servicelimieten worden overschreden of dat er onverwachte kosten ontstaan.

Meer informatie:

Overwegingen voor onderwerpstructuren

Het effectief structureren van onderwerpen is belangrijk om natuurlijke en vloeiende gesprekken te creëren. Onderwerpen zijn afzonderlijke gesprekspaden die, wanneer ze worden gecombineerd, gebruikers in staat stellen soepel met de agent te communiceren. Hier zijn enkele belangrijke overwegingen voor het ontwerpen van onderwerpstructuren:

  • Op triggers gebaseerde onderwerpen: deze onderwerpen worden geactiveerd op basis van gebruikersuitingen en dienen als toegangspunten. Definieer duidelijke triggerzinnen voor deze onderwerpen. Als triggerzinnen over meerdere onderwerpen overlappen, kunt u overwegen om een verzamelonderwerp te implementeren dat na het stellen van verduidelijkende vragen naar het juiste onderwerp kan worden doorverwezen. Met entiteitsextractie en tijdvakvulling kunnen deze verduidelijkende vragen worden overgeslagen als de benodigde informatie al is verstrekt.

  • Onderwerpen op basis van omleiding: deze onderwerpen worden geactiveerd door omleidingsacties, -activiteiten of -gebeurtenissen en kunnen door meerdere andere onderwerpen worden aangeroepen. Ze moeten herbruikbaar en modulair zijn, met invoer- en uitvoervariabelen die een naadloze integratie in verschillende gesprekspaden mogelijk maken.

  • Onderwerpen met dubbele trigger: sommige onderwerpen kunnen worden geactiveerd via intentieherkenning of via een expliciete omleiding. Deze flexibiliteit zorgt voor dynamischere en responsievere gesprekken.

  • Gespreksverbetering en terugval: maak terugvalonderwerpen voor situaties waarin de zoekopdracht van de gebruiker geen overeenkomend onderwerp oplevert. Deze onderwerpen kunnen algemene antwoorden bieden of relevante onderwerpen suggereren om de conversatie gaande te houden.

Ontwerpbenadering:

  • Aangepaste onderwerpen voor belangrijke scenario's: ontwikkel een aantal aangepaste onderwerpen voor belangrijke scenario's met relevante triggerzinnen en omleidingen. Gebruik een structuur van bovenliggende en onderliggende onderwerpen om complexe interacties te beheren. Voor niet-herkende intenties implementeert u generatieve antwoorden en terugvalmechanismen.

  • Onderwerpen voor ondubbelzinnigheid: plan het gebruik van ondubbelzinnigheidsonderwerpen voor bewerkingen waarbij verduidelijkende vragen nodig zijn. Zo kan het bijvoorbeeld nodig zijn om bij bewerking van gebruikersaccounts duidelijkheid te verschaffen over het type bewerking (bijvoorbeeld maken, ontgrendelen, opschorten) en het betrokken systeem (bijvoorbeeld SAP, ServiceNow, Microsoft).

  • Duplicatie voorkomen: om duplicatie van inhoud te voorkomen, maakt u herbruikbare onderwerpen voor dialoogpaden die herhaald moeten worden. Deze herbruikbare onderwerpen kunnen worden aangeroepen door een bovenliggend onderwerp. Zodra het gesprek is voltooid, kan de logica van het bovenliggende onderwerp worden hervat.

Meer informatie:

Omgaan met niet-herkende intenties

Door niet-herkende intenties effectief te beheren, zorgt u voor een soepele gebruikerservaring. Niet-herkende intenties ontstaan wanneer de agent een uiting van een gebruiker niet begrijpt en niet voldoende vertrouwen heeft om een bestaand onderwerp te activeren. Hier volgen enkele suggesties voor het omgaan met dergelijke scenario's:

  • Niet-herkende intenties beheren: stuur niet-herkende intenties in eerste instantie naar het systeemonderwerp Gespreksverbetering, dat op openbare websites en zakelijke resources, zoals SharePoint-sites, naar antwoorden zoekt. Als er geen relevante informatie wordt gevonden, kan het systeem terugvallen op een ChatGPT-achtige ervaring met behulp van een aangepaste systeemprompt met het Azure OpenAI GPT-4 model. Deze aanpak zorgt ervoor dat gebruikers nuttige antwoorden krijgen, zelfs als hun vragen niet gepland zijn.

  • Integratie met externe systemen: denk na over de vraag of integratie met externe systemen onderdeel is van uw terugvalstrategie. Bijvoorbeeld door te integreren met het Azure OpenAI GPT-4-model met behulp van HTTP-aanvragen om een conforme ChatGPT-achtige ervaring te bieden.

  • Toezicht houden op het gebruik van terugval: controleer regelmatig het percentage gesprekken dat op terugval terechtkomt. Gebruik deze inzichten om bestaande onderwerpen te verrijken of nieuwe onderwerpen te creëren. Zo zorgt u ervoor dat de agent het begrip en reactievermogen voortdurend verbetert.

  • Terugvalonderwerp en generatieve antwoorden: het systeemonderwerp Terugval wordt geactiveerd wanneer er geen overeenkomend onderwerp wordt gevonden. Als Generatieve antwoorden zijn ingeschakeld, wordt het onderwerp Gespreksverbetering als eerste geactiveerd bij niet-herkende intentiegebeurtenissen, gevolgd door het onderwerp Terugval indien nodig. Deze gelaagde aanpak helpt om onherkende intenties effectief te beheren.

  • Gebruik gespreksverbetering en terugval: gebruik Generatieve antwoorden om verschillende gegevensbronnen te doorzoeken of te integreren met andere systemen, zoals Azure Cognitive Service voor Taal. Deze service kan grote hoeveelheden vraag-en-antwoordparen verwerken en bevat een chitchatmodel voor willekeurige vragen.

  • Kernscenario's en aangepaste onderwerpen: zorg ervoor dat kernscenario's en onderwerpen goed zijn gedefinieerd en worden afgehandeld via aangepaste onderwerpen. Definieer de uitkomsten van deze onderwerpen duidelijk om een gestructureerd en efficiënt gesprek te behouden.

Lokalisatie en talen

Houd bij het bouwen van een agent rekening met de talen en markten die uw intelligente toepassingsworkload moet ondersteunen. Lokalisatie en taalondersteuning zijn essentiële factoren om ervoor te zorgen dat uw intelligente toepassingsworkload voldoet aan de behoeften van verschillende gebruikersgroepen. Hier zijn enkele voorgestelde benaderingen:

  • Eén agent per taal: deze aanpak houdt in dat u voor elke taal een aparte agent maakt. Hiermee wordt ervoor gezorgd dat elke agent volledig is geoptimaliseerd voor de specifieke taal. Het onderhouden van meerdere agenten kan echter veel resources kosten.

  • Eén agent voor meerdere talen (geconfigureerde vertalingen): met deze aanpak ondersteunt één agent meerdere talen, waarbij vertalingen worden geleverd als onderdeel van de agent-configuratie. Bij deze aanpak moeten de vertalingen elke keer worden bijgewerkt wanneer de agent wordt bijgewerkt of nieuwe inhoud wordt toegevoegd. Het biedt een balans tussen resource-efficiëntie en taalondersteuning, maar vereist zorgvuldig beheer van vertalingsupdates.

  • Eén agent voor meerdere talen (realtime vertalingen): deze methode gebruikt een doorgeefagent om realtime vertalingen te leveren tijdens runtime. Hierdoor kunnen meer talen snel worden geïmplementeerd en is er minder behoefte aan frequente vertalingsupdates. Hierbij ontstaat echter wel een afhankelijkheid van de doorgeefagent en een realtime vertaallaag, zoals Azure Service Copilot en Azure Cognitive Services Vertaler.

Belangrijke overwegingen:

  • Talen en markten: de talen en markten die uw agent moet ondersteunen, zijn van invloed op uw lokalisatiestrategie.

  • Eén- of meertalige agent: beslis of u één agent wilt ontwikkelen die meerdere talen ondersteunt of aparte agenten voor elke taal. Deze beslissing hangt af van factoren zoals de beschikbaarheid van bronnen, onderhoudsmogelijkheden en de complexiteit van de betrokken talen.

  • Timing van vertalingen: overweeg of vertalingen moeten worden ingesteld tijdens de configuratiefase of in realtime tijdens runtime moeten worden geleverd. Geconfigureerde vertalingen bieden stabiliteit en controle, terwijl realtimevertalingen flexibiliteit en snelle implementatie bieden.

Meer informatie: