ROBOT RECONOCEDOR DE VOZ

Presentacion Power Point


1- Reconocimiento de voz
2 -Reconocimiento del locutor 3- Reconocimiento del Lenguaje Natural 4- Procesamiento del Lenguaje Natural

- Algunos Robots interesantes -

Kismet
Aibo

 

Creo que antes de ahondar sobre los robots reconocedores de voz hay algunas dudas que despejar

¿En qué consiste el Reconocimiento de Voz?

El reconocimiento de voz es reconocer palabras habladas, no significa el entender el lenguaje, un reconocedor de voz no tiene idea de que significa cada palabra. Estos sistemas funcionan comparando la voz con un patrón almacenado en memoria.

El reconocimiento de voz no se ha comercializado a gran escala, normalmente se utilizan en personas con discapacidades físicas, que no pueden usar la vista o las manos.

Existen algunos factores importantes en el reconocimiento de voz.

1) Usuario independiente o dependiente: La mayoría de los sistemas de reconocimiento deben entrenarse para cada usuario, especialmente cuando se desea reconocer un vocabulario muy extenso.

2) Tamaño del vocabulario: El costo de reconocer decenas aumenta si se desea reconocer miles de palabras, a pesar de hacer el sistema mas útil, igualmente se debe hacer mas entrenamiento con el sistema, aunque ya algunos sistemas tienen un entrenamiento independiente del tamaño del vocabulario.

3) Palabras aisladas o continuas: Un problema en el reconocimiento es saber cuando una palabra comienza o termina. Para resolver esto, el usuario debe detenerse entre cada palabra, esto hace que no sea natural, por lo tanto requiere un entrenamiento de sus usuarios.


¿En qué consiste el Reconocimiento del Locutor?

Esta idea es la de reconocer quien da el mensaje, existen dos puntos específicos

1) Probar contra un patrón y verificar que el que habla es X

2) Probar contra varios patrones (incluyendo “No existe”) e identificar a la persona que habla.

La relevancia de estas aplicaciones es su uso en seguridad, para claves por voz, para saber quien esta hablando en determinado momento y cuanto tiempo estuvo hablando. Estas técnicas no requieren el reconocimiento de las palabras.

¿En qué consiste el Reconocimiento del Lenguaje Natural?

El reconocimiento del lenguaje natural actúa por frases y patrones mas que por cada palabra. Que tan natural son los sistemas de lenguaje natural?, en un estudio de los sistemas de bases de datos que responden las solicitudes por lenguaje natural, solo el 18% de las veces la respuesta fue la correcta a lo solicitado, lo peor esta en que el 16% de los problemas parecían haber sido respondidos correctamente y no era así.

Por todo esto, se debe conocer las capacidades y limitaciones de los sistemas, igualmente se debe proveer de entrenamiento.

HOME


PROCESAMIENTO DEL LENGUAJE NATURAL

El procesamiento del lenguaje natural suele dividirse en las siguientes fases de análisis


· Reconocimiento de voz. Consiste en el análisis de la señal de voz continua para transformarla en una secuencia de palabras textuales que forman la frase.
· Análisis sintáctico. Consiste en el análisis de la secuencia de palabras y produce una representación de su estructura (en forma de árbol, red, etc.).
· Análisis semántico. A partir de la estructura generada por el proceso sintáctico genera otra estructura o forma lógica asociada que representa el significado de la frase. Este análisis puede realizarse simultáneamente al análisis sintáctico.
· Análisis pragmático e integración del discurso. Utiliza la forma lógica o estructura semántica de la fase anterior para obtener la interpretación final de la frase, en función del estado actual del contexto.

En el análisis sintáctico se ha experimentado de dos formas:


· Redes de transición aumentadas (también usadas por [Brown 92] en su sistema SAM). Las ventajas que presentan estas redes es su eficiencia de computación. El algoritmo de análisis consiste en el recorrido de la red (un grafo dirigido acíclico) y en la realización simultánea de las correspondientes acciones semánticas. Entre estas acciones semánticas se encuentran las búsquedas en la base de datos geométrica del entorno, comprobaciones de concordancia entre acciones, objetos y referencias geométricas y, las acciones más importantes, las traducciones al lenguaje intermedio (que se define a continuación).

· Gramáticas de unificación siguiendo el formalismo PATR-II. Las gramáticas formales presentan una desventaja importante frente a las redes de transición: los algoritmos de análisis son más complejos computacionalmente, lo que las hace menos convenientes a priori para sistemas teleoperados en tiempo real . Sin embargo, la principal ventaja de las gramáticas es que tienen mayor potencia expresiva que las redes, con lo que se consigue un interfaz más flexible y natural.

Para la representación del significado de los comandos se utiliza un lenguaje intermedio entre el lenguaje directamente ejecutable por el robot y el lenguaje natural del operador. Este lenguaje intermedio no presenta la complejidad del lenguaje natural ni la especifidad del lenguaje del robot.

Para el diseño del lenguaje intermedio se han seleccionado las instrucciones de tal forma que el análisis del lenguaje sea eficiente, y que no se encuentre demasiado distante del lenguaje a nivel del robot para que la posterior traducción al lenguaje ejecutable no sea excesivamente compleja. Se han dividido las instrucciones del lenguaje intermedio en tres categorías:

(1) instrucciones de movimiento, Las instrucciones de movimiento incluye todas las instrucciones que implican un movimiento del brazo: moverse en una dirección, a una posición, a un plano, abrir y cerrar la pinza, instrucciones sobre la velocidad de movimiento, etc

(2) instrucciones de acceso a la base de datos y de percepción, Las instrucciones de consulta a la base de datos se utilizan para resolver referencias geométricas expresadas en el lenguaje natural. Algunas de estas instrucciones son: comprobación de pinza ocupada, identificación del tipo de los objetos, comprobación de atributos de objetos, comprobación de relaciones topológicas entre objetos, etc.

(3) estructuras de control.

Un ejemplo de programa en lenguaje intermedio para comandos como del estilo “Toma la pieza y ponla encima de la mesa”, es el siguiente


listaPiezas = Tipo(pieza)

idPieza = Unitario(listaPiezas)

TomarObjeto(identificador)

listaMesas = Tipo(mesa)

idMesa = Unitario(listaMesas)

DejarObjeto(idMesa, orientacion)

Después de los análisis sintáctico y semántico es necesaria una fase adicional de análisis pragmático e integración del discurso, que consiste básicamente en refinar los comandos obtenidos en función del contexto, del estado actual del entorno y posiblemente de comandos ejecutados con anterioridad.

HOME