No comience de la manera que sugiere
El nombre apropiado para la tarea que está describiendo es “verificación”. Es esencialmente una forma especializada, muy simple de reconocimiento. El proceso es muy fácil, pero no se puede hacer de la manera que sugieres. Si el discurso de entrada es continuo, generalmente no habrá pausas entre las palabras, excepto por la puntuación. Por lo tanto, no puede segmentar el discurso en palabras sin reconocer primero las palabras, o algo similar.
Afortunadamente, no hay necesidad de segmentar el discurso en palabras al comienzo.
Un solo paso de entrenamiento o un trivial “reconocimiento”
- He visto a muchos pueblos tamiles alegando que el hindi no es un idioma puro. ¿Qué quieren decir con un lenguaje puro?
- Realmente quiero ir a ver TomorrowWorld pero necesito tener más de 21 años. ¿Puedo ingresar con una identificación falsa?
- Noté en GOT que los espejos son bastante borrosos. ¿Cómo se hicieron de manera diferente en la época medieval?
- Si quiero conectar el automóvil a Uber u OLA, ¿cuál es el procedimiento total y cuáles serán los beneficios en Bangalore?
- Estoy planeando leer el plan de estudios de CFA una vez y luego cambiar a schweser para el nivel 1. ¿Es lo suficientemente sabio o debería seguir solo el plan de estudios?
Siempre que el discurso coincida con el guión predeterminado, solo necesita calcular la alineación de los modelos para la secuencia de palabras con el discurso. Este proceso de alineación es una parte rutinaria de la capacitación de modelos ocultos de procesos de Markov o podría realizarse como una tarea de reconocimiento trivial con una gramática con un factor de ramificación de uno (es decir, sin ramificación en absoluto). Como parte de la capacitación, el cálculo sería el paso adelante de un paso del cálculo estándar hacia adelante y hacia atrás, que puede encontrar en casi cualquier libro de texto sobre reconocimiento de voz. Como tarea de reconocimiento, puede utilizar cualquier sistema de reconocimiento de voz que le permita especificar una gramática. Simplemente especifique la gramática trivial correspondiente a la secuencia de comandos conocida. Como no hay ramificación, se garantiza que el reconocimiento no tendrá errores, por lo que no importa qué sistema de reconocimiento utilice.
El paso de entrenamiento o el reconocimiento trivial implícitamente segmentará el discurso en palabras, por lo que no es necesario que lo haga de antemano. Este proceso funcionará bien hasta que una palabra en el discurso sea diferente del guión predeterminado. Además, ya sea el cómputo directo de la capacitación o el reconocimiento trivial de una rama calculará una puntuación de cuán bien cada palabra hablada coincide con el modelo para la palabra dada del guión. Puede usar esta puntuación para una prueba palabra por palabra de si el discurso está de acuerdo con el guión.
Detectar cuando el discurso no está de acuerdo con el discurso
Si los sonidos en la palabra hablada son muy diferentes de la palabra en el guión, entonces será fácil detectar el desacuerdo. Sin embargo, si las dos son muy similares, entonces detectar el desacuerdo será tan difícil como una tarea de reconocimiento de voz normal en una situación en la que dos palabras que suenan similares tienen puntajes comparables de un modelo de lenguaje. En otras palabras, si las palabras sustitutas suelen ser muy diferentes, su tarea de verificación es mucho más fácil que el reconocimiento y la tasa de error promedio será muy baja. Sin embargo, si las palabras sustitutas son generalmente similares al guión, entonces la tarea es esencialmente reconocer un vocabulario pequeño y difícil y la tasa de error será similar a esa tarea de reconocimiento.
Volviendo a la pista
Tiene un problema adicional, es decir, retomar el proceso de alineación y verificación después de que haya una palabra que no coincida con el script. Si la palabra hablada incorrecta difiere en longitud de la palabra del guión o si hay más de una palabra incorrecta, entonces no sabe dónde comienza la siguiente palabra del guión.
Si tiene un sistema de reconocimiento de voz continuo (LVCSR) completo y de gran vocabulario para el idioma que se habla (tenga en cuenta que hasta ahora no lo ha necesitado para el proceso), puede reconocer el discurso continuo hasta que reconozca las palabras que coinciden alguna parte posterior del guión. Luego puede reiniciar el proceso de alineación, segmentación y verificación.
Manchado de frases
Si no tiene un sistema LVCSR completo, puede restablecer la sincronización entre el guión y el discurso utilizando un proceso de detección de palabras o de frases. Usar frases u otras secuencias cortas de palabras será más confiable que detectar palabras individuales, especialmente si las palabras son cortas. Una forma de detectar frases es construir un pequeño vocabulario artificial que conste de cada una de las frases en la siguiente parte del guión. Luego, ejecuta el reconocimiento en la siguiente parte del discurso utilizando el vocabulario de frases más una selección aleatoria de otras palabras. Las otras palabras en el vocabulario son solo un modelo del “fondo”. Es decir, pretende ser un modelo tosco y deliberadamente mediocre para todo el discurso que no sigue el guión.
Cuando el discurso vuelve al guión, los modelos de frase coincidirán mejor con el discurso que los modelos de fondo y el reconocedor reconocerá el hecho de que el discurso ha vuelto al guión. Luego, puede volver al proceso más simple de alineación y verificación descrito anteriormente.
Si quieres aprender más
Si desea unirse o orientar un proyecto de estudiante internacional que implemente software para tareas como esta, hágamelo saber.