Crea un intento
Di seguito sono riportati i passi per la creazione di un intento in uno skill.
Aggiungi entità a intenti


Valore indipendente si applica solo alle entità incorporate. Impossibile applicarlo alle entità personalizzate.
In alternativa, è possibile fare clic su Nuova entità per aggiungere un'entità specifica dell'intento.
Suggerimento
Al servizio componenti vengono inviate e restituite solo le entità intento incluse nei payload JSON. Quelli che non sono associati a un intento non verranno inclusi, anche se contribuiscono alla risoluzione dell'intento riconoscendo l'input dell'utente. Se il componente personalizzato accede alle entità tramite corrispondenze di entità, assicurarsi di aggiungere l'entità all'intento.Entità intenti indipendenti dal valore
La funzione Valore indipendente consente di modificare il modo in cui i valori delle entità influiscono sulla classificazione degli intenti. Quando si abilita questa funzione, i valori specifici per un'entità incorporata associata non influiscono sulla classificazione dell'intento. Tuttavia, quando si disabilita questa funzione, è possibile consentire al valore entità di svolgere un ruolo chiave nella risoluzione dell'input.
Intenti di esempio | Entità associata | Informazioni sulla formazione | Abilitare il valore indipendente? |
---|---|---|---|
Saldo conto | DATE |
|
Sì - I valori di data specifici non segnalano l'intento. I vari valori di data in queste espressioni possono essere ignorati perché un utente può richiedere un saldo del conto in qualsiasi giorno. |
Ore negozio ferie | DATE |
|
No - La classificazione dell'intento si basa su un set specifico (e limitato) di valori e gli utenti chiedono informazioni sulle festività. |
|
DATE |
|
No - Disabilitare Valore indipendente per entrambi gli intenti. In questo caso, i valori DATE indipendenti indicano che il modello non considera un valore passato o futuro. Verrà ignorato un valore "ultimo mese", che dovrebbe indicare l'intento Verifica saldo ferie trascorse. Di conseguenza, l'input formulato in modo simile, ad esempio "Did I take any time off Next month", potrebbe non essere corretto per questo intento. |
Importare gli intenti da un file CSV
È possibile aggiungere gli intenti manualmente o importarli da un file CSV. È possibile creare questo file da un file CSV degli intenti esportati oppure da zero in un programma di foglio di calcolo o in un file di testo.
Il file CSV contiene sei colonne per le competenze che utilizzano la modalità lingua supportata in modo nativo e cinque colonne per quelle che non lo fanno. Ecco i nomi delle colonne e cosa rappresentano:
query
: un'espressione di esempio.topIntent
: l'intento a cui deve corrispondere l'espressione.conversationName
: il nome della conversazione per l'intento.answer
: per gli intenti risposta, la risposta statica per l'intento.enabled
: setrue
, l'intento viene abilitato nello skill.nativeLanguageTag
: (solo per le competenze con supporto in lingua nativa) la lingua dell'espressione. Per i valori, utilizzare tag di lingua a due caratteri (fr
,en
e così via).- Per le competenze con il supporto della lingua nativa di Digital Assistant, questa colonna è obbligatoria.
- Per gli skill senza il supporto della lingua nativa, non è possibile importare un file CSV con questa colonna.
Di seguito è riportato un estratto da un file CSV per uno skill che non dispone del supporto per la lingua nativa e che non utilizza intenti di risposta.
query,topIntent,conversationName,answer,enabled
I want to order a pizza,OrderPizza,Order a Pizza.,,true
I want a pizza,OrderPizza,Order a Pizza.,,true
I want a pizaa,OrderPizza,Order a Pizza.,,true
I want a pizzaz,OrderPizza,Order a Pizza.,,true
I'm hungry,OrderPizza,Order a Pizza.,,true
Make me a pizza,OrderPizza,Order a Pizza.,,true
I feel like eating a pizza,OrderPizza,Order a Pizza.,,true
Gimme a pie,OrderPizza,Order a Pizza.,,true
Give me a pizza,OrderPizza,Order a Pizza.,,true
pizza I want,OrderPizza,Order a Pizza.,,true
I do not want to order a pizza,CancelPizza,Cancel your order.,,true
I do not want this,CancelPizza,Cancel your order.,,true
I don't want to order this pizza,CancelPizza,Cancel your order.,,true
Cancel this order,CancelPizza,Cancel your order.,,true
Can I cancel this order?,CancelPizza,Cancel your order.,,true
Cancel my pizza,CancelPizza,Cancel your order.,,true
Cancel my pizaa,CancelPizza,Cancel your order.,,true
Cancel my pizzaz,CancelPizza,Cancel your order.,,true
I'm not hungry anymore,CancelPizza,Cancel your order.,,true
don't cancel my pizza,unresolvedIntent,unresolvedIntent,,true
Why is a cheese pizza called Margherita,unresolvedIntent,unresolvedIntent,,true
Di seguito è riportato un estratto da un file CSV per una competenza con supporto in lingua nativa che utilizza intenti di risposta.
query,topIntent,conversationName,answer,enabled,nativeLanguageTag
Do you sell pasta,Products,Our Products,We sell only pizzas. No salads. No pasta. No burgers. Only pizza,true,en
Vendez-vous des salades,Products,Our Products,Nous ne vendons que des pizzas. Pas de salades. Pas de pâtes. Pas de hamburgers. Seulement pizza,fr
do you sell burgers,Products,Our Products,We sell only pizzas. No salads. No pasta. No burgers. Only pizza,true,en
Do you sell salads,Products,Our Products,We sell only pizzas. No salads. No pasta. No burgers. Only pizza,true,en
Vendez des hamburgers,Products,Our Products,Nous ne vendons que des pizzas. Pas de salades. Pas de pâtes. Pas de hamburgers. Seulement pizza,true,fr
Per importare un file CSV:
-
Fare clic su Intenti (
) nella barra di navigazione a sinistra.
-
Fare clic su Altro, quindi scegliere Importa intenti.
Descrizione dell'importazione della figura: intents.png -
Selezionare il file
.csv
, quindi fare clic su Apri. -
Addestra la tua abilità.
Esporta intenti in un file CSV
Puoi riutilizzare il tuo corpus di formazione esportandolo in CSV. È quindi possibile importare questo file in un'altra skill.
-
Fare clic su Intenti
nella barra di navigazione a sinistra.
-
Fare clic su Altro, quindi scegliere Esporta intenti.
Descrizione dell'immagine export-corpus.png -
Salvare il file. Questo file contiene le colonne seguenti, descritte nella sezione Importa intenti da un file CSV:
query, topIntent, conversationName, answer, enabled, nativeLanguageTag
Quale modello di formazione dovrei usare?
Non è possibile utilizzare Trainer Ht per gli skill che utilizzano intenti di risposta, utilizzano il supporto della lingua nativa o hanno un numero elevato di intenti. Utilizzare Trainer Tm per queste abilità.
Allenatore Tm
Quando si esegue l'addestramento con Trainer Tm, è possibile utilizzare anche il rapporto Utterances simili.
Non è necessario raggruppare i dati di allenamento con espressioni che soddisfino la sensibilità dei casi (Tm riconosce BlacK Friday come Black Friday, ad esempio), punteggiatura, verbi e sostantivi simili o errori di ortografia. In quest'ultimo caso, Trainer Tm utilizza il contesto per risolvere una frase anche quando un utente immette una parola chiave in modo errato. Di seguito sono riportate alcune linee guida generali per la creazione di un corpus di formazione quando si sviluppano le proprie competenze con questo modello.
- Riconoscere il contenuto irrilevante. Per Sono davvero entusiasta delle prossime offerte del Black Friday e non vedo l'ora di concludere le trattative. Puoi dirmi cosa sarà in vendita per il Black Friday?, Trainer Tm:
- Elimina i contenuti estranei (Sono davvero entusiasta delle prossime offerte del Black Friday...)
- Risolve i contenuti rilevanti (Puoi dirmi cosa sarà in vendita per il Black Friday?) a un intento. In questo caso, un intento chiamato Black Friday Deals.
Trainer Tm può anche distinguere tra il contenuto pertinente e irrilevante in un messaggio anche quando il contenuto irrilevante può potenzialmente essere risolto in un intento. Ho acquistato la nuova TV da 80 pollici il Black Friday per 2200 dollari, ma ora vedo che lo stesso set è disponibile online a 2100 dollari. L'offerta corrisponde al prezzo? ad esempio, potrebbe essere abbinata all'intento Offerte del Black Friday e a un intento Corrispondenza prezzo, appropriato per questo messaggio. In questo caso Trainer Tm:- Riconosce che Ho acquistato la nuova TV da 80 pollici il Black Friday per 2200 dollari, ma ora vedo che lo stesso set è disponibile online per 2100 dollari come contenuto estraneo.
- Risolve l'offerta corrisponde al prezzo?
- Risoluzione degli intenti quando una singola parola o un nome corrisponde a un'entità. Ad esempio, Trainer Tm può risolvere un messaggio costituito solo da Black Friday a un intento associato a un'entità per il Black Friday.
- Distinzione tra espressioni simili (Annulla il mio ordine rispetto a Perché hai annullato il mio ordine?).
- Riconoscere espressioni fuori portata, come Mostra ricette di pizza o Quante calorie in una festa della carne per avere la capacità di soddisfare un ordine di pizza e nient'altro.
- Riconoscere espressioni fuori dominio, come Com'è il tempo oggi per un'abilità di ordinazione di pizza.
Suggerimento
Mentre Trainer Tm può facilmente distinguere quando un messaggio utente non è classificabile perché è chiaramente diverso dai dati di addestramento, potresti comunque voler definire ununresolvedIntent
con espressioni che rappresentano le frasi che desideri assicurarsi di non risolvere nessuno degli intenti della tua abilità. Queste frasi possono essere nel dominio della tua abilità, ma sono ancora fuori portata, anche se possono condividere alcune delle stesse parole dei dati di allenamento. Ad esempio, voglio ordinare un'auto per una pizza, che è stata anche addestrata con voglio ordinare una pizza. - Distinzione tra entità simili - Ad esempio, Tm riconosce che l'e-mail non è la stessa dell'e-mail nel contesto di un intento chiamato Registrazione per offerte e-mail. Poiché riconosce che un'entità denominata posta ordinaria sarebbe fuori ambito, risolverebbe la frase Voglio registrarmi per le offerte tramite posta ordinaria con un livello di sicurezza inferiore rispetto a quello previsto per Voglio registrarmi per le offerte via posta elettronica.
Allenatore Ht
Trainer Ht è il modello di addestramento predefinito. Ha bisogno solo di un piccolo corpus di addestramento, quindi usalo mentre sviluppi le entità, gli intenti e il corpus di addestramento. Quando il corpus di allenamento è maturato al punto in cui i test rivelano una risoluzione dell'intento altamente accurata, sei pronto ad aggiungere una dimensione più profonda alla cognizione della tua abilità addestrando Trainer Tm.
È possibile ottenere una comprensione generale di come Trainer Ht risolve gli intenti solo dal corpus di allenamento stesso. Forma regole di corrispondenza dalle frasi di esempio taggando parti di discorso ed entità (sia personalizzate che integrate) e rilevando parole che hanno lo stesso significato nel contesto dell'intento. Se un intento denominato SendMoney dispone sia di Invia $500 a mamma che di Pay Cleo $500, ad esempio, Trainer Ht interpreta pay come equivalente a send. Dopo la formazione, l'applicazione di tag di Trainer Ht riduce queste frasi ai modelli (Invia valuta a persona, Valuta persona pagamento) che si applicano all'input utente.
Poiché Trainer Ht attinge alle frasi che fornisci, puoi predire il suo comportamento: sarà altamente accurato se testato con frasi simili a quelle che compongono il corpus di allenamento (l'input dell'utente che segue le regole, per così dire), ma potrebbe andare meno bene se confrontato con l'input esoterico dell'utente.
Costruisci il tuo corpo di formazione
Quando si definisce un intento, è innanzitutto necessario assegnare un nome che illustra un'azione dell'utente e quindi eseguire il follow-up compilando un set di dichiarazioni o espressioni dell'utente nella vita reale. Collettivamente, i vostri intenti e le espressioni che li appartengono costituiscono un corpus di addestramento. Il termine corpus è solo un modo rapido per dire "tutti gli intenti e le frasi di esempio che ho inventato per rendere questa abilità intelligente". Il corpus è la chiave dell'intelligenza della tua abilità. Addestrando un modello con il tuo corpus, essenzialmente si trasforma quel modello in uno strumento di riferimento per risolvere l'input dell'utente a un singolo intento. Poiché il tuo corpus di allenamento alla fine svolge il ruolo chiave nel decidere quale percorso prenderà la conversazione umana-abilità, devi scegliere attentamente le tue parole quando la costruisci.
In generale, un ampio e variegato insieme di frasi campione aumenta la capacità di un modello di risolvere gli intenti in modo accurato. Ma costruire un solido corpus di allenamento non inizia solo con frasi di esempio ben fatte; in realtà inizia con intenti chiaramente delineati. Non solo dovrebbero riflettere chiaramente il tuo caso d'uso, ma il loro rapporto con le loro frasi campione dovrebbe essere altrettanto chiaro. Se non sei sicuro di dove appartenga una frase di esempio, i tuoi intenti non sono distinti l'uno dall'altro.
Probabilmente hai in mente espressioni di esempio quando crei i tuoi intenti, ma puoi espanderli utilizzando queste linee guida.
Linee guida per Trainer Tm
- Utilizzare una soglia di affidabilità minima di 0,7 per qualsiasi skill che si prevede di mettere in produzione.
- Utilizzare buone convenzioni di denominazione per i nomi degli intenti in modo da semplificare la revisione degli intenti correlati.
- Come regola generale, crea almeno da 80 a 100 espressioni per ogni intento. In base alle linee guida per dimensioni e forme del corpus, il numero minimo (tramite non consigliato) di espressioni per un intento è due. Il numero totale di espressioni nel tuo set di allenamento non deve superare 25.000.
- Se possibile, utilizzare frasi non modificate con parole reali che includono:
- vernaculare
- abbreviazioni standard che un utente potrebbe immettere ("opty" per l'opportunità, ad esempio)
- nomi non standard, ad esempio nomi di prodotti
- varianti ortografiche ("check" e "cheque", ad esempio)
- Crea frasi completamente formate che menzionano sia l'azione che l'entità su cui viene eseguita l'azione.
- Cerca di mantenere la lunghezza dell'espressione tra 3 e 30 parole. Le affermazioni troppo brevi e prive di contesto possono causare la generalizzazione del modello in modi imprevedibili. Le affermazioni troppo lunghe possono impedire al modello di identificare le parole e le frasi pertinenti. Ci possono essere eccezioni, tuttavia, per le espressioni di una o due parole quando sono frasi comunemente usate. Se si prevedono messaggi di due parole come stato dell'ordine, controllo del prezzo, informazioni sull'iscrizione o nave a livello internazionale) che specificano sia l'entità che l'azione, aggiungerli ai dati di formazione. Assicurarsi che le frasi di esempio abbiano sia un'azione che un'entità.
- Sii specifico. Ad esempio, Qual è il numero di telefono del negozio? è migliore di Qual è il numero di telefono? perché consente a Trainer Tm di associare un numero di telefono a un negozio. Come risultato di questo apprendimento, verrà risolto Qual è il numero di telefono di tua madre? con un punteggio di affidabilità inferiore.
- Mentre Trainer Tm rileva pronunce fuori ambito, puoi comunque migliorare la fiducia e l'accuratezza creando un
unresolvedIntent
per le espressioni che sono nel dominio ma ancora fuori ambito per gli intenti dell'abilità. Ciò consente a Trainer Tm di apprendere il limite degli intenti di dominio. È possibile definire un valoreunresolvedIntent
per le frasi che non si desidera risolvere in base agli intenti dello skill. È possibile definire ununresolvedIntent
solo quando i messaggi utente sono stati risolti con gli intenti di uno skill anche se non sono applicabili a nessuno di essi. - Variare il più possibile le parole e le frasi che circondano il contenuto significativo. Ad esempio, mi piacerebbe una pizza, per favore", "Puoi farmi una pizza?", "Una pizza, per favore"
- Alcune pratiche da evitare:
- Non associare una singola parola o frase a un intento specifico a meno che tale parola o frase non indichi l'intento. Frasi ripetute possono alterare la risoluzione dell'intento. Ad esempio, l'avvio di ogni espressione OrderPizza con "I want to ..." e di ogni intento ShowMenu con "Can you help me to ..." può aumentare la probabilità che il modello risolva qualsiasi input utente che inizia con "Can you help me to" con OrderPizza e "I want to" con ShowMenu.
- Un'alta frequenza di espressioni di una parola nei tuoi intenti. Le parole di una parola sono un'eccezione. Usali con parsimonia, se non del tutto.
- Pronunce aperte che possono essere facilmente applicate ad altri domini o argomenti fuori dominio.
- Il tuo corpo non ha bisogno di ripetere la stessa espressione con un involucro diverso o con diverse forme di parole che hanno lo stesso lemma. Ad esempio, poiché Trainer Tm è in grado di distinguere tra gestire, gestire e manager, non solo differenzia tra "Chi gestisce Sam?" e "Chi gestisce Sam?", ma capisce anche che queste parole sono correlate l'una all'altra.
Nota
Si potrebbe essere tentati di aggiungere errori ortografici di parole. Ma prima di farlo, usa questi errori ortografici nel tester di pronuncia per vedere se il modello li riconosce. Potresti essere sorpreso di come li gestisce. Inoltre, non aggiungendo errori ortografici si corre meno rischio di distorcere il modello in modi inaspettati.
- Creare casi di test per garantire l'integrità della risoluzione dell'intento.
- Eseguire il report Panoramica per la qualità delle competenze per mantenere un set di formazione bilanciato. Eseguire il report sulle anomalie per verificare la presenza di espressioni non classificate o insolite.
- Quando distribuisci le tue competenze, puoi migliorare continuamente i dati di formazione:
- Revisione dei log di conversazione, riepiloghi di tutte le conversazioni che si sono verificate per un periodo specificato. Per abilitare il log, selezionare Abilita approfondimenti in Impostazioni.
- Eseguire i report sulla qualità delle competenze e assegnando (o riassegnando) i messaggi utente effettivi agli intenti con il retrattore approfondimenti. Se questi report indicano che
unresolvedIntent
contiene molte espressioni non classificate negli intenti di dominio:- Spostare le espressioni in ambito da
unresolvedIntent
agli intenti di dominio. - Spostare le espressioni fuori ambito dagli intenti di dominio in
unresolvedIntent
.
- Spostare le espressioni in ambito da
Linee guida per Trainer Ht
- vernaculare
- errori di ortografia comuni
- abbreviazioni standard che un utente potrebbe immettere ("opty" per "opportunity", ad esempio)
- nomi non standard, ad esempio nomi di prodotti
- varianti ortografiche ("check" e "cheque", ad esempio)
-
Variare il vocabolario e la struttura delle frasi in queste frasi iniziali con una o due permutazioni utilizzando:
-
parole slang (moolah, lucre, impasto)
- abbreviazioni standard che un utente potrebbe immettere ("opty" per l'opportunità, ad esempio)
- nomi non standard, ad esempio nomi di prodotti
-
espressioni comuni (Sono danneggiato? per un intento denominato AccountBalance)
-
formulazione alternativa (Invia contante ai risparmi, Invia fondi ai risparmi, Invia denaro ai risparmi, Trasferisci contante ai risparmi).
-
diverse categorie di oggetti (voglio ordinare una pizza, voglio ordinare un po' di cibo).
-
ortografia alternativa (assegno, assegno)
-
errori di ortografia comuni ("buisness" per le imprese)
-
ordine di parole insolito (A controllo, invio $20)
-
- Utilizzare concetti diversi per esprimere lo stesso intento, ad esempio Ho fame e Fammi una pizza
- Non associare una singola parola o frase a un intento specifico a meno che tale parola o frase non indichi l'intento. Frasi ripetute possono alterare la risoluzione dell'intento. Ad esempio, l'avvio di ogni espressione OrderPizza con "I want to ..." e di ogni intento ShowMenu con "Can you help me to ..." può aumentare la probabilità che il modello risolva qualsiasi input utente che inizia con "I want to" con OrderPizza e "Can you help me to" con ShowMenu.
-
Evita frammenti di frasi e parole singole. Utilizzare invece frasi complete (che possono contenere fino a 255 caratteri) che includono l'azione e l'entità. Se è necessario utilizzare esempi di parole chiave singole, sceglierli con attenzione.
- Creare casi di test per garantire l'integrità del test della risoluzione dell'intento. Poiché l'aggiunta di nuovi esempi di intento può causare regressioni, si potrebbe finire per aggiungere diverse frasi di test per stabilizzare il comportamento di risoluzione dell'intento.
Limiti per forma e dimensione dei dati di addestramento
Per quanto riguarda i dati e la forma della formazione, ecco i limiti al numero di intenti e espressioni.
Intenti:
- Numero minimo di intenti per abilità: 2
- Numero massimo di intenti per abilità: 2.500
Termini:
- Numero massimo di espressioni per abilità: 25.000
- Numero minimo di espressioni per intento: 2
- Lunghezza della parola di discorso: Tra 3 e 30 parole. Secondo le linee guida per Trainer Tm, ci sono eccezioni in cui le espressioni di una o due parole possono essere appropriate se sono comunemente utilizzate.
Si tratta di limiti tecnici e non di raccomandazioni. Consulta le Linee guida per Trainer Tm per consigli pratici su come modellare le tue competenze e fornire solidi dati di formazione.
Esporta dati intento
Per registrare le conversazioni, assicurarsi di abilitare Abilita approfondimenti in Impostazioni > Generale prima di eseguire il test degli intenti.
Per esportare i dati per uno skill:- Fare clic su
per aprire il menu laterale e selezionare Sviluppo > Competenze.
- Nella casella relativa allo skill, fare clic su
e selezionare Esporta conversazioni.
- Scegliere Log conversazioni intenti, impostare il periodo di log, quindi fare clic su Esporta.
- Rivedere l'input utente aprendo i file CSV in un programma di foglio di calcolo.