Entiteter och bästa praxis för platsfyllning i Copilot Studio
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 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
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.
Copilot 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
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 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 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 bör copilot-författarna inkludera ett exempel på en utlösarfras med en användning av en entiteten för att NLU ska generalisera andra entitetsvarianter.
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.
I Dessutom korrigerar copilot stavfel och automatiskt och utökar sin matchningslogik semantiskt. Exempelvis kan copilot automatiskt matcha "softball" med "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 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.
Tips!
Information om hur du granskar en exempelimplementering finns i Returnera en lista med resultat.