Elementos y atributos de definición de comandos de voz (VCD) v1.2

Nota

El Cortana Skills Kit para el consumidor y la empresa, y las aptitudes creadas en estas plataformas, han quedado en desuso.

Documentación de referencia de los atributos y elementos de marcado XML usados en archivos de definición de comandos de voz (VCD) para especificar restricciones de reconocimiento.

Use comandos de voz para iniciar una aplicación y especificar una acción o un comando que se va a ejecutar. Por ejemplo, un usuario podría pulsar el botón Inicio y decir "Contoso Widgets, mostrar bestsellers" para iniciar la aplicación Contoso Widgets y navegar a una página de "bestellers".

Elementos y atributos

Al igual que con cualquier archivo XML, un archivo VCD debe comenzar con una declaración XML que especifica la versión XML y la codificación de caracteres.

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

El elemento raíz es el elemento VoiceCommands y su atributo xmlns debe establecerse http://schemas.microsoft.com/voicecommands/1.2 en (sin caracteres en mayúsculas). Para obtener un ejemplo que se ajuste a este esquema, consulte el ejemplo de comando de voz de Cortana.

Elemento Descripción
VoiceCommands Necesario. Elemento raíz de un archivo VCD. Contiene entre 1 y 15 elementos CommandSet , cada uno de los cuales representa los comandos de voz para un único idioma.
CommandSet Elemento secundario requerido del elemento VoiceCommands . Contenedor para todos los comandos de voz que una aplicación aceptará en el idioma especificado por el atributo xml:lang requerido.

El valor del atributo xml:lang debe ser único en el documento VoiceCommand y es un único idioma específico, especificado en el formulario de nombre de idioma, que corresponde a un idioma que está disponible en el panel de control de voz.

Nota Se omiten los idiomas especificados en el archivo VCD, pero no se admiten en el sistema.

El atributo Name es opcional y puede ser cualquier cadena arbitraria; Sin embargo, el atributo Name es necesario para hacer referencia a un elemento CommandSet y actualizar phraseList mediante programación. El elemento CommandSet contiene los siguientes elementos secundarios: CommandPrefix (0 o 1) o AppName (0 o 1), Example (exactamente 1), Command (1 a 100), Elementos PhraseList (de 0 a 10) y PhraseTopic (de 0 a 10). Estos elementos secundarios deben aparecer en el orden indicado.

Mutuamente excluyente CommandPrefix

Elemento secundario opcional del elemento CommandSet . Si está presente, debe ser el primer elemento secundario del elemento CommandSet .

Especifica un nombre descriptivo para una aplicación que un usuario puede hablar al dar un comando de voz. Esto es útil para las aplicaciones con nombres que son largos o son difíciles de pronunciar.

Evite usar prefijos que entren en conflicto con otras experiencias habilitadas para voz.

AppName

Elemento secundario opcional del elemento CommandSet . Si está presente, debe ser el primer elemento secundario del elemento CommandSet .

Reemplaza CommandPrefix y admite el atributo RequireAppName y {builtin:AppName} la frase del elemento ListenFor .

Especifica un nombre descriptivo para una aplicación que un usuario puede hablar al dar un comando de voz. Esto es útil para las aplicaciones con nombres que son largos o son difíciles de pronunciar.

Evite usar prefijos que entren en conflicto con otras experiencias habilitadas para voz.

De forma predeterminada, AppName se admite como sufijo en el comando de voz.

Get-Help

Elemento secundario obligatorio del elemento CommandSet .

Toma el atributo Name . Define una acción de aplicación que los usuarios pueden iniciar hablando y lo que los usuarios pueden decir para iniciar la acción. Cada elemento Command se puede asociar a una página específica de la aplicación. Contiene los siguientes elementos secundarios necesarios: Ejemplo (exactamente 1), ListenFor (de 1 a 20), Comentarios (exactamente 1) y Navegar (exactamente 1). Estos elementos secundarios deben aparecer en el orden indicado.

Ejemplo Elemento secundario obligatorio del elemento CommandSet (exactamente 1) y del elemento Command (de 1 a 20). Proporciona un ejemplo representativo de lo que un usuario puede decir para un CommandSet en su conjunto y para un comando individual. Estos ejemplos serán visibles para un usuario de la pantalla ¿Qué puedo decir ? Esta pantalla aparece cuando un usuario presiona y mantiene pulsado el botón Buscar (en teléfonos Windows) o invoca Cortana y dice"Ayuda" o "Qué puedo decir?", o pulsa Ver más.

Nota Algunos ejemplos deben incluir AppName o CommandPrefix.

ListenFor

Elemento secundario obligatorio (de 1 a 20) del elemento Command .

Contiene una palabra o frase que la aplicación reconocerá para este comando. Esto puede incluir o ser una referencia a un atributo Label del elemento PhraseList (o PhraseTopic), que aparece en el elemento ListenFor entre llaves, por ejemplo: {myList}o {myTopic}.

Se puede reconocer el contenido de cualquier elemento ListenFor para activar el comando.

Se puede especificar un atributo RequireAppName opcional para indicar si el valor del elemento AppName se puede anteponer, anexar o usar en línea con el elemento ListenFor .

Este atributo admite cuatro valores:

  • BeforePhrase

    El usuario debe decir appName antes de la frase ListenFor .

  • AfterPhrase

    El usuario debe decir "In|Activado|Uso de |With" AppName después de la frase ListenFor .

  • BeforeOrAfterPhrase

    El usuario debe decir appName antes o después de la frase ListenFor .

  • ExplicitlySpecified

    Se hace referencia explícitamente a AppName en ListenFor mediante {builtin:AppName}. No es necesario que el usuario diga appName antes o después de la frase ListenFor .

Use corchetes alrededor de una palabra o palabras que sean opcionales. Es decir, la palabra o las palabras se pueden decir, pero no son necesarias para una coincidencia. Por ejemplo, <ListenFor>[Show] {options}</ListenFor>.

Puede configurar la funcionalidad de caracteres comodín mediante la inclusión de un carácter asterisco dentro de un par de llaves, como <ListenFor> Find {*} </ListenFor>. En este ejemplo, el comando de voz coincidirá siempre que el usuario hable "Buscar", seguido opcionalmente de cualquier otra palabra o frase. Si el comando de voz de un elemento ListenFor habilitado para caracteres comodín coincide, la propiedad SpeechRecognitionResult.Text contendrá la cadena "..." en la misma posición que el carácter comodín.

Comentarios Elemento secundario requerido del elemento Command . Especifica el texto que se mostrará y volverá a leer al usuario cuando se reconozca el comando. Si el elemento Feedback incluye una referencia a un atributo Label de un elemento PhraseList (o PhraseTopic), todos los elementos ListenFor del elemento Command contenedor también deben hacer referencia al mismo atributo Label del elemento PhraseList (o PhraseTopic).
Mutuamente excluyente NavegarElemento secundario requerido del elemento Command , a menos que el elemento Command tenga un elemento secundario VoiceCommandService . El atributo Target es opcional y se usa normalmente para especificar la página a la que debe navegar la aplicación cuando se inicia. Puede obtener el valor del atributo Target (o la cadena vacía si omite el atributo Target ) del diccionario SpeechRecognitionSemanticInterpretation.Properties mediante la clave "NavigationTarget".
VoiceCommandService Elemento secundario requerido del elemento Command , a menos que el elemento Command tenga un elemento secundario Navigate . Este elemento especifica que el comando de voz se controla a través de un servicio de aplicaciones (consulte Windows.ApplicationModel.AppService) con comentarios que se muestran en el lienzo de Cortana . El atributo Target es obligatorio y debe coincidir con el valor del atributo Name del elemento AppService en el manifiesto del paquete de la aplicación.
PhraseList

Elemento secundario opcional del elemento CommandSet . Un elemento CommandSet no puede contener más de 2.000 elementos Item y 2.000 elementos Item es el límite total combinado en todos los elementos PhraseList de un CommandSet. Cada elemento especifica una palabra o frase que se puede reconocer para iniciar el comando que hace referencia a PhraseList. El contenido de elementos se puede actualizar mediante programación desde dentro de la aplicación. Un PhraseList requiere el atributo Label, el valor de que puede aparecer (entre llaves) dentro de los elementos ListenFor o Feedback, y se usa para hacer referencia a PhraseList.

PhraseList tiene un atributo Opcional Disambiguate (valor predeterminado true), que especifica si phraseList generará la desambiguación de usuario cuando se reconozcan simultáneamente varios elementos de la lista. Cuando es false, este PhraseList también será inutilizable desde los elementos Feedback y no generará parámetros para la aplicación. Esto resulta útil para frases que son formas alternativas de decir lo mismo, pero no requieren ninguna acción específica.

En la aplicación, para averiguar qué frase de la lista se ha hablado, puedes acceder al diccionario SpeechRecognitionSemanticInterpretation.Properties mediante una clave con el mismo valor que la etiqueta de PhraseList.

Elemento Elemento secundario opcional del elemento PhraseList . Una de varias palabras o frases que se pueden reconocer para iniciar un comando. Un CommandSet no puede contener más de 2000 elementos Item en todos sus elementos PhraseList secundarios.
PhraseTopic

Elemento secundario opcional del elemento CommandSet . Especifica un tema para el reconocimiento de vocabulario grande. El tema puede especificar un atributo de escenario único (0 o 1) y varios elementos secundarios del asunto (de 0 a 20) para el escenario, que se pueden usar para mejorar la relevancia del reconocimiento logrado. Un PhraseTopic requiere el atributo Label, el valor de que puede aparecer (entre llaves) dentro de los elementos ListenFor o Feedback, y se usa para hacer referencia a PhraseTopic.

El atributo Scenario (predeterminado "Dictado") especifica el escenario deseado para este PhraseTopic, que puede optimizar el reconocimiento de voz subyacente de los comandos de voz mediante PhraseTopic para generar resultados que sean más adecuados para el contexto deseado del comando. Los valores válidos son "Lenguaje natural", "Search", "Short Message", "Dictation", "Commands" y "Form Fill".

Los elementos secundarios Subject especifican un asunto específico del atributo Scenario del objeto PhraseTopic primario para refinar aún más la relevancia de los resultados del reconocimiento de voz en los comandos hablados mediante PhraseTopic. Los sujetos se evaluarán en el orden proporcionado y, cuando corresponda, los sujetos especificados más adelante restringirán los especificados anteriormente. Los valores de texto interno válidos son "Fecha y hora", "Direcciones", "Ciudad/Estado", "Nombres de persona", "Películas", "Música" y "Número de teléfono". Por ejemplo: <Subject>Phone Number</Subject>

En la aplicación, para averiguar el contenido hablado en el subconjunto de un elemento ListenFor representado por una referencia PhraseTopic , puedes acceder al diccionario SpeechRecognitionSemanticInterpretation.Properties con una clave con el mismo valor que la Etiqueta del PhraseTopic.

Importante

No es posible anidar los caracteres especiales que se enumeran a continuación. Por ejemplo, las instrucciones como [[start] new game] y [{myPhraseList}] no son posibles.

Carácter especial Descripción
{} Contiene el valor del atributo Label para que se haga referencia a PhraseList o PhraseTopic , por ejemplo: {myList}o {myTopic}. Se usa en un elemento ListenFor o Feedback . Una referencia PhraseList o PhraseTopic en un elemento Feedback debe coincidir con una referencia correspondiente en un elemento ListenFor del mismo comando.
[]Designa que la palabra o frase delimitada es opcional. Se puede hablar la palabra o frase incluida, pero no es necesario que se reconozca para iniciar el comando. Por ejemplo, si el contenido de un elemento ListenFor es "[start] [begin] new game", el usuario puede hablar "start new game" o "new game" o "begin new game" (o incluso "start start new game") para iniciar el comando. Cada elemento entre corchetes es opcional de forma independiente, pero se debe hablar en el orden correcto para que se reconozca. Por lo tanto, en el ejemplo "nuevo juego", "iniciar nuevo juego" funcionaría, pero "comenzar nuevo juego" no funcionaría debido al orden en que se declararon.

Consulte también

Windows.ApplicationModel.VoiceCommands

Interacciones de Cortana

Muestras
Muestra de comando de voz de Cortana