Använda entiteter och platsfyllning i agenter
En betydande del av agentkonversationerna i Copilot Studio består av en naturlig språkförståelse, nämligen möjligheten för AI att förstå en användares avsikt. Användaren säger "Jag försökte använda mitt presentkort, men det fungerar inte" och agenten vet hur den dirigerar användaren till ämnet som berör presentkort som inte fungerar – även om den exakta frasen inte angetts som en utlösande fras.
En grundläggande aspekt av den naturliga språkförståelsen är att identifiera entiteter i en användardialog. Titta på videon för att komma igång med entiteter.
En entitet kan betraktas som en informationsenhet som representerar en viss typ av ett verkligt ämne, t.ex. telefonnummer, postnummer, ort eller till och med en persons namn. Med hjälp av den kunskap som beviljats av entiteter kan en agent känna igen den relevanta informationen i en användares indata och spara den för senare användning.
Förbyggda entiteter
Med entiteterna i agenter kan du lagra information i liknande grupper.
Copilot Studio levereras med en uppsättning inbyggda entiteter som representerar den vanligaste informationstyperna i verkliga dialoger, till exempel ålder, färger, siffror och namn.
Med hjälp av den kunskap som beviljats av entiteter kan en agent känna igen den relevanta informationen i en användares indata och spara den för senare användning.
Entiteten Pengar kan användas som exempel för att hjälpa dig förstå detta begrepp.
Öppna din agent i Copilot Studio och välj Inställningar överst på sidan och sedan Entiteter på menyn.
En lista över de förbyggda entiteter som är tillgängliga visas.
Välj entiteten Pengar, som öppnar informationsfönstret för entiteten.
Här kan du visa en förklaring av entiteten och hur du kan använda den för att söka efter information relaterad till pengar eller valuta från en användares indata.
När en användare exempelvis matar in "Det kostar 1 000 kronor" vet agenten, genom att använda entiteten "pengar", att "1 000 kronor" representerar information av typen Pengar. När agenten extraherar den här entiteten och sparar den i en variabel sparas "1 000" som ett värde, även om den omgivande informationen är text.
Anpassade entiteter
De fördefinierade entiteterna täcker vanliga informationstyper. Ibland – t.ex. när du bygger en agent som tjänar ett specifikt syfte – måste du tillföra lite domänspecifik information i agentens modell för språkförståelse.
Låt oss till exempel anta att du vill skapa en agent för en friluftsbutik. I det här fallet måste du lära agenten att bekräfta kategorin "friluftsprodukt" i en dialog.
Först skapar du en anpassad entitet. I det här fallet kan du skapa en entitet som ger agenten kunskap om samtliga kategorier för friluftsprodukter.
Öppna din agent i Copilot Studio och välj Inställningar överst på sidan och sedan Entiteter på menyn.
Välj Lägg till en entitet>Ny entitet.
Välj önskad typ av entitet: antingen a entitet stängd lista eller en entitet vanliga uttryck (regex).
Entiteter för stängda listor
Med entiteter med stängda listor kan du definiera en lista med objekt. Dessa entiteter används bäst för små listor som är enkla att hantera och som har enkla objektetiketter.
Om du väljer det här alternativet när du skapar en entitet visas en ruta där du kan ange entitetsnamnet, en valfri beskrivning och ange objekten du vill ha med i entiteten.
När du anger objekt kan du:
- Markera varje objekt och ändra namnet.
- Välj papperskorgen för att radera objektet från listan.
- Välj + Synonymer (eller markera de synonymer som redan har lagts till i listan) för att öppna rutan Redigera synonymer.
Du kan lägga till synonymer 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.
För varje entitet kan du även aktivera Smart matchning.
Smart matchning är en del av den information som stöds av agentens språkförståelsemodell. Med det här alternativet aktiverat tolkar agenten användarens indata utifrån entitetens listade objekt.
Dessutom kan agenten korrigera felstavningar automatiskt och expandera matchningslogiken semantiskt. Exempelvis kan agenten automatiskt matcha "softball" med "baseball".
När du har skapat eller redigerat entiteten väljer du Spara om du vill spara och återgå till listan med entiteter. Välj Stäng om du vill ignorera ändringarna.
Entiteter reguljärt uttryck (regex)
Med entiteter för reguljärt uttryck (regex) kan du definiera logiska mönster som du kan använda för att matcha och extrahera information från en indata. Regex-entiteter passar utmärkt för komplexa mönstermatchningar mot en användares indata, eller om du behöver tillåta särskilda variationer av hur en användare kan formatera eller ange sina indata i en konversation.
Du kan till exempel använda en regex-entitet för att identifiera objekt som ett spårnings-ID, ett licensnummer, ett kreditkortsnummer eller en IP-adress från en sträng som användaren anger i agenten.
När du har valt det här alternativet kan du ange entitetsnamnet, en valfri beskrivning och ange det regex-mönster som ska användas för att matcha och extrahera entitetsobjekt från indata.
En Copilot Studio regex-entitet använder .NET-syntaxen som är vanlig.
Som standard är mönstermatchning skiftlägeskänsligt. För att göra det skiftlägeskänsligt använda (?i)
reguljärt uttrycksalternativ i din mönstersträng. Några grundläggande exempel finns i entitetsfönstret regex. Mer information om syntaxen och fler exempel finns i Språk för reguljärt uttryck – snabbreferens.
Om du behöver göra det reguljära uttrycket rymt flera mönster kan du använda växlingsoperatorn för |
att sammanfoga regelbundna förfallna mönster. Du kan till exempel kombinera två regex-mönster och söka efter både det gamla och nya formatet för en produkt-ID-kod.
När du har skapat eller redigerat entiteten väljer du Spara om du vill spara och återgå till listan med entiteter. Välj Stäng om du vill ignorera ändringarna.
Använd entiteter i en konversation
Nu när du har gett agenterna kunskaper om friluftsutrustning genom att skapa entiteten för produktkategorin och några andra anpassade entiteter, kan du börja använda dem när du skapar en agentkonversation.
Gå till sidan Ämnen för den agenten du vill redigera.
Öppna ämnet för en entitet som du vill samla in.
Välj ikonen Lägg till nod och välj sedan Ställ en fråga.
Under Identifiera väljer du den entitet du skapade i Anpassade entiteter.
Du kan även välja vilka objekt som ska visas som knappar. För att visa vissa kategorier som knappar och göra det enkelt för användarna att välja bland dessa som indata markerar du Välj alternativ för användare och väljer dem sedan i listan som innehåller de objekt du lade till när du skapade den anpassade entiteten.
Vid behov namnger du variabeln för utdata från användarens svar.
Platsfyllning
Platsfyllning är ett naturligt koncept för språkförståelse som innebär att en extraherad entitet sparas i ett objekt. Platsfyllning i Copilot Studio innebär dock att det extraherade entitetsvärdet placeras i en variabel.
Låt oss fortsätta att använda temat campingaktiviteter, som utlöses genom att skriva "Jag vill ha något att göra" i testchatten, som ett exempel.
Ämnet utlöses och agenten frågar efter typen av aktivitet – samtidigt anges även de knappalternativ som angavs när du skapade noden Ställ en fråga. I dialogträdet visar spårningen mellan ämnen även att agenten körs mot den frågenod du just har redigerat.
En användare kan välja en av knapparna för att använda de fördefinierade alternativen. Eftersom orden även har angetts som synonymer kan de också mata in "trekking" (eller liknande) och se att den mappar till "vandring".
När du spårar mellan ämnen visas dialogen korrekt i densökväg där produktkategorivärdet är "vandring". Du kan inspektera variabelvärdet i fönstret för variabla bevakningar längst ned i redigeringsarbetsytan. Variabelvärdet "vandring" visas i bevakningsfönstret.
Platsfyllning har enkelt uttryckt inträffat genom att den extraherade entiteten "vandring" infogas i variabeln VarCampType
.
Du kan även använda det som kallas "proaktiv platsfyllning", där användaren kan ange flera informationsdelar som mappar till flera entiteter. Agenten kan automatiskt förstå vilken information som tillhör vilken entitet. Om roboten är osäker på den avsedda mappningen erbjuder den användaren alternativ och uppmanar denne att ange mer specifik information.
I det här exemplet skrev användaren Jag är uttråkad men gillar bergsklättring. Det här meddelandet innehåller både den utlösande frasen att användaren vill ha hjälp med utomhusaktiviteter och ger även annan information om "bergsklättring", som är en entitetsdefinierad synonym för vandring. I det här fallet fyller agenten i både entiteten för att välja en utomhusaktivitet och för typen av aktivitet.
När du spårar mellan ämnen ser du att agenten tar in denna användarinmatning och på ett intelligent sätt hoppar över den frågenod som frågar efter typen av aktivitet.
Agenten lyssnar alltid aktivt till användarindatan och memorerar information direkt i syfte att kunna hoppa över onödiga steg.
Vi börjar med att starta om testet och prova ett annat ärende. I den här omgången kan du lägga till ytterligare ett par frågetoder som frågar efter saker som hur mycket tid du har för aktiviteten (med hjälp av entiteten Varaktighet) samt prisklassen (med hjälp av entiteten Pengar).
Den här gången, när frågan om produktkategori presenteras, kan användaren istället för att bara ange produktkategorin säga: "Jag vill köpa ett par vandringskängor för under 100 USD". I det här exemplet kan agenten inte bara navigera till rätt produktkategori för vandringsutrustning utan också automatiskt fylla i fält för typ av vandringsutrustning och önskad målprisklass.
Proaktiv platsfyllning kan styras manuellt på nodnivå. Du kan inaktivera alternativet Hoppa över fråga för den aktuella frågenoden om du alltid vill ställa frågan inom en viss nod, oavsett om platsen har fyllts i från tidigare användarsvar. Utför följande steg för att inaktivera alternativet Hoppa över fråga.
Välj ikonen Mer (…) för noden Fråga och välj sedan Egenskaper. Panelen Frågeegenskaper öppnas.
Välj Frågebeteende i panelen Frågeegenskaper.
Välj Fråga varje gång under Hoppa över fråga i panelen Frågebeteende och välj sedan Spara längst upp på sidan.