Utilización de gramáticas con modelos de lenguaje personalizado
El servicio IBM Watson® Speech to Text da soporte a la utilización de gramáticas con modelos de lenguaje personalizado. Puede añadir gramáticas a un modelo de lenguaje personalizado y utilizarlas para el reconocimiento de voz. Las gramáticas restringen el conjunto de frases que el servicio puede reconocer del audio.
Una gramática utiliza una especificación de lenguaje formal para definir un conjunto de reglas de producción para transcribir series de caracteres. Las reglas especifican cómo formar series válidas a partir del alfabeto del idioma. Cuando se aplica una gramática al reconocimiento de voz, el servicio solo puede devolver una o varias de las frases generadas por la gramática.
Por ejemplo, si necesita reconocer palabras o frases específicas, como yes o no, letras o números individuales o una lista de nombres, el uso de gramáticas puede resultar más efectivo que examinar palabras y transcripciones alternativas. Además, al limitar el espacio de búsqueda de series válidas, el servicio puede ofrecer resultados más rápido y con mayor precisión.
Cuando se utiliza un modelo de lenguaje personalizado y una gramática para el reconocimiento de voz, el servicio puede devolver una frase válida de la gramática o un resultado vacío. Si el resultado no está vacío, el servicio incluye una puntuación de confianza con la transcripción final, como lo hace para todas las solicitudes de reconocimiento. En el caso de gramáticas, la puntuación indica la probabilidad de que la respuesta coincida con la gramática. Siempre existe la posibilidad de que se produzcan falsos positivos, especialmente para gramáticas sencillas, por lo que siempre debe tener en cuenta la confianza de los resultados del servicio cuando evalúe su respuesta.
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.
Formatos de gramática soportados
El servicio Speech to Text da soporte a gramáticas definidas en los siguientes formatos estándares:
- Augmented Backus-Naur Form (ABNF), que utiliza una representación en texto sin formato que se parece a la gramática BNF tradicional. El tipo de soporte para este formato es
application/srgs
. - Formato XML, que utiliza elementos XML para representar la gramática. El tipo de soporte para este formato es
application/srgs+xml
.
Ambos formatos de gramática tienen la potencia de expresión de la gramática Context-Free Grammar (CFG). Sin embargo, el servicio solo puede decodificar gramáticas normales de tipo 3 en la jerarquía Chomsky. Ambas gramáticas representan el modelo Finite State Automata.
Para ver información general sobre gramáticas, consulte las siguientes páginas de la Wikipedia:
Speech Recognition Grammar Specification
El servicio Speech to Text admite las gramáticas definidas en la versión 1.0 de la especificación de gramáticas de reconocimiento del habla W3C. La especificación proporciona información detallada acerca de los formatos soportados y sobre la definición de una gramática. Para obtener información sobre los tipos de soporte admitidos, consulte el Apéndice G. Tipos de soporte y sufijos de archivo de la especificación.
El servicio no da soporte actualmente a todas las características de la especificación Speech Recognition Grammar Specification. En concreto, el servicio no da soporte a las características descritas en las secciones siguientes de la especificación:
- Sección 1.4 Interpretación semántica. IBM está trabajando para dar soporte a esta función en una futura versión del servicio.
- Sección 1.5 Gramáticas incrustadas. IBM está trabajando para dar soporte a esta función en una futura versión del servicio.
- Sección 2.2.2 Referencia externa por URI. El servicio sólo admite referencias locales, tal y como se describe en el apartado 2.2.1 Referencias locales. Es decir, una gramática debe ser auto contenida.
- Sección 2.2.3 Reglas especiales.
- Sección 2.2.4 Referencia a documentos N-gram(Informativa).
- Sección 2.7 Lengua. El servicio no permite cambiar de idioma. El servicio solo da soporte a un idioma global por gramática.
Las palabras de la gramática deben estar en codificación UTF-8 (ASCII es un subconjunto de UTF-8). El uso de cualquier otra codificación puede dar lugar a problemas al compilar la gramática o a resultados inesperados en la decodificación. El servicio pasa por alto una codificación especificada en la cabecera de la gramática.