Opzioni relative alle entità

Esistono diverse opzioni delle entità che modificano il comportamento della corrispondenza delle entità e dell'estrazione dei dati. Queste opzioni sono preconfigurate per le entità di sistema, pertanto non puoi modificarle per le entità di sistema. Tuttavia, puoi modificarli per le tue entità personalizzate. Puoi creare diversi tipi di entità, a seconda delle opzioni selezionate:

Esistono inoltre due opzioni che non determinano il tipo di entità, ma influiscono sul comportamento della corrispondenza delle entità:

Questo documento descrive ognuna di queste opzioni.

Dove trovare questi dati

Durante la creazione di un agente, è più comune utilizzare Dialogflow ES Console (consulta la documentazione, apri la console). Le istruzioni riportate di seguito sono incentrate sull'utilizzo della console. Per accedere ai dati delle opzioni entità:

  1. Vai alla console Dialogflow ES.
  2. Seleziona un agente.
  3. Seleziona Entità nel menu della barra laterale a sinistra.
  4. Seleziona la scheda Personalizzato per le entità personalizzate definite per il tuo agente o la scheda Sistema per le entità di sistema utilizzate dall'agente.
  5. Vedi le seguenti caselle di controllo per tutte le entità esistenti:
    • Definire i sinonimi
    • Entità Regexp (solo entità personalizzata)
    • Consenti l'espansione automatica (solo entità personalizzata)
    • Corrispondenza parziale (solo entità personalizzata)

Se stai creando un agente utilizzando l'API anziché la console, consulta il riferimento per i tipi di entità. I nomi dei campi API sono simili a quelli dei campi della console. Le istruzioni riportate di seguito evidenziano eventuali differenze importanti tra la console e l'API.

Entità mappa

Le entità Mappa forniscono una mappa, dai valori di riferimento ai sinonimi per ogni valore di riferimento. Ogni voce di entità della mappa contiene un singolo valore di riferimento e un elenco di sinonimi. Ad esempio, ognuna delle seguenti righe è una voce di entità per un tipo di entità size:

Valore di riferimento Sinonimi
S S, piccolo, minuscolo, piccolo
M M, media, media
S L, grande, enorme, grande

Nota che il valore di riferimento è incluso nell'elenco dei sinonimi per ogni voce di entità sopra riportata. Per trovare una corrispondenza, il valore di riferimento deve essere incluso come sinonimo. Quando inserisci inizialmente un valore di riferimento con la console, questo viene aggiunto automaticamente come sinonimo.

Se uno dei sinonimi viene trovato per una parte dell'espressione dell'utente finale, il valore di riferimento associato viene estratto per la corrispondenza e viene utilizzato per risolvere il valore parametro associato.

È consentito omettere il valore di riferimento dall'elenco dei sinonimi. Ciò significa semplicemente che non corrisponde a una parte dell'espressione dell'utente finale, ma viene utilizzato come valore estratto quando si verifica una corrispondenza con uno dei suoi sinonimi. Questo è preferibile quando si utilizzano stringhe speciali per valori di riferimento che non vengono digitati o pronunciati dagli utenti finali.

Molte entità di sistema sono entità di mappa. Ad esempio, l'entità di sistema @sys.date corrisponde a input di date comuni come "1° gennaio 2015" o "Il primo gennaio 2015". Entrambi questi input sono mappati a un valore di riferimento nel formato ISO-8601: "2015-01-01T12:00:00-03:00".

Per creare un'entità mappa:

  • Nella console, deseleziona l'opzione Entità Regexp e seleziona l'opzione Definisci sinonimi.
  • Utilizzando l'API, imposta il campo EntityType kind su KIND_MAP.

Elenco entità

Le entità elenco forniscono un elenco di voci di entità con valore singolo. Non contengono valori di riferimento e sinonimi. Ad esempio, ognuna delle seguenti righe è una voce di entità per un tipo di entità material:

Valore
tessuto
legno
metallo

Se viene trovata una corrispondenza con un valore per una parte dell'espressione dell'utente finale, il valore viene estratto per la corrispondenza e viene utilizzato per risolvere il valore parametro associato.

Molte entità di sistema sono entità di tipo elenco. Ad esempio, l'entità di sistema @sys.color corrisponde a input di colore comuni come "rosso" o "blu". Quando si verifica la corrispondenza di un colore, il valore estratto non viene mappato a nessun valore di riferimento. Ad esempio, le tonalità di rosso, come "scarlatto" o "cremisi", non vengono mappate su "rosso" e vengono estratte con i valori originali "scarlatto" e "cremisi".

Per creare un'entità elenco:

  • Nella console, deseleziona l'opzione Entità Regexp e deseleziona l'opzione Definisci sinonimi.
  • Utilizzando l'API, imposta il campo EntityType kind su KIND_LIST.

Entità composita

Un'entità composita è un tipo speciale di entità elenco. Le voci di entità per le entità elenco in genere contengono parole o frasi semplici, ma possono anche contenere altri tipi di entità. Quando un tipo di entità viene fatto riferimento in un altro tipo di entità, il riferimento è chiamato alias. Quando un'entità elenco contiene alias di altri tipi di entità, si chiama entità composita.

Quando crei un alias, devi specificare il nome del tipo di entità di riferimento e un nome della proprietà a tua scelta. Quando viene trovata una corrispondenza di un'entità composita in fase di runtime, il valore estratto viene restituito come oggetto JSON, con i nomi delle proprietà alias utilizzati come nomi di proprietà JSON. Il formato per l'inserimento di un alias è:

@entity-name:property-name

Ad esempio, puoi creare un tipo di entità place che corrisponde a una città o a uno stato con le seguenti voci di entità:

Valore
@sys.geo-city:città
@sys.geo-state:state

Se un'espressione dell'utente finale contiene una parte "Nashville", viene trovata una corrispondenza con il tipo di entità place. Il valore estratto viene restituito come: {"city": "Nashville"}.

In una voce di entità puoi anche utilizzare più alias di entità. Considera il seguente tipo di entità personalizzata move che contiene alias a un tipo di entità direction e al tipo di entità di sistema @sys.number:

Tipo di entità mappa personalizzata per le indicazioni stradali:

Valore di riferimento Sinonimi
avanti avanti, avanti
indietro indietro, indietro, indietro

Sposta il tipo di entità elenco personalizzato:

Valore
@sys.number:steps passi @direction:direction

Se l'entità move viene abbinata a un'espressione dell'utente finale che contiene "cinque passi indietro", verrà trovata una corrispondenza con l'entità move. Il valore estratto viene restituito come: {"steps": 5, "direction": "back"}.

Molte entità di sistema sono entità composite. Ad esempio, l'entità di sistema @sys.unit-currency viene utilizzata per abbinare importi di denaro a un nome di valuta. Corrisponde a espressioni dell'utente finale come "50 euro" o "venti dollari e cinque centesimi". Il valore estratto viene restituito come oggetto JSON come: {"amount": 50, "currency": "EUR"}

Entità Regexp

Con le entità regexp, puoi fornire espressioni regolari per la corrispondenza. Per ulteriori informazioni, consulta Entità Regexp.

Per creare un'entità regexp:

  • Utilizzando la console, seleziona l'opzione Entità Regexp.
  • Utilizzando l'API, imposta il campo EntityType kind su KIND_REGEXP.

Espansione automatica

Puoi attivare l'espansione automatica per un tipo di entità personalizzato. Quando questa opzione è abilitata, l'agente può riconoscere i valori che non sono stati forniti esplicitamente. Ad esempio, considera un tipo di entità lista della spesa:

Valore
pane
burro
latte
mela
gelato

Se un'espressione dell'utente finale è "Devo comprare qualche carota", per questo tipo di entità verrà trovata una corrispondenza con "carote", anche se non è fornita. L'agente riconosce che "carote" è contestualmente simile ad altri valori.

Quando prendi in considerazione l'espansione automatica, ti consigliamo di seguire le best practice:

  • L'attivazione dell'espansione automatica non garantisce l'estrazione delle entità. Per un elenco limitato, devi fornire l'elenco completo anziché fornire un elenco parziale e abilitare l'espansione automatica.
  • Se attivi l'espansione automatica in più entità, potrebbero verificarsi conflitti e risultati di classificazione imprevisti.
  • Per garantire una migliore qualità dell'estrazione dei parametri, è fondamentale fornire dati di addestramento diversificati che coprano tutti i casi d'uso in cui una determinata entità può essere trovata nel traffico dell'agente previsto. Se gli esempi non sono sufficienti, l'espansione delle entità automatizzate potrebbe non funzionare come previsto.

Per attivare l'espansione automatica:

  • Nella console, seleziona l'opzione Consenti l'espansione automatica.
  • Utilizzando l'API, imposta il campo EntityType autoExpansionMode su AUTO_EXPANSION_MODE_DEFAULT.

Corrispondenza parziale

Puoi attivare la corrispondenza parziale per un'entità personalizzata. Quando la corrispondenza parziale è attivata, l'ordine delle parole in un valore o un sinonimo non è importante. Per ulteriori informazioni, consulta la sezione Corrispondenza parziale.

Per attivare la corrispondenza parziale:

  • Utilizzando la console, seleziona l'opzione Corrispondenza parziale.
  • Utilizzando l'API, imposta il campo EntityType enableFuzzyExtraction su true.