SlideShare una empresa de Scribd logo
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

Más contenido relacionado

La actualidad más candente

Registros del cpu
Registros del cpuRegistros del cpu
Registros del cpu
Isaí Beto Matz Mijes
 
REGISTRO DE BANDERAS
REGISTRO DE BANDERASREGISTRO DE BANDERAS
REGISTRO DE BANDERAS
Fabian Rojas
 
Orden superior
Orden superiorOrden superior
Orden superior
UNEFA
 
Lenguajes de simulación
Lenguajes de simulaciónLenguajes de simulación
Lenguajes de simulación
Cristian Miguel Galan Torres
 
Autómata Maquina Expendedora - UNIBE
Autómata Maquina Expendedora - UNIBEAutómata Maquina Expendedora - UNIBE
Autómata Maquina Expendedora - UNIBE
Jesús Céspedes Reyes
 
Simulación - Unidad 3 generacion de variables aleatorias
Simulación - Unidad 3 generacion de variables aleatoriasSimulación - Unidad 3 generacion de variables aleatorias
Simulación - Unidad 3 generacion de variables aleatorias
José Antonio Sandoval Acosta
 
Diferencias entre circuitos combinacionales y secuenciales
Diferencias entre circuitos combinacionales y secuencialesDiferencias entre circuitos combinacionales y secuenciales
Diferencias entre circuitos combinacionales y secuenciales
Wilfred Garcia Diomeda
 
Fundamentos de los Microcontroladores
Fundamentos de los MicrocontroladoresFundamentos de los Microcontroladores
Fundamentos de los Microcontroladores
Jonathan Ruiz de Garibay
 
Arboles de derivacion
Arboles de derivacionArboles de derivacion
Arboles de derivacion
Luis Couoh
 
Tendencias de Simulación
Tendencias de SimulaciónTendencias de Simulación
Tendencias de Simulación
paolapinasoto12
 
TABLA DE SÍMBOLOS
TABLA DE SÍMBOLOSTABLA DE SÍMBOLOS
TABLA DE SÍMBOLOS
Infomania pro
 
Jerarquía de Memoria
Jerarquía de Memoria Jerarquía de Memoria
Jerarquía de Memoria
yarbin
 
Funciones singulares
Funciones singularesFunciones singulares
Funciones singulares
Kenyo Turco
 
Lógica Difusa
Lógica DifusaLógica Difusa
Lógica Difusa
Jorge Cortés Alvarez
 
Resumen microcontroladores
Resumen microcontroladoresResumen microcontroladores
Resumen microcontroladores
Xavier Solis
 
Códigos de parpadeo de LEDS en HP
Códigos de parpadeo de LEDS en HPCódigos de parpadeo de LEDS en HP
Códigos de parpadeo de LEDS en HP
Fls Por Siempre
 
Ejemplo de semáforo
Ejemplo de  semáforoEjemplo de  semáforo
Ejemplo de semáforo
lauracruzpal
 
Presentacion Python
Presentacion  Python Presentacion  Python
Presentacion Python
Fco Javier Lucena
 
10 registros
10 registros10 registros
Familias lógicas cuadro comparativo
Familias lógicas cuadro comparativoFamilias lógicas cuadro comparativo
Familias lógicas cuadro comparativo
Luis Gonzalez
 

La actualidad más candente (20)

Registros del cpu
Registros del cpuRegistros del cpu
Registros del cpu
 
REGISTRO DE BANDERAS
REGISTRO DE BANDERASREGISTRO DE BANDERAS
REGISTRO DE BANDERAS
 
Orden superior
Orden superiorOrden superior
Orden superior
 
Lenguajes de simulación
Lenguajes de simulaciónLenguajes de simulación
Lenguajes de simulación
 
Autómata Maquina Expendedora - UNIBE
Autómata Maquina Expendedora - UNIBEAutómata Maquina Expendedora - UNIBE
Autómata Maquina Expendedora - UNIBE
 
Simulación - Unidad 3 generacion de variables aleatorias
Simulación - Unidad 3 generacion de variables aleatoriasSimulación - Unidad 3 generacion de variables aleatorias
Simulación - Unidad 3 generacion de variables aleatorias
 
Diferencias entre circuitos combinacionales y secuenciales
Diferencias entre circuitos combinacionales y secuencialesDiferencias entre circuitos combinacionales y secuenciales
Diferencias entre circuitos combinacionales y secuenciales
 
Fundamentos de los Microcontroladores
Fundamentos de los MicrocontroladoresFundamentos de los Microcontroladores
Fundamentos de los Microcontroladores
 
Arboles de derivacion
Arboles de derivacionArboles de derivacion
Arboles de derivacion
 
Tendencias de Simulación
Tendencias de SimulaciónTendencias de Simulación
Tendencias de Simulación
 
TABLA DE SÍMBOLOS
TABLA DE SÍMBOLOSTABLA DE SÍMBOLOS
TABLA DE SÍMBOLOS
 
Jerarquía de Memoria
Jerarquía de Memoria Jerarquía de Memoria
Jerarquía de Memoria
 
Funciones singulares
Funciones singularesFunciones singulares
Funciones singulares
 
Lógica Difusa
Lógica DifusaLógica Difusa
Lógica Difusa
 
Resumen microcontroladores
Resumen microcontroladoresResumen microcontroladores
Resumen microcontroladores
 
Códigos de parpadeo de LEDS en HP
Códigos de parpadeo de LEDS en HPCódigos de parpadeo de LEDS en HP
Códigos de parpadeo de LEDS en HP
 
Ejemplo de semáforo
Ejemplo de  semáforoEjemplo de  semáforo
Ejemplo de semáforo
 
Presentacion Python
Presentacion  Python Presentacion  Python
Presentacion Python
 
10 registros
10 registros10 registros
10 registros
 
Familias lógicas cuadro comparativo
Familias lógicas cuadro comparativoFamilias lógicas cuadro comparativo
Familias lógicas cuadro comparativo
 

Similar a Marco teorico

Elastix slide book-uect
Elastix  slide book-uectElastix  slide book-uect
Elastix slide book-uect
enriquetcampos.org
 
Elastix slide book-uect(1)
Elastix  slide book-uect(1)Elastix  slide book-uect(1)
Elastix slide book-uect(1)
enriquetcampos.org
 
Lenguajes de programación
Lenguajes de programaciónLenguajes de programación
Lenguajes de programación
KenixGalvezGG
 
Lenguajes de bases de datos
Lenguajes  de bases de datos Lenguajes  de bases de datos
Lenguajes de bases de datos
Anita Ortiz
 
Lenguajes de programacion
Lenguajes de programacion Lenguajes de programacion
Lenguajes de programacion
juanjokobrax
 
Programación
 Programación Programación
Programación
rehoscript
 
Presentación1
Presentación1Presentación1
Presentación1
Karina Funez
 
Software pao
Software paoSoftware pao
Software pao
Abril Paola Alvarado
 
Maryan toledo
Maryan toledoMaryan toledo
Maryan toledo
Maryan Toledo
 
Presentación1
Presentación1Presentación1
Presentación1
Karina Funez
 
Lenguajes de programación
Lenguajes de programaciónLenguajes de programación
Lenguajes de programación
Eliezer Cordova
 
Procesadores de Lenguajes
Procesadores de LenguajesProcesadores de Lenguajes
Procesadores de Lenguajes
GLORIABELEN3
 
Módulo II-Multimedia II.pptx
Módulo II-Multimedia II.pptxMódulo II-Multimedia II.pptx
Módulo II-Multimedia II.pptx
MaraDeLosMMitreVsque
 
Lenguajes de programación
Lenguajes de programaciónLenguajes de programación
Lenguajes de programación
KareliaRivas
 
Software
SoftwareSoftware
Software
josed0711
 
Clasificacion de lenguajes de programacion
Clasificacion de lenguajes de programacionClasificacion de lenguajes de programacion
Clasificacion de lenguajes de programacion
wasonpc
 
Expocision de especialidad
Expocision de especialidadExpocision de especialidad
Expocision de especialidad
Izabeliita
 
Programacion ensamblador-procesadoresk
Programacion ensamblador-procesadoreskProgramacion ensamblador-procesadoresk
Programacion ensamblador-procesadoresk
Johann Chambilla
 
Lenguaje de programacion
Lenguaje de programacionLenguaje de programacion
Lenguaje de programacion
andrearincon56
 
Clase3 guia1-introduccion-compiladores-conceptos
Clase3 guia1-introduccion-compiladores-conceptosClase3 guia1-introduccion-compiladores-conceptos
Clase3 guia1-introduccion-compiladores-conceptos
Infomania pro
 

Similar a Marco teorico (20)

Elastix slide book-uect
Elastix  slide book-uectElastix  slide book-uect
Elastix slide book-uect
 
Elastix slide book-uect(1)
Elastix  slide book-uect(1)Elastix  slide book-uect(1)
Elastix slide book-uect(1)
 
Lenguajes de programación
Lenguajes de programaciónLenguajes de programación
Lenguajes de programación
 
Lenguajes de bases de datos
Lenguajes  de bases de datos Lenguajes  de bases de datos
Lenguajes de bases de datos
 
Lenguajes de programacion
Lenguajes de programacion Lenguajes de programacion
Lenguajes de programacion
 
Programación
 Programación Programación
Programación
 
Presentación1
Presentación1Presentación1
Presentación1
 
Software pao
Software paoSoftware pao
Software pao
 
Maryan toledo
Maryan toledoMaryan toledo
Maryan toledo
 
Presentación1
Presentación1Presentación1
Presentación1
 
Lenguajes de programación
Lenguajes de programaciónLenguajes de programación
Lenguajes de programación
 
Procesadores de Lenguajes
Procesadores de LenguajesProcesadores de Lenguajes
Procesadores de Lenguajes
 
Módulo II-Multimedia II.pptx
Módulo II-Multimedia II.pptxMódulo II-Multimedia II.pptx
Módulo II-Multimedia II.pptx
 
Lenguajes de programación
Lenguajes de programaciónLenguajes de programación
Lenguajes de programación
 
Software
SoftwareSoftware
Software
 
Clasificacion de lenguajes de programacion
Clasificacion de lenguajes de programacionClasificacion de lenguajes de programacion
Clasificacion de lenguajes de programacion
 
Expocision de especialidad
Expocision de especialidadExpocision de especialidad
Expocision de especialidad
 
Programacion ensamblador-procesadoresk
Programacion ensamblador-procesadoreskProgramacion ensamblador-procesadoresk
Programacion ensamblador-procesadoresk
 
Lenguaje de programacion
Lenguaje de programacionLenguaje de programacion
Lenguaje de programacion
 
Clase3 guia1-introduccion-compiladores-conceptos
Clase3 guia1-introduccion-compiladores-conceptosClase3 guia1-introduccion-compiladores-conceptos
Clase3 guia1-introduccion-compiladores-conceptos
 

Marco teorico

  • 1. 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.
  • 2. 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:
  • 3. 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.
  • 4. 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
  • 5. 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
  • 6. 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
  • 7. 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.
  • 8. 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
  • 9. 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.
  • 10. 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).
  • 11. 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
  • 12. 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
  • 13.  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