Tipi di entità
Importante
LUIS verrà ritirato il 1° ottobre 2025 e a partire dal 1° aprile 2023 non sarà possibile creare nuove risorse LUIS. È consigliabile eseguire la migrazione delle applicazioni LUIS alla comprensione del linguaggio conversazionale per trarre vantaggio dal supporto continuo del prodotto e dalle funzionalità multilingue.
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 (Messaggio introduttivo) | - | Niente da estrarre. |
Voglio ordinare una piccola pizza | orderPizza | 'small' | L'entità 'Size' viene estratta come "small". |
Spegnere la luce della camera da letto | Bivio | 'camera da letto' | L'entità 'Room' viene estratta come 'camera da letto'. |
Controllare il saldo nel conto di risparmio che termina nel 4406 | checkBalance | 'risparmio', '4406' | L'entità 'accountType' viene estratta come 'risparmio' e l'entità 'accountNumber' viene estratta come '4406'. |
Buy 3 tickets to New York | buyTickets | '3', 'New York' | L'entità 'ticketsCount' viene estratta come '3' e l'entità 'Destination' 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 a un'altra entità o finalità. Per altre informazioni sulle entità come funzionalità, passare a Entità come funzionalità.
Tipi di entità
Per creare un'entità, è necessario assegnargli un nome e un tipo. Esistono diversi tipi di entità in LUIS.
Entità elenco
Un'entità elenco rappresenta un set fisso e chiuso 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 su machine learning, ovvero LUIS non individua altri valori per le entità dell'elenco. LUIS contrassegna eventuali corrispondenze a un elemento in qualsiasi elenco come un'entità nella risposta.
Le entità elenco corrispondenti fa distinzione tra maiuscole e minuscole e deve essere una corrispondenza esatta. I valori normalizzati vengono usati anche per la corrispondenza dell'entità elenco. Ad esempio:
Valore normalizzato | Sinonimi |
---|---|
Small | 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à Regex
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 |
---|---|---|
Numero volo | flight [A-Z]{2} [0-9]{4} |
flight AS 1234 |
Numero di carta di credito | [0-9]{16} |
5478789865437632 |
Per altre informazioni, vedere l'articolo di riferimento sulle entità regex .
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. Il comportamento delle entità predefinite è sottoposto a training preliminare e non può essere modificato.
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
Un modello. Qualsiasi entità è un segnaposto a lunghezza variabile usato solo nell'espressione modello di un modello per contrassegnare dove inizia e termina l'entità. Segue una regola o un modello specifico e viene usato meglio per le frasi con 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 Grande Gatsby |
Per altre informazioni, vedere l'articolo di riferimento sulle entità Pattern.Any .
Entità machine learning (ML)
L'entità basata su Machine Learning 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 Machine Learning e richiede che l'etichettatura sia 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. | 'book' |
Posso ottenere queste scarpe per favore? | 'scarpe' |
Aggiungere quei pantaloncini al mio carrello. | 'shorts' |
Per altre informazioni, vedere Entità apprese dal computer .
Entità ml con struttura
Un'entità ml può essere composta da sottoentità più piccole, ognuna delle quali può avere le proprie proprietà. Ad esempio, un'entità Address potrebbe avere la struttura seguente:
- Indirizzo: 4567 Main Street, NY, 98052, USA
- Numero di compilazione: 4567
- Nome strada: strada principale
- Stato: NY
- Codice postale: 98052
- Paese: USA
Creazione di entità ml efficaci
Per compilare entità apprese in modo efficace, seguire queste procedure consigliate:
- Se si dispone di un'entità appresa da computer con entità secondarie, assicurarsi che gli ordini e le varianti diverse dell'entità e delle sottoentità vengano presentati nelle espressioni etichettate. Le espressioni di esempio etichettate devono includere tutti i moduli validi e includere entità visualizzate e assenti e riordinate all'interno dell'espressione.
- Evitare di sovrafittingre le 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 funziona su nuovi tipi di esempi in modo adeguato. A sua volta, è consigliabile 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à. Ciò include anche espressioni fornite nella finalità None che include questa entità. In caso contrario, il modello non sarà in grado di determinare in modo efficace le sequenze.
Entità come funzionalità
Un'altra funzione importante delle entità consiste nell'usarle come caratteristiche o tratti distinti per un'altra finalità o entità in modo che il sistema osservi e impari attraverso di loro.
Entità come funzionalità per le finalità
È possibile usare le entità come segnale per una finalità. Ad esempio, la presenza di un'entità determinata nell'espressione può distinguere la finalità in cui rientra.
Espressione di esempio | Entità | Finalità |
---|---|---|
Prenotami un volo a New York. | City | Prenotare il volo |
Prenotami la sala conferenze principale. | Room | Riserva camera |
Entità come funzionalità per le entità
È anche possibile usare entità come indicatore della presenza di altre entità. Un esempio comune di questo metodo usa un'entità predefinita come funzionalità per un'altra entità ml. Se si sta creando un sistema di prenotazione dei voli e l'espressione sembra "Prenotare un volo da Cairo a Seattle", probabilmente si avrà Origin City e Destination City come entità ML. È consigliabile usare l'entità GeographyV2 predefinita come funzionalità per entrambe le entità.
Per altre informazioni, vedere l'articolo di riferimento sulle entità GeographyV2.
È anche possibile usare le entità come funzionalità necessarie per altre entità. Ciò consente di risolvere le entità estratte. Ad esempio, se si sta creando un'applicazione di ordinamento pizza e si dispone di un'entità Size ML, è possibile creare un'entità elenco SizeList e usarla come funzionalità necessaria per l'entità Size. L'applicazione restituirà il valore normalizzato come entità estratta dall'espressione.
Per altre informazioni, vedere funzionalità e entità predefinite per altre informazioni sulla risoluzione delle entità predefinite disponibili nelle impostazioni cultura.
Dati da entità
La maggior parte dei bot di chat 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 nella matrice di entità della risposta dall'endpoint
Procedure consigliate per le entità
Usare entità di Machine Learning
Le entità apprese dal computer sono personalizzate per l'app e richiedono l'etichettatura per avere esito positivo. Se non si usano entità apprese dal computer, è possibile usare le entità sbagliate.
Le entità apprese dal computer possono usare altre entità come funzionalità. Queste altre entità possono essere entità personalizzate, ad esempio entità di espressioni regolari o entità di elenco, oppure è possibile usare entità predefinite come funzionalità.
Informazioni sulle entità apprese sui computer efficaci.