Best practices voor entiteiten en het vullen van vakken in Copilot Studio
Wat is het vullen van vakken?
Het vullen van slots houdt verband met het gebruik van entiteiten waarmee een copilot gemakkelijker informatie kan verwerven en gebruiken door deze te identificeren en uit de gebruikersquery te halen.
Een copilot heeft doorgaans verschillende stukjes informatie van een gebruiker nodig om het werk te kunnen doen. Om deze informatie te verkrijgen, stelt u doorgaans afzonderlijke vragen, één voor elk feit dat de copilot nodig heeft. Wanneer u entiteiten gebruikt in uw vragen, detecteert Copilot Studio de vereiste informatie en worden de vragen overgeslagen waar de informatie kan worden geïdentificeerd in de activerende gebruikersvraag.
Stel dat de gebruiker het volgende vraagt:
Ik wil graag 3 grote blauwe t-shirts bestellen
Copilot Studio Natural Language Understanding (NLU) kan nu onmiddellijk het volgende begrijpen:
- Het onderwerp is bestellen.
- De hoeveelheid is 3.
- De kleur is blauw.
- Het itemtype is T-shirt.
De copilot kan dan onnodige vragen overslaan. Als sommige stukjes informatie ontbreken, bijvoorbeeld grootte, stelt de bot de onbeantwoorde vragen voordat deze doorgaat. Dankzij het vullen van slots kan uw copilot gemakkelijker informatie verkrijgen en gebruiken en vermindert u het aantal vragen dat u moet stellen.
U definieert eerst welke entiteiten u wilt gebruiken en hun typen.
Entiteiten definiëren
Copilot Studio biedt verschillende ingebouwde entiteiten voor de meest voorkomende gebruikssituaties, zoals E-mail, Datum en tijd, Naam persoon, Telefoonnummer, Kleur, Land, Plaats, Nummer, Geld en meer.
Ingebouwde entiteiten zijn krachtig omdat ze veel variaties kunnen verwerken van de vorm die informatie kan aannemen. Bij gebruik van Geld in een gesprek kan de gebruiker een waarde invoeren als '$100', 'honderd dollar' of '100 dollar'. Het NLU-model in Copilot Studio komt erachter dat de waarde een geldwaarde is van 100 dollar.
Fooi
Hoe waarden ook worden ingevoerd, zolang ze worden opgevraagd met vragen in uw gespreksstroom, worden ze opgeslagen in variabelen die u opnieuw kunt gebruiken.
U kunt ook uw eigen aangepaste entiteiten definiëren, zoals Itemtype uit het vorige voorbeeld. Er zijn twee soorten aangepaste entiteiten:
- Gesloten lijst: voor een vooraf gedefinieerde lijst met waarden.
- Reguliere expressies (RegEx): voor informatie die overeenkomt met een specifiek patroon. RegEx is ideaal wanneer u gegevens moet vastleggen die altijd dezelfde notatie hebben (bijvoorbeeld INC000001 voor een ticketnummer)
De gebruikerservaring verbeteren
Met entiteiten kunt u uw leven eenvoudiger maken door Copilot Studio op een intelligentere manier gegevens te laten verzamelen op basis van vragen van gebruikers. Wat nog belangrijker is, het maakt het leven van gebruikers beter omdat entiteiten informatie van gebruikersvragen kunnen vinden en opslaan en die informatie later in het gesprek beschikbaar kunnen maken. Entiteiten verbeteren de gebruikerservaring (ze laten uw copilot slimmer lijken) en het is absoluut een aanbevolen procedure om ze waar mogelijk te gebruiken.
Best practices voor entiteiten
Synoniemen gebruiken
U kunt synoniemen toevoegen aan gesloten lijstentiteitswaarden om de overeenkomende logica voor elk item in de lijst van de entiteit handmatig uit te breiden. In het item "wandelen" kunt u bijvoorbeeld "trekking" en "alpinisme" als synoniemen toevoegen.
Fooi
- Het gebruik van synoniemen kan ook de onderwerpactivering ten goede komen, omdat ze het gewicht van een triggerzin verhogen door verwante woorden toe te voegen als synoniemen van een entiteit die het bevat. Voeg bijvoorbeeld voor de optie 'Klacht' vergelijkbare negatieve woorden of zinsdelen toe als synoniemen.
- Het NLU-model generaliseert ook op alle entiteitsvarianten (al hun waarden en hun synoniemen) voor het geval een triggerzin voor een onderwerp ten minste één variant van deze entiteit bevat. Met andere woorden, copilotauteurs moeten één voorbeeld van een triggerzin opnemen met één gebruik van deze entiteit, zodat de NLU deze kan generaliseren naar andere entiteitsvariaties.
Slimme overeenkomsten inschakelen
Voor elke gesloten-lijstentiteit kunt u ook Slimme overeenkomsten inschakelen.
Slimme overeenkomsten maakt deel uit van de intelligentie die wordt ondersteund door het NLU-model van de copilot. Als deze optie is ingeschakeld, interpreteert de copilot de invoer van de gebruiker met behulp van fuzzy logic op basis van de vermelde items in de entiteit.
In het bijzonder corrigeert de copilot spelfouten automatisch en breidt de bijbehorende logica semantisch uit. De copilot kan bijvoorbeeld automatisch softbal matchen met honkbal.
Creatief omgaan met reguliere expressies
Soms kan entiteitsextractie uit een gebruikersquery tot verwarring leiden voor het NLU-model, vooral wanneer meerdere entiteiten van hetzelfde type aanwezig zijn in de gebruikersquery.
Als een gebruiker bijvoorbeeld het volgende zegt:
kun je 2 handdoeken en 1 kussen meenemen naar kamer 101?
Bij gebruik van de ingebouwde entiteit Getal kan er verwarring ontstaan over 2, 1 en 101. Om deze verwarring te omzeilen, kunt u de volgende entiteiten voor reguliere expressies definiëren:
- Aantal handdoeken: [1-9] handdoek
- Aantal kussens: [1-9] kussen
- Kamernummer: [0-9]{3}
Alternatieven voor entiteiten om referentiegegevens op te slaan
Voor grote of evoluerende gegevenssets (bijvoorbeeld een lijst met producten of klanten) kunt u in plaats van gesloten lijstentiteiten Copilot Studio te gebruiken mogelijk ook externe bronnen controleren. Mogelijk moet u de gebruikersuiting doorgeven aan de externe service met behulp van een Power Automate-cloudstroom.
Uw onderwerplogica kan vervolgens de juistheid van het resultaat valideren (of de gebruiker vragen om het te valideren) voordat u verder gaat in het gesprek.
Dataverse is een goede kandidaat om dergelijke gegevens op te slaan, omdat het een ingebouwde Dataverse-zoekfunctie bevat die fuzzy matching ondersteunt om de beste resultaten met een betrouwbaarheidsscore te retourneren. Zelfs als u zoekt met een volledige zin, kunnen er mogelijke overeenkomsten worden opgehaald.
Fooi
Zie Een lijst met resultaten retourneren voor een voorbeeld van een implementatie.