Entiteitsonderdelen
In het begrip van gesprekstaal zijn entiteiten relevante stukjes informatie die worden geëxtraheerd uit uw utterances. Een entiteit kan worden geëxtraheerd door verschillende methoden. Ze kunnen worden geleerd via context, overeenkomend vanuit een lijst of gedetecteerd door een vooraf gedefinieerde herkende entiteit. Elke entiteit in uw project bestaat uit een of meer van deze methoden, die zijn gedefinieerd als de onderdelen van uw entiteit.
Wanneer een entiteit wordt gedefinieerd door meer dan één onderdeel, kunnen de voorspellingen elkaar overlappen. U kunt het gedrag van een entiteitsvoorspelling bepalen wanneer de onderdelen elkaar overlappen met behulp van een vaste set opties in de entiteitsopties.
Onderdeeltypen
Een entiteitsonderdeel bepaalt een manier waarop u de entiteit kunt extraheren. Een entiteit kan één onderdeel bevatten, waarmee de enige methode wordt bepaald die moet worden gebruikt om de entiteit te extraheren. Een entiteit kan ook meerdere onderdelen bevatten om de manieren uit te breiden waarop de entiteit wordt gedefinieerd en geëxtraheerd.
Geleerd onderdeel
Het geleerde onderdeel maakt gebruik van de entiteitstags waarmee u uw utterances labelt om een machine learning-model te trainen. Het model leert te voorspellen waar de entiteit is gebaseerd op de context binnen de utterance. Uw labels bevatten voorbeelden van waar de entiteit naar verwachting aanwezig is in een uiting, op basis van de betekenis van de woorden eromheen en als de woorden die zijn gelabeld.
Dit onderdeel wordt alleen gedefinieerd als u labels toevoegt door uitingen voor de entiteit te taggen. Als u geen utterances tagt met de entiteit, heeft deze geen geleerd onderdeel.
Lijstonderdeel
Het lijstonderdeel vertegenwoordigt een vaste, gesloten set gerelateerde woorden, samen met hun synoniemen. Het onderdeel voert een exacte tekstovereenkomst uit op basis van de lijst met waarden die u als synoniemen opgeeft. Elk synoniem behoort tot een lijstsleutel, die kan worden gebruikt als de genormaliseerde, standaardwaarde voor het synoniem dat in de uitvoer wordt geretourneerd als het lijstonderdeel overeenkomt. Lijstsleutels worden niet gebruikt voor overeenkomsten.
In meertalige projecten kunt u voor elke taal een andere set synoniemen opgeven. Wanneer u de voorspellings-API gebruikt, kunt u de taal opgeven in de invoeraanvraag, die alleen overeenkomt met de synoniemen die aan die taal zijn gekoppeld.
Vooraf samengesteld onderdeel
Met het vooraf samengestelde onderdeel kunt u kiezen uit een bibliotheek met algemene typen, zoals getallen, datum/tijd en namen. Wanneer dit is toegevoegd, wordt automatisch een vooraf samengesteld onderdeel gedetecteerd. U kunt maximaal vijf vooraf gedefinieerde onderdelen per entiteit hebben. Zie de lijst met ondersteunde vooraf samengestelde onderdelen voor meer informatie.
Regex-onderdeel
Het regex-onderdeel komt overeen met reguliere expressies om consistente patronen vast te leggen. Wanneer deze wordt toegevoegd, wordt alle tekst die overeenkomt met de reguliere expressie geëxtraheerd. U kunt meerdere reguliere expressies binnen dezelfde entiteit hebben, elk met een andere sleutel-id. Een overeenkomende expressie retourneert de sleutel als onderdeel van het voorspellingsantwoord.
In meertalige projecten kunt u voor elke taal een andere expressie opgeven. Wanneer u de voorspellings-API gebruikt, kunt u de taal opgeven in de invoeraanvraag, die alleen overeenkomt met de reguliere expressie die aan die taal is gekoppeld.
Entiteitsopties
Als er meerdere onderdelen zijn gedefinieerd voor een entiteit, kunnen de voorspellingen elkaar overlappen. Wanneer er een overlap optreedt, wordt de uiteindelijke voorspelling van elke entiteit bepaald door een van de volgende opties.
Onderdelen combineren
Combineer onderdelen als één entiteit wanneer ze overlappen door de samenvoeging van alle onderdelen te nemen.
Gebruik deze optie om alle onderdelen te combineren wanneer ze overlappen. Wanneer onderdelen worden gecombineerd, krijgt u alle extra informatie die is gekoppeld aan een lijst of vooraf samengesteld onderdeel wanneer ze aanwezig zijn.
Opmerking
Stel dat u een entiteit hebt met de naam Software die een lijstonderdeel bevat, dat 'Proseware OS' bevat als vermelding. In uw uitingsgegevens hebt u 'Ik wil Proseware OS 9 kopen' met 'Proseware OS 9' getagd als Software:
Door gecombineerde onderdelen te gebruiken, retourneert de entiteit met de volledige context als Proseware OS 9, samen met de sleutel uit het lijstonderdeel:
Stel dat u dezelfde uiting hebt, maar dat alleen 'OS 9' is voorspeld door het geleerde onderdeel:
Met gecombineerde onderdelen retourneert de entiteit nog steeds 'Proseware OS 9' met de sleutel uit het lijstonderdeel:
Onderdelen niet combineren
Elk overlappend onderdeel wordt geretourneerd als een afzonderlijk exemplaar van de entiteit. Pas uw eigen logica toe na voorspelling met deze optie.
Opmerking
Stel dat u een entiteit hebt met de naam Software die een lijstonderdeel bevat, dat Proseware Desktop als vermelding bevat. In uw uitingsgegevens hebt u 'Ik wil Proseware Desktop Pro kopen' met 'Proseware Desktop Pro' getagd als Software:
Wanneer u geen onderdelen combineert, retourneert de entiteit twee keer:
Vereiste onderdelen
Soms kan een entiteit worden gedefinieerd door meerdere onderdelen, maar moet een of meer ervan aanwezig zijn. Elk onderdeel kan worden ingesteld als vereist, wat betekent dat de entiteit niet wordt geretourneerd als dat onderdeel niet aanwezig was. Als u bijvoorbeeld een entiteit met een lijstonderdeel en een vereist geleerd onderdeel hebt, is het gegarandeerd dat een geretourneerde entiteit een geleerd onderdeel bevat. Als dit niet het probleem is, wordt de entiteit niet geretourneerd.
Vereiste onderdelen worden het vaakst gebruikt met geleerde onderdelen, omdat ze de andere onderdeeltypen kunnen beperken tot een specifieke context, die meestal aan rollen is gekoppeld. U kunt ook alle onderdelen vereisen om ervoor te zorgen dat elk onderdeel aanwezig is voor een entiteit.
In Language Studio heeft elk onderdeel in een entiteit een wisselknop ernaast waarmee u het naar behoefte kunt instellen.
Opmerking
Stel dat u een entiteit hebt met de naam Ticket Quantity die probeert het aantal tickets te extraheren dat u wilt reserveren voor vluchten, voor uitingen zoals 'Boek morgen twee tickets naar Cairo'.
Normaal gesproken voegt u een vooraf samengesteld onderdeel toe waarmee Quantity.Number
al alle getallen worden geëxtraheerd. Als uw entiteit alleen is gedefinieerd met het vooraf samengestelde onderdeel, worden ook andere nummers geëxtraheerd als onderdeel van de entiteit Tickethoeveelheid, zoals 'Boek twee tickets morgen om 17:00 uur naar Cairo'.
Om dit scenario op te lossen, labelt u een geleerd onderdeel in uw trainingsgegevens voor alle nummers die bedoeld zijn als tickethoeveelheid. De entiteit heeft nu twee onderdelen: het vooraf samengestelde onderdeel dat alle getallen kent en het geleerde onderdeel dat voorspelt waar de tickethoeveelheid zich in een zin bevindt. Als u het geleerde onderdeel nodig hebt, moet u ervoor zorgen dat tickethoeveelheid alleen wordt geretourneerd wanneer het geleerde onderdeel dit in de juiste context voorspelt. Als u ook het vooraf samengestelde onderdeel nodig hebt, kunt u garanderen dat de entiteit geretourneerde tickethoeveelheid zowel een getal als de juiste positie heeft.
Onderdelen en opties gebruiken
Onderdelen bieden u de flexibiliteit om uw entiteit op meer dan één manier te definiëren. Wanneer u onderdelen combineert, zorgt u ervoor dat elk onderdeel wordt weergegeven en vermindert u het aantal entiteiten dat in uw voorspellingen wordt geretourneerd.
Een veelvoorkomende procedure is om een vooraf samengesteld onderdeel uit te breiden met een lijst met waarden die de vooraf gedefinieerde onderdelen mogelijk niet ondersteunen. Als u bijvoorbeeld een organisatie-entiteit hebt, waaraan een General.Organization
vooraf gedefinieerd onderdeel is toegevoegd, voorspelt de entiteit mogelijk niet alle organisaties die specifiek zijn voor uw domein. U kunt een lijstonderdeel gebruiken om de waarden van de entiteit Organisatie uit te breiden en het vooraf samengestelde onderdeel uit te breiden met uw eigen organisaties.
In andere gevallen bent u misschien geïnteresseerd in het extraheren van een entiteit via context, zoals een product in een retailproject. U labelt het geleerde onderdeel van het product om te leren waar een product is gebaseerd op de positie in de zin. Mogelijk hebt u ook een lijst met producten die u al van tevoren weet dat u altijd wilt extraheren. Door beide onderdelen in één entiteit te combineren, kunt u beide opties voor de entiteit ophalen.
Wanneer u geen onderdelen combineert, staat u toe dat elk onderdeel fungeert als een onafhankelijke entiteitsextractor. Een manier om deze optie te gebruiken, is het scheiden van de entiteiten die zijn geëxtraheerd uit een lijst met de entiteiten die zijn geëxtraheerd via de geleerde of vooraf gemaakte onderdelen om ze op een andere manier te verwerken en te behandelen.
Notitie
Eerder tijdens de openbare preview van de service waren er vier beschikbare opties: Langste overlapping, Exacte overlapping, Unie overlap en Alles afzonderlijk retourneren. Langste overlapping en Exacte overlapping worden afgeschaft en worden alleen ondersteund voor projecten waarop eerder deze opties waren geselecteerd. Overlap van de samenvoeging is hernoemd naar Onderdelen combineren, terwijl de naam Return allemaal afzonderlijk is gewijzigd in Onderdelen niet combineren.