La comunicación oral con el PC se acerca

En los últimos meses han aparecido nuevos programas de conversión de voz que han marcado la evolución del mercado sin aportar avances en su rendimiento. Esto se debe a la complejidad que rodea la comprensión del habla humana por parte de las máquinas.

Publicado el 14 Sep 2001

La paradoja que tantas veces surge en el campo del software domina actualmente el sector del reconocimiento de voz las versiones se suceden pero las novedades incorporadas en ellas apenas pasan de ser leves retoques. De nuevo se impone una filosofía comercial que, a falta de avances sustanciales, recurre a cambios de presentación y guarismo con tal de mantener el interés de los consumidores. Sin embargo, la presente comparativa cobra sentido no sólo por esa constante evolución del mercado, sino sobre todo por la importancia de los productos que están apareciendo en él. En efecto, se incluyen en ella los últimos lanzamientos de IBM y Dragon Systems ViaVoice 8 y NaturallySpeaking 5, respectivamente, ambos en sus variantes estándar y profesional, así como FreeSpeech 2000, un programa de Philips, que a pesar de tener un motor más modesto que aquéllos permanece en su versión original.

En general, puede hablarse de una tendencia a desarrollar soluciones acordes con las necesidades de las empresas, que en su afán por humanizar los nuevos canales de comunicación han devuelto al mundo analógico la importancia que se merece. De este empeño, han surgido tecnologías de síntesis de voz, reconocimiento y respuesta en aplicaciones de telefonía y centralitas, elaboración de vocabularios específicos para dictado, soluciones embebidas de voz para todo tipo de aparatos electrónicos (teléfonos móviles, PDA, computadoras de navegación de automóviles…). La influencia de Internet y el acceso a través de cualquier dispositivo -por ejemplo, mediante terminales WAP- se sitúa entre los principales factores de desarrollo.

Siguiendo esa pauta hay que advertir que la especialización es la nota dominante.

En el plano tecnológico, puede hablarse de tres tipos de soluciones. La primera, denominada TTS (siglas en inglés para la expresión «de texto a viva voz»), desarrolla directamente la síntesis de la voz a partir de un origen digital que suele ser un texto escrito. La segunda, en la que se centra este artículo, es la tecnología de reconocimiento de voz, que trata de hacer el habla humana comprensible para las máquinas. De esta tecnología deriva el reconocimiento automático (ASR, Automatic Speech Recognition), utilizado en entornos como las centralitas o los portales de voz, donde el aparato debe adaptarse al perfil de miles de usuarios. En un nivel superior se encuentra Voice XML, un estándar para todos los servicios de voz.

Ya concretamente en el área del reconocimiento, la entrada de datos en el ordenador de viva voz requiere básicamente dos elementos. El primero, de carácter lógico, es una serie de algoritmos y cálculos estadísticos que tienen por objeto transformar en lenguaje digital los datos analógicos que representan las características de la voz humana. El segundo se refiere al hardware, que ha de pertenecer a una gama alta tanto de capacidad de proceso (procesador) como de almacenamiento (memoria), de forma que pueda soportar los cálculos matemáticos descritos.
Más allá de los procedimientos tecnológicos empleados, hay que indicar que a la hora de comprender el habla de una persona el ordenador se enfrenta a los mismos problemas que el oído humano, sólo que éste posee ciertas capacidades de filtración de las que la máquina carece.

El primer escollo surge al tratar de diferenciar la voz del ruido y para ello los fabricantes han implementado mecanismos que van desde la simple grabación y escucha del ruido ambiental -en las aplicaciones de IBM- hasta el análisis general de las propiedades que aproximadamente contienen los ruidos y la voz -en las aplicaciones de L por un lado, una serie de cálculos realizados por el PC en función de los posibles contextos y, por otro, un entrenamiento encubierto, sustentado en bases de datos estadísticas que capacitan al motor para reconocer distintos usos lingüísticos de las diferentes hablas de un mismo idioma.

En ambos casos, el análisis del contexto juega un papel determinante para comprender el significado preciso de lo que el usuario está diciendo, si bien es una tarea que entraña gran dificultad para el aparato. Esto hace que sean tan importantes en estas soluciones los procedimientos y algoritmos que capacitan a aquél para simular dicho proceso mediante el análisis de textos previamente escritos, actividad que además permite incrementar el vocabulario. Queda aún por resolver el problema de la interpretación del habla descuidada en la que se omiten sílabas, palabras e incluso se balbucea.

Para introducir información en el PC mediante el habla, es fundamental contar con un micrófono que deberá tener la calidad como para que la conversión analógico-digital se realice con resultados mínimamente satisfactorios. Por ello, hoy día todos los fabricantes de software de reconocimiento de voz acompañan sus productos de unos auriculares con micrófono de calidad que además se sirven de asistentes de audio para optimizar la entrada del sonido.

En segundo lugar, se necesita una tarjeta de sonido de 16 bits o superior, con el fin de que capte adecuadamente características específicas y diferenciales de la voz como son el tono y el timbre. Estas características vienen delimitadas en el plano físico por la frecuencia de muestreo, que representa la cantidad de veces por segundo que el ordenador toma una muestra de alguno de esos valores. Medida en Hz (Herzios) o KHz, la frecuencia mínima para la voz son 8 KHz, es decir, 8000 muestras de voz en un segundo, si bien para obtener la calidad de voz suficiente para el muestreo es necesaria una frecuencia de 16 KHz o superior.

El tercer elemento que entra en juego son los filtros destinados a eliminar el ruido, que pueden ser bien de tipo hardware, incluidos en el propio micrófono o como adaptadores, bien de tipo software, usando complicados algoritmos y funciones.
El procesamiento de la voz propiamente dicho tiene lugar en el motor de reconocimiento. Tras analizar las cualidades acústicas del discurso mediante variados sistemas-LPC, (linear Predictive Coding), MFCC (Mel Frequency Cepstral Coefficients), etc.-, el motor procede a la identificación de fonemas, grupos de fonemas y palabras. Para ello existe un amplio conjunto de tecnologías -DTW (Dynamic Time Warping), HMM (hidden Markov modelling), NN (Neural Networks), etc.-, de las cuales las más extendidas y eficaces son las basadas en HMM. A su vez, estos sistemas cuentan con la ayuda suplementaria de las interfaces de programación (API), que recogen los datos y efectúan tratamientos con ellos sin necesidad de entrar a bajo nivel. La más importante es SRAPI (Speech recognition API) impulsada por una organización que contiene, entre otras, a las empresas que aquí aparecen.

Pero para lograr reproducir el habla natural, el motor precisa aún recursos que le permitan reconocer los fonemas dentro de la cadena hablada, donde se ven modificados por la articulación de los fonemas vecinos. Los procedimientos empleados son los vocabularios o diccionarios, el entrenamiento y el análisis del contexto anteriormente citado.

En este punto, además de insistir en la importancia del entrenamiento, hay que indicar que el volumen de vocabulario dependerá del uso que se le quiera dar al programa. Así, si el objetivo es poder hacer dictados en cualquier idioma, el caudal léxico deberá ocupar varios Megabytes de memoria y hasta cientos de miles de palabras, mientras que si se trata de usar una serie de comandos definidos para el control de un léxico específico, éste podrá ser sustancialmente más pequeño. Por otra parte, es importante diferenciar el vocabulario activo del vocabulario de respaldo. El primero es el que usa normalmente la aplicación y se almacena en la memoria RAM, ocupando varios megabytes. En cambio, los vocabularios de respaldo residen en forma de archivo en el disco duro y contienen muchas más palabras, y aunque están disponibles por si la aplicación o el usuario los requiere, ralentizan notablemente el funcionamiento del sistema.

Sin embargo, pese a todos estos avances, la comunicación entre los humanos y sus máquinas por medio de la voz dista aún de ser plenamente satisfactoria. Queda aún un largo camino por recorrer en el reconocimiento de aspectos como la entonación, la expresión de los signos de puntuación y el uso del contexto.

¿Qué te ha parecido este artículo?

Tu opinión es importante para nosotros.

Artículos relacionados