Entiteiten gebruiken en het vullen van slots in copilots
Een aanzienlijk deel van de copilot-gesprekken in Copilot Studio werkt met natuurlijk taalbegrip, waarbij het met AI mogelijk is om de intentie van een gebruiker te begrijpen. Er is hier bijvoorbeeld sprake van wanneer een gebruiker zegt: "Ik heb geprobeerd mijn cadeaukaart te gebruiken, maar dat werkt niet" en de copilot de gebruiker naar het onderwerp kan doorverwijzen 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 copilot de relevante informatie van een gebruikersinvoer slim herkennen en opslaan voor later gebruik.
Vooraf samengestelde entiteiten
Met entiteiten in copilots 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 copilot 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 copilot Copilot Studio en selecteer Instellingen boven aan de pagina en vervolgens Entiteiten in het menu.
Er wordt een lijst met beschikbare vooraf samengestelde entiteiten weergegeven.
Selecteer de entiteit Geldom 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 copilot door de geldentiteit dat '1000 dollar' de geldsoort is in de informatie. Wanneer de copilot 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, zoals bij het bouwen van een copilot die een specifiek doel dient, moet u het Language Understanding-model van de copilot domeinspecifieke kennis leren.
Stel dat u een copilot wilt bouwen voor een buitensportwinkel. In dit geval moet u de copilot in een dialoog leren hoe de categorie "buitensportproducten" kunnen worden herkend.
Maak eerst een aangepaste entiteit. In dit geval kunt u een entiteit maken die de copilot kennis geeft van alle productcategorieën van buitensport.
Open uw copilot Copilot Studio en selecteer Instellingen boven aan de pagina en vervolgens Entiteiten in het menu.
Selecteer Een entiteit toevoegen>Nieuwe entiteit.
Er wordt een nieuw deelvenster geopend waarin u het type entiteit kunt kiezen: 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 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 zal de copilot spelfouten automatisch corrigeren en de bijbehorende logica semantisch uitbreiden. De copilot 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 ongedaan te maken (u krijgt een optie om terug te gaan naar het bewerken van de entiteit voor het geval u per ongeluk de verkeerde optie hebt geselecteerd).
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 copilot invoert.
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 het regex-patroon kunt 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)
reguliere expressie in uw patroontekenreeks. Enkele basisvoorbeelden zijn opgenomen in het deelvenster Regex-entiteit, en aanvullende informatie over de syntaxis en meer voorbeelden zijn te vinden in het onderwerp Reguliere expressietaal - Beknopte 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 ongedaan te maken (u krijgt een optie om terug te gaan naar het bewerken van de entiteit voor het geval u per ongeluk de verkeerde optie hebt geselecteerd).
Entiteiten gebruiken in een gesprek
Nu de copilot kennis bevat over buitensporten doordat u de entiteit van de productcategorie en een paar andere aangepaste entiteiten hebt gemaakt, kunt u ze gebruiken bij het opbouwen van een copilot-gesprek.
Ga naar de pagina Onderwerpen voor de copilot 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.
Met nog steeds de campingactiviteiten als voorbeeld wordt dit onderwerp geactiveerd door "Ik wil iets doen" in de testchat te typen.
Het onderwerp wordt geactiveerd en de copilot vraagt om de soort 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 copilot 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 vond 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 copilot 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', een door de entiteit gedefinieerd synoniem voor wandelen. In dit geval vult de copilot zowel de entiteit voor het kiezen van een buitenactiviteit als voor het type activiteit in.
Bij het volgen tussen onderwerpen ziet u dat de copilot deze gebruikersinvoer opneemt en op intelligente wijze het vraagknooppunt met de vraag naar het type activiteit overslaat.
De copilot luistert altijd actief naar de invoer van de gebruiker 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, bijvoorbeeld voor zaken als de hoeveelheid tijd die u hebt voor de activiteit (met de entiteit Duur) en de prijsklasse (met behulp de entiteit Geld).
Wanneer de vraag over de productcategorie wordt gesteld, kan de gebruiker in plaats van alleen de productcategorie te vermelden, zeggen "Ik wil een paar wandelschoenen kopen onder €100". In dit voorbeeld kan de copilot niet alleen het juiste pad van de wandelproductcategorie volgen, maar ook actief de slots vullen die vragen naar het type wandeluitrusting en de informatie over de doelprijsklasse.
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 Vraageigenschappen Vraaggedrag.
Selecteer in het paneel Vraaggedrag onder Vraag overslaan de optie Elke keer vragen en vervolgens Opslaan bovenaan de pagina.