Dela via


Entiteter och bästa praxis för platsfyllning i Microsoft Copilot Studio

Viktigt!

Power Virtual Agents-funktioner ingår nu i Microsoft Copilot Studio efter betydande investeringar i generativ AI och förbättrade integrationer mellan Microsoft Copilot.

Vissa artiklar och skärmbilder kan referera till Power Virtual Agents när vi uppdaterar dokumentation och utbildning.

Vad är platsfyllning?

Slotfyllning är relaterat till användning av entiteter som gör det lättare för en Copilot att skaffa och använda information genom att identifiera och extrahera dem från användarfrågan.

En Copilot behöver ofta flera olika typer av information från en användare för att kunna göra sitt jobb. För att få den här informationen ställer du ofta separata frågor, en för varje fakta som Copilot behöver. När du använder entiteter i dina frågor identifierar Microsoft Copilot Studio den information som krävs och hoppar över de frågor där informationen kunde identifieras i den utlösande användarfrågan.

Till exempel när en användare frågar:

Jag vill beställa 3 stora blå t-shirtar

Microsoft Copilot Studio Naturlig språkförståelse (NLU) kan omedelbart förstå:

  • Ämnet är Order.
  • Antal är 3.
  • Färgen är blå.
  • Objekttyp är T-shirt.

Copiloten kan då hoppa över onödiga frågor. Om en del information saknas, till exempel Storlek, får du frågor som inte besvarats innan du går vidare. När du fyller luckan blir det enklare att skaffa och använda information, och det minskar antalet frågor som du behöver ställa.

Du anger först vilka entiteter du vill använda och vilka typer av entiteter du vill använda.

Definiera entiteter

Microsoft Copilot Studio innehåller flera inbyggda entiteter för de vanligaste användningsfallen som E-post, Datum och tid, Personnamn, Telefonnummer, Färg, Land, Ort, Nummer, Belopp, etc.

Inbyggda entiteter är kraftfulla eftersom de kan hantera många variationer av formuläret en information kan ta. Om användaren till exempel använder Belopp i en konversation kan han eller hon ange ett värde som "100 $" eller "hundra dollar" eller "100 dollar". NLU-modellen i Microsoft Copilot Studio visar att värdet är ett penningvärde på 100 dollar.

Dricks

Men värden anges och så länge de efterfrågas med frågor i konversationsflödet lagras de i variabler som du kan använda om.

Du kan också definiera egna entiteter, till exempel Objekttyp i exemplet ovan. Egna entiteter kan vara av två typer:

  • Stängd lista: för en fördefinierad lista med värden.
  • Reguljära uttryck (RegEx): för information som matchar ett visst mönster. RegEx är idealisk när du behöver samla in data som alltid följer samma format (till exempel INC000001 för ett ärendenummer)

Förbättra användarupplevelsen

Om du använder entiteter blir det enklare att låta Microsoft Copilot Studio samla in information från användarfrågor på ett mer intelligent sätt. Ännu viktigare är att det gör livet bättre för användarna, eftersom entiteter kan hitta och lagra information från användarfrågor och sedan göra informationen tillgänglig senare i konversationen. Entiteter förbättrar användarupplevelsen – de gör att din Copilot verkar smartare och använder dem när det är möjligt.

Metodtips för entitet

Använda synonymer

Du kan lägga till synonymer till värden för stängda listentiteter för att manuellt expandera matchningslogiken för varje objekt i entitetens lista. Till exempel i objektet "vandring" kan du lägga till "trekking" och "bergsklättring" som synonymer.

Dricks

  • Om du använder synonymer kan det också hjälpa till att utlösa ämne, eftersom de ökar vikten av en utlösarfras genom att lägga till relaterade ord som synonymer för en enhet den innehåller. För alternativet Klagomål lägger du till exempel till liknande negativa ord eller fraser som synonymer.
  • NLU-modellen generaliserar även för alla entitetsvarianter (d.v.s. alla värden och deras synonymer) om ett ämnes utlösarfras innehåller minst en del av entiteten. Med andra ord, chattrobotförfattare bör inkludera ett exempel på en utlösarfras med en användning av denna entitet för att NLU ska kunna generalisera om andra entitetsvariationer.

Aktivera smart matchning

För varje stängd listentitet kan du även aktivera Smart matchning.

Smart matchning är en del av den information som stöds av Copilots NLU-modell. Med det här alternativet aktiverat tolkar Copilot indata utifrån entitetens listade objekt.

Dessutom kommer roboten automatiskt att korrigera felstavningar och expanderar matchningslogiken semantiskt. Exempelvis kan roboten automatiskt matcha "softball" till "baseball".

Var kreativ med reguljära uttryck

Ibland kan extraktion av en entitet från en användarfråga leda till förvirring för NLU-modellen, särskilt när det finns flera entiteter av samma typ i användarfrågan.

Om en användare till exempel säger:

kan du ta med 2 handdukar och 1 kudde till rum 101

Om du använder den inbyggda entiteten Tal kan du förväxlas med 2, 1 och 101. Du kan undvika den här förvirringen genom att definiera följande entiteter för reguljärt uttryck:

  • Antal handdukar: [1-9] handduk
  • Antal handdukar: [1-9] kudde
  • Rumsnummer: [0-9]{3}

Alternativ till entiteter för att lagra refererande data

För stora eller föränderliga datamängder (till exempel en lista över produkter eller kunder), istället för att använda Microsoft Copilot Studio stängda listenheter, kanske du vill kontrollera externa källor. Du måste skicka användaren vidare till den externa tjänsten med ett Power Automate molnflöde.

Din ämne logik kan sedan verifiera att resultatet är korrekt (eller be användaren verifiera det) innan vi går vidare i konversationen.

Dataverse är en bra kandidat att lagra sådana data, eftersom den har en inbyggd funktion Dataverse Sök som stöder fuzzy-matchning för att ge de bästa resultaten tillsammans med en konfidenspoäng. Även om du söker med en fullständig mening kan den hämta potentiella matchningar.

Dricks

Se ett exempel på implementering här: returnera en lista med resultat