clasificaciÓn de documentos en weka 1 clasificación de ...³n... · categorías gramaticales,...
Post on 29-Oct-2019
13 Views
Preview:
TRANSCRIPT
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.
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.
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
CLASIFICACIÓN DE DOCUMENTOS EN WEKA 4
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
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.
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.
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
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).
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
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.
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
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
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
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
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
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
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.
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.
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
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
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).
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
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.
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).
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
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.
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
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
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.
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
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 .
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
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:
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>
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
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.
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
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
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:
CLASIFICACIÓN DE DOCUMENTOS EN WEKA 41
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
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.
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
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.
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
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.
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.
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”.
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
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).
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.
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.
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).
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”.
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
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.
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
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”.
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.
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
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
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
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
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
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.
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
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.
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.
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.
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.
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
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
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.
top related