Pregunta

Estoy realmente interesado en los algoritmos de voz a texto, pero no estoy seguro de por dónde empezar a estudiarlos.Un montón de búsquedas me llevaron a este, pero es de 1996 y estoy bastante seguro de que ha habido mejoras desde entonces.

¿Alguien que tenga alguna experiencia con este tipo de cosas tiene alguna recomendación para leer/código fuente para examinar?O simplemente consejos generales sobre lo que debería intentar aprender si quiero entrar en el mundo de la escritura de programas de reconocimiento de voz (a veces es difícil saber qué buscar si no tienes mucho conocimiento sobre el dominio).

Editar:Me gustaría hacer algo multiplataforma, pero por el momento me centraría en Linux.

Edición 2:Gracias csmba por la respuesta bien pensada.En este momento lo que más me interesa es poder crear aplicaciones que permitan la automatización o ejecución de diferentes comandos a través de la voz.Por lo tanto, se puede unir una cantidad limitada de comandos reconocibles.Un ejemplo sería un reproductor de música que aceptara comandos como "Reproducir el álbum Hello Everything de Squarepusher", o un iniciador de aplicaciones que permitiera al usuario crear atajos de voz para iniciar aplicaciones específicas.

Me doy cuenta de que es un problema bastante gigante y que no tengo ni de lejos el nivel de conocimiento necesario en este momento para abordar la implementación de un motor de reconocimiento completo, aunque las técnicas involucradas en hacerlo me fascinan y es algo en lo que me gustaría trabajar. yo mismo estoy dispuesto a hacer.Con toda probabilidad, probablemente terminaré leyendo uno o dos libros sobre el tema y estudiando o jugando con implementaciones "simples" en mi tiempo libre.

¿Fue útil?

Solución

Esta es una pregunta ENORME, no sabría cómo empezar...Así que déjame intentar darte los "términos" correctos para que puedas refinar tu búsqueda:

Primero, comprenda que el reconocimiento de voz es un tema diverso y complicado, y que tiene muchas aplicaciones diferentes.Las personas tienden a asignar este dominio a lo primero que les viene a la cabeza (por lo general, serían computadoras que entienden lo que usted dice en los sistemas IVR).Primero, distingamos el concepto en las categorías principales:

Humano a máquina: Aplicaciones que tratan de comprender lo que dice un humano, pero el humano sabe que está hablando con una máquina y el gramática es muy limitado.Ejemplos son

  • Automatización informática
  • Especializado:Pilotos que automatizan algunos controles, por ejemplo (el ruido es un gran problema)
  • Sistemas IVR (Respuesta de Voz Interactiva) como Google-411 o cuando llamas al banco y la computadora del otro lado dice "di 'servicio' para obtener servicio al cliente"

humano a humano (Discurso espontáneo):Éste es un problema mayor y más complejo.Aquí también podemos dividirlo en diferentes aplicaciones:

  • Centro de llamadas:conversación entre Agente-Cliente, calidad del teléfono, comprimido
  • Inteligencia:conversaciones por radio/teléfono/en vivo entre 2 o más personas

Ahora bien, Speech-To-Text no es lo que deberías decir y que te interesa.Lo que te importa es resolver un problema.Se utilizan diferentes tecnologías para resolver diferentes problemas.Ver una descripción general aquí de algunos de ellos.En resumen, otros enfoques son la transcripción fonética, LVCSR y la base directa.

Además, ¿estás interesado en ser el doctorado detrás de la tecnología?necesitarías un equivalente de maestría que involucre Procesamiento de la señal y probablemente un doctorado para estar a la vanguardia.En cuyo caso, trabajará para una empresa que desarrolla el actual motor de voz.Empresas como Nuance e IBM son las grandes, pero también existen Phillips y otras startups.

Por otro lado, si usted quiere ser quien implemente las aplicaciones, no trabajará en el motor, sino que trabajará en la creación de aplicaciones que USE el motor.Creo que una buena analogía es la de la industria del juego:¿Estás desarrollando el motor gráfico (como el motor Cry) o trabajando en uno de varios cientos de juegos que utilizan el mismo motor gráfico?

No me malinterpreten, hay mucho que trabajar en la calidad de la búsqueda también fuera de IBM/Nuance del mundo.El motor suele ser muy abierto y hay que realizar muchos ajustes algorítmicos que pueden afectar drásticamente el rendimiento.Cada aplicación empresarial tiene diferentes limitaciones y funciones de costo/beneficio, por lo que puede realizar experimentos durante muchos años creando mejores aplicaciones basadas en reconocimiento de voz.

una cosa más:en general, también querrás tener buenos antecedentes estadísticos cuanto más bajo en la pila quieras estar.

En este momento lo que más me interesa es poder crear aplicaciones que permitan la automatización.

Bien, aquí estamos convergiendo...Entonces no tienes ningún interés en "Voz a Texto".Esas palabras de moda te llevan al mundo de la transcripción completa, un lugar al que no necesitas ir.Debería centrarse en algunas de las tecnologías más humanas a máquinas, como Voice XML y las que se utilizan en los sistemas IVR (Nuance es el actor más importante en este campo).

Otros consejos

Definitivamente recomendaría recoger un libro o dos si eres nuevo en el campo.No tengo experiencia en el campo, por lo que no puedo hacer una recomendación.Si todavía estás en la universidad (o todavía tienes vínculos estrechos), debes averiguar si alguno de tus profesores puede hacerte una recomendación.

La encuesta que vinculó probablemente también sea un recurso excelente.Estoy seguro de que ha habido avances desde 1996, pero es poco probable que los conceptos básicos hayan cambiado fundamentalmente.Si la encuesta está bien redactada, valdrá la pena dedicar tiempo a leerla.

Para OS X, mira esto: Tecnologías de voz OS X

Para Windows mira esto: API de voz de Microsoft

he trabajado con Producto ViaVoice de IBM.Tiene un buen motor ASR (reconocimiento automático de voz) y un buen motor de conversión de texto a voz.

Los sitios web no son muy buenos, pero este es un enlace para la versión integrada. http://www-01.ibm.com/software/voice/support/

Sin embargo, es independiente de la plataforma y todo funciona a través de una arquitectura MVC que utiliza vxml, una variante de xml para fines de voz.

¿A qué plataforma te diriges?Hay API de voz de Microsoft que puedes usar si es para windows.

También está el Servicio de reconocimiento de voz para Android.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top