Tipi di entità

Importante

LUIS verrà ritirato il 1 ottobre 2025 e a partire dal 1 aprile 2023 non è più possibile creare nuove risorse LUIS. È consigliabile eseguire la migrazione delle applicazioni LUIS a comprensione del linguaggio di conversazione (CLU) per trarre vantaggio dal supporto continuo del prodotto e dalle funzionalità multilingua.

Un'entità è un elemento rilevante per la finalità dell'utente. Le entità definiscono i dati che possono essere estratti dall'espressione e sono essenziali per completare l'azione richiesta da un utente. Ad esempio:

Espressione Finalità stimata Entità estratte Spiegazione
Ciao, come stai? Greeting - Niente da estrarre.
Voglio ordinare una pizza piccola ordinarePizza "piccola" L'entità "Dimensione" viene estratta come "piccola".
Spegni la luce della camera da letto spegnere "camera da letto" L'entità "Stanza" viene estratta come "camera da letto".
Controlla il saldo nel conto di risparmio che termina con 4406 controllaSaldo "risparmio", "4406" L'entità "tipoConto"' viene estratta come "risparmio" e l'entità "numeroConto"' viene estratta come "4406".
Buy 3 tickets to New York compraBiglietti "3", "New York" L'entità "numeroBiglietti" viene estratta come "3" e l'entità "Destinazione" viene estratta come "New York".

Le entità sono facoltative ma consigliate. Non è necessario creare entità per ogni concetto nell'app, solo quando:

  • L'applicazione client richiede i dati, o
  • L'entità funge da hint o segnale per un'altra entità o finalità. Per altre informazioni sulle entità come funzionalità, vedere Entità come funzionalità.

Tipi di entità

Per creare un'entità, è necessario assegnare un nome e un tipo. Esistono diversi tipi di entità in LUIS.

Entità elenco

Un'entità elenco rappresenta un set chiuso e fisso di parole correlate insieme ai relativi sinonimi. È possibile usare le entità elenco per riconoscere più sinonimi o varianti ed estrarre un output normalizzato. Usare l'opzione consigliata per visualizzare i suggerimenti per le nuove parole in base all'elenco corrente.

Un'entità elenco non è basata sull'apprendimento automatico, ovvero LUIS non individua altri valori per le entità elenco. LUIS contrassegna eventuali corrispondenze a un elemento in qualsiasi elenco come un'entità nella risposta.

La corrispondenza delle entità dell'elenco fa distinzione tra maiuscole e minuscole e deve essere una corrispondenza esatta. I valori normalizzati vengono usati anche quando corrispondono all'entità elenco. Ad esempio:

Valore normalizzato Sinonimi
Piccola sm, sml, tiny, smallest
Medio md, mdm, regular, average, middle
Grande lg, lrg, big

Per altre informazioni, vedere l'articolo di riferimento sulle entità elenco.

Entità di espressione regolare

Un entità di espressione regolare estrae un'entità in base a un criterio di espressione regolare fornito dall'utente. Maiuscole e minuscole vengono ignorate così come la variante relativa alla lingua. Le entità di espressione regolare sono ideali per il testo strutturato o una sequenza predefinita di valori alfanumerici previsti in un determinato formato. Ad esempio:

Entità Espressione regolare Esempio
Flight Number flight [A-Z]{2} [0-9]{4} flight AS 1234
Numero della carta di credito [0-9]{16} 5478789865437632

Per altre informazioni, vedere l'articolo di riferimento sulle entità di espressione regolare.

Entità predefinite

LUIS include un insieme di entità predefinite per il riconoscimento di tipi comuni di informazioni, ad esempio date, ore, numeri, misurazioni e valuta. Il supporto dell'entità predefinita varia a seconda delle impostazioni cultura dell'app LUIS. Per un elenco completo delle entità predefinite supportate da LUIS, incluso il supporto per le impostazioni cultura, consultare il riferimento all'entità predefinita.

Quando si include un'entità predefinita nell'applicazione, le relative stime vengono incluse nell'applicazione pubblicata. Si esegue il training preliminare del comportamento delle entità predefinite. Non è possibile applicare modifiche a questo comportamento.

Entità predefinita Valore di esempio
PersonName James, Bill, Tom
DatetimeV2 2019-05-02, May 2nd, 8am on May 2nd 2019

Per altre informazioni, vedere l'articolo di riferimento sulle entità predefinite.

Entità pattern.Any

L'entità Pattern.any è un segnaposto di lunghezza variabile usato solo nell'espressione del modello del criterio per contrassegnare l'inizio e la fine dell'entità. Segue una regola o un modello specifico e viene usato soprattutto per le frasi con una struttura lessicale fissa. Ad esempio:

Espressione di esempio Modello Entità
Posso avere un hamburger per favore? Can I have a {meal} [please][?] hamburger
Posso avere una pizza? Can I have a {meal} [please][?] pizza
Dove posso trovare Il Grande Gatsby? Where can I find {bookName}? Il Great Gatsby

Per altre informazioni, vedere l'articolo di riferimento sulle entità pattern.Any.

Entità basata su apprendimento automatico (ML)

L'entità basata su apprendimento automatico usa il contesto per estrarre le entità in base agli esempi etichettati. È l'entità preferita per la compilazione di applicazioni LUIS. Si basa su algoritmi di apprendimento automatico e richiede l'etichettatura per essere adattata correttamente all'applicazione. Usare un'entità ML per identificare i dati che non sono sempre formattati correttamente ma hanno lo stesso significato.

Espressione di esempio Entità prodotto estratta
Voglio comprare un libro. 'libro'
Posso prendere queste scarpe per favore? 'scarpe'
Aggiungi quegli shorts al mio carrello. 'shorts'

Per altre informazioni, vedere Entità basate su apprendimento automatico.

Entità ML con struttura

Un'entità ML può essere composta da sottoentità più piccole, ognuna delle quali può avere le proprie funzionalità ML. Ad esempio, un'entità Indirizzo potrebbe avere la struttura seguente:

  • Indirizzo: 4567 Main Street, NY, 98052, Stati Uniti
    • Numero edificio: 4567
    • Nome della via: Main Street
    • Stato: NY
    • Codice postale: 98052
    • Paese: Stati Uniti

Compilazione di entità ML efficaci

Per creare entità basate su apprendimento automatico in modo efficace, seguire queste procedure consigliate:

  • Se si dispone di un'entità basata su apprendimento automatico con sottoentità, assicurarsi che le diverse entità e le varianti dell'entità e delle sottoentità vengano presentate nelle espressioni etichettate. Le espressioni di esempio con etichetta devono includere tutti i moduli validi e includere entità visualizzate e assenti e riordinate all'interno dell'espressione.
  • Evitare l'overfitting delle entità a un set fisso. L'overfitting si verifica quando il modello non generalizza bene ed è un problema comune nei modelli di Machine Learning. Ciò implica che l'app non funzionerebbe in modo adeguato sui nuovi tipi di esempi. Al contrario, è necessario variare le espressioni di esempio etichettate in modo che l'app possa generalizzare oltre gli esempi limitati forniti.
  • L'etichettatura deve essere coerente tra le finalità. Sono incluse anche le espressioni fornite nella finalità Nessuna che include questa entità. In caso contrario, il modello non sarà in grado di determinare in modo efficace le sequenze.

Entità come caratteristiche

Un'altra funzione importante delle entità consiste nell'usarle come caratteristiche o tratti distintivi per altre finalità o entità in modo che il sistema osservi e impari attraverso di esse.

Entità come caratteristica per le finalità

È possibile usare le entità come segnale per una finalità. Ad esempio, la presenza di una determinata entità nell'espressione può distinguere la finalità in cui rientra.

Espressione di esempio Entità Finalità
Prenotami un volo per New York. Città Prenota volo
Prenotami la sala riunioni principale. Club Prenota sala

Entità come caratteristica per le entità

È anche possibile usare le entità come indicatore della presenza di altre entità. Un esempio comune è l'uso di un'entità predefinita come caratteristica per un'altra entità ML. Se si sta creando un sistema di prenotazione dei voli e la 'espressione è simile a "Prenotami un volo dal Cairo a Seattle", probabilmente si avranno Città di origine e Città di destinazione come entità ML. È consigliabile usare l'entità GeographyV2 predefinita come caratteristica per entrambe le entità.

Per altre informazioni, vedere l'articolo di riferimento sulle entità GeographyV2.

È anche possibile usare le entità come caratteristiche necessarie per altre entità. Ciò consente di risolvere le entità estratte. Ad esempio, se si sta creando un'applicazione per l'ordine di pizza e si dispone di un'entità ML Dimensione, è possibile creare un'entità elenco ElencoDimensione e usarla come caratteristica necessaria per l'entità Dimensione. L'applicazione restituirà il valore normalizzato come entità estratta dall'espressione.

Per altre informazioni, vedere caratteristiche ed entità predefinite per maggiori dettagli sulla risoluzione delle entità predefinite disponibili nella propria cultura.

Dati da entità

La maggior parte dei chatbot e delle applicazioni richiede più del nome della finalità. Questi dati aggiuntivi e facoltativi provengono da entità trovate nell'espressione. Ogni tipo di entità restituisce informazioni diverse sulla corrispondenza.

Una singola parola o frase dell'espressione può corrispondere a più di un'entità. In questo caso, ogni entità corrispondente viene restituita con il relativo punteggio.

Tutte le entità vengono restituite nell'array entità della risposta dall'endpoint

Procedure consigliate per le entità

Usare entità basate su apprendimento automatico

Le entità ML sono personalizzate per l'app e richiedono che l'etichettatura sia corretta. Se non si usano entità basate su apprendimento automatico, è possibile usare le entità errate.

Le entità ML possono usare altre entità come caratteristiche. Queste altre entità possono essere entità personalizzate, ad esempio entità di espressione regolare o entità elenco, oppure è possibile usare entità predefinite come caratteristiche.

Informazioni sulle entità basate su apprendimento automatico effettive.

Passaggi successivi