Sviluppare applicazioni di comandi personalizzati
Importante
I comandi personalizzati verranno ritirati il 30 aprile 2026. A partire dal 30 ottobre 2023 non è possibile creare nuove applicazioni comandi personalizzati in Speech Studio. In relazione a questa modifica, LUIS verrà ritirato il 1° ottobre 2025. A partire dal 1° aprile 2023 non è possibile creare nuove risorse LUIS.
Questo articolo illustra come sviluppare e configurare applicazioni comandi personalizzati. La funzionalità Comandi personalizzati consente di creare app avanzate di comandi vocali ottimizzate per le esperienze di interazione voice-first. La funzionalità è più adatta agli scenari di completamento delle attività o di comando e controllo. È particolarmente adatto per i dispositivi IoT (Internet delle cose) e per i dispositivi senza testa e ambiente.
In questo articolo viene creata un'applicazione in grado di attivare e disattivare una TV, impostare la temperatura e impostare un allarme. Dopo aver creato questi comandi di base, verranno fornite informazioni sulle opzioni seguenti per la personalizzazione dei comandi:
- Aggiunta di parametri ai comandi
- Aggiunta di configurazioni ai parametri di comando
- Creazione di regole di interazione
- Creazione di modelli di generazione della lingua per le risposte vocali
- Uso di strumenti vocali personalizzati
Creare un'applicazione usando semplici comandi
Per iniziare, creare un'applicazione comandi personalizzati vuota. Per informazioni dettagliate, vedere la guida introduttiva. In questa applicazione, invece di importare un progetto, si crea un progetto vuoto.
Nella casella Nome immettere il nome del progetto Smart-Room-Lite (o un altro nome di propria scelta).
Nell'elenco Lingua selezionare Inglese (Stati Uniti).In the Language list, select English (Stati Uniti).
Selezionare o creare una risorsa LUIS.
Aggiornare le risorse LUIS (facoltativo)
È possibile aggiornare la risorsa di creazione selezionata nella finestra Nuovo progetto . È anche possibile impostare una risorsa di stima.
Una risorsa di stima viene usata per il riconoscimento quando viene pubblicata l'applicazione Comandi personalizzati. Non è necessaria una risorsa di stima durante le fasi di sviluppo e test.
Aggiungere un comando TurnOn
Nell'applicazione personalizzata Smart-Room-Lite personalizzata vuota creata aggiungere un comando. Il comando elabora un'espressione, Turn on the tv
. Risponde con il messaggio Ok, turning the tv on
.
- Creare un nuovo comando selezionando Nuovo comando nella parte superiore del riquadro sinistro. Verrà visualizzata la finestra di comando Nuovo.
- Per il campo Nome specificare il valore
TurnOn
. - Seleziona Crea.
Nel riquadro centrale sono elencate le proprietà del comando.
Nella tabella seguente vengono illustrate le proprietà di configurazione del comando. Per altre informazioni, vedere Concetti e definizioni di comandi personalizzati.
Impostazione | Descrizione |
---|---|
Frasi di esempio | Espressioni di esempio che l'utente può dire di attivare questo comando. |
Parametri | Informazioni necessarie per completare il comando. |
Regole di completamento | Azioni da eseguire per soddisfare il comando. Esempi: risposta all'utente o comunicazione con un servizio Web. |
Regole di interazione | Altre regole per gestire situazioni più specifiche o complesse. |
Aggiungere frasi di esempio
Nella sezione Frasi di esempio viene fornito un esempio di ciò che l'utente può dire.
Nel riquadro centrale selezionare Frasi di esempio.
Nel riquadro a destra aggiungere esempi:
Turn on the tv
Nella parte superiore della pagina selezionare Salva.
Non sono ancora presenti parametri, quindi è possibile passare alla sezione Regole di completamento.
Aggiungere una regola di completamento
Successivamente, il comando richiede una regola di completamento. Questa regola indica all'utente che viene eseguita un'azione di evasione.
Per altre informazioni sulle regole e sulle regole di completamento, vedere Concetti e definizioni dei comandi personalizzati.
Selezionare la regola di completamento predefinita Fine. Quindi modificarlo come segue:
Impostazione Valore suggerito Description Nome ConfirmationResponse
Nome che descrive lo scopo della regola Condizioni None Condizioni che determinano quando la regola può essere eseguita Azioni Editor semplice invia risposta>vocale> Ok, turning the tv on
Azione da eseguire quando la condizione della regola è true Selezionare Salva per salvare l'azione.
Nella sezione Regole di completamento selezionare Salva per salvare tutte le modifiche.
Nota
Non è necessario usare la regola di completamento predefinita fornita con il comando . È possibile eliminare la regola di completamento predefinita e aggiungere una regola personalizzata.
Aggiungere un comando SetTemperature
Aggiungere ora un altro comando, SetTemperature
. Questo comando accetta una singola espressione, Set the temperature to 40 degrees
e risponde con il messaggio Ok, setting temperature to 40 degrees
.
Per creare il nuovo comando, seguire la procedura usata per il TurnOn
comando , ma usare la frase Set the temperature to 40 degrees
di esempio .
Modificare quindi le regole di completamento fine esistenti nel modo seguente:
Impostazione | Valore suggerito |
---|---|
Nome | ConfirmationResponse |
Condizioni | None |
Azioni | Invia risposta>vocale Semplice editor>Prima variante>Ok, setting temperature to 40 degrees |
Selezionare Salva per salvare tutte le modifiche apportate al comando.
Aggiungere un comando SetAlarm
Creare un nuovo SetAlarm
comando. Usare la frase Set an alarm for 9 am tomorrow
di esempio . Modificare quindi le regole di completamento fine esistenti nel modo seguente:
Impostazione | Valore suggerito |
---|---|
Nome | ConfirmationResponse |
Condizioni | None |
Azioni | Invia risposta>vocale Semplice editor>Prima variante>Ok, setting an alarm for 9 am tomorrow |
Selezionare Salva per salvare tutte le modifiche apportate al comando.
Prova
Testare il comportamento dell'applicazione usando il riquadro di test:
- Nell'angolo superiore destro del riquadro selezionare l'icona Train (Esegui training ).
- Al termine del training, selezionare Test.
Provare gli esempi di espressione seguenti usando la voce o il testo:
- Si digita: impostare la temperatura su 40 gradi
- Risposta prevista: Ok, impostando la temperatura su 40 gradi
- Si digita: accendere la tv
- Risposta prevista: Ok, accendere la tv
- Si digita: impostare un allarme per le 9:00 di domani
- Risposta prevista: Ok, impostando un allarme per le 9:00 di domani
Suggerimento
Nel riquadro di test è possibile selezionare Turn details (Attiva dettagli ) per informazioni sull'elaborazione dell'input vocale o dell'input di testo.
Aggiungere parametri ai comandi
In questa sezione viene illustrato come aggiungere parametri ai comandi. I comandi richiedono parametri per completare un'attività. In scenari complessi, i parametri possono essere usati per definire condizioni che attivano azioni personalizzate.
Configurare i parametri per un comando TurnOn
Per iniziare, modificare il comando esistente TurnOn
per attivare e disattivare più dispositivi.
Ora che il comando gestisce sia gli scenari on che off, rinominare il comando come TurnOnOff.
Nel riquadro a sinistra selezionare il comando TurnOn . Quindi, accanto a Nuovo comando nella parte superiore del riquadro, selezionare il pulsante modifica.
Nella finestra di comando Rinomina modificare il nome in TurnOnOff.
Aggiungere un nuovo parametro al comando . Il parametro indica se l'utente vuole attivare o disattivare il dispositivo.
Nella parte superiore del riquadro centrale selezionare Aggiungi. Nel menu a discesa selezionare Parametro.
Nel riquadro a destra, nella sezione Parametri , nella casella Nome aggiungere
OnOff
.Seleziona Obbligatoria. Nella finestra Aggiungi risposta per un parametro obbligatorio selezionare Editor semplice. Nel campo Prima variante aggiungere On o Off.
Selezionare Aggiorna.
Configurare le proprietà del parametro usando la tabella seguente. Per informazioni su tutte le proprietà di configurazione di un comando, vedere Concetti e definizioni dei comandi personalizzati.
Impostazione Valore suggerito Description Nome OnOff
Nome descrittivo per il parametro Obbligatorio Selected Casella di controllo che indica se è necessario un valore per questo parametro prima del completamento del comando. Risposta per il parametro obbligatorio Editor semplice> On or Off?
Richiesta di richiesta del valore di questo parametro quando non è nota. Type Stringa Tipo di parametro, ad esempio Number, String, Date Time o Geography. Configurazione Accettare valori di input predefiniti da un catalogo interno Per le stringhe, questa impostazione limita gli input a un set di valori possibili. Valori di input predefiniti on
,off
Set di valori possibili e relativi alias. Per aggiungere valori di input predefiniti, selezionare Aggiungi un input predefinito. Nella finestra Nuovo elemento digitare Nome come illustrato nella tabella precedente. In questo caso, non si usano alias, quindi è possibile lasciare vuoto questo campo.
Selezionare Salva per salvare tutte le configurazioni del parametro.
Aggiungere un parametro SubjectDevice
Per aggiungere un secondo parametro per rappresentare il nome dei dispositivi che possono essere controllati tramite questo comando, selezionare Aggiungi. Usare la configurazione seguente.
Impostazione Valore suggerito Nome SubjectDevice
Obbligatorio Selected Risposta per il parametro obbligatorio Editor semplice> Which device do you want to control?
Type Stringa Configurazione Accettare valori di input predefiniti da un catalogo interno Valori di input predefiniti tv
,fan
Alias ( tv
)television
,telly
Seleziona Salva.
Modificare frasi di esempio
Per i comandi che usano parametri, è utile aggiungere frasi di esempio che coprono tutte le possibili combinazioni. Ad esempio:
- Informazioni complete sui parametri:
turn {OnOff} the {SubjectDevice}
- Informazioni sui parametri parziali:
turn it {OnOff}
- Nessuna informazione sui parametri:
turn something
Le frasi di esempio che usano diversi gradi di informazioni consentono all'applicazione Comandi personalizzati di risolvere sia risoluzioni monotono che risoluzioni a più turni usando informazioni parziali.
Tenendo presente queste informazioni, modificare le frasi di esempio per usare questi parametri suggeriti:
turn {OnOff} the {SubjectDevice}
{SubjectDevice} {OnOff}
turn it {OnOff}
turn something {OnOff}
turn something
Seleziona Salva.
Suggerimento
Nell'editor di frasi di esempio usare parentesi graffe per fare riferimento ai parametri. Ad esempio, turn {OnOff} the {SubjectDevice}
.
Usare una scheda per il completamento automatico supportato da parametri creati in precedenza.
Modificare le regole di completamento per includere i parametri
Modificare la regola ConfirmationResponse
di completamento esistente.
Nella sezione Condizioni selezionare Aggiungi una condizione.
Nell'elenco Tipo della finestra Nuova condizione selezionare Parametri obbligatori. Nell'elenco seguente selezionare Sia OnOff che SubjectDevice.
Seleziona Crea.
Nella sezione Azioni modificare l'azione Invia risposta vocale passando il puntatore del mouse su di esso e selezionando il pulsante di modifica. Questa volta, usare i parametri e
SubjectDevice
appena creatiOnOff
:Ok, turning the {SubjectDevice} {OnOff}
Seleziona Salva.
Provare le modifiche selezionando l'icona Train (Esegui training) nella parte superiore del riquadro a destra.
Al termine del training, selezionare Test. Viene visualizzata una finestra Test dell'applicazione . Provare le interazioni seguenti:
- Input: spegnere la tv
- Output: Ok, spegnere la tv
- Input: spegnere il televisore
- Output: Ok, spegnere la tv
- Input: disattivarlo
- Output: quale dispositivo si vuole controllare?
- Input: tv
- Output: Ok, spegnere la tv
Configurare i parametri per un comando SetTemperature
Modificare il SetTemperature
comando per abilitarlo per impostare la temperatura come l'utente diretto.
Aggiungere un TemperatureValue
parametro. Usare la configurazione seguente:
Impostazione | Valore suggerito |
---|---|
Nome | TemperatureValue |
Obbligatorio | Selected |
Risposta per il parametro obbligatorio | Editor semplice>What temperature would you like? |
Type | Number |
Modificare le espressioni di esempio per usare i valori seguenti.
set the temperature to {TemperatureValue} degrees
change the temperature to {TemperatureValue}
set the temperature
change the temperature
Modificare le regole di completamento esistenti. Usare la configurazione seguente.
Impostazione | Valore suggerito |
---|---|
Condizioni | >Parametro obbligatorio TemperatureValue |
Azioni | Inviare la risposta vocale>Ok, setting temperature to {TemperatureValue} degrees |
Configurare i parametri per un comando SetAlarm
Aggiungere un parametro denominato DateTime
. Usare la configurazione seguente.
Impostazione | Valore suggerito |
---|---|
Nome | DateTime |
Obbligatorio | Selected |
Risposta per il parametro obbligatorio | Editor semplice>For what time? |
Type | DateTime |
Valori predefiniti per la data | Se la data è mancante, usare oggi. |
Impostazioni predefinite per l'ora | Se manca l'ora, usare l'inizio del giorno. |
Nota
Questo articolo usa principalmente tipi di parametri String, Number e DateTime. Per un elenco di tutti i tipi di parametri supportati e delle relative proprietà, vedere Concetti e definizioni dei comandi personalizzati.
Modificare le espressioni di esempio. Utilizzare i seguenti valori.
set an alarm for {DateTime}
set alarm {DateTime}
alarm for {DateTime}
Modificare le regole di completamento esistenti. Usare la configurazione seguente.
Impostazione | Valore suggerito |
---|---|
Azioni | Inviare la risposta vocale>Ok, alarm set for {DateTime} |
Testare i tre comandi insieme usando espressioni correlate a comandi diversi. È possibile passare da un comando all'altro.
- Input: impostare un allarme
- Output: per quale ora?
- Input: accendere il televisore
- Output: Ok, accendere la tv
- Input: impostare un allarme
- Output: per quale ora?
- Input: 17:00
- Output: Ok, allarme impostato per
2020-05-01 17:00:00
Aggiungere configurazioni ai parametri di comando
In questa sezione vengono fornite altre informazioni sulla configurazione avanzata dei parametri, tra cui:
- Modalità di appartenenza dei valori dei parametri a un set definito all'esterno dell'applicazione Comandi personalizzati.
- Come aggiungere clausole di convalida sui valori dei parametri.
Configurare un parametro come entità del catalogo esterno
La funzionalità Comandi personalizzati consente di configurare parametri di tipo stringa per fare riferimento a cataloghi esterni ospitati su un endpoint Web. È quindi possibile aggiornare il catalogo esterno in modo indipendente senza modificare l'applicazione Comandi personalizzati. Questo approccio è utile nei casi in cui le voci del catalogo sono numerose.
Riutilizzare il SubjectDevice
parametro dal TurnOnOff
comando . La configurazione corrente per questo parametro è Accetta input predefiniti dal catalogo interno. Questa configurazione fa riferimento a un elenco statico di dispositivi nella configurazione del parametro. Spostare il contenuto in un'origine dati esterna che può essere aggiornata in modo indipendente.
Per spostare il contenuto, iniziare aggiungendo un nuovo endpoint Web. Nel riquadro a sinistra passare alla sezione Endpoint Web. Aggiungere un nuovo URL dell'endpoint Web. Usare la configurazione seguente.
Impostazione | Valore suggerito |
---|---|
Nome | getDevices |
URL | <Your endpoint of getDevices.json> |
Metodo | GET |
Configurare e ospitare quindi un endpoint Web che restituisce un file JSON che elenca i dispositivi che possono essere controllati. L'endpoint Web deve restituire un file JSON formattato come nell'esempio seguente:
{
"fan" : [],
"refrigerator" : [
"fridge"
],
"lights" : [
"bulb",
"bulbs",
"light",
"light bulb"
],
"tv" : [
"telly",
"television"
]
}
Passare quindi alla pagina Delle impostazioni dei parametri SubjectDevice . Configurare le proprietà seguenti.
Impostazione | Valore suggerito |
---|---|
Configurazione | Accettare input predefiniti da un catalogo esterno |
Endpoint catalogo | getDevices |
Metodo | GET |
Quindi selezionare Salva.
Importante
Non verrà visualizzata un'opzione per configurare un parametro per accettare input da un catalogo esterno, a meno che l'endpoint Web non sia impostato nella sezione Endpoint Web nel riquadro a sinistra.
Provare selezionando Train (Esegui training). Al termine del training, selezionare Test e provare alcune interazioni.
- Input: attivare
- Output: quale dispositivo si vuole controllare?
- Input: luci
- Output: Ok, accendere le luci
Nota
È ora possibile controllare tutti i dispositivi ospitati nell'endpoint Web. Tuttavia, è comunque necessario eseguire il training dell'applicazione per testare le nuove modifiche e quindi ripubblicare l'applicazione.
Aggiungere la convalida ai parametri
Le convalide sono costrutti che si applicano a determinati tipi di parametri che consentono di configurare vincoli sul valore del parametro. Richiedono correzioni se i valori non rientrano nei vincoli. Per un elenco dei tipi di parametro che estendono il costrutto di convalida, vedere Concetti e definizioni dei comandi personalizzati.
Testare le convalide usando il SetTemperature
comando . Per aggiungere una convalida per il Temperature
parametro, seguire questa procedura.
Nel riquadro a sinistra selezionare il comando SetTemperature .
Nel riquadro centrale selezionare Temperatura.
Nel riquadro a destra selezionare Aggiungi una convalida.
Nella finestra Nuova convalida configurare la convalida come illustrato nella tabella seguente. Selezionare Crea.
Configurazione dei parametri Valore suggerito Descrizione Valore minimo 60
Per i parametri Number, il valore minimo che questo parametro può presupporre Valore massimo 80
Per i parametri Number, il valore massimo che questo parametro può presupporre Risposta di errore Semplice editor>Prima variante> Sorry, I can only set temperature between 60 and 80 degrees. What temperature do you want?
Richiesta di chiedere un nuovo valore se la convalida non riesce
Provare selezionando l'icona Train (Esegui training) nella parte superiore del riquadro a destra. Al termine del training, selezionare Test. Provare alcune interazioni:
- Input: impostare la temperatura su 72 gradi
- Output: Ok, impostando la temperatura su 72 gradi
- Input: impostare la temperatura su 45 gradi
- Output: Mi dispiace, è possibile impostare la temperatura solo tra 60 gradi e 80 gradi
- Input: renderlo invece di 72 gradi
- Output: Ok, impostando la temperatura su 72 gradi
Aggiungere regole di interazione
Le regole di interazione sono regole aggiuntive che gestiscono situazioni specifiche o complesse. Anche se si è liberi di creare regole di interazione personalizzate, in questo esempio si usano regole di interazione per gli scenari seguenti:
- Conferma dei comandi
- Aggiunta di una correzione in un unico passaggio ai comandi
Per altre informazioni sulle regole di interazione, vedere Concetti e definizioni dei comandi personalizzati.
Aggiungere conferme a un comando
Per aggiungere una conferma, usare il SetTemperature
comando . Per ottenere la conferma, creare regole di interazione attenendosi alla procedura seguente:
Nel riquadro a sinistra selezionare il comando SetTemperature .
Nel riquadro centrale aggiungere regole di interazione selezionando Aggiungi. Selezionare quindi Regole di interazione>Conferma comando.
Questa azione aggiunge tre regole di interazione. Le regole chiedono all'utente di confermare la data e l'ora dell'allarme. Si aspettano una conferma (sì o no) per il turno successivo.
Modificare la regola di interazione del comando Confirm usando la configurazione seguente:
- Modificare il nome in Conferma temperatura.
- La condizione Tutti i parametri obbligatori sono già impostati.
- Aggiungere una nuova azione: digitare>Invia risposta>vocale Impostare la temperatura come {TemperatureValue} gradi?
- Nella sezione Aspettative lasciare il valore predefinito Previsto conferma dall'utente.
Modificare la regola di interazione Conferma riuscita per gestire una conferma riuscita (l'utente ha detto sì).
- Modificare il nome in Temperatura di conferma completata.
- Lasciare la condizione conferma esistente.
- Aggiungere una nuova condizione: digitare>Parametri>obbligatori TemperatureValue.
- Lasciare il valore predefinito Stato post-esecuzione come Regole di completamento esecuzione.
Modificare la regola di interazione di conferma negata per gestire gli scenari quando viene negata la conferma (l'utente ha detto no).
- Modificare il nome in Temperatura di conferma negata.
- Lasciare la condizione conferma esistente negata .
- Aggiungere una nuova condizione: digitare>Parametri>obbligatori TemperatureValue.
- Aggiungere una nuova azione: digitare>Invia risposta>vocale Nessun problema. Che temperatura allora?.
- Modificare il valore predefinito Stato post-esecuzione in Wait for user's input (Attendi l'input dell'utente).
Importante
In questo articolo si usa la funzionalità di conferma predefinita. È anche possibile aggiungere manualmente regole di interazione una alla volta.
Provare le modifiche selezionando Esegui training. Al termine del training, selezionare Test.
- Input: impostare la temperatura su 80 gradi
- Output: impostare la temperatura su 80 gradi?
- Input: No
- Output: nessun problema. Che temperatura allora?
- Input: 72 gradi
- Output: impostare la temperatura su 72 gradi?
- Input: Sì
- Output: OK, impostando la temperatura su 72 gradi
Implementare le correzioni in un comando
In questa sezione viene configurata una correzione in un unico passaggio. Questa correzione viene utilizzata dopo l'esecuzione dell'azione di evasione. Si noterà anche un esempio di come una correzione è abilitata per impostazione predefinita se il comando non è ancora soddisfatto. Per aggiungere una correzione al termine del comando, aggiungere il nuovo parametro AlarmTone
.
Nel riquadro sinistro selezionare il comando SetAlarm . Aggiungere quindi il nuovo parametro AlarmTone.
- Nome>
AlarmTone
- Tipo>Stringa
- Chimes valore>predefinito
- Configurazione>Accetta valori di input predefiniti dal catalogo interno
- Valori di input>predefiniti Chimes, Jingle e Echo (questi valori sono singoli input predefiniti).
Aggiornare quindi la risposta per il parametro DateTime su Pronto per impostare l'allarme con tono come {AlarmTone}. Per che ora?. Modificare quindi la regola di completamento come segue:
- Selezionare la regola di completamento esistente ConfirmationResponse.
- Nel riquadro a destra passare il puntatore del mouse sull'azione esistente e selezionare Modifica.
- Aggiornare la risposta vocale a
OK, alarm set for {DateTime}. The alarm tone is {AlarmTone}
.
Importante
Il tono di allarme può cambiare senza alcuna configurazione esplicita in un comando in corso. Ad esempio, può cambiare quando il comando non è ancora terminato. Una correzione è abilitata per impostazione predefinita per tutti i parametri di comando, indipendentemente dal numero di turno, se il comando deve ancora essere soddisfatto.
Implementare una correzione al termine di un comando
La piattaforma Comandi personalizzati consente la correzione in un unico passaggio anche al termine del comando. Questa funzionalità non è abilitata per impostazione predefinita. Deve essere configurato in modo esplicito.
Usare la procedura seguente per configurare una correzione in un unico passaggio:
- Nel comando SetAlarm aggiungere una regola di interazione del tipo Aggiorna comando precedente per aggiornare l'allarme impostato in precedenza. Rinominare la regola di interazione come Aggiorna allarme precedente.
- Lasciare la condizione predefinita: il comando precedente deve essere aggiornato.
- Aggiungere una nuova condizione: digitare>Il parametro>obbligatorio DateTime.
- Aggiungere una nuova azione: digitare>Invia risposta>vocale Editor>semplice Aggiornamento dell'ora di allarme precedente a {DateTime}.
- Lasciare il valore di stato post-esecuzione predefinito come Comando completato.
Provare le modifiche selezionando Esegui training. Attendere il completamento del training e quindi selezionare Test.
- Input: impostare un allarme.
- Output: pronto per impostare l'allarme con tono come Chimes. Per quale ora?
- Input: impostare un allarme con il tono come Jingle per le 9:00 di domani.
- Output: OK, allarme impostato per
2020-05-21 09:00:00
. Il tono dell'allarme è Jinle. - Input: No, 8:00.
- Output: aggiornamento dell'ora di allarme precedente al 2020-05-29 08:00.
Nota
In un'applicazione reale, nella sezione Azioni di questa regola di correzione, è anche necessario inviare un'attività al client o chiamare un endpoint HTTP per aggiornare l'ora dell'allarme nel sistema. Questa azione deve essere esclusivamente responsabile dell'aggiornamento dell'ora di allarme. Non deve essere responsabile di altri attributi del comando. In questo caso, questo attributo sarebbe il tono di allarme.
Aggiungere modelli di generazione della lingua per le risposte vocali
I modelli di generazione della lingua consentono di personalizzare le risposte inviate al client. Introducono varianza nelle risposte. È possibile ottenere la generazione del linguaggio usando:
- Modelli di generazione del linguaggio.
- Espressioni adattive.
I modelli di comandi personalizzati sono basati sui modelli LG di Bot Framework. Poiché la funzionalità Comandi personalizzati crea un nuovo modello LG quando necessario (per le risposte vocali in parametri o azioni), non è necessario specificare il nome del modello LG.
Non è quindi necessario definire il modello come segue:
# CompletionAction
- Ok, turning {OnOff} the {SubjectDevice}
- Done, turning {OnOff} the {SubjectDevice}
- Proceeding to turn {OnOff} {SubjectDevice}
È invece possibile definire il corpo del modello senza il nome, come illustrato di seguito:
Questa modifica introduce variazioni nelle risposte vocali inviate al client. Per un'espressione, la risposta vocale corrispondente viene selezionata in modo casuale dalle opzioni fornite.
Sfruttando i modelli LG, è anche possibile definire risposte vocali complesse per i comandi usando espressioni adattive. Per altre informazioni, vedere il formato dei modelli LG.
Per impostazione predefinita, la funzionalità Comandi personalizzati supporta tutte le funzionalità, con le differenze secondarie seguenti:
- Nei modelli LG le entità sono rappresentate come
${entityName}
. La funzionalità Comandi personalizzati non usa entità. È tuttavia possibile usare i parametri come variabili con la${parameterName}
rappresentazione o la{parameterName}
rappresentazione. - La funzionalità Comandi personalizzati non supporta la composizione e l'espansione del modello, perché non si modifica mai direttamente il file con estensione lg . Si modificano solo le risposte dei modelli creati automaticamente.
- La funzionalità Comandi personalizzati non supporta funzioni personalizzate che LG inserisce. Sono supportate le funzioni predefinite.
- La funzionalità Comandi personalizzati non supporta opzioni, ad esempio
strict
,replaceNull
elineBreakStyle
.
Aggiungere risposte al modello a un comando TurnOnOff
Modificare il TurnOnOff
comando per aggiungere un nuovo parametro. Usare la configurazione seguente.
Impostazione | Valore suggerito |
---|---|
Nome | SubjectContext |
Obbligatorio | opzione non selezionata |
Type | Stringa |
Valore predefinito: | all |
Configurazione | Accettare valori di input predefiniti dal catalogo interno |
Valori di input predefiniti | room , bathroom , all |
Modificare una regola di completamento
Modificare la sezione Azioni della regola di completamento esistente ConfirmationResponse. Nella finestra Modifica azione passare a Editor modelli. Sostituire quindi il testo con l'esempio seguente.
- IF: @{SubjectContext == "all" && SubjectDevice == "lights"}
- Ok, turning all the lights {OnOff}
- ELSEIF: @{SubjectDevice == "lights"}
- Ok, turning {OnOff} the {SubjectContext} {SubjectDevice}
- ELSE:
- Ok, turning the {SubjectDevice} {OnOff}
- Done, turning {OnOff} the {SubjectDevice}
Eseguire il training e testare l'applicazione usando l'input e l'output seguenti. Si noti la variazione delle risposte. La variante viene creata da più alternative del valore del modello e anche dall'uso di espressioni adattive.
- Input: accendere la tv
- Output: Ok, accendere la tv
- Input: accendere la tv
- Output: Fatto, acceso il televisore
- Input: spegnere le luci
- Output: Ok, spegnere tutte le luci
- Input: spegnere le luci della stanza
- Output: Ok, spegnere le luci della stanza
Usare una voce personalizzata
Un altro modo per personalizzare le risposte di Comandi personalizzati è quello di selezionare una voce di output. Usare la procedura seguente per impostare la voce predefinita su una voce personalizzata:
- Nell'applicazione Comandi personalizzati, nel riquadro a sinistra selezionare Impostazioni.
- Nel riquadro centrale selezionare Voce personalizzata.
- Nella tabella selezionare una voce personalizzata o una voce pubblica.
- Seleziona Salva.
Nota
Per le voci pubbliche, i tipi neurali sono disponibili solo per aree specifiche. Per altre informazioni, vedere Aree supportate dal servizio Voce.
È possibile creare voci personalizzate nella pagina Progetto voce personalizzata. Per altre informazioni, vedere Introduzione alla voce personalizzata.
Ora l'applicazione risponde nella voce selezionata, anziché nella voce predefinita.
Passaggi successivi
- Informazioni su come integrare l'applicazione Comandi personalizzati con un'app client usando Speech SDK.
- Configurare la distribuzione continua per l'applicazione Comandi personalizzati usando Azure DevOps.