EsHowto >> Electrónica >> Artilugio

Cómo funciona el reconocimiento de voz

Cómo funciona el reconocimiento de voz Hay varios programas de software que puede comprar para el reconocimiento de voz en el hogar.

Hoy en día, cuando llamamos a la mayoría de las grandes empresas, una persona no suele contestar el teléfono. En cambio, una grabación de voz automatizada responde y le indica que presione los botones para moverse por los menús de opciones. Sin embargo, muchas empresas han ido más allá de exigirle que presione botones. A menudo, solo puede decir ciertas palabras (nuevamente, según las instrucciones de una grabación) para obtener lo que necesita. El sistema que lo hace posible es una especie de programa de reconocimiento de voz -- un sistema telefónico automatizado.

También puede utilizar software de reconocimiento de voz en hogares y empresas. Una gama de productos de software permite a los usuarios dictar a su computadora y convertir sus palabras en texto en un documento de procesamiento de texto o de correo electrónico. Puede acceder a comandos de funciones, como abrir archivos y acceder a menús, con instrucciones de voz. Algunos programas son para entornos comerciales específicos, como la transcripción médica o legal.

Las personas con discapacidades que les impiden escribir a máquina también han adoptado sistemas de reconocimiento de voz. Si un usuario ha perdido el uso de sus manos, o para usuarios con discapacidad visual cuando no es posible o conveniente utilizar un teclado Braille, los sistemas permiten la expresión personal a través del dictado así como el control de muchas tareas informáticas. Algunos programas guardan los datos del habla de los usuarios después de cada sesión, lo que permite que las personas con deterioro progresivo del habla continúen dictando en sus computadoras.

Los programas actuales se dividen en dos categorías:

Vocabulario pequeño/muchos usuarios

Estos sistemas son ideales para la contestación telefónica automatizada. Los usuarios pueden hablar con una gran variedad de acentos y patrones de habla, y el sistema los entenderá la mayor parte del tiempo. Sin embargo, el uso está limitado a una pequeña cantidad de comandos y entradas predeterminados, como opciones de menú básicas o números.

Vocabulario amplio/usuarios limitados

Estos sistemas funcionan mejor en un entorno empresarial en el que un pequeño número de usuarios trabajará con el programa. Si bien estos sistemas funcionan con un buen grado de precisión (85 por ciento o más con un usuario experto) y tienen vocabularios de decenas de miles, debe entrenarlos para que funcionen mejor con una pequeña cantidad de usuarios principales. La tasa de precisión caerá drásticamente con cualquier otro usuario.

Los sistemas de reconocimiento de voz fabricados hace más de 10 años también se enfrentaban a una elección entre discreto y continua habla. Es mucho más fácil que el programa entienda las palabras cuando las pronunciamos por separado, con una pausa diferenciada entre cada una. Sin embargo, la mayoría de los usuarios prefieren hablar a una velocidad de conversación normal. Casi todos los sistemas modernos son capaces de comprender el habla continua.

Voz a datos

Cómo funciona el reconocimiento de voz Un ADC traduce las ondas analógicas de su voz en datos digitales mediante el muestreo del sonido. Cuanto mayores sean las tasas de muestreo y precisión, mayor será la calidad.

Para convertir el habla en texto en pantalla o en un comando de computadora, una computadora debe pasar por varios pasos complejos. Cuando hablas, creas vibraciones en el aire. El convertidor de analógico a digital (ADC) traduce esta onda analógica en datos digitales que la computadora puede entender. Para ello, muestrea , o digitaliza, el sonido tomando medidas precisas de la onda a intervalos frecuentes. El sistema filtra el sonido digitalizado para eliminar el ruido no deseado y, en ocasiones, para separarlo en diferentes bandas de frecuencia (frecuencia es la longitud de onda de las ondas de sonido, percibidas por los humanos como diferencias de tono). También normaliza el sonido o lo ajusta a un nivel de volumen constante. Es posible que también tenga que alinearse temporalmente. Las personas no siempre hablan a la misma velocidad, por lo que el sonido debe ajustarse para que coincida con la velocidad de las muestras de sonido de la plantilla ya almacenadas en la memoria del sistema.

A continuación, la señal se divide en pequeños segmentos de unas pocas centésimas de segundo, o incluso milésimas en el caso de sonidos de consonantes oclusivos -- oclusivas de consonantes producidas al obstruir el flujo de aire en el tracto vocal -- como "p" o "t". Luego, el programa hace coincidir estos segmentos con fonemas conocidos. en el idioma apropiado. Un fonema es el elemento más pequeño de un idioma:una representación de los sonidos que hacemos y juntamos para formar expresiones significativas. Hay aproximadamente 40 fonemas en el idioma inglés (diferentes lingüistas tienen opiniones diferentes sobre el número exacto), mientras que otros idiomas tienen más o menos fonemas.

Cómo funciona el reconocimiento de voz

El siguiente paso parece simple, pero en realidad es el más difícil de lograr y es el enfoque de la mayoría de las investigaciones de reconocimiento de voz. El programa examina los fonemas en el contexto de los otros fonemas que los rodean. Ejecuta el gráfico de fonemas contextuales a través de un modelo estadístico complejo y los compara con una gran biblioteca de palabras, frases y oraciones conocidas. Luego, el programa determina lo que el usuario probablemente estaba diciendo y lo muestra como texto o emite un comando de computadora.

Echaremos un vistazo más de cerca a cómo exactamente hace esto a continuación.

Reconocimiento de voz y modelado estadístico

Cómo funciona el reconocimiento de voz

Los primeros sistemas de reconocimiento de voz intentaron aplicar un conjunto de reglas gramaticales y sintácticas al habla. Si las palabras pronunciadas se ajustan a un cierto conjunto de reglas, el programa podría determinar cuáles eran las palabras. Sin embargo, el lenguaje humano tiene numerosas excepciones a sus propias reglas, incluso cuando se habla de manera constante. Los acentos, los dialectos y los gestos pueden cambiar enormemente la forma en que se pronuncian ciertas palabras o frases. Imagina a alguien de Boston diciendo la palabra "granero". No pronunciaba la "r" en absoluto, y la palabra sale rimando con "John". O considere la oración, "Voy a ver el océano". La mayoría de las personas no enuncian sus palabras con mucho cuidado. El resultado podría ser "Voy a ver el océano". Ejecutan varias de las palabras juntas sin interrupciones notables, como "I'm goin'" y "the ocean". Los sistemas basados ​​en reglas no tuvieron éxito porque no podían manejar estas variaciones. Esto también explica por qué los sistemas anteriores no podían manejar el habla continua:tenías que pronunciar cada palabra por separado, con una breve pausa entre ellas.

Los sistemas de reconocimiento de voz actuales utilizan sistemas de modelado estadístico potentes y complicados . Estos sistemas utilizan funciones matemáticas y de probabilidad para determinar el resultado más probable. Según John Garofolo, gerente del grupo de voz en el Laboratorio de Tecnología de la Información del Instituto Nacional de Estándares y Tecnología, los dos modelos que dominan el campo hoy en día son el modelo oculto de Markov y las redes neuronales. Estos métodos involucran funciones matemáticas complejas, pero esencialmente, toman la información conocida por el sistema para descifrar la información oculta.

El modelo oculto de Markov es el más común, por lo que analizaremos más de cerca ese proceso. En este modelo, cada fonema es como un eslabón en una cadena y la cadena completa es una palabra. Sin embargo, la cadena se bifurca en diferentes direcciones a medida que el programa intenta hacer coincidir el sonido digital con el fonema que es más probable que aparezca a continuación. Durante este proceso, el programa asigna una puntuación de probabilidad a cada fonema, según su diccionario incorporado y la capacitación del usuario.

Este proceso es aún más complicado para frases y oraciones:el sistema tiene que averiguar dónde termina y comienza cada palabra. El ejemplo clásico es la frase "reconocer el habla", que se parece mucho a "destrozar una playa bonita" cuando se dice muy rápido. El programa tiene que analizar los fonemas usando la frase anterior para hacerlo bien. Aquí hay un desglose de las dos frases:

r eh k ao g n ay z       s p iy ch

"reconocer el habla"

r  eh  k     ay     n  ay s     b  iy  ch

"destrozar una bonita playa"

¿Por qué es ésto tan complicado? Si un programa tiene un vocabulario de 60.000 palabras (común en los programas actuales), una secuencia de tres palabras podría ser cualquiera de 216 billones de posibilidades. Obviamente, incluso la computadora más poderosa no puede buscar en todos ellos sin ayuda.

Esa ayuda viene en forma de capacitación del programa. Según John Garofolo:

Estos sistemas estadísticos necesitan muchos datos de entrenamiento ejemplares para alcanzar su rendimiento óptimo, a veces del orden de miles de horas de voz transcrita por humanos y cientos de megabytes de texto. Estos datos de entrenamiento se utilizan para crear modelos acústicos de palabras, listas de palabras y [...] redes de probabilidad de varias palabras. Hay algo de arte en cómo uno selecciona, compila y prepara estos datos de entrenamiento para la "digestión" por parte del sistema y cómo los modelos del sistema están "sintonizados" para una aplicación en particular. Estos detalles pueden marcar la diferencia entre un sistema con un buen rendimiento y un sistema con un rendimiento deficiente, incluso cuando se utiliza el mismo algoritmo básico.

Si bien los desarrolladores de software que configuran el vocabulario inicial del sistema realizan gran parte de esta capacitación, el usuario final también debe dedicar algún tiempo a capacitarlo. En un entorno empresarial, los usuarios principales del programa deben pasar algún tiempo (a veces tan solo 10 minutos) hablando al sistema para entrenarlo en sus patrones de voz particulares. También deben capacitar al sistema para que reconozca términos y siglas particulares de la empresa. Las ediciones especiales de los programas de reconocimiento de voz para consultorios médicos o legales tienen términos que se usan comúnmente en los campos que ya se han capacitado en ellos.

A continuación, veremos algunas debilidades y fallas en los sistemas de reconocimiento de voz.

Reconocimiento de voz:debilidades y fallas

Cómo funciona el reconocimiento de voz Un micrófono con cancelación de ruido de alta calidad puede mejorar la precisión de su sistema de reconocimiento de voz.

Ningún sistema de reconocimiento de voz es 100 por ciento perfecto; Varios factores pueden reducir la precisión. Algunos de estos factores son problemas que continúan mejorando a medida que mejora la tecnología. Otros pueden ser disminuidos, si no completamente corregidos, por el usuario.

Baja relación señal/ruido

El programa necesita "escuchar" claramente las palabras pronunciadas, y cualquier ruido adicional que se introduzca en el sonido interferirá con esto. El ruido puede provenir de varias fuentes, incluido el ruido de fondo fuerte en un entorno de oficina. Los usuarios deben trabajar en una habitación silenciosa con un micrófono de calidad colocado lo más cerca posible de la boca. Las tarjetas de sonido de baja calidad, que proporcionan la entrada para que el micrófono envíe la señal a la computadora, a menudo no tienen suficiente protección contra las señales eléctricas producidas por otros componentes de la computadora. Pueden introducir zumbidos o silbidos en la señal.

Discurso superpuesto

Los sistemas actuales tienen dificultad para separar el habla simultánea de múltiples usuarios. "Si intenta emplear la tecnología de reconocimiento en conversaciones o reuniones en las que las personas se interrumpen con frecuencia o hablan entre sí, es probable que obtenga resultados extremadamente deficientes", dice John Garofolo.

Uso intensivo de la potencia informática

Ejecutar los modelos estadísticos necesarios para el reconocimiento de voz requiere que el procesador de la computadora haga mucho trabajo pesado. Una de las razones de esto es la necesidad de recordar cada etapa de la búsqueda de reconocimiento de palabras en caso de que el sistema necesite retroceder para encontrar la palabra correcta. Las computadoras personales más rápidas que se usan hoy en día aún pueden tener dificultades con comandos o frases complicadas, lo que ralentiza significativamente el tiempo de respuesta. Los vocabularios que necesitan los programas también ocupan una gran cantidad de espacio en el disco duro. Afortunadamente, el almacenamiento en disco y la velocidad del procesador son áreas de rápido avance:las computadoras en uso dentro de 10 años se beneficiarán de un aumento exponencial en ambos factores.

Homónimos

Los homónimos son dos palabras que se escriben de manera diferente y tienen significados diferentes pero suenan igual. "Allí" y "su", "aire" y "heredero", "ser" y "abeja" son todos ejemplos. No hay forma de que un programa de reconocimiento de voz distinga la diferencia entre estas palabras basándose únicamente en el sonido. Sin embargo, la amplia formación de sistemas y modelos estadísticos que tienen en cuenta el contexto de las palabras ha mejorado mucho su rendimiento.

A continuación, veremos el futuro de los programas de reconocimiento de voz.

El futuro del reconocimiento de voz

Los primeros desarrollos en el reconocimiento de voz son anteriores a la invención de la computadora moderna por más de 50 años. Alexander Graham Bell se inspiró para experimentar con la transmisión del habla de su esposa, que era sorda. Inicialmente esperaba crear un dispositivo que transformara las palabras audibles en una imagen visible que una persona sorda pudiera interpretar. Produjo imágenes espectrográficas de sonidos, pero su esposa no pudo descifrarlos. Esa línea de investigación finalmente lo llevó a inventar el teléfono.

Durante varias décadas, los científicos desarrollaron métodos experimentales de reconocimiento de voz computarizado, pero la potencia informática disponible en ese momento los limitaba. Solo en la década de 1990, las computadoras lo suficientemente potentes como para manejar el reconocimiento de voz estuvieron disponibles para el consumidor promedio. La investigación actual podría conducir a tecnologías que actualmente son más familiares en un episodio de "Star Trek". La Agencia de Proyectos de Investigación Avanzada de Defensa (DARPA) tiene tres equipos de investigadores que trabajan en la Explotación del Lenguaje Autónomo Global (GALE), un programa que tomará flujos de información de los noticieros y periódicos extranjeros y los traducirá. Espera crear un software que pueda traducir instantáneamente dos idiomas con al menos un 90 por ciento de precisión. "DARPA también está financiando un esfuerzo de investigación y desarrollo llamado TRANSTAC para permitir que nuestros soldados se comuniquen de manera más efectiva con las poblaciones civiles en países de habla no inglesa", dijo Garofolo, y agregó que la tecnología sin duda se derivará en aplicaciones civiles, incluido un traductor universal.

Sin embargo, un traductor universal aún está lejos en el futuro:es muy difícil construir un sistema que combine la traducción automática con la tecnología de activación por voz. Según un artículo reciente de CNN, el proyecto GALE es "'DARPA difícil' [que significa] difícil incluso para los estándares extremos" de DARPA. ¿Por qué? Un problema es crear un sistema que pueda manejar sin problemas los obstáculos como la jerga, los dialectos, los acentos y el ruido de fondo. Las diferentes estructuras gramaticales utilizadas por las lenguas también pueden plantear un problema. Por ejemplo, el árabe a veces usa palabras sueltas para transmitir ideas que son oraciones completas en inglés.

En algún momento en el futuro, el reconocimiento de voz puede convertirse en comprensión del habla. Los modelos estadísticos que permiten a las computadoras decidir lo que acaba de decir una persona pueden algún día permitirles captar el significado detrás de las palabras. Aunque es un gran salto en términos de potencia computacional y sofisticación del software, algunos investigadores argumentan que el desarrollo del reconocimiento de voz ofrece la línea más directa desde las computadoras actuales hasta la verdadera inteligencia artificial. Podemos hablar con nuestras computadoras hoy. En 25 años, es muy posible que respondan.

Para obtener mucha más información sobre el reconocimiento de voz y temas relacionados, consulte los enlaces a continuación.

Demostración de Vista SR

Los problemas potenciales con el uso del reconocimiento de voz se hicieron públicos recientemente en una demostración de Windows Vista. Si bien el sistema se desempeñó sin problemas al abrir programas y acceder a documentos, cuando se trataba de transcribir texto, no era muy preciso. Los problemas probablemente surgieron del ruido de fondo y el eco presente en el gran auditorio con público donde se llevó a cabo la demostración. Un video del incidente pronto se difundió por Internet, dañando la reputación de Windows Vista y el reconocimiento de voz en general.

Artículos relacionados con HowStuffWorks

Más enlaces excelentes

Fuentes

Mucha más información

Artículos relacionados con HowStuffWorks

Más enlaces excelentes

Fuentes