1 Mineria de Datos en Educación | Taller Manuel E. Prieto PhD Profesor Honorifico UCLM Associate Professor HIU Presidente CIATA.org [email protected]
2 Análisis de Sentimientos. MinerÍa de Opiniones (Un tipo de Minería de Textos) EN EDUCACION Estudiar, modelar y así, predecir las opiniones de los estudiantes, profesores o administrativos, en los procesos de la enseñanza y el aprendizaje humano. Suelen ser opiniones polarizadas. A favor, en contra (Bipolares) O multi-polarizadas. En general, en Minería de datos, se usan valores conocidos que se se organizan en forma de tablas. (Excel, Bases de Datos, CSV, etc)
3
4
5 Pero, que ocurre si no tenemos valores. Sólo tenemos oraciones. El texto es ambiguo. No tiene estructura (casi). Es dependiente del contexto, etc…. Veremos Como hacer minería de datos a partir de textos clasificados, convirtiendo Textos en Tablas de valores Construir modelos que permitan clasificar las opiniones clasificadas Predecir Predecir las opiniones a partir de textos no clasificados.
6 Conversión de un Texto en un Vector de Palabras Cada Frase recuperada F se convierte en un Vector de Palabras : V F1 buen profesor F2 excelente curso F3 peor curso al que asistí F4 buen curso
7 Conversión de un Texto en un Vector de Palabras. Clasifiquemos… Cada Frase recuperada F se convierte en un Vector de Palabras : V F1 buen profesor F2 excelente curso F3 peor curso al que asistí F4 buen curso + + - +
8 Conversión de un Texto en una Tabla de Valores Cada Frase recuperada F se convierte en un Vector de Palabras : V F1 buen profesor F2 excelente curso F3 peor curso al que asistí F4 buen curso asistí buen curso excelente peor profesor CLASE V = { v 1, v 2, v 3, …, v n, CLASE } V 1 [0, 1, 0, 0, 0, 1, ] V 2 [0, 0, 1, 1,0, 0, ] V 3 [1, 0, 1, 0, 1,0, ] V 4 [0,1, 1, 0, 0, 0, ]
9 Conversión de un Texto en un Modelo de Conocimiento Cada Frase recuperada F se convierte en un Vector de Palabras : V F1 buen profesor F2 excelente curso F3 peor curso al que asistí F4 buen curso asistí buen curso excelente peor profesor CLASE V 1 [0, 1, 0, 0, 0, 1, ] V 2 [0, 0, 1, 1,0, 0, ] V 3 [1, 0, 1, 0, 1,0, ] V 4 [0,1, 1, 0, 0, 0, ] Modelo de Conocimiento
10 Conversión de un Texto en un Modelo de Conocimiento Cada Frase recuperada F se convierte en un Vector de Palabras : V F1 buen profesor F2 excelente curso F3 peor curso al que asistí F4 buen curso asistí buen curso excelente peor profesor CLASE V 1 [0, 1, 0, 0, 0, 1, ] V 2 [0, 0, 1, 1,0, 0, ] V 3 [1, 0, 1, 0, 1,0, ] V 4 [0,1, 1, 0, 0, 0, ] Modelo de Conocimiento Knowledge Discovery from Data KDD
11 Si tenemos un Modelo de Conocimiento, podremos Predecir Modelo de Conocimiento En nuestro caso: magnifico profesor, ? el peor curso, ? magnifico profesor, + el peor curso, -
12 Como hacerlo ? De que herramientas disponemos ? Programas específicos Servicios Web – en línea Programar (a pulso) Suites para Minería de Datos CODIGO ABIERTO WEKA Rapid Miner Orange Kmine JHelpWork COMERCIALES IBM Intelligent Miner SAS Enterprise Miner Clementine
13 International Journal Of Engineering And Computer Science ISSN:2319- 7242Volume 3 Issue 12 December 2014, Page No. 9450-9452 Abstract: Today in this real world, where we deal with vast amounts of data, we are in a situation to extract the best among them. Datamining is a new and imminent trend to discover the information and knowledge from the existing data. The gained knowledge can be usedfor applications ranging from market analysis, fraud detection, and customer retention, to production control and science exploration. It usesmachine learning, statistical and visualization techniques to discover the present knowledge in the form which is easily understandable by theusers. The data mining tools are used to predict the future trends and behaviours of various business organisations and aid them to make gooddecisions for their growth and development. They search the databases for hidden patterns, and to make predictions beyond the mind- set of theexperts. This paper explains about various open source data mining tools through which efficient predictive analysis can be done A Study on Free Open Source Data mining Tools. K. Saravanapriya
14 Que es WEKA ? Waikato Environment for Knowledge Analysis Weka es una colección de algoritmos de aprendizaje automático mas bien orientado a resolver tareas de minería de datos y de KDD. Weka contiene herramientas útiles para: – Pre-procesado y filtrado y procedado de los datos, – Clasificación, – Regresión, – Agrupamiento (clustaring), – Reglas de Asocicaión, – Visualización
15 Que hacen los algoritmos contenidos en WEKA ? Reciben como entrada, Tablas de datos Formatos arff, csv. Como procesar xls de Excel ? Devuelve, como salida, Modelos de Conocimiento
16 Atribute Relation File Format arff Dos secciones Cabecera (Header) y Datos (Data) La cabecera contiene el nombre del DataSet (relation) y una lista de los Atributos y sus tipos de datos @RELATION iris @ATTRIBUTE LomgituddelSepalosepallength NUMERIC @ATTRIBUTE AnchoDel Sepalo NUMERIC @ATTRIBUTE LongitudDelPetalo NUMERIC @ATTRIBUTE AnchoDelPetalo NUMERIC @ATTRIBUTE Clase {Iris-setosa, Iris-versicolor, Iris-virginica} @DATA 5.1,3.5,1.4,0.2,Iris-setosa 4.9,3.0,1.4,0.2,Iris-setosa 4.7,3.2,1.3,0.2,Iris-setosa 4.6,3.1,1.5,0.2,Iris-setosa 5.0,3.6,1.4,0.2,Iris-setosa 5.4,3.9,1.7,0.4,Iris-setosa 4.6,3.4,1.4,0.3,Iris-setosa 5.0,3.4,1.5,0.2,Iris-setosa 4.4,2.9,1.4,0.2,Iris-setosa 4.9,3.1,1.5,0.1,Iris-setosa
17 Atribute Relation File Format arff Dos secciones Cabecera (Header) y Datos (Data) La section DATA contiene los datos en formato CVS Coma Separated Data @DATA 5.1,3.5,1.4,0.2,Iris-setosa 4.9,3.0,1.4,0.2,Iris-versicolor 4.7,3.2,1.3,0.2,Iris-versicolor 4.6,3.1,1.5,0.2,Iris-setosa 5.0,3.6,1.4,0.2,Iris-virginica 5.4,3.9,1.7,0.4,Iris-setosa 4.6,3.4,1.4,0.3,Iris-setosa 5.0,3.4,1.5,0.2,Iris-virginica
18 Descargar Weka
19 Antes de ejecutar WEKA Conviene incrementar la cantidad de memoria para ejecutar Java en RunWeka.ini Cambiar maxheap=256ma o maxheap=1024m
20
21
22 @relation trainingSet @attribute Opiniones string @attribute Clasificador {neg,pos} @data 'El maestro es prepotente',neg 'El profesor humilla a los estudiantes enfrente de los compañeros',neg 'La forma de explicar del maestro es muy clara y comprensible',pos 'El profesor siempre me regaña en frente de todos',neg 'No conoce la asignatura, se atoraba a cada rato',neg 'El maestro se dirige a sus estudiantes con amabilidad',pos 'Siempre esta dispuesto a ayudarme en mis problemas',pos 'Explico todo el contenido de la asignatura',pos 'Nos guio a lo largo de todo el curriculo de la materia',pos 'El profe es muy intolerante, todo le parece mal',neg 'El maestro llega constantemente impuntual',neg 'El maestro no escucha las opiniones de los estudiantes',neg 'No volveria a tomar otro curso con el profesor',neg 'El maestro parece que no dispone de tiempo para ayudar a sus estudiantes',neg 'Me encataria estudiar otra materia con el mismo maestro',pos 'Es muy puntual y organizado',pos 'Al maestro no le interesa el avance de sus estudiantes',neg 'El maestro me da miedo, no quiero ir a la escuela por el',neg 'Se cree mucho, es egolatra',neg 'Muy egocentro, cree que sabe todo y no escucha las opiniones de los demas',neg 'Es muy controlador, no me deja ser',neg 'Ve muy feo a las chicas, es morboso',neg 'Cree que lo sabe todo, pero al final se confunde',neg 'Muchas veces se equivoca y no lo reconoce ',neg 'No me deja hablar, me interrumpe cada vez que quiero opinar',neg 'Pierde la paciencia a cada rato',neg 'Es muy grosero',neg 'Es muy inflexible, no permite ni un error, pero soy humano',neg 'Al profesor parece que le da flojera ir a la escuela',neg 'El lenguaje corporal del maestro es muy molesto, egocentrico',neg 'El maestro tiene faltas de ortografia',neg 'El profesor dice lo que no se debe de hacer, pero el lo hace',neg 'El profesor es muy humilde',pos 'Confio en el maestro',pos 'El maestro es muy respuetuoso con sus estudiantes',pos 'El profesor da muy buenos ejemplos en clase',pos 'Me encanta la asignatura por el maestro',pos 'Antes no me gustaban las matematicas, pero gracias al profesor ahora las adoro',pos
23
24
25
26
27
28 Proceso para la extracción de conocimiento Selección de los Datos PreprocesadoTransformaciónMinería de datosInterpretación Extraído de Fayyad, 1996
29 Proceso de Minería de Opiniones Proceso general para el desarrollo de minería de opiniones (Feldman, 2008). Recursos lingüísticos Corpus Procesado de documento Calificación de la opinión Análisis de documento
30 Caso Práctico
31 Objetivo de la investigación Objetivo General: Predecir la clasificación de las opiniones expresadas por de los estudiantes, sobre sus profesores. Objetivo específico 1: Explorar la técnica de minería de opiniones y proponer metodología. Objetivo específico 2: Determinar la confiabilidad del modelo construido con base al algoritmo J48.
32 Parte II: Evaluación del Modelo Parte I: Construcción del Modelo Esquema general de la metodología desarrollada Datos Web Base de datos de entrenamiento Pre proceso de datos Transformación de datos Minería de opiniones Extracción de información AnálisisModelo Base de datos de prueba Aplicación de modelo Análisis Conclusiones
33 Parte I: Construcción del modelo Datos Web Extracción de información No fue necesario ya que se consideraron las experiencias de los profesores Base de datos de entrenamiento Opinión del estudianteClasificación El profesor humilla a los estudiantes enfrente de los compañeros Negativa El maestro se dirige a sus estudiantes con amabilidad Positiva El profesor es muy popular en la escuelaNeutral … Archivo.XLS (Excel) Pre proceso de datos Se elimina “ruido” de los datos, acentos, signos de puntuación, caracteres especiales, etc Archivo.XLS (Excel)
34 Archivo.CSV (Comma Separated values) Archivo.ARFF (Attribute-Relation File Format) @relation trainingSet @attribute Opiniones string @attribute Clasificacion {negativa,neutral,positiva} @data “El profesor humilla a los estudiantes enfrente de los compañeros”,negativa “El maestro se dirige a sus estudiantes con amabilidad”,positiva “El maestro es muy popular en la escuela”,neutral Transformación de datos
35 Minería de opiniones Click>Explorer>Por default se inicia en pestaña Preprocess Creación del vector de palabras
36 Transformación de datos Minería de opiniones Click>Open file>Cargar base de datos de entrenamiento Creación del vector de palabras
37 Transformación de datos Minería de opiniones En Filter click>Choose>filters>unsupervised>attribute> StringToWordVector>apply Creación del vector de palabras
38 Transformación de datos Minería de opiniones Click en Edit>click derecho al atributo que se desea sea el clasificador>seleccionar attribute as class>OK Creación del vector de palabras
39 Transformación de datos Minería de opiniones Click en pestaña Classify Aplicación de un algoritmo de clasificación
40 Transformación de datos Minería de opiniones En Classifier click>Choose>trees>J48 Aplicación de un algoritmo de clasificación
41 Transformación de datos Minería de opiniones En Test options seleccionar> Use training set Click Start Aplicación de un algoritmo de clasificación
42 Transformación de datos Minería de opiniones Para guardar modelo>En Result list>click derecho al modelo creado>save model>escribir nombre y guardar Aplicación de un algoritmo de clasificación
43 Análisis de resultados y modelo
44 Parte II: Evaluación del modelo Base de datos de prueba Archivo.ARFF @relation testSet @attribute Opiniones string @attribute clasificacion {negativa,neutral,positiva} @data 'Me gustan las clases y el resultado es estimulante',? 'El helado de chocolate es una buena merienda entre las clases',? 'El curso esta bien diseñado pero las clases no resultaron atractivas',?
45 Parte II: Evaluación del modelo Cargar documento Click>Explorer>Se inicia en Preprocess Click>Open file>Cargar archivo de entrenamiento Base de datos de prueba Archivo.ARFF
46 Transformación de datos Aplicación de modelo Click en pestaña Classify Creando vector de palabras a ambas bases de datos
47 Transformación de datos Aplicación de modelo En Classifier click>Choose>meta>FilteredClassifier>seleccionar Creando vector de palabras a ambas bases de datos
48 Transformación de datos Aplicación de modelo En Classifier click>FilteredClassifier (se despliega la ventana GenericObjectEditor)>en filter click>Choose>unsupervised>attribute> StringToWordVector>OK Creando vector de palabras a ambas bases de datos
49 Transformación de datos Aplicación de modelo En Test options seleccionar> Supplied test set>cargar archivo de prueba Creando vector de palabras a ambas bases de datos
50 Transformación de datos Aplicación de modelo Click>More options>en Output predictions click>Choose>PlainText>OK Creando vector de palabras a ambas bases de datos
51 Transformación de datos Aplicación de modelo Click en Start Creando vector de palabras a ambas bases de datos
52 Análisis de resultados y modelo
53 StringToWordV ector filter options lowerCase convertion TF-IDF weigthing Use frequencies instead of single presence Stemming Stopwords removal using a list of words in a file
54 Clustering Correctly clustered instances:65.25%
55 Other results Results of Pang et al. (2002) with version 1.0 of the dataset with 700+ and 700-