+ All Categories
Home > Documents > CLASIFICACIÓN DE DOCUMENTOS EN WEKA 1 Clasificación de ...³n... · categorías gramaticales,...

CLASIFICACIÓN DE DOCUMENTOS EN WEKA 1 Clasificación de ...³n... · categorías gramaticales,...

Date post: 29-Oct-2019
Category:
Upload: others
View: 8 times
Download: 0 times
Share this document with a friend
74
CLASIFICACIÓN DE DOCUMENTOS EN WEKA 1 Clasificación de Documentos en WEKA Valeria Guevara Thompson Rivers University Author Note This is a final project COMP 4910 for the bachelors of computing science from the Thompson Rivers University supervised by Mila Kwiatkowska.
Transcript
Page 1: CLASIFICACIÓN DE DOCUMENTOS EN WEKA 1 Clasificación de ...³n... · categorías gramaticales, relaciones sintácticas, sentidos, relaciones anafóricas, estructuras retoricas, etc.

CLASIFICACIÓN DE DOCUMENTOS EN WEKA 1

Clasificación de Documentos en WEKA

Valeria Guevara

Thompson Rivers University

Author Note

This is a final project COMP 4910 for the bachelors of computing science from the

Thompson Rivers University supervised by Mila Kwiatkowska.

Page 2: CLASIFICACIÓN DE DOCUMENTOS EN WEKA 1 Clasificación de ...³n... · categorías gramaticales, relaciones sintácticas, sentidos, relaciones anafóricas, estructuras retoricas, etc.

CLASIFICACIÓN DE DOCUMENTOS EN WEKA 2

Abstract

Este proyecto se enfoca en la clasificación de documentos bilingües usando la minería

textual a través de modelos de clasificación generados por el open source software WEKA. Este

software de aprendizaje automático es un repositorio de algoritmos para descubrir conocimiento

donde fácilmente se puede preprocesar los documentos de entrenamiento. Por medio de este

software se podrá analizar y comparar los resultados de diferentes algoritmos basados en

medidas provenientes de una matriz de confusión. El resultado será la creación de una

investigación que permita la clasificación de documentos de texto en inglés y español en su

correspondiente categoría.

Palabras clave: Gestión de la información, conocimiento, minería de textos, información,

bibliotecarios, sociedad del conocimiento, clasificación de documentos.

Keywords: data mining, machine learning, weka, data, structural patters, structural descriptions,

decision trees, learning process, ARFF.

Page 3: CLASIFICACIÓN DE DOCUMENTOS EN WEKA 1 Clasificación de ...³n... · categorías gramaticales, relaciones sintácticas, sentidos, relaciones anafóricas, estructuras retoricas, etc.

CLASIFICACIÓN DE DOCUMENTOS EN WEKA 3

Indicé Introducción .................................................................................................................................. 5

Minería de texto ............................................................................................................................ 6 Relaciones de la minería de texto con otras disciplinas ......................................................... 7 Usos de la minería textual ........................................................................................................ 9

Técnicas de la minería de texto. ............................................................................................. 12 Metodología de la minería de texto ....................................................................................... 14

Adquisición de datos. .......................................................................................................... 16

Extracción de conocimiento ............................................................................................... 24 Antecedentes ................................................................................................................................ 29

Weka VS Otras Herramientas de Maquinas de Aprendizaje ............................................. 31 Instalación................................................................................................................................ 32 Ejecución.................................................................................................................................. 33

Datos de entrada. ................................................................................................................. 34 Preprocesamiento de datos................................................................................................. 37

Clasificación......................................................................................................................... 50 Experimentos ........................................................................................................................... 56

Adquisición de datos ........................................................................................................... 56

Preproceso de documentos. ................................................................................................ 58 Extracción de información ................................................................................................. 60

Evaluación................................................................................................................................ 61 Conclusión ................................................................................................................................... 64 Lista de referencias ..................................................................................................................... 69

Page 4: CLASIFICACIÓN DE DOCUMENTOS EN WEKA 1 Clasificación de ...³n... · categorías gramaticales, relaciones sintácticas, sentidos, relaciones anafóricas, estructuras retoricas, etc.

CLASIFICACIÓN DE DOCUMENTOS EN WEKA 4

Page 5: CLASIFICACIÓN DE DOCUMENTOS EN WEKA 1 Clasificación de ...³n... · categorías gramaticales, relaciones sintácticas, sentidos, relaciones anafóricas, estructuras retoricas, etc.

CLASIFICACIÓN DE DOCUMENTOS EN WEKA 5

Ingles Español Minería Textual

Introducción

La ciencia necesita información ordenada de su campo en específico con el fin de

generar nuevos conocimientos estructurados. Cada vez es más frecuente que los textos

especializados se encuentren en formato digital. El español es el Segundo idioma más hablado en

el mundo (Ethnologue, 2015). Por lo tanto existe una gran variedad de textos en español

almacenados en forma electrónica. Este corpus puede proporcionar información acerca de un

tema en específico. Por otro lado se puede generar nuevos conocimientos a partir de lo ya

conocido. Esto nos muestra el gran desafío multilingüe que la clasificación de texto enfrenta.

Con el fin organizar estos documentos, se ha empleado la minería de texto. El objetivo de

la minería textual es descubrir conocimiento que a partir de un corpus de texto recaudado. La

minería de texto procesa amplias colecciones de texto sin etiquetas que descubre información.

Esta explora amplias colecciones de texto en forma electrónica para buscar relaciones en su

contenido y así poder establecer patrones que extraen conocimientos útiles. La información de un

texto se puede absorber de un corpus dependiendo de la lengua. El corpus es un recurso con

información lingüística de diferente tipo que permite el trato del mismo conocimiento. El corpus

está formado con diferentes tipos de materia lingüística semántico, sintáctica, pragmática,

categorías gramaticales, relaciones sintácticas, sentidos, relaciones anafóricas, estructuras

retoricas, etc.

Este proyecto se enfoca en la clasificación de documentos en español usando la minería

textual a través del open source software WEKA. Este es un software de aprendizaje automático

Page 6: CLASIFICACIÓN DE DOCUMENTOS EN WEKA 1 Clasificación de ...³n... · categorías gramaticales, relaciones sintácticas, sentidos, relaciones anafóricas, estructuras retoricas, etc.

CLASIFICACIÓN DE DOCUMENTOS EN WEKA 6

que contiene un repositorio de algoritmos para descubrir conocimiento donde fácilmente se

puede preprocesar los documentos de entrenamiento. Por medio de este software se podrá

analizar y comparar los resultados de diferentes algoritmos basados en medidas provenientes de

una matriz de confusión. En la primera fase del proyecto se definirá la minería textual y su

relación con otras disciplinas. A continuación se presentaran artículos relacionados al uso de la

misma. Posteriormente se ejemplaran investigaciones relacionadas. Inmediatamente se

explicaran significantes métodos para el pre proceso de datos en la minería de texto. Cuando el

texto se encuentre en condiciones de ser clasificado se definirá el algoritmo C4.5 basado en

arboles de decisiones. En orden de demostrar lo aprendido se ejemplificara el uso de la

herramienta WEKA. Finalmente so concluirán los resultados obtenidos en los experimentos.

Adicionalmente se proporcionara un tutorial para el uso de WEKA en soporte a la minería

textual.

Minería de texto

El conocimiento se almacena primordialmente en documentos de texto como libros,

revistas, periódicos, diarios, artículos, correos, páginas web, cartas, etc. Esto ha generado la

necesidad de encontrar maneras de clasificar documentos y organizar su información de manera

innovadora y relevante en lugar de las tradicionales listas ordenadas. Cuando se trata de

investigar un tema concreto, se encuentra una infinidad de información que ha sido ordenada

como relevante. Sin embargo, toma muchas horas poder reconocer entre los millones

documentos el contexto correcto.

Page 7: CLASIFICACIÓN DE DOCUMENTOS EN WEKA 1 Clasificación de ...³n... · categorías gramaticales, relaciones sintácticas, sentidos, relaciones anafóricas, estructuras retoricas, etc.

CLASIFICACIÓN DE DOCUMENTOS EN WEKA 7

Con finalidad de asegurar su ordenamiento exacto, los documentos se han tenido que

categorizar manualmente. Esto ha hecho interesante encontrar la forma de organizar textos con

excelente rendimiento de clasificación. Como resultado, la minería de texto encontró nuevas

oportunidades de comprensión y análisis los documentos. La minería textual surgió con el

propósito de extraer, analizar y procesar textos procedentes de grandes conjuntos de datos así

como también facilitar su presentación para la comprensión de un nuevo conocimiento.

Asimismo Manuel Montes-y-Gómez define la minería textual como el proceso de

descubrimiento de patrones interesantes y nuevos conocimientos en una colección de textos, es

decir, la minería de texto es el proceso encargado del descubrimiento de conocimientos que no

existían explícitamente en ningún texto de la colección, pero que surgen de relacionar el

contenido de varios de ellos ([3] Hearst, 1999; [4] Kodratoff, 1999). En resumen, la minería

textual busca la extracción de patrones de una nueva idea a partir del análisis de grandes

colecciones de documentos con el objetivo de obtener nuevo conocimiento. Su finalidad es el

descubrimiento de grupos interesantes, tendencias, asociaciones y derivaciones en los patrones

encontrados y su visualización para la deducción de nuevas conclusiones.

Relaciones de la minería de texto con otras disciplinas

Partiendo de la definición anterior, la minería de texto tiene el objetivo de aprender de

datos de texto, existen otras técnicas como la minería de datos que de igual manera buscan

conocimiento a partir de un conjunto de datos. Estos términos como KDD, minería de datos y

minería de texto suelen relacionarse demasiado por la similitud en sus definiciones. El

descubrimiento de conocimiento en bases de datos o KDD por sus siglas en ingles ha sido

definido como el proceso para identificar aprovechables patrones entre datos.

Page 8: CLASIFICACIÓN DE DOCUMENTOS EN WEKA 1 Clasificación de ...³n... · categorías gramaticales, relaciones sintácticas, sentidos, relaciones anafóricas, estructuras retoricas, etc.

CLASIFICACIÓN DE DOCUMENTOS EN WEKA 8

Knowledge discovery in databases (KDD) es un proceso que administra los datos en

diversos pasos para extraer sus relaciones. Los primeros pasos son el entender y analizar estos

datos. La minería de texto necesita estos pasos de igual manera con el objetivo de convertir

datos de texto a un formato apropiado para ser analizado. La minería de datos se diferencia por

ser la extracción de patrones de datos que generan información para generar nuevo

conocimiento. Que a diferencia de a minería de texto se busca patrones de datos de texto para

generar conocimiento del mismo texto.

Considerando la minería de texto como un subconjunto de la minería de datos. La

minería de datos utiliza técnicas de las máquinas de aprendizaje para su desarrollo. Las máquinas

de aprendizaje son descritas por Witten, Frank y Hall como el proceso de abstracción que toman

los datos para inferir una estructura que los represente [1]. Asimismo, esta cuenta con métodos

que definen algoritmos de para la clasificación de los datos. La minería textual hace uso de estos

algoritmos que al aprender de grupo de ejemplos o “training set”, clasifican nuevos textos en

categorías analizadas. Se asume que estos algoritmos expresa el texto con valores numéricos en

forma de vector representando los pesos de los términos encontrados en el texto Berry, M. W., &

Kogan, J. (2010).

Existen otras técnicas basadas en el procesamiento de textos como la lingüística

computacional y la recuperación de información. La recuperación textual representa los

documentos relevantes a una interrogación y establece los mecanismos para satisfacer las

necesidades deseadas. Esta recuperación de texto no facilita el proceso de análisis ni tampoco la

extracción de nuevos conocimientos como lo hace la minería textual.

Al mismo tiempo, la lingüística computacional estudia el lenguaje natural con métodos

computacionales para hacerlos comprensibles por el sistema operativo. Esta ciencia utiliza el

Page 9: CLASIFICACIÓN DE DOCUMENTOS EN WEKA 1 Clasificación de ...³n... · categorías gramaticales, relaciones sintácticas, sentidos, relaciones anafóricas, estructuras retoricas, etc.

CLASIFICACIÓN DE DOCUMENTOS EN WEKA 9

análisis sintáctico y gramatical para la comprensión del lenguaje. Este procesamiento de texto en

formato electrónico permite la identificación de textos similares escritos en diferentes idiomas.

Aunque la minería textual demuestra tener diferentes objetivos a la lingüística computacional,

adopta técnicas de la propia.

Usos de la minería textual

Las herramientas de minería textual son importantes debido a que ofrecen el análisis de la

información acumulada en grandes volúmenes de documentos. La finalidad de estas

herramientas es ofrecer nuevo conocimiento. Entre estas funciones se encuentra:

La extracción de características: siendo el proceso para reconocimiento

automático de hechos presentes en los documentos. Trata de identificar

referencias a nombres de personas, instituciones, eventos, autoridades existentes y

sus relaciones.

La generación de agrupamiento también conocido como clustering: agrupa los

documentos similares sin conocimiento previo de las agrupaciones. Esto significa

que la agrupación será definida por el programa informático y no por una lista de

clases predefinidas. La similitud es establecida por la capacidad para formar

clases o categorías por la terminología encontrada en cada texto. La agrupación

automática facilita la comprensión de los documentos obteniendo la visión

general del texto. Otro uso es evaluar la relevancia de los documentos de cada

grupo. Además, identifica relaciones desconocidas y duplicados potenciales.

Conjuntamente, optimiza la organización de los resultados. [7](Brun & Senso,

2004).

Page 10: CLASIFICACIÓN DE DOCUMENTOS EN WEKA 1 Clasificación de ...³n... · categorías gramaticales, relaciones sintácticas, sentidos, relaciones anafóricas, estructuras retoricas, etc.

CLASIFICACIÓN DE DOCUMENTOS EN WEKA 10

La categorización automática determina el tema de que trata una colección de

documentos. Este a diferencia del clustering, decide la clase a la que un

documento pertenece dentro de una lista de clases predefinida. Como ejemplos se

tiene la detección de spam en emails, etiquetar automáticamente flujos de

artículos, etc. Cada categoría es entrenada a través de un precedente proceso

manual de categorización. La clasificación empieza con un conjunto de

entrenamiento de los documentos que son previamente clasificados; se crea un

modelo de clasificación que basado en el conjunto de ejemplos es capaz de

asignar la clase correcta de un nuevo documento del dominio. [8]Hotho, A.,

Nürnberger, A. & Paaß, G. (2005). Este modelo describirá el análisis de las

características de asignación, basándose en la similitud entre el nuevo documento

y los documentos de entrenamiento. El cálculo de similitudes es comúnmente

realizado identificando las relaciones de términos en forma conjunta dentro de los

documentos de entrenamiento y el nuevo documento.

Descubrimiento de asociaciones y desviaciones: permite detectar asociaciones a

diferentes niveles de generalización y desviaciones, dependiendo de los

subconjuntos de la colección. Se basan en el agrupamiento conceptual dentro del

texto. [5] Montes-y-Gómez, M. Su objetivo se enfoca en encontrar implicaciones

entre las características de los textos para pertenecer a una clase. Con el fin de

encontrar deviaciones, se identifican implicaciones raras o fuera de lo común

dentro del texto analizado.

Análisis de tendencias: se refieren a la detección de temas emergentes en los

textos. [9] Streibel, (2010). Este análisis observa patrones de cambios basados en

Page 11: CLASIFICACIÓN DE DOCUMENTOS EN WEKA 1 Clasificación de ...³n... · categorías gramaticales, relaciones sintácticas, sentidos, relaciones anafóricas, estructuras retoricas, etc.

CLASIFICACIÓN DE DOCUMENTOS EN WEKA 11

determinadas variables. Los números, palabras, personas o lugares definirán las

variables. Las tendencias emergentes son las temáticas de interés y utilidad en

cierto tiempo encontradas en el texto.

Aplicación de inteligencia estratégica o competitiva: identifica

información ventajosa de los competidores que ayude a la toma de decisiones.

Analiza datos, descubre patrones y revela fortalezas y estrategias encontradas en

documentos con temas de competidores. Permite anticipar las actividades de

competidores y visualiza posibles áreas de acción. El uso de la inteligencia

competitiva - con herramientas de minería de datos que analizan los medios

sociales en empresas y su competencia - pueden producir conclusiones que

ayudan a las empresas a tomar decisiones que mejoren su ventaja competitiva.

[10] Gémar, G., & Jiménez-Quintero, J. A. (2015).

Identificar ideas principales: reconoce y extrae los principales temas o ideas

tratados por la colección de documentos. A diferencia de la categorización de

documentos, este permite extraer los términos que son representativos del texto

sin asignarlos a una clase. Una idea se identifica buscando la ocurrencia de

términos y combinaciones de términos en los documentos. Al identificar cada idea

se creara redes conceptuales a través de los documentos que traten de la misma

idea.

Elaboración automática de resúmenes: generados mediante la extracción de frases

del documento original sin ser editados. La extracción es basada en la frecuencia

estadística de los términos encontrados así como de la posición que ocupan estas

frases en el texto. Facilita el análisis de grandes colecciones de documentos.

Page 12: CLASIFICACIÓN DE DOCUMENTOS EN WEKA 1 Clasificación de ...³n... · categorías gramaticales, relaciones sintácticas, sentidos, relaciones anafóricas, estructuras retoricas, etc.

CLASIFICACIÓN DE DOCUMENTOS EN WEKA 12

Visualización de documentos: interfaz que muestra los textos en un formato que

facilite la interpretación y navegación de colecciones de texto. Permite al usuario

puede navegar entre los resultados obtenidos de los documentos analizados.

Técnicas de la minería de texto.

Como se mencionó anteriormente, la minería de datos utiliza técnicas de aprendizaje

automático. La minería de texto al ser un subconjunto de la minería de datos adopta estas

técnicas para la identificación de patrones y comprensión de nueva información. Las técnicas de

aprendizaje se clasifican dependiendo de las relaciones de los datos de entrada. Los estilos de

aprendizaje que cada algoritmo puede adoptar se clasifican en adictivos e inductivos.

Dentro de los métodos adictivos se encuentran los métodos explicativos también

conocidos como aprendizaje analítico. Estos métodos de abducción tienen como objetivo

explicar el contexto.

Los métodos inductivos se subdividen en descriptivos y predictivos. Dentro de los

modelos descriptivos se encuentra el aprendizaje no supervisado y el análisis exploratorio. La

técnica de aprendizaje no supervisado o segmentación tiene como objetivo detectar las

agrupaciones y etiquetar las entradas a partir de un conjunto de observaciones sin conocer su

clasificación correcta, ejemplo: que grupos que forma y el número de grupos que encontró. El

análisis exploratorio detecta asociaciones, correlaciones y dependencias, ejemplo: valores

anómalos.

Dentro de los métodos inductivos predictivos se encuentra la interpolación, la

predicción secuencial y el aprendizaje supervisado. La interpolación es una función continua

sobre varias dimensiones, ejemplo: f(2,3)=?. La predicción secuencial ordena las observaciones

Page 13: CLASIFICACIÓN DE DOCUMENTOS EN WEKA 1 Clasificación de ...³n... · categorías gramaticales, relaciones sintácticas, sentidos, relaciones anafóricas, estructuras retoricas, etc.

CLASIFICACIÓN DE DOCUMENTOS EN WEKA 13

secuencialmente donde se predice el siguiente valor de la secuencia, ejemplo 1, 2, 3, 5, 7, ?. El

aprendizaje supervisado estudia un clasificador dependiendo de observaciones de los valores

de la clase a la que corresponde, ejemplo: 1,3->Si, 2,5->Si, 4,1->No, 3,9->?. [13] Hernández, J.,

Ramírez, M.J., & Ferri, C. (2004).

Para la extracción automática de conocimiento se emplea la técnica predictiva del

aprendizaje supervisado. Donde la base de conocimiento está formada por ejemplos etiquetados.

Estas técnicas se subdividen dependiendo si la información es cualitativa o cuantitativa. Se

estima una función cuando los valores deseados se corresponden con las etiquetas de cada clase.

A este se le llama “Clasificación” debido a que la información es cualitativa con clases disjuntas.

Se estima una correspondencia cuando la información es cuantitativa y las clases se pueden

solapar. A estas se les conoce como “Categorización”. En este problema de regresión la salida es

una clase o más. Técnicas de clasificación usan diversas metodologías. Entre ellas se encuentran

k-NN (vecino más cercano), k-medias (aprendizaje competitivo), árbol de decisiones de

aprendizaje, clasificadores Bayes, Máquinas de Vectores Soporte, entre otras.

Los arboles de clasificación también conocidos como arboles de decisiones representan el

conocimiento sobre el problema de clasificación mediante una estructura de árbol. Estos son

frecuentemente usados en análisis de decisión ya que ayudan a identificar la estrategia con mayor

probabilidad de éxito.

La mayoría de los algoritmos de árboles de clasificación empiezan a partir de un conjunto

de datos que contienen patrones etiquetados. Los patrones etiquetados se caracterizan por ser

distintas variables predictores y una clase. Estas variables son actuales valores de los atributos en

los datos. Este algoritmo inserta el valor de la variable clase en las distintas hojas del árbol

asignadas. Esta conjunto de reglas comienzan el en nodo raíz preguntando por el valor de una

Page 14: CLASIFICACIÓN DE DOCUMENTOS EN WEKA 1 Clasificación de ...³n... · categorías gramaticales, relaciones sintácticas, sentidos, relaciones anafóricas, estructuras retoricas, etc.

CLASIFICACIÓN DE DOCUMENTOS EN WEKA 14

variable. Cada rama derivada del nodo raíz corresponde a todos los posibles valores que esta

variable puede tomar. Se descenderá a partir de las respuestas de cada regla hasta llegar al nodo

hijo. Solo se puede recorrer un enlace único. Así consecutivamente en el sub árbol encontrado,

se decidirá el posible valor de la nueva regla o nodo padre del. Se definirá la clase a la que

pertenece cuando se alcance el nodo hijo, o nodo sin hijos. El resultado es la representación de

un árbol por medio de un conjunto de reglas.

Metodología de la minería de texto

Ye Nong en su libro “The Handbook of Data Mining” administra la minería de datos en

cuatro etapas. El primer paso es la colección de los datos. La segunda etapa será la preparación

de los datos. El tercer paso es medir la calidad de los datos o evaluar los resultados. Por último se

visualizaran el conocimiento generado. [14] (Ye, 2003). Por su parte, Gary Miner en su libro

”Practical Text Mining and Statistical Analysis for Non-structured Text Data Applications”

establece que es crucial colectar, organizar, analizar y asimilar la información.

Miner propone tres actividades diferentes con subtareas dependo de la información que se

desea generar. En este libro propone un diagrama detallado para la minería de texto. La primera

actividad proviene de una colección de documentos. Los textos con dominio específico deben ser

colectados y organizados. Se establece el corpus de la colección. La segunda actividad se trata

del pre proceso de los datos o estructuración de los datos. Esta segunda actividad es la encargada

de introducir una estructura al corpus proveniente de la etapa 1. Para finalizar se extrae el

conocimiento. Esta última actividad es la encargada de descubrir los patrones de los datos

previamente procesados. En esta etapa se puede proporcionar retroalimentación con la primera y

Page 15: CLASIFICACIÓN DE DOCUMENTOS EN WEKA 1 Clasificación de ...³n... · categorías gramaticales, relaciones sintácticas, sentidos, relaciones anafóricas, estructuras retoricas, etc.

CLASIFICACIÓN DE DOCUMENTOS EN WEKA 15

segunda actividad proporcionando correcciones y/o ajustes. Los patrones y asociaciones son

representados y visualizados. [15] (Miner 2012).

La imagen que nos presenta Gary Miner, describe la metodología de la minería de texto

de manera relevante para su práctica. Uysal, & Gunal citan un marco para la minería de texto

con las siguientes etapas: preprocesamiento, extracción de características, selección de

características y etapas de clasificación. [17] Uysal, & Gunal, (2014). Uysal, & Gunal no

contemplan la actividad de colección de los datos como lo hacen Gary Miner o Ye Nong para a

minería de datos. Para fines de este proyecto se nombrara una metodología de la minería textual

para la clasificación de texto que contempla la colección de datos. Este marco se representara en

cuatro etapas, adquisición de datos, preproceso de documentos, extracción de información y

Page 16: CLASIFICACIÓN DE DOCUMENTOS EN WEKA 1 Clasificación de ...³n... · categorías gramaticales, relaciones sintácticas, sentidos, relaciones anafóricas, estructuras retoricas, etc.

CLASIFICACIÓN DE DOCUMENTOS EN WEKA 16

evaluación de los resultados. Witten, Frank and Hall hacen mención a estos pasos en su obra

para el uso de la herramienta WEKA Witten, I. H., Frank, E. ;., & Hall, M. A. (2011).

Adquisición de datos.

En esta primera etapa se empieza creando un mecanismo para colectar los textos. Los

datos deben ser colectados en cierta forma que pueda crear un grupo de entrenamiento de datos.

Se debe seleccionar los correctos textos decidiendo la relevancia de los hechos problemáticos y

la finalidad del conocimiento a generar. Estas relevancias dependen en las necesidades del

algoritmo y del problema de negocio. Esta colección de datos de entrada deberá ser almacenada

de cierta manera para poder ser procesada.

Datos de entrada.

Las técnicas de máquinas de aprendizaje operan con diferentes formas de datos de

entrada. Witten, Frank and Hall consideran tres datos de entrada en minería de datos. Estos son

los conceptos, instancias y atributos. Los conceptos especifican lo que se desea aprender. El

concepto parte de grupo de ejemplos clasificados que representan el aprendizaje. Una instancia

representa los datos que contiene una clase a ser clasificada, asociada, o agrupada. Una instancia

es un tipo de ejemplo individual e independiente. Las instancias contienen un conjunto de

características específicas denominadas atributos. Un atributo en una instancia representa el

nivel de medición de dicho atributo en esa instancia.

Dada la distinta naturaleza de los datos, las posibles cantidades de atributos son

clasificados como nominales y ordinales. Los atributos nominales también conocidos como

categóricos son un conjunto finito de símbolos distintos. Por ejemplo etiquetas o nombres o

Page 17: CLASIFICACIÓN DE DOCUMENTOS EN WEKA 1 Clasificación de ...³n... · categorías gramaticales, relaciones sintácticas, sentidos, relaciones anafóricas, estructuras retoricas, etc.

CLASIFICACIÓN DE DOCUMENTOS EN WEKA 17

lugares. Los atributos ordinales también referenciados como continuos o numéricos son

representaciones de medidas de secuencia significativa. Estos hacen posible manejar un orden

pero no una distancia. Por ejemplo bajo < medio < alto. S. S. Stevens en 1946 propone una

división de las escalas de medición para procesos estadísticos de clasificación. [16] Stevens, S.

(1946).

La minería de datos adopta esta jerarquía para clasificar correctamente el tipo atributo.

Los cuatro niveles de medición son divididos en los ya mencionados nominales y ordinales

agregando intervalo y ratio, razón o porción. Se describen como atributos de intervalo a las

escalas métricas que tienen constantes distancias iguales entre sus valores. Se miden en una

escala lineal donde el cero es arbitrario, pudiendo tomar valores positivos como negativos. Por

ejemplo temperaturas en Fahrenheit o Celsius. Por último los atributos de razón o proporción

son atributos de intervalo con la propiedad de que su posición en cero indicara nada o nulo. Por

ejemplo el peso, la altura, el pulso, etc. La minería de texto al ser un subconjunto de la minería

de datos, utiliza esta clasificación de datos de entrada para cumplir sus objetivos.

La minería textual necesita juntar y especificar la colección de datos (un conjunto de

instancias). Los ejemplos contendrán atributos nominales que representaran el texto. Estas

instancias deben ser integradas de una manera limpia y clara en un formato de uno conjunto de

atributos nominales. Los conjuntos de instancias se representan en una matriz de instancias y

atributos del concepto. Estas matrices también llamados “datasets” contienen todos los ejemplos

de los documentos seleccionados como relevantes.

En el caso particular de la herramienta WEKA, utiliza un formato estándar especial para

representar la colección de documentos de texto. Los archivos ARFF representan las instancias

que comparten un conjunto de atributos. Los Formato de Archivo Atributo Relación por sus

Page 18: CLASIFICACIÓN DE DOCUMENTOS EN WEKA 1 Clasificación de ...³n... · categorías gramaticales, relaciones sintácticas, sentidos, relaciones anafóricas, estructuras retoricas, etc.

CLASIFICACIÓN DE DOCUMENTOS EN WEKA 18

siglas en ingles son divididos en 3 secciones, relación, atributo y datos. Más adelante se

describirán estos archivos con detalle.

Preproceso de los datos.

Esta etapa se basa en la preparación del texto que consiste en su selección, limpiado y

preprocesamiento en base al concepto. Proporciona la base para la aplicación de las

metodologías de la minería de texto. Esta etapa se logra usando una serie de operaciones sobre el

texto y generar algún tipo de información estructurada o semiestructurada para su análisis. La

representación del texto es esencial para su preproceso. Esta etapa se realiza sobre el conjunto

de documentos previamente colectados donde son limpiados, comprimidos y transformados en

fragmentos importantes que proporcionen información.

Representaciones del texto.

Los documentos exigen ser representados de una manera estructurada para poder ser

preprocesados. Textos en lenguaje natural pueden verse como un conjunto de léxico (palabras)

que mediante uniones (reglas gramaticales) permiten construir fragmentos con significado

(semántica) cuya unión (coherencia) aporta un conocimiento. [21] Muñoz, A., & Álvarez, I.

(2014). La manera más popular de representar los documentos es por medio de un vector. El

vector contiene todas las palabras encontradas en el texto indicando su ocurrencia en el mismo.

Esta representación es generalmente usada en enormes dimensiones de documentos de texto que

generan un largo número de valores.

Modelo de Espacio Vectorial - VSM.

Page 19: CLASIFICACIÓN DE DOCUMENTOS EN WEKA 1 Clasificación de ...³n... · categorías gramaticales, relaciones sintácticas, sentidos, relaciones anafóricas, estructuras retoricas, etc.

CLASIFICACIÓN DE DOCUMENTOS EN WEKA 19

El vector más usado es el VSM, modelo de espacio vectorial propuesto por Salton,

Wong y Yang. Este modelo representa cada documento como una secuencia (o lista ordenada) de

n elementos con números reales no negativos. Cada término presente en el texto es representado

con una coordinada. Las coordinadas miden el valor (peso) de la importancia del término con

valores más altos para representar un término muy importante en el documento. La coordenada

con menor valor representa poca importancia del término. Este modelo define la similitud entre

los vectores. [18] ( Salton, G., Wong, A., & Yang, C. S. (1975).

TSM modelo de espacio tensor.

Además del modelo de espacio vectorial se utiliza el modelo de espacio tensor (TSM).

Tensor space model en contraste con VSM , TSM representa un documento de texto mediante

los tensores de orden superior en lugar de vectores [19] .

N-grams.

La minera textual utiliza considerablemente los n-grams o términos compuestos. Estos

gramos regulan la secuencia de una n número de palabras. Son básicamente un conjunto de

palabras consecutivas dentro de un texto. Son conocidos como sintagmas estadísticos o conjunto

de n palabras o raíces de palabras. Un sintagma estadístico es un grupo de dos o más palabras

que se repiten en lugares vecinos con una necesaria frecuencia dentro de los documentos de texto

en la colección. Por ejemplo, ”minería textual” representa dos palabras “minería” y “textual”

con propios significados que a su vez al ser interpretadas de manera conectada proporciona un

significado diferente. Estos tienen sus propios nombres dependiendo del número de palabras que

se pueden encontrar conectadas o n. En el caso de n=1 se le llama unigram , n=2 bigrama y n=3

trigrama.

Page 20: CLASIFICACIÓN DE DOCUMENTOS EN WEKA 1 Clasificación de ...³n... · categorías gramaticales, relaciones sintácticas, sentidos, relaciones anafóricas, estructuras retoricas, etc.

CLASIFICACIÓN DE DOCUMENTOS EN WEKA 20

El algoritmo se basa en 3 partes, la separación de tokens, la generación de los n-grams y

la adición de los n-grams a una estructura de datos generalmente lista. [22] Ramesh, B., Xiang,

C., & Lee, T. H. (2015). Como resultado, Google y Microsoft han desarrollado modelos de n-

gram escala Web donde se ocupan para la corrección ortográfica, el resumen de texto y el

quebramiento de palabras.

Bolsa de palabras.

Modelo que representa el documento como un contenedor que contiene las palabras

encontradas en el documento. Bag of Words (por su nombre en inglés) considera las palabras

sencillas directamente como términos de indización. Estas bolsas asumen la correspondencia

entre los términos y los conceptos que estos representan sin considerar el orden y la gramática o

dependencia semántica entre los términos. La clasificación de documentos utiliza estos métodos

debido a que la frecuencia de la palabra se usa como instrumento para entrenar el clasificador.

Munková, D., Munk, M., & Vozár, M concluyen que Existen otras representaciones del

texto además de VSM y TSM como vectores estas son: n-grams, Naturaleza del Procesamiento

del Lenguaje, Bolsas de Palabras y Clusters de Palabras Distributivas. Sin embargo todos estos

métodos consideran únicamente la frecuencia de los términos de las palabras incidentes en los

textos, por lo que ignoran la importancia en el que estas ocurren. [20] Munková, D., Munk, M.,

& Vozár, M. (2013).

Procesamiento lingüístico del lenguaje natural.

Dependiendo del tipo de operaciones usadas en este preproceso de datos, será el tipo de

patrones a descubrir en esta colección. Cada utilidad debe preprocesar los datos de manera

Page 21: CLASIFICACIÓN DE DOCUMENTOS EN WEKA 1 Clasificación de ...³n... · categorías gramaticales, relaciones sintácticas, sentidos, relaciones anafóricas, estructuras retoricas, etc.

CLASIFICACIÓN DE DOCUMENTOS EN WEKA 21

diferente para cumplir su finalidad. En el caso de la categorización automática de documentos su

preproceso único también depende del conocimiento a descubrir. A continuación se describirán

las tareas importantes para el preprocesamiento con la finalidad de categorizar automáticamente

documentos de texto.

Stemming.

Un algoritmo de stemming elimina los morfemas y encuentra las relaciones entre las

palabras no tematizadas y su lexema. Elimina los morfemas con el objeto de reducir a la palabra

a su raíz. Informa la raíz lingüística a la que pertenece. La definición de cocales es diferente en

cada idioma. En español las letras incluyen las formas acentuadas siguientes: á é í ó ú ü ñ. Con

esto se establece las siguientes letras como vocales: a e i o u á é í ó ú ü. La mayoría de los

analizadores lingüísticos utilizan el mismo algoritmo para la stemmig. En esta se definen las

regras R! y R” para remover los finales de las palabras. R1 como la región nula al final de la

palabra, si no hay consonante y R2 que es la región nula al final de la palabra en R1, si no hay

consonante. [35] Snowball.tartarus.org,. (2015). Por ejemplo la palabra ELECTRICITY en

ingles tiene R1 como ICITY y R2 como ITY.

Lexematización.

La lexematización es una parte del procesamiento lingüístico que trata de determinar el

lema de cada palabra que surge en los documentos. Las palabras son reducidas de género,

numero, adjetivos y tiempos verbales a su raíz. Las raíces se utilizan como términos de

indización en lugar de utilizar palabras. Esta tiene como ventaja la reducción del número de

unidades de representación del que se compone el diccionario. El mismo término debe ser

Page 22: CLASIFICACIÓN DE DOCUMENTOS EN WEKA 1 Clasificación de ...³n... · categorías gramaticales, relaciones sintácticas, sentidos, relaciones anafóricas, estructuras retoricas, etc.

CLASIFICACIÓN DE DOCUMENTOS EN WEKA 22

estandarizado a una sola forma que a diferencia del stemming, la lexematización reporta la forma

básica de la palabra antes de su cambio para expresar tiempo, modo, persona, número, caso, y

género. [23] Ferilli, Esposito, Grieco, (2014). Por ejemplo, estudiante, estudiar, estudiamos,

estudio. La tematización reduce todas las palabras con la misma raíz por medio de una base de

conocimiento sobre las distintas flexiones.

Palabras vacías.

Las palabras vacías o stop words son los términos que se han generalizado y son

abundantes en cualquier tipo de texto, no son informativos del el contenido de un texto. Por

ejemplo artículos, preposiciones, pronombres, etc. Se excluyen las palabras vacías para eliminar

los términos que no auxilian a generar conocimiento del texto. La eliminación de las palabras

vacías es una técnica de la programación lenguaje natural a nivel léxico. [23] Ferilli, Esposito,

Grieco, (2014). Existen listas predefinidas de palabras vacías para cada corpus textual.

Identificación segmentos repetidos.

Secuencia de palabras que al ser usadas de forma conjunta tienen un significado especial.

Estos conjuntos de palabras se repiten continuamente en los textos. Al ser divididos estas

palabras pierden significado causando descontextualización. Por ejemplo “ingeniería

económica”, “marketing internacional”, “minería textual”, “máquinas de aprendizaje

automatico”, etc. La minería textual en la clasificación de documentos utiliza la extracción de

estos términos para encontrar los conceptos que representen el contenido del texto. Al identificar

estos segmentos se aplican estadísticas que seleccionen los de mayor frecuencia. [7] Brun, R.E.,

& Senso, J.A. (2004).

Page 23: CLASIFICACIÓN DE DOCUMENTOS EN WEKA 1 Clasificación de ...³n... · categorías gramaticales, relaciones sintácticas, sentidos, relaciones anafóricas, estructuras retoricas, etc.

CLASIFICACIÓN DE DOCUMENTOS EN WEKA 23

Tokenización.

La tokenización es la forma de separar el texto en palabras comúnmente llamadas tokens.

Este proceso toma en cuenta que las palabras pueden estar interrumpidas por un final de línea,

están pegadas a signos de puntuación, no siempre están separadas por espacios y no siempre los

espacios en blanco separan las palabras. Los signos de puntuación en español son “, ; . : ¿ ? ¡ ! -

-- ( ) [ ] ’ " << >> “ donde el punto y el guion corto son ambiguos. En español a diferencia de

inglés contempla un signo de inicio y otro de fin en una exclamación. En español se deben

considerar palabras multi-palabras llamadas locuciones como “pre procesos”.

Segmentación.

Esta consiste en partir el texto en frases y/o párrafos usando signos de puntuación

abreviaciones, acrónimos o números.

Conversión a letras minúsculas.

Las mayúsculas ocupan un papel importante. Estas se encuentran al principio de una frase

y también pueden representar nombres propios. En el caso de no ser nombres propios, convendrá

convertirlas a minúsculas para tratarlas posteriormente.

Identificación de nombres propios.

Los nombres propios son nombres de personas, instituciones, compañías, eventos,

funciones, cantidades monetarias y fechas. Estos prototipos se basan en reglas heurísticas para

identificar fragmentos que corresponden a un nombre propio. La minería textual procura

Page 24: CLASIFICACIÓN DE DOCUMENTOS EN WEKA 1 Clasificación de ...³n... · categorías gramaticales, relaciones sintácticas, sentidos, relaciones anafóricas, estructuras retoricas, etc.

CLASIFICACIÓN DE DOCUMENTOS EN WEKA 24

identificar las relaciones que existen entre los nombres propios encontrados en el texto. [7]

Brun, R.E., & Senso, J.A. (2004).

Poda

Mejor conocido en inglés como pruning, quita palabras de baja frecuencia

Extracción de conocimiento

Esta etapa se encarga del análisis del texto para proporcionar conocimiento. También

conocido como clasificador. Después del preproceso de datos, estos son analizados para obtener

los resultados deseados. Como se mencionó previamente la minería textual es usada con

diferentes propósitos como clasificación de documentos o la creación de resúmenes.

En lo que concierne a la minería textual para clasificación de documentos, el clasificador

busca aprender una función que relaciones cada atributo de la instancia con una clase

predefinida. En el caso de documentos las clases serán atributos nominales de la instancia,

debido a que las categorías no necesitan representar un orden entre ellas (atributos ordinales).

Esta función es conocida como modelo de clasificación. Este modelo puede ser descriptivo o

predictivo. Los modelos descriptivos son herramientas que explican la diferencia entre clases.

Los modelos predictivos son usados para predecir la clase a la que una instancia pertenece.

Como se había mencionado previamente, las técnicas de máquinas de aprendizaje pueden

ser k-NN (vecino más cercano), k-medias (aprendizaje competitivo), árbol de decisiones de

aprendizaje, clasificadores Bayes, Máquinas de Vectores Soporte, rule-base clasificadores, entre

otras. Las técnicas de clasificación usan los algoritmos de máquinas de aprendizaje más

convenientes. Los arboles de decisiones son los algoritmos más simples y amplios para la tarea

de clasificación.

Page 25: CLASIFICACIÓN DE DOCUMENTOS EN WEKA 1 Clasificación de ...³n... · categorías gramaticales, relaciones sintácticas, sentidos, relaciones anafóricas, estructuras retoricas, etc.

CLASIFICACIÓN DE DOCUMENTOS EN WEKA 25

Los modelos de árbol de decisión tienen diferentes usos. Entre ellos se encuentra la

selección de variables (seleccionar las variables más importantes), encontrar la importancia de

las variables (variables con roles de importancia mayor), manejo de valores perdidos, predicción

y manipulación de la información [25] (Yan-yan, y Ying, 2015).

Modelo de Arboles de decisiones

Anteriormente se describió como los arboles de decisiones representan el conocimiento

sobre el problema de clasificación mediante una estructura de árbol. Los componentes de un

árbol de decisión son el nodo raíz, los nodos internos los nodos hojas y las ramas. Un nodo raíz

es la raíz representan una opción que generara una subdivisión del mismo. Los nodos internos

son los nodos de oportunidad ya que representa una de las opciones disponibles a ese nivel del

árbol. Los nodos hojas representan el resultado final de la combinación de decisiones tomadas

previamente. Las ramas son las posibles combinaciones de decisiones en formato if-then que el

árbol ofrece.

Pasos para construir un modelo de árbol de decisión.

Yan-yan, y Ying señalan la división, la detención y la poda como los pasos más

importantes para construir un modelo de árbol de decisión. Señalan la división cuando al crear el

modelo se debe de identificar el atributo más importante. Con base en esa identificación se deben

separar os registros al nodo raíz y a los nodos internos correspondientes. La detención evita que

el modele resulte demasiado complejo o largo, mediante parámetros en la detección de reglas. La

poda no considera la detención. Esta crea el árbol con una profundidad elevada y luego lo poda

eliminando los nodos que no proporcionan la información relevante. [25] (Yan-yan, y Ying,

2015).

Page 26: CLASIFICACIÓN DE DOCUMENTOS EN WEKA 1 Clasificación de ...³n... · categorías gramaticales, relaciones sintácticas, sentidos, relaciones anafóricas, estructuras retoricas, etc.

CLASIFICACIÓN DE DOCUMENTOS EN WEKA 26

[11]Quinlan un ingeniero informático en 1986 presenta uno de los algoritmos más

populares llamado ID3. En [12] 1993John Quinlan propone el algoritmo C4.5 que mejoran su

trabajo previo con ID3. El algoritmo C4.5 elimina las ramas que no aportan decisiones

concluyentes, maneja los atributos con costos diferentes y maneja los valores de atributos

desconocidos para manejarlos como faltantes.

Cuartas, Anzola y Tarazona definen en su artículo la metodología de construcción del

árbol de decisiones C4.5 en 4 pasos. El primero es el analizar la lista de atributos. El segundo es

dividir la información en sub conjuntos. El siguiente paso es identificar el atributo con más

relevante de la información y reconocerlo como parámetro de decisión. Por último se clasifica la

información conforme al parámetro de decisión [24] (2015). Este algoritmo tambien conocido

como J48 por su implementacion en java el software WEKA.

Evaluación de resultados.

Aunque los modelos de las máquinas de aprendizaje proporcionan un grado alto de

satisfacción en sus resultados, pueden crear inferencias erróneas. Con el fin de minimizar estos

errores, la clasificación de documentos evalúa los modelos para identificar el desempeño en sus

predicciones. Con el fin de encontrar una técnica de predicción apropiada para la clasificación de

documentos, se debe crear comparaciones entre distintos resultados. Estas igualaciones deben ser

medidas con valores comparativos. Existen muchos enfoques para la evaluación de los

algoritmos de máquinas de aprendizaje. Las medidas de rendimiento de modelos de predicción

se basan en el análisis de los datos generados por una matriz de confusión. [27] Ostrand, T., &

Weyuker, E. (2007). Las predicciones de clases automáticas para las instancias proporcionadas

generan resultados binarios donde la clase predicha es verdadero o falso. Los modelos que

Page 27: CLASIFICACIÓN DE DOCUMENTOS EN WEKA 1 Clasificación de ...³n... · categorías gramaticales, relaciones sintácticas, sentidos, relaciones anafóricas, estructuras retoricas, etc.

CLASIFICACIÓN DE DOCUMENTOS EN WEKA 27

reportan resultados de forma binaria pueden tener un rendimiento predictivo expresado en una

matriz de confusión. [28] Bowes, D., Hall, T., & Gray, D. (2013).

La matriz de confusión representa el valor de predicción que coincide con los resultados

de las clasificaciones predichas. Muestra en una manera fácil en cuantas veces las predicciones

del modelo fueron hechas correctamente. Es un resultado que computa todas las instancias de

cada categoría y sus totales. a matriz implica dos clases a predecir. Los resultados de las

comparaciones en el modelo de predicción son medidas para ser consideradas correctas. Estos

resultados se clasifican en cuatro categorías. Este valor de las categorías representa el número de

casos pronosticados para evaluar la exactitud del modelo de predicción. Los cuatro posibles

resultados son: verdaderos positivos, falsos positivos, verdaderos negativos y falsos negativos.

Los resultados son conocidos en ingles con sus abreviaciones TP, FP, TN y FN respectivamente.

MATRIZ DE CONFUSIÓN

Clase A Clase no A

TP FN Clase A positiva

FP TN Clase A negativa

TP - verdaderos positivos: predicciones correctas cuando la instancia es positivo. Estos

son el número de predicciones correctas para la clase positiva. Estos resultados señalan que la

instancia positiva fue predicha en la clase que le corresponde. [29] Spasić, Livsey, Keane, and

Nenadić, G. (2014).

TN - verdadero negativo: predicciones correctas cuando la instancia es negativa. Estos

son el número de predicciones correctas para la clase negativa. Estos muestran una instancia

negativa clasificada correctamente.

Page 28: CLASIFICACIÓN DE DOCUMENTOS EN WEKA 1 Clasificación de ...³n... · categorías gramaticales, relaciones sintácticas, sentidos, relaciones anafóricas, estructuras retoricas, etc.

CLASIFICACIÓN DE DOCUMENTOS EN WEKA 28

FP - falsos positivos: predicciones falsas cuando la instancia es positivo. Estos son el

número de predicciones incorrectas para la clase positiva. Estos resultados expresan que la

instancia positiva fue clasificada en una clase incorrecta.

FN - falsos negativos falsas predicciones cuando la instancia es negativo. Estos

representan el número de predicciones incorrectas para la clase negativa. Estos señalan una

instancia negativa clasificada incorrectamente.

Las medidas se basan en los resultados de las matrices de confusión. Entre ellas se

encuentran la exactitud, la tasa de error, probabilidad de falsa alarma, sensibilidad, especificidad,

precisión, medida-f, equilibrio, G-mean, Mathews coeficiente de correlación, entre otras.

La exactitud (ACC) o la tasa de clasificación correcta debido a que busca el valor

verdadero de concentración. Esta representa el porcentaje de todas las predicciones correctas

calculadas con (TN + TP) / (TN + TP +FN + FP).

La especificidad (SPC) o verdadera tasa negativa (TNR) mide el porcentaje de instancias

negativas que fueren predichas correctamente como negativas. Es calculada para evitar falsos

positivos con la siguiente formula TN / (TN+FP).

Los valores de falsa tasa negativa son calculados con FN / (TN+FP), para representar el

porcentaje de los negativos resultados incorrectos. [26] Spasić, I., Livsey, J., Keane, J., &

Nenadić, G. (2014).

La precisión y exhaustividad son métricas de relevancia para la clasificación de

documentos. [28] Bowes, D., Hall, T., & Gray, D. (2013). La primera es llamada precisión o

valor positivo de predicción (PPV) es el valor de los casos positivos que se predijo

correctamente. Representa el porcentaje de predicciones correctas positivas. Esta métrica

Page 29: CLASIFICACIÓN DE DOCUMENTOS EN WEKA 1 Clasificación de ...³n... · categorías gramaticales, relaciones sintácticas, sentidos, relaciones anafóricas, estructuras retoricas, etc.

CLASIFICACIÓN DE DOCUMENTOS EN WEKA 29

describe la proporción de predicciones inequívocas. La precisión mide el porcentaje de las

predicciones positivas correctas que son verdaderamente positivas con TP / (TP+FP).

La segunda es exhaustividad, sensibilidad o o la verdadera tasa positiva (TPR)

representa la habilidad para predecir instancias positivas sobre el total de todas las instancias

positivas. La sensibilidad es la capacidad de detectar los casos positivos sobre el total de todos

los casos positivos. Esta describe el porcentaje de instancias positivas correctamente predichas.

Se mide en base a la siguiente formula: TP / (TP+FN).

Estas medidas son opuestas por naturaleza que para ser balanceadas se desarrolla el

medida – Fβ. Esta medida compuesta describe la proporción de instancias erróneamente

predichas. La medida-f consiste en ajustar las medidas de precisión y exhaustividad a un valor de

importancia llamado “β”. Su resultado serán valoraciones que van de 0 a 1. El clasificador

optimo será el que consiga un valor de 1 en su medid–fβ . La fórmula que considera como β = 1

es la que ajustada a no tener preferencia por ninguna medida. Siendo como resultando F1 la

medida calculada con la siguiente ecuación (2 * Precisión * Exhaustividad) / (Precisión +

Exhaustividad). 29] Spasić, Livsey, Keane, and Nenadić, G. (2014).

Antecedentes

Una vez entendiendo la minería de texto se podrán describir la importancia de la misma.

Esta es una parte importante para el descubrimiento de procesos que pueden analizar gigantes

cantidades de información oculta. Existe gran cantidades de investigaciones en de la minería

textual en diversos campos. Uno de esos campos radica en una de las principales preocupaciones

Page 30: CLASIFICACIÓN DE DOCUMENTOS EN WEKA 1 Clasificación de ...³n... · categorías gramaticales, relaciones sintácticas, sentidos, relaciones anafóricas, estructuras retoricas, etc.

CLASIFICACIÓN DE DOCUMENTOS EN WEKA 30

de los seres humanos a vivir de manera saludable. La creciente importancia de la salud mundial

en los asuntos internacionales busca generar mecanismos innovadores. Para conseguir estos

objetivos la minería de texto brinda la oportunidad de descubrir información relevante.

Actualmente existe una grande cantidad importante de investigaciones que ayuda a la

medicina. La minería de datos no solo se ocupa en la medicina, también en los negocios, clima,

transportación, gobierno, seguros, etc. La minerías de datos al ser aplicada en una industria en

específico proporciona privacidad, seguridad y precisión.

En este projecto se describirá el uso de la herramienta Weka para la clasificación de

documentos. para esto se utilizara un concepto de medicina en dos corpus, inglés y español.

Page 31: CLASIFICACIÓN DE DOCUMENTOS EN WEKA 1 Clasificación de ...³n... · categorías gramaticales, relaciones sintácticas, sentidos, relaciones anafóricas, estructuras retoricas, etc.

CLASIFICACIÓN DE DOCUMENTOS EN WEKA 31

Weka

Weka es un ave nativa de Nueva Zelanda que no vuela pero tiene predilección por

objetos brillantes. [30] Newzealand.com,. (2015). Viejas leyendas de nueva Zelanda cuentas que

estas aves roban artículos brillantes. La universidad de Waikato de nueva Zelanda inicio el

desarrollo de una herramienta con ese nombre debido a que esta contendría algoritmos para el

análisis de datos. Actualmente el paquete de WEKA es una colección de algoritmos de las

máquinas de aprendizaje para tareas de la minería de datos. El paquete de Waikato Environment

for Knowledge Analysis contiene herramientas para el preproceso de datos, clasificación,

regresión, clustering, reglas de asociación y visualización. [31] Hall, M., Frank, E., Geoffrey,

H., Pfahringer, B., Reutemann, P., & Witten, I. H. (2009). Este software analiza grandes

cantidades de datos y decide cual es la más importante. Su objetivo es hacer predicciones

automáticas que ayuden a la toma de decisiones.

Existen otras herramientas para la minería de datos como RapidMiner, IBM Cognos

Business Intelligence, Microsoft SharePoint and Pentaho. IBM Cognos Business Intelligence,

proporciona una visualización no muy amigable para el usuario. Microsoft SharePoint crea

modelos predictivos del negocio pero la minería de su información no es su objetivo principal.

Donde RapidMiner cuenta con una grandiosa visualización de resultados pero los datasets son

cargados más lentos que en Weka. Pentaho su interfaz grafica es difícil de comprender al no

describir sus opciones como Weka lo hace.

Weka VS Otras Herramientas de Maquinas de Aprendizaje

Page 32: CLASIFICACIÓN DE DOCUMENTOS EN WEKA 1 Clasificación de ...³n... · categorías gramaticales, relaciones sintácticas, sentidos, relaciones anafóricas, estructuras retoricas, etc.

CLASIFICACIÓN DE DOCUMENTOS EN WEKA 32

La herramienta Weka implementa técnicas de máquinas de aprendizaje implementadas en

java fáciles de aprender bajo una licencia pública general de GNU. WEKA proporciona tres

maneras para poder ser usada, mediante su interfaz gráfica, por línea de comando y sus interfaces

códigos de aplicación de interfaces en lenguaje java API. Aunque WEKA no ha sido usada

primordialmente para predicciones en solución de problemas de negocios, esta ayuda a la

construcción de nuevos algoritmos. Por lo tanto resulta ser el software ms óptimo para el análisis

inicial de los datos, clasificaciones, algoritmos de clustering, investigaciones.

En este proyecto se utilizara la herramienta WEKA para la crear un modelo predictivo

para clasificación de textos usando sus algoritmos de algoritmos de máquinas de aprendizaje.

Instalación

Weka se puede descargar en esta dirección: http://www.cs.waikato.ac.nz/~ml/weka/. En

este caso se hablara de la última versión Weka 3.6.12. En esta misma URL se puede encontrar

las instrucciones para ser instalado en diferentes plataformas.

En Windows Weka debe estar situado en el lanzador del programa localizado en una

carpeta de la versión de Weka descargada, en este caso weka-3-6. El directorio por defecto de

Weka será el mismo directorio en que el archivo este cargado.

Para Linux se tendrá que abrir una terminal y escribir: java -jar

/installation/directory/weka.jar.

Suele ser común encontrar un error de insuficiencia de memoria, que a su vez se

soluciona especificando los GB por ejemplo 2GB sera "-Xmx2048m" en los archivos de

instalación. Se encontrara más información en weka.wikispaces.com/OutOfMemoryException .

Page 33: CLASIFICACIÓN DE DOCUMENTOS EN WEKA 1 Clasificación de ...³n... · categorías gramaticales, relaciones sintácticas, sentidos, relaciones anafóricas, estructuras retoricas, etc.

CLASIFICACIÓN DE DOCUMENTOS EN WEKA 33

se puede ordenar con el parámetro –Xms y –Xmx que indica la memoria RAM mínima y

máxima respectivamente .

En windows se puede editar el archivo RunWeka.ini o RunWeka.bat en el directorio de

instalación de Weka se debe cambiar la línea maxheap = 128m por maxheap = 1024m. No se

puede asignar más de 1.4G a una JVM. También se puede asignar a la máquina virtual con una

con el mandato:

java -Xms<memoria-mínima-asignada>M

-Xmx<memoria-máxima-asignada>M -jar weka.jar

[32] Garcia, D., (2006).

En linux se utiliza la opción -XmMemorySizem, reemplazando MemorySize por el

tamaño requerido en megabytes. Por ejemplo:

java -jar -Xm512m /instalación/directorio/weka.jar.

Ejecución

La primera pantalla de Weka mostrara en un seleccionador se interfaces llamado

“Applications” donde se en esta versión se despliegan las sub-herramientas Explorer,

Experimenter, KnowledgeFlow y Simple CLI. Explorer se encarga de realizar operaciones de

exploración sobre un conjunto de datos. Experimenter efectúa experimentos para crear contrastes

estadísticos de manera automatizada diferentes algoritmos de distintos datos. KnowledgeFlow

muestra de forma gráfica el panel de trabajo del funcionamiento de Weka. Simple CLI o simple

client que proporciona la interfaz de líneas de comandos para poder introducir mandatos.

La principal interfaz de usuario es “Explorer” compuesta por seis paneles. Preprocess es

la primera ventana abierta para esta interfaz. En esta ventana los datos son cargados. Weka

Page 34: CLASIFICACIÓN DE DOCUMENTOS EN WEKA 1 Clasificación de ...³n... · categorías gramaticales, relaciones sintácticas, sentidos, relaciones anafóricas, estructuras retoricas, etc.

CLASIFICACIÓN DE DOCUMENTOS EN WEKA 34

acepta cargar el conjunto de datos desde una URL, base de datos, archivos CSV o ARFF. Los

archivos ARFF es el primordial formato para usar cualquier tarea de clasificación en WEKA.

Datos de entrada.

Como se describió previamente se consideran tres datos de entrada en minería de datos.

Estos son los conceptos, instancias y atributos. Un archivo Atributo-Relación File Formato es un

archivo de texto que describe una lista de instancias de un concepto con sus respectivos atributos.

Estos archivos son los usados por Weka para la clasificación de texto y aplicaciones de clusters.

Archivos ARFF.

Estos archivos tienen dos secciones, la información de cabecera, y la información de

datos. La primera sección contiene el nombre de la relación con los atributos (nombre y tipo).

El nombre de la relación es definido en la primera línea del arff donde nombre-relación es un

string con el siguiente formato:

@relation <nombre-relación >

La siguiente sección es las declaraciones de atributos. Esta es una secuencia ordenada de

declaraciones de cada atributo de las instancias. Estas declaraciones definen de forma exclusiva

el nombre del atributo y su tipo de datos. El orden en que los atributos se declaran indica la

posición en que se encuentre en las instancias. Por ejemplo, el atributo que se declara la primera

posición se espera que todas las instancias en la primera posición marquen el valor de este

atributo. El formato para su declaración es:

@atributo < nombre-atributo > <tipo de dato>

Weka cuenta con varios <tipo de datos> soportados:

Page 35: CLASIFICACIÓN DE DOCUMENTOS EN WEKA 1 Clasificación de ...³n... · categorías gramaticales, relaciones sintácticas, sentidos, relaciones anafóricas, estructuras retoricas, etc.

CLASIFICACIÓN DE DOCUMENTOS EN WEKA 35

i) NUMERIC o numérico: son todos los números reales donde la separación entre

la parte decimal y entera está representada por un punto y no por una coma.

ii) INTEGER o números enteros: tratados como numérico.

iii) NOMINALES proporcionan una lista de posibles valores por ejemplo {bueno,

malo}. Estos consisten en expresar los posibles valores que el atributo puede

tomar con el siguiente formato:

@attribute nombre_atributo {<nominal1>, <nominal2>, <nominal3>, ...}

iv) STRING: es una cadena de valores de texto. Estos atributos se declaran

conforme a lo siguiente:

@attribute nombre_atributo string.

v) DATE: son fechas declaradas como:

@attribute <nombre> Fecha [<formato de fecha >].

Donde <nombre> es el nombre del atributo y < formato de fecha > es una cadena

opcional que está compuesta por caracteres separadores guiones espacios y

unidades de tiempo. Formato de fecha específica los valores en que la fecha debe

ser analizada. El formato establecido acepta la combinación de formato ISO-

8601: aaaa-MM-dd'T'HH: mm: ss. Ejemplo

@attribute timestamp DATE "yyyy-MM-dd HH:mm:ss"

vi) Atributos relacionales son atributos para los datos de varias instancias en el

siguiente forma:

@attribute <nombre> relacional

<Siguientes definiciones de atributos>

@end <nombre>

Page 36: CLASIFICACIÓN DE DOCUMENTOS EN WEKA 1 Clasificación de ...³n... · categorías gramaticales, relaciones sintácticas, sentidos, relaciones anafóricas, estructuras retoricas, etc.

CLASIFICACIÓN DE DOCUMENTOS EN WEKA 36

Existen reglas en las declaraciones de atributos:

a) Los nombres de relaciones de tipo cadena o string deben ser encerrados entre

comillas dobles” si incluye espacios.

b) Tanto los atributos como nombres de relaciones no pueden comenzar con un

carácter antes del \u0021 en ASCII '{', '}', ',', o '%'.

c) Valores que contienen espacios deben ser citados.

d) Las palabras clave numeric, real, integer, string y date pueden ser minúsculas o

mayúsculas.

e) Los datos relacionales deben ir entre comillas dobles”.

La segunda sección es la declaración de la información. Se declara como @data en

una sola línea. Cada línea debajo representa una instancia que delimita sus atributos

por comas. El valor de los atributos debe de ser en el mismo orden en que estos

fueron declarados en la sección uno con @atribute. Valores perdidos se representan

con un signo de interrogación final “?”.Los valores de cadena y atributos nominales

entre son diferentes con mayúsculas y minúsculas. Debe ser citado cualquier valor

que contenga un espacio. Los comentarios son citados con el delimitador de carácter

“%” hasta el final de la línea.

Para la clasificación de texto estos archivos arff representaran el documento

completo como un simple atributo de texto es decir de tipo string. El segundo atributo

a considerar es el atributo clase. Este definirá la clase a la instancia corresponde. Este

Page 37: CLASIFICACIÓN DE DOCUMENTOS EN WEKA 1 Clasificación de ...³n... · categorías gramaticales, relaciones sintácticas, sentidos, relaciones anafóricas, estructuras retoricas, etc.

CLASIFICACIÓN DE DOCUMENTOS EN WEKA 37

tipo de atributo puede ser de tipo string o nominal. Un ejemplo del resultante archivo

es con texto del documento tipo string y la clase tipo nominad de dos valores:

@relation idioma @attribute textoDocumento string

@attribute class {ingles , español}

@data 'texto a clasificar aquí... ', español 'Classify text here ...', English

Preprocesamiento de datos.

En esta ventana se cargan los datos que pueden ser editados. Los datos se pueden

modificar mediante una edición manual o un filtro. Los filtros son los métodos de las técnicas de

aprendizaje que modifican el conjunto de datos. Weka cuenta con una gran variedad de filtros

estructurados jerárquicamente en supervisados y no-supervisados donde la raíz es weka. Estos

filtros se dividirán por su forma de operar con los datos en dos categorías atributo e instancia.

Como se mencionó anteriormente, estas técnicas se clasifican dependiendo de las

relaciones de los datos de entrada. Las técnicas de aprendizaje no supervisado al ser modelos

inductivos descriptivos no conocen su clasificación correcta. Esto quiere decir que las instancias

no requieren un atributo que establezca la clase. Las técnicas inductivas predictivas del

aprendizaje supervisado dependen de los valores de la clase a la que corresponde. Esto hace

referencia a que las instancias contendrán el atributo de la clase a la que pertenecen.

Page 38: CLASIFICACIÓN DE DOCUMENTOS EN WEKA 1 Clasificación de ...³n... · categorías gramaticales, relaciones sintácticas, sentidos, relaciones anafóricas, estructuras retoricas, etc.

CLASIFICACIÓN DE DOCUMENTOS EN WEKA 38

En la parte de Current relation se describe conjunto de datos que se ha cargado con el

nombre, y el número de instancias. El marco de Attributes permite seleccionar los atributos

utilizando las opciones de todos, ninguno, invertir y adicionalmente proporciona la opción de

ingresar una expresión regular. En la parte Selected attribute se muestra la información sobre el

atributo seleccionado. En la parte inferior se ilustra un histograma de los atributos seleccionados

en Attributes.

Preproceso para la clasificación de documentos

En Weka es posible crear modelos de clasificación de documentos de texto en categorías

previamente analizadas. Los documentos en Weka normalmente necesitan ser convertidos en

"vectores de texto" antes de aplicar las técnicas del aprendizaje automático. Para esto la manera

más sencilla de representar el texto es como bolsa de palabras o palabra vector. [34] Namee, B.

(2012). El filtro StringToWordVector realiza el proceso de convertir el atributo string a un

conjunto de atributos que representara la ocurrencia de las palabras del texto completo. El

documento se representa como una cadena de texto que se representa como un solo atributo de

tipo string.

StringToWordVector Filter

Este es el filtro fundamental para el análisis de texto en WEKA. Esta clase ofrece

abundantes opciones del procesamiento del lenguaje natural que incluyen el uso de la

lexematización para el corpus conveniente, tokens personalizados y uso de diferentes listas de

palabras vacias. Al mismo tiempo, calcula los pesos de Frecuencia Duración y TF.IDF, etc

Page 39: CLASIFICACIÓN DE DOCUMENTOS EN WEKA 1 Clasificación de ...³n... · categorías gramaticales, relaciones sintácticas, sentidos, relaciones anafóricas, estructuras retoricas, etc.

CLASIFICACIÓN DE DOCUMENTOS EN WEKA 39

StringToWordVector coloca el atributo clase al inicio de la lista de atributos. Para

cambiar el orden se puede usar el filtro Reorder para reordenar. En este filtro se pueden

configurar todas las técnicas del procesamiento lingüístico del lenguaje natural a los atributos.

Para aplicar el filtro StringToWordVector en modo batch desde la línea de comandos se puede

hacer de la siguiente manera:

java -cp /Aplicaciones/weka-3-6-2/weka.jar

weka.filters.unsupervised.attribute.StringToWordVector -b -i

datos_entrenamiento.arff -o vector_ datos_entrenamiento.arff -r

datos_prueva.arff -s vector_ datos _ prueva.arff

La opción -cp pone Weka jar en el path de la clase, -b indica utilizar el modo batch, -i

especifica el archivo de datos de entrenamiento, -o el archivo de salida después de procesar el

primer archivo, -r es mi archivo de prueba y -S es el archivo de salida del previo archivo de

prueba. También puede añadir cualquiera de las opciones de configuración después del nombre

del filtro.

Desde la interfaz de usuario, las opciones se podrán modificar al dar clic en el nombre del

filtro al lado del botón choose. Previamente habiendo seleccionado el filtro desde el booton

choose.

Teniendo abierta la ventana weka.filters.unsupervised.attribute.StringToWordVector

mostrara las siguientes opciones para ser modificadas conforme a las necesidades de los

documentos a clasificar. Las opciones son:

IDFTransform TFTransform

attributeIndices attributeNamePrefix

doNotOperateOnPerClassBasis invertSelection

Page 40: CLASIFICACIÓN DE DOCUMENTOS EN WEKA 1 Clasificación de ...³n... · categorías gramaticales, relaciones sintácticas, sentidos, relaciones anafóricas, estructuras retoricas, etc.

CLASIFICACIÓN DE DOCUMENTOS EN WEKA 40

lowerCaseTokens minTermFreq

normalizeDocLength outputWordCounts

periodicPruning stemmer stopwor

tokenizer useStoplist

wordsToKeep

En Weka.sourcearchive.com [39] se hace referencia a un mapa mental de las opciones

de Weka que son las siguientes que se muestra en la siguiente ilustracion:

Page 41: CLASIFICACIÓN DE DOCUMENTOS EN WEKA 1 Clasificación de ...³n... · categorías gramaticales, relaciones sintácticas, sentidos, relaciones anafóricas, estructuras retoricas, etc.

CLASIFICACIÓN DE DOCUMENTOS EN WEKA 41

Page 42: CLASIFICACIÓN DE DOCUMENTOS EN WEKA 1 Clasificación de ...³n... · categorías gramaticales, relaciones sintácticas, sentidos, relaciones anafóricas, estructuras retoricas, etc.

CLASIFICACIÓN DE DOCUMENTOS EN WEKA 42

wordsToKeep:

Palabras para mantener: define el número N límite de palabras por clase, si hay un

atributo clase que se intentara mantener. En este sólo los N términos más comunes entre todos

los valores de atributos en la cadena se mantendrán. Un valor alto representara menor eficiencia

debido a que tomara más tiempo el aprendizaje del modelo.

doNotOperateOnPerClassBasis

No poner en funcionamiento en clase base: bandera que establecerá mantener todas las

palabras relevantes para todas las clases. Se establece como verdadero o “true” cuando el

número máximo de palabras y la frecuencia mínima término no se aplica a un atributo de una

clase, en lugar se basa en todas las clases.

TFTransform

Termino Frecuencia puntuación (TF) Transformación: al posicionar la bandera con

verdadero “true”, este filtro ejecuta la transformación Termino- Frecuencia (TF) que representa

los datos textuales en un espacio de vector. El TF representa en medida numérica la relevancia

de las palabras del texto en toda la colección. Este no solo considera la relevancia de un solo

termino por sí mismo, también lo considera en la completa colección de documentos.

Matemáticamente se representa la función de TF (t, d) donde expresa el termino t en el

documento d en: log (1 + frecuencia de la palabra t en la instancia o documento d). La frecuencia

inversa del documento IDF es el número de documentos en los que aparecerá el término t donde

t está definido en el TF. Encuentra palabras frecuentemente relacionadas en función de log (1 +

fij) donde fij es la frecuencia de la palabra t en el documento (ejemplo) j.

DFTransform

Page 43: CLASIFICACIÓN DE DOCUMENTOS EN WEKA 1 Clasificación de ...³n... · categorías gramaticales, relaciones sintácticas, sentidos, relaciones anafóricas, estructuras retoricas, etc.

CLASIFICACIÓN DE DOCUMENTOS EN WEKA 43

Frecuencia Inversa del Documento (IDF) Transformación: al posicionar la bandera con

verdadero “true” este de definirá el uso de la siguiente ecuación:

Frecuencia de la palabra t en la instancia d como ftd y como resultado:

F td * log (nº de documentos o instancias d / nº de documentos con palabra t)

Esta se explica tomando en consideración conjunto D que incluye todos los documentos

encontrados en la colección representado como D = {d1, d2, …, dn}. Encuentra los documentos

mas relevantes a la otra en fij * log (nº de Docs / nº de Docs con la palabra i) cuando fij es la

frecuencia de la palabra i en el documento j.

Al multiplicar el TF por el IDF resultara el asignar un peso mayor a los términos con

mayor frecuencia en los documentos pero que al mismo tiempo relativamente raros en la

colección de documentos. [33] Salton, G., Wong, A., & Yang, C. (1975).

outputWordCounts

Contar palabras de salida: cuenta las ocurrencias de palabras dentro de la cadena, la

configuración por defecto sólo informa la presencia o ausencia como 0/1. E resultado será un

vector donde cada dimensión es una palabra diferente. El valor en esa dimensión es un binario 0

o 1 es decir sí está o no la palabra en ese documento.

Se cuenta la frecuencia de la palabra en ese documento con un número entero con: las

opciones IDFTransform y TFTransform como “False” y outputWordCounts con “True”.

Este se debe habilitar con true para hacer una cuenta de las palabras de forma explícita.

Se establece como falso o ”false” cuando solo le importa la presencia de un término y no su

frecuencia.

Para calcular tf * (IDF) se establece IDFTransform como Verdadero, TFTransform como

falso y outputWordCounts Verdadero.

Page 44: CLASIFICACIÓN DE DOCUMENTOS EN WEKA 1 Clasificación de ...³n... · categorías gramaticales, relaciones sintácticas, sentidos, relaciones anafóricas, estructuras retoricas, etc.

CLASIFICACIÓN DE DOCUMENTOS EN WEKA 44

Para lograr log (1 + tf) * log (IDF) se establece TFTransform como True.

normalizeDocLength

Normalizar el tamaño del documento: cierto o true para establecer si las frecuencias de

las palabras en una instancia deben ser normalizados. La normalización es calculada como

ValorActual * longitudDelDocumentoPromedio / realLongitudDelDocumento. Esta opción se

establece con tres sub opciones, la primera opción es no ejecutar normalización o “No

normalization”. La segunda es “Normalize all data” que toma una medida como una escala

común de todas las medidas tomadas en los diferentes documentos. La tercera opción es

“Normalize test data only”. Se cuenta de una palabra con un valor real del el resultado tf-idf de

esa palabra en ese documento y adicionalmente se establece con IDFTransform y

“TFTransform” en “True” y “normalizeDocLength” to “Normalize all data.”

Stemmer

Partiendo: selecciona el algoritmo de stemming para usar en las palabras. Por defecto

Weka soporta cuatro stemmer algoritmos. Lovin Stemmer, su versión iterada y soporta los

Snowball stemmers. El algoritmo IteratedLovinsStemmer es una versión del algoritmo

LovinsStemmer que es un conjunto de reglas de transformación para modificar terminaciones de

las palabras asi como palabras en presente participio, plurales irregulares, y morfológica en

inglés. El algoritmo NullStemmer realiza ningún derivado en absoluto. El algoritmo

SnowballStemmer surge de vocabularios con estándar de sus palabras y sus equivalentes de raíz.

Weka puede agregar fácilmente nuevos stemmer algoritmos, ya que contiene una clase

contenedora para los como lematizadores en español de snowball. Weka no contiene todos los

Page 45: CLASIFICACIÓN DE DOCUMENTOS EN WEKA 1 Clasificación de ...³n... · categorías gramaticales, relaciones sintácticas, sentidos, relaciones anafóricas, estructuras retoricas, etc.

CLASIFICACIÓN DE DOCUMENTOS EN WEKA 45

algoritmos de snowball pero se pueden incluir fácilmente en la locación de la clase

weka.core.stemmers.SnowballStemmer de Weka.

Snowball es un lenguaje de procesamiento de cadenas diseñado para la creación de

stemming. Existen tres métodos para conseguir estos algoritmos, el primero es instalar el paquete

no oficial. La segunda es añadir snowball-20051019.jar pre compilado a la localidad de la clase.

La tercera es compilar los últimos stemmer por sí mismo de snowball-20051019.zip. Los

algoritmos se encuentran en snowball.tartarus.org que cuentan con un stemmer en español. En el

siguiente link http://snowball.tartarus.org/algorithms/spanish/stemmer.html se puede observar

ejemplos y descargas del funcionamiento de este stemmer.

Snowball español stemming algoritmo con forme a Snowball.tartarus.org define de la las

regiones R1 y R2 de forma común. Además se define RV como la región después de la siguiente

vocal, si la segunda letra es una consonante, o RV como la región después de la siguiente

consonante, si las primeras letras son dos vocales, o también RV como la región después de la

tercera letra en caso que estas opciones no existan RV es el final de la palabra.

Paso 0: Busca el más largo pronombre entre los siguientes sufijos: “me se sela selo

selas selos la le lo las les los nos” y eliminarlo, si viene después de uno de iendo ándo

ár ér ír, ando iendo ar er ir yendo.

Paso 1: busca el sufijo más largo dentro de los comunes y lo elimina.

Paso 2: si no se removió ningún sufijo en el paso 1 busca eliminar otros sufijos.

Paso 3: busca el más largo entre los sufijos residuales “os a o á í ó e é” en RV los elimina.

Paso 4: retira acentos agudos. [36]

. Para mayor información sobre sufijos en paso 1 y 2 ir a la página de snowball

http://snowball.tartarus.org/algorithms/spanish/stemmer.html.

Page 46: CLASIFICACIÓN DE DOCUMENTOS EN WEKA 1 Clasificación de ...³n... · categorías gramaticales, relaciones sintácticas, sentidos, relaciones anafóricas, estructuras retoricas, etc.

CLASIFICACIÓN DE DOCUMENTOS EN WEKA 46

Se agregara el algoritmo previo a weka cuando se aplique el siguiente comando para

Windows:

java -classpath "weka.jar;snowball-20051019.jar" weka.gui.GUIChooser

Para Linux:

java -classpath "weka.jar:snowball-20051019.jar" weka.gui.GUIChooser

[37] Weka.wikispaces.com,. (2015).

El jar snowball-20051019.jar previamente compilado y almacenado en la localidad donde

se encuentra la aplicación de Weka en la computadora.

Se podrá confirmar con el comando:

java weka.core.SystemInfo

Como se muestra en la siguiente figura.

C:\Program Files\Weka-3-6\snowball-20051019.jar

CLASSPATH

Page 47: CLASIFICACIÓN DE DOCUMENTOS EN WEKA 1 Clasificación de ...³n... · categorías gramaticales, relaciones sintácticas, sentidos, relaciones anafóricas, estructuras retoricas, etc.

CLASIFICACIÓN DE DOCUMENTOS EN WEKA 47

Stopwords

Palabras vacías: las palabras vacías o stop words son los términos que se han

generalizado y aparece con más frecuencia, no proporcionan información sobre un texto. Esta

opción determina si una sub cadena en el texto es una palabra de vacía. Las palabras vacías

provienen de una lista predefinida. Esta opción convierte todas las palabras del texto en

minúsculas antes su eliminación. Stopwords es eficaz para eliminar palabras sin sentido dentro

del texto y eliminar de las palabras frecuentes y útiles de árboles de decisión. Las palabras

vacías de Weca se basan por defecto en las listas de Rainbow encontradas en el siguiente link:

http://www.cs.cmu.edu/~mccallum/bow/rainbow/.

Rainbow es un programa que realiza la clasificación estadística de texto. Se basa en la

biblioteca Bow. [38] Cs.cmu.edu, (2015). El formato de estas listas es una palabra por línea

donde los comentarios serán cada línea que comienzan con '#' para ser omitida. WEKA está

configurada con una lista de palabras vacías inglés pero se puede establecer diferentes listas de

stopwords. Se puede cambiar esta lista desde la interfaz de usuario dando clic a la opción que

tiene Weka por defecto usa Weka-3-6, aunque se puede elegir la localidad de cualquier lista

deseada. Rainbow cuenta con listas por separado en inglés y español, para poder efectuar ambos

idiomas se añadió el archivo “ES-stopwords” que contiene ambas listas provenientes de

Rainbow.

useStoplist:

Usar la lista de palabras vacías: bandera para utilizar las palabras vacías. Si está en

verdadera o “True” ignora las palabras que se encuentren en la lista de stopwords predefinida

con la opción anterior.

Page 48: CLASIFICACIÓN DE DOCUMENTOS EN WEKA 1 Clasificación de ...³n... · categorías gramaticales, relaciones sintácticas, sentidos, relaciones anafóricas, estructuras retoricas, etc.

CLASIFICACIÓN DE DOCUMENTOS EN WEKA 48

Tokenizer:

Tokenización: Elije unidad de medida para separar el atributo de texto completo del

archivo arff. Este cuenta con tres sub opciones. La primera es AlphabeticTokenizer donde los

símbolos son sólo secuencias alfabéticas continuas que no se pueden editar. Al tokenización solo

considera el alfabeto en inglés. Al mismo tiempo se encuentra la opción de WordTokenizer que

establece una lista de delimitadores “deimiters”. Como se referencio previamente, los signos de

puntuación en español son “, ; . : ¿ ? ¡ ! - -- ( ) [ ] ’ " << >> “. En español a diferencia de inglés

contempla un signo de inicio y otro de fin en una exclamación.

La segunda es NGramTokenizer que divide la una cadena texto original en un sub

conjunto de palabras consecutivas que forman un patrón con significado único. Sus parámetros

derivados son los “delimiters” a utilizar que por defecto son '\ r \ n \ t,;:.' "() ?! ', GramMaxSize

que es el tamaño máximo del Ngram con un valor predeterminado de 3 y el GramMinSize

siendo el tamaño mínimo del Ngram con un valor predeterminado de 1. N-gramas puede ayudar

a descubrir patrones de palabras relacionadas entre ellas que representan un contexto

significativo.

minTermFreq:

Frecuencia mínima del término: establece la frecuencia mínima que cada palabra o

término tiene que poseer para ser considerado como atributo, el valor por defecto es 1. Es la

frecuencia que se aplica cuando se tenga un atributo clase y que no se haya puesto como

verdadera la bandera "doNotOperateOnPerClassBasis", el texto de toda la cadena para una clase

particular que se encuentra en ese mismo atributo seleccionado se tokenisa.

Page 49: CLASIFICACIÓN DE DOCUMENTOS EN WEKA 1 Clasificación de ...³n... · categorías gramaticales, relaciones sintácticas, sentidos, relaciones anafóricas, estructuras retoricas, etc.

CLASIFICACIÓN DE DOCUMENTOS EN WEKA 49

La frecuencia de cada token se calcula basándose en la frecuencia con que este se

encuentra en la clase. En contraste, si no existe la clase, el filtro calculará un diccionario único y

la frecuencia se calcula en base a toda la cadena de valores de atributo del atributo elegido, no

sólo las relativas a un valor de clase particular.

periodicPruning

Poda periódica: elimina palabras de baja frecuencia. Utiliza un valor numérico como

porcentaje del tamaño del documento que establece la frecuencia a podar el diccionario. El valor

por defecto es -1 y significa no poda periódica. La tasa de poda periódica es especificada como

un porcentaje del conjunto de datos. Por ejemplo, este especificara que cada 15% del conjunto

de datos de entrada, se podara periódicamente en el diccionario, después de la creación de un

diccionario completo. Puede que no tenga suficiente memoria para este enfoque.

attributeNamePrefix

Prefijo para Nombre del Atributo: establece el prefijo para los nombres de los atributos

creados que por defecto es "". Esto sólo establece un prefijo que se añadirá a los nombres de los

atributos que el filtro StringToWordVector crea cuando se el documento se fragmenta.

lowerCaseTokens

Términos en letras minúsculas: bandera que en verdadero o “True” convierte todas las

palabras del documento en minúsculas antes de ser agregadas al registro. Bandera que en true

eliminara la opción de distinguir nombres propios al eliminar la regla de que los nombres propios

empiezan con mayúsculas. Acrónimos pueden ser considerados en mayúsculas con esta opción

en “False”.

Page 50: CLASIFICACIÓN DE DOCUMENTOS EN WEKA 1 Clasificación de ...³n... · categorías gramaticales, relaciones sintácticas, sentidos, relaciones anafóricas, estructuras retoricas, etc.

CLASIFICACIÓN DE DOCUMENTOS EN WEKA 50

attributeIndices

Índices de atributos: establece el rango de atributos para actuar en los conjuntos de

atributos. Por defecto es first-last que asegura que todos los atributos san tratados como si fueran

una sola cadena de primero a ultimo. Este rango creará una cadena de los rangos que contiene

una lista separada por comas.

invertSelection

Invertir selección: bandera para trabajar con los atributos seleccionados en el rango. Se

coloca como “true” o verdadera para trabajar con los únicos atributos no seleccionados. Por

defecto su valor es “False” se trabajara con los atributos seleccionados.

Después de la limpieza de los datos en la pestaña de “Preprocess”, se analizará el vector de

atributos para obtener el conocimiento deseable en la pestaña “Classify”.

Clasificación

El segundo panel de Explorer es “Classify” o clasificación que genera los modelos de las

máquinas de aprendizaje a partir de los datos. Estos modelos sirven como una explicación clara

de la estructura encontrada en la información analizada. Weka en especial considera el modelo

de árbol de decisiones J48 el más popular para la clasificación de texto. J48 es la implementación

en java del algoritmo C4.5. Anteriormente se describió como el algoritmo representa en cada

rama una de las posibles decisiones en formato if-then que el árbol ofrece para representar el

resultado en cada hojas. Se puede resumir al algoritmo C4.5 como el que mide la cantidad de

información contenida en un conjunto de datos y la agrupa por importancia. Se da la idea de la

importancia de un atributo en un conjunto de datos. J48 Imprime recursivamente la estructura del

Page 51: CLASIFICACIÓN DE DOCUMENTOS EN WEKA 1 Clasificación de ...³n... · categorías gramaticales, relaciones sintácticas, sentidos, relaciones anafóricas, estructuras retoricas, etc.

CLASIFICACIÓN DE DOCUMENTOS EN WEKA 51

árbol con variables de tipo string mediante el acceso a la información de cada atributo

almacenada en los nodos.

Para crear una clasificación, primero se debe de elegir el algoritmo clasificador en el

botón “Choose” que se encuentra en el lado superior izquierdo de la ventana. Este botón

desplegara un arbol donde la raíz es Weka y la sub carpeta es “classifiers”. Dentro de la sub

carpeta tree localizada en weka.classifiers.trees se encontraran los modelos de árboles como el

J48 y el RepTree que referencia combina al árbol de decisión normal con el random forest

algoritmo. Para poder acceder a las opciones del clasificador se da doble clic en el nombre del

clasificador seleccionado.

“Test Options”.

La clasificación cuenta con cuatro modos principales y otros para manejar los datos de

entrenamiento. Estos se encuentran en la sección de “Test Options” o “Opciones de Prueba”

con las siguientes opciones

Use training set: entrena el método con todos los datos disponibles y aplicara el

resultado sobre la misma colección de datos.

Supplied test set: se podrá seleccionar el conjunto de datos de entrenamiento que se

encuentren en un archivo o URL. Este conjunto debe ser compatible con los datos iniciales y se

selecciona pulsando el botón “Set”.

Cross-validation: realizará una validación cruzada dependiendo del número seleccionado

en “Folds” o particiones dado. La validación cruzada consiste en especificar un número de

particiones para determinar cuántos modelos temporales se crearan. Se selecciona una parte y el

clasificador se construye con todas las partes menos la seleccionada ya que se probara con la

seleccionada. [32] Garcia, D., (2006).

Page 52: CLASIFICACIÓN DE DOCUMENTOS EN WEKA 1 Clasificación de ...³n... · categorías gramaticales, relaciones sintácticas, sentidos, relaciones anafóricas, estructuras retoricas, etc.

CLASIFICACIÓN DE DOCUMENTOS EN WEKA 52

Percentage Split: define el porcentaje del total de los datos de entrada con el que se

construirá el modelo clasificador y con la parte restante se probará.

Weka nos permite seleccionar algunas opciones más para definir el método de prueba

con el botón “More Options” , estas son:

Output Model: abrirá en la ventana de salida el modelo clasificador.

Output per-class stats: mostrará estadísticas de cada clase.

Output entropy evaluation measures: mostrará la información de mediciones de la

entropía en la clasificación.

Output confusion matrix: mostrará la matriz de confusión resultante del modelo

clasificador.

Store predictions for visualization: Weka guardara las predicciones del modelo

clasificador en los datos de prueba. En el caso del uso del clasificador J48 esta opción

muestra los errores del árbol.

Output predictions: mostrara una tabla con los valores reales y valores predichos para

cada instancia de los datos de prueba. Expresara como el clasificador se relaciona con

cada instancia en la colección de datos de prueba.

Output additional attributes: se configura cuando se desea mostrar los valores de los

atributos y no los de la clase. Se especifica un rango que se incluirán junto con los valores

reales y predichos de la clase.

Cost-sensitive evaluation: produce información adicional en la salida de la evaluación, el

costo total y el costo promedio de los errores de clasificación.

Page 53: CLASIFICACIÓN DE DOCUMENTOS EN WEKA 1 Clasificación de ...³n... · categorías gramaticales, relaciones sintácticas, sentidos, relaciones anafóricas, estructuras retoricas, etc.

CLASIFICACIÓN DE DOCUMENTOS EN WEKA 53

Random seed for XCal / % Split: especifica la semilla aleatoria usada antes de que se

dividan los datos para fines de su evaluación.

Preserve order for % Split: conserva el orden en el porcentaje de los datos en lugar de

crear una aleatoria por primera vez con el valor de las semillas que por defecto es 1.

Output source code: generará el código Java del modelo producido por el clasificador.

En dado caso que no se cuente con un conjunto de datos de evaluación independiente, es

necesario obtener una idea razonable de precisión del modelo generado y seleccionar la opción

correcta. Para el caso de clasificación de documentos se recomendara seleccione al menos 10

“Folds” para la validación cruzada como enfoque de evaluación. También se recomienda asignar

un porcentaje amplio en “Percentage Split”.

Debajo de las opciones de “Test Options”, se encuentra un menú desplegable donde se

encontrara una lista con todos los atributos. Esta permite seleccionar el atributo que actuara

como el resultado para la clasificación. En el caso de la clasificación de documentos será la clase

a la que la instancia corresponde.

El método de clasificación comenzara al presionar el botón “Start”. La imagen de la ave

weka que se encuentra en la parte inferior derecha empezará se moverá hasta que el clasificador

logre terminar.

WEKA crea una representación gráfica del árbol de clasificación J48. Este árbol se puede

visualizar haciendo clic derecho en el último conjunto de resultados ”Result List” y

seleccionando la opción "Visualize tree" o"Visualizar árbol". El tamaño de la ventana se puede

ajustar para que sea más explícito.

Page 54: CLASIFICACIÓN DE DOCUMENTOS EN WEKA 1 Clasificación de ...³n... · categorías gramaticales, relaciones sintácticas, sentidos, relaciones anafóricas, estructuras retoricas, etc.

CLASIFICACIÓN DE DOCUMENTOS EN WEKA 54

Clasificador para la clasificación de documentos J48

El modelo J48 utiliza el algoritmo de árbol de decisión C4.5 a para construir un modelo a

partir de los datos de entrenamiento seleccionados. Este algoritmo se encuentra en

weka.classifiers.trees.J48. El clasificador J48 cuenta con diferentes parámetros a los que se

puede editar haciendo doble clic en el nombre del clasificador seleccionado.

J48 emplea dos métodos de poda, pero este no realiza la poda de error. Los objetivos

principales de la poda son hacer el árbol más fácil de entender y reducir el riesgo de sobreuso de

los datos de entrenamiento para ser capaz de clasificar casi perfectamente. Con esto el árbol

aprender las propiedades específicas de los datos de entrenamiento y no el concepto inferior.

El primer método de poda con el que J48 cuenta es conocido como el reemplazo del

subárbol. Los nodos en un árbol de decisión pueden ser reemplazados con una hoja reduciendo el

número de nodos en una rama. Este proceso comienza a partir en las hojas del árbol

completamente formado y trabaja subiendo hacia la raíz.

El segundo es la elevación del subárbol. Se mueve un nodo hacia la raíz del árbol que

sustituye a otros nodos a en la rama. Normalmente, este proceso no es insignificante y es

aconsejable apagarlo cuando el proceso de inducción toma mucho tiempo.

Al dar clic en el nombre del clasificador J48 que se encuentra al lado derecho del botón

“Choose” mostrara una ventana con las siguientes opciones editables:

confidenceFactor: establece el número de poda. Los valores más pequeños experimentan

más poda. La reducción del este valor puede reducir el tamaño de los árboles y además ayuda en

la eliminación de nodos irrelevantes que generan a errores de clasificación. [40] Drazin, S., &

Montag, M. (2015).

Page 55: CLASIFICACIÓN DE DOCUMENTOS EN WEKA 1 Clasificación de ...³n... · categorías gramaticales, relaciones sintácticas, sentidos, relaciones anafóricas, estructuras retoricas, etc.

CLASIFICACIÓN DE DOCUMENTOS EN WEKA 55

minNumObj: ajusta el número mínimo de instancias de separación por hoja en el caso de

árboles con muchas caminos.

unpruned: bandera para preformar la poda. En verdadero se podara el árbol. Por defecto

se encuentra en “False” que significa que la poda no se efectúa.

reducedErrorPruning: bandera para utilizar la reducción de errores de poda en el árbol

C.4.5. Método posterior a la poda que utiliza una resistencia para las estimaciones de

errores. Del mismo modo, se para la cría subárboles y lanzar una excepción no utiliza el

nivel de confianza para la poda.

Seed: número de la semilla para revolver los datos aleatorios y reducir el error de la poda.

Esta se considera cuando la bandera reducedErrorPruning esta como verdadero o “True”.

Por defecto es 1.

numFolds: número de poda para reducir-error. Establece el número de pliegues que se

retienen para la poda, con un conjunto usado para la poda y el resto para entrenamiento.

Para usar estos Folds se necesita ajustar a verdadera o “True” la bandera de

reducedErrorPruning.

binarySplits: bandera que al establecerse como verdadera o “True” crea sólo dos ramas

para atributos nominales con varios valores en lugar de una rama para cada valor. Cuando

el atributo nominal es binario no hay diferencia, excepto en cómo se muestra este atributo

en el resultado de salida. Por defecto es “False”.

saveInstanceData: bandera que al establecerse como verdadera o “True” guarda los datos

de entrenamiento para su visualización. Por defecto es “False”.

Page 56: CLASIFICACIÓN DE DOCUMENTOS EN WEKA 1 Clasificación de ...³n... · categorías gramaticales, relaciones sintácticas, sentidos, relaciones anafóricas, estructuras retoricas, etc.

CLASIFICACIÓN DE DOCUMENTOS EN WEKA 56

subtreeRaising: bandera que preformara la poda con el método de elevación del subárbol

o “subtreeRaising”. Esta mueve un nodo hacia la raíz del árbol sustituyendo a otros

nodos. En “true” weka considerara “subtreeRaising” en el proceso de poda.

useLaplace: : bandera que preformara el conteo de las hojas en Laplace. En “true” weka

contara las hojas que se hacen menores basado en un complemento popular a las estimaciones de

probabilidad llamado Laplace.

debug: bandera para agregar información a la consola. Verdadera o “True” añade a la

consola información adicional del clasificador.

Se puede alcanzar 100% correcta en la formación de datos desactivando la poda y

establecer el número mínimo de instancias en una hoja a 1.

Experimentos

Se seleccionó la herramienta Weka con el propósito de generar un modelo que

clasificación de documentos especializados a partir de dos diferentes courpus (inglés y español).

El paquete de WEKA es una colección de algoritmos de máquinas de aprendizaje para tareas de

la minería de datos. La minería textual hace uso de estos algoritmos que al aprender de grupo de

ejemplos o “training set”, clasifican nuevos textos en categorías analizadas. Se define como

Waikato Environment for Knowledge Analysis. Para mayor información dirigirse a

http://www.cs.waikato.ac.nz/~ml/weka/.

Adquisición de datos

Los documentos seleccionados para el conjunto de datos de entrenamiento se han

conseguido de la librería de Thompson Rivers University que coenta con la siguiente dirección

electrónica: http://www.tru.ca/library.html. Se seleccionaron aleatoriamente 71 artículos

Page 57: CLASIFICACIÓN DE DOCUMENTOS EN WEKA 1 Clasificación de ...³n... · categorías gramaticales, relaciones sintácticas, sentidos, relaciones anafóricas, estructuras retoricas, etc.

CLASIFICACIÓN DE DOCUMENTOS EN WEKA 57

académicos de medicina en inglés y español. Estos documentos se almacenaron en formato

Portable Document Format (PDF). En base a la librería de TRU, se reconoció la clasificación de

los documentos en seis categorías Hemodiálisis, Nutrición, Cáncer, Obesidad, Dieta y Diabetes.

Estos documentos se almacenaron en carpetas nombradas por categorías dentro de la carpeta

principal llamada Medicina.

Con la finalidad de formar de un archivo arff se creó en Microsoft Visual Studio

Professional C# 2012 una aplicación que generara el archivo arff de una colección de

documentos organizados en carpetas en base a su categoría. Esta aplicación pudo ser realizada

con la colaboración de una librería PDF llamada iTextSharp para la extracción de texto de un

documento de formato portable.

Documents Directory to ARFF puede especificar el nombre de la relación a definir, la

locación del directorio principal contenedor de los documentos subdivididos en carpetas

categóricas y comentarios requeridos. Así también, especifica el nombre del archivo generado

con extensión arff y la locación del mismo. Al final de la aplicación se encuentras dos botones,

uno de salida y otro para generar el archivo arff con la información descrita. Esta puede ser

descargada en http://www.scientificdatabases.ca bajo current projects para Minería de Texto.

Page 58: CLASIFICACIÓN DE DOCUMENTOS EN WEKA 1 Clasificación de ...³n... · categorías gramaticales, relaciones sintácticas, sentidos, relaciones anafóricas, estructuras retoricas, etc.

CLASIFICACIÓN DE DOCUMENTOS EN WEKA 58

El arff resultante generar un atributo tipo string llamado “textoDocumento” que

describirá todo el texto encontrado en el documento y el atributo nominal “docClass” que

definirá la clase a la que pertenece. Comprende mencionar que para versiones recientes de Weka

como en este caso Weka 3.6.12 el atributo clase nunca se puede ser nombrado “class”. El archivo

a generar se encontrará de la manera siguiente:

% tutorial de Weka para la Clasificación de Documentos.

@RELATION Medicina

@attribute textoDocumento string

@attribute docClass {Hemodialysis, Nutrition, Cancer, Obesity, Diet, Diabetes}

@data

"texto…", Hemodialysis

“texto…”, Nutrition

"texto….", Cancer

"texto…", Obesity

"texto…", Diet

"texto…", Diabetes

Preproceso de documentos.

Para cargar el arff generado se dará clic al botón “Open file…” localizado en la parte

superior derecha. En este se seleccionara el archivo creado “medicinaWeka.arff”. En la parte

inferior se ilustra un histograma de las etiquetas del atributo “docClass” que al posicionar el

Page 59: CLASIFICACIÓN DE DOCUMENTOS EN WEKA 1 Clasificación de ...³n... · categorías gramaticales, relaciones sintácticas, sentidos, relaciones anafóricas, estructuras retoricas, etc.

CLASIFICACIÓN DE DOCUMENTOS EN WEKA 59

cursor sobre el describirá el valor del atributo como se muestra en la siguiente imagen.

En Weka para convertir el atributo “textoDocumento” a un conjunto de atributos que

representaran la ocurrencia de las palabras del texto completo, usa el filtro StringToWordVector.

Se generaron de diferentes combinaciones de opciones aplicados a los mismos datos de

entrenamiento. A los modelos resultantes de cada una se calculó su medida– Fβ, que describe la

proporción de instancias erróneamente predichas del modelo. Las opciones que generaron un

mayor número de instancias predichas correctamente han sido las siguientes:

wordsToKeep: se coloca con 1000 y doNotOperateOnPerClassBasis: como “False”

TFTransform como “True”, DFTransform como “True” outputWordCounts como

“True” y normalizeDocLength: se establece con “No normalization”.

lowerCaseTokens: se coloca como “True”

Stemmer: se seleccionara “NullStemmer”.

Page 60: CLASIFICACIÓN DE DOCUMENTOS EN WEKA 1 Clasificación de ...³n... · categorías gramaticales, relaciones sintácticas, sentidos, relaciones anafóricas, estructuras retoricas, etc.

CLASIFICACIÓN DE DOCUMENTOS EN WEKA 60

Stopwords se añadió el archivo “ES-stopwords” que se puede descargar desde

http://www.scientificdatabases.ca/current-projects/english-spanish-text-data-mining/ y se

elijara “ES-stopwords” previamente descargado con la opción useStoplistse en “True” .

Tokenizer: se seleccionara “WordTokenizer” y se agregaran delimiters en español

.,;:'"()?!“¿!-[]’<>“

Extracción de información

Después de la limpieza de los datos en la pestaña, se analizará el vector de atributos para

la creación del modelo de clasificación que definirá la estructura encontrada en la información

analizada. Se elige el árbol árbol de decisiones J48. Weka considera J48 como la

implementación en java del algoritmo C4.5. para alcanzar el 100% en clasificación correcta se

desactiva la poda y se estableciendo el número mínimo de instancias en una hoja a 1. Se

selecciona “Use training set” para entrenar el método con todos los datos disponibles y aplicar

el resultado sobre la misma colección de datos de entrada.

WEKA crea una representación gráfica del árbol de clasificación J48 como se muestra en

la imagen siguiente.

Page 61: CLASIFICACIÓN DE DOCUMENTOS EN WEKA 1 Clasificación de ...³n... · categorías gramaticales, relaciones sintácticas, sentidos, relaciones anafóricas, estructuras retoricas, etc.

CLASIFICACIÓN DE DOCUMENTOS EN WEKA 61

Evaluación

Se puede evaluar si el modelo generado clasifico la información de manera correcta.

Weka genera la matriz de confusión del modelo generado. Como se explicó anteriormente, la

matriz de confusión probé valores binarios para la medición de sus predicciones.

Weka describe la proporción de instancias erróneamente predichas en con el cálculo de

la medida – Fβ. El valor es un porcentaje compuesto por la precisión y la exhaustividad o

sensibilidad (Recall). La precisión mide el porcentaje de las predicciones positivas correctas que

Page 62: CLASIFICACIÓN DE DOCUMENTOS EN WEKA 1 Clasificación de ...³n... · categorías gramaticales, relaciones sintácticas, sentidos, relaciones anafóricas, estructuras retoricas, etc.

CLASIFICACIÓN DE DOCUMENTOS EN WEKA 62

son verdaderamente positivas La sensibilidad es la capacidad de detectar los casos positivos

sobre el total de todos los casos positivos.

Con estos porcentajes se espera que el mejor modelo es el valor de la medida-F más

cercano a 1. En la siguiente tabla se observan algunas de las primordiales combinaciones en el

preproceso de los datos para la generación del modelo. Esta describe sus medidas de precisión y

exhaustividad así como la medida-f.

Primero se analizó la mejor estructura para el filtro, sin ajustar los valores del clasificador

J48. En este se seleccionaron los mejores parámetros del mismo y selecciono el mejor para

después con esta configuración evaluar la mejor configuración para el algoritmo clasificador J48.

Tabla comparativa de los diferentes modelos de clasificación de documentos.

Features Precision Recall F-Measure

Word Tokenizer English Spanish (E&S ) 0.810 0.803 0.800

Word Tokenizer E&S + Lower Case Conversion 0.863 0.859 0.860

Trigrams E&S + Lower Case Conversion 0.823 0.775 0.754

Stemming + Word Tokenizer E&S + Lower Case

Conversion

0.864 0.817 0.823

Stopwords + Word Tokenizer E&S + Lower Case

Conversion

0.976 0.972 0.972

Stopwords + Stemming +

Word Tokenizer E&S + Lower Case Conversion

0.974 0.972 0.971

Stopwords + Word Tokenizer E&S + Lower Case

Conversion + J48 minNumObj = 1

1 1 1

Page 63: CLASIFICACIÓN DE DOCUMENTOS EN WEKA 1 Clasificación de ...³n... · categorías gramaticales, relaciones sintácticas, sentidos, relaciones anafóricas, estructuras retoricas, etc.

CLASIFICACIÓN DE DOCUMENTOS EN WEKA 63

Se concluye que el mejor modelo resulta de la combinación de las opciones Stopwords +

Word Tokenizer E&S + Lower Case Conversion aplicadas al filtro en el preproceso de los datos

y adicionalmente ajustando a 1 minNumObj en el algoritmo clasificador J48.

La matriz de confusión resultante de la combinación de Stopwords + Word Tokenizer

E&S + Lower Case Conversion ajustando minNumObj a 1 en el algoritmo J48, genera los

siguientes valores binarios en su matriz de confusión.

a b c d E f Classified as

11 0 0 0 0 0 a = Hemodialysis

0 12 0 0 0 0 b = Nutrition

0 0 12 0 0 0 c = Cancer

0 0 0 12 0 0 d = Obesity

0 0 0 0 12 0 e = Diet

0 0 0 0 0 12 f = Diabetes

En esta tabla solo nos muestra las clases con precisión y exhaustividad al 100%. Sus

valores de exactitud son los siguientes para cada clase:

Class TP Rate FP Rate Precision Recall F-Measure

Hemodialysis 1 0 1 1 1

Nutrition 1 0 1 1 1

Cancer 1 0 1 1 1

Obesity 1 0 1 1 1

Page 64: CLASIFICACIÓN DE DOCUMENTOS EN WEKA 1 Clasificación de ...³n... · categorías gramaticales, relaciones sintácticas, sentidos, relaciones anafóricas, estructuras retoricas, etc.

CLASIFICACIÓN DE DOCUMENTOS EN WEKA 64

Diet 1 0 1 1 1

Diabetes 1 0 1 1 1

Weighted Avg. 1 0 1 1 1

Conclusión

Se analiza la clasificación de documentos en español usando la minería textual a través

del open source software WEKA. Este software analiza grandes cantidades de datos y decide

cual es la más importante. Su objetivo es hacer predicciones automáticas que ayuden a la toma

de decisiones. Al compararse weka con otras herramientas para la minería de datos como

RapidMiner, IBM Cognos Business Intelligence, Microsoft SharePoint and Pentaho, weka

proporciona una visualización amigable para el usuario fácil de comprender, carga los datos

eficientemente y la minería de datos es su objetivo principal.

La minería textual busca la extracción de patrones a partir del análisis de grandes

colecciones de documentos con el objetivo de obtener nuevo conocimiento. Su finalidad es el

descubrimiento de grupos interesantes, tendencias, asociaciones y derivaciones en los patrones

encontrados y su visualización para la deducción de nuevas conclusiones.

Considerando la minería de texto como un subconjunto de la minería de datos. La

minería de datos utiliza técnicas de las máquinas de aprendizaje para su desarrollo. De esta

manera la minería de texto adopta algoritmos para la clasificación de los textos. La lingüística

Page 65: CLASIFICACIÓN DE DOCUMENTOS EN WEKA 1 Clasificación de ...³n... · categorías gramaticales, relaciones sintácticas, sentidos, relaciones anafóricas, estructuras retoricas, etc.

CLASIFICACIÓN DE DOCUMENTOS EN WEKA 65

computacional también aporta técnicas a la minería de texto. Esta ciencia estudia el lenguaje

natural con métodos computacionales para hacerlos comprensibles por el sistema operativo.

La categorización automática determina el tema de que trata una colección de

documentos. Este a diferencia del clustering, decide la clase a la que un documento pertenece

dentro de una lista de clases predefinida. Cada categoría es entrenada a través de un precedente

proceso manual de categorización.

La clasificación empieza con un conjunto de textos de entrenamiento previamente

categorizados para después generar un modelo de clasificación basado en el conjunto de

ejemplos siendo capaz de asignar la clase correcta de un nuevo texto. Las técnicas de

clasificación de árboles de decisiones representan el conocimiento de clasificación mediante una

estructura sentencias if- else representadas en las ramas de un árbol.

Para fines de este proyecto se nombrara una metodología de la minería textual para la

clasificación de texto que contempla la colección de datos. Este marco se representara en cuatro

etapas, adquisición de datos, preproceso de documentos, extracción de información y evaluación

de los resultados. Witten, Frank and Hall hacen mención a estos pasos en su obra para el uso de

la herramienta WEKA

Los datos deben ser colectados en cierta forma que pueda crear un grupo de

entrenamiento de datos. Witten, Frank and Hall consideran tres datos de entrada en minería de

datos. Estos son los conceptos, instancias y atributos. Los conceptos especifican lo que se desea

aprender. Una instancia representa los datos que contiene una clase a ser clasificada que

contienen un conjunto de características específicas denominadas atributos. Un atributo en una

instancia representa el nivel de medición de dicho atributo en esa instancia. Los atributos son

clasificados como nominales y ordinales. Los atributos nominales también conocidos como

Page 66: CLASIFICACIÓN DE DOCUMENTOS EN WEKA 1 Clasificación de ...³n... · categorías gramaticales, relaciones sintácticas, sentidos, relaciones anafóricas, estructuras retoricas, etc.

CLASIFICACIÓN DE DOCUMENTOS EN WEKA 66

categóricos son un conjunto finito de símbolos distintos. Por ejemplo etiquetas o nombres o

lugares. Los atributos ordinales también referenciados como continuos o numéricos son

representaciones de medidas de secuencia significativa. Estos hacen posible manejar un orden

pero no una distancia. Por ejemplo bajo < medio < alto. En el caso de documentos las clases

serán atributos nominales de la instancia, debido a que las categorías no necesitan representar un

orden entre ellas (atributos ordinales).

WEKA utiliza un formato estándar llamado Archivo Atributo Relación (ARFF) para

representar la colección de documentos de texto en instancias que comparten un conjunto

ordenado de atributos divididos en 3 secciones, relación, atributo y datos.

El Preproceso de los datos se basa en la preparación del texto usando una serie de

operaciones sobre el texto y generar algún tipo de información estructurada o semiestructurada

para su análisis. La manera más popular de representar los documentos es por medio de un

vector. El vector contiene todas las palabras encontradas en el texto indicando su ocurrencia en el

mismo. Las tareas importantes para el preprocesamiento con la finalidad de categorizar

automáticamente documentos de texto son stemming, lexematización, eliminación de palabras

vacías, tokenización y conversión a letras minúsculas.

Un algoritmo de stemming elimina los morfemas y encuentra las relaciones entre las

palabras no tematizadas y su lexema. La lexematización determina el lema de cada palabra. Se

excluyen las palabras vacías para eliminar los términos que no auxilian a generar conocimiento

del texto. La tokenización es la forma de separar el texto en palabras. Los signos de puntuación

en español son “, ; . : ¿ ? ¡ ! - -- ( ) [ ] ’ " << >> “ donde el punto y el guion corto son ambiguos.

En español a diferencia de inglés contempla un signo de inicio y otro de fin en una exclamación.

La conversión a letras para tratar los términos sin importar iguales.

Page 67: CLASIFICACIÓN DE DOCUMENTOS EN WEKA 1 Clasificación de ...³n... · categorías gramaticales, relaciones sintácticas, sentidos, relaciones anafóricas, estructuras retoricas, etc.

CLASIFICACIÓN DE DOCUMENTOS EN WEKA 67

Después del preproceso de datos, se procede a la etapa de extracción de conocimiento. La

minería textual para clasificación de documentos en weka busca aprender modelo de

clasificación predictivos. Estos modelos son usados para predecir la clase a la que una instancia

pertenece. El modelo es creado usando el algoritmo de árboles de decisiones C4.5 ya que es el

más simple y amplio para la tarea de clasificación.

Weka genera una matriz de confusión del modelo generado. Esta muestra en una manera

fácil de detectar en cuantas veces las predicciones del modelo fueron hechas correctamente. Los

cuatro posibles resultados son: verdaderos positivos, falsos positivos, verdaderos negativos y

falsos negativos. TP - verdaderos positivos: la instancia positiva fue predicha en la clase que le

corresponde. TN - verdadero negativo: instancia negativa clasificada correctamente. FP - falsos

positivos: instancia positiva fue clasificada en una clase incorrecta. FN - falsos negativos

instancia negativa clasificada incorrectamente.

La precisión y exhaustividad son métricas de relevancia para la clasificación de

documentos. Este modelo reportan resultados de forma binaria pueden tener un rendimiento

predictivo expresado en una matriz de confusión. La precisión es el porcentaje de los casos

positivos que se predijo correctamente: TP / (TP+FP). La exhaustividad o sensibilidad

representa la habilidad para predecir instancias positivas sobre el total de todas las instancias

positivas: TP / (TP+FN). Estas medidas para ser balanceadas se desarrolla el medida –F que

describe la proporción de instancias erróneamente predichas. Siendo como resultando F1 la

medida calculada con la siguiente ecuación (2 * Precisión * Exhaustividad) / (Precisión +

Exhaustividad).

Se seleccionaron de la librería de Thompson Rivers University aleatoriamente 71

artículos académicos de medicina en inglés y español para el conjunto de datos de entrenamiento

Page 68: CLASIFICACIÓN DE DOCUMENTOS EN WEKA 1 Clasificación de ...³n... · categorías gramaticales, relaciones sintácticas, sentidos, relaciones anafóricas, estructuras retoricas, etc.

CLASIFICACIÓN DE DOCUMENTOS EN WEKA 68

almacenados en formato PDF y categorizados en Hemodiálisis, Nutrición, Cáncer, Obesidad,

Dieta y Diabetes. Se desarrolló una aplicación para la creación automática de un archivo arff a

partir de directorios de textos variables. Esta aplicación pudo ser realizada con la colaboración de

una librería PDF llamada iTextSharp para la extracción de texto de un documento de formato

portable.

Documents Directory to ARFF generara el archivo arff de una colección de documentos

organizados en carpetas en base a su categoría. El arff resultante tendra un primer atributo tipo

string llamado “textoDocumento” que describirá el texto un segundo atributo de tipo nominal

“docClass” que definirá la clase a la que pertenece.

Se aplicaron diversas pruebas aplicadas al mismo conjunto de textos para evaluar su

ecxactitud predictiva. Primero se analizó la mejor estructura para el filtro, sin ajustar los valores

del clasificador J48. En este se seleccionaron los mejores parámetros del mismo y selecciono el

mejor para después con esta configuración evaluar la mejor configuración para el algoritmo

clasificador J48. En base a ua tabla comparativa se descubrió que los parámetros de la

combinación de Stopwords + Word Tokenizer E&S + Lower Case Conversion ajustando

minNumObj a 1 en el algoritmo J48, proporcionan valores de 1 para la presicion exasustividad y

por definición en su medida-F1. Concluyendo que el mejor modelo resulta de la combinación de

las opciones Stopwords + Word Tokenizer E&S + Lower Case Conversion aplicadas al filtro en

el preproceso de los datos y adicionalmente ajustando a 1 minNumObj en el algoritmo

clasificador J48.

Page 69: CLASIFICACIÓN DE DOCUMENTOS EN WEKA 1 Clasificación de ...³n... · categorías gramaticales, relaciones sintácticas, sentidos, relaciones anafóricas, estructuras retoricas, etc.

CLASIFICACIÓN DE DOCUMENTOS EN WEKA 69

Lista de referencias

[1] Witten, I. H., Frank, E. ;., & Hall, M. A. (2011). Data Mining: Practical Machine Learning

Tools and techniques / Ian H. Witten (3a. ed. --.). s.l.: Elsevier.

[2] Berry, M. W., & Kogan, J. (2010). Text mining. [electronic resource] : applications and

theory. Hoboken, NJ : John Wiley & Sons, 2010.

[3] Hearst (1999). Untangling Text Data Mining, Proc. of ACL’99: The 37th Annual Meeting of

the Association for Computational Linguistics, University of Maryland, June 20-26,

1999.

[4] Kodratoff (1999). Knowledge Discovery in Texts: A Definition and Applications, Proc. of

the 11th International Symposium on Foundations of Intelligent Systems (ISMIS-99),

1999

[5] Montes-y-Gómez, M. Minería de texto: Un nuevo reto computacional. Laboratorio de

Lenguaje Natural, Centro de Investigación en Computación, Instituto Politécnico

Nacional.

[6] Ethnologue,. (2015). Summary by language size. Retrieved 23 June 2015, from

https://www.ethnologue.com/statistics/size

[7] Brun, R.E., & Senso, J.A. (2004). Mineria Textual. El profecional de la informacion, 3.

[8] Hotho, A., Nürnberger, A. & Paaß, G. (2005). A Brief Survey of Text Mining. LDV Forum -

GLDV Journal for Computational Linguistics and Language Technology, 20, 19-62.

[9] Streibel, O. (2010). Mining Trends in Texts on the Web. DC-FIS 2010 Doctoral Consortium

of the Future Internet Symposium 2010.

[10] Gémar, G., & Jiménez-Quintero, J. A. (2015). Text mining social media for competitive

analysis. Tourism & Management Studies, 11(1), 84-90.

Page 70: CLASIFICACIÓN DE DOCUMENTOS EN WEKA 1 Clasificación de ...³n... · categorías gramaticales, relaciones sintácticas, sentidos, relaciones anafóricas, estructuras retoricas, etc.

CLASIFICACIÓN DE DOCUMENTOS EN WEKA 70

[11] Quinlan J. R. (1986) Induccion of decision trees. Machine Learning, 1(1), 81–106.

[12] Quinlan (1993) C4.5: Programs for Machine Learning Morgan Kaufmann.

[13] Hernández, J., Ramírez, M.J., & Ferri, C. (2004). INTRODUCCIÓN A LA MINERÍA DE

DATOS. Pearson.

[14] Ye, N. (Ed.). (2003). The handbook of data mining (Vol. 24). Mahwah, NJ/London:

Lawrence Erlbaum Associates, Publishers.

[15] Miner, G. (2012). Practical text mining and statistical analysis for non-structured text data

applications. Waltham, MA: Academic Press.

[16] Stevens, S. (1946). On The Theory Of Scales Of Measurement. Science, 677-680.

[17] Uysal, A. K., & Gunal, S. (2014). The impact of preprocessing on text classification.

Information Processing And Management, 50104-112. doi:10.1016/j.ipm.2013.08.006

[18] Salton, G., Wong, A., & Yang, C. S. (1975). A Vector Space Model for Automatic

Indexing. Communications Of The ACM, 18(11), 613-620. doi:10.1145/361219.361220

[19] Ning Liu, Benyu Zhang, Jun Yan, Zheng Chen, Wenyin Liu, Fengshan Bai, Leefeng Chien.

2005. Text Representation: From Vector to Tensor. In: IEEE International Conference on

Data Mining, ICDM, 2005. p.725-728.

[20] Munková, D., Munk, M., & Vozár, M. (2013). Data Pre-processing Evaluation for Text

Mining: Transaction/Sequence Model. Procedia Computer Science, 18(2013 International

Conference on Computational Science), 1198-1207. doi:10.1016/j.procs.2013.05.286

[21] Muñoz, A., & Álvarez, I. (2014). Esteganografía linguística en lengua española basada en

modelo N-gram y ley de Zipf. Arbor.

Page 71: CLASIFICACIÓN DE DOCUMENTOS EN WEKA 1 Clasificación de ...³n... · categorías gramaticales, relaciones sintácticas, sentidos, relaciones anafóricas, estructuras retoricas, etc.

CLASIFICACIÓN DE DOCUMENTOS EN WEKA 71

[22] Ramesh, B., Xiang, C., & Lee, T. H. (2015). Shape classification using invariant features

and contextual information in the bag-of-words model. Pattern Recognition, 48894-906.

doi:10.1016/j.patcog.2014.09.019

[23] Ferilli, S., Esposito, F., & Grieco, D. (2014). Automatic Learning of Linguistic Resources

for Stopword Removal and Stemming from Text. Procedia Computer Science, 38(10th

Italian Research Conference on Digital Libraries, IRCDL 2014), 116-123.

doi:10.1016/j.procs.2014.10.019

[24] C., K. C., Anzola, J. P., & B., G. T. (2015). Classification Methodology Of Research

Topics Based In Decision Trees: J48 And Random tree. International Journal Of Applied

Engineering Research, 10(8), 19413-19424.

[25] Yan-yan, S., & Ying, L. (2015). Decision tree methods: applications for classification and

prediction. Shanghai Archives Of Psychiatry, 27(2), 130-135. doi:10.11919/j.issn.1002-

0829.215044

[26] Spasić, I., Livsey, J., Keane, J., & Nenadić, G. (2014). Text mining of cancer-related

information: Review of current status and future directions. Sciencedirect.com. Retrieved

12 May 2015, from

http://www.sciencedirect.com/science/article/pii/S1386505614001105

[27] Ostrand, T., & Weyuker, E. (2007). How to measure success of fault prediction models.

Fourth International Workshop on Software Quality Assurance in Conjunction with the

6th ESEC/FSE Joint Meeting - SOQUA '07.

[28] Bowes, D., Hall, T., & Gray, D. (2013). DConfusion: A technique to allow cross study

performance evaluation of fault prediction studies. Autom Softw Eng Automated

Software Engineering, 287-313.

Page 72: CLASIFICACIÓN DE DOCUMENTOS EN WEKA 1 Clasificación de ...³n... · categorías gramaticales, relaciones sintácticas, sentidos, relaciones anafóricas, estructuras retoricas, etc.

CLASIFICACIÓN DE DOCUMENTOS EN WEKA 72

[29] Spasić, I., Livsey, J., Keane, J., & Nenadić, G. (2014). Text mining of cancer-related

information: Review of current status and future directions. Sciencedirect.com. Retrieved

12 May 2015, from

http://www.sciencedirect.com/science/article/pii/S1386505614001105

[30] Newzealand.com, (2015). Plantas y animales de Nueva Zelanda | Ruapehu, Nueva Zelanda.

Retrieved 11 July 2015, from http://www.newzealand.com/ar/feature/new-zealand-flora-

and-fauna/

[31] Hall, M., Frank, E., Geoffrey, H., Pfahringer, B., Reutemann, P., & Witten, I. H. (2009).

The WEKA Data Mining Software: An Update; SIGKDD Explorations, Volume 11,

Issue 1.

[32] Garcia, D., (2006). Weka Tutorial (Spanish). Retrieved 12 July 2015, from

http://www.metaemotion.com/diego.garcia.morate/download/weka.pdf

[33] Salton, G., Wong, A., & Yang, C. (1975). A vector space model for automatic indexing.

Communications of the ACM, 613-620.

[34] Namee, B. (2012). DIT MSc in Computing (Data Analytics): Text Analytics in Weka.

Ditmscda.blogspot.ca. Retrieved from http://ditmscda.blogspot.ca/2012/03/text-analytics-

in-weka.html

[35] Snowball.tartarus.org,. (2015). Defining R1 and R2. Retrieved 24 July 2015, from

http://snowball.tartarus.org/texts/r1r2.html

[36] Snowball.tartarus.org,. (2015). Spanish stemming algorithm. Retrieved from

http://snowball.tartarus.org/algorithms/spanish/stemmer.html

[37] Weka.wikispaces.com,. (2015). weka - GenericObjectEditor (book version). Retrieved from

https://weka.wikispaces.com/GenericObjectEditor+%28book+version%29

Page 73: CLASIFICACIÓN DE DOCUMENTOS EN WEKA 1 Clasificación de ...³n... · categorías gramaticales, relaciones sintácticas, sentidos, relaciones anafóricas, estructuras retoricas, etc.

CLASIFICACIÓN DE DOCUMENTOS EN WEKA 73

[38] Cs.cmu.edu, (2015). Rainbow. Retrieved from

http://www.cs.cmu.edu/~mccallum/bow/rainbow/

[39] Weka.sourcearchive.com,. (2015). weka 3.6.0-3,

classweka_1_1filters_1_1unsupervised_1_1attribute_1_1StringToWordVector_a4ad7e64

ecb476e527a19afee2c96aea6.html. Retrieved from

http://weka.sourcearchive.com/documentation/3.6.0-

3/classweka_1_1filters_1_1unsupervised_1_1attribute_1_1StringToWordVector_a4ad7e

64ecb476e527a19afee2c96aea6.html

[40] Drazin, S., & Montag, M. (2015). Decision Tree Analysis using Weka. University of

Miami. Machine Learning – Project II. Retrieved from

http://ww.samdrazin.com/classes/een548/project2report.pdf

[41] Spasić, I., Livsey, J., Keane, J., & Nenadić, G. (2014). Text mining of cancer-related

information: Review of current status and future directions. Sciencedirect.com. Retrieved

12 May 2015, from

http://www.sciencedirect.com/science/article/pii/S1386505614001105

[42] Jindala, R., & Tanejab, S. (2015). A Lexical Approach for Text Categorization of Medical

Documents. Procedia Computer Science 46 314 – 320.

[43] Bui, D., & Zeng-Treitler, Q. (2014). Learning regular expressions for clinical text

classification. J Am Med Inform Assoc. 2014 Sep-Oct;21(5):850-7. doi: 10.1136/amiajnl-

2013-002411.

[44] Pérez, A., Gojenola, K., Casillas, A., Oronoz, M., & Díaz de Ilarraza, A. (2015). Computer

aided classification of diagnostic terms in spanish. Expert Systems With Applications,

422949-2958. doi:10.1016/j.eswa.2014.11.035

Page 74: CLASIFICACIÓN DE DOCUMENTOS EN WEKA 1 Clasificación de ...³n... · categorías gramaticales, relaciones sintácticas, sentidos, relaciones anafóricas, estructuras retoricas, etc.

CLASIFICACIÓN DE DOCUMENTOS EN WEKA 74

[45] Vilares, D., Alonso, M. A., & Gómez, C. (2015). A syntactic approach for opinion mining

on Spanish reviews. Natural Language Engineering, 21(1), 139.

[46] Pérez Abelleira, M. Alicia, & Cardoso, Alejandra Carolina. (2010). Minería de texto para la

categorización automática de documentos. Cuadernos de la Facultad 5.


Recommended