Clustering Reconocimiento De Voz

3,679 views

Published on

Reconocimiento de voz aplicando métodos de clustering Cobweb y K-means con la herramienta Weka

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
3,679
On SlideShare
0
From Embeds
0
Number of Embeds
34
Actions
Shares
0
Downloads
115
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Clustering Reconocimiento De Voz

  1. 1. UNIVERSIDAD TECNICA PARTICULAR DE LOJALa Universidad católica de Loja<br />INTELIGENCIA ARTIFICIAL AVANZADA<br />PROYECTO FINAL<br />REALIZADO POR:<br /><ul><li> Andrea S. Espinosa A.
  2. 2. Adriana B. Macas E.
  3. 3. Yesenia C. Pineda C.
  4. 4. Dalton S. Ortega A</li></li></ul><li>RECONOCIMIENTO DEVOZ<br />
  5. 5. INTRODUCCION<br />La inteligencia artificial es la disciplina que se encarga de construir procesos que al ser ejecutados sobre una arquitectura física producen acciones o resultados que maximizan una medida de rendimiento determinada, basándose en la secuencia de entradas percibidas y en el conocimiento almacenado en tal arquitectura.<br />
  6. 6. INTRODUCCION<br />En la IA se puede observar dos enfoques diferentes:<br />La IA concebida como el intento por desarrollar una tecnología capaz de proveer al ordenador capacidades de razonamiento similares a los de la inteligencia humana.<br />La IA en su concepción como investigación relativa a los mecanismos de la inteligencia humana que se emplean en la simulación de validación de teorías.<br />
  7. 7. CLUSTERING<br />El proceso de clustering consiste en la división de los datos en grupos de objetos similares. Para medir la similitud entre objetos se suelen utilizar diferentes formas de distancia: distancia euclídea, de Manhatan, de Mahalanobis, etc. El representar los datos por una serie de clusters, conlleva la pérdida de detalles, pero consigue la simplificación de los mismos.<br />
  8. 8. CLUSTERING<br />Clustering es una técnica más de Aprendizaje Automático, en la que el aprendizaje realizado es no supervisado. Desde un punto de vista práctico, el clustering juega un papel muy importante en aplicaciones de minería de datos, tales como exploración de datos científicos, recuperación de la información y minería de texto, aplicaciones sobre bases de datos espaciales (tales como GIS o datos procedentes de astronomía), aplicaciones web, marketing, diagnóstico médico, análisis de ADN en biología computacional, y muchas otras. <br />
  9. 9. ALGORITMOS DE CLUSTERING<br />El agrupamiento de datos o clustering puede definirse como un método para clasificar o describir propiedades de un sistema a partir de un conjunto de datos adquiridos o representativos de dicho sistema. La aplicación de estos algoritmos tiene como objetivo devolver al usuario una serie de puntos que en cierto modo representan al resto de puntos iniciales por su posición privilegiada con respecto al total. <br /> Algunos de los algoritmos de agrupamiento más utilizados son:<br />1.- K-means clustering<br />2.- Fuzzy c-means clustering<br />3.- Grupos próximos a un entorno (nearestneighborhoodclustering)<br />4.- Redes de aprendizaje competitivo<br />5.- Cobweb<br />
  10. 10. ALGORITMOS DE CLUSTERING<br />Un esquema simplificado de un algoritmo de clustering se muestra en la siguiente figura:<br />
  11. 11. RECONOCIMIENTO DE VOZ<br />Actualmente el Reconocimiento de voz es utilizado como comunicación entre humano y computadora. El agrupamiento de datos o clustering puede definirse como el método para clasificar o describir propiedades de un sistema a partir de un conjunto de datos adquiridos o representativos del sistema. La aplicación de estos algoritmos tiene como objetivo devolver al usuario una serie de puntos que en cierto modo representan al resto de puntos iníciales por su posición privilegiada con respecto al total. El objetivo de la construcción de estos algoritmos es que permiten la identificación de los fonemas de personas a partir de variables que identifiquen los caracteres del sonido para un flujo continuo de ondas sonoras y silencios.<br />
  12. 12. RECONOCIMIENTO DE VOZ<br />Debe cumplir 3 tareas: <br />Pre procesamiento: Convierte la entrada de voz a una forma que el reconocedor pueda procesar. <br />Reconocimiento: Identifica lo que se dijo (traducción de señal a texto). <br />Comunicación: Envía lo reconocido al sistema (Software/Hardware) que lo requiere. <br />
  13. 13. WEKA<br />Es una herramienta de visualización y algoritmos para análisis de datos y modelado predictivo, unidos a una interfaz gráfica de usuario para acceder fácilmente a sus funcionalidades. La versión original de Weka fue un front-end en TCL/TK para modelar algoritmos implementados en otros lenguajes de programación, más unas utilidades para preprocesamiento de datos desarrolladas en C para hacer experimentos de aprendizaje automático. <br />
  14. 14. WEKA<br />Las ventajas de Weka son:<br />Está disponible libremente bajo la licencia pública general de GNU.<br />Es muy portable porque está completamente implementado en Java y puede correr en casi cualquier plataforma.<br />Contiene una extensa colección de técnicas para preprocesamiento de datos y modelado.<br />Es fácil de utilizar por un principiante gracias a su interfaz gráfica de usuario.<br />
  15. 15. WEKA<br />Wekasoporta varias tareas estándar de minería de datos, especialmente, preprocesamiento de datos, clustering, clasificación, regresión, visualización, y selección. Todas las técnicas de Weka se fundamentan en la asunción de que los datos están disponibles en un fichero plano (flat file) o una relación, en la que cada registro de datos está descrito por un número fijo de atributos (normalmente numéricos o nominales, aunque también se soportan otros tipos). Weka también proporciona acceso a bases de datos vía SQL gracias a la conexión JDBC (Java DatabaseConnectivity) y puede procesar el resultado devuelto por una consulta hecha a la base de datos. <br />
  16. 16. EJECUCIÓN DEL ALGORITMO<br />WEKA<br />
  17. 17. EJECUCIÓN DEL ALGORITMO<br />En primer lugar abrimos el algoritmo reconocimiento_voz.arff, luego hacemos clic en la pestaña Cluster<br />
  18. 18. EJECUCIÓN DEL ALGORITMO<br />Luego en la sección cluster hacemos clic en el botón Choose y elegimos el método de clustering que deseemos<br />
  19. 19. EJECUCIÓN DEL ALGORITMO<br />Finalmente hacemos clic sobre el botón Start para ejecutar el algoritmo de reconocimiento de voz con el método que hayamos elegido.<br />
  20. 20. ANALISIS DE RESULTADOS<br />WEKA<br />
  21. 21. ANALISIS DE RESULTADOS<br />Los algoritmos de clustering permiten clasificar un conjunto de elementos de muestra en un determinado número de grupos basándose en las semejanzas y diferencias existentes entre los componentes de la muestra.<br />Mediante la utilización de la herramienta Weka presentamos los siguientes resultados obtenidos de la misma, tanto con el algoritmo K-medias y Cobweb.<br />
  22. 22. ALGORITMO K-MEDIAS<br />
  23. 23. ALGORITMO K-MEDIAS<br />Scheme: weka.clusterers.SimpleKMeans -N 2 -S 10 <br /> Indica que el algoritmo se ejecuta con 2 clusters y con 10 semillas<br />Relation: vowel<br /> Nos muestra que la relación es vocal<br /> <br />Instances: 450<br /> Existen 450 instancias<br /> <br />Attributes: 14<br /> Existen 14 atributos<br /> <br />Test mode: evaluate on training data<br /> Modo de prueba es evaluado sobre datos de entrenamiento <br /> <br />
  24. 24. ALGORITMO K-MEDIAS<br />
  25. 25. ALGORITMO K-MEDIAS<br />Además se muestran los valores de los niveles de intensidad vocales en fase de entrenamiento por los hablantes Andres y Yesi pronunciando las sílabas hid, hud y had<br />
  26. 26. ALGORITMO K-MEDIAS<br />Number of iterations: 10<br /> El número de iteraciones es de 10<br />Within cluster sum of squared errors: 1121.82115943575<br /> Suma de errores cuadráticos<br /> <br />Datos totales Cluster# 0 Cluster# 1<br />(450) (216) (234)<br />
  27. 27. ALGORITMO K-MEDIAS<br />A continuación se muestran los valores y porcentajes de la agrupación de Instancias divididas en 2 Clusters:<br />ClusteredInstances<br /> <br />0 216 ( 48%) En el Cluster 0 existen 216 instancias que corresponden al 48%<br />1 234 ( 52%) En el Cluster 1 existen 234 instancias que corresponden al 52% <br />
  28. 28. ALGORITMO K-MEDIAS<br />Desde esta pantalla podemos generar múltiples gráficas eligiendo cualquier combinación de atributos para los ejes.<br />En este caso seleccionamos los siguientes atributos:<br />Nombres de los hablantes en el eje de las X<br />Numero de Clúster en el eje de las Y<br />Los valores de las clases coloreadas (had, hed, hid, hod, hud)<br />Diseño de las instancias por defecto<br />Jitter o variación promedio<br />
  29. 29. ALGORITMO K-MEDIAS<br />
  30. 30. ALGORITMO K-MEDIAS<br />Podemos interpretar en la gráfica que los valores de las clases se agruparon en 2 Clusters y en grupos de hablantes separados<br />En este otro caso seleccionamos los siguientes atributos:<br />Sexo en el eje de las X<br />Numero de Clúster en el eje de las Y<br />Los valores de las clases coloreadas (had, hed, hid, hod, hud)<br />Diseño de las instancias por defecto<br />Jitter o variación promedio<br />
  31. 31. ALGORITMO K-MEDIAS<br />
  32. 32. ALGORITMO K-MEDIAS<br />En ésta gráfica podemos observar que las sílabas pronunciadas por las personas del sexo masculino se ejecutaron en su gran mayoría en el cluster 1 excepto por algunos casos como por ejemplo la clase had que ha sido pronunciada por personas del sexo femenino que se encuentran en el cluster 1.<br />Y análogamente a esto podemos observar que las sílabas pronunciadas por las personas del sexo femenino se ejecutaron en su gran mayoría en el cluster 0 excepto por algunos casos como por ejemplo la clase hud que ha sido pronunciada por personas del sexo masculino que se encuentran en el cluster 1.<br />
  33. 33. COWEB<br />
  34. 34. COWEB<br />A continuación se exponen algunos comentarios sobre la salida de arriba: <br />-A 1.0 -C 0.0028209479177387815 -S 42 especifica parámetros agudeza y corte. Estos valores pueden ser especificados a través de la ventana emergente que aparece al hacer clic sobre el área a la derecha el botón Seleccionar (Choose). <br /> Nodo N o hoja N representa un subcluster, cuya matriz es el grupo N. <br /> La agrupación de estructura de árbol se muestra como un árbol horizontal, donde subclusters están alineados en la misma columna.<br />La raíz es el Cluster 0. Cada línea con un nodo de 0 define subcluster de la raíz. <br />El número entre corchetes después de nodo N representa el número de casos en la matriz el grupo N. <br />
  35. 35. COWEB<br />En este caso seleccionamos los siguientes atributos:<br />Nombres de los hablantes en el eje de las X<br />Palabras pronunciadas en el eje de las Y<br />Sexocoloreadas (masculino, femenino)<br />Diseño de las instancias por defecto<br />Jitter o variación promedio<br />
  36. 36. COWEB<br />
  37. 37. COWEB<br />Podemos observar que los fonemas son diferenciables en su pronunciación por todos los hablantes y en ambos sexos puesto que las instancias de un hed no se agrupan con un hud, las instancias de un hod no se agrupan con un had y así sucesivamente.<br />
  38. 38. BIBLIOGRAFIA<br />http://sisbib.unmsm.edu.pe/BibVirtualData/publicaciones/electronica/Marzo_2002/pdf/algoritmo.pdf<br />http://catarina.udlap.mx/u_dl_a/tales/documentos/lep/franco_g_ja/capitulo7.pdf<br />http://www.eleconomista.es/empresas-finanzas/noticias/421406/03/08/SpinVox-elige-Cambridge-para-su-centro-de-Reconocimiento-de-Voz.html<br />http://www.ejournal.unam.mx/cys/vol09-03/CYS09307.pdf<br />http://omarsanchez.net/kmeans.aspx<br />http://omarsanchez.net/recocaract.aspx<br />http://www.exa.unicen.edu.ar/catedras/dbdiscov/clase2b.pdf<br />http://www.cs.us.es/cursos/ia2-2007/trabajos/propuesta-6.pdf<br />http://www.dim.uchile.cl/~anmoreir/pr/p9c_clustering.ppt<br />

×