Cómo se entrena el software de voz a texto

Cómo se entrena el software de voz a texto

marzo 17, 2023

Por en Blog

Voz a texto es una tecnología cuyo uso se ve cada vez más frecuente en muchos ámbitos de la vida debido a la gran versatilidad de esta tecnología. Reconocimiento de voz no sólo facilita a los usuarios individuales a utilizar sus dispositivos de manera más rápida y eficaz, sino que también ayuda a muchos profesionales a tener mejor experiencia laboral. Desde los policías que investigan las llamadas telefónicas de los supuestos criminales, hasta los asistentes en los centros de atención, ya que los voicebots, hoy en día, pueden facilitar su trabajo al obtener información personal del cliente antes de hablar juntos.

Pero volvamos al principio

¿Qué es voz a texto? Voz a texto (audio a texto o Speech-to-text) es un software de reconocimiento de voz que convierte lenguaje hablado a texto. Los posibles usos de esta tecnología son muchos y muy diversos. No es, sin embargo, el objetivo de este artículo denominarlos todos, ya que cualquiera puede pensar en numerosas posibilidades de su uso con un poco de fantasía (o experiencia previa).

En este artículo pretendemos volver al principio y describir cómo los ingenieros crean software de voz a texto. Aunque los sistemas de voz a texto integral (end-to-end system, es decir, técnica en la que el modelo aprende todos los pasos entre la fase inicial de entrada de datos y el resultado final de salida) últimamente están empezando a demostrar ciertos puntos fuertes en el mundo de la IA, Phonexia —como muchas otras empresas tecnológicas— produce voz a texto como un sistema híbrido, ya que este demuestra resultados muy positivos en datos de los clientes.

El entrenamiento de voz a texto consiste en dos fases principales del entrenamiento: la preparación de los datos y, seguidamente, el proceso del aprendizaje automático.

Datos, datos y datos

Los datos son un elemento clave en la preparación de voz a texto y, a diferencia de los procesos posteriores de aprendizaje automático, siempre dependen de la lengua meta. Los datos representan el mayor valor de cada empresa de tecnologías de inteligencia artificial. ¿Por qué? La precisión con la que un software efectúa una tarea concreta —reconocimiento de imágenes de coches, plantas, pupilas o, en nuestro caso, reconocimiento de voz en español, holandés, suajili o cualquier otro— depende altamente de la calidad y diversidad de los datos.

Ilustremos esto con el ejemplo de un supuesto software de reconocimiento de fotos de animales. ¿Cuál sería el problema de escasos datos? Si nuestro software aprende qué es un “perro” a base de fotos de razas como pastor alemán, husky siberiano, golden retriever y buldog americano, probablemente no reconozca bien un chihuahua. De hecho, puede que lo evalúe como un “gato”.

Imagen de dos perros y un gato: ¡los datos son importantes para el entrenamiento de voz a texto!

Y pasa igual con las lenguas. Si los conjuntos de datos necesarios para entrenar el voz a texto hispanoamericano solo provienen de Cuba o si se espera que el reconocimiento de voz funcione para llamadas telefónicas y sólo se entrena con datos grabados por el micrófono en un estudio, no podemos esperar grandes resultados.

Por lo tanto, cuantos más datos hay, mejor modelo final podemos esperar. Esa es la regla de oro del aprendizaje automático.

¿Qué datos se necesitan para entrenar voz a texto?

En el proceso de entrenamiento se requieren tres tipos de datos.

Diccionario de pronunciación

El diccionario de pronunciación tiene entre 10 mil y 50 mil palabras con sus respectivas transcripciones fonéticas. Cada palabra está compuesta por letras. Una letra, sin embargo, puede representar varios sonidos. La letra “c” en “Cecilia” es muy distinta que la “c” de “café”. Por eso las pronunciaciones están transcritas con fonemas que, de manera más objetiva, representan los sonidos de la lengua, es decir “s e s i l j a” toma “k a f e”.

Datos acústicos

Los datos acústicos consisten en cientos de horas de grabaciones en lengua meta con sus respectivas transcripciones. Estos conjuntos de datos acústicos representan la parte más importante de los datos introducidos en el proceso de entrenamiento. Sus parámetros se ajustan al tipo de habla que los usuarios deseen transcribir con el software final: tipo de habla, dispositivo (GSM, micrófono), calidad de grabaciones o, incluso, dialectos en cuestión. Es decir, si voz a texto debe transcribir conversaciones telefónicas en inglés estadounidense, son precisamente estos los parámetros que se deben tener en cuenta al elegir los conjuntos de datos implicados en el entrenamiento.

Datos textuales

Este último grupo de datos es una enorme colección de textos que, igual que las grabaciones, está adaptada al habla meta, por ejemplo, en cuanto a tema y estilo.

Proceso de entrenamiento

Cuando los datos están recogidos, revisados y propiamente preparados, el entrenamiento puede empezar. Este proceso se divide en tres partes principales que necesitan datos de entrada y una larga serie de procesos de aprendizaje automático. Como resultado se crean tres modelos —G2P, modelo acústico y modelo lingüístico— que al final se juntan en un proceso de packaging y crean un software de voz a texto:

  • La sigla G2P se refiere a “grapheme to phoneme” y forma la primera parte del entrenamiento. Este proceso utiliza el diccionario fonético como dato de entrada. A través de varias iteraciones y métodos estadísticos este sistema aprende cómo transformar una palabra en una serie de fonemas.
  • Para entrenar el modelo acústico se necesitan conjuntos de datos acústicos y G2P. Gracias al sistema complejo de entrenamiento que usa redes de neuronas, el modelo acústico es capaz de convertir audio en fonemas.
  • El último proceso prepara un modelo lingüístico, es decir, modelo de n-gramas que ayuda al modelo acústico a precisar las probabilidades de ocurrencia de diversas secuencias de palabras. Para preparar este modelo se utiliza el tercer tipo de datos: datos textuales.

Cuando este proceso está listo, los modelos acústico y lingüístico se juntan en un proceso de packaging. ¡Y ya está! El nuevo modelo de voz a texto está listo.

Conclusión

La preparación de un software de voz a texto es un proceso complejo que, como hemos visto, se basa en los datos de entrada y los procesos de creación de modelos particulares. Tanto la calidad de los datos, como las mejoras tecnológicas son claves en la creación del software. En Phonexia prestamos mucha atención a ambas fases de este proceso y con cada modelo y generación de voz a texto integramos mejoras que ayudan a dar resultados cada vez más positivos. Además, en este momento también nos dedicamos a la experimentación con sistemas integrales como transformadores y conformadores, ya que en el futuro estos podrían ofrecer parecidos o mayores índices de precisión

¡Compártelo ahora!

Entradas recientes