Cómo intentamos una vez más reemplazar a los humanos con robots

Esta historia trata sobre cómo lanzamos una startup por cuarta vez.



¿Cómo surgió la idea?



Todo comenzó con la publicación que vi sobre la nueva plataforma Maxine con IA para actualizar las comunicaciones de video de Nvidia, una de las características de esta plataforma es la traducción simultánea en forma de títulos, esta característica se implementa utilizando un marco de la misma Nvidia llamado Jarvis, este marco está diseñado para servicios conversacionales de IA multimodales, proporcionando rendimiento de GPU en tiempo real. Es este concepto de interpretación simultánea el que forma la base de nuestra plataforma de comunicación de audio y video. Al tratarse de una plataforma nueva, debería tener una serie de funcionalidades en comparación con otras plataformas similares, por lo que decidimos agregar una voz a estos títulos, formando un perfil de voz de usuario y sintetizando el habla, teniendo en cuenta la tonalidad y el color de la voz de la persona que habla.







Reconocimiento de voz a texto o voz



¿Es mejor usar Google, Yandex o Mozilla?



Google, en comparación con Yandex, tiene una mayor precisión de reconocimiento, ejecutamos 5 mensajes de voz de prueba: 3 en inglés y 2 en ruso a través de la API de Google y la precisión de reconocimiento fue 100% (5/5), Yandex 60% (3/5). Google admite 125 idiomas, Yandex - 3 idiomas.



Las ventajas de Mozilla Deepspeech es la precisión del reconocimiento, ya que es del 92.5%, en comparación, una persona reconoce con una precisión del 94.2%, por lo tanto la precisión del reconocimiento de los mensajes de voz de prueba fue del 100% (5/5), y la ventaja es que este motor código abierto, a diferencia de Google y Yandex. La desventaja de este motor es la cantidad de idiomas reconocidos: inglés, ruso y francés.



Como resultado, la elección recayó en Google Speech to Text debido a la relación entre el número de idiomas y la precisión del reconocimiento.



Traducción de texto



Para resolver este problema, lo primero que me viene a la mente es usar una API lista para usar de Google o Yandex. El primer problema que encontramos fue la inexactitud de la traducción. Por ejemplo, la traducción de la frase "La gente en China es aparentemente invisible" del ruso al inglés. Yandex Translator: "La gente en China es aparentemente invisible" y Google Translator: "Hay mucha gente en China", en este caso Google lo hizo mejor.



Actualmente no existe una panacea para solucionar este problema. La principal tarea de estos traductores hoy en día es enseñar al algoritmo a comprender el significado de una oración / texto. Si el algoritmo tiene sentido, la traducción será de mucha mejor calidad.



La traducción de una serie de oraciones relacionadas con temas comerciales a través de Google Translate y Yandex Translator demostró que Google lo hace de manera más competente, por lo que usaremos Google Translate.



Analizar y obtener un perfil de voz



Para obtener un perfil de voz, necesitamos recopilar un conjunto de datos. Dado que la tarea es sintetizar el texto traducido por el discurso del hablante, necesitamos recopilar un conjunto de datos de cada usuario. Esto se hace leyendo texto especializado que contiene el conjunto requerido de combinaciones de letras, construcciones sintácticas y signos de puntuación. La duración de la lectura del texto es de unos 15 minutos, por lo que obtenemos una cantidad suficiente de información sobre las características de frecuencia y entonación de cada usuario. La lectura del texto se puede repetir para mejorar los resultados finales.



Síntesis del habla teniendo en cuenta el perfil de voz.



Sintetizar el habla de una persona en un idioma que nunca ha hablado no es una tarea fácil. Para hacer esto, es necesario recopilar el conjunto de datos principal con la ayuda de personas bilingües que también leerán el texto especializado, luego leerán el texto similar en otro idioma y, luego, textos adicionales para ampliar el conjunto de datos. A partir de esta formación y de las relaciones identificadas, posteriormente se generará el habla de los usuarios en otro idioma. Además, las soluciones automatizadas ya existentes para sintetizar el habla en varios idiomas ayudarán en este proceso, ya que recopilar un conjunto de datos completamente independiente de la escala requerida no parece ser efectivo ni realista.



Salida



Nuestra principal tarea en este momento es combinar un perfil de voz con síntesis de voz, ya que transferir un perfil de voz a otro idioma no es una tarea fácil y es necesario entrenar una red neuronal para que entienda cómo hacerlo, teniendo solo dos conjuntos de datos en diferentes idiomas. ...



Durante el desarrollo del proyecto, realizaremos publicaciones relacionadas con tareas más específicas y formas de resolverlas.



All Articles