Componenti delle entità

Nella comprensione del linguaggio di conversazione, le entità sono informazioni rilevanti estratte dalle espressioni. Un'entità può essere estratta da metodi diversi. Possono essere apprese tramite contesto, abbinate da un elenco o rilevate da un'entità riconosciuta predefinita. Ogni entità nel progetto è costituita da uno o più di questi metodi, definiti come componenti dell'entità.

Quando un'entità viene definita da più componenti, le relative stime possono sovrapporsi. È possibile determinare il comportamento di una stima di entità quando i relativi componenti si sovrappongono usando un set fisso di opzioni nelle opzioni di entità.

Tipi di componente

Un componente di entità determina un modo per estrarre l'entità. Un'entità può contenere un componente, che determina l'unico metodo da usare per estrarre l'entità. Un'entità può anche contenere più componenti per espandere i modi in cui l'entità viene definita ed estratta.

Componenti appresi

Il componente appreso usa i tag di entità con cui si etichettano le espressioni per eseguire il training di un modello appreso da machine learning. Il modello impara a stimare dove si trova l'entità, in base al contesto all'interno dell'espressione. Le etichette forniscono esempi in cui l'entità dovrebbe essere presente nell'espressione, in base al significato delle parole circostanti e come parole etichettate.

Questo componente viene definito solo se si aggiungono etichette contrassegnando le espressioni per l'entità. Se non si contrassegna alcuna espressione con l'entità, non ha un componente appreso.

Screenshot che mostra un esempio di componenti appresi per le entità.

Componente elenco

Il componente elenco rappresenta un set chiuso e fisso di parole correlate insieme ai relativi sinonimi. Il componente esegue una corrispondenza di testo esatta rispetto all'elenco di valori forniti come sinonimi. Ogni sinonimo appartiene a una chiave elenco, che può essere usata come valore normalizzato e standard per il sinonimo che restituisce nell'output, se il componente elenco corrisponde. Le chiavi di elenco non sono usate per la corrispondenza.

Nei progetti multilingue è possibile specificare un set diverso di sinonimi per ogni lingua. Quando si usa l'API di stima, è possibile specificare la lingua nella richiesta di input, che corrisponde solo ai sinonimi associati a tale lingua.

Screenshot che mostra un esempio di componenti dell'elenco per le entità.

Componente predefinito

Il componente predefinito consente di selezionare da una libreria di tipi comuni, ad esempio numeri, date e ore e nomi. Quando viene aggiunto, viene rilevato automaticamente un componente predefinito. È possibile avere fino a cinque componenti predefiniti per entità. Per altre informazioni, vedere l'elenco dei componenti predefiniti supportati.

Screenshot che mostra un esempio di componenti predefiniti per le entità.

Componente Regex

Il componente regex corrisponde alle espressioni regolari per acquisire criteri coerenti. Quando viene aggiunto, viene estratto qualsiasi testo corrispondente all'espressione regolare. È possibile avere più espressioni regolari all'interno della stessa entità, ognuna con un identificatore di chiave differente. Un'espressione corrispondente restituisce la chiave come parte della risposta di stima.

Nei progetti multilingue è possibile specificare un'espressione differente per ogni lingua. Quando si usa l'API di stima, è possibile specificare la lingua nella richiesta di input, che corrisponde solo all'espressione regolare associata a tale lingua.

Screenshot che mostra un esempio di componenti regex per le entità.

Opzioni delle entità

Quando vengono definiti più componenti per un'entità, le stime potrebbero sovrapporsi. Quando si verifica una sovrapposizione, la stima finale di ogni entità viene determinata da una delle opzioni seguenti.

Combinare i componenti

Combinare i componenti come un'unica entità quando si sovrappongono prendendo l'unione di tutti i componenti.

Usare questa opzione per combinare tutti i componenti quando si sovrappongono. Quando i componenti vengono combinati, si ottengono tutte le informazioni aggiuntive associate a un elenco o a un componente predefinito quando sono presenti.

Esempio

Si supponga di avere un'entità denominata Software con un componente elenco, che contiene "il sistema operativo Proseware" come voce. Nei dati di espressione compare “Desidero di acquistare il sistema operativo Proseware 9” con “sistema operativo Proseware 9” contrassegnato come Software:

Screenshot che mostra un'entità appresa e un'entità elenco sovrapposta.

Utilizzando componenti combinati, l'entità restituisce il contesto completo come "sistema operativo Proseware 9" insieme alla chiave del componente elenco:

Screenshot che mostra il risultato di un componente combinato.

Si supponga di avere la stessa espressione, ma che solo "OS 9" sia stato stimato dal componente appreso:

Screenshot che mostra un'espressione con O S 9 stimata dal componente appreso.

Utilizzando i componenti combinati, l'entità viene comunque restituita come "sistema operativo Proseware 9" con la chiave del componente elenco:

Screenshot che mostra l'entità Software restituita.

Non combinare i componenti

Ogni componente sovrapposto viene restituito come istanza separata dell'entità. Applicare la propria logica dopo la stima con questa opzione.

Esempio

Si supponga di avere un'entità denominata Software con un componente elenco, che contiene "Proseware Desktop" come voce. Nei dati dell’espressione compare “Desidero acquistare Proseware Desktop Pro" con "Proseware Desktop Pro” etichettato come Software:

Screenshot che mostra un esempio di un'entità appresa ed elencata sovrapposta.

Quando non si combinano componenti, l'entità restituisce due volte:

Screenshot che mostra l'entità restituita due volte.

Componenti richiesti

A volte un'entità può essere definita da più componenti, ma richiede che uno o più di essi siano presenti. Ogni componente può essere impostato come richiesto, il che significa che l'entità non verrà restituita se tale componente non era presente. Ad esempio, se si dispone di un'entità con un componente elenco e un componente appreso obbligatorio, è garantito che qualsiasi entità restituita includa un componente appreso. In caso contrario, l'entità non viene restituita.

I componenti necessari vengono usati più di frequente con i componenti appresi perché possono limitare gli altri tipi di componenti a un contesto specifico, comunemente associato ai ruoli. È anche possibile richiedere che tutti i componenti siano presenti per un'entità.

In Language Studio, ogni componente di un'entità ha un interruttore accanto a esso che consente di impostarlo in base alle esigenze.

Esempio

Si supponga di disporre di un'entità denominata Quantità di biglietti che tenta di estrarre il numero di biglietti da prenotare per i voli per espressioni come "Prenotare due biglietti per domani per il Cairo".

In genere, si aggiunge un componente predefinito per Quantity.Number che estrae già tutti i numeri. Se l'entità è stata definita solo con il componente predefinito, vengono estratti anche altri numeri come parte dell'entità Quantità di biglietti, ad esempio per espressioni come "Prenotare due biglietti per domani per il Cairo alle ore 15:00".

Per risolvere questo scenario, è necessario etichettare un componente appreso nei dati di training per tutti i numeri destinati a essere Quantità del biglietto. L'entità include ora due componenti: il componente predefinito che conosce tutti i numeri e quello appreso che stima la posizione della quantità di ticket in una frase. Se è necessario usare il componente appreso, assicurarsi che Quantità di biglietti restituisca solo quando il componente appreso esegue la previsione nel contesto corretto. Se è necessario usare anche il componente predefinito, è possibile assicurarsi che l'entità Quantità di biglietti restituita sia un numero nella posizione corretta.

Usare componenti e opzioni

I componenti offrono la flessibilità necessaria per definire l'entità in più modi. Quando si combinano componenti, assicurarsi che ogni componente sia rappresentato e ridurre il numero di entità restituite nelle stime.

Una pratica comune consiste nell'estendere un componente predefinito con un elenco di valori che potrebbero non essere supportati dal predefinito. Ad esempio, se si dispone di un'entità Organizzazione, che ha un componente predefinito General.Organization aggiunto, l'entità potrebbe non prevedere tutte le organizzazioni specifiche del dominio. È possibile usare un componente elenco per estendere i valori dell'entità Organizzazione ed estendere il componente predefinito con le proprie organizzazioni.

In altri casi, si potrebbe essere interessati a estrarre un'entità tramite contesto, ad esempio un Prodotto in un progetto di vendita al dettaglio. Etichettare il componente appreso del prodotto per scoprire dove un prodotto si basa sulla sua posizione all'interno della frase. Si potrebbe anche avere un elenco di prodotti già noti in anticipo che si desidera sempre estrarre. La combinazione di entrambi i componenti in un'entità consente di ottenere entrambe le opzioni per l'entità.

Quando non si combinano componenti, è possibile consentire a ogni componente di fungere da estrattore di entità indipendente. Un modo per usare questa opzione consiste nel separare le entità estratte da un elenco, da quelle estratte tramite i componenti appresi o predefiniti per gestirle e trattarle in modo diverso.

Nota

In precedenza, durante l'anteprima pubblica del servizio, erano disponibili quattro opzioni: Sovrapposizione più lunga, Sovrapposizione esatta, Sovrapposizione unione e Restituisci tutti separatamente. Sovrapposizione più lunga e Sovrapposizione esatta sono deprecate e sono supportate solo per i progetti che in precedenza avevano tali opzioni selezionate. Sovrapposizione unione è stata rinominata Combina componenti, mentre Restituisci tutti separatamente è stata rinominata Non combinare i componenti.