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