Universidad Nacional Autónoma de México
Dirección General de Servicios de Cómputo Académico
Año 7 Núm. 74, Publicación Mensual, 27 de Noviembre de 2008

ARTÍCULOS

 

Mayo de 2006

Computadoras que hablan

Carlos Suárez Gutiérrez

Intente hacer una llamada telefónica a cualquier centro de servicio de alguna compañía grande y verá que por largos minutos usted se encontrará hablando con una computadora que le indicará las opciones para comunicarse a los distintos departamentos “Para saldos, marque 1; para estados de cuenta, marque 2; para salir, marque 0”. Los sistemas automatizados de atención telefónica suelen sonar robotizados, impersonales y fríos; por lo que los usuarios se quejan de que hablar con un sistema informático con frases pregrabadas ofrece pocas posibilidades de comunicación real.

Por el momento, las investigaciones que se realizan con esta tecnología tienen como finalidad hacer que las personas se sientan cómodas al hablar con sistemas computarizados que les brinden información.

Hoy platiqué con mi compu

El lenguaje hablado, generado por computadora, ha avanzado mucho en los últimos años, es más inteligible, claro y sencillo de entender para los oyentes; pues los diversos grupos de investigación en el área están desarrollando nuevas aplicaciones y sistemas que acercarán el lenguaje hablado generado por computadora a la expresión oral que usamos las personas, incorporando tonos, modulaciones y expresiones que harán más sencilla la comunicación. El objetivo es comprender los componentes del lenguaje oral incluyendo cuestiones como el volumen, la cadencia de las palabras, la velocidad del habla y el énfasis.

Grupos de investigación pertenecientes a IBM, al Massachusetts Institute of Technology (MIT) y a AT&T, por mencionar algunos, trabajan en aplicaciones que permitirán a las computadoras hablar con las personas partiendo del supuesto de que es mucho más sencillo utilizar grabaciones reales del habla humana, que pueden ser modificadas por estos sistemas, para responder en tiempo real, imitando de forma muy cercana la manera como se expresa una persona y generando frases nuevas, acordes al tipo de conversación que se sostiene.

Los principales usuarios de estos sistemas son las organizaciones que requieren sistemas de información que se expresen mediante el habla. En realidad, utilizan tecnologías que incluyen el reconocimiento de la voz, la interpretación del lenguaje hablado, sistemas de bases de datos, generadores de textos y sintetizadores de voz.

La conquista de un viejo sueño

Hacer que las máquinas hablen no es algo nuevo, desde el año 1700 se han hecho intentos por dotarlas de mecanismos que les permitan producir algunos sonidos, utilizando poleas, campanas y timbres, que con imaginación pueden sonar a palabras.

En la década de los 70, con la llegada de las computadoras digitales, se inició la experimentación y el desarrollo de los primeros sistemas que permitieran la traducción de texto en lenguaje hablado (text to speech), pero los resultados eran tan malos que se quedaron en modelos experimentales y nunca fueron comercializados.

Pasaron veinte años para que los equipos de desarrollo intentaran un nuevo camino, que por lo visto ha resultado más prometedor y fructífero: imitaron la forma en que las personas construimos las palabras mediante el uso de fonemas.

Según Wikipedia, los fonemas son unidades teóricas básicas del nivel fónico del lenguaje humano, que tienen una función distintiva: son sonidos del habla que permiten distinguir palabras en una lengua. Así, los sonidos /p/ y /b/ son fonemas del español porque existen palabras como /pata/ y /bata/ que tienen significado distinto y su pronunciación sólo difiere en relación con esos dos sonidos.

Podemos decir que fonema es una unidad fonológica diferenciadora, indivisible y abstracta.

Diferenciadora, porque cada fonema se delimita dentro del sistema por las cualidades que se distinguen de los demás y además, es portador de una intención significativa especial; indivisible, porque no se puede descomponer en unidades menores; y abstracta, por el hecho de que no son sonidos, sino modelos o tipos ideales de sonidos.

Los ingenieros llaman a los sistemas basados en el uso de fonemas “sintetizadores concatenativos” porque unen en secuencia lineal pequeñas piezas de sonido.

Dame mi voz

El proceso del habla concatenada se inicia con la grabación de una voz humana, se busca a una persona que hable sin acentos y de forma clara en un estudio de grabación y se le pide que lea más de diez mil opciones, palabras y frases en un proceso que lleva cerca de dos semanas. La intención de estas grabaciones es tener muchos ejemplos del uso de fonemas en diferentes contextos. Al final se tienen unas 15 horas de lenguaje grabado.

Después se procesan estas grabaciones, primero un programa convierte las palabras en una serie de fonemas con el apoyo de un diccionario de pronunciación, que no es más que una lista de referencia de los fonemas que conforman cada palabra. Una vez que el texto ha sido procesado, el programa analiza la grabación de audio buscando y midiendo tres características: tono, ritmo e intensidad o sea, la prosodia.

El conocimiento de estos elementos en cada fonema grabado ayuda a decidir cuál de los ejemplos será usado para sintetizar una frase. El siguiente paso del proceso consiste en asociar cada fonema grabado con su contraparte en texto. Con el audio y el texto alineados, el sistema analiza cada registro y delimita las fronteras en que inicia y termina cada fonema; este proceso es crucial porque una vez que cada fonema ha sido localizado e identificado, el sistema lo cataloga para usarlo en una base de datos de la cual se formará el texto hablado.

A pesar de que este modelo de trabajo ha dado buenos resultados, todavía falta mucho desarrollo puesto que el habla humana es maravillosamente sutil y compleja, los expertos siguen identificando elementos y características que, en su conjunto, dan forma al lenguaje hablado.

Vamos a platicar, las cosas de los dos

Cuando queremos hacer hablar a una computadora, es necesario realizar algunos pasos previos antes de que las palabras sean sintetizadas y emitidas por las bocinas.

Todo el texto que va a ser sintetizado inicia como una sentencia que es necesario “desmenuzar”, eliminar ambivalencias y establecer el tipo de palabra que se va a leer, recordemos que muchas veces la pronunciación cambia si la palabra es un verbo, un pronombre o un sustantivo.

Una vez con la frase lista, se descompone en sus fonemas y se ejecuta el proceso para elegir los sonidos que más se acercan a la pronunciación humana.

Cada sonido en una secuencia varía en función de los fonemas que lo preceden y lo siguen, un fenómeno conocido como coarticulación.

Una vez que el sintetizador ha ensamblado la frase en una secuencia continua, se “liman” las discontinuidades que resultan de colocar sonidos juntos, es decir, se hace que el tono de la frase sea el mismo, aplicando una serie de procesos para evitar esos brincos entre palabras que son tan característicos en el lenguaje generado por computadora.

Lo que viene

A pesar de los avances en este sentido, todavía falta un buen trecho por recorrer antes de lograr el sueño de todos los equipos que trabajan en el desarrollo de lenguaje sintetizado por computadora: hacer que el habla generada por computadora no sea distinguible del habla humana.

Si bien no en todas las situaciones es recomendable escuchar una calmada voz humana, piense en las señales de advertencia para conductores, los juegos de video y las películas. Actualmente, los equipos de desarrollo trabajan para incorporar estados de ánimo a las frases generadas por computadoras, es decir, que sea fácilmente distinguible el tono cuando se trata de expresiones interrogativas, de disculpa o meramente informativas.

Es probable que en pocos años, cuando llamemos a un centro de atención telefónica, pasemos algún tiempo hablando con un sistema informático que nos proporcionará información clara sin tener que hablar con algún operador. Todavía no sabemos qué tan bueno o malo sea eso, el tema es tan apasionante que tendremos que volver a él en alguna próxima ocasión.

Para mayor información:

http://www.research.ibm.com/tts
http://public.research.att.com/~ttsweb/tts/
http://www.microsoft.com/reader/developers/
downloads/tts.asp
.

Inicio | Contacto |