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.

  1. Nella casella Nome immettere il nome del progetto Smart-Room-Lite (o un altro nome di propria scelta).

  2. Nell'elenco Lingua selezionare Inglese (Stati Uniti).In the Language list, select English (Stati Uniti).

  3. Selezionare o creare una risorsa LUIS.

    Screenshot showing the

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.

  1. Creare un nuovo comando selezionando Nuovo comando nella parte superiore del riquadro sinistro. Verrà visualizzata la finestra di comando Nuovo.
  2. Per il campo Nome specificare il valore TurnOn.
  3. 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.

Screenshot showing where to create a command.

Aggiungere frasi di esempio

Nella sezione Frasi di esempio viene fornito un esempio di ciò che l'utente può dire.

  1. Nel riquadro centrale selezionare Frasi di esempio.

  2. Nel riquadro a destra aggiungere esempi:

    Turn on the tv
    
  3. 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.

  1. 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

    Screenshot showing where to create a speech response.

  2. Selezionare Salva per salvare l'azione.

  3. 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 degreese 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 degreesdi 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 tomorrowdi 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:

  1. Nell'angolo superiore destro del riquadro selezionare l'icona Train (Esegui training ).
  2. 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

Screenshot showing the test in a web-chat interface.

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.

  1. Ora che il comando gestisce sia gli scenari on che off, rinominare il comando come TurnOnOff.

    1. Nel riquadro a sinistra selezionare il comando TurnOn . Quindi, accanto a Nuovo comando nella parte superiore del riquadro, selezionare il pulsante modifica.

    2. Nella finestra di comando Rinomina modificare il nome in TurnOnOff.

  2. Aggiungere un nuovo parametro al comando . Il parametro indica se l'utente vuole attivare o disattivare il dispositivo.

    1. Nella parte superiore del riquadro centrale selezionare Aggiungi. Nel menu a discesa selezionare Parametro.

    2. Nel riquadro a destra, nella sezione Parametri , nella casella Nome aggiungere OnOff.

    3. Seleziona Obbligatoria. Nella finestra Aggiungi risposta per un parametro obbligatorio selezionare Editor semplice. Nel campo Prima variante aggiungere On o Off.

    4. Selezionare Aggiorna.

      Screenshot that shows the 'Add response for a required parameter' section with the 'Simple editor' tab selected.

    5. 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.
    6. 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.

      Screenshot showing how to create a parameter.

    7. Selezionare Salva per salvare tutte le configurazioni del parametro.

Aggiungere un parametro SubjectDevice

  1. 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
  2. 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 ConfirmationResponsedi completamento esistente.

  1. Nella sezione Condizioni selezionare Aggiungi una condizione.

  2. Nell'elenco Tipo della finestra Nuova condizione selezionare Parametri obbligatori. Nell'elenco seguente selezionare Sia OnOff che SubjectDevice.

  3. Seleziona Crea.

  4. 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}
    
  5. 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.

  1. Nel riquadro a sinistra selezionare il comando SetTemperature .

  2. Nel riquadro centrale selezionare Temperatura.

  3. Nel riquadro a destra selezionare Aggiungi una convalida.

  4. 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

    Screenshot showing how to add a range validation.

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:

  1. Nel riquadro a sinistra selezionare il comando SetTemperature .

  2. 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.

    1. Modificare la regola di interazione del comando Confirm usando la configurazione seguente:

      1. Modificare il nome in Conferma temperatura.
      2. La condizione Tutti i parametri obbligatori sono già impostati.
      3. Aggiungere una nuova azione: digitare>Invia risposta>vocale Impostare la temperatura come {TemperatureValue} gradi?
      4. Nella sezione Aspettative lasciare il valore predefinito Previsto conferma dall'utente.

      Screenshot showing how to create the required parameter response.

    2. Modificare la regola di interazione Conferma riuscita per gestire una conferma riuscita (l'utente ha detto sì).

      1. Modificare il nome in Temperatura di conferma completata.
      2. Lasciare la condizione conferma esistente.
      3. Aggiungere una nuova condizione: digitare>Parametri>obbligatori TemperatureValue.
      4. Lasciare il valore predefinito Stato post-esecuzione come Regole di completamento esecuzione.
    3. Modificare la regola di interazione di conferma negata per gestire gli scenari quando viene negata la conferma (l'utente ha detto no).

      1. Modificare il nome in Temperatura di conferma negata.
      2. Lasciare la condizione conferma esistente negata .
      3. Aggiungere una nuova condizione: digitare>Parametri>obbligatori TemperatureValue.
      4. Aggiungere una nuova azione: digitare>Invia risposta>vocale Nessun problema. Che temperatura allora?.
      5. 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:
  • 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:

  1. Selezionare la regola di completamento esistente ConfirmationResponse.
  2. Nel riquadro a destra passare il puntatore del mouse sull'azione esistente e selezionare Modifica.
  3. 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:

  1. 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.
  2. Lasciare la condizione predefinita: il comando precedente deve essere aggiornato.
  3. Aggiungere una nuova condizione: digitare>Il parametro>obbligatorio DateTime.
  4. Aggiungere una nuova azione: digitare>Invia risposta>vocale Editor>semplice Aggiornamento dell'ora di allarme precedente a {DateTime}.
  5. 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:

Screenshot showing a template editor example.

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, replaceNulle lineBreakStyle.

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:

  1. Nell'applicazione Comandi personalizzati, nel riquadro a sinistra selezionare Impostazioni.
  2. Nel riquadro centrale selezionare Voce personalizzata.
  3. Nella tabella selezionare una voce personalizzata o una voce pubblica.
  4. Seleziona Salva.

Screenshot showing sample sentences and parameters.

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