Cómo crear software de voz a texto para lenguas con muchos dialectos

Cómo crear software de voz a texto para lenguas con muchos dialectos

enero 23, 2023

Por en Blog

El inglés es lengua oficial en 58 países del mundo, 16 % de la populación mundial habla chino, el hindi es la tercera lengua más hablada del mundo con más de 600 millones de hablantes y el español es lengua nativa de 483 millones de personas en más de 20 países del mundo.

En el mundo existe una multitud de lenguas que se hablan en un territorio geográfico muy extenso y, por tanto, presentan gran diversidad en sus rasgos lexicales, fonéticos o gramaticales.

Solo en español son verdaderamente numerosas las maneras de decir “estoy bien” o “¿dónde andas?” o, simplemente, preguntar “¿qué tal?”. Para nada podemos comparar tal diversidad con la de un país como Suecia o Chequia con sus 10 millones de hablantes. Esta diversidad no deja de fascinar a los lingüistas ni a los propios hablantes. Al mismo tiempo, tantas diferencias dialectales son un tema relevante en el mundo de reconocimiento de voz ya que presentan un desafío para los ingenieros y científicos que se dedican a voz a texto.

¿Qué necesitan los usuarios?

Algunos futuros usuarios pueden tener ciertas dudas acerca de cómo funcionará voz a texto para transcribir su manera de hablar. A base de su experiencia con intercomprensión dialectal o consciencia de que su dialecto difiere notablemente del estándar, puede surgir cierta desconfianza hacia el campo de reconocimiento de voz.

Este problema se ve (cómicamente) desarrollado en el famoso vídeo sobre dos escoceses que entran en un ascensor dirigido puramente por reconocimiento de voz. Cuando la puerta se cierra tienen que decir el número de la planta a la que desean subir. Aunque uno de ellos es muy escéptico con sistemas de reconocimiento de voz para el inglés de Escocia, lo intentan ambos de todos modos y repetidamente pronuncian “eleven” —con acento escocés, claro— con el fin de poner el ascensor en marcha. Y se van quedando cada vez más frustrados cuando la voz automática del ascensor contesta una y otra vez: “I´m sorry, could you, please, repeat that?”

Voz a texto meme

Aunque se trata de un sketch cómico, los ingenieros de voz a texto deberían tener en cuenta que situaciones así sí ocurren con frecuencia. Empresas y órganos públicos igual que usuarios individuales necesitan que las tecnologías de transcripción de voz funcionen con la mayor precisión posible e independientemente del país de origen del hablante o, mejor dicho, independientemente de su dialecto nativo. Por tanto, es necesario pensar en los posibles dialectos que una lengua puede tener.

¿Qué es un dialecto?

Dialecto es una variedad de la lengua compartida por una comunidad de hablantes en un territorio geográfico específico, como, por ejemplo, el francés argelino, el español venezolano o el inglés de Inglaterra.

¿Por qué algunas lenguas son tan variadas y tienen tantos dialectos?

La lengua siempre es un reflejo de la sociedad que la habla. Si un país es geográficamente extenso —como, por ejemplo, Rusia—, su cultura, sociedad y habitantes serán muy variados y sus maneras de vivir serán distintas. Algunos vivirán más aislados, otros en grandes ciudades, algunos en el este, otros en el oeste, algunos bien situados yendo a las mejores universidades, otros sin mucha movilidad social. Toda esta variedad se ve reflejada en la lengua. No solo en dialectos geográficos, sino también en los sociales (sociolectos).

¿Y qué pasa si, además, la lengua se habla en varios países? Pues, igual que observamos en inglés, francés o español, la variación dialectal aumenta aún más. Puede ser reforzada por varios factores: el aislamiento político de algunos países, distintas implicaciones de los países en la economía global, diferencias entre lenguaje de los medios de cada país o diferencias históricas y culturales. Las razones son muchas. Esta diversidad es relevante en muchos campos profesionales: enseñanza de la lengua, administración pública, medios o, precisamente, el campo de las tecnologías del habla como transcripción automática de voz a texto.

¿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.

¿Qué datos se necesitan para crear un software de conversión de voz a texto?

Hay tres componentes necesarios en cada proceso de entrenamiento. Todos estos datos dependen de la lengua meta.

  1. Diccionario fonético. Este contiene palabras y pronunciaciones según las reglas de pronunciación de la lengua o dialecto. Gracias al diccionario el sistema relaciona letras con sonidos específicos.
  2. Datos acústicos. Es decir, 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. Gracias a ellos se relaciona la información acústica con la forma escrita de la lengua.
  3. Datos textuales. Estos consisten en una enorme colección de textos en dada lengua y sirven para que el modelo vaya calculando las probabilidades de ocurrencia de las palabras y expresiones y las posibles secuencias de palabras.

Ahora bien, si todos estos datos son necesarios para entrenar, por ejemplo, software de conversión de audio a texto en español ¿qué pronunciación elegimos para el diccionario fonético? Y ¿qué variedad del español se hablará en las grabaciones?

¿Cómo abarcar la variación lingüística en un modelo de voz a texto?

A diferencia de lenguas pequeñas, aquí no solo se considera accesibilidad y asequibilidad de los datos, sino también se efectúan decisiones lingüísticas basadas en el conocimiento de la situación dialectal de dada lengua.

Existen dos acercamientos principales.

  1. Crear un modelo (o varios modelos) de voz a texto unidialectal, es decir para un dialecto (o macrodialecto) específico. Sigamos con el ejemplo de español. Si decidimos crear voz a texto para el español de México, en el diccionario fonético se especificará la pronunciación típica para esta variedad del español y los audios serán grabados en español mexicano. Este acercamiento tiene dos claras ventajas: es específico —y, por tanto, idóneo para transcribir automáticamente español mexicano— y necesita menos datos (pero específicos) para cubrir una región hispanohablante concreta. Pero ¡ojo! Hay una clara desventaja de este enfoque y es que este modelo mexicano tendrá peores resultados cuando se intente usar fuera de la región, por ejemplo, para español de Colombia, Chile o España.
  2. Crear un modelo multidialectal. Si optamos por el modelo más general que cubra español de Américas, Europa y África, los datos usados tendrán que ser más variados que los del modelo unidialectal. Es decir, el diccionario contendrá más variantes y los conjuntos de datos acústicos provendrán de varios dialectos de los cuales cada uno es muy distinto y representa algún macrogrupo dialectal (europeo, caribeño, andino, norteamericano, rioplatense, etc.) Por supuesto, un modelo así será más caro por la cantidad de datos diversos que requiere, pero será más robusto y general, es decir, útil para clientes de cualquier país hispanohablante.
Voz a texto meme

Conclusión

La diversidad de una lengua puede ser un gran desafío para voz a texto, pero no es un problema sin solución. Los dos acercamientos mencionados —modelo unidialectal y multidialectal— tienen ciertas ventajas y desventajas y la elección de uno u otro depende del uso deseado por los clientes, accesibilidad de datos y situación específica de la lengua en cuestión.

En cuanto al español, en la creación de la sexta generación de voz a texto español en Phonexia hemos creado un modelo multidialectal. Esta nueva generación no solo ha visto numerosas mejoras tecnológicas, sino que también se han empleado para su desarrollo datos en varios dialectos (mexicano, caribeño, andino, europeo). Por tanto, este modelo demuestra muy satisfactorios resultados de transcripción automática de diversos dialectos del español, hecho que queda confirmado por varios clientes hispanoamericanos.

¡Compártelo ahora!

Entradas recientes