Condividi tramite


Elementi e attributi VCD (Voice Command Definition) versione 1.1

Nota

Le Cortana Skills Kit per consumer e enterprise e le competenze basate su queste piattaforme sono state deprecate.

Vedere la versione più recente in Elementi e attributi VCD (Voice Command Definition) v1.2.

Documentazione di riferimento per gli elementi di markup XML e gli attributi usati nei file VCD per specificare i vincoli di riconoscimento.

Usare i comandi vocali per avviare un'app e specificare un'azione o un comando da eseguire. Ad esempio, un utente può toccare il pulsante Start e pronunciare "Contoso Widgets, show best seller" per avviare l'app Contoso Widgets e passare a una pagina "best seller".

Elementi e attributi

Come per qualsiasi file XML, un file VCD deve iniziare con una dichiarazione XML che specifica sia la versione XML che la codifica dei caratteri.

<?xml version="1.0" encoding="utf-8"?>

L'elemento radice è l'elemento VoiceCommands e il relativo attributo xmlns deve essere impostato su http://schemas.microsoft.com/voicecommands/1.1 (senza caratteri maiuscoli). Per un esempio conforme a questo schema, vedi l'esempio di Cortana Voice Command.

ElementoDescrizione
VoiceCommands Obbligatorio. Elemento radice di un file VCD. Contiene tra 1 e 15 elementi CommandSet , ognuno dei quali rappresenta i comandi vocali per una singola lingua.
Commandset Elemento figlio obbligatorio dell'elemento VoiceCommands . Contenitore per tutti i comandi vocali che un'app accetterà nella lingua specificata dall'attributo xml:lang richiesto. Il valore dell'attributo xml:lang deve essere univoco nel documento VoiceCommand ed è una singola lingua specifica, specificata nel modulo del nome della lingua, che corrisponde a una lingua disponibile nel pannello di controllo Voce . L'attributo Name è facoltativo e può essere qualsiasi stringa arbitraria; Tuttavia, l'attributo Name è necessario per fare riferimento e aggiornare un elemento CommandSet PhraseList a livello di codice. L'elemento CommandSet contiene gli elementi figlio seguenti: CommandPrefix (0 o 1), Example (esattamente 1), Command (da 1 a 100), elementi PhraseList (da 0 a 10) e elementi PhraseTopic (da 0 a 10). Questi elementi figlio devono essere presenti nell'ordine elencato.
CommandPrefix Elemento figlio facoltativo dell'elemento CommandSet . Se presente, deve essere il primo elemento figlio dell'elemento CommandSet . Specifica un nome descrittivo per un'app che un utente può pronunciare quando assegna un comando vocale. Ciò è utile per le app con nomi lunghi o difficili da pronunciare. Evitare di usare prefissi in conflitto con altre esperienze abilitate per la voce.
Comando

Elemento figlio obbligatorio dell'elemento CommandSet .

Accetta l'attributo Name . Definisce un'azione dell'app che gli utenti possono avviare parlando e cosa gli utenti possono dire per avviare l'azione. Ogni elemento Command può essere associato a una pagina specifica nell'app. Contiene gli elementi figlio necessari seguenti: Esempio (esattamente 1), ListenFor (da 1 a 10), Feedback (esattamente 1) e Navigate (esattamente 1). Questi elementi figlio devono essere presenti nell'ordine elencato.

Esempio Elemento figlio obbligatorio sia dell'elemento CommandSet che dell'elemento Command . Fornisce un esempio rappresentativo di ciò che un utente può dire per un CommandSet nel suo complesso e per un singolo comando. Questi esempi saranno visibili a un utente durante la visualizzazione della schermata Cosa posso dire sul telefono. Questa schermata viene visualizzata quando un utente preme e tiene premuto il pulsante Cerca e dice "Guida" o "Cosa posso dire?", oppure tocca Visualizza altro. Gli esempi non devono includere il nome o il prefisso dell'applicazione, perché viene gestito automaticamente.
Listenfor

Elemento figlio obbligatorio (da 1 a 10) dell'elemento Command .

Contiene una parola o una frase che l'app riconoscerà per questo comando. Può includere o essere un riferimento all'attributo Label di un elemento PhraseList (o PhraseTopic), che viene visualizzato nell'elemento ListenFor racchiuso tra parentesi graffe, ad esempio{ myList}o {myTopic}.

Il contenuto di qualsiasi elemento ListenFor può essere riconosciuto per attivare il comando.

Usare parentesi quadre intorno a una parola o a parole facoltative. Ovvero, la parola o le parole possono essere pronunciate, ma non sono necessarie per una corrispondenza. Ad esempio: <ListenFor>[Show] {options}</ListenFor>.

È possibile configurare la funzionalità con caratteri jolly includendo un carattere asterisco all'interno di una coppia di parentesi graffe, ad esempio <ListenFor> Find {*} </ListenFor>. In questo esempio, il comando vocale corrisponderà purché l'utente parli "Trova", facoltativamente seguito da qualsiasi altra parola o frase. Se viene trovata la corrispondenza del comando vocale per un elemento ListenFor abilitato per caratteri jolly, la proprietà SpeechRecognitionResult.Text conterrà la stringa "..." nella stessa posizione del carattere jolly.

Commenti e suggerimenti Elemento figlio obbligatorio dell'elemento Command . Specifica il testo che verrà visualizzato e letto di nuovo all'utente quando il comando viene riconosciuto. Se l'elemento Feedback include un riferimento a un attributo Label di un elemento PhraseList (o PhraseTopic), ogni elemento ListenFor nell'elemento Command contenitore deve anche fare riferimento allo stesso attributo Label dell'elemento PhraseList (o PhraseTopic).
EsplorareElemento figlio obbligatorio dell'elemento Command . L'attributo Target è facoltativo e viene in genere usato per specificare la pagina a cui l'app deve passare all'avvio. È possibile ottenere il valore dell'attributo Target (o la stringa vuota se si omette l'attributo Target ) dal dizionario SpeechRecognitionSemanticInterpretation.Properties usando la chiave "NavigationTarget".
PhraseList

Elemento figlio facoltativo dell'elemento CommandSet . Un elemento CommandSet può contenere non più di 2.000 elementi Item e 2.000 elementi Item è il limite totale combinato per tutti gli elementi PhraseList in un Oggetto CommandSet. Ogni elemento specifica una parola o una frase che può essere riconosciuta per avviare il comando che fa riferimento a PhraseList. Il contenuto items può essere aggiornato a livello di codice dall'interno dell'applicazione. Un oggetto PhraseList richiede l'attributo Label, il cui valore può apparire, racchiuso tra parentesi graffe, all'interno di elementi ListenFor o Feedback e viene usato per fare riferimento a PhraseList.

PhraseList ha un attributo facoltativo Disambiguate (valore predefinito true), che specifica se l'oggetto PhraseList produrrà una disambiguazione dell'utente quando vengono riconosciuti simultaneamente più elementi dell'elenco. Se false, anche questo PhraseList non sarà utilizzabile dall'interno degli elementi Feedback e non produrrà parametri per l'applicazione. Questo è utile per le frasi che sono modi alternativi di dire la stessa cosa, ma non richiedono alcuna azione specifica.

Nell'app, per scoprire quale frase dell'elenco è stata pronunciata, è possibile accedere al dizionario SpeechRecognitionSemanticInterpretation.Properties usando una chiave con lo stesso valore di Label of the PhraseList.

Elemento Elemento figlio facoltativo dell'elemento PhraseList . Una di più parole o frasi che possono essere riconosciute per avviare un comando. Un oggetto CommandSet non può contenere più di 2.000 elementi Item in tutti gli elementi PhraseList figlio.
PhraseTopic

Elemento figlio facoltativo dell'elemento CommandSet . Specifica un argomento per il riconoscimento di vocabolari di grandi dimensioni. L'argomento può specificare un singolo attributo scenario (0 o 1) e diversi elementi figlio oggetto (da 0 a 20) per lo scenario, che può essere usato per migliorare la pertinenza del riconoscimento ottenuto. Un elemento PhraseTopic richiede l'attributo Label, il cui valore può apparire, racchiuso tra parentesi graffe, all'interno di elementi ListenFor o Feedback e viene usato per fare riferimento a PhraseTopic.

L'attributo Scenario (impostazione predefinita "Dettatura") specifica lo scenario desiderato per questo PhraseTopic, che può ottimizzare il riconoscimento vocale sottostante dei comandi vocali usando PhraseTopic per produrre risultati più adatti al contesto desiderato del comando. I valori validi sono "Natural Language", "Search", "Short Message", "Dictation", "Commands" e "Form Filling".

Gli elementi figlio Subject specificano un oggetto specifico dell'attributo Scenario dell'elemento PhraseTopic padre per perfezionare ulteriormente la pertinenza dei risultati del riconoscimento vocale all'interno dei comandi vocali usando PhraseTopic. I soggetti verranno valutati nell'ordine specificato e, quando appropriato, i soggetti specificati successivamente vincolano quelli specificati in precedenza. I valori di testo interno validi sono "Date/Time", "Addresses", "City/State", "Person Names", "Movies", "Music" e "Phone Number". ad esempio <Subject>Phone Number</Subject>

Nell'app, per scoprire il contenuto parlato nel sottoinsieme di un elemento ListenFor rappresentato da un riferimento PhraseTopic , è possibile accedere al dizionario SpeechRecognitionSemanticInterpretation.Properties usando una chiave con lo stesso valore di Label of the PhraseTopic.

Importante

Non è possibile annidare i caratteri speciali elencati di seguito. Ad esempio, le istruzioni come [[start] new game] e [{myPhraseList}] non sono possibili.

Carattere speciale Descrizione
{} Contiene il valore dell'attributo Label per PhraseList o PhraseTopic a cui fare riferimento, ad esempio{ myList}o {myTopic}. Utilizzato all'interno di un elemento ListenFor o Feedback . Un riferimento PhraseList o PhraseTopic in un elemento Feedback deve corrispondere a un riferimento corrispondente in un elemento ListenFor nello stesso comando.
[] Indica che la parola o la frase racchiusa è facoltativa. La parola o la frase racchiusa può essere pronunciata ma non deve essere riconosciuta per avviare il comando. Ad esempio, se il contenuto di un elemento ListenFor è "[start] [begin] new game", l'utente può pronunciare "start new game" o "new game" o "begin new game" (o anche "start begin new game") per avviare il comando. Ogni elemento tra parentesi quadre è facoltativo, ma deve essere pronunciato nell'ordine corretto per essere riconosciuto. Quindi, nell'esempio "nuovo gioco", "start begin new game" funziona, ma "begin start new game" non funziona a causa dell'ordine in cui sono stati dichiarati.

Vedi anche

Windows.ApplicationModel.VoiceCommands

Elementi e attributi VCD versione 1.2

Interazioni con Cortana

Esempi

Esempio di comando vocale di Cortana