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.