This document was uploaded by user and they confirmed that they have the permission to share
it. If you are author or own the copyright of this book, please report to us by using this DMCA
report form. Report DMCA
Overview
Download & View Proyecto De Mineria - Nmf as PDF for free.
AEA(Aplicaciones Empresariales Avanzadas) Grupo SIE
PROYECTO DE MINERIA: Busqueda de características independientes (Factorización de matrices no negativas)
Alumnos: Carlos Meseguer Gimenez Email: [email protected] Grupo de prácticas: Turno L 14:00
Versión 1.0 09 de mayo de 2009
Proyecto de mineria - NMF
Versión 1.0
Departamento Economía Financiera, Contabilidad y Marketing
INDICE DE CONTENIDO 0. Introducción a la búsqueda de características independientes. 0.1. ¿Qué es y para que sirve? 0.2. Ventajas que aporta al Cliente 1. Compresión del Negocio 1.1. Descripción de la naturaleza de los datos 1.2. Objetivos de Minería 2. Compresión de los Datos 2.1. Descripción de la fuente (ficheros, enlaces) 2.2. Verificaciones de los datos, gráficos estadísticos, etc.. 3. Preparación de los Datos 3.1. Descripción sobre la manipulación de los datos 3.2. Vista minable definitiva 4. Modelado 4.1. Tipo de tarea de minería a realizar 4.2. Técnica o técnicas utilizadas 5. Evaluación de los resultados 5.1. Análisis de los resultados obtenidos de los modelos 6. Conclusiones del proyecto
Proyecto de mineria - NMF Grupo SIE
Alumno: Carlos Meseguer Grupo prácticas: Turno L 14:00
Pág. 2
Fecha:09/05/2009
Proyecto de mineria - NMF
Versión 1.0
Departamento Economía Financiera, Contabilidad y Marketing
0. INTRODUCCIÓN INDEPENDIENTES.
A
LA
BÚSQUEDA
DE
CARACTERÍSTICAS
0.1 ¿Qué es y para que sirve?
En este proyecto voy a tratar de extraer de forma automática y no supervisada las características que definen un conjunto de datos. Un ejemplo muy ilustrativo para este acercamiento a la minería es “el efecto de la fiesta ruidosa”, y no es más que interpretar la conversación en una fiesta, en la que muchas personas hablan, hay música y otros ruidos. Nuestra mente es capaz de aislar los diferentes sonidos e identificarlos como cosas diferentes, aunque nuestra “entrada de información” sean solo los oídos. Aplicando los algoritmos con los que vamos a trabajar a este problema, podríamos llegar a diferenciarlos con un ordenador. En este caso, voy a trabajar con información sobre películas, estos datos son las sinopsis, críticas,etc de las mismas y el objetivo es lograr aislar los temas de los que tratan con únicamente estos textos. 0.2 Ventajas que aporta al Cliente
Con los resultados de este proceso, podríamos describir mejor las películas de una manera automática. Dando un valor añadido a la información que ya se tiene de las mismas. Algunas aplicaciones potenciales que podríamos darle son: generar directorios sin supervisión humana, añadir palabras clave para poder ofrecer resultados más sofisticados para búsquedas o utilizar estos resultados para relacionar las películas y usos en otros procesos útiles para el cliente. 1. COMPRESIÓN DEL NEGOCIO 1.1 Descripción de la naturaleza de los datos
Los datos provienen de la información disponible acerca de las películas del portal de cine cinecin.com y se componen de la siguiente información: – Sinopsis de la película – Genero de la película – Críticas de la película – Comentarios de los visitantes del portal a la película Aunque es importante tener en cuenta la naturaleza de los mismos, ya que de los cuatro tipos de datos, solo los dos primeros (sinopsis y genero) están disponibles para todas las películas, el resto, son opcionales. Ademas, los comentarios no pasan ningún filtro, por lo que en algunas ocasiones, puedes ser, en principio, irrelevantes.
Proyecto de mineria - NMF Grupo SIE
Alumno: Carlos Meseguer Grupo prácticas: Turno L 14:00
Pág. 3
Fecha:09/05/2009
Proyecto de mineria - NMF
Versión 1.0
Departamento Economía Financiera, Contabilidad y Marketing
1.2 Objetivos de Minería
El objetivo del proyecto, es generar un numero determinado de características que nos permitan definir los temas de los que tratan las películas. Este numero podemos especificarlo en función de las necesides. Es importante señalar, que definiendo n características, lo que estaríamos haciendo es definir todas las películas en base a esas n características. Por otro lado, cada una de las características se compone por una lista de palabras. Por ejemplo, si obtuviésemos que una de las características es “Conflicto, armas, dinero, petroleo,dictadura,censura”, podríamos decir que habla sobre la situación de oriente medio. Por lo tanto, el objetivo es crear unos temas generales para las películas, por lo tanto, luego habría que analizar experimentalmente los resultados, para crear un numero suficientemente alto de categorías para que aporten algo de información y suficientemente bajo para que no sean demasiado concretas. 2. COMPRESIÓN DE LOS DATOS 2.1 Descripción de la fuente (ficheros, enlaces)
La fuente de datos es una base de datos que sigue el modelo ERR con la cual trabaja el portal de cine cinecin.com. Vamos a trabajar sobre 1519 películas que tiene 503 comentarios y 333 críticas. Sobre la información que voy a utilizar, cabe decir una cuantas cosas. La sinopsis y el genero de las películas es una información aportada por las distribuidoras. Es la típica información que podemos encontrarnos detrás de los DVD's. Esta información es oficial y ademas, la mayor parte de las empresas del sector, manejan la misma. Puede ser importante tener en cuenta la oficialidad de los datos para valorar la veracidad de los resultados, ya que en este texto, por lo general, van a describir la película “demasiado” correctamente. Por otro lado, el vocabulario que se tiende a utilizar esta más acotado y generalmente da unas pinceladas generales, lo que ayuda al objetivo que tenemos. Las críticas son colaboraciones de los visitantes del portal, que han sido supervisadas antes de ser añadidas. Tienen un estilo formal y están revisadas antes de añadirse, lo que es importante por el funcionamiento del algoritmo. Aproximadamente un 21 % de las películas tienen crítica y algunas de ellas, tienen varias.
Proyecto de mineria - NMF Grupo SIE
Alumno: Carlos Meseguer Grupo prácticas: Turno L 14:00
Pág. 4
Fecha:09/05/2009
Proyecto de mineria - NMF
Versión 1.0
Departamento Economía Financiera, Contabilidad y Marketing
Por último, están los comentarios, de toda la información es la más dispar. La fuente de los mismos son los visitantes, algunos son espontaneos y el único filtro que pasan es seguir unas reglas básicas de civismo y respeto, por lo que, como he comentado anteriormente, existe el riesgo, que en ocasiones sean irrelevantes. Aunque es el punto de contacto con la opinión real de los visitantes, por lo que por ello, he creído conveniente incluirlo en el proceso. Las películas con comentarios son aproximadamente el 18%. Aunque aquí el reparto no es homogéneo, ya que un 72% no tienen comentarios y las que tienen comentarios, tienden a acumular un numero alto de ellos. 2.2 Verificaciones de los datos, gráficos estadísticos, etc..
Los datos antes de llegar aquí, ya han pasado un proceso de filtrado y normalización. Ademas, por la naturaleza del algoritmo y al tratarse de textos, no ha sido necesario realizarles ningún proceso de verificación. Aunque para una mejor comprensión de los mismos por parte del lector, voy a dar unos cuantas datos sobre ellos. Descripción
Numero
Porcentaje sobre el total
Películas
1519
100%
Críticas
333
100%
Comentarios
503
100%
Películas con comentario
262
17,24%
Películas con más de 1 comentario
47
3,09%
Película con más de 5 comentarios
12
0,7%
Películas con más de 10 comentarios
4
0,26%
Películas con critica
324
21,32%
Películas con más de 1 crítica
13
0,8%
Proyecto de mineria - NMF Grupo SIE
Alumno: Carlos Meseguer Grupo prácticas: Turno L 14:00
Pág. 5
Fecha:09/05/2009
Proyecto de mineria - NMF
Versión 1.0
Departamento Economía Financiera, Contabilidad y Marketing
3. PREPARACIÓN DE LOS DATOS 3.1 Descripción sobre la manipulación de los datos
Como ya he comentado anteriormente, la fuente de datos es una base de datos mysql con un esquema relacional. El modelo de los mismos es el siguiente:
Aunque es una vista parcial del modelo completo, es bastante similar a un esquema en estrella, por lo que fácilmente podríamos atacar directamente los datos. No obstante, si lo hiciésemos, al no tener la infraestructura necesaria, saturaríamos enormemente el servidor, por lo que para permitir un uso independiente he optado por introducir una fase intermedia, y así no atacar al motor mysql. Mediante un simple script, he creado un fichero xml para cada película, el cual, sigue el estándar RSS. Aunque haber implementado un parser XML no es complicado, por motivos de tiempo he creído mejor opción usar un parser ya desarrollado, y de entre ellos, los que más rapidez ofrecían, eran los de RSS. El susodicho fichero es muy simple. Los nombres de los archivos van de 1.xml al 1518.xml y su estructura interna es la siguiente:
Proyecto de mineria - NMF Grupo SIE
Alumno: Carlos Meseguer Grupo prácticas: Turno L 14:00
Pág. 6
Fecha:09/05/2009
Proyecto de mineria - NMF
Versión 1.0
Departamento Economía Financiera, Contabilidad y Marketing
TITULO ( TITULO ORIGINAL) ID PELICULA TITULO (TITULO ORIGINAL) <description> GENEROS SINOPSIS CRITICAS COMENTARIOS
3.2 Vista minable definitiva
Lo que hacemos a continuación, es recorrer los ficheros, realizando un conteo de las palabras que aparecen en cada película. Esto lo vamos integrando en una matriz, en la que cada fila representa una película y cada columna representa una palabra. Por lo que el valor [i][j] de esta matriz, que llamaremos Matriz de películas, sera el numero de veces que aparece la palabra [j] en la película [i].
Proyecto de mineria - NMF Grupo SIE
Alumno: Carlos Meseguer Grupo prácticas: Turno L 14:00
Pág. 7
Fecha:09/05/2009
Proyecto de mineria - NMF
Versión 1.0
Departamento Economía Financiera, Contabilidad y Marketing
4. MODELADO 4.1 Tipo de tarea de minería a realizar
A partir de la matriz anterior, nuestro objetivo es extraer características independientes de cada película. Esto, no es otra cosa, que intentar hacer emerger los temas de los que tratan las películas. Para lograr esto, lo que vamos a intentar es lograr dos matrices que multiplicadas, den un resultado lo más aproximado posible a la matriz de películas.
Estas matrices son la matriz de características y la matriz de pesos. Ambas con información muy interesante. La primera, la matriz de características, nos va a generar los temas. Un tema no es otra cosa que una colección ponderada de palabras, es decir, nos va a decir como de importante es cada palabra para un tema en concreto. Tal vez sea importante dejar claro, que no vamos a obtener un nombre para el tema, sino que el tema estará definido por las palabras más importantes para el mismo. La segunda, la matriz de pesos, nos va a decir la importancia que tiene cada una de las características anteriormente comentadas, para una película en concreto. 4.2 Técnica o técnicas utilizadas
El algoritmo que he utilizado para obtener estas matrices se llama factorización de matrices no negativas (Non negative matrix factorization) y es utilizado para el análisis de datos multivariante. Este algoritmo toma como entrada la matriz de películas , el numero de iteraciones que queremos que haga (posteriormente ampliare esto), y el numero de características que queremos encontrar. El algoritmo nos garantiza una solución, pero no nos permite acotar el error máximo que queremos, es decir, siempre nos da una solución, pero no necesariamente Proyecto de mineria - NMF Grupo SIE
Alumno: Carlos Meseguer Grupo prácticas: Turno L 14:00
Pág. 8
Fecha:09/05/2009
Proyecto de mineria - NMF
Versión 1.0
Departamento Economía Financiera, Contabilidad y Marketing
tiene que ser útil. Cuantas más iteraciones hagamos, la solución obtenida sera mejor. De todas formas, en pocas iteraciones, el error decrece a un ritmo de orden similar a la inversa de la exponencial. Aunque no voy a entar en los fundamentos matemáticos del algoritmo, si voy a explicar cual es su funcionamiento. El proceso comienza generando la matriz de características y la matriz de pesos con unos valores aleatorios. Tras esto, las multiplica y calcula la diferencia que hay entre el resultado y la matriz de películas. Para esto utilizamos una función de coste, que no es otra cosa que la distancia euclídea entre el resultado de la multiplicación y la matriz de películas que habíamos obtenido en un primer momento. Para continuar el algoritmo necesita 4 matrices auxiliares, que llamaremos HN, HD, para la matriz de características y WN,WD para la matriz de pesos. Estas matrices se definen de la siguiente forma: HN = Transpuesta(Matriz de pesos) x Matriz de Películas HD = Transpuesta(Matriz de pesos) x Matriz de pesos x Matriz de Características WN = Matriz de Películas x Transpuesta(Matriz de Características) WD = Matriz de pesos x Matriz de Características x Transpuesta(Matriz de Características)
Con estas matrices, reconstruye la matriz de características y la matriz de pesos hasta que la multiplicación de estas sea exactamente igual a la matriz de películas o haya realizado el proceso un numero n de veces, determinado al comienzo. Para regenerar las matrices, hace el siguiente cálculo: Matriz de características = Matriz de características x HN/HD Matriz de pesos = Matriz de pesos x WN/WD En cada iteración, siempre se obtiene un mejor resultado, aunque el coste computacional es muy elevado, ya que multiplicar matrices es un proceso muy lento. Aquí tenemos un gran cuello de botella con el cálculo del error entre las dos matrices antes mencionadas. Por lo que para agilizar la ejecución, solo calculo el error finalizadas las iteraciones, consiguiendo así mayor velocidad. No es descartable que este “parche” pueda producir problemas.
Proyecto de mineria - NMF Grupo SIE
Alumno: Carlos Meseguer Grupo prácticas: Turno L 14:00
Pág. 9
Fecha:09/05/2009
Proyecto de mineria - NMF
Versión 1.0
Departamento Economía Financiera, Contabilidad y Marketing
5. EVALUACIÓN DE LOS RESULTADOS 5.1 Análisis de los resultados obtenidos de los modelos.
He realizado varias ejecuciones del algoritmo variando el numero de características y el numero de iteraciones del mismo, para poder comprar los resultados y así hacer una comparación de los resultados. Concretamente he realizado tres ejecuciones, una buscando 20 características y realizando 5 iteraciones, otra con 40 características y también 5 iteraciones y por último buscando 100 características y con 10 iteraciones. Debido a que realizar un analisis en profundidad de los resultados requeriría mucho tiempo, he optado por coger 4 películas representativas. Por un lado, voy a analizar los resultados de la película con más críticas. Con esto obtendremos una muestra sobre como se comporta el algoritmo disponiendo de textos en un lenguaje formal. Otro aspecto interesante a analizar, es como se comporta teniendo muchos textos pero que no han pasado filtros, por lo que analizare también la película con más comentarios. Creo que también es importante analizar los resultados para la película que más consultas tiene, ya que nos puede servir de muestra para ver cuanto de interesante puede ser para los visitantes del portal. Y por último, la película con menos visitas, que ademas no tiene ni comentarios ni críticas. Con esto podremos observar el comportamiento del algoritmo en la situación extrema, en la cual dispone del mínimo de información posible. Las películas que cumplen los anteriores criterios son: Más críticas - Monstruoso Más comentarios - La niebla de Stephen King Menos visitas - Asesinato Justo Más visitas - Los Edukadores
Proyecto de mineria - NMF Grupo SIE
Alumno: Carlos Meseguer Grupo prácticas: Turno L 14:00
Pág. 10
Fecha:09/05/2009
Proyecto de mineria - NMF
Versión 1.0
Departamento Economía Financiera, Contabilidad y Marketing
Los datos obtenidos son los siguientes: Monstruoso Datos
Alumno: Carlos Meseguer Grupo prácticas: Turno L 14:00
Pág. 12
Fecha:09/05/2009
Proyecto de mineria - NMF
Versión 1.0
Departamento Economía Financiera, Contabilidad y Marketing
Al analizar estos datos, observamos varias cosas: 1. Subiendo mucho el numero de características corremos el riesgo de que se adapten en exceso a una película en concreto. Sobre todo a las que tienen mucha información. Esto podemos observarlo en la tabla de monstruoso, al ver por ejemplo, que en la fila de las 100 características, las palabras clave llegan a referirse en exclusiva al título de la película. 2. El algoritmo funciona como se espera en películas con muy poca información. No logra sacar características relevantes para ella. Debido a esto, no obtiene ninguna característica con un peso digno de consideración. Esto por un lado es bueno, ya que nos permite descartar información inútil, pero por otro lado, dejamos al margen a un volumen grande de las películas. 3. Con un numero pequeño de características, corremos el riesgo de que las mismas sean demasiado generales, y que realmente no se adapten bien a ningún conjunto de películas. 4. Según mi criterio, el mejor conjunto de datos obtenidos, es con 40 características, ya que obtenemos información relevante sin llegar a ser demasiado particular. 5. Obtenemos buenos resultados con las películas con un volumen de información medio-alto.
Proyecto de mineria - NMF Grupo SIE
Alumno: Carlos Meseguer Grupo prácticas: Turno L 14:00
Pág. 13
Fecha:09/05/2009
Proyecto de mineria - NMF
Versión 1.0
Departamento Economía Financiera, Contabilidad y Marketing
6. CONCLUSIONES DEL PROYECTO Tras el análisis de los datos obtenidos con el algoritmo de factorización de matrices no negativas aplicado a la minería de texto para detectar los temas de los que tratan las películas creo que las expectativas se han cumplido moderadamente bien. Para explotarlo de una manera seria, creo que habría que realizar un análisis con más detenimiento de los resultados obtenidos, aunque con la información actual creo que estoy en disposición de extrapolar algunas reflexiones interesantes. Por un lado, creo que su aplicación seria ideal con una base de datos donde todas las películas tuviesen una cantidad de información relativamente homogenea, ya que sino, las que tienen más generan una condensación de características, lo que obliga, a que todas sean definidas en función de las primeras. Habría que definir algún mecanismo automático para buscar el numero de características optimas. Respecto al funcionamiento del algoritmo, habría que indagar sobre funciones más eficientes para medir la diferencia entre dos matrices, ya que el coste computacional de la que estamos usando es tremendo, haciendo de cuello de botella. En cuanto a las posibles aplicaciones, son numerosas, por citar algunos ejemplos integrar los resultados en las búsquedas, categorizar las películas, ofrecer a los visitantes películas que tratan de temáticas similares, etc.
Proyecto de mineria - NMF Grupo SIE
Alumno: Carlos Meseguer Grupo prácticas: Turno L 14:00