IBM Cloud Docs
Gramáticas de ejemplo

Gramáticas de ejemplo

En los ejemplos siguientes se describen usos más complejos para gramáticas con reconocimiento de voz. La mayoría de los ejemplos se proporcionan tanto en formato ABNF (application/srgs) como en formato XML (application/srgs+xml). Utilice estos ejemplos como ayuda para empezar a utilizar gramáticas.

En una regla de producción para una gramática, incluir un \ (barra inclinada invertida) es un error de sintaxis en ABNF y se interpreta como un valor literal en XML.

Para obtener más información sobre los idiomas y modelos que soportan gramáticas y su nivel de soporte (generalmente disponible o beta), consulte Soporte de idiomas para la personalización.

Gramáticas de confirmación

Las gramáticas de confirmación resultan útiles para las aplicaciones que esperan una respuesta de una sola palabra a una pregunta. En las siguientes gramáticas se define una lista de posibles respuestas positivas y negativas.

Gramáticas de lista

Las gramáticas de lista resultan útiles para las aplicaciones que esperan que el usuario seleccione una opción de un conjunto predefinido de series. El conjunto a veces se denomina lista plana. Por lo general, consta de una lista de elementos de terminal y no incluye una estructura de reglas complicada.

  • En las siguientes gramáticas se define una lista de frases correspondientes a dígitos:

  • En la gramática siguiente se define una lista de nombres válidos entre los cuales el usuario puede elegir, tal vez para seleccionar un individuo de un directorio telefónico:

Gramáticas de números de chasis

Los números de chasis (en inglés, Vehicle Identification Numbers, VIN) utilizan un formato alfanumérico fijo, al igual que los números de tarjetas de crédito, los números de teléfono y los números de seguridad social de Estados Unidos. Una gran ventaja de las gramáticas sobre los n-gramas clásicos es que las gramáticas resultan muy eficaces para especificar este tipo de formatos.

El formato VIN está bien estandarizado y tiene un número fijo de caracteres. Los n-gramas clásicos ofrecen un bajo rendimiento para estos tipos de tareas. A diferencia de las gramáticas, no pueden garantizar que se especifique el número necesario de caracteres.

En las siguientes gramáticas se reconocen los códigos VIN de Honda. Son más complejos que los ejemplos anteriores, pero demuestran muy bien la potencia de las gramáticas.

Para más información sobre el formato del número de bastidor, consulte Número de identificación del vehículo.

Gramáticas con elementos opcionales

Si hace que determinados elementos de una respuesta sean opcionales, puede conseguir gramáticas más flexibles anticipándose a la posible respuesta de los usuarios. En la siguiente gramática se especifica el elemento $optionalphrase entre corchetes para que sea opcional. El usuario puede pronunciar una de algunas frases adicionales antes de indicar el número de seguridad social. Por ejemplo, el usuario puede decir "my social is xxx xx xxxx" o simplemente "xxx xx xxxx".

Para obtener más información sobre las expansiones opcionales en las gramáticas, consulte la sección 2.5 Repeticiones de la especificación de gramáticas de reconocimiento de voz.

Gramáticas desambiguación

Otras posibles gramáticas de ejemplo incluyen situaciones en las que la confianza de la respuesta reconocida no es muy alta, pero la aplicación tiene que estar segura de la respuesta del usuario. En este caso, la aplicación puede crear de forma dinámica una gramática que incluya las respuestas más probables y pedir al usuario que repita la respuesta. Por ejemplo, la aplicación puede crear una gramática que incluya las dos opciones más probables y pida al usuario que seleccione una de las dos: Did you mean 'option 1' or 'option 9'?

Las gramáticas de desambiguación se generan mediante programación. No se proporcionan ejemplos.