Estrarre dati da testo di un'espressione con finalità ed entità
Importante
LUIS verrà ritirato il 1 ottobre 2025 e a partire dal 1 aprile 2023 non è più possibile creare nuove risorse LUIS. Si consiglia di eseguire la migrazione delle applicazioni LUIS alla comprensione del linguaggio di conversazione per sfruttare appieno un supporto costante per i prodotti e le funzionalità multilingue.
LUIS consente di ottenere informazioni da espressioni in linguaggio naturale dell'utente. Le informazioni vengono estratte in modo che possano essere usate da un programma, applicazione o chatbot per intervenire. Le sezioni seguenti spiegano quali dati vengono restituiti da finalità ed entità con esempi di JSON.
I dati più difficili da estrarre sono i dati di apprendimento automatico perché non rappresentano una corrispondenza di testo esatta. L'estrazione dati delle entità di apprendimento automatico deve far parte del ciclo di creazione finché non si è certi di ricevere i dati previsti.
Posizione dei dati e uso di chiavi
LUIS estrae i dati dall'espressione dell'utente nell'endpoint pubblicato. La richiesta HTTPS (POST o GET) contiene l'espressione e alcune configurazioni facoltative, ad esempio ambienti di staging o produzione.
Richiesta dell'endpoint di previsione V2
https://westus.api.cognitive.microsoft.com/luis/v2.0/apps/<appID>?subscription-key=<subscription-key>&verbose=true&timezoneOffset=0&q=book 2 tickets to paris
Richiesta dell'endpoint di previsione V3
https://westus.api.cognitive.microsoft.com/luis/v3.0-preview/apps/<appID>/slots/<slot-type>/predict?subscription-key=<subscription-key>&verbose=true&timezoneOffset=0&query=book 2 tickets to paris
appID
è disponibile nella pagina Settings (Impostazioni) dell'app LUIS e in parte dell'URL (dopo /apps/
) quando si modifica quell'app LUIS. subscription-key
è la chiave endpoint usata per eseguire query nell'app. Sebbene sia possibile usare la chiave di creazione/avvio durante l'apprendimento di LUIS, è importante modificare la chiave endpoint in una chiave che supporti l'uso previsto di LUIS. L'unità timezoneOffset
è in minuti.
La risposta HTTPS contiene tutte le informazioni su finalità ed entità che LUIS è in grado di determinare in base al modello attualmente pubblicato dell'endpoint di staging o produzione. L'URL dell'endpoint è disponibile nel sito Web LUIS, nella sezione Manage (Gestisci) della pagina Keys and endpoints (Chiavi ed endpoint).
Dati da finalità
I dati principali sono dati dal nome della finalità con il punteggio superiore. La risposta dell'endpoint è:
{
"query": "when do you open next?",
"topScoringIntent": {
"intent": "GetStoreInfo",
"score": 0.984749258
},
"entities": []
}
Oggetto dati | Tipo di dati | Posizione dei dati | Valore |
---|---|---|---|
Finalità | String | topScoringIntent.intent | "GetStoreInfo" |
Se il chatbot o l'app di chiamante LUIS prende una decisione in base a più di un punteggio di finalità, restituire tutti i punteggi delle finalità.
Impostare il parametro querystring, verbose=true
. La risposta dell'endpoint è:
{
"query": "when do you open next?",
"topScoringIntent": {
"intent": "GetStoreInfo",
"score": 0.984749258
},
"intents": [
{
"intent": "GetStoreInfo",
"score": 0.984749258
},
{
"intent": "None",
"score": 0.2040639
}
],
"entities": []
}
Le finalità vengono ordinate dal punteggio più alto al più basso.
Oggetto dati | Tipo di dati | Posizione dei dati | Valore | Punteggio |
---|---|---|---|---|
Finalità | String | intents[0].intent | "GetStoreInfo" | 0,984749258 |
Finalità | String | intents[0].intent | "None" | 0,0168218873 |
Se si aggiungono domini predefiniti, il nome della finalità indica il dominio, ad esempio Utilties
o Communication
e la finalità:
{
"query": "Turn on the lights next monday at 9am",
"topScoringIntent": {
"intent": "Utilities.ShowNext",
"score": 0.07842206
},
"intents": [
{
"intent": "Utilities.ShowNext",
"score": 0.07842206
},
{
"intent": "Communication.StartOver",
"score": 0.0239675418
},
{
"intent": "None",
"score": 0.0168218873
}],
"entities": []
}
Domain | Oggetto dati | Tipo di dati | Posizione dei dati | Valore |
---|---|---|---|---|
Utilità | Finalità | String | intents[0].intent | "Utilities.ShowNext" |
Comunicazione | Finalità | String | intents[0].intent | Communication.StartOver" |
Finalità | String | intents[2].intent | "None" |
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 nella matrice entità della risposta dall'endpoint
Entità in formato token restituita
Esaminare il supporto dei token in LUIS.
Dati entità predefinita
Vengono trovate le entità predefinite in base alla corrispondenza con espressione regolare usando il progetto Recognizers-Text open-source. Le entità predefinite vengono restituite nella matrice di entità e usano il nome tipo con prefisso builtin::
.
Dati entità elenco
Le entità elenco rappresentano un set chiuso e fisso di parole correlate insieme ai relativi sinonimi. LUIS non individua valori aggiuntivi per le entità elenco. Usare la funzione consigliata per visualizzare i suggerimenti per le nuove parole in base all'elenco corrente. Se sono presenti più entità elenco con lo stesso valore, ogni entità viene restituita nella query endpoint.
Dati entità espressione regolare
Un entità di espressione regolare estrae un'entità in base a un'espressione regolare fornita dall'utente.
Estrazione di nomi
Ottenere i nomi da un'espressione è difficile perché un nome può essere qualsiasi combinazione di lettere e parole. Le opzioni disponibili variano a seconda del tipo di nome estratto. I suggerimenti seguenti non sono regole, ma linee guida.
Aggiungere le entità PersonName e GeographyV2 predefinite
Le entità PersonName e GeographyV2 sono disponibili in alcune impostazioni cultura della lingua.
Nomi di persone
I nomi delle persone possono presentare un formato a seconda della lingua e delle impostazioni cultura. Usare un'entità personName predefinita o un'entità semplice con i ruoli di nome e cognome.
Se si utilizza l'entità semplice, assicurarsi di fornire esempi che usano il nome e il cognome in parti diverse dell'espressione, in espressioni di lunghezze diverse e in espressioni in tutte le finalità, inclusa la finalità None (Nessuna). Rivedere regolarmente le espressioni endpoint per etichettare qualsiasi nome non stimato correttamente.
Nomi di località
I nomi delle località vengono impostati come città, province, stati e nazioni/regioni e sono noti come tali. Usare l'entità predefinita geographyV2 per estrarre le informazioni sulla posizione.
Nomi nuovi ed emergenti
Alcune app devono essere in grado di trovare nomi nuovi ed emergenti, ad esempio prodotti o aziende. Questi tipi di nomi sono il tipo più difficile di estrazione dati. Iniziare con un'entità semplice e aggiungere un elenco di frasi. Rivedere regolarmente le espressioni endpoint per etichettare qualsiasi nome non stimato correttamente.
Dati entità Pattern.any
Pattern.any è un segnaposto di lunghezza variabile usato solo nell'espressione del modello del criterio per contrassegnare l'inizio e la fine dell'entità. Affinché il modello venga applicato, deve essere individuata l'entità usata nel modello.
Analisi valutazione
L'analisi valutazione, se è configurata mentre si pubblica, è inclusa nella risposta json LUIS. Altre informazioni sull'analisi valutazione sono disponibili nella documentazione del Servizio di linguaggio.
Dati entità estrazione frasi chiave
L'entità estrazione frasi chiave restituisce frasi chiave nell'espressione, fornita dal Servizio di linguaggio.
Dati corrispondenti a più entità
LUIS restituisce tutte le entità individuate nell'espressione. Di conseguenza, il chatbot potrebbe prendere decisioni sulla base dei risultati.
Dati corrispondenti a più entità elenco
Se una parola o frase corrisponde a più entità elenco, la query di endpoint restituisce ciascuna entità elenco.
Per la query when is the best time to go to red rock?
, se l'app contiene la parola red
in più di un elenco, LUIS riconosce tutte le entità e restituisce una matrice di entità come parte della risposta dell'endpoint JSON.
Passaggi successivi
Vedere Aggiungere entità per ulteriori informazioni sull'aggiunta di entità all'app LUIS.