Marco teorico

13
MARCO TEORICO ¿QUÉ ES RECONOCIMIENTO DE VOZ? Al hablar de reconocimiento de voz, comúnmente se imagina varios campos de aplicación como la inteligencia artificial. El procesado de la señal depende de la aplicación que se desee. Por ejemplo, si se requiere un sistema que reconozca un número limitado de palabras para poder apagar o encender las luces de nuestra casa, está claro que grabando unos cuantos ejemplos que servirán de patrones a identificar con las entradas, bastará para poder satisfacer nuestras necesidades. En otro caso, si en vez de 10 palabras se necesita tratar un vocabulario completo, poder hablar con naturalidad y que el sistema identifique el lenguaje natural. Para ello el nivel de complejidad pasa a otro nivel. Si se requiere un sistema simple de reconocimiento de palabras, necesitaremos almacenar en una memoria dichos patrones y luego se compararán las entradas con éstos dando una salida. En este tipo de Sistemas deben de ser capaces de trabajar de formas distintas: a) Fase de Entrenamiento: En esta fase se obtienen los patrones y valores de referencia correspondientes a cada uno de los usuarios. b) Fase de prueba: Esta es la fase de utilización del sistema, y en la cual a partir de señales de voz el programa deberá tomar una decisión correcta. En cada una de las fases se encuentran metodologías las cuales pueden ser: Toma de muestra Extracción de características Integrar una BD Clasificación En el siguiente diagrama está podrá observar el proceso para adquirir datos de una señal.

Transcript of Marco teorico

MARCO TEORICO

¿QUÉ ES RECONOCIMIENTO DE VOZ?

Al hablar de reconocimiento de voz, comúnmente se imagina varios campos de

aplicación como la inteligencia artificial.

El procesado de la señal depende de la aplicación que se desee. Por ejemplo, si

se requiere un sistema que reconozca un número limitado de palabras para poder

apagar o encender las luces de nuestra casa, está claro que grabando unos

cuantos ejemplos que servirán de patrones a identificar con las entradas, bastará

para poder satisfacer nuestras necesidades.

En otro caso, si en vez de 10 palabras se necesita tratar un vocabulario completo,

poder hablar con naturalidad y que el sistema identifique el lenguaje natural. Para

ello el nivel de complejidad pasa a otro nivel.

Si se requiere un sistema simple de reconocimiento de palabras, necesitaremos

almacenar en una memoria dichos patrones y luego se compararán las entradas

con éstos dando una salida.

En este tipo de Sistemas deben de ser capaces de trabajar de formas distintas:

a) Fase de Entrenamiento: En esta fase se obtienen los patrones y valores de

referencia correspondientes a cada uno de los usuarios.

b) Fase de prueba: Esta es la fase de utilización del sistema, y en la cual a

partir de señales de voz el programa deberá tomar una decisión correcta.

En cada una de las fases se encuentran metodologías las cuales pueden ser:

Toma de muestra

Extracción de características

Integrar una BD

Clasificación

En el siguiente diagrama está podrá observar el proceso para adquirir datos de

una señal.

Ilustración 1 adquisición y procesado de una señal

En primer lugar será tarea del sistema la conversión de la señal acústica en una

serie de características que extraigan de forma eficiente la información presente

en la señal de voz. Esta función será realizada en el módulo de preprocesado

acústico. Una vez obtenidos las características correspondientes a la señal de voz

de entrada y teniendo disponibles los patrones correspondientes, el sistema debe

disponer de un método comparativo.

LENGUAJES DE PROGRAMACIÓN PARA EL RECONOCIMIENTO

DE SEÑALES DE VOZ

Existen tecnologías que permiten el desarrollo y procesamiento de señales de voz

atravesó de una interfaz mediante un software, creando una comunicación entre el

usuario y un dispositivo electrónico, estás se pueden dividir en:

Texto a Diálogo (TTS): Sintonización de sonido que convierte texto en

palabras audible.

Automatic Speech Recognition (ASR): Busca la interpretación de una

palabra o frase por el usuario, compara las pronunciaciones y devuelve un

resultado.

Paquetería y tipo de programación para el procesamiento y reconocimiento de

voz:

VoiceXML

Ilustración 2 Modelo Arquitectural

VoiceXML (the Voice Extensible Markup Language) es un estándar diseñado para

crear diálogos de audio para ejecutar síntesis de voz, audio digitalizado,

reconocimiento de lenguaje hablado, grabación de entradas de voz y telefonía. Su

meta principal es emplear las ventajas del desarrollo Web y la entrega de

contenidos a aplicaciones interactivas de voz.

Un servidor de documentos, como un servidor Web, procesa la solicitud de una

aplicación cliente, El intérprete de VoiceXML, a través del contexto de VoiceXML

intérprete. El servidor manda como respuesta documentos VoiceXML, los cuales

son procesados por el intérprete de VoiceXML. El contexto del intérprete de

VoiceXML puede monitorear las entradas del usuario en paralelo con el intérprete

VOICEXML.

La función principal de VoiceXML es el desarrollo Web y la entrega de contenidos

a aplicaciones con respuesta de voz y para librar a los desarrolladores de tales

aplicaciones de la programación a bajo nivel y el manejo de recursos. Permite la

integración de servicios de voz con servicios de datos usando el paradigma

cliente-servidor el cual es muy familiar a los desarrolladores Web. Un servicio de

voz es visto como una secuencia de diálogos de interacción entre un usuario y una

plataforma de implementación.

El lenguaje describe la interacción humano-computadora provisto por sistemas de

respuesta de voz, los cuales incluyen:

Ilustración 3 SRGS

Aspectos sobre el reconocimiento de voz.

• Salida de síntesis de voz (texto-a-voz).

• Salida de archivos de audio.

• Reconocimiento de entrada hablada.

• Grabación de entrada hablada.

• Control de flujo de diálogo.

• Telefonía como la transferencia de llamadas y la desconexión

Speech Recognition Grammar Specification (SRGS)

Esta especificación define la sintaxis para la representación de las gramáticas.

Una gramática define el conjunto de expresiones que un usuario puede emitir o

ingresar al interactuar con aplicaciones de voz.

Semantic Interpretation Language

Describe la sintaxis y la semántica para etiquetas de interpretación durante el

proceso de reconocimiento (DTMF o Speech Recognition). Fue diseñado para

usarse con gramáticas SRGS.

Las notaciones son expresadas usando un subconjunto de ECMAScript y puede

definirse en dos formatos: Augmented BNF (ABNF) y XML. El resultado puede ser

un objeto ECMAScript o XML Speech Syntesis Markup Language. Describe la

sintaxis XML usada para ayudar en la reproducción de sonido sintetizado (TTS).

El creador del sonido sintetizado puede controlar las características de voz y

parámetros como el nombre, la edad, el género, el volumen, la velocidad, el

énfasis y la escala.

Ilustración 4 CCXML

Call Control XML (CCXML)

Describe la sintaxis XML para controlar las llamadas telefónicas para VoiceXML.

Éste último y CCXML son mutuamente dependientes. Es el complemento para

VoiceXML, porque provee mecanismos avanzados como:

• Conferencia

• Habilidad para recibir eventos y mensajes externos.

• Control y administración sofisticada de múltiples llamadas.

Speech Applicacion Language Tags (SALT)

El standard SALT está siendo diseñado para extender lenguajes de hipertexto

como HTML, XHTML y XML. El acceso multimodal permitirá a los usuarios a

interactuar con una aplicación en una amplia variedad de formas: permitiéndole

introducir datos usando la voz, un teclado, un ratón, y producir datos como voz

sintetizada, audio, texto, video y gráficos. Cada uno de estos modos podrá ser

usado independientemente o concurrentemente. Por ejemplo, un usuario puede

dar un click sobre la información de un vuelo en un icono en un dispositivo y dirá

“Muéstrame los vuelos desde San Francisco a Boston después de las 7 de la

noche en sábado” y el navegador desplegará una página web con los vuelos

correspondientes. SALT es un conjunto más pequeño de elementos XML que

mejoran los lenguajes markup existentes con una interfaz de voz. SALT puede

usarse efectivamente con las características de HTML. SALT no define un nuevo

modelo de programación; reúsa el modelo de ejecución existente de Web para

que el mismo código de aplicación pueda ser compartido a través de ciertas

modalidades. Y como SALT no altera el comportamiento de los lenguajes markup

con los cuales es usado, SALT tiene garantía del futuro, podrá ser usado con

cualquier estándar futuro XML.

Los principales elementos de SALT son:

Etiqueta <prompt> para configurar al sintetizador de voz y ejecutar los

mensajes de salida.

Etiqueta <reco> para configurar el reconocedor de voz a que ejecute

reconocimiento y manejo de eventos de reconocimiento.

Etiqueta <grammar> para especificar entradas de recursos gramaticales.

Etiqueta <bind> para procesar resultados de reconocimiento en la página.

Estos elementos son activados ya sea por declaración o por programación bajo un

script que corre en el lado del cliente. SALT también provee servicios telefónicos

para navegadores de telefonía que ejecutan aplicaciones de solo voz.

CSLU Toolkit

Es un sistema desarrollado por Center for Spoken Language Understanding,

compuesto por un conjunto de herramientas y tecnologías como el reconocimiento

y la síntesis de voz muy útiles para la investigación y la creación de aplicaciones

de la ciencia del habla y del lenguaje. Incluye interfaces, dispositivos de audio, un

grupo de librerías para el reconocimiento de voz, un generador rápido de

prototipos (CSLUrp) y un shell de programación (CSLUsh).

Generador de Prototipos – RAD (Rapid Application Developer)

Es una aplicación de CSLU Toolkit en cuyo ambiente gráfico se puede desarrollar

y probar un sistema de diálogo de manera rápida y sencilla, bajo un ambiente

gráfico amigable. Un prototipo se crea y se diseña primero utilizando los objetos

con diálogo de una barra situado al lado izquierdo del área de trabajo, pudiendo

arrastrarlos a dicha área para crear la aplicación, unidos por flechas que

mantienen la secuencia de ejecución, habiéndose definido previamente en cada

estado el vocabulario y su gramática que el reconocedor de voz aceptará para la

ejecución de determinadas tareas.

Posteriormente, se compila la aplicación usando los comandos del menú o de

acceso rápido para ver su ejecución y los correspondientes resultados. Puede

observarse una representación de un muñeco animado que habla articulando las

palabras con el movimiento de sus labios y con su expresión facial

El ambiente fue desarrollado por el Oregon Graduate Institute of Science and

Technology (OGI) y posee las herramientas que se requieren para el desarrollo de

un prototipo, pues cuenta con un reconocedor de voz y un sintetizador que hacen

posible una interfaz para voz.

Ambiente de programación CSLUsh

Se trata de un ambiente de programación desarrollado en los lenguajes C y Tcl

que posee una colección de librerías de software, algoritmos y un conjunto de

API’s (Advanced Programming Interfaces) necesarios para la programación en el

Toolkit, para el desarrollo y entrenamiento de los reconocedores. Gracias a este

ambiente de programación, es posible realizar funciones complejas para el manejo

de voz, lenguaje, transferencia y almacenamiento de datos, así como las

aplicaciones cliente/servidor.

Reconocedor de Voz

Aspectos sobre el reconocimiento de vozToolkit cuenta con un reconocedor de voz

integrado para el reconocimiento del lenguaje español mexicano para adultos,

desarrollado por el grupo de investigación Tlatoa de la Universidad de las

Américas, Puebla. El reconocedor de voz por defecto es aquel construido para el

idioma inglés americano.

Reconocimiento de voz con LabVIEW

La plataforma de LabVIEW, permite programar una gran variedad de instrumentos

virtuales (VI), los cuales permiten el poder analizar, probar, diseñar y simular el

comportamiento QUE tienen o puede tener una maquina programada. El sonido y

las vibraciones son variables que son posibles de medir con la plataforma de

LabVIEW, para esto es necesario tener la paquetería de NI Sound and Vibration

Toolkit.

Ilustración 5 Sound and Vibration Toolkit

La paquetería anteriormente mencionada proporciona una gran variedad de Vis

para medir señales de sonido y poder analizar sus propiedades, todo dependerá

de lo que se desea medir o analizar. Con este se puede procesar señales de filtro

de audio, espectro de potencia, medidas de audio, barrido sinusoidal, entre otros.

Otra paquetería indispensable es LabView Advanced Signal Processing Toolkit

con la cual es posible calcular las frecuencias, Analizar y extraer información

esencial a partir de las señales obtenidas en el dominio del tiempo, poder eliminar

ruidos, entre otras aplicaciones.

Con ayuda de estas paqueterías es posible analizar las diferentes señales de

sonido producidos por la voz e identificar las diferencias que hay al decir una

palabra con otra y con esto determinar qué es lo que se dice y lograr así un

sistema de reconocimiento de voz.

APLICACIONES

Lenguaje natural

El procesamiento de lenguaje natural no es lo mismo que el procesamiento de

lenguajes de programación, ya que la sintaxis de un lenguaje natural es mucho

más compleja además de otros factores como ambigüedades semánticas y

pragmáticas.

Los asistentes virtuales de primera generación funcionan mediante unos patrones

predefinidos de reconocimiento que permiten el reconocimiento de frases. Se crea

un sistema carente de contexto en la conversación en el que se analizan conjuntos

de aproximadamente 100.000 expresiones regulares y para cada subconjunto de

estas expresiones se mostrará un conjunto de respuestas predefinidas.

Un ejemplo de asistente de primera generación: Si el asistente virtual presta

servicio en una compañía ferroviaria, si la frase contiene la palabra horario y se

citan nombres de estaciones, el asistente llegará a la conclusión que se le

pregunta por el horario de trenes entre las estaciones citadas.

Hay otros asistentes más avanzados que realizan análisis semánticos y

pragmáticos que permiten desambiguar frases mediante:

Homonimias.

Análisis contextual mediante árboles de diálogo.

Asistente virtual

Un asistente virtual es un personaje conversacional, generado como programa

informático capaz de reconocer, al menos de forma básica, un lenguaje natural

que simula una conversación para dar información y ofrecer un servicio mediante

la voz o texto para los usuarios a través de Internet, un quiosco o una interfaz

móvil. Un asistente virtual incorpora comprensión de lenguaje natural (PLN),

control de diálogo, conocimiento de dominio y un aspecto visual, que en los más

avanzados cambian o pueden simular estados de ánimo de acuerdo al contenido

del diálogo. Los métodos de interacción son de texto a texto, texto a voz el habla

de texto y de voz a voz.

El asistente virtual está formado por dos componentes independientes, pero

estrechamente integrados, que rara vez se pueden separar: la interfaz de usuario

(IU) (aspecto), y la base de conocimientos en el interior (inteligencia). La

apariencia visual (IU) de los asistentes virtuales pasa por una foto hasta una

imagen 3D con emociones. Pero esa interfaz de usuario requiere de un motor de

diálogo inteligente además de una base de conocimientos bien estructurada y

amplia para convertirse en una herramienta eficaz de autoservicio que aumente la

productividad. Dependiendo de la combinación de la interfaz de usuario y la base

de conocimientos subyacentes, el asistente virtual se encontrará en alguna de las

diferentes generaciones con los que se pueden catalogar a los asistentes

virtuales.

Video juegos

La interacción con los videos juegos ser más atractiva gracias al reconocimiento

de voz ya que con ello se podrá dejar de controlar con un joystick y se podrá

controlar lo videojuegos con la voz y así hacer de estos más interactivos. Crespo

P. (2010).

Educación especial

Con el reconocimiento de voz se facilitara la comunicación de personas con

discapacidad motora, visual y auditiva, con el entorno mediante el uso del

ordenador creando aplicaciones con las que se el usuario pueda interactuar con el

ordenador mediante la voz. Observatorio Tecnológico. (2013).

Traductor

El Traductor permitirá escuchar la voz de una persona y después de ello

reconocer la palabra y/o palabras para posteriormente usar un sintetizador de voz

para obtener la palabra ya traducida mediante sonido. Centro de Asistencia

Tecnológica. (2011).

Escritura por voz.

Con esta aplicación se convertirá palabras en texto y ayudar a realizar una

variedad de tareas, usando la voz. Centro de Asistencia Tecnológica. (2011).

Procesamiento del Lenguaje Natural (PLN)

Este segundo módulo, denominado en inglés Natural Language Processing (o con

sus siglas NLP) recibe la frase captada por el módulo RV y trata de “comprender la

frase” y con ello trata de dar una respuesta coherente. José María Gómez Hidalgo.

(2010).

Buscadores basados en reconocimiento de voz

Lo que hacen es generar una trascripción del audio aplicando el reconocedor de

voz, para luego indexarlo y aplicar la tecnología de búsqueda tradicional de

Google u otros. Centro de Asistencia Tecnológica. (2011).

Seguridad

Algunas empresas han adoptado una tecnología bastante efectiva para poder

evitar los problemas de reconocimiento de personas, concretamente empleados,

que está revolucionando la forma en que se controla el acceso a diversos lugares

de un recinto comercial. José Luis Pérez. (2009).

Domótica

Con el reconocimiento de voz se podrá controlar las funciones con las que cuente

esta casa para comodidad del usuario además también se puede implementar

como un sistema de seguridad donde solo podrá dar órdenes un residente o

usuario de la casa. Rosas Israel. (2014).

REFERENCIAS

Crespo P.. (2010). Tecnología de reconocimiento de voz y su aplicabilidad en

los video juegos. noviembre 11, 2014, de universidad complutense de Madrid

Sitio web: http://eprints.ucm.es/11295/1/SistemasInform%C3%A1ticos.pdf

Observatorio Tecnológico. (2013). Reconocimiento y Síntesis de voz.

noviembre 11, 2014, de Instituto Nacional de Tecnologías Educativas y

Formación del Profesorado Sitio web:

http://recursostic.educacion.es/observatorio/web/es/software/software-

general/689-reconocimiento-y-sintesis-de-voz

Centro de Asistencia Tecnológica. (2011). Programas de Asistencia

Tecnológica. noviembre 11, 2014, de Universidad de puerto Rico Sitio web:

http://w/2ww.uprm.edu/library/servicios/cat.html

José María Gómez Hidalgo. (2010). Procesamiento del Lenguaje Natural.

noviembre 11, 2014, de Universidad europea de Madrid Sitio web:

http://www.esi.uem.es/~jmgomez/pln/

Jose luis perez. (2009). Reconocimiento de voz: tecnología al servicio de la

seguridad. noviembre 11, 2014, de vida digital Sitio web:

http://www.vidadigitalradio.com/reconocimiento-de-voz/

Rosas Israel. (2014). Las casas inteligentes controladas por voz. noviembre

11, 2014, de fayerwayer Sitio web: http://www.fayerwayer.com/2014/05/ubi-un-

control-por-voz-para-la-casa-domotica/

Computer informacion. Cómo medir señales de sonido mediante LabVIEW. 11

de noviembre del 2014, recuperado de:

http://ordenador.wingwit.com/software/engineering-software/128639.html

National Instruments. (2009). Sound and Vibration Analysis Software. 11 de

noviembre del 2014, Recuperado de:

http://sine.ni.com/nips/cds/view/p/lang/es/nid/209056

National Instruments. (2014). LabVIEW 2014 Advanced Signal Processing

Toolkit Help. 11 de noviembre del 2014, Recuperado de:

http://digital.ni.com/manuals.nsf/websearch/770EA3996CA1827A86257CEE00

1392D8