Mineria de Datos en Educación | Taller Manuel E. Prieto PhD Profesor Honorifico UCLM Associate Professor HIU Presidente CIATA.org

1 Mineria de Datos en Educación | Taller Manuel E. Prieto...
Author: Ana Belén Ramos Vega
0 downloads 0 Views

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-