Universidad Central “Marta Abreu” de Las Villas Facultad de Matemática, Física y Computación Licenciatura en Ciencia de la Computación Extensión de una metodología para el agrupamiento de documentos no estructurados Autor Adrián Rodríguez Dosina Tutores MSc. Damny Magdaleno Guevara Dra. María Matilde García Lorenzo Seminario Inteligencia Artificial Santa Clara, 2015 Hago constar que el presente trabajo fue realizado en la Universidad Central Marta Abreu de Las Villas como parte de la culminación de los estudios de la especialidad de Ciencia de la Computación, autorizando a que el mismo sea utilizado por la institución, para los fines que estime conveniente, tanto de forma parcial como total y que además no podrá ser presentado en eventos ni publicado sin la autorización de la Universidad. __________________________ Firma del autor Los abajo firmantes, certificamos que el presente trabajo ha sido realizado según acuerdos de la dirección de nuestro centro y el mismo cumple con los requisitos que debe tener un trabajo de esta envergadura referido a la temática señalada. __________________________ __________________________ Firma del tutor Firma del jefe del Laboratorio. A mi familia. AGRADECIMIENTOS A Dios por la vida. A mis padres por su confianza y apoyo. A mis tutores por su valiosa ayuda todo el tiempo. A mis compañeros de estudio por su amistad incondicional. A todos los profesores que de una forma u otra han contribuido a mi formación universitaria. Resumen RESUMEN En la actualidad existe gran cantidad de información disponible que cada día se incrementa con el avance científico-técnico. Una de las tareas fundamentales que se plantean los investigadores del área de la recuperación de información es crear mecanismos que permitan la utilización de dicha información para la toma de decisiones futuras y la obtención de nuevo conocimiento basado en experiencias pasadas. En el presente trabajo se implementó el sistema Scientific Solr que soporta un esquema de agrupamiento de documentos. El esquema soportado fue concebido inicialmente para agrupar colecciones de documentos semiestructurados con formato XML, sin embargo en esta investigación ha sido extendido, incorporándole un nuevo módulo que permite agrupar documentos no estructurados. La extensión realizada se basa en una técnica de procesamiento de textos conocida como segmentación por tópicos. Específicamente se implementó una variante del algoritmo de segmentación por tópicos TextLec que se ajusta al modelo propuesto y reporta buen desempeño procesando documentos con estructura lineal, como es el caso de los artículos científicos. Los resultados obtenidos fueron satisfactorios luego de aplicar los experimentos, pues se obtuvieron mejores resultados con el nuevo método que con el método clásico de representación global. En el proceso de validación se utilizaron varios corpus de documentos de carácter científico y se aplicaron algunas medidas internas y externas para evaluar la calidad del agrupamiento. Abstract ABSTRACT The amount of electronic data with semi-structured format available on the World Wide Web, intranets, and other media increases every day. In consequence, the Information Retrieval investigators have a very important goal. This goal consist of create mechanisms to use the stored information for Knowledge Management. In this thesis an Information Retrieval System named Scientific Solr was implemented. This software contains a clustering documents model that is based on the content and structure existing in documents. The model was originally designed to cluster semi-structured documents, especially XML documents. The present work adds a new module that permits cluster not-structured documents. The module that was added uses a text processing technique named Text Segmentation by Topics. The applied tests showed successful results because the new method had a better behavior compared to the classic method that uses global representation. In validation process were used different scientific document collections and were applied some internal and external measures to evaluate the quality of clustering. Tabla de contenidos TABLA DE CONTENIDOS INTRODUCCIÓN .................................................................................................................................................. 1 1 RESEÑA SOBRE RECUPERACIÓN DE INFORMACIÓN INTELIGENTE ....................................... 5 GESTIÓN DE LA INFORMACIÓN INTELIGENTE ............................................................................................ 5 1.1 RECUPERACIÓN DE INFORMACIÓN ............................................................................................................ 6 1.2 1.2.1 Base de Datos Documental ................................................................................................................. 8 1.2.2 Subsistema de Consultas ..................................................................................................................... 8 1.2.3 Mecanismo de Recuperación .............................................................................................................. 9 LOS DOCUMENTOS SEMIESTRUCTURADOS EN LA RI ................................................................................. 9 1.3 1.3.1 Lenguaje XML ..................................................................................................................................... 9 1.3.2 Desafíos en la RI sobre documentos XML ........................................................................................ 12 AGRUPAMIENTO ..................................................................................................................................... 13 1.4 1.4.1 Agrupamiento para documentos XML .............................................................................................. 14 1.4.1.1 Algoritmo de agrupamiento basado en la similitud OverallSimSUX ....................................................... 15 1.4.1.2 Similitud Coseno, función de semejanza OverallSimSUX ...................................................................... 16 1.4.1.3 Un algoritmo de agrupamiento basado en la similitud OverallSimSUX .................................................. 17 SEGMENTACIÓN DE TEXTOS POR TÓPICOS .............................................................................................. 18 1.5 1.5.1 Segmentación del discurso ................................................................................................................ 18 1.5.2 Señales que indican cambios o continuidad de tópicos .................................................................... 20 1.5.3 Preprocesamiento ............................................................................................................................. 21 1.5.3.1 Conversión de un documento a texto plano ............................................................................................. 22 1.5.3.2 Reducción de palabras vacías ................................................................................................................... 22 1.5.3.3 Extracción de raíces o lemas .................................................................................................................... 22 1.5.4 Algunas técnicas de segmentación por tópicos ................................................................................. 23 1.5.4.1 Segmentación por tópicos globales de Ponte y Croft ............................................................................... 23 1.5.4.2 Segmentación por tópicos globales de Stokes, Carthy y Smeaton ........................................................... 24 1.5.4.3 Segmentación jerárquica del discurso de Morris y Hirst .......................................................................... 25 1.5.4.4 Segmentación jerárquica del discurso de Gruenstein, Niekrasz y Purver ................................................. 25 1.5.4.5 Segmentación lineal del discurso de Kozima ........................................................................................... 26 1.5.4.6 Segmentación lineal del discurso de Hearst ............................................................................................. 26 1.5.4.7 Segmentación lineal del discurso de Heinonen ........................................................................................ 27 CONSIDERACIONES FINALES DEL CAPÍTULO ........................................................................................... 28 1.6 2 EXTENSIÓN DEL MODELO DE AGRUPAMIENTO BASADO EN OVERALLSIMSUX................. 31 EXTENSIÓN DEL MODELO PARA EL AGRUPAMIENTO DE DOCUMENTOS NO ESTRUCTURADOS .................. 31 2.1 Tabla de contenidos 2.1.1 Preprocesamiento de los documentos no estructurados ................................................................... 32 2.1.2 Tópicos como unidades estructurales ............................................................................................... 33 MÉTODO TEXTLEC................................................................................................................................. 36 2.2 2.2.1 Características generales ................................................................................................................. 36 2.2.2 Ventana de párrafos cohesionados ................................................................................................... 37 2.2.3 Similitud entre los párrafos ............................................................................................................... 38 2.2.4 Detección de cambios de tópicos ...................................................................................................... 39 UN ALGORITMO DE SEGMENTACIÓN BASADO EN TEXTLEC .................................................................... 41 2.3 DISEÑO DEL SISTEMA SCIENTIFIC SOLR ................................................................................................. 45 2.4 2.4.1 Herramientas de RI ........................................................................................................................... 48 2.4.1.1 Tika .......................................................................................................................................................... 48 2.4.1.2 Lucene ...................................................................................................................................................... 49 2.4.1.3 Solr ........................................................................................................................................................... 50 2.4.2 Modelo Vista Controlador ................................................................................................................ 52 2.4.3 GWT .................................................................................................................................................. 53 CONCLUSIONES PARCIALES .................................................................................................................... 55 2.5 3 EVALUACIÓN DE LA EXTENSIÓN PROPUESTA Y DESCRIPCIÓN DEL SISTEMA SCIENTIFIC SOLR .............................................................................................................................................. 57 EVALUACIÓN DE LOS RESULTADOS DEL AGRUPAMIENTO PARA DOCUMENTOS NO ESTRUCTURADOS...... 57 3.1 3.1.1 Casos de estudio para el agrupamiento de documentos no estructurados ....................................... 57 3.1.2 Validación del agrupamiento ............................................................................................................ 58 3.1.3 Diseño de los experimentos ............................................................................................................... 59 INTERFAZ WEB ....................................................................................................................................... 65 3.2 CONCLUSIONES PARCIALES .................................................................................................................... 68 3.3 4 CONCLUSIONES ........................................................................................................................................ 69 5 RECOMENDACIONES .............................................................................................................................. 70 6 REFERENCIAS BIBLIOGRÁFICAS ....................................................................................................... 71 7 ANEXOS ....................................................................................................................................................... 75 ANEXO 1. DESCRIPCIÓN DE LOS CASOS DE ESTUDIO UTILIZADOS ........................................................................ 75 ANEXO 2. CLASIFICACIÓN SIMPLIFICADA DE ALGUNAS TÉCNICAS PARA LA VALIDACIÓN DE AGRUPAMIENTOS... 76 ANEXO 3. ALGUNAS MEDIDAS EXTERNAS E INTERNAS PARA LA VALIDACIÓN DEL AGRUPAMIENTO ................... 78 Introducción 1 INTRODUCCIÓN Las instituciones continuamente han demandado un uso la información íntegra, que permita no sólo caracterizar su significado en su medio, sino además descubrir nuevo conocimiento, compartirlo y tomar decisiones(Lesniewska, 2009). En el caso de gestión del conocimiento esto se entiende mediante (Fuentes, 2013a, Tekli and Chbeir, 2011b) la búsqueda, la explotación y evaluación del conocimiento, mediante un proceso de transformación. Las organizaciones deben considerar servicios de conocimiento para lograr la integración de fuentes locales (por ejemplo, intranet local, servidores de ficheros, sitios públicos), intra-redes y extra-redes (Fuentes, 2013a, Tekli and Chbeir, 2011b). Pero esto no es suficiente, es necesario utilizar adecuadamente las tecnologías de la información para desarrollar gestores de conocimiento. Los sistemas de gestión de documentos 1 han alcanzado en la actualidad un auge abrumador (Wilcoxon, 1945). Algunos ejemplos identificados por el Instituto Kaieteur 2 son: Docyoument, Text Miner, Worldox, Autonomy , Knexa, entre otros (Egüe, 2011). En el caso de sistemas que manipulan documentos estructurados se reportan en la literatura que para su eficiente organización, una posible solución es agrupar los documentos XML basándose en su estructura y/o en su contenido (Tien T., 2007). El desarrollo de sistemas que faciliten a los usuarios gestionar grandes colecciones de textuales, mediante la organización y extracción del conocimiento es una necesidad real. Estos sistemas a partir de una colección personal presentada como entrada, deben proponer como salida, grupos homogéneos de documentos afines, los términos relevantes y los documentos más representativos de cada grupo, así como las relaciones entre ellos y la calidad con que fueron obtenidos los grupos, proporcionando el control para la evaluación de los resultados del agrupamiento obtenido (Arco, 2009). 1 Entiéndase: Sistemas de soporte de búsquedas y almacenamiento, modelos de categorización y análisis de contenidos, ontologías y servicios de control de acceso y coordinadores de trabajo colaborativo. 2 Instituto para la gestión del conocimiento (Kaieteur Institute for Knowledge Management http://www.kikm.org) Introducción 2 En el Centro de Estudios de Informática (CEI) de la Universidad Central “Marta Abreu” de las Villas (UCLV) se ha propuesto el sistema para la gestión de la información y el conocimiento RISADXML (Cabeza, 2014a) que implementan esquemas para la confección de sistemas gestores de información en dominios textuales en formato XML. Este sistema brinda amplias ventajas para la gestión de la información y del conocimiento, no obstante su diseño solo contempla un algoritmo para el agrupamiento de documentos XML y no es capaz de enfrentarse a otros tipos de documentos. Lo antes expuesto ratifica la problemática que justifica el siguiente planteamiento de investigación: Aunque existe sistema RISADXML que permite gestionar información siguiendo el esquema de indexado, recuperación, agrupamiento y valoración de los resultados, este no brinda un tratamiento específico a los documentos que no se encuentran en formato XML. A lo cual se le adiciona, que en el Centro de Estudios de Informática existen un gran número de artículos científicos de variados temas. Por tanto, superar estos desafíos es esencial para dar a los científicos mejores condiciones. Objetivos de la investigación Una vez definido el problema investigación se plantea el siguiente objetivo principal a cumplir, desglosado en los objetivos específicos que le siguen. Objetivo general Implementar un esquema de recuperación de información para el agrupamiento de artículos científicos en disímiles formatos, utilizando una metodología para el agrupamiento de documentos semiestructurados y un algoritmo detector de tópicos. Objetivos específicos  Extraer la información textual de disímiles fuentes y formatos.  Extender la metodología precedente utilizando un algoritmo de detección de tópicos para los documentos no estructurados.  Implementar un sistema web que soporte la extensión implementada. Introducción 3  Evaluar la implementación realizada a partir de corpus textuales, utilizando los resultados obtenidos. Preguntas de investigación  ¿Cómo extender un algoritmo de detección de tópicos para delimitar Unidades Estructurales en documentos textuales?  ¿Cómo extender la metodología anterior para el agrupamiento de documentos textuales de disímiles formatos?  ¿En qué medida la nueva propuesta aporta mejores resultados al agrupamiento de documentos que otras variantes propuestas? Justificación de la investigación y viabilidad Justificación La información en sí misma tiene pocas ventajas, su sistematización, y utilización son los elementos que aportan su valor añadido: el conocimiento. Gestionar el conocimiento a partir de la información encontrada es fundamental en el trabajo científico. En la actualidad los usuarios se enfrentan a grandes colecciones de información y tienen que ser muy pacientes para analizar la información que verdaderamente necesitan. Además esta información se encuentra almacenada en disímiles formatos. La categorización, clasificación y agrupamiento se pueden utilizar para refinar resultados de la recuperación y extracción de información, y así contribuir al descubrimiento de conocimiento. Viabilidad  En el Centro de Estudios de Informática:  Existe un amplio repositorio de información científica de disímiles formatos.  Existen expertos en la información existente para poder clasificarla o corroborar los resultados. 4 1 RESEÑA SOBRE RECUPERACIÓN DE INFORMACIÓN INTELIGENTE Capítulo 1. Reseña sobre recuperación de información inteligente 5 1 RESEÑA SOBRE RECUPERACIÓN DE INFORMACIÓN INTELIGENTE En la actualidad existe una gran cantidad de información disponible que cada día se incrementa con el avance científico-técnico. Una de las tareas fundamentales que se plantean los investigadores del área de la recuperación de información es crear mecanismos que permitan la utilización de dicha información para la toma de decisiones futuras y la obtención de nuevo conocimiento basado en experiencias pasadas. Gestión de la información inteligente 1.1 Debido a la importancia que tiene este tema, resulta indispensable procesar lo más eficientemente posible el gran volumen de información existente. Con este propósito se hace necesario el uso de la tecnología ya que sería casi imposible para el hombre realizar dicho procesamiento de forma manual. Por tal motivo la gestión de la información inteligente se presenta como un campo de gran interés para los especialistas de las ciencias relacionadas con la información y entre ellas se destacan las ciencias de la computación. Específicamente el procesamiento automático de textos ha alcanzado un desarrollo considerable, pues existen herramientas que facilitan a los usuarios la gestión de grandes volúmenes de información. Este tipo de herramientas permite filtrar información relevante o interesante desde información no relevante acorde a intereses especificados por los usuarios, o sea la información puede ser resumida y visualmente presentada (Ji et al., 2011). La gestión del conocimiento incluye: el descubrimiento de conocimiento en bases de datos, la minería de datos y de textos, los que pretenden lograr una visión selectiva y perfeccionada de la información contenida en documentos escritos. Dentro de la minería de textos se encuentran la recuperación y extracción de información, el análisis de textos, el resumen, la categorización, la clasificación, el agrupamiento, la visualización, la tecnología de bases de datos, el aprendizaje automático y la minería de datos (Dixon, 1997, Tan, 1999). Capítulo 1. Reseña sobre recuperación de información inteligente 6 Recuperación de información 1.2 El hecho de que la mayor cantidad de información esté almacenada en formato electrónico ha propiciado que la recuperación de información se convierta en un área de gran importancia para la gestión del conocimiento. La Recuperación de información (RI) en su concepción amplia es la ciencia de la búsqueda y la recuperación de información a partir de datos con formatos heterogéneos, como pueden ser bases de datos estructuradas, grandes colecciones de documentos semi-estructurados o no estructurados (Salgueiro et al., 2012). De manera específica, la RI a partir de colecciones de documentos electrónicos es la selección de información documental relevante desde un dispositivo de almacenamiento en respuesta a consultas realizadas por un usuario (Berzal, 2007). En la Figura 1-1 se muestra una idea básica de qué consiste la Recuperación de Información. Figura 1-1 Idea básica de la recuperación de Información 3 3 Tomado de (Berzal, 2007) Capítulo 1. Reseña sobre recuperación de información inteligente 7 El proceso completo consiste en dada una colección de documentos, obtener una representación textual de estos en forma de palabras claves o términos de indexación (Cabeza, 2014b). Mediante la indexación, se obtienen el conjunto de términos asociados a cada documento. En este momento, la base de datos documental está lista para ser utilizada y responder a la consulta que ha formulado el usuario en función de su necesidad de información. El sistema de recuperación de información (SRI) pone en marcha su motor de búsqueda y compara cada uno de los documentos almacenados con la consulta realizada, obteniendo en algunos casos el grado con el que el documento satisface a la consulta, y en otros simplemente seleccionando los documentos que la satisfagan completamente. Luego se debe presentar al usuario la salida del proceso de búsqueda lo que permite comprobar cuan satisfactoria es para su necesidad de información. En el siguiente esquema se ilustra este proceso. En la Figura 1-2 se muestra el proceso de Recuperación de Información. Figura 1-2 Proceso de Recuperación de Información 4 La RI posee tres componentes principales: la base de datos documental, el subsistema de consultas y el mecanismo de recuperación. A continuación se exponen los aspectos fundamentales de cada uno de ellos. 4 Tomado de (Berzal, 2007) Capítulo 1. Reseña sobre recuperación de información inteligente 8 1.2.1 Base de Datos Documental El término documento se define por un objeto de datos de naturaleza tradicionalmente textual, aunque la evolución tecnológica ha propiciado la profusión de documentos multimedia, incorporándose al texto fotografías, ilustraciones gráficas, vídeos animados, audio, entre otros. Aunque un documento por sí solo puede ser representado íntegramente, dado que existen colecciones de documentos extensas, se hace necesario obtener una representación del mismo en forma de palabras claves, descriptores, conceptos, o términos de indexación. De esta manera se reduce el espacio físico necesario para almacenar la colección y se eliminan palabras que no aportan información alguna sobre el contenido de los documentos (P.Selvakumar, 2013). Otra ventaja es que se expresan los documentos de una manera más eficiente para el manejo mediante el ordenador (Tekli and Chbeir, 2011a). De esta forma, un documento se compondrá de una serie de descriptores. Enfocando el proceso desde un punto de vista matemático, la base de datos documental se puede representar por una tabla o matriz en la que cada columna indica las asignaciones de un determinado descriptor y cada fila representa un documento. Cada elemento de la matriz contiene cierta información numérica que expresa la asignación de un concepto a un documento y puede tener diferentes significados dependiendo del modelo de recuperación que se trate. Para obtener estas representaciones se aplica un proceso conocido como indexación, que recibe como entrada los documentos en su estado inicial y como salida la base de datos documental, también conocida como índice del SRI. 1.2.2 Subsistema de Consultas El subsistema está compuesto por la interfaz que permite al usuario formular sus consultas y por un analizador sintáctico que toma la consulta y la desglosa en sus partes integrantes. La interfaz ofrecerá facilidades al usuario a la hora de formular su consulta, ya que éste no necesita conocer exactamente el funcionamiento interno del sistema. También se ocupará de mostrar al usuario el resultado de su búsqueda una vez procesada su consulta. El lenguaje de consulta es el encargado de establecer todas las reglas para generar consultas apropiadas. Una vez formulada la consulta por el usuario ésta debe ser procesada antes de Capítulo 1. Reseña sobre recuperación de información inteligente 9 ejecutarse con el fin de extraer sus componentes básicos, además de chequear la validez de la misma de acuerdo con el lenguaje de consulta predefinido. 1.2.3 Mecanismo de Recuperación El mecanismo de recuperación en un SRI establece los pasos a seguir para seleccionar los documentos más relevantes acorde con una consulta dada, por tanto es el que precisa el grado en el que las representaciones de los documentos satisfacen los requisitos expresados en la consulta. Este grado se denomina RSV (Retrieval Status Value) (P.Selvakumar, 2013) y la forma de calcularse varía en dependencia del modelo de recuperación que use el SRI. Los documentos semiestructurados en la RI 1.3 Dentro del volumen de información que se tiene en la actualidad existe una gran parte diseminada en el World Wide Web, intranets corporativas, y otros medios de comunicación y es soportada por un número creciente de herramientas, sin embargo, mientras la cantidad de información disponible está continuamente creciendo, la habilidad de procesarla y asimilarla no presenta el mismo ritmo de crecimiento. Aunque este gran volumen de información se encuentra almacenado en varios formatos cabe destacar que actualmente la de formato semiestructurado es la más utilizada (Algergawy et al., 2011). Un ejemplo de este tipo de formato es XML; otros ejemplos son AIML y WSDL, los cuales se basan en XML. 1.3.1 Lenguaje XML Un documento XML es una estructura jerárquica autodescriptiva de información que consiste en un conjunto de átomos, elementos compuestos y atributos (Dalamagas et al., 2006). Es un lenguaje extensible e independiente de la plataforma utilizada ya que no tiene un conjunto de etiquetas fijo como sucede en el HTML, o sea las palabras claves del lenguaje no están predefinidas. Por tanto el XML permite definir un lenguaje específico para aplicaciones concretas. Las características de este lenguaje posibilitan que las aplicaciones utilizadas para el procesamiento de los documentos XML sean fácilmente extensibles, por ejemplo es posible Capítulo 1. Reseña sobre recuperación de información inteligente 10 añadir un determinado atributo a un documento sin tener que realizar cambios en la aplicación que lo utilice. De modo que el empleo de XML en aplicaciones además de la flexibilidad tiene como ventaja que su estructura es poco compleja para su análisis y procesamiento. Estas peculiaridades han propiciado que el XML se haya convertido en el formato de intercambio de datos estándar entre las aplicaciones Web (Dalamagas et al., 2006), teniendo un papel muy importante en la actualidad, ya que permite la compatibilidad entre sistemas para compartir la información de una manera segura, fiable y fácil. Uno de los propósitos fundamentales del lenguaje es expresar información estructurada de la manera más abstracta y reutilizable posible. Que la información sea estructurada quiere decir que se compone de partes bien definidas, y que esas partes se componen a su vez de otras partes. En la Figura 1-3 se muestra un ejemplo de documento XML correspondiente a un artículo científico, el árbol que contiene la estructura de este documento se muestra en la Figura 1-4. En un documento XML estas partes se llaman elementos, y se les señala mediante etiquetas. Las etiquetas existentes en los documentos XML permiten la descripción semántica del contenido de los elementos. De este modo, la estructura de los documentos puede ser explotada para realizar recuperación de documentos relevantes (Guerrini et al., 2006). Lo antes expuesto hace que cada día más datos electrónicos sean presentados en formato XML (Dalamagas et al., 2006), no obstante, la habilidad de las herramientas existentes para extraer conocimiento permanece constante (Dixon, 1997, Lanquillon, 2001). Con este continuo crecimiento de los datos semiestructurados, hay una necesidad inevitable de manejar eficazmente estos grandes volúmenes de datos (Dalamagas et al., 2006). Capítulo 1. Reseña sobre recuperación de información inteligente 11 Figura 1-3 Ejemplo de un documento XML correspondiente a un artículo científico . Figura 1-4 Ejemplo de un árbol correspondiente a un artículo científico Capítulo 1. Reseña sobre recuperación de información inteligente 12 1.3.2 Desafíos en la RI sobre documentos XML Las características propias del XML y sus potencialidades traen consigo que aparezcan nuevos retos para el tratamiento de este tipo de documentos en la RI. El primer desafío que se presenta es que los usuarios requieren que el sistema devuelva como resultado de sus búsquedas partes de documentos (ej: elementos del XML) y no documentos completos como es usual en los SRI clásicos. Un criterio puede ser: recuperar la parte más específica de un documento en respuesta a una consulta (Fuentes, 2013b). Por otra parte se plantea la disyuntiva entre determinar las partes del documento que se deben indexar o simplemente encontrar la “unidad de indexación correcta”. En la recuperación estructurada existen diferentes variantes para definir como encontrar la unidad de indexación adecuada. Para dar solución a esta problemática se han tomado varios enfoques. Un enfoque es agrupar los nodos en pseudo-documentos que no se solapen como se muestra en la Figura 1-5. En el ejemplo: libros, capítulos y secciones se han diseñado para que constituyan unidades de indexación. La desventaja de este enfoque es que los pseudodocumentos pueden no tener sentido para el usuario porque son unidades semánticamente incoherentes. Figura 1-5 Representación de nodos no solapados como unidades de indexación Tomar uno de los elementos más extensos como unidad de indexación es otra variante de solución para esta problemática. En el ejemplo anterior puede ser el elemento libro, pues esto permite post-procesar los resultados de la búsqueda con el objetivo de encontrar para cada libro el subelemento más relevante a la consulta. Este método de recuperación tiene como Capítulo 1. Reseña sobre recuperación de información inteligente 13 desventaja que la relevancia de un elemento en su totalidad no es frecuentemente un buen predictor de la relevancia de los subelementos que lo componen. Como alternativa se pueden buscar todos los nodos hojas, seleccionar los más relevantes y propagarlos a elementos más extensos, pero este enfoque presenta problemas similares: la relevancia de los nodos hojas no es frecuentemente un buen predictor de la relevancia de los elementos en los que están contenidos. Por tanto, el método menos restrictivo es indexar todos los elementos, aunque tiene también varias inconvenientes como por ejemplo el hecho de que muchos elementos XML no tienen importancia para las búsquedas, además indexar todos los elementos podría implicar redundancia en los resultados de las búsquedas. Paralelamente constituye un gran reto para la RI tratar el anidamiento de elementos presente en los documentos XML, puesto que puede ocasionar redundancia tanto para el cálculo de la relevancia de los términos como a la hora de presentar los resultados al usuario. Como consecuencia, se hace necesario realizar un post-procesamiento para eliminar algunos elementos y con ello reducir la redundancia o se pueden colapsar los elementos anidados en la lista de resultados y resaltar los términos de la consulta para enfocar la atención del usuario a los fragmentos de texto relevantes. El fenómeno de la heterogeneidad o diversidad de esquemas representa otro desafío a tener en cuenta en la RI sobre documentos XML. El mismo se produce cuando en una misma colección se tienen documentos con diferentes esquemas pues provienen de fuentes diferentes, lo cual hace más complejo todo el proceso de recuperación. En (C.D. et al., 2008) se presenta una explicación detallada del mismo y posibles soluciones. Agrupamiento 1.4 Las técnicas de agrupamiento son ampliamente utilizadas en los sistemas que se dedican a la minería de textos ya que forman la base del aprendizaje y el conocimiento. (Dixon, 1997 1999). Un algoritmo de agrupamiento tiene como objetivo dividir un conjunto de objetos en grupos de ellos, de manera que se obtenga una distribución interna de dicho conjunto mediante su particionamiento. El agrupamiento se basa principalmente en la similitud y las relaciones de los objetos, es decir, sigue el principio de maximizar la similitud dentro del grupo y minimizar la similitud entre los Capítulo 1. Reseña sobre recuperación de información inteligente 14 grupos (Anderberg, 1973, Kruse et al., 2007). En ocasiones el agrupamiento se confunde con clasificación, lo cual es erróneo, pues el agrupamiento es una forma de aprendizaje no supervisado donde no existen clases predefinidas por un experto humano para los objetos (Jajoo, 2008). Para definir la similitud como medida se debe tener en cuenta la naturaleza de los datos de los objetos que intervienen en el agrupamiento. Generalmente los objetos se representan como vectores de valores reales, lo que permite reutilizar medidas de similitud que hayan sido implementadas con anterioridad, sin tener que definir la similitud para cada problema. Con frecuencia lo que se hace es seleccionar la medida qué será utilizada con determinado método. 1.4.1 Agrupamiento para documentos XML Específicamente para documentos XML existen varias técnicas de agrupamiento, las cuales se dividen en tres grupos fundamentales. En el primer grupo se encuentran los algoritmos que consideran sólo el contenido de los documentos (Kurgan et al., 2002, Shen and Wang, 2003), en un segundo grupo están los que utilizan la estructura solamente, de igual modo existen algoritmos que combinan el uso de la estructura y el contenido de los documentos los cuales forman un tercer grupo. Los algoritmos pertenecientes al primer grupo realizan un análisis léxico, o en ocasiones incluyen además elementos sintácticos o semánticos en el estudio, éstos consideran los documentos como una bolsa de palabras sin tener en cuenta su estructura. Sin embargo, los algoritmos del segundo grupo se basan en el uso de la estructura ya que se plantea por algunos autores que ésta no se puede descartar del análisis (Tran et al., 2008), además la estructura desempeña un papel importante en el agrupamiento para ciertas aplicaciones específicas. Por otra parte los algoritmos del tercer grupo que combinan ambas componentes: estructura y contenido, enfrentan un nuevo desafío, ya que la mayoría de los enfoques existentes no utilizan estas dos dimensiones debido a su gran complejidad (Tien T., 2007). El agrupamiento de los documentos XML basándose en su estructura y/o en su contenido contribuye a una eficiente organización y recuperación de los documentos relevantes (Tien T., 2007). Estos algoritmos de agrupamiento se mantienen con un gran auge en los últimos tiempos, como consecuencia del crecimiento de datos electrónicos en este formato. En la Capítulo 1. Reseña sobre recuperación de información inteligente 15 siguiente sección se aborda uno de ellos y que es precisamente el algoritmo sobre el que se basa el presente trabajo. 1.4.1.1 Algoritmo de agrupamiento basado en la similitud OverallSimSUX En (Fuentes, 2013b) se propone una metodología general para la aplicación del agrupamiento de documentos XML con el propósito de facilitar a los usuarios enfrentarse a grandes colecciones de documentos, a partir de su organización; contribuyendo a la extracción de conocimiento relevante (Cabeza, 2014b). Este modelo se inicia a partir del resultado de un proceso de recuperación de información (Berry, 2004). Las salidas son grupos homogéneos de documentos afines, el resumen de cada documento, los documentos más representativos de cada grupo y la calidad del agrupamiento; garantizando el control para la evaluación de los resultados. Una visión gráfica del esquema del modelo general presentado en este trabajo se muestra en la Figura 1-6. En la Figura 1-7 se muestra los cuatros módulos principales que contiene el modelo. Figura 1-6 Esquema que muestra el modelo general propuesto Capítulo 1. Reseña sobre recuperación de información inteligente 16 Módulo 1. Recuperación de la información o especificación del corpus textual a procesar, identificando en cada documento recuperado las Unidades Estructurales (UE). Módulo 2. Representación del corpus textual obtenido. Submódulo 2.1. Tratar cada UE como una colección diferente. Obtener por cada UE una representación basada en la VSM clásica, denominada en este trabajo Representación I. Submódulo 2.2 A partir de las UE identificadas. Obtener una representación global que tendrá en cuenta el contenido en función de la estructura. Esta representación, es denominada Representación II. Módulo 3. Agrupamiento de los documentos. Submódulo 3.1. Realizar un agrupamiento por cada UE, a partir de la matriz de similitud resultante de la Representación I. Submódulo 3.2. Obtener la matriz de similitud, a partir de la Representación II. Submódulo 3.3. Realizar el agrupamiento general a partir del cálculo de la función de semejanza, propuesta en esta investigación, que utiliza como entrada el resultado de los submódulos 3.1 y 3.2. Módulo 4. Valoración (validación y verificación) de los grupos obtenidos. Figura 1-7 Módulos principales del modelo propuesto El modelo presentado anteriormente se basa en la función de similitud OverallSimSUX propuesta en (Fuentes, 2013b), la cual se aborda en la próxima sección. 1.4.1.2 Similitud Coseno, función de semejanza OverallSimSUX El problema del Reconocimiento de Patrones sin aprendizaje consiste en: dado un conjunto de objetos (muestra inicial) MI y β una función de semejanza entre los objetos, identificar a éstos en diferentes grupos que responden o se generan de manera “natural” según el comportamiento global o particular de las semejanzas entre los objetos, o atendiendo al cumplimiento de una cierta propiedad. (Ruiz-Shulcloper, 1995). En (Fuentes, 2013b) se da la definición de (β-semejantes). Específicamente en el agrupamiento de los documentos XML se plantea que tener en cuenta la relación estructural existente entre ellos puede aportar mejores resultados, cuando se utiliza el contenido en función de la relación entre sus unidades estructurales (Fuentes, 2013b). Precisamente en (Fuentes, 2013b) se propone la medida de similitud OverallSimSUX que facilita capturar el grado de semejanza entre estos documentos, tomando como génesis la Capítulo 1. Reseña sobre recuperación de información inteligente 17 relación existente entre sus unidades estructurales, cuando se manipulan como colecciones independientes y la similitud global. Esto se expresa formalmente a través de las definiciones de λ-pertenencia y OverallSimSUX, relacionadas a continuación. Definición 1 (λ-pertenencia) Dados los objetos i, j se define la λ-pertenencia como la relación de pertenencia de ambos objetos a un mismo grupo, a partir de los resultados del agrupamiento. Esta pertenencia se formaliza en la ecuación 1. ( ) { * + (1) Definición 2 (OverallSimSUX) La similitud OverallSimSUX entre objetos i, j está dada por la ecuación 2, en esta: * +, donde ak es el resultado del agrupamiento para la Representación Ik; sg es la matriz de similitud coseno que se obtiene a partir de la Representación II y wk es la ponderación de la UEk. ( ) ∑ ( ( ) ( )) ∑ (2) OverallSimSUX considera m como la cantidad de UE identificadas en los documentos. Esta función de similitud alcanza su máximo (i.e. 1) cuando los documentos i, j pertenecen al mismo grupo en todos los k-agrupamientos (i.e. λk = 1) y el valor de sg es máximo . 1.4.1.3 Un algoritmo de agrupamiento basado en la similitud OverallSimSUX En esta sección se muestra el algoritmo de agrupamiento propuesto en (Fuentes, 2013b) basado en la estrategia del algoritmo de agrupamiento K-Star (Shin and Han, 2003, Pinto et al., 2009) y la matriz de similitud OverallSimSUX. Algoritmo 1. Algoritmo de agrupamiento basado en K-Star. 1. Construcción de la matriz de similitud OverallSimSUX. 2. Estimación del umbral de similitud. 3. Determinación de los núcleos iniciales del agrupamiento mediante el cálculo de la máxima similitud entre dos objetos, no asignados. 4. Asignación de los objetos que no pertenecen a los núcleos a partir de su umbral de pertenencia a los grupos ya formados. Capítulo 1. Reseña sobre recuperación de información inteligente 18 Segmentación de textos por tópicos 1.5 La detección de tópicos en un texto desde hace varios años constituye una tarea de gran interés para los investigadores relacionados con la gestión de la información. Particularmente en el área de la Recuperación de Información este tema tiene varias aplicaciones. Por ejemplo, en la Recuperación de Pasajes, se necesitan los métodos de segmentación por tópicos para devolver los segmentos o pasajes más relacionados con la consulta que realizaría un usuario, en lugar del documento completo (Hearst, 1997). Otra de sus aplicaciones es el uso de la segmentación para la división en noticias individuales de un flujo de transmisión continua, teniendo en cuenta los cambios de tópicos de una a otra (Stokes et al., 2004). El tópico se define como: aquello de lo que se habla, o a lo que se refiere el texto o discurso (Bernárdez, 1982, Dijk, 1993, Dijk, 1996a, Dijk, 1996b). El tópico se desarrolla de forma secuencial y se va confirmando a medida que avanza la lectura. Aunque existe un tópico global para todo el discurso se tienen además tópicos parciales, relacionados y desarrollados secuencialmente para cada parte o segmento discursivo. A los tópicos parciales se les conoce generalmente como subtópicos (Soto, 2005, Soto and Zenteno, 2003). Teniendo en cuenta lo anterior la tarea de segmentación por tópicos se puede definir más formalmente como: el proceso automático que identifica en un texto los cambios de tópicos, ya sean estos parciales o globales (Rojas, 2007). 1.5.1 Segmentación del discurso Según los estudios sobre la teoría computacional de la estructura del discurso, existen dos tipos de estructuras de discurso: lineal y jerárquica. Estas estructuras se diferencian fundamentalmente por el nivel de granularidad con el que se segmenta el discurso. Según (Skorochod’ko, 1972), el texto tiene una estructura lineal y puede representarse por una red semántica determinada por la presencia de las relaciones semánticas entre las unidades textuales dentro de un documento (en este caso con unidades textuales el autor se refiere a oraciones o párrafos). Skorochod’ko determina la relación semántica en cuanto al número de palabras en común entre las unidades textuales. Capítulo 1. Reseña sobre recuperación de información inteligente 19 A continuación en la Figura 1-8 se muestran los cuatro tipos de texto propuestos por Skorochod’ko, teniendo en cuenta la estructura de los mismos. Figura 1-8 Tipos de textos propuestos por Skorochod’ko La definición de cada texto según su estructura es la siguiente:  Cadena: cuando solamente las unidades vecinas están relacionadas.  Anillo: cuando solo las unidades vecinas están relacionadas, pero también existe relación entre la primera y la última.  Monolítico: cuando todas las unidades del texto se relacionan.  Monolítico por partes: cuando hay porciones de texto que son monolíticas, pero hay pocas conexiones entre estas porciones. En 1986 Grosz y Sidner a diferencia de Skorochod’ko, plantean que el discurso presenta una estructura jerárquica, estando compuesto por tres estructuras interrelacionadas: estructura lingüística, estructura intencional y un estado atencional (Grosz and Sidner, 1986). La estructura lingüística captura las relaciones entre unidades textuales consecutivas (o adyacentes) y divide el texto en segmentos discursivos que pueden incluir a otros o estar incluidos en algún segmento, conformándose de esta forma una jerarquía. Capítulo 1. Reseña sobre recuperación de información inteligente 20 La estructura intencional se refleja en la estructura lingüística, la misma modela los objetivos generales y los objetivos específicos de la discusión; comprende los propósitos (o intenciones) asociados con los segmentos discursivos y las relaciones entre dichos propósitos. Dichas relaciones son identificadas por la estructura lingüística a través de indicadores lingüísticos como los sintagmas de entrada, los cuales se ampliarán más adelante. El estado atencional muestra el foco de atención de los participantes del discurso en la medida que este progresa, siendo la estructura lingüística la que limita los cambios en el estado atencional. Los límites de los subtópicos, dado por la subjetividad, pueden ser entendidos de diferentes maneras. Estos pueden resultar suficientes para algunos e insuficientes para otros, por lo que la tarea de segmentación por tópicos resulta compleja. 1.5.2 Señales que indican cambios o continuidad de tópicos Los métodos de segmentación por tópicos requieren del uso de indicadores o señales lingüísticas para identificar los cambios de tópicos entre las unidades textuales. Tales unidades textuales pueden ser: palabras, sintagmas, oraciones, párrafos o bloques de textos formados por combinaciones de estos. La cohesión léxica es uno de los indicadores y constituye un término lingüístico definido por (Halliday, 2004) como una de las relaciones de significado que existen entre las unidades textuales en un texto. El autor enfatiza en los dos aspectos que abarca la cohesión léxica: la reiteración y la colocación. Específicamente la reiteración se define como una forma de cohesión léxica que se refleja mediante la repetición de un elemento léxico o empleando su sinónimo, casi sinónimo, hiperónimo o hipónimo. Los sintagmas de entrada, que en ocasiones se denominan palabras indicio, constituyen otros indicadores que se encargan de guiar las inferencias que se realizan en la comunicación. Entre los sintagmas de entrada se encuentran expresiones como: pues bien, en primer lugar, por su parte, dicho sea de paso. Capítulo 1. Reseña sobre recuperación de información inteligente 21 Se utilizan además como señales lingüísticas las entidades nombradas que son objetos en el mundo; por ejemplo, lugares o personas. El nombre de una entidad es una frase que se refiere de manera única al objeto correspondiente, ya sea por su nombre propio, acrónimo, apodo o abreviatura. Diversos investigadores del tema concuerdan en que existen cuatro tipos de entidades nombradas (Reynar, 1998):  Persona: las entidades de persona están limitadas a humanos identificados por un nombre, apodo o alias.  Título/Rol: títulos personales o roles. Están limitados a títulos que se encuentran cerca del nombre de la persona a la que describen.  Organización: las entidades de organización están limitadas a corporaciones, instituciones, agencias de gobierno y otros grupos de gente definidos por una estructura organizacional establecida.  Lugar: las entidades de lugar incluyen nombres de lugares definidos política o geográficamente (ciudades, provincias, países, regiones internacionales, conjuntos de agua, montañas). Los lugares incluyen también estructuras hechas por el hombre como aeropuertos, autopistas, calles, fábricas y monumentos. Constituye un elemento importante, que puede indicar un cambio de tópico el primer uso de una palabra. A medida que avanza el discurso la cantidad de palabras usadas por primera vez en un documento disminuye debido a que el vocabulario del autor es finito. Por otra parte puede observarse que las ocurrencias de nuevos grupos de palabras en un documento suelen coincidir con los cambios de subtópicos (Hearst et al., 1996). 1.5.3 Preprocesamiento Como una etapa previa al procesamiento textual se debe realizar una serie de transformaciones al texto original. Dentro de las transformaciones se destacan la confección del texto plano, la eliminación de las palabras vacías y la extracción de raíces o lemas. Esta etapa se conoce como preprocesamiento y genera un conjunto de palabras o términos más pequeño y de mayor calidad que el original. El preprocesamiento es prácticamente inviolable pues influye en gran medida en la calidad del proceso de segmentación. Capítulo 1. Reseña sobre recuperación de información inteligente 22 1.5.3.1 Conversión de un documento a texto plano En la actualidad existe gran cantidad de formatos digitales que son propietarios como por ejemplo los que posee extensión“.doc”. Este tipo de documentos contienen cierta información relacionada con su formato que no es útil en el proceso de segmentación, pues lo que realmente tiene importancia es el contenido del mismo y no su formato. Por otra parte desde el punto de vista computacional es necesario hacer más ligeros los documentos; o sea, minimizar el espacio que ocupan en memoria. Por las razones anteriores se hace necesario realizar la conversión de los documentos a archivos de texto plano, o sea que contengan el contenido solamente. El texto plano, texto llano, o texto simple, como también se le conoce, son solo caracteres, texto sin formatear; es decir, sin códigos de tipos de letras, negritas, cursivas, formatos de párrafos, etc. En esta etapa además se sustituyen las mayúsculas por minúsculas y se eliminan los signos de puntuación y los acentos. 1.5.3.2 Reducción de palabras vacías En el contenido de los textos se pueden encontrar frecuentemente palabras que se consideran carentes de utilidad; o sea, que están carentes de todo significado para alguna tarea o intención; por ejemplo, en la segmentación. Entre ellas están palabras como los artículos que no es conveniente tener en cuenta a la hora de determinar la similitud entre unidades textuales por repetición de términos. A este tipo de palabras se les denomina palabras vacías o stop words. De este modo resulta indispensable eliminar las palabras vacías del texto antes de la segmentación, creando una lista de términos vacíos verificando la presencia de cada palabra en la misma. Esta lista está formada por las preposiciones, conjunciones, artículos, pronombres, así como todas aquellas palabras que suelen ser poco discriminantes por su elevada frecuencia de aparición en el texto. 1.5.3.3 Extracción de raíces o lemas Como parte del procesamiento de texto y específicamente del procesamiento de lenguaje natural se encuentran la extracción de raíces y la extracción de lemas. El objetivo principal de Capítulo 1. Reseña sobre recuperación de información inteligente 23 dichas tareas es obtener, en el mínimo número de caracteres posibles, el máximo de información del término. Los términos lema y raíz léxica, en ocasiones, tienden a ser confundidos, por lo que a continuación se exponen sus respectivas definiciones para una mejor comprensión de las diferencias entre ambas tareas.  Raíz léxica o lexema: es la unidad léxica primaria de una palabra, que lleva los aspectos más significativos del contenido semántico y que no se puede reducir en componentes más pequeños. Por ejemplo, los términos hablan y hablando se reducirían a la raíz habl.  Lema: es cada una de las entradas de un diccionario o enciclopedia. El lema define un conjunto de palabras con la misma raíz léxica, y que pertenece a la misma categoría gramatical (verbo, adjetivo, etc.). La lematización pretende normalizar los términos pertenecientes a una misma familia y por tanto próximos en significado, reduciéndolos a una forma común o lema, que no coincide necesariamente con la raíz. Por ejemplo, los términos hablan y hablando se reducirían al lema hablar. 1.5.4 Algunas técnicas de segmentación por tópicos La segmentación por tópicos es una problemática que ha sido tratada desde diferentes enfoques por parte de los investigadores. En esta sección se hará una síntesis de los métodos más relevantes dirigidos a la identificación de unidades de tópicos en el texto. Algunas de las cuestiones que se abordarán son: el tipo de texto sobre el que se trabaja, las señales lingüísticas utilizadas para determinar la similitud entre las unidades textuales y los recursos utilizados, los criterios empleados para identificar los cambios de tópicos, así como las deficiencias fundamentales de estos métodos. 1.5.4.1 Segmentación por tópicos globales de Ponte y Croft En 1997 Ponte y Croft propusieron un método de segmentación que tiene como objetivo el seguimiento de tópicos de un programa de trasmisión de noticias y la identificación de tópicos en una base de datos documental (Ponte and Croft, 1997). Estos autores consideran las Capítulo 1. Reseña sobre recuperación de información inteligente 24 oraciones como las unidades mínimas de segmentación; o sea, no se identifican segmentos menores a una oración. El método se enfoca en textos que tienen oraciones relativamente pequeñas, en los cuales las oraciones dentro de los segmentos de tópicos tienen relativamente pocas palabras en común; lo cual aumenta la complejidad del proceso de segmentación. Ponte y Croft hacen uso de una técnica de expansión de consultas, mediante la cual tratan de encontrar rasgos comunes entre las oraciones para facilitar la identificación de aquellas que corresponden a un mismo tópico. Este método constituye una propuesta interesante para resolver el problema de la segmentación en textos muy pequeños donde la cantidad de palabras en común que tienen las unidades textuales es muy poca incluso puede ser nula, pero tiene algunas desventajas. Una de ellas es que se restringe sólo a los textos que coinciden con el idioma de la base de conocimientos utilizada, la cual comúnmente es un diccionario electrónico o un tesauro. Otra desventaja es la alta complejidad en el procesamiento de dichas bases de conocimientos. Además, generalmente se corre el riego de que en el proceso de expansión se obtengan muchos términos espurios, causando un solapamiento entre los conceptos de las oraciones lo que provocaría imprecisiones en la segmentación. 1.5.4.2 Segmentación por tópicos globales de Stokes, Carthy y Smeaton Stokes, Carthy y Smeaton en 2004 propusieron un sistema llamado SeLeCT, con similar objetivo a la propuesta de Ponte y Croft (Stokes et al., 2004), (Stokes, 2004). Este sistema parte de un fichero que contiene un flujo de trasmisión continua de noticias y devuelve los segmentos del fichero que contengan noticias individuales. Para lograr el objetivo, los autores ponen su atención en la identificación de secuencias léxicas en el fichero, definidas como un cluster de palabras semánticamente similares, bajo el supuesto de que estos cluster de palabras pueden coincidir con noticias individuales. SeLeCT se basa en el criterio de que las palabras que tienden a co-ocurrir juntas en el contexto de las noticias suelen estar relacionadas semánticamente, lo que permite identificar con mayor exactitud las noticias individuales en un flujo de trasmisión continua. Para este propósito utiliza el tesauro WordNet, lo que trae aparejado algunas de las principales dificultades de la Capítulo 1. Reseña sobre recuperación de información inteligente 25 propuesta de Ponte y Croft como son: el costo en términos de eficiencia y la imposibilidad de segmentar textos escritos en un idioma que no corresponda con el del tesauro. 1.5.4.3 Segmentación jerárquica del discurso de Morris y Hirst El trabajo de Morris y Hirst en 1991 se destaca dentro de los muy pocos métodos de segmentación dirigidos a determinar la estructura jerárquica del discurso. Estos autores, al igual que Stokes, Carthy y Smeaton, identifican secuencias léxicas en un texto pero, en este caso, para reconocer la estructura jerárquica del discurso propuesta por Grosz y Sidner (Morris and Hirst, 1991). Ellos plantean que las secuencias léxicas son un resultado directo de unidades textuales que tratan sobre una mismo tópico y por tanto constituyen un buen indicador de la estructura del texto. En consecuencia, los autores definen las secuencias léxicas como: secuencias o cadenas de texto formadas por palabras cercanas relacionadas mediante cohesión léxica. Con el objetivo de determinar las secuencias léxicas, se apoyaron en la cuarta edición del Roget's International Thesaurus, desarrollada en 1977. Este tesauro no estaba en un formato legible para ser leído por la computadora por lo cual los autores tuvieron que construir manualmente las secuencias léxicas. Es necesario destacar que Morris y Hirst proponen un método que logra segmentar los textos logrando un alto nivel de especificidad; pero el mismo es muy dependiente de la estructura del tesauro que se utilice. Esto hace que al método se le señalen las mismas deficiencias relacionadas con el uso de tesauros que se han mencionado anteriormente. 1.5.4.4 Segmentación jerárquica del discurso de Gruenstein, Niekrasz y Purver Gruenstein, Niekrasz y Purver en 2005 y 2006 crearon una arquitectura de un asistente automático de oficina para representar, anotar y analizar el discurso desarrollado durante una reunión (Gruenstein et al., 2005), (Niekrasz and Gruenstein, 2006). El asistente se centra su trabajo en la creación de componentes que permitan comprender y resumir una reunión, así como ayudar a la confección colaborativa de documentos durante el curso de la misma. Dentro de este proyecto los autores propusieron un esquema de anotación de reuniones, enfocándose en dos tipos de estructuras de anotación. Una para marcar aquellas partes más relevantes a la Capítulo 1. Reseña sobre recuperación de información inteligente 26 reunión o aquellas partes de la reunión donde se toman acuerdos que deben ser cumplidos por algunos participantes luego de concluida la reunión. Y otra para la segmentación secuencial y jerárquica de la reunión en diferentes tópicos. Este esquema de segmentación representa un logro importante ya que en primer lugar son muy pocos los trabajos de segmentación jerárquica que se han realizado hasta el momento y por otra parte experimentan sobre discursos donde intervienen más de un locutor, lo cual constituye un dominio igualmente poco explorado. 1.5.4.5 Segmentación lineal del discurso de Kozima El método de segmentación lineal del discurso propuesto por Kozima en 1993 se enfoca en los textos narrativos (Kozima, 1993). Este se basa en el uso del Lexical Cohesion Profile, (LCP) que es un indicador de la estructura del texto propuesto por este autor. El LCP tiene como objetivo registrar la cohesión léxica entre todas las palabras de una cadena de texto y según los valores obtenidos, entonces se identifican los límites de los segmentos. Para ello siempre se asume como supuesto que un alto valor de cohesión refleja en buena medida la unidad semántica del segmento. Este método resulta de gran interés por su peculiar manera de calcular la similitud entre las palabras, que permite determinar la cohesión léxica de una pieza de texto en la cual existen pocas palabras repetidas, como ocurre sobre todo en textos narrativos. Una de sus desventajas es que requiere una red semántica para calcular las puntuaciones del LCP, la cual no está públicamente disponible (Reynar, 1998). Por otra parte, para aplicar este método sobre otro idioma distinto al inglés sería necesario contar con diccionarios del idioma de interés que permitan un tratamiento computacional. 1.5.4.6 Segmentación lineal del discurso de Hearst En el tema de la segmentación lineal del discurso, una de las investigaciones más importantes que se han realizado es la que publica Hearst de 1993 a 1997 (Hearst, 1993, Hearst and Plaunt, 1993, Hearst, 1994a, Hearst, 1994b, Hearst, 1995, Hearst, 1996, Hearst et al., 1996, Hearst, 1997). Hearst propuso un método denominado TextTiling que intenta dividir textos explicativos en unidades de discurso de múltiples párrafos. Capítulo 1. Reseña sobre recuperación de información inteligente 27 El método se enfoca sobre textos con una estructura monolítica por partes y se basa en el criterio de que la misma puede ser reconocida utilizando más de una señal lingüística como, por ejemplo, la cohesión léxica o el primer uso de la palabra. Hearst plantea que si un grupo de términos léxicos o vocabulario se usa durante el curso de la discusión de un subtópico, entonces al cambiar de subtópico también se produce un cambio significativo en el vocabulario. Este algoritmo, a diferencia de la mayoría de los anteriores, no requiere un alto costo en la su implementación. Su dificultad fundamental radica en provocar que segmentos con subtópicos simples sean interrumpidos y en consecuencia se produce un aumento sobredimensionado en la cantidad de segmentos obtenidos. Este fenómeno se manifiesta por ejemplo cuando existe un párrafo corto o aparecen citas textuales o párrafos que ejemplifiquen una determinada situación interrumpiendo una cadena de párrafos cohesionados. Como el método no se percata de ese detalle lo que hace es asignar un límite en una posición del texto que no lo requiere, pues luego el subtópico continúa desarrollándose. 1.5.4.7 Segmentación lineal del discurso de Heinonen En 1998 Heinonen propuso un método que considera el párrafo como unidad estructural básica al igual que Hearst, aunque a diferencia de este, emplea una ventana que recorre todo el texto y determina para cada párrafo su párrafo más similar dentro de ella, con vista a disminuir el efecto que tienen sobre la segmentación algunos párrafos como los mencionados en el caso de Hearst (Heinonen, 1998). Heinonen usa un método de programación dinámica para garantizar que se obtengan los límites de segmento de mínimo costo. Una de las ventajas fundamentales del método de Heinonen es que logra determinar una correspondencia óptima entre la longitud de los segmentos que se obtienen, la longitud deseada para estos y el valor de similitud asociado con cada párrafo. De esta manera también disminuye el efecto de los párrafos que pueden interrumpir un segmento. Su inconveniente principal radica en que el vector de cohesión del documento asocia cada párrafo con el valor de similitud más alto en su ventana, pero este valor puede pertenecer tanto a la similitud con un párrafo que esté por encima como a un párrafo que esté por debajo del Capítulo 1. Reseña sobre recuperación de información inteligente 28 párrafo en cuestión. Esta situación puede provocar que se incluya un párrafo determinado en un segmento que está por debajo de él. Por esta razón se plantea que no es correcto utilizar la similitud de un párrafo con respecto a párrafos por encima de él para decidir la inclusión de este en un segmento que se encuentra por debajo. Como consecuencia a la deficiencia anterior, en ocasiones, al aplicar el método se obtienen segmentos de baja cohesión léxica pues contienen párrafos que son más similares a párrafos que se encuentran en otros segmentos que al resto de los párrafos que pertenecen al segmento propio. Otra dificultad está en que requiere de la especificación del tamaño aproximado de los subtópicos, que es un valor impredecible y no necesariamente debe ser el mismo para todos los subtópicos de un texto. Por otra parte aparejada a la especificación de la longitud de los subtópicos aparece una nueva inconveniente que se manifiesta cuando se intenta establecer una correspondencia entre la longitud especificada y la longitud real del segmento que se forma. En ese caso ocurre lo mismo que con el método de Hearst, o sea, se interrumpe un subtópico indebidamente. Consideraciones finales del capítulo 1.6 Actualmente la Gestión de Información Inteligente es fundamental para lograr extraer conocimiento de la información almacenada, por lo cual constituye un elemento clave para la toma de decisiones. En esta área se destaca la Recuperación de Información (RI) que tiene como objetivo encontrar los documentos más relevantes de una colección a partir de una consulta realizada por el usuario. Por su parte las técnicas de agrupamiento son ampliamente utilizadas en los Sistemas de Recuperación de Información ya que forman la base del aprendizaje y el conocimiento. Particularmente existe gran cantidad de documentos semiestructurados en el World Wide Web, intranets corporativas, y otros medios de comunicación. Por esta razón el agrupamiento de documentos semiestructurados se ha convertido en un campo de gran interés para los investigadores. Una conclusión importante que se puede extraer de este capítulo es la necesidad de utilizar tanto la estructura como el contenido de los documentos en el proceso de agrupamiento como se propone en (Fuentes, 2013b). Capítulo 1. Reseña sobre recuperación de información inteligente 29 Otra tarea importante en la RI es la segmentación de textos por tópicos. Luego de exponer los aspectos esenciales sobre este tema es posible concluir que constituye una tarea compleja, pues en ella intervienen varios factores. Además se puede concluir que la segmentación por tópicos brinda grandes posibilidades para el tratamiento tanto de documentos estructurados como no estructurados. 30 2 EXTENSIÓN DEL MODELO DE AGRUPAMIENTO BASADO EN OVERALLSIMSUX Capítulo 2. Extensión del modelo de agrupamiento basado en OVERALLSIMSUX 31 2 EXTENSIÓN DEL MODELO DE AGRUPAMIENTO BASADO EN OVERALLSIMSUX En un repositorio de información existen varios tipos de documentos, los cuales en su mayoría son no estructurados como los de formato: doc, pdf, y txt. A este tipo de documentos no se le especifica una determinada estructura en el momento de edición, pues no se utiliza ningún lenguaje para etiquetar o delimitar sus partes como sucede por ejemplo con los XML. Por esta razón es que la mayoría de las técnicas de agrupamiento para documentos no estructurados adoptan un enfoque global, o sea, consideran los documentos como un todo, como una bolsa de palabras que forman el contenido. Sin embargo es posible afirmar que estos documentos están estructurados de acuerdo a la semántica de su contenido, pues como se mencionó anteriormente el tópico fundamental de un discurso se desarrolla a través de la exposición de varios tópicos parciales o subtópicos. Si además se tiene en cuenta la buena efectividad que poseen los métodos que combinan el uso de la estructura y el contenido para el agrupamiento de documentos semiestructurados, entonces es posible considerar la posibilidad de realizar el agrupamiento de documentos no estructurados atendiendo no solo a su contenido sino también a la estructura que llevan implícita por la distribución de los subtópicos que los forman. En el presente capítulo se expone una extensión realizada a la metodología de agrupamiento propuesta en (Fuentes, 2013b) con el objetivo de incorporar el agrupamiento de colecciones de documentos no estructurados. Extensión del modelo para el agrupamiento de documentos no estructurados 2.1 La metodología propuesta en (Fuentes, 2013b) como se expuso en el epígrafe 1.4.1 consta de una etapa inicial donde se produce el preprocesamiento de los documentos. Esta etapa tiene como objetivo final determinar las unidades estructurales de los documentos para lo cual es necesario realizar una serie de tareas que dependen del tipo de documento que se esté procesando. La etapa de preprocesamiento inicialmente se implementó para tratar documentos XML, pero en el presente trabajo se adiciona una nueva rama que incluye las tareas Capítulo 2. Extensión del modelo de agrupamiento basado en OVERALLSIMSUX 32 correspondientes al preprocesamiento de documentos no estructurados con formatos: (pdf, doc y txt). A continuación se explica más detalladamente como se produce el preprocesamiento para los documentos no estructurados que se adicionan. 2.1.1 Preprocesamiento de los documentos no estructurados El preprocesamiento de los documentos no estructurados: (pdf, doc y txt) contiene varias etapas como se ilustra en el diagrama de la Figura 2-1. Figura 2-1 Pasos para el preprocesamiento de documentos no estructurados El primer paso consiste en extraer el contenido, ya que este tipo de documentos (excepto el caso de los que poseen extensión .txt) contienen cierta información relacionada con su formato, la cual lógicamente debe ser excluida del proceso, pues no es relevante para los procesos de segmentación por tópicos ni tampoco para el posterior agrupamiento. Luego se procede a eliminar las palabras vacías y a extraer las raíces gramaticales, etapas que fueron analizadas en el capítulo anterior. El último paso consiste en segmentar el contenido por Capítulo 2. Extensión del modelo de agrupamiento basado en OVERALLSIMSUX 33 tópicos lo que permite realizar el agrupamiento bajo el supuesto de que estos constituyen las unidades estructurales que componen el documento, tema que será analizado en la siguiente sección. 2.1.2 Tópicos como unidades estructurales La idea de considerar los tópicos como unidades estructurales no solo requiere la implementación de las tareas anteriores para el preprocesamiento de los documentos no estructurados, sino que además plantea la necesidad de dar solución a una nueva problemática, que surge a la hora de realizar la Representación I, abordada en el epígrafe 1.4.1. En la Figura 2-2 se muestra la metodología, sombreándose las dos partes donde se estará enmarcado este trabajo. Figura 2-2 Extensión de la metodología En la metodología, la representación I consiste en representar cada unidad estructural por separada para posteriormente realizar tantos agrupamientos como unidades estructurales hayan sido detectadas. De esta manera se agruparían en primera instancia cada parte de un documento con sus homólogas en los restantes. Por ejemplo, en el caso de una colección de artículos científicos de tipo XML, los “abstract” se agruparían entre sí, igualmente los contenidos, las palabras claves, las referencias y así sucesivamente. Desafortunadamente con los tópicos detectados en los documentos no estructurados, no se puede proceder del mismo modo. Dado que un tópico determinado, detectado en un Capítulo 2. Extensión del modelo de agrupamiento basado en OVERALLSIMSUX 34 documento no estructurado, no tiene un homólogo definido en los restantes documentos de la colección, entonces se hace necesario realizar una adaptación a la Representación I para este tipo de documentos. Existen diversas formas de realizar la representación I para los documentos no estructurados, las cuales están motivadas por la gran cantidad de posibilidades a la hora de colocar los tópicos de diferentes documentos en las matrices de similitud. Una primera variante consiste en comparar los tópicos por su orden, como se muestra en la figura 2.3. Figura 2-3 Una variante para la comparación de los tópicos Esta variante tiene como inconveniente que en muchas ocasiones resulta perjudicial tener en cuenta el orden de los tópicos para calcular la similitud entre los documentos. La afirmación anterior se basa en el hecho de que dos documentos pueden ser similares en cuanto a los tópicos que contienen, aunque estos no se desarrollen en el mismo orden. Por tal motivo se propone considerar la similitud coseno entre los tópicos, en lugar del orden en que aparecen. De acuerdo a esta idea la similitud entre dos tópicos queda formalizada como sigue: ( ) ∑ √∑ √∑ (1) donde es el peso del término t en el tópico r y se calcula dividiendo la frecuencia del término t en el tópico r entre el total de términos del tópico. Capítulo 2. Extensión del modelo de agrupamiento basado en OVERALLSIMSUX 35 Esta expresión retorna un valor entre 0 y 1, cuando es cercano a 0 indica poca relación entre los tópicos y cuando se acerca a 1 significa que los tópicos son similares. A continuación, en la ¡Error! No se encuentra el origen de la referencia., se ilustra esta ariante a través de un ejemplo tomando tres documentos. Supóngase que los tópicos que poseen mayor similitud están enlazados por las flechas. Figura 2-4 Comparación entre los tópicos La Representación I para esta colección quedaría como se muestra en la ¡Error! No se ncuentra el origen de la referencia.. Matriz de similitud 1 Matriz de similitud2 Matriz de similitud3 Top1 D1 Top2 D2 Top3 D3 Top2 D1 Top3 D2 Top1 D3 Top3 D1 Top1 D2 Top2 D3 Top1 D1 1 … … Top2 D1 1 … … Top3 D1 1 … … Top2 D2 … 1 … Top3 D2 … 1 … Top1 D2 … 1 … Top3 D3 … … 1 Top1 D3 … … 1 Top2 D3 … … 1 Figura 2-5 Representación I para los documentos no estructurados. Capítulo 2. Extensión del modelo de agrupamiento basado en OVERALLSIMSUX 36 Como se puede observar se toman los tópicos más similares y se colocan en una misma matriz de la Representación I para posteriormente realizar un agrupamiento por cada matriz de similitud obtenida. La segunda parte de la metodología se mantiene inalterable, ya que no es necesario realizar ninguna adaptación para la Representación II ni posteriormente en el agrupamiento final. Método TextLec 2.2 Como se mencionó en el epígrafe 2.1.1, la tarea de segmentación por tópicos juega un papel fundamental dentro de la etapa de preprocesamiento de los documentos no estructurados. Dadas las limitaciones de los métodos de segmentación analizados en el capítulo 1 y la necesidad de seleccionar un método para extender la metodología objeto de estudio, en esta sección se presenta el método TextLec propuesto en (Rojas, 2007) como una posible solución. 2.2.1 Características generales TextLec es un método de segmentación lineal, o sea está enfocado a textos con estructura lineal como es el caso de los artículos científicos, que son precisamente el tipo de texto que aborda el presente trabajo. En los artículos científicos el vocabulario para desarrollar un tópico, pertenece a cualquier rama de la ciencia y la tecnología, por tanto, las palabras más relevantes, en relación a dicho tópico, usualmente se repinten con más frecuencia que el resto. Debido a esto el método considera la repetición de términos como un elemento confiable para identificar aquellas unidades textuales que están relacionadas con un mismo subtópico (Rojas, 2007). Otra característica importante de este método es que se basa en la similitud entre los párrafos para determinar los límites de los segmentos. TextLec toma como supuesto que el párrafo es la unidad básica del texto. Según algunos autores el párrafo se considera como una unidad con coherencia interna, por una parte, y con una conexión adecuada con el contexto lingüístico (que sigue y precede), por otra (Caro, 2014). Capítulo 2. Extensión del modelo de agrupamiento basado en OVERALLSIMSUX 37 2.2.2 Ventana de párrafos cohesionados El algoritmo plantea que un tópico termina en el párrafo más lejano que esté cohesionado con el párrafo que inicia dicho tópico. Se plantea que dos párrafos están cohesionados cuando la similitud entre sí supera un umbral determinado. Con el propósito de tener el control sobre los párrafos cohesionados, el algoritmo crea una ventana inferior para cada párrafo que permite disminuir el efecto de párrafos cortos u otros que interrumpen una cadena de texto cohesiva, ya que se calcula la cohesión léxica de cada párrafo con todos los párrafos que están dentro de su correspondiente ventana (Rojas, 2007). Una expresión más formal de la ventana inferior Vi para un párrafo i es la siguiente: donde Δ es la cantidad de párrafos que forman la ventana, la cual puede variar con el tamaño del documento o con el objetivo de la segmentación. Por otra parte se utiliza el vector Parf para controlar el párrafo cohesionado más lejano. El valor de la componente i-esima de Parf será el número de párrafo cohesionado con i que esté más lejano a i dentro de su ventana. Sea T = {p1, …, pn} un texto de n párrafos y sea ξ un umbral de cohesión léxica entre párrafos, el vector de los párrafos cohesionados más lejanos se define como: Capítulo 2. Extensión del modelo de agrupamiento basado en OVERALLSIMSUX 38 donde siml es una función mediante la cual se determina numéricamente la cohesión léxica entre dos párrafos. 2.2.3 Similitud entre los párrafos Para el cálculo de la similitud entre los párrafos, se utiliza una representación de los párrafos en VSM. Mediante el VSM los párrafos se transforman en vectores dentro de un espacio multidimensional, donde las componentes son los términos diferentes resultantes del preprocesamiento (Rojas, 2007). Suponiendo que se tiene un documento de n párrafos, P={p1,p2,…,pn}, formado por un conjunto de k términos únicos T={t1,t2,…,tk}, el párrafo i podrá modelarse como un vector de la siguiente forma: donde w(tj, pi) es el peso del término tj en el párrafo pi y se calcula: donde wj es el peso del término tj del párrafo pi, el termino TF(tj,pi) representa la frecuencia con la que aparece el tj en pi y cant(pi) corresponde a la cantidad de términos de pi. Luego de tener la representación VSM de los párrafos es posible calcular la similitud entre ellos usando la siguiente fórmula que se basa en la distancia coseno: Capítulo 2. Extensión del modelo de agrupamiento basado en OVERALLSIMSUX 39 El valor de similitud será un valor entre 0 y 1. Cuando los párrafos son iguales la similitud alcanza el valor de 1, y 0 cuando ellos son completamente diferentes; o sea, que no comparten ningún término. 2.2.4 Detección de cambios de tópicos En esta sección se muestra el pseudocódigo del método TextLec propuesto en (Rojas, 2007) y se brindan los detalles acerca de la detección de cambios de tópicos en el mismo. El proceso comienza creando un segmento formado por el primer párrafo del texto, luego se controla en la variable MaxInf el párrafo cohesionado más lejano del segmento creado, que en este caso coincide con el valor de Parf1, porque hasta el momento dicho segmento sólo incluye al primer párrafo. Luego, se analiza dónde incluir al segundo párrafo. Este se incluye en el primer segmento si no se encuentra después del párrafo cohesionado más lejano al segmento; es decir, si no es mayor que MaxInf. En caso contrario se crea un nuevo segmento que se inicia con el segundo párrafo. Posteriormente, se actualiza el valor del párrafo cohesionado más lejano al último segmento creado, teniendo en cuenta ahora el valor de Parf2. Este proceso continua hasta que el último párrafo se incluye en un segmento. Durante el proceso se usa la variable MaxInf que permite conocer el párrafo cohesionado más lejano del segmento en proceso; por tanto, el párrafo controlado por ella será posiblemente el que cierre este segmento. Además, se emplea un vector que controla para cada segmento su posible límite inferior, este vector recibe el nombre de Lim. El algoritmo utiliza además la función simlSup que se muestran a continuación. Seguidamente, se muestra el algoritmo TextLec en su totalidad: Capítulo 2. Extensión del modelo de agrupamiento basado en OVERALLSIMSUX 40 Capítulo 2. Extensión del modelo de agrupamiento basado en OVERALLSIMSUX 41 Como se pudo apreciar, en el paso 3 del algoritmo se utilizan las funciones simlSup y simlInf para determinar si un segmento espurio es más similar al segmento adyacente superior o al segmento adyacente inferior, específicamente simlInf se define de forma similar a simlSup, variando solamente la expresión ki. Estos valores se corresponden con la máxima similitud que existe entre algún párrafo del segmento espurio con algún párrafo del segmento adyacente correspondiente. Un algoritmo de segmentación basado en TextLec 2.3 Dado que una condición necesaria para realizar la Representación I en la extensión que se propone, es que se detecten una misma cantidad de tópicos para todos los documentos, entonces se hace necesario modificar el método analizado anteriormente. TextLec posee esta única inconveniente para ser aplicado en su forma original a la extensión que se propone, por tal motivo en el presente epígrafe se presenta una variante del método donde la cantidad de tópicos a detectar constituye un parámetro del algoritmo. La variante que se propone mantiene la base del algoritmo, solo adiciona un chequeo al final del mismo para dar un tratamiento diferenciado a los casos donde se obtenga una cantidad de tópicos diferente a la que se pasa por parámetro, pero inicialmente se aplica el algoritmo original y si se obtiene la cantidad de tópicos deseada entonces se concluye. En los dos casos donde la cantidad obtenida puede ser diferente a la deseada (ya sea mayor o menor) se producen los ajustes que se explican a continuación: En caso de que la cantidad de tópicos obtenida sea mayor que la cantidad deseada, se aplica la misma idea que usa el algoritmo original para eliminar los segmentos espurios, o sea, se eliminan los segmentos de menor longitud uniéndolos a su vecino más similar como se muestra en el ejemplo siguiente. Capítulo 2. Extensión del modelo de agrupamiento basado en OVERALLSIMSUX 42 Cantidad de segmentos deseada: 3 Cantidad de segmentos calculada: 4 ----------------------------------------------------------------------------------- Segmento 1 (longitud=4) SimlTop(1,2)>=SimlTop(2,3) ----------------------------------------------------------------------------------- Segmento 2 (longitud=3) ----------------------------------------------------------------------------------- Segmento 3 (longitud=4) SimlTop(2,3)>SimlTop(2,3) ----------------------------------------------------------------------------------- Segmento 4 (longitud=5) ----------------------------------------------------------------------------------- Nótese que la longitud de un segmento no es más que la cantidad de párrafos que lo componen. El otro caso se produce cuando la cantidad obtenida es menor que la deseada, ahora la solución que se propone es dividir el mayor tópico por la mitad obteniendo dos nuevos subtópicos, repitiendo este proceso hasta obtener la cantidad deseada. Aunque esta solución quizás no sea la más eficaz en cuanto a la unicidad de los tópicos que se obtienen, ya que se puede interrumpir un tópico al dividirlo, resulta una solución eficiente por su poca complejidad temporal. Es posible considerar otros criterios que tengan en cuenta las similitudes internas de los párrafos que contienen los segmentos, con el objetivo de poder decidir cuál será el segmento a particionar (no tienen que ser necesariamente el mayor) y el punto donde se particionará (no tiene que ser necesariamente el punto medio entre los párrafos que lo contienen). No obstante en el presente trabajo se adoptó la variante expuesta dando mayor importancia a la poca complejidad temporal que posee, lo cual es provechoso para un proceso tan extenso como el que se plantea en la metodología objeto de estudio. A continuación se muestra un ejemplo correspondiente a este caso. Cantidad de segmentos deseada: 3 Cantidad de segmentos calculada: 2 Capítulo 2. Extensión del modelo de agrupamiento basado en OVERALLSIMSUX 43 ----------------------------------------------------------------------------------- Segmento 1 (longitud=4) ----------------------------------------------------------------------------------- Segmento 2 (longitud=10) ----------------------------------------------------------------------------------- ----------------------------------------------------------------------------------- Segmento 1 (longitud=4) ----------------------------------------------------------------------------------- Segmento 2 (longitud=5) ----------------------------------------------------------------------------------- Segmento 3 (longitud=5) ----------------------------------------------------------------------------------- De esta manera el nuevo algoritmo basado en TextLec queda constituido como expresa el siguiente pseudocódigo. Capítulo 2. Extensión del modelo de agrupamiento basado en OVERALLSIMSUX 44 Capítulo 2. Extensión del modelo de agrupamiento basado en OVERALLSIMSUX 45 Como se puede apreciar, esta variante de TextLec adiciona una nueva entrada al algoritmo: la cantidad de tópicos a detectar por cada documento. Dado que este parámetro influye grandemente en la calidad de los límites de tópicos que se obtienen como salida y posteriormente en la calidad del agrupamiento, se hace necesario establecer un criterio para estimar el mismo. Aunque este tema queda abierto para los investigadores, en el presente trabajo se asume que los documentos tienen entre 2 y 5 tópicos parciales o subtópicos. Diseño del sistema Scientific Solr 2.4 En esta sección se describe el proceso de implementación del sistema de recuperación de información Scientific Solr que utiliza la metodología extendida. El sistema permite recuperar los grupos de documentos más relevantes a una consulta realizada por el usuario, a partir de colecciones de documentos semiestructurados (XML) y no estructurados (PDF, DOC, TXT). El diseño del mismo se basa en una arquitectura cliente-servidor y por tanto responde a dos tipos de usuarios, un administrador que debe encargarse de la indexación de las colecciones y un usuario que realiza las consultas. En la Figura 2-6 se muestra el diagrama de casos de uso del sistema. Por su parte las Figura 2-7 y Figura 2-8 muestran los diagramas de actividades y de secuencias respectivamente, para el caso de uso indexar colección. Figura 2-6 Diagrama de casos de uso del sistema Capítulo 2. Extensión del modelo de agrupamiento basado en OVERALLSIMSUX 46 Figura 2-7 Diagrama de actividades: Indexar colección Figura 2-8 Diagrama de secuencia: Indexar colección Las Figura 2-9 y Figura 2-10 muestran los diagramas de actividades y de secuencias respectivamente, para el caso de uso Realizar consultas. La Figura 2-11 muestra el diagrama de componentes del sistema. Capítulo 2. Extensión del modelo de agrupamiento basado en OVERALLSIMSUX 47 Figura 2-9 Diagrama de actividades: Realizar consultas Figura 2-10 Diagrama de secuencia: Realizar consultas Capítulo 2. Extensión del modelo de agrupamiento basado en OVERALLSIMSUX 48 Figura 2-11 Diagrama de componentes 2.4.1 Herramientas de RI Como se pudo observar en el diagrama de componentes, el sistema utiliza la biblioteca JDOM para acceder a los documentos XML y también incorpora varias herramientas de recuperación de información para facilitar tanto el trabajo con los documentos no estructurados como con los índices. 2.4.1.1 Tika Como se mencionó en el epígrafe 2.1.1 la etapa de preprocesamiento de los documentos no estructurados incluye un primer paso que consiste en extraer el contenido y los metadatos. Precisamente con este propósito se utilizó la herramienta de Recuperación de Información Tika. Apache Tika es un framework de código abierto enfocado en el procesamiento automático de documentos. Específicamente está encaminado a la identificación de diferentes tipos de formatos, detección del idioma, así como extracción de información textual y metadatos en los documentos (MATTMANN and ZITTING, 2012). Tika posee una arquitectura extensible y Capítulo 2. Extensión del modelo de agrupamiento basado en OVERALLSIMSUX 49 modular, así como una gran flexibilidad para tratar los diferentes modelos de metadatos existentes. En el diagrama que se muestra en la Figura 2-12 se puede observar las componentes principales de Tika, donde se destaca el Parser que es el encargado de realizar las tareas relacionadas con el preprocesamiento de los documentos no estructurados abordadas en el presente trabajo. Figura 2-12 Componentes principales de Tika Una de las principales ventajas de esta herramienta es su extensibilidad, pues su arquitectura permite adicionar tantos Parser como nuevos tipos de documentos se quieran tratar, aunque por defecto Tika contiene varios Parser para tratar los documentos más utilizados actualmente, como son: .doc, .pdf y .txt. En caso de no especificarse el Parser para tratar un documento determinado Tika lo detecta automáticamente siempre que lo tenga incorporado. 2.4.1.2 Lucene Lucene es una potente biblioteca de búsqueda e indexación en el proceso de gestión de la información, creada bajo una metodología orientada a objetos e implementada completamente en Java, que fácilmente permite la integración con cualquier aplicación (Egüe, 2011). Entre Capítulo 2. Extensión del modelo de agrupamiento basado en OVERALLSIMSUX 50 sus principales ventajas se encuentran: su portabilidad, escalabilidad, alto rendimiento y que permite la creación incremental de índices. Lucene cuenta con eficientes algoritmos de búsqueda que facilitan ordenar los resultados por relevancia, utilizar un amplio lenguaje de consulta, realizar búsquedas por campos y por rangos de fechas, ordenar por cualquier campo, y buscar mientras se actualiza el índice. Aunque fue originalmente desarrollada en Java, debido a su popularidad, ya se ha implementado en otros lenguajes de programación como (C/C++, C#, Ruby, Perl, Python, PHP, etc.). Una característica distintiva de Lucene es su aparente simplicidad, ya que su uso no requiere de un conocimiento profundo acerca de cómo indexa y recupera información, pues realmente cuenta con algoritmos que implementan técnicas de recuperación de la información de última generación (MATTMANN and ZITTING, 2012). Lucene indexa los documentos como un conjunto de campos, donde cada uno tiene un identificador y su contenido. Textos de documentos en formato PDF, HTML, XML y muchos otros pueden indexarse, siempre que de ellos se pueda extraer información textual. Lucene confecciona el índice de términos utilizados en la creación de la representación VSM. Para realizar el preprocesamiento de la colección posee varias clases: StandardAnalyzer, especializada en normalizar los tokens extraídos; LowerCaseFilter, convierte los tokens a minúsculas y StopFilter elimina palabras de parada (Lewis and Ringuette, 1994). Adicionalmente, Analyzer obtiene las raíces de las palabras mediante heurísticas, y tratar la sinonimia y polisemia. Representación del corpus textual obtenido. Particularmente en la implementación del sistema que se propone el uso de Lucene estuvo encaminado solo a la etapa de preprocesamiento de los documentos ya que para el indexado de los mismos se utilizó la herramienta Solr que se abordará en la próxima sección. 2.4.1.3 Solr Solr es un motor de búsqueda de código abierto basado en la biblioteca Java del proyecto Lucene, con APIs en XML/HTTP y JSON. Es una herramienta diseñada para trabajar con grandes volúmenes de documentos, puede almacenar millones de ellos en sus índices. Debido a esto posee un gran nivel de optimización en la ejecución de las consultas y en el almacenamiento de los documentos que contienen texto, como son: correos electrónicos, Capítulo 2. Extensión del modelo de agrupamiento basado en OVERALLSIMSUX 51 páginas web y documentos pdf (Grainger and Potter, 2014). Una de sus potencialidades más importantes es que los resultados de las consultas se devuelven ordenados de acuerdo a la relevancia. Otra de sus ventajas es su escalabilidad, pues puede correr sobre un cluster de computadoras con múltiples servidores. Por otra parte, Solr es fácil de instalar y contiene una configuración de ejemplo que facilita lograr una rápida familiarización con el mismo. El sistema que se desarrolló se integra al servidor Solr a través de la biblioteca SolrJ que permite establecer una conexión con el mismo vía http. De esta manera tanto el indexado de los documentos como la ejecución de las consultas se procesan en el servidor Solr, mientras que en la aplicación una vez obtenidos los documentos más relevantes se procede a agruparlos utilizando el esquema de agrupamiento extendido. En el proceso de indexado el primer paso es establecer los campos que conforman cada documento. Para ello Solr cuenta con un archivo de configuración nombrado schema.xml donde deben estar definidos todos los posibles campos a indexar. Este archivo contiene por defecto un conjunto de campos predefinidos, pero si se quiere incorporar nuevos campos se deben añadir las declaraciones correspondientes. A continuación se muestra un fragmento donde aparecen declaraciones de algunos campos comunes en diferentes documentos. ---------------------------------------------------------------------------- ---------------------------------------------------------------------------- En la fase de búsqueda al igual que en el indexado se necesita establecer previamente la conexión con el servidor Solr, para luego enviar la consulta y obtener los resultados como una lista de documentos ordenada de acuerdo a la relevancia. Esta potencialidad de Solr permite establecer posteriormente un ranking para los grupos de documentos basado en el ranking general. Capítulo 2. Extensión del modelo de agrupamiento basado en OVERALLSIMSUX 52 2.4.2 Modelo Vista Controlador La aplicación se diseñó utilizando el modelo vista controlador, quedando la misma constituida como se muestra en el diagrama de la Figura 2-13. Figura 2-13 Diagrama de la implementación del sistema donde se puede apreciar el Modelo-Vista- Controlador En la capa inferior se encuentran los paquetes destinados al pre-procesamiento y agrupamiento tanto de documentos XML como no estructurados. Específicamente en el paquete que se tratan los documentos no estructurados es donde ocurre la segmentación por tópicos analizada anteriormente. La adaptación necesaria para realizar la Representación I en el caso de los documentos no estructurados se incluye en el paquete del agrupamiento para este tipo de documentos. Es necesario notar que como se puede observar en el esquema anterior, los agrupamientos de los distintos tipos de documentos (XML y no estructurados) se realizan por separado debido a que requieren diferentes tratamientos en las etapas de pre-procesamiento y Representación I. En la capa intermedia se tienen dos clases controladoras: Indexador_SolR y Buscador_SolR. Indexador_SolR: Esta clase interactúa con la interfaz de administración y con el servidor SolR. Se utiliza para gestionar los índices, pues permite establecer una comunicación http con Capítulo 2. Extensión del modelo de agrupamiento basado en OVERALLSIMSUX 53 el servidor SolR mediante la cual le suministra los documentos que el administrador especifique a través de la interfaz. Buscador_SolR: Es la clase que toma la consulta de la interfaz del cliente y la envía al servidor SolR para su ejecución a través de una conexión http. Luego de recibir del servidor SolR los documentos más relevantes a la consulta