El sistema Sphinx

Transcripción

El sistema Sphinx
El sistema Sphinx
Sphinx es un sistema de reconocimiento de voz continua, de gran vocabulario e independiente del
locutor que está realizado bajo la licencia BSD. Sphinx es uno de los sistemas de reconocimiento
de voz más versátiles que existen en el mundo. Fue desarrollado por el grupo Sphinx en la
Universidad de Carnegie Mellon [48] y se basa en la construcción de Modelos Ocultos de Markov.
Actualmente existen varios proyectos desarrollados en CMU Sphinx:
1. Sphinx 2. Un reconocedor de voz de gran vocabulario y de alta velocidad. Generalmente
utilizado en sistemas de diálogo y sistemas de aprendizaje de pronunciación
2. Sphinx 3. Un reconocedor de voz ligeramente más lento que Sphinx 2 pero más preciso.
Generalmente se utiliza como una implementación de servidor de Sphinx o para evaluación.
3. Sphinx 4. Una versión completa de Sphinx escrita en Java. Proporciona alta precisión y la
velocidad de su desempeño es comparable al estado del arte.
4. PocketSphinx. Un reconocedor de voz que puede ser utilizado en sistemas embebidos.
5. SphinxTrain. Una suite de herramientas que llevan a cabo entrenamiento del modelo acústico.
Contiene recetas para el entrenamiento.
6. CMU-Cambridge Language Modeling Toolkit, CMU-CLM. Una suite de herramientas que
llevan a cabo entrenamiento del modelo del lenguaje.
7. SphinxBase. Un conjunto bibliotecas comunes utilizadas para varios proyectos de CMU Sphinx.
Los componentes principales del sistema Sphinx son el módulo Sphinxtrain, utilizado para
entrenamiento de los modelos acústicos, y el módulo Sphinx decoder, utilizado para el
reconocimiento de la voz.
El módulo Sphinxtrain se encarga de la obtención de los parámetros de los modelos de las
unidades de sonido que se obtienen por medio de muestras de la señal de voz; a estas muestras
se les denomina bases de entrenamiento. El módulo de entrenamiento también requiere que se le
indique qué unidades de sonido se desean entrenar y al menos la secuencia en la cual ocurre cada
señal de voz dentro de la base de entrenamiento. Esta información se le proporciona al módulo
Sphinxtrain a través de un archivo de transcripción, en el que se indican tanto la secuencia de
palabras como los sonidos que no forman parte del discurso, como disfluencias, pausas, etcétera,
en el orden exacto como ocurren dentro de la señal de voz, seguidos por una etiqueta que puede
ser utilizada para asociar esta secuencia con su correspondiente señal de voz. Enseguida, el
módulo de entrenamiento busca en un diccionario de lenguaje, que relaciona cada palabra con una
secuencia de unidades de sonido, con el fin de obtener la secuencia de unidades de sonido que
están asociadas con cada señal de voz. Asimismo se ayuda de un diccionario de relleno para
establecer la correspondencia entre los sonidos que no forman parte del discurso.
Por su parte, el módulo Sphinx decoder, dadas las entradas adecuadas, realiza la tarea de
reconocimiento. Las entradas necesarias son: los modelos acústicos entrenados, un archivo de
índices del modelo, el modelo del lenguaje, un diccionario del lenguaje, un diccionario de relleno y
un conjunto de señales acústicas que se desea reconocer. A los datos que se desea reconocer se
les denomina conjunto de prueba. Con los modelos acústicos entrenados, el módulo de
entrenamiento generará archivos de índices del modelo. Un archivo de índices del modelo
simplemente contiene identificadores para cada estado de cada modelo oculto de Markov, los
cuales son usados por los módulos de entrenamiento y de reconocimiento para tener acceso al
conjunto correcto de parámetros para aquellos estados de los modelos ocultos de Markov. Con
cualquier conjunto de modelos acústicos, se debe utilizar su archivo de índices de modelo para
realizar la decodificación.

Documentos relacionados