Entiteiten gebruiken en het vullen van slots in agenten
Een aanzienlijk deel van agentgesprekken in Copilot Studio werkt met begrip van natuurlijke taal, waarbij het met AI mogelijk is om de intentie van een gebruiker te begrijpen. Stel, bijvoorbeeld dat de gebruiker zegt: "Ik heb geprobeerd mijn cadeaukaart te gebruiken, maar dat werkt niet" en dat de agent weet dat die de gebruiker kan doorverwijzen naar het onderwerp over cadeaubonnen die niet werken. Ook als die exacte zin niet wordt vermeld als een triggerzin.
Een fundamenteel aspect van natuurlijk taalbegrip is identificatie entiteiten in een gebruikersdialoog. Bekijk de video om aan de slag te gaan met entiteiten.
Een entiteit kan worden gezien als een informatie-eenheid die een bepaald type van een echt onderwerp vertegenwoordigt, zoals een telefoonnummer, postcode, woonplaat s of zelfs de naam van een persoon. Met de kennis die door entiteiten wordt verstrekt, kan een agent de relevante informatie van een gebruikersinvoer slim herkennen en opslaan voor later gebruik.
Vooraf samengestelde entiteiten
Met entiteiten in agenten kunt u informatie in vergelijkbare groepen opslaan.
Copilot Studio wordt geleverd met een set vooraf samengestelde entiteiten, die de meest gebruikte informatietypen in echte dialogen weergeven, zoals leeftijd, kleuren, cijfers en namen.
Met de kennis die door entiteiten wordt verstrekt, kan een agent de relevante informatie van een gebruikersinvoer slim herkennen en opslaan voor later gebruik.
De entiteit Geld kan als voorbeeld worden gebruikt om dit toe te lichten.
Open uw agent in Copilot Studio en selecteer instellingen boven aan de pagina. Selecteer vervolgens Entiteiten in het menu.
Er wordt een lijst met beschikbare vooraf samengestelde entiteiten weergegeven.
Selecteer de entiteit Geld om het detailvenster voor de entiteit te openen.
Hier ziet u een uitleg van deze entiteit en de manieren waarop deze kan worden gebruikt om naar informatie over geld of valuta te zoeken op basis van de invoer van een gebruiker.
Als een gebruiker bijvoorbeeld "Het kost 1000 dollar" invoert, weet de agent door deze geldentiteit dat '1000 dollar' de geldsoort is in de informatie. Wanneer de agent deze entiteit extraheert en opslaat in een variabele, wordt "1000" als een getal opgeslagen, ook al was de omringende informatie tekst.
Aangepaste entiteiten
De vooraf gebouwde entiteiten omvatten veelgebruikte informatietypen. In sommige gevallen, bijvoorbeeld bij het bouwen van een agent die een specifiek doel dient, moet u het taalbegripmodel van de agent domeinspecifieke kennis bijbrengen.
Stel dat u een agent wilt bouwen voor een buitensportwinkel. In dit geval moet u de agent in een dialoog leren hoe de categorie "buitensportproducten" kan worden herkend.
Maak eerst een aangepaste entiteit. In dit geval kunt u een entiteit maken die de bot agent geeft van alle productcategorieën van buitensport.
Open uw agent in Copilot Studio en selecteer instellingen boven aan de pagina. Selecteer vervolgens Entiteiten in het menu.
Selecteer Een entiteit toevoegen>Nieuwe entiteit.
Selecteer het gewenste type entiteit: een entiteit Gesloten lijst of een entiteit Reguliere expressie (regex).
Gesloten lijst-entiteiten
Met gesloten lijst-entiteiten kunt u een lijst met items definiëren. Deze entiteiten zijn vooral geschikt voor kleine lijsten die gemakkelijk te beheren zijn en die eenvoudige itemlabels hebben.
Als u deze optie selecteert bij het maken van een entiteit, wordt een deelvenster weergegeven waarin u de naam van de entiteit en een optionele beschrijving kunt opgeven en de items kunt invoeren die u in de entiteit wilt opnemen.
Wanneer u items invoert, kunt u:
- Elk item selecteren en de naam ervan wijzigen.
- Het prullenbak-pictogram selecteren om het item uit de lijst te verwijderen.
- Selecteer + Synoniemen (of selecteer de weergegeven synoniemen als ze al zijn toegevoegd) om het deelvenster Synoniemen bewerken te openen.
U kunt synoniemen toevoegen 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.
Voor elke entiteit kunt u ook Slimme overeenkomsten inschakelen.
Slimme overeenkomsten maakt deel uit van de intelligentie die wordt ondersteund door het taalbegripsmodel van de agent. Als deze optie is ingeschakeld, interpreteert de agent de invoer van de gebruiker met behulp van fuzzy logic, op basis van de vermelde items in de entiteit.
In het bijzonder zal de agent spelfouten automatisch corrigeren en de bijbehorende logica semantisch uitbreiden. De agent kan bijvoorbeeld automatisch "softbal" matchen met "honkbal".
Wanneer u klaar bent met het maken of bewerken van uw entiteit, selecteert u Opslaan om op te slaan en terug te keren naar de lijst met entiteiten. Selecteer Sluiten om uw wijzigingen te negeren.
Reguliere expressie-entiteiten (regex)
Met reguliere expressie-entiteiten (regex) kunt u logische patronen definiëren die u kunt gebruiken om informatie uit een invoer te matchen en te extraheren. Regex-entiteiten zijn geweldig voor het matchen van complexe patronen met de invoer van een gebruiker, of als u rekening moet houden met specifieke variaties in hoe een gebruiker zijn of haar invoer in een gesprek kan opmaken of invoeren.
U kunt bijvoorbeeld een regex-entiteit gebruiken om items zoals een tracking-id, een licentienummer, een creditcardnummer of een IP-adres te identificeren aan de hand van een tekenreeks die de gebruiker in de agent invoert.
Nadat u deze optie hebt geselecteerd, kunt de naam van de entiteit opgeven, een optionele beschrijving en het regex-patroon invoeren dat moet worden gebruikt voor het afstemmen en extraheren van entiteitsitems uit de invoer.
Een Copilot Studio-regex-entiteit gebruikt de .NET-syntaxis voor reguliere expressies.
Patroonovereenkomst is standaard hoofdlettergevoelig. Om het hoofdletterongevoelig te maken, gebruikt u de optie (?i)
voor reguliere expressie in uw patroontekenreeks. In het regex-entiteitsvenster vindt u enkele basisvoorbeelden. Voor meer informatie over de syntaxis en meer voorbeelden, zie Reguliere expressietaal: snelle naslag.
Als u de reguliere expressie meerdere patronen wilt laten opnemen, kunt u de operator voor alternatie |
gebruiken om reguliere expressies samen te voegen. U kunt bijvoorbeeld twee regex-patronen combineren om te zoeken naar zowel de oude als de nieuwe indeling van een product-id-code.
Wanneer u klaar bent met het maken of bewerken van uw entiteit, selecteert u Opslaan om op te slaan en terug te keren naar de lijst met entiteiten. Selecteer Sluiten om uw wijzigingen te negeren.
Entiteiten gebruiken in een gesprek
Nu de agent kennis bevat over buitensportuitrusting doordat u de entiteit van de productcategorie en een paar andere aangepaste entiteiten hebt gemaakt, kunt u ze gebruiken bij het opbouwen van een agentgesprek.
Ga naar de pagina Onderwerpen voor de agent die u wilt bewerken.
Open het onderwerp voor een entiteit die u wilt verzamelen.
Selecteer het pictogram Knooppunt toevoegen
en selecteer vervolgens Een vraag stellen.
Selecteer onder Identificeren de entiteit waarin u Aangepaste entiteiten hebt gemaakt.
U kunt ook optioneel items selecteren om als knoppen weer te geven. Als u bijvoorbeeld bepaalde categorieën als knoppen wilt weergeven zodat gebruikers gemakkelijk hun invoer kunnen kiezen, kiest u Opties voor gebruiker selecteren en selecteert u ze vervolgens in de lijst met items die u hebt toegevoegd toen u de aangepaste entiteit maakte.
Geef indien nodig de variabele voor de uitvoer van de gebruikersrespons een naam.
Vullen van slots
Het vullen van slots is een Language Understanding-begrip dat betekent dat een geëxtraheerde entiteit moet worden opgeslagen in een object. In Copilot Studio betekent het vullen van slots echter het plaatsen van de geëxtraheerde entiteitswaarde in een variabele.
Laten we verder gaan met het onderwerp kampeeractiviteiten, dat wordt geactiveerd door "Ik wil iets doen" in de testchat te typen, als voorbeeld.
Het onderwerp wordt geactiveerd en de agent vraagt om het type activiteit en toont ook de knopkeuzes die zijn opgegeven bij het schrijven van het knooppunt Een vraag stellen. Als u in de dialoogstructuur het pad tussen de onderwerpen volgt, ziet u dat de agent naar het vraagknooppunt gaat dat u zojuist hebt bewerkt.
Een gebruiker kan de vooraf gedefinieerde keuzes gebruiken door een van de knoppen te selecteren. Als alternatief kunnen ze ook "trekken" intypen en zien dat het verwijst naar "wandelen", omdat die woorden als synoniemen zijn gedefinieerd.
Bij het volgen tussen onderwerpen ziet u dat de dialoog correct wordt gerouteerd naar het pad waarin de waarde van de productcategorie "Wandelen" is. U kunt de variabele waarde inspecteren vanuit het variabele venster onderaan het ontwerpcanvas. In het venster ziet u de variabele waarde "Wandelen".
Het vullen van slots vindt plaats door de geëxtraheerde entiteit "Wandelen" in te voegen in de variabele VarCampType
.
U kunt ook "proactief vullen van slots" gebruiken, waarbij de gebruiker meerdere stukjes informatie specificeert die aan meerdere entiteiten worden toegewezen. De agent kan automatisch begrijpen welke informatie bij welke entiteit hoort. In gevallen waarin de beoogde toewijzing onduidelijk is, wordt de gebruiker gevraagd om specifieker te zijn door keuzes te bieden.
In dit voorbeeld schreef de gebruiker: "Ik verveel me, maar ik hou van bergbeklimmen". Dit bericht bevat de triggerzin dat de gebruiker hulp nodig heeft bij buitenactiviteiten en een tweede stukje informatie, namelijk 'bergbeklimmen', wat een door de entiteit gedefinieerd synoniem voor wandelen is. In dit geval vult de agent zowel de entiteit voor het kiezen van een buitensportactiviteit als voor het type activiteit.
Bij het volgen tussen onderwerpen ziet u dat de agent deze gebruikersinvoer opneemt en op intelligente wijze het vraagknooppunt overslaat met de vraag naar het type activiteit.
De agent luistert altijd actief naar de gebruikersinvoer en onthoudt informatie van tevoren, zodat onnodige stappen kunnen worden overgeslagen.
Laten we de test opnieuw starten en een ander geval proberen. In deze ronde kunt u nog een paar vraagknooppunten toevoegen, voor zaken zoals hoeveel tijd hij of zij heeft voor de activiteit (met behulp van de entiteit Duur) en de prijsklasse (met behulp van de entiteit Geld).
Wanneer de vraag over de productcategorie nu wordt gesteld, kan de gebruiker in plaats van alleen de productcategorie aan de agent te vertellen, zeggen: "Ik wil een paar wandelschoenen kopen onder $100." In dit voorbeeld kan de agent niet alleen naar het juiste pad voor de het productcategoriepad wandelen, maar ook actief de slots invullen waarin wordt gevraagd naar het type wandeluitrusting en de beoogde prijsklasse.
Proactief slot vullen kan handmatig worden beheerd op knooppuntniveau. Als u altijd binnen een specifiek knooppunt vragen wilt stellen, ongeacht of de slot is gevuld met eerdere gebruikersreacties, schakelt u de optie Vraag overslaan uit voor dat vraagknooppunt. Voer de volgende stappen uit om de optie Vraag overslaan uit te schakelen.
Selecteer het pictogram Meer (…) van het knooppunt Vraag en selecteer vervolgens Eigenschappen. Het paneel Vraageigenschappen verschijnt.
Selecteer in het paneel VraageigenschappenVraaggedrag.
Selecteer in het paneel Vraaggedrag onder Vraag overslaan de optie Elke keer vragen en vervolgens Opslaan bovenaan de pagina.