RosasMSc

Anuncio
Universidad Nacional de San Luis
Tesis de Maestría en Ingeniería de Software
UN FRAMEWORK DE INGENIERÍA DEL
LENGUAJE PARA EL PRE-PROCESADO
SEMÁNTICO DE TEXTOS
Lic. María Verónica Rosas
Director: Dr. Paolo Rosso, Universitat Politècnica de València.
Codirector: Dr. Marcelo Errecalde, Universidad Nacional de San Luis.
San Luis
Argentina
2012
Prefacio
Esta Tesis es presentada como parte de los requisitos para optar al grado académico
de Magister en Ingeniería de Software, de la Universidad Nacional de San Luis, y no ha
sido presentada previamente para la obtención de otro título en esta Universidad u otras.
La misma contiene los resultados obtenidos en investigaciones llevadas a cabo bajo la
dirección del Dr. Paolo Rosso y el Dr. Marcelo Errecalde.
Lic. María Verónica Rosas
[email protected]
Departamento de Informática
Universidad Nacional de San Luis
San Luis.
Agradecimientos
La gratitud es una de las grandes bendiciones de la vida. Nos permite ver todo como
posibles dones de Dios.
A todas las personas que fueron y son dones que Dios ha puesto en mi camino durante mi
vida...a las que me alentaron, a las que me tuvieron paciencia, a las que estuvieron a mi
lado (a pesar de la distancia y del cielo que nos separa), a las que corrigieron mis errores,
a las que enriquecieron mi trabajo con su experiencia y sabiduría, a las que fueron mi
guía y ejemplo, a las que compartieron horas de mate y cubrieron mi ausencia: MUCHAS
GRACIAS.
Dedico esta tesis con todo el amor a mi hermosa familia: Ariel, Martina y Bauti, a
mi mamá, a JuanMa y Luci, a mis cuñados, a mi Nono Herminio y a Santiago que me
acompañó con su sonrisa espontánea y amplia estos últimos meses. A mis amigos de toda
la vida y a los que comparten y disfrutan día a día las horas de docencia.
Agradezco a mi director y codirector, sin cuya ayuda, dedicación y constancia no
hubiera podido alcanzar las metas propuestas para este trabajo y a los profesores de la
carrera que brindaron su conocimiento en aspectos importantes para el desarrollo nal de
mi proyecto.
Principalmente agradezco a Dios cada día que me regala y que me acompaña incondicionalmente en este camino, haciéndose presente en cada una de las personas que están a
mi lado.
Índice general
1. Introducción
1
1.1. Descripción de la problemática . . . . . . . . . . . . . . . . . . . . . . . . .
2
1.1.1. Aspectos surgidos desde el área del PLN . . . . . . . . . . . . . . .
2
1.1.2. Aspectos surgidos desde el área de la IS . . . . . . . . . . . . . . . .
3
1.2. Motivación y objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4
1.3. Contexto de la tesis en el marco de la Maestría
. . . . . . . . . . . . . . .
6
1.4. Principales contribuciones y publicaciones . . . . . . . . . . . . . . . . . .
7
1.5. Organización de la tesis
9
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
2. Procesamiento del lenguaje natural
11
2.1. Niveles de la linguística general . . . . . . . . . . . . . . . . . . . . . . . . 12
2.2. PLN estadístico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.3. Aplicaciones de PLN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3. Indexación y categorización de textos
19
3.1. Indexación de documentos . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
3.1.1. Modelos de indexación . . . . . . . . . . . . . . . . . . . . . . . . . 20
3.1.2. Modelo de espacio vectorial . . . . . . . . . . . . . . . . . . . . . . 22
3.2. Categorización de textos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
3.2.1. Aprendizaje de un clasicador . . . . . . . . . . . . . . . . . . . . . 27
3.2.2. Evaluación de un clasicador
. . . . . . . . . . . . . . . . . . . . . 28
3.3. Reducción de dimensionalidad . . . . . . . . . . . . . . . . . . . . . . . . . 30
3.4. Semántica en la categorización de textos . . . . . . . . . . . . . . . . . . . 32
4. Resolución de la ambigüedad semántica
35
4.1. Indexación conceptual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
4.2. Estrategias de desambiguación . . . . . . . . . . . . . . . . . . . . . . . . . 36
4.3. WordNet: una base de datos léxica . . . . . . . . . . . . . . . . . . . . . . 38
5. WSD basado en conocimiento
47
5.1. Método heurístico del sentido más frecuente . . . . . . . . . . . . . . . . . 48
5.2. Algoritmo de Lesk
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
5.2.1. Algoritmo de Lesk Mejorado . . . . . . . . . . . . . . . . . . . . . . 51
5.3. Sistema CIAOSENSO
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
6. Aspectos de Ingeniería de Software aplicados a PLN
59
6.1. Conceptos introductorios . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
6.1.1. Ingeniería del Lenguaje Natural . . . . . . . . . . . . . . . . . . . . 61
6.1.2. Reuso de componentes . . . . . . . . . . . . . . . . . . . . . . . . . 63
6.1.3. APIs para WordNet . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
6.2. Trabajos Relacionados en Ingeniería del Lenguaje . . . . . . . . . . . . . . 68
6.3. Descripción del framework desarrollado . . . . . . . . . . . . . . . . . . . . 70
6.4. Experiencias en el uso del framework . . . . . . . . . . . . . . . . . . . . . 75
6.5. Plugin semántico para GATE . . . . . . . . . . . . . . . . . . . . . . . . . 76
6.5.1. Modelo de componentes de GATE . . . . . . . . . . . . . . . . . . . 76
6.5.2. Descripción del recurso de procesamiento semántico . . . . . . . . . 77
7. Conjuntos de datos y detalle de los experimentos
81
7.1. Descripción de los conjuntos de datos . . . . . . . . . . . . . . . . . . . . . 82
7.2. Diseño experimental . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
7.3. Resultado y análisis de los experimentos . . . . . . . . . . . . . . . . . . . 86
7.3.1. Enfoque I: incorporación de información semántica . . . . . . . . . 87
7.3.2. Enfoque II: reducción de dimensionalidad . . . . . . . . . . . . . . . 90
7.3.3. Enfoque III: incorporación de hiperónimos . . . . . . . . . . . . . . 92
7.4. Clustering utilizando información semántica . . . . . . . . . . . . . . . . . 93
8. Conclusiones y trabajos futuros
8.1. Aportes realizados
8.2. Trabajos futuros
99
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
A. Acrónimos
103
B. Documentación del Framework
105
B.1. Propósito . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
B.2. Utilización y ejecución del framework . . . . . . . . . . . . . . . . . . . . . 106
C. Documentación de Pre.Se.Do
109
Bibliografía
115
Índice de tablas
3.1. Representación binaria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.2. Representación real . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.3. Nomenclatura SMART para la codicación de textos . . . . . . . . . . . . 24
3.4. Matriz de Decisión . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
3.5. Matríz de contingencia para la categoría ci . . . . . . . . . . . . . . . . . . 29
4.1. Clasicación de los métodos de WSD . . . . . . . . . . . . . . . . . . . . . 38
4.2. Relaciones en WordNet según las categorías gramaticales . . . . . . . . . . 41
4.3. Conceptos en la cima de la jerarquía de WordNet . . . . . . . . . . . . . . 43
4.4. Archivos de la base de datos WordNet (versión 2.1) . . . . . . . . . . . . . 44
5.1. Algoritmo de Lesk (adaptado desde [9]) . . . . . . . . . . . . . . . . . . . . 50
5.2. Puntajes para los pares en la guras 5.1, 5.1 y 5.3 . . . . . . . . . . . . . . 56
5.3. Cálculos para la Figura 5.5 . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
7.1. Características del corpus CICling-2002
. . . . . . . . . . . . . . . . . . . 82
7.2. Características del corpus EasyAbstracts . . . . . . . . . . . . . . . . . . . 83
7.3. Características del corpus R8 . . . . . . . . . . . . . . . . . . . . . . . . . 84
7.4. Mejores valores para codicación#clasicador#WSD . . . . . . . . . . . 88
7.5. Mejores valores de precisión de CICling-2002, EasyAbstract y R8
. . . . . 89
7.6. Mejores valores de precisión de R8+ y R8- . . . . . . . . . . . . . . . . . . 90
7.7. Mejores valores de precisión de R8porc+ y R8porc- . . . . . . . . . . . . . 90
7.8. Resultados sin hiperónimos vs con hiperónimos
. . . . . . . . . . . . . . . 93
7.9. Mejores valores de medida F por colección. . . . . . . . . . . . . . . . . . . 98
Índice de guras
2.1. Estructura de un sistema PLN . . . . . . . . . . . . . . . . . . . . . . . . . 13
4.1. Relaciones para el synset pine, pine true, pine cone (adaptada de [76]) . 41
4.2. Fragmento del archivo index.noun . . . . . . . . . . . . . . . . . . . . . . . 43
4.3. Fragmento del archivo data.noun . . . . . . . . . . . . . . . . . . . . . . . 44
5.1. Comparación del primer par (adaptado de [8]) . . . . . . . . . . . . . . . . 54
5.2. Comparación del segundo par (adaptado de [8]) . . . . . . . . . . . . . . . 54
5.3. Comparación del tercer par (adaptado de [8])
. . . . . . . . . . . . . . . . 55
5.4. Subjerarquía y synsets relevantes . . . . . . . . . . . . . . . . . . . . . . . 57
5.5. Subjerarquías para la desambiguación de brake con CIAOSENSO . . . . 58
6.1. Diagrama de clases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
6.2. Diagrama de actividades e interacción de clases . . . . . . . . . . . . . . . 74
6.3. Interfaz gráca de GATE . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
6.4. Archivo creole.xml del módulo SMF . . . . . . . . . . . . . . . . . . . . . . 79
6.5. Plugin semántico instalado y ejecutado en GATE . . . . . . . . . . . . . . 79
7.1. Diagrama de actividades para generar los distintos vectores . . . . . . . . . 86
7.2. Sin Información Semántica vs. Con Información Semántica . . . . . . . . 87
7.3. Reducción del tamaño de vocabulario para la colección R8 . . . . . . . . . 91
7.4. Reducción del tamaño de vocabulario para la colección R8+ . . . . . . . . 92
7.5. El algoritmo PAntSA? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
B.1. Ejemplo clase POSTagging . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
B.2. Ejemplo clase WSD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
C.1. Ventana inicial de Pre.Se.Do . . . . . . . . . . . . . . . . . . . . . . . . . . 111
C.2. Ventana principal de Pre.Se.Do. . . . . . . . . . . . . . . . . . . . . . . . . 111
C.3. Explorador para seleccionar la colección
. . . . . . . . . . . . . . . . . . . 112
C.4. Ventana de diálogo de aviso de error . . . . . . . . . . . . . . . . . . . . . 113
C.5. Ventana de diálogo para Cancelar el proceso . . . . . . . . . . . . . . . . . 113
C.6. Ventana procesando una tarea . . . . . . . . . . . . . . . . . . . . . . . . . 114
C.7. Solapa para la tarea de WSD . . . . . . . . . . . . . . . . . . . . . . . . . 114
C.8. Solapa para la tarea de Vectores . . . . . . . . . . . . . . . . . . . . . . . . 115
C.9. Solapa para la tarea de Relaciones
. . . . . . . . . . . . . . . . . . . . . . 115
Capítulo 1
Introducción
Este trabajo de tesis surge de la necesidad de brindar una solución integradora a los
planteos originados en dos áreas de estudios diferentes, como son el Procesamiento del
Lenguaje Natural (PLN) y la Ingeniería del Software (IS). Por lo tanto, el objetivo general
se plantea para dar una respuesta unicada a dos necesidades:
Determinar la efectividad de la categorización de textos, concretamente en textos
cortos, cuando se utiliza información semántica obtenida mediante la aplicación de
diferentes métodos de desambiguación del sentido de las palabras.
Disponer de una herramienta en Ingeniería del Lenguaje (IL) que sea especíca y
sencilla para el desarrollo de los experimentos necesarios para el análisis anterior.
En la primera sección del capítulo se describen los aspectos principales asociados a las
dos áreas de estudio y la problemática que dio origen a este trabajo. Las motivaciones y los
objetivos planteados para el desarrollo de la tesis son enunciados en la segunda sección.
En un apartado especial se enmarca el contexto de esta tesis dentro de la maestría en
Ingeniería de Software, haciendo mensión de las contribuciones en este ámbito de investigación y detallando las publicaciones presentadas. Finalmente, se expone la organización
de la tesis resumiendo los diferentes capítulos que la componen.
Capítulo 1. Introducción
2
1.1. Descripción de la problemática
Las tecnologías de la información y la comunicación han hecho posible el acceso a gran
cantidad de información de manera sencilla. Gran parte de dicha información es de tipo
textual, razón por la cual, las aplicaciones vinculadas al PLN (como la Categorización
de Textos) adquieren, día a día, una mayor relevancia. En este sentido, es importante
y necesario obtener mejoras en estas tareas, tanto desde el ámbito del PLN como en la
aplicación de conceptos provenientes del dominio ingenieril.
Teniendo en cuenta la problemática que surge de las distintas áreas de investigación
involucradas en esta tesis, es conveniente para una mejor descripción considerar las falencias existentes en las mismas en forma separada. Posteriormente, se mostrará la necesidad
de llevar a cabo un enfoque integrado que compense las dicultades expuestas.
1.1.1. Aspectos surgidos desde el área del PLN
El exceso de información a la que una persona está expuesta hoy en día, generalmente
ocasiona la imposibilidad de identicar, seleccionar y procesar lo que realmente se necesita.
Debido al hecho de que generalmente se recibe más información de la que se desea o es
posible procesar, las aplicaciones y técnicas vinculadas al procesamiento y organización
automática de documentos (recuperación, categorización, agrupamiento, etc.) juegan un
papel relevante. Una de las aplicaciones del PLN es la Categorización de Textos (también
referencia como CT supervisada ) que consiste en asignar documentos a clases o categorías
existentes. La CT ha despertado un notable interés ya que permite abordar, a partir de
un conocimiento más profundo del lenguaje, los problemas de organizar y clasicar el
cúmulo de información que se recibe habitualmente en categorías predenidas [106]. En
este sentido, numerosas aplicaciones de la categorización de documentos han realizado
valiosos aportes en diversas áreas como la detección de spam [41], el ltrado de noticias
[4], la detección de plagios e identicación de autores [85, 86, 70, 55, 110], el análisis de
opinión [27], la organización de patentes en categorías [60], y la clasicación y organización
de páginas Web [57, 127], entre otras.
Un aspecto importante a ser observado en este contexto, es que a pesar de que la
información textual en lenguaje natural con el que trabajamos tiende a aumentar exponencialmente, ésta tiene la particularidad de tener un número reducido de palabras en
Descripción de la problemática
3
cada texto. Hoy en día, la comunicación escrita entre personas hace un uso constante de
este tipo de textos restringidos en tamaño buscando optimizar el uso de palabras en interacciones ecientes, cortas y veloces, a través de correo electrónico, mensajes de textos,
reportes internos, faxes, fragmentos de páginas Web, cables de noticias, opiniones en blogs
y redes sociales, entre otros. Con respecto a este punto, se puede decir que existe aún un
número limitado de estudios realizados sobre la categorización de textos especialmente
cuando las características de los mismos es una acotada cantidad de palabras, por lo que
el desarrollo de métodos efectivos para lograr mejoras en esta tarea, continúa siendo un
tema abierto de investigación que resulta interesante de ser profundizado.
Por lo planteado anteriormente, se deduce que la CT y concretamente en textos cortos
puede redundar en benecios para una variedad de ámbitos. Por lo tanto, surge la necesidad de incorporar y plantear nuevas mejoras a dicho proceso, que faciliten y permitan
mayor exactitud al momento de seleccionar la categoría a la que pertenece un determinado
documento.
1.1.2. Aspectos surgidos desde el área de la IS
La IS ha realizado aportes signicativos al PLN a partir del área denominada Ingeniería del Lenguaje, considerada en muchos casos como la intersección entre ambas
disciplinas. Sin embargo, si bien la IL provee de métodos y herramientas especícos para
abordar algunos de los problemas citados en la sección anterior [9, 15, 106], ciertos aspectos ingenieriles de relevancia, tales como robustez, productividad (a través del reuso de
componentes) y exibilidad, no han recibido la necesaria atención. Por ejemplo, la baja
reutilización de componentes en aplicaciones de PLN sigue siendo uno de los problemas
más complejos a solucionar. Esto se debe a que la reutilización en este caso presenta una
doble limitación, necesitando no sólo intercambiar datos usando el mismo formato e interpretación, sino que también se necesita realizar la comunicación entre componentes que
pueden estar escritos en distintos lenguaje e incluso ejecutar en diferentes plataformas.
Por todo esto, generalmente cuando se hace mensión al reuso de componentes en PLN en
realidad se está trabajando en un típico problema de integración. Claramente, el obstáculo
mencionado previamente puede ser superado aplicando conceptos básicos de la IS como
son las Interfaces de Programación de Aplicaciones (APIs ) o los marcos de trabajo (en
inglés, Frameworks ).
Capítulo 1. Introducción
4
Distintos trabajos en IL, han realizado aportes interesantes al tratar de solucionar el
problema de la baja tasa de reuso e integración de componentes que en general se puede
observar en los desarrollos de PLN [22, 21]. Sin embargo, estos trabajos suelen presentar
como problema un alto costo de entendimiento y uso de sus abstracciones que en muchos
casos supera el costo estimado por el programador en desarrollarlo nuevamente desde cero.
En estos casos, un problema adicional es el hecho de que muchas de las arquitecturas
introducidas se han concentrado en modelos muy generales y poco exibles para ciertos
problemas particulares de PLN.
1.2. Motivación y objetivos
Un problema intrínseco del lenguaje natural, que es de gran interés en el ámbito del
PLN, es el hecho de que una palabra pueda tener, dependiendo del contexto, distintos
sentidos o signicados, conocido como ambigüedad semántica. La resolución de este
tipo de ambigüedad puede considerarse como una tarea intermedia necesaria y esencial
para diversas aplicaciones del PLN que son sensibles a la identicación del sentido de
las palabras, tales como Recuperación de la Información, Categorización de Textos y
Traducción Automática, entre otras. El procedimiento para decidir los signicados de las
palabras a partir del contexto que las rodea se conoce como desambiguación del sentido
de las palabras (WSD las siglas en inglés para Word Sense Disambiguation ). La hipótesis
fundamental de la WSD es que existe un único concepto (o sentido) para cada término
en una frase determinada.
Diferentes trabajos relacionados a tareas de CT como los presentados en [45, 112, 89]
han analizado las ventajas de enriquecer la representación original de los documentos
con conceptos de una ontología genérica para introducir generalidad al identicar tópicos
relacionados. Por ejemplo, si se tiene en un documento la frase: Luego de ir al banco
a cobrar el cheque me senté en el banco de la plaza. (relación de polisemia del término
banco) o la frase La alegría que me da verte me embarga de júbilo. (relación de
sinonimia entre los términos alegría y júbilo). En este sentido, si en los documentos hay
términos ambiguos y/o relacionados es conveniente utilizar un método de WSD para los
mismos, de modo tal de seleccionar el concepto más apropiado para ser agregado a la
representación.
Motivación y objetivos
5
Generalmente dichos estudios están enfocados a documentos donde es factible, en la
mayoría de los casos, disponer de una colección de entrenamiento para la tarea de WSD.
Este enfoque basado en corpus (también conocido como supervisado) no siempre es viable
de ser aplicado en todos los dominios en los cuales estamos interesados. Por ejemplo,
cuando se trabaja con determinados tipos de documentos cortos, no siempre se dispone
de colecciones de entrenamiento para la tarea de WSD que reejen las particularidades de
los mismos. Una alternativa para abordar el problema anterior, es el uso de métodos de
WSD basados en conocimiento que obtienen información desde recursos léxicos externos.
Si bien este tipo de métodos suelen mostrar resultados de menor calidad que los obtenidos
con métodos basados en corpus, constituyen en muchos casos la única alternativa realista
si se desea hacer uso de información semántica en la representación de documentos [120].
Teniendo en cuenta esto, se puede pensar al enfoque basado en conocimiento como una
opción apropiada para la tarea en la que decidimos enfocarnos, la CT cortos.
Es importante destacar que, para que un conjunto de documentos pueda ser evaluado
por un clasicador, es necesario obtener una representación de los mismos. Una de las
formas más simple de identicar a los documentos es utilizar un vector de atributos o
descriptores índice. Es común que cada elemento de este vector represente una palabra de
la colección, donde el valor de cada componente pueda ser binario, lo que indica presencia
o ausencia del término en el documento, o pueda ser un número (entero o real) calculado
en base a la frecuencia de aparición de la palabra en el texto y en la colección completa de
documentos. Dependiendo del sistema de CT utilizado y especialmente de la dimensión
de los vectores utilizados para representar a los documentos de una colección, pueden
surgir otros problemas vinculados al tiempo y espacio de memoria requeridos para la
tarea de categorización. Un aspecto interesante a analizar en estos casos es el uso de
métodos clásicos de reducción de la dimensionalidad de los vectores de términos. El proceso
consiste en descartar los términos (también denominados atributos o características) que
son irrelevantes, redundantes o que brinden mínima información al clasicador.
Por otra parte, la nalidad de las aplicaciones de PLN es obtener un resultado efectivo para la tarea particular que se realiza. En el caso de la CT sería clasicar todos los
documentos pertenecientes a una colección lo más correctamente posible. En la mayoría
de los casos, la eciencia y calidad del desarrollo de un sistema vinculado al PLN, son
relegadas a un segundo plano sin tener en cuenta que esto ocasiona, algunas veces, demoras en el diseño de los experimentos y en la obtención de resultados, la inviabilidad de
Capítulo 1. Introducción
6
poder comparar o reproducir exhaustivamente experimentos previos y la imposibilidad de
reutilizar código. Todos estos aspectos plantean la necesidad de indagar en técnicas de
Ingeniería de Software para buscar posibles soluciones a algunos de estos problemas.
Tomando en cuenta las consideraciones previas, en este trabajo buscamos responder
los siguientes interrogantes:
1. ¾En qué medida la incorporación de información semántica en la representación de
los textos puede beneciar la categorización de textos cortos? ¾Qué rol juega en
estos casos la reducción de vocabulario?
2. ¾Qué ventajas aporta en el desarrollo del estudio anterior, la implementación de un
prototipo de marco de trabajo (framework ) especícamente adaptado a esta tarea?
1.3. Contexto de la tesis en el marco de la Maestría
Esta tesis ha sido desarrollada como parte de los requisitos para obtener el título de
la carrera de postgrado Maestría en Ingeniería de Software. A tal n, se han empleado
conceptos de la IS en aplicaciones del PLN, con el propósito de realizar aportes en la
IL. Para abordar los tópicos relacionados a la IS fueron fundamentales los conceptos
impartidos por cursos que forman parte de la currícula de la maestría. En el desarrollo de
este trabajo, fue un importante aporte el estudio comparativo de los distintos enfoques
y herramientas de modelado de sistemas (incluyendo la evaluación de sus ventajas y
desventajas) realizado en el curso Modelos de sistemas de software. De la misma manera,
los conceptos introducidos en el curso Estudio Comparativo de Metodologías facilitaron el
planteo adecuado de los requerimientos de las tareas de PLN para ser implementados en un
sistema concreto aplicando un método apropiado. La selección de herramientas adecuadas
para la generación de código, lenguajes y ambientes de programación fue posible gracias a
los temas vertidos en Métodos Formales y Análisis de Herramientas para la Producción de
Software. Finalmente, el diseño y creación del framework descripto en este informe utiliza
los conceptos relacionados a modelos y métodos formales orientados a la arquitectura
estudiados en el curso Arquitectura de sistemas de software.
Por otra parte, fueron esenciales para sentar las bases en lo que respecta a los conceptos relacionados al PLN y la CT, los cursos extracurriculares realizados, entre ellos
Principales contribuciones y publicaciones
7
Aprendizaje Automático y Minería de Datos que imparte los temas fundamentales vinculados al área de la CT y Aplicaciones de la Lingüística Computacional en el cual se
abordan con mayor detalle tópicos referentes al PLN y WSD.
1.4.
Principales contribuciones y publicaciones
En esta tesis se ha realizado, en primera instancia, el estudio exhaustivo de tópicos
relacionados al PLN, sus fundamentos y aplicaciones, analizando con mayor detalle los
contenidos vinculados a la indexación de documentos y la CT. Diferentes estrategias
de desambiguación fueron comparadas y analizadas, profundizando sobre los algoritmos
basados en conocimiento que en muchos casos constituyen la única alternativa realista
si se desea hacer uso de información semántica en la representación de documentos. La
investigación sobre estos temas quedó plasmada en los capítulos del 2 al 5. La literatura
vinculada a la IL analizada en este trabajo, nos brinda ejemplos interesantes de sistemas,
prototipos y propuestas de entornos de integración y herramientas vinculadas a PLN.
La elaboración de un relevamiento de las diferentes arquitecturas existentes orientadas
al desarrollo de componentes y su integración para la creación de sistemas PLN fue una
de las tareas más importantes. Los principales aspectos surgidos de este estudio están
incluidos en el capítulo 6.
Los resultados prometedores que se obtuvieron al incorporar información semántica
en la representación de documentos mediante la aplicación de métodos de WSD basados
en conocimiento, fueron la motivación para continuar en esta línea de investigación. Estas
primeras conclusiones fueron plasmadas en los artículos1
Un análisis comparativo de estrategias para la categorización semántica de textos
cortos . María V. Rosas, Marcelo Errecalde y Paolo Rosso. Revista del Procesamiento del Lenguaje Natural, Sociedad Española para el Procesamiento del Lenguaje
Natural (SEPLN 45), páginas 1118, 2010.
Tópicos avanzados en categorización de textos . Diego Ingaramo, María V. Rosas,
Amparito Asensio y Marcelo Errecalde. Anales del XI Workshop de Investigadores
en Ciencias de la Computación (WICC 2009), páginas 7579, 2009.
1 Corresponden
a las referencias [48, 95] de la bibliografía.
Capítulo 1. Introducción
8
Las tareas involucradas en el pre-procesamiento semántico de documentos constituyen
una parte importante en la ejecución de los experimentos. Con el propósito de favorecer
la ejecución de dichas tareas, se implementó un prototipo de marco de trabajo que sea
sencillo de aplicar, brindando interfaces y clases abstractas básicas. Uno de los benecios principales del framework desarrollado es la reusabilidad de código, generando un
ahorro de tiempo importante en la implementación de experimentos. Estos desarrollos se
describen en el siguiente trabajo2
Un framework de Ingeniería del Lenguaje para el pre-procesado semántico de textos . Marcelo Errecalde, María V. Rosas y Paolo Rosso. Workshop Ingeniería de
Software - XVI Congreso Argentino de Ciencias de la Computación (CACIC 2010),
páginas 587596, 2010.
El agrupamiento de textos ( clustering ) es un área muy importante de investigación,
que puede jugar un rol fundamental en organizar grandes volúmenes de documentos, en
un número pequeño de grupos signicativos. El clustering de documentos, también referenciado como CT no supervisada, consiste en la asignación de documentos a categorías
desconocidas. Esta tarea es más difícil que la CT supervisada debido a que la información
acerca de las categorías y los documentos correctamente clasicados no se proporciona
con anterioridad. Como anexo a los trabajos realizados en CT, se realizaron experimentos
que permitieron concluir que los enfoques de clustering iterativo pueden también verse
beneciados signicativamente con la incorporación de información semántica en la representación de los documentos. La descripción de esta propuesta y los resultados obtenidos
de dichos experimentos fueron publicados en3
Clustering Iterativo de Textos cortos con representaciones basadas en conceptos .
Marcelo Errecalde, María V. Rosas, Diego Ingaramo y Paolo Rosso. Proc. Workshop on Natural Language Processing and Web-based Technologies, 12th edition of
the Ibero-American Conference on Artitial Intelligence, IBERAMIA-2010, Bahía
Blanca, Argentina, páginas 8089, 2010.
2 Corresponde
3 Corresponde
a la referencia [33] de la bibliografía.
a la referencia [32] de la bibliografía.
Organización de la tesis
9
La publicación anterior fue seleccionada para ser incorporada como artículo de la
revista del Procesamiento del Lenguaje Natural de la Sociedad Española para el Procesamiento del Lenguaje Natural (SEPLN), y ha sido recientemente publicada en4
Clustering Iterativo de textos cortos con representaciones basadas en conceptos .
María V. Rosas, Marcelo Errecalde, Diego Ingaramo y Paolo Rosso. Revista del
Procesamiento del Lenguaje Natural, Sociedad Española para el Procesamiento del
Lenguaje Natural (SEPLN 46), páginas 1926, 2011.
1.5.
Organización de la tesis
Las nociones principales que son tratadas en este trabajo referentes a la IS son conocidas por los investigadores en esta área, no así los temas que conciernen al PLN por lo
que en los primeros capítulos se realiza una descripción más detallada de aquellos temas
vinculados al PLN, que son necesarios para comprender los restantes capítulos. De esta
forma los capítulos que conforman esta tesis están organizados de la siguiente manera:
Capítulo 2: En este capítulo se describen los principales aspectos del PLN y las tareas
que involucran dicho proceso. Finalmente, se incluyen algunos proyectos que se encuentran
en desarrollo en este ámbito.
Capítulo 3: Se explican los aspectos relacionados a los modelos utilizados para la indexación de textos, en particular el sistema SMART. Luego, se presenta una visión general
de los principales conceptos sobre CT y el problema de ambigüedad presente en la mayoría
de las aplicaciones de PLN.
Capítulo 4: Se introduce una variante al modelo tradicional de representación de los
documentos que permita subsanar el problema de la ambigüedad semántica. Se analizan
diferentes estrategias de desambiguación, dedicando una sección al nal del capítulo a
presentar uno de los recursos externos más utilizado en las tareas de desambiguación: la
ontología WordNet.
Capítulo 5: En este capítulo se describen los algoritmos basados en conocimiento son
utilizados en el proceso de desambiguación de los distintos experimentos realizados: Méto-
do heurístico de mayor frecuencia, CIAOSENSO y Lesk Mejorado. Una sección de este
4 Corresponde
a la referencia [94] de la bibliografía.
Capítulo 1. Introducción
10
capítulo está destinada a profundizar sobre métodos para la reducción de términos que
pueden ser conveniente aplicar para optimizar los tiempos de procesamiento y el espacio
de memoria.
Capítulo 6: Usando el concepto de marco de trabajo (framework ) de IS, en este capítulo
se muestra un prototipo para mejorar la productividad y reusabilidad de componentes en
el preprocesado semántico de documentos para la CT. Como complemento al capítulo se
incluye el acoplamiento de un módulo del framework desarrollado a un sistema mayor,
denominado GATE.
Capítulo 7: Se presenta el trabajo experimental realizado, con una descripción de los
conjuntos de datos utilizados y la explicación de cada experimento. Finalmente, se realiza
el análisis y evaluación de los resultados obtenidos.
Capítulo 8: Finalmente se describen las conclusiones obtenidas y las posibles extensiones
al trabajo presentado.
Capítulo 2
Procesamiento del lenguaje natural
"Hasta el viaje más largo comienza con un solo paso."
Proverbio chino.
El exceso de información disponible cada día, hace necesaria la tarea de procesar los
datos de manera efectiva. La mayor parte de esta información está expresada en lenguaje
natural. La computadora personal era, hasta hace un tiempo atrás, sólo una herramienta
para la creación y almacenamiento de documentos de texto, pero con limitaciones en el
procesamiento de los mismos. Uno de los grandes sueños inalcanzable en el pasado, era
contar con mecanismos ecaces que, desde el punto de vista computacional, permitan que
las personas puedan comunicarse directamente con las máquinas en lenguaje humano y
que éstas sean capaces de extraer conocimiento a través del mismo. La idea de dar a las
computadoras la habilidad de procesar el lenguaje natural ya es una realidad [17].
La utilización de la computadora para generar y comprender el lenguaje humano natural es el eje principal del PLN. Con el objetivo de modelar el lenguaje humano desde un
punto de vista computacional, en su estudio intervienen diferentes disciplinas (matemática, psicolingüística y dialectología, entre otras) pero la combinación de la lingüística y la
informática constituye la esencia del PLN. En este sentido, se están obteniendo resultados
prometedores pero existen todavía varias metas a alcanzar por lo que representa un tema
abierto de investigación.
En este capítulo se presenta una visión general de los principales conceptos del PLN. Se
analiza la necesidad de un estudio previo del lenguaje para el desarrollo de todo sistema
Capítulo 2. Procesamiento del lenguaje natural
12
vinculado al PLN y cómo muchos de los componentes de dichos sistemas son modelos
estadísticos provenientes del campo de la Inteligencia Articial. Finalmente, se introducen
diversas aplicaciones desarrolladas en el ámbito del PLN.
2.1. Niveles de la linguística general
Las aplicaciones vinculadas al procesamiento de lenguaje se distinguen de otros sistemas de procesamiento de datos por la necesidad de contar con un conocimiento sobre
língüística general para su correcto desarrollo [51]. Para ejemplicar lo anteriormente
expresado consideremos las siguientes aplicaciones:
1. WC: es un sistema que cuenta el total de número de bytes, palabras, y líneas en
un archivo de texto. Al usarla como contador de bytes y líneas, WC sugiere un
procesamiento de datos simple. Sin embargo, cuando es usado para contar palabras
en un archivo, se requiere conocimiento acerca de cómo distinguir una palabra en
el texto, por lo que esta aplicación se interpreta como un sistema de procesamiento
del lenguaje.
2. HAL: es un sistema que debe reconocer palabras desde una señal de audio y generar
una señal nueva desde una secuencia de palabras [51]. Estas tareas de reconocimiento
y síntesis del habla requiere conocimiento acerca de fonética y fonología, es decir,
la forma en que las palabras son pronunciadas en términos de secuencia de sonidos
y en que cada uno de estos sonidos es realizado acústicamente. Además, produce y
reconoce de igual forma variaciones de palabras individuales, tales como singular y
plural, por lo tanto necesita también tener conocimiento sobre morfología. Reconocer
el signicado exacto de una palabra, la composición semántica y las relaciones de
palabras en la estructura sintáctica es necesario para un buen sistema. Nuevamente
el procesamiento del lenguaje es parte de este sistema.
La lingüística general se estructura normalmente en cuatro niveles:
Nivel Morfológico : dene la relación que se establece entre las unidades mínimas
que forman una palabra, como puede ser el reconocimiento de sujos o prejos.
Este nivel mantiene una estrecha relación con el léxico. En el nivel léxico se incluye
Niveles de la linguística general
13
Figura 2.1: Estructura de un sistema PLN
la información morfológica, la categoría gramatical, irregularidades sintácticas y
representación del signicado. Las palabras que forman parte del diccionario están
representadas por una entrada léxica, y en caso de que ésta tenga más de un signicado o diferentes categorías gramaticales, tendrá asignada diferentes entradas.
Normalmente el nivel léxico contempla la raíz de las palabras con formas regulares.
Por ejemplo, la palabra preregistración puede ser morfológicamente analizado a
partir de tres morfemas: el prejo pre, la raíz registra y el sujo ción, en otro
sentido si por ejemplo se agrega el sujo ado o ido a un verbo se puede suponer
que la acción del verbo ocurrió en el pasado.
Nivel Sintáctico : las palabras pueden unirse para formar oraciones, jando el papel estructural que cada palabra juega en la oración. A este nivel, se obtiene un
conocimiento sobre la relación estructural entre palabras. Por ejemplo, en las sentencias El perro persigue al gato y El gato persigue al perro se plantea una
diferencia a nivel sintáctico. Mientras que en la primera oración el sujeto de la
Capítulo 2. Procesamiento del lenguaje natural
14
oración es el perro y el gato es sólo el objeto directo de la acción que se realiza
(perseguir), en la segunda oración ocurre lo inverso cambiando el papel estructural
de las palabras perro y gato.
Nivel Semántico : dene el signicado de cada palabra, lo cual no es una tarea sencilla y puede dar lugar a diversas interpretaciones. Es posible distinguir entre signicado independiente y signicado dependiente del contexto. El primero, tratado
a nivel semántico, hace referencia al signicado que las palabras tienen por sí mismas ignorando el signicado adquirido según el uso en un determinado contexto.
La semántica, por tanto, hace referencia a las condiciones de verdad de la frase,
ignorando la inuencia del contexto o las intenciones del hablante. Por ejemplo, si
la palabra granada tiene dos posibles acepciones: 1) una fruta comestible o 2) un
artefacto explosivo, es indiscutible que en la sentencia La granada está muy dulce
y sabrosa se está haciendo referencia al primer signicado.
Nivel Pragmático : el signicado de una palabra está inuenciado por las circunstancias, intenciones o planes del sujeto que hace uso del lenguaje, denido como
signicado dependiente del contexto. Añade información adicional al análisis del
signicado de la frase en función del contexto donde aparece. Incorpora información sobre las relaciones que se dan entre los hechos que forman el contexto y entre
diferentes entidades. Por ejemplo, si se tiene la frase Juan sustituyó a Pedro dependiendo del sujeto que interprete esta sentencia pueden surgir dos signicados: 1)
Juan ocupó el lugar de Pedro o 2) Juan buscó otra persona para que ocupe el lugar
de Pedro.
La lingüística estudia el lenguaje humano en sus dos ramas principales: el habla y la
escritura. Debido a esto, otros niveles de conocimiento pueden ser incluídos, como es la
información fonológica, referente a la relación de las palabras con el sonido asociado a su
pronunciación o el análisis del discurso, que estudia cómo la información precedente puede
ser relevante para la comprensión de otra información; o lo que se denomina conocimien-
to del mundo, referente al conocimiento general que las personas han de tener sobre la
estructura del mundo para mantener una conversación.
Lo anteriormente expresado determina que todo sistema de PLN, para ser eciente,
debe presentar un conjunto de módulos básicos que se correspondan al análisis de los
niveles de la linguística que fueron denidos.
PLN estadístico
15
En la Figura 2.1 [120] se muestra un ejemplo de un sistema de procesamiento de texto
donde se pueden distinguir tres módulos principales:
1. Módulo de análisis léxico : identica las diferentes palabras. Es necesario detectar
además de las palabras simples, las palabras compuestas, frases hechas, siglas, etc.
Además también es necesario diferenciar entre la forma (la palabra tal como aparece)
y el lema (la forma canónica de la palabra). El objetivo nal de este módulo es asociar a cada palabra su lema correspondiente, etiquetar cada palabra con su posible
categoría léxica (sustantivo, verbo, adjetivo o adverbio) y añadir algunos rasgos
gramaticales (género, número, tiempo verbal).
2. Módulo de análisis sintáctico : divide el texto en segmentos para luego seleccionar la
etiqueta gramatical más apropiada para cada palabra, divide el texto en segmentos
analizables formando un árbol sintáctico (sujeto, predicado, sustantivo, adjetivo,
etc.).
3. Módulo de análisis semántico : se ocupa de asignar el sentido correspondiente a cada
palabra, resolviendo la ambigüedad semántica cuando sea apropiado. Este módulo
puede funcionar en paralelo con el módulo de análisis sintáctico o posteriormente.
Los diferentes módulos de un sistema de PLN necesitan recursos léxicos externos
tales como diccionarios, gramáticas u ontologías, que sean adecuados para el idioma o
para el dominio de los textos a procesar. Estas bases externas de conocimiento proveen
información para poder establecer la salida para cada módulo con la mayor precisión
posible. En la sección 4.3 se describe la ontología WordNet que se emplea en este trabajo.
2.2.
PLN estadístico
La aplicación de métodos estadísticos para el PLN es uno de los modelos clásicos
utilizado actualmente. Muchos de los componentes de sistemas complejos de PLN (tales
como, analizadores morfológicos o etiquetadores sintácticos) son modelos estadísticos que
hacen posible el uso de modernas técnicas de aprendizaje.
La tecnología del PLN estadístico proviene principalmente del Aprendizaje Automático
(AA) y de la Minería de Datos (MD), que son los campos de la Inteligencia Articial que
Capítulo 2. Procesamiento del lenguaje natural
16
logran el aprendizaje a partir de los datos, en este caso del lenguaje natural. El PLN
estadístico se basa, principalmente, en la lingüística, la teoría probabilística, la teoría de
la información y la programación, entre otras; utilizando la estocástica, probabilística y
los métodos estadísticos.
Las técnicas de AA, a partir de las cuales deriva el PLN estadístico, pueden ser divididas en dos tipos: supervisadas y no supervisadas. El aprendizaje supervisado se ocupa
principalmente de la predicción de la información que falta sobre la base de la información
observada. Por ejemplo, la predicción de categoría gramatical de una palabra basada en la
oración completa. Emplea métodos estadísticos para, a partir de datos de entrenamiento
etiquetados, construir una regla de predicción para datos no etiquetados. En cambio, en
el aprendizaje no supervisado no se cuenta con información previa por lo que el objetivo
está puesto en la unión de datos en agrupaciones (clustering). Algunos algoritmos de
aprendizaje supervisado incluyen máquinas de soporte vectorial y métodos bayesianos,
mientras que los algoritmos de maximización representan las principales técnicas para el
caso del aprendizaje no supervisado. Debido a que profundizar en estos tópicos va más
allá de los própositos de este trabajo, una descripción más detallada de cada algoritmo
de aprendizaje y de conceptos relacionados puede ser encontrados en [133, 52, 72].
2.3. Aplicaciones de PLN
Las aplicaciones vinculadas al PLN pueden ser divididas principalmente en dos grupos:
Aplicaciones basadas en texto : involucra tareas que se valen de la escritura, como
la búsqueda por un cierto tópico o por una palabra clave en una base de datos,
extracción de información desde documentos escritos o la confección de resúmenes
de texto para diferentes propósitos, etc.
Aplicaciones basadas en diálogo : algunos de los ejemplos típicos de este tipo son sistemas que por medio del habla dan respuesta a alguna necesidad, como por ejemplo
servicios que dan información por teléfono sin operador, máquinas controladas por
la voz, etc.
EL PLN proporciona tanto la teoría como las herramientas de implementación para
una gama variada de aplicaciones. Las más frecuentes son:
Aplicaciones de PLN
17
La corrección de textos que permite la detección y corrección de errores ortográcos y gramaticales. La computadora necesita entender en cierto grado el sentido
del texto para detectar estos errores. Los correctores de gramática detectan las estructuras incorrectas en las oraciones aunque todas las palabras en la oración estén
bien escritas. El problema de detectar los errores de este tipo es complejo debido a
la existencia de gran variedad de estructuras permitidas. Para describir las estructuras de las oraciones en el idioma, se usan las llamadas gramáticas formales, o sea
conjuntos de reglas de combinación de palabras y su orden relativo en las oraciones.
La traducción automática se reere a la traducción correcta de un lenguaje a
otro, tomando en cuenta lo que se quiere expresar en cada oración.
En el campo de la recuperación de la información se han desarrollado sistemas
que permiten obtener información sobre estadísticas deportivas, información turística, geográca, etc.
La tarea de clasicación o categorización de textos describe el problema de
asignar automáticamente un conjunto de documentos a un conjunto predenido de
categorías o clases. Esta tarea puede resultar complicada ya que suele ser ambigua
aún para los humanos.
Se han desarrollado sistemas con la capacidad de crear resúmenes de documentos
a partir de datos suministrados. Estos sistemas son capaces de realizar un análisis
detallado del contenido del texto y elaborar un resumen.
Los tutores inteligentes que permiten modelar el comportamiento del estudiante,
reconocer y procesar sus errores, desarrollar habilidades en la resolución de problemas y otras actividades del proceso enseñanza-aprendizaje.
Como ya se planteó anteriormente, el crecimiento de la disponibilidad de nuevos recursos computacionales, de fuentes de información y de usuarios de computadoras ha
llevado a un primer plano todo lo referente a la tecnología y como una parte de ello a las
aplicaciones en el área del PLN.
Los siguientes son ejemplos de aplicaciones del PLN que están en proceso de producción
o siendo evaluadas actualmente:
Capítulo 2. Procesamiento del lenguaje natural
18
Aerolíneas de renombre y otros proveedores de viajes utilizan agentes articiales que
guían a los usuarios a través del proceso de hacer la reserva y obtener información
de llegada y salida de vuelos, simulando la conversación humana.
En la actualidad podemos encontrar los primeros autos con facilidades de reconocimiento de voz y sistemas que permiten a los conductores llevar el control
de su medio ambiente, entretenimiento y navegación por medio de sistemas de voz.
El mismo sistema de diálogo hablado se ha desarrollado para los astronautas en el
espacio.
Google proporciona tareas de recuperación de la información y servicios de traducción en el cuál los usuarios pueden proporcionar consultas en su idioma nativo
a buscadores en otro idioma. Google traduce la consulta, considera la mayoría de
las páginas correspondientes y luego los traduce automáticamente de nuevo a los
usuarios en su idioma nativo.
Las grandes editoriales educativas usan sistemas automatizados para el análisis de
ensayos de estudiantes, su clasicación y evaluación, ya que resulta una tarea muy
compleja para realizar manualmente.
Algunas empresas emplean mecanismos de análisis de textos a partir de mediciones
automatizadas realizada de opiniones, preferencias, actitudes y modos de expresarse
en weblogs de diferentes usuarios.
Capítulo 3
Indexación y categorización de textos
Aquel que quiera construir torres altas, deberá permanecer largo tiempo en los
fundamentos.
Anton Bruckner. Compositor austríaco.
En todo trabajo de PLN la primera etapa que se debe realizar es la de obtener una
representación de los documentos para realizar experimentos, denominado proceso de in-
dexación. Esta tarea supone la utilización de un conjunto de términos o descriptores índice
que identiquen a los documentos. La elección de dichos términos es uno de los procesos
más complicado pero a la vez el más importante.
En este capítulo se analizan diferentes modelos de representación de documentos y
se dene uno en particular que es el más utilizado en aplicaciones vinculadas al PLN.
Finalmente, se enumeran y describen los pasos que incluyen la tarea de CT y se plantea el
problema de la ambigüedad del lenguaje natural como una de sus principales limitaciones.
3.1.
Indexación de documentos
La opción más simple para el proceso de indexación de documentos es representar a
cada documento por todas sus palabras. Esto no es conveniente si se considera que no
todos los términos son igualmente importantes para describir el contenido de un documento y que implicaría un coste computacional muy alto para colecciones de documentos
de tamaño grande. La tarea de decidir la relevancia de cada término no es fácil si se tiene
Capítulo 3. Indexación y categorización de textos
20
en cuenta que está determinada generalmente por la aplicación de PLN a desarrollar. Por
ejemplo, en ciertas aplicaciones de categorización por temas donde el signicado de las
palabras juega un papel preponderante, los artículos, las preposiciones y las conjunciones
son palabras casi vacías de contenido semántico, poco útiles para los nes de la tarea a
implementar. Sin embargo, en aplicaciones donde es importante capturar aspectos esti-
grácos del autor (identicación de autoría, detección de plagio), esto tipo de información
puede ser relevante para la tarea a realizar.
En todo proceso de indexación el objetivo a alcanzar es encontrar aquellos términos que
mejor representen a los documentos y que además permitan diferenciar unos de otros. Por
todo lo descripto anteriormente, es necesaria la selección de un modelo de representación
de documentos que sea conable y eciente.
3.1.1. Modelos de indexación
En general, todo modelo de indexación puede ser denido por:
1. la identicación de qué es un término
2. el método para computar el peso de un término
Para la representación de documentos, se ha determinado que la utilización de palabras individuales es una de las mejores maneras de indexación de documentos. Ésto es
a menudo llamado el enfoque del conjunto de palabras o bolsa de las palabras (en inglés,
bag of words) [105]. Varios modelos más complejos para la indexación de documentos
han surgido a partir de distintas aplicaciones del PLN, pero sin mejorar signicativamente
la versión más simple.
Los modelos con fuerte base matemática para determinar el peso de un término se
originaron en la rama de la recuperación de la información. En este contexto se pueden
mencionar:
Modelo booleano o teórico : es un modelo simple basado en el álgebra booleana.
Un documento se representa como un conjunto de términos, de tal forma que un
término estará presente o ausente en un determinado documento, sin contemplar la
posibilidad de establecer diferentes grados de pertenencia. Las principales ventajas
Indexación de documentos
21
del modelo booleano se centran en su sencillez. Esto hace que sea muy intuitivo,
fácil de implementar y formalizar. Las principales desventajas de este modelo se
centran en su rigidez, al estar acotado a valores tales como 1(uno) o 0(cero), es decir
pertenece o no.
Son ejemplos de este tipo de enfoque el Modelo booleano estándar y el Modelo
booleano extendido [56, 35].
Modelo estadístico o algebraico : es un modelo que representa los documentos usualmente como vectores, matrices o tuplas de términos. La similaridad entre vectores es
representada con un valor escalar. En este modelo, la forma más simple de asignar
un peso a los términos es a partir del modelo tf-idf que será explicado en detalle en
la subsección 3.1.2. El modelo vectorial tiene una mayor exibilidad en la valoración
de los pesos (valores reales) y el orden de los resultados se basa en la frecuencia
de los términos y la relevancia de los términos, sin favorecer a los documentos más
largos. Con respecto a sus desventajas se centran en la pérdida de parte de la información sintáctica y semántica del documento y que se basa en la independencia
de los términos dentro de un documento, aseveración que no siempre se mantiene.
En capítulos posteriores se presentarán trabajos que solucionan en gran parte las
desventajas planteadas [45].
Son ejemplos de este tipo de enfoque el Modelo de espacio vectorial (representa una
variante al modelo introducido anteriormente y es el utilizado en este trabajo por
lo que se explica en detalle en 3.1.2), el Modelo de espacio vectorial generalizado,
el Modelo de espacio vectorial basado en tópico y el Modelo de espacio vectorial
basado en tópico mejorado [99, 10].
Modelo probabilístico : trata todo proceso como una inferencia probabilística. Este
modelo postula que la mejor manera de representar los documentos es mediante la
teoría de las probabilidades. Las similaridades son computadas como probabilidades
a partir de la relevancia o no de un documento dado. El modelo probabilístico se
basa en un proceso iterativo. Este proceso se inicia con un primer conjunto de documentos relevantes, que es paulatinamente recalculado en función de la información
que proporciona el usuario de aquellos documentos que considera relevantes y no
relevantes. El conjunto resultante proporciona un ordenamiento de los documentos
en base a su probabilidad de relevancia. Dentro de sus desventajas, cabe destacar la
necesidad de iniciar el modelo a partir de una primera estimación del conjunto de
Capítulo 3. Indexación y categorización de textos
22
documentos relevantes, y el hecho de que no se tiene en cuenta el número de veces
que cada término aparece en un documento a la hora de estimar su probabilidad de
relevancia.
Son ejemplos de este tipo de enfoque, Bayes' Theorem, Binary Independence
Retrieval, Probabilistic Relevance Model, entre otros [92, 58].
3.1.2. Modelo de espacio vectorial
Este modelo estadístico denominado Modelo de Espacio Vectorial (VSM, las siglas en
inglés para Vector Space Model [99]) representa a los documentos en lenguaje natural de
una manera formal mediante el uso de vectores en un espacio lineal multidimensional.
Este modelo es usado en múltiples aplicaciones de ltrado, recuperación e indexado de
información. A pesar de que el VSM ha sido ampliamente utilizado en CT [43], éste debe
su origen al área de Recuperación de la Información [66, 99, 100] como gran parte de los
modelos presentados anteriormente.
En VSM cada documento será representado por un vector de pesos de tamaño n donde
n es el número de términos que pertenecen al conjunto de documentos. De este modo, si
se toma como base lo mencionado en 3.1.1 se puede describir al VSM como:
1. Los términos son representados con las palabras aisladas que conforman los documentos de una colección. A las palabras se les suelen aplicar dos procesos:
Eliminación de palabras de paro : las palabras que son muy frecuentes entre los
documentos y no relevantes para una aplicación determinada son eliminadas
ya que no son buenos discriminadores y resultan inútiles para algunas tareas de
clasicación o recuperación de la información. Por ejemplo, las preposiciones y
los artículos pueden ser considerados palabras de paro (o stopword).
Stemming : el objetivo es reducir las palabras a su raíz gramatical. Un stem
es la parte de la palabra que queda luego de remover sus ajos (prejos y
sujos). Por ejemplo, la palabra conec es el stem de conectado, conectando y
conecciones, entre otras.
2. Cada peso de un término en el vector representa la relevancia del término correspondiente en relación con un determinado sentido en la expresión del lenguaje
Indexación de documentos
23
natural. Éste puede ser un valor binario o uno real. Si es un valor binario simplemente
determina la presencia o no del término en el documento. Para el caso de valor no
binario, éste puede computarse con diversas técnicas siendo el modelo tf-idf uno de
los aplicados con mayor frecuencia.
Ejemplicando lo anteriormente expresado, en las Tablas 3.1 y 3.2 se muestran las
representaciones binaria y real para la frase1 :
Azul, como el cielo azul, como el mar azul, como tus ojos, mi cielo y mar azul...
la
cielo
luna
como
ojos
el
azul
tus
mios
mar
mi
claro
y
0
1
0
1
1
1
1
1
0
1
1
0
1
Tabla 3.1: Representación binaria
la
cielo
luna
como
ojos
el
azul
tus
mios
mar
mi
claro
y
0
2
0
3
1
2
3
1
0
2
1
0
1
Tabla 3.2: Representación real
El modelo tf-idf, como fue planteado, es uno de los más utilizados para obtener el
peso de vectores con valores reales de componentes a partir del cálculo de Frecuencia de
Términos * Frecuencia de Documento Inversa (TF*IDF). La TFd,i es la frecuencia de
ocurrencia del i-ésimo término dentro del documento d. TF es una estadística especíca
del texto, ya que varía de un documento a otro, intentando medir la importancia del
término dentro de un documento dado. Por otro lado, la IDF es una estadística global
y caracteriza un término dentro de la colección entera de N documentos. Es decir, la
Frecuencia de Documento (DFi ) del i-ésimo término representa el número de documentos
de la colección en los cuáles aparece dicho término. El propósito es subestimar aquellos
términos que ocurren en muchos de los documentos de la colección y por lo tanto, cuales
no son relevantes (cuando un término ocurre en los N documentos de la colección, su
valor IDF es igual a 0). Para permitir la variación en el tamaño de los documentos, el
peso es usualmente normalizado. El objetivo y efecto de la normalización del peso, es que
el peso de un término en un documento dependa sobre su frecuencia de ocurrencia con
respecto a los otros términos del mismo documento, no sobre su frecuencia absoluta de
1 En
estos ejemplos, se asume que las palabras la, luna, mios y claro han sido utilizadas en otros
textos y que el pre-procesamiento no incluye ningún proceso de stemming o de eliminación de palabras
de paro.
Capítulo 3. Indexación y categorización de textos
24
ocurrencia. Obtener el peso de un término por su frecuencia absoluta puede favorecer a
los documentos largos sobre los cortos. Una técnica para computar el peso que ha sido
ampliamente usada en CT y surgió en el área de la Recuperación de la Información es la
nomenclatura SMART [99] que se describe en la Tabla 3.3.
Nomenclatura SMART para la codicación de textos
di : Es el i-ésimo componente del vector d¯ de tamaño n.
N : Número de documentos.
T Fd,i : Frecuencia del i-ésimo término en el documento d.
DFi : Frecuencia del i-ésimo término del documento sobre la colección.
Denición:
0
0
wi = T Fd,i .IDFi .N ORM
0
0
T Fd,i
IDFi
N ORM
n : none = T Fd,i
n : none = 1
n : none = 1
b : binary = 1
N
t : tf idf = log( DF
)
i
c : cosine =
qP
1
0
0
2
i (T Fd,i IDFi )
T Fd,i
maxi (T Fd,i )
TF
0,5 + 0,5 maxi (Td,iFd,i )
m : max − norm =
a : aug − norm =
l : log = 1 + log(T Fd,i )
Tabla 3.3: Nomenclatura SMART para la codicación de textos
Lo anteriormente expuesto determina que en el sistema SMART, cada codicación
estará compuesta por 3 letras: un valor para TF (Ocurrencia del Término), uno para
IDF (Frecuencia Inversa del Documento) y el último para determinar si la operación
de normalización es empleada o no. Con este esquema de representación se generan 20
diferentes codicaciones a partir de las posibles combinaciones de las 3 letras componentes.
Categorización de textos
25
Por ejemplo, una codicación ntc (con n representando la fórmula utilizada para TF, t
para computar IDF y c para determinar si se aplica normalización) para computar el peso
del i-ésimo componente del vector para el documento d se obtiene calculando la fórmula
N
T Fd,i log( DF
) y luego realizando la normalización coseno.
i
A pesar de ser uno de los modelos más utilizados, el VSM presenta las siguientes
limitaciones:
se pierde parte de la información sintáctica y semántica de los documentos.
el orden en el que aparecen los términos no es representado en los vectores.
3.2.
Categorización de textos
Entre las distintas aplicaciones del PLN, la Categorización de Textos (CT ) ha despertado un notable interés debido a la necesidad urgente de organizar, mantener y procesar
la información textual disponible a partir de un conocimiento más profundo del lenguaje
[106]. La CT consiste básicamente en realizar la clasicación de un conjunto de documentos (corpus) dentro de categorías predenidas también denominadas clases, por lo que
la tarea suele ser referenciada también como Clasicación de Textos [105].
Sobre la denición anterior es importante destacar dos aspectos. Lo primero a señalar
es que, cuando se reere a categoría se está haciendo referencia a rótulos simbólicos, ya
que su signicado no proporciona conocimiento adicional que pueda ser usado para la
tarea del clasicador. El contenido de cada documento es lo único relevante al momento
de asociar cada uno a su correspondiente clase. La segunda cuestión, que deriva de la
primera, nos remite a la subjetividad presente en toda tarea de clasicación de textos,
ya que es muy común encontrar un desacuerdo de expertos al decidir clasicar un determinado documento bajo una categoría especíca. Por ejemplo, si se tiene un documento
para clasicar un discurso presidencial donde se expone ...la ingesta de cerdo mejora la
actividad sexual... 2 , éste puede ser catalogado como un artículo de Política o de Medicina, o en su defecto como perteneciendo a otra categoría diferente. La clase que se escoja
depende del juicio subjetivo del experto.
2 http://edant.clarin.com/diario/2010/01/28/elpais/p-02128743.htm
Capítulo 3. Indexación y categorización de textos
26
Aunque es posible construir un sistema de CT creando conjuntos de reglas de forma
manual, el enfoque más utilizado consiste en usar técnicas de Recuperación de la Infor-
mación (RI) y AA para inducir un modelo de clasicación. Si las técnicas de AA apuntan
a reproducir las clasicaciones previas realizadas manualmente por un experto el enfoque
de categorización se denomina supervisado, ya que se realiza el aprendizaje a partir del
conocimiento de datos preclasicados. Por el contrario, si las categorías no se conocen con
anterioridad ni se disponen de ejemplos previos de asignaciones correctas a las mismas, la
categorización automática se conoce como no supervisada o agrupamiento.
Se puede denir a la CT como la tarea de determinar un valor del conjunto {T , F }
(denotados True y False respectivamente) para cada entrada de la matriz de decisión
de la Tabla 3.4.
d1
...
...
dj
...
...
dn
c1
a11
...
...
a1j
...
...
a1n
...
...
...
...
...
...
...
...
ci
ai1
...
...
aij
...
...
ain
...
...
...
...
...
...
...
...
cm
am1
...
...
ami
...
...
amn
Tabla 3.4: Matriz de Decisión
Formalmente, si se dene a C = {c1 , . . . , cm } como el conjunto predenido de
categorías, a D = {d1 , . . . , dn } como el conjunto de documentos y a cada valor en
{a11 ,..., amn } como representando la estimación realizada por el experto de la pertenencia
(o no) de un documento a una categoría, entonces se podría especicar la tarea de CT
por medio de una función Φ, tal que Φ : D × C → {T, F }.
De esta manera, si Φ(dj , ci ) = T luego dj es llamado un ejemplo positivo (o miembro)
de ci , de lo contrario si Φ(dj , ci ) = F es llamado un ejemplo negativo de ci . El objetivo
es aproximar la función Φ, mediante un clasicador Φ0 tal que Φ y Φ0 coincidan tanto
como sea posible.
Teniendo en cuenta la aplicación de la CT, ésta puede considerarse como tarea de:
Simple rotulado, donde un elemento debe ser asignado a una única categoría (un
caso particular de este tipo es el clasicador binario).
Múltiple rotulado, donde un elemento puede ser asignado a más de una categoría o
clase.
Categorización de textos
27
La CT automática ha sido aplicada con éxito en muchos problemas de categorización
de la vida real pudiéndose mencionar como ejemplo a la clasicación de páginas Web
en directorios temáticos [78], la detección y ltrado de páginas Web pornográcas [44] y
mensajes de correo masivo no solicitado (spam) [108, 42, 98], el ltrado de noticias [4],
la detección de plagios e identicación de autores [86, 85, 110, 73], el análisis de opinión
[68] y la organización de páginas Web en general [57, 129], entre otras.
La tarea de CT incluye a grandes rasgos los siguientes pasos:
1. Representar o indexar un conjunto de documentos.
2. Seleccionar y aplicar un clasicador de textos.
3. Evaluar el clasicador utilizado.
Con respecto al primer punto, es importante destacar que los documentos en la CT
son generalmente representados como vectores de pesos de términos (ver sección 3.1).
Dependiendo del sistema de CT utilizado y de la dimensión de los vectores, puede ser
necesario seleccionar un subconjunto de los términos índices originales para mejorar los
resultados del clasicador. En la sección 3.3 se presentan las diferentes maneras de llevar
a cabo la reducción de dimensionalidad del espacio de términos.
3.2.1. Aprendizaje de un clasicador
Un clasicador de texto para una clase ci se genera automáticamente a través de un
proceso inductivo general, llamado aprendiz (o learner ). A partir de las particularidades de
un conjunto de documentos preclasicado en la categoría ci , se deducen las características
que deben tener los documentos aún no clasicados para pertenecer a ci . Para construir un
clasicador para un conjunto de clases C , es necesario un conjunto D de documentos tal
que el valor de Φ(dj , ci ) sea conocido para cada hdj , ci i ∈ D ÖC . En una de las primeras
etapas del clasicador el conjunto original de documentos D es generalmente dividido en
tres conjuntos disjuntos, no necesariamente del mismo tamaño:
Un conjunto de entrenamiento Tr (training set ): es el conjunto de documentos
usados por el aprendiz para construir el clasicador.
Capítulo 3. Indexación y categorización de textos
28
Un conjunto de validación Va (validation set ): es el conjunto de documentos con los
cuales se ajustan las conguraciones del clasicador. Por ejemplo, para un parámetro
p del cual depende el clasicador, seleccionar el valor que produce la mayor efectividad cuando es evaluado con Va.
Un conjunto de prueba Te (test set ): es el conjunto de documentos con el cual se
evalúa nalmente la efectividad del clasicador.
Tanto en la fase de validación como en la de prueba, evaluar la efectividad signica ejecutar el clasicador con un conjunto de documentos preclasicados (Va o Te ) y controlar el
grado de correspondencia entre la salida de los clasicadores y de las clases preasignadas.
Diferentes aprendices pueden aplicarse a la CT. Algunos de estos métodos generan
clasicadores de valores binarios de la forma h : DÖC {T , F }, otros generan funciones
de valores reales de la forma h : DÖC [0, 1]. En este último caso, es necesario utilizar
una estrategia para convertir dicho valor a uno nal de tipo binario [124].
Diversas técnicas de aprendizaje de clasicadores han sido desarrolladas para las tareas de CT, que incluyen métodos de regresión [36, 125], árboles de decisión [64], redes
neuronales [122], algoritmos probabilísticos de Bayes [118, 64], algoritmos de aprendizaje
inductivo [19, 65], método de los K vecinos más cercanos [125, 72], máquinas con soporte
de vectores [113, 28] y ensamblaje de clasicadores [83, 101]. En el capítulo 7 de este
trabajo se ha experimentado con varios de estos algoritmos.
3.2.2. Evaluación de un clasicador
La evaluación experimental de un clasicador se mide en la mayoría de los casos por
su efectividad, es decir, su habilidad para tomar las decisiones correctas al clasicar. Las
métricas para la evaluación de la efectividad provienen usualmente del área de la RI y
adaptadas a CT para su uso. Las más utilizadas incluyen: recall, precision, accuracy, error
y F-measure.
A n de aplicar la métrica seleccionada para evaluar la clasicación, se debe obtener
en primer lugar la matriz de contingencia (o matriz de confusión) para cada categoría ci
como la mostrada en la Tabla 3.5.
Donde los valores para cada celda representan:
Categorización de textos
29
Categoría ci
Decisión del experto
Decisión del clasicador
TRUE
FALSE
TRUE
T Pi
F Pi
FALSE
F Ni
T Ni
Tabla 3.5: Matríz de contingencia para la categoría ci
T Pi (positivos verdaderos) representa el número de documentos que han sido correctamente clasicados bajo la categoría ci ,
F Pi (positivos falsos) representa el número de documentos que han sido incorrectamente clasicados bajo la categoría ci ,
T Ni (negativos verdaderos) representa el número de documentos que han sido correctamente clasicados como no perteneciendo a la categoría ci y
F Ni (negativos falsos) que representa el número de documentos que han sido incorrectamente clasicados como no perteneciendo a la categoría ci .
Teniendo en cuenta la notación introducida y que Ni = T Pi + F Pi + T Ni + F Ni , las
distintas métricas pueden ser denidas de la siguiente manera:
P recisioni =
Recalli =
T Pi
(T Pi +F Ni )
Accuracyi =
Errori =
(F Pi +F Ni )
Ni
T Pi
(T Pi +F Pi )
(T Pi +T Ni )
Ni
= 1 − Accuracyi
La Precision se determina como la probabilidad de que si un documento cualquiera
es clasicado bajo una determinada categoría, esta decisión sea correcta. Con respecto
Capítulo 3. Indexación y categorización de textos
30
a Recall, es denida como la probabilidad de que, si un documento cualquiera debe ser
clasicado bajo un determinada categoría, esta decisión es tomada.
Generalmente, el valor de N en la CT es grande, lo que produce que las métricas de
Accuracy y Error sean mucho más insensibles a las variaciones en el número de decisiones
correctas (TP + TN) que para el caso de Precision y Recall. Por esta razón, Recall
y Precision se usan más frecuentemente que Accuracy y Error en las evaluaciones de
clasicadores.
En la práctica, nuevas alternativas de medición de la efectividad surgen de la combinación de las medidas de textitPrecision y Recall. Una de las opciones propuesta que es la
denominada F-measure [107]. La expresión 3.1 permite calcular el valor proporcionando
un parámetro α (0 ≤ α ≤ 1) que permite ponderar tanto la Precision como el Recall.
Fa =
1
α P recision
1
1
+ (1 − a) Recall
(3.1)
En esta fórmula puede verse a α como el grado relativo de importancia a atribuída
a Precision y Recalla: si α = 1, luego el valor de Fα coincide con Precision, si α = 0
entonces Fα coincide con Recall. Usualmente, un valor de α = 0,5 da igual importancia a
la Precision y al Recall, dicha medida es conocida como F1 [63].
En la CT de múltiple rótulo, el método más sencillo para calcular el puntaje total
de las categorías consiste en obtener el promedio de las valores calculados para todas las
tareas binarias. El resultado obtenido se llama macro-promedio de la métrica utilizada.
Otra forma es sumar los valores T P , F P , T N y F N para todas las categorías y luego
calcular cada una de las métricas planteadas. Los resultados obtenidos de esta forma son
llamados micro-promedio.
En [107, 123, 63] se da una explicación más detallada sobre las métricas de evaluación
descriptas y otras técnicas alternativas a la efectividad, como por ejemplo eciencia y
utilidad.
3.3. Reducción de dimensionalidad
Cuando se deben categorizar colecciones con un tamaño grande de vocabulario es de
esperar un impacto negativo de la eciencia en tiempo y espacio de memoria para la
Reducción de dimensionalidad
31
mayoría de los sistemas de categorización [93]. Un aspecto interesante a analizar en estos
casos es el uso de métodos clásicos de reducción de la dimensión del espacio de términos
(T ) para hacer posible un procesamiento más eciente. El objetivo nal es restringir |T |
a |T 0 | donde |T 0 ||T |. La intención es descartar atributos o características 3 irrelevantes,
redundantes o que brinden mínima información al clasicador. Sin embargo, el proceso
de remover términos debe ser realizado cuidadosamente, debido a que se puede correr el
riesgo de remover información útil para la clasicación de ciertos documentos.
En base a la naturaleza de los términos resultantes se pueden distinguir dos enfoques
principales para la reducción de dimensionalidad:
Selección de términos : se obtiene el conjunto T 0 que es un subconjunto de T . Se
seleccionan los términos que al ser usados para el indexado de documentos logren
mayor efectividad. En [126] se ha demostrado que la efectividad en CT al utilizar
este enfoque depende en gran medida del clasicador utilizado, de la agresividad de
la reducción y de la técnica utilizada para dicha reducción. Dentro de este enfoque
se plantean varias alternativas. La técnica de envoltura (en inglés, wrapper ) es una
alternativa que plantea determinar T 0 por medio del mismo método de aprendizaje
usado para construir el clasicador, con la desventaja que el costo computacional que
implica hace imposible aplicarla en algunas técnicas estándar de CT [81, 49]. Una
alternativa computacionalmente más sencilla es denominada ltrado (en inglés,
ltering ) que mantiene la diferencia |T 0 ||T | y selecciona los términos que reciben
el más alto puntaje de acuerdo a una función que mide la importancia del término
para la tarea de CT. Diferentes funciones pueden ser utilizadas para calcular la
medida en que inuye un término en dicha tarea, como por ejemplo, Frecuencia de
documento [126], Ganancia de información [105], Punto de transición [12, 5], Factor
de asociación [36], Información mutua [28, 64] y la función χ2 [16, 37, 103], entre
otras.
Extracción de términos : en este enfoque los términos del conjunto T 0 no son del
mismo tipo que los términos del conjunto T , sino que son obtenidos como una combinación o transformación de los términos de T , buscando maximizar la efectividad.
La idea de utilizar términos articiales (en lugar de los originales) es que debido
3 Los
datos de entrada de un clasicador y de un sistema de selección son denominados de esta forma
indistintamente, que representan una palabra o frase.
Capítulo 3. Indexación y categorización de textos
32
al problema de ambigüedad los términos original pueden no ser los más adecuados
para la representación de los documentos. Estos métodos resuelven el problema en
dos pasos, primero extraen los nuevos términos desde los viejos utilizando algún
método de extracción y luego aplican un método que convierta la representación
original a la nueva representación con los términos elaborados. En CT se han realizado distintos experimentos con este enfoque, destacándose los de Agrupamiento
[66, 7] e Indexación semántica latente [26, 122].
3.4.
Semántica en la categorización de textos
La unidad de indexación elegida para la representación de los documentos es crítica
en las diferentes aplicaciones vinculadas al PLN. En la CT es importante debido a
la relevancia de los términos al momento de clasicar un documento perteneciendo
a una categoría. Como fue referenciado en la sección 3.1, los términos deben ser
conables desde el punto de vista sintáctico y semántico, ya que deben capturar
lo máximo posible el signicado de los textos, y deben permitir un aprendizaje
eciente y efectivo. En muchos casos incluso, y principalmente en comunicaciones
usando lenguaje informal o coloquial (slang language ) se puede requerir de complejos sistemas de normalización que obtengan un conjunto aceptable de términos
normalizados para su uso en aplicaciones de PLN.
La ambigüedad propia del lenguaje natural diculta la tarea de indexar las palabras
y representa una de las limitaciones de la CT. Al igual que para otras aplicaciones
del PLN, para la CT la tarea intermedia de determinar el signicado correcto de los
términos es esencial para operar ecientemente.
La ambigüedad del lenguaje suele ser clasicada en tres tipos diferentes [120]:
ˆ Ambigüedad léxica: una misma palabra puede pertenecer a diferentes categorías gramaticales. Por ejemplo, la palabra para puede ser: preposición o
forma del verbo parar.
ˆ Ambigüedad sintáctica o estructural: se produce cuando debido a la forma
en que se asocian las palabras, podemos interpretar una oración de distintas
formas. En algunos casos, esta forma de ambigüedad es casi imposible de solucionar. Por ejemplo, Juan vio a su hermana con unos prismáticos (¾Juan usó
Semántica en la categorización de textos
33
los prismáticos para ver a su hermana o Juan vio que su hermana tenía unos
prismáticos?)
ˆ Ambigüedad semántica o conceptual: basada en el signicado de las palabras se pueden mencionar los fenómenos de polisemia y sinonimia.
1. Ambigüedad por polisemia : una misma palabra puede tener distintos signicados dependiendo del contexto en el que está inserta. Por ejemplo, la
palabra vela en la oración La vela da suciente luz se reere al cilindro
de cera que sirve para alumbrar, mientras que en la frase La vela mayor
del barco se ve a lo lejos hace referencia a la lona que recibe viento para
impulsar un barco.
2. Ambigüedad por sinonimia : diferentes palabras pueden tener el mismo signicado. Por ejemplo, las palabras can y perro reeren al mismo concepto,
en este caso, mamífero cánido.
Con el n de solucionar los inconvenientes que surgen de la ambigüedad, a partir
de la representación de los términos se han planteado alternativas que incluyen
frases de palabras obtenidas por análisis estadístico o lingüístico [16, 66], patrones
de extracción de información [91] y conjuntos de sinónimos o synsets de WordNet
[40, 104, 45]. Esta última opción representa uno de los ejes principales del presente
trabajo y se explica en detalle en la sección 4.1.
Capítulo 3. Indexación y categorización de textos
34
Capítulo 4
Resolución de la ambigüedad
semántica
Más vale una palabra con sentido que un centenar sin sentido...
Autor anónimo.
Toda aplicación de PLN tiene por objetivo fundamental la comprensión del lenguaje
natural. Una de las propiedades intrínsecas del lenguaje humano es contar con elementos ambiguos que inuye negativamente en el rendimiento de diversas tareas de
PLN. Con la incorporación de información semántica en el indexado de documentos
se han obtenido benecios importantes frente al problema planteado.
En la primera sección de este capítulo se introduce una variante al modelo tradicional de representación de los documentos que permite subsanar el problema de la
ambigüedad semántica. A partir de los recursos utilizados por las diferentes técnicas
de desambiguación se presentan, en la segunda sección, clasicaciones de las mismas
de acuerdo a características particulares. Finalmente, se presenta una de las bases
de datos más importante en el área de desambiguación, la ontología WordNet, que
es usada ampliamente en este trabajo.
4.1. Indexación conceptual
La incorporación de información semántica en la representación de los documentos
supone agregar o sustituir una palabra con el concepto que mejor la represente.
Capítulo 4. Resolución de la ambigüedad semántica
36
Por ejemplo, si se tiene un documento con la palabra vacuna y otro con la palabra
porcina, un concepto más general podría ser agregado como el término carne.
La determinación de dicho concepto (o signicado) que corresponde a los distintos
términos no es una tarea directa debido a los eventuales problemas de ambigüedad
que puedan surgir y que fueron descriptos en la sección 3.4.
La tarea de desambiguación del sentido de las palabras (WSD las siglas en inglés para Word Sense Disambiguation) se puede denir como el proceso de asociar
una palabra en un texto o discurso a la denición (o concepto) más apropiada con
respecto a otros signicados potencialmente atribuibles a esa palabra. WSD es considerado una tarea intermedia o complementaria necesaria para obtener un buen
rendimiento en las aplicaciones vinculadas al PLN.
Si se toma como base la representación estándar de los textos por vectores de términos, el uso de información semántica planteará distintas alternativas respecto a
cómo esta información puede ser incorporada. Una propuesta fue introducida en
[45, 112] en la cual se plantea enriquecer los vectores de términos con conceptos
a partir de una ontología genérica (una combinación de diccionario y tesauro). En
dichos trabajos los resultados obtenidos a partir de esta variante logran una mejora
en el rendimiento y efectividad de las tareas de PLN.
La idea básica de la indexación conceptual es encontrar un signicado o sentido
que haga referencia a cada palabra en un documento, para luego usarlos en reemplazo
de los términos (o en concatenación con ellos) en la representación de los documentos
con el VSM. Usar un concepto como espacio de indexación en lugar de los términos
combina dos benecios: a) los términos se desambiguarían totalmente favoreciendo
la medida de precisión, y b) los términos equivalentes podrían ser identicados,
permitiendo una posible mejora en la cobertura. En [40, 45] el uso de este tipo de
vectores mostró mejoras importantes en tareas de PLN y de RI.
4.2.
Estrategias de desambiguación
Desde los primeros sistemas de WSD hasta la actualidad han surgido nuevas propuestas y distintos enfoques para resolver el problema de ambigüedad descripto en la
sección 3.4. Consistente con la cantidad de nuevos métodos propuestos han surgido
también una variedad de formas de clasicar dichos métodos.
Estrategias de desambiguación
37
Una manera general y simple de clasicar los distintos métodos utilizados para WSD
es diferenciando al grupo de las estrategias que necesitan corpus de entrenamiento
etiquetados semánticamente, denominado el grupo de los sistemas supervisados
de aquellos que no necesitan esa anotación para poder funcionar correctamente, los
sistemas no supervisados.
Otra forma de clasicar los sistemas de WSD es basándose en la principal fuente
de conocimiento utilizada para establecer los diferentes sentidos. En primer lugar,
tenemos los métodos que utilizan diccionarios, tesauros y bases de conocimiento léxicas, sin utilizar ningún corpus, métodos denominados Basados en diccionario o
Basados en conocimiento. Las principales técnicas en este contexto utilizan restricciones de selección, el solapamiento de textos y medidas de similitud semántica.
En el capítulo 5, se estudian en mayor detalle estos métodos, incluyendo una descripción de los algoritmos utilizados en este trabajo. Por otra parte, tenemos aquellos
métodos que evitan casi completamente la información externa y trabajan directamente con corpus sin etiquetar, son los denominados métodos No supervisados
basados en corpus. Estos métodos tienen la ventaja de evitar el inconveniente que
se produce cuando se requiere anotación manual para adquirir nuevo conocimiento
[14, 88]. En [102] se han obtenido resultados alentadores, reuniendo palabras similares en clusters (agrupamientos) y clasicando nuevas ocurrencias de las mismas.
Los sistemas Supervisados y Semi-supervisados, utilizan corpus etiquetados
semánticamente como entrenamiento [77]. A pesar de que son los métodos que han
reportado los mejores resultados en gran cantidad de problemas, en muchos casos
no son factibles de ser aplicados debido a que generalmente no se cuenta con un
corpus etiquetado previamente.
Finalmente, los Métodos híbridos utilizan en el proceso de desambiguación tanto
fuentes de conocimiento externas como corpus anotados o no anotados. Por ejemplo,
en [69] se implementa un método que combina la utilización de diccionarios con
corpus no anotados y en [74, 24, 23] se publican también otros métodos destacables
de este tipo. Existen otros métodos que utilizan la combinación de tesauros y corpus
no anotados, como es el caso del método ideado en [128]. Por último se encuentran
los métodos que combinan diferentes fuentes léxicas estructuradas con corpus como
en los trabajos propuestos en [67, 1, 90, 114].
Capítulo 4. Resolución de la ambigüedad semántica
38
En la Tabla 4.1 se muestra un resumen de las distintas aproximaciones a WSD
planteadas anteriormente con un detalle de los procedimientos involucrados.
Métodos
Procedimiento
X Comparación de las deniciones de los
diccionarios con el contexto (método de Lesk).
Basados en conocimiento
X Selección del sentido más similar al contexto,
utilizando medidas de similitud semántica.
X Un sentido por discurso y otras heurísticas
X Métodos no supervisados que clasican palabras
o contextos en diferentes clusters, obteniendo
Basados en corpus no supervisados
los diferentes sentidos.
X Utilización de corpus paralelos para
inferir sentidos entre diferentes idiomas.
X Aprendizaje automático supervisado, utilizando
Basados en corpus supervisados
corpus de entrenamiento etiquetados
manualmente.
X Métodos de bootstrapping (semi-supervisados).
X Utilización de técnicas de clustering no
supervisadas combinadas con métodos
basados en conocimiento.
Métodos híbridos
X Utilización de métodos basados en conocimiento
para buscar ejemplos que sirvan de entrenamiento
en métodos supervisados.
X Utilización de corpus paralelos combinados
con métodos basados en conocimiento.
Tabla 4.1: Clasicación de los métodos de WSD
4.3.
WordNet: una base de datos léxica
La indexación conceptual como fue previamente planteada, suele requerir de algún
recurso externo que, en primera instancia, puede ser cualquier base de conocimiento léxica que dena los diferentes sentidos de las palabras y relaciones entre ellas
(conocida como ontología). La ontología más utilizada es WordNet, una base de
datos léxica para el idioma inglés que se originó como un diccionario electrónico
siguiendo principios psicolingüísticos [75, 34]. Fue desarrollada por el Laboratorio
de Ciencias Cognitivas de la Universidad de Princeton que lograron combinar los
WordNet: una base de datos léxica
39
elementos de un diccionario (deniciones y algunos ejemplos) y los de un tesauro
(sinónimos) convirtiendo a WordNet en un recurso muy útil para PLN en lo que
respecta a WSD.
WordNet se organiza en conjuntos de sinónimos o synsets que representan las
unidades básicas de información y organización. Cada uno de éstos es codicado
como un número único de ocho dígitos que dene un único concepto (oset ). De
esta manera, distintos sentidos de las palabras pertenecen a diferentes synsets. Entre
los synsets existen conexiones que expresan relaciones semánticas, conceptuales o
léxicas. El resultado de este conjunto de conexiones es una extensa red que proporciona un gran número de interrelaciones entre palabras convirtiendo a WordNet en
una red semántica u ontología, más que en el simple diccionario electrónico planteado inicialmente.
WordNet contiene tanto palabras compuestas, frases verbales y colocaciones1 como
frases idiomáticas. Según las diferentes reglas gramaticales, sustantivo (noun ), verbo
(verb ), adjetivo (adj ) y adverbio (adv ) se establecen cuatro categorías gramaticales para los términos o palabras en un documento. De esta forma, como se dene
a continuación las relaciones presentes en WordNet pueden variar dependiendo la
categoría gramatical.
1. Para todas las categorías
ˆ sinonimia: es una relación entre palabras las cuáles pueden sustituirse
unas por otras dentro de un contexto determinado sin modicar su signicado siempre teniendo en cuenta que pertenezcan a la misma categoría.
Por ejemplo, en la frase Si buscas un resultado distinto no hagas siempre
lo mismo puede ser cambiada por Si buscas una solución distinta no hagas siempre lo mismo, donde resultado y solución son sinónimos ya que
al reemplazar una por la otra no cambia el sentido de la oración.
ˆ antonimia: dene a la relación entre palabras que tienen signicados
opuestos. Por ejemplo, arriba es el antónimo de abajo, frío representa el
antónimo de calor.
2. Para sustantivos
1 Es
una secuencia de palabras que juntas tienen un signicado concreto, por ejemplo en inglés dining
car referencia al vagón comedor de un tren.
Capítulo 4. Resolución de la ambigüedad semántica
40
ˆ hiponimia: es una relación que sucede sólo para el caso de los sustantivos
y está denida como ES-UN. Por ejemplo, periódico es un medio de comu-
nicación. Por lo tanto, periódico es hipónimo de medios de comunicación.
ˆ meronimia: esta relación suele estar denida como TIENE-UN, que representa que algún concepto es una parte de otro. Por ejemplo, un neumáti-
co es un merónimo de un auto y un dedo de la mano.
ˆ hiperonimia: dene la relación inversa de la hiponimia. Según el ejemplo
anterior, medios de comunicación es hiperónimo de periódico y vehículo es
hiperónimo de tren.
ˆ holonimia: esta relación se dene como la inversa de la meronimia, determina la relación entre un término denotando un todo y un término
denotando una parte del todo. Por ejemplo, casa es holónimo de dormito-
rio.
3. Para verbos
ˆ troponimia: es la relación semántica de hacer algo en la forma de otra
cosa. Por ejemplo, caminar es tropónimo de mover (caminar es una forma
de moverse) y renguear es un tropónimo de caminar.
ˆ hiperonimia: es la relación inversa a la troponimia y análoga a la relación
de hiperonimia de los sustantivos. Por ejemplo, mover es hiperónimo de
correr, caminar, trotar y saltar.
ˆ implicación lógica: se reere a la relación entre los verbos en la cual hacer
algo requiere hacer otra cosa también, es decir un término implica al otro.
Por ejemplo, comer implica masticar y roncar implica estar durmiendo.
ˆ causalidad: se reere a la relación de los verbos que una acción produce
o acciona para que se ejecute otra. Por ejemplo, insultar causa la acción
de ofenderse, debido a que si se insulta a alguien seguramente la causa
inmediata es que la persona se ofenda.
4. Para adjetivos y adverbios
ˆ similaridad: dene la relación de dos adjetivos con signicados similares
pero no lo sucientemente iguales como para estar en el mismo synset.
Por ejemplo, claro como un color muy cercano al blanco y el propio color
blanco que es el más claro que existe.
WordNet: una base de datos léxica
41
En la Tabla 4.2 se muestra un resumen de las diferentes relaciones para las distintas
categorías.
Sustantivos
Verbos
Adjetivos
hiperonimia
troponimia
sinonimia
hiponimia
entailment
antonimia
melonimia
cause
similaridad
holonimia
hiperonimia
sinonimia
sinonimia
antonimia
antonimia
Tabla 4.2: Relaciones en WordNet según las categorías gramaticales
En la Figura 4.1 se muestra un ejemplo del synset pine, pine tree, true pine en
WordNet conectado a través de las relaciones de hiponimia, hiperonimia, meronimia
y holonimia, donde los synset son representados por óvalos conteniendo los miembros
del synset y la glosa para dicho synset.
Figura 4.1: Relaciones para el synset pine, pine true, pine cone (adaptada de [76])
La estructura jerárquica de WordNet contiene un conjunto de conceptos esenciales
de los que derivan el resto de los synsets. Los mismos son mostrados en la Tabla 4.3.
Además de distinguir mediante synsets los signicados de cada término, WordNet
establece una relación de orden entre los diferentes sentidos de las palabras, de
acuerdo a su frecuencia de aparición. De esta forma, para plane en la versión de
WordNet online 3.0 existen cuatro signicados diferentes:
Capítulo 4. Resolución de la ambigüedad semántica
42
1. {02691156} airplane#1, aeroplane#1, plane#1 (an aircraft that has a xed
wing and is powered by propellers or jets) the ight was delayed due to trouble
with the airplane
2. {13861050} plane#2, sheet#4 ((mathematics) an unbounded two-dimensional
shape) any line joining two points on a plane lies wholly on that plane
3. {13941806} plane#3 (a level of existence or development) he lived on a worldly
plane
4. {03955296} plane#4, planer#1, planing machine#1 (a power tool for smoothing or shaping wood)
Cada concepto asociado al término plane además de tener asociado su synset, también tiene asociado un número de sentido: plane#1, plane#2, plane#3 y plane#4,
estos sentidos indican la frecuencia de aparición de cada concepto, siendo plane#1
el más frecuente usado en el idioma inglés según WN. A cada synset le corresponde
una denición o glosa que dene el concepto representado por el sentido especíco
de cada término. Así, para plane#1 su glosa asociada es an aircraft that has a xed
wing and is powered by propellers or jets.
La amplia cobertura de WordNet y su libre disponibilidad (a través de la Universidad
de Princeton [76]) ha promovido su utilización para una gran variedad de tareas de
PLN. El uso de WN para CT no ha demostrado ampliamente su efectividad en [104,
117] pero, en diversos trabajos que usan synsets de WordNet para la indexación, los
resultados fueron alentadores [40, 123, 79, 54].
Las cuatro categorías gramaticales y las relaciones léxicas existentes entre ellas determinan la estructura de la base de datos WordNet. El formato y organización de
los archivos en WN han sido desarrollados de manera tal que faciliten el acceso de
las aplicaciones que lo utilizan como recurso externo (se darán más detalles en el
capítulo 6).
En la Tabla 4.4 aparece el conjunto de archivos que constituyen la base de datos para
la versión 2.1 de WordNet. Los archivos data.* e index.* son los más importantes.
Las cuatro categorías sintácticas (noun, verb, adj y adv ) se utilizan para almacenar
la información correspondiente en diferentes archivos.
En la Figura 4.2 se muestra un fragmento del archivo index.noun. En todo archivo
de índices (index.*) se almacena la información relativa a cada término (éstos se
WordNet: una base de datos léxica
Concepto
entity
43
Denición
todo aquello que se percibe, se sabe o se inere como de existencia
propia (vivo o no vivo)
psychological
rasgo o característica mental de un organismo viviente
feature
abstraction
un concepto general formado por la extracción de rasgos comunes desde
ejemplos especícos
la forma en que algo se muestra con respecto a sus principales atributos;
state
en inglés, sería por ejemplo: the current state of knowledge,
his state of health o in a weak nancial state
event
algo que pasa en un lugar y tiempo determinado
act,
human action,
algo que la gente hace o hará que suceda
human activity
group, grouping
possession
phenomenon
conjunto de entidades (miembros) que se consideran como una unidad
todo lo que pueda ser apropiado o poseído
cualquier estado o proceso conocido a través de los sentidos en lugar de
por intuición o razonamiento
Tabla 4.3: Conceptos en la cima de la jerarquía de WordNet
Figura 4.2: Fragmento del archivo index.noun
encuentran ordenados alfabéticamente para facilitar la búsqueda) y los synsets a
los que se encuentra asociado cada uno de ellos. En el ejemplo, el término car
se encuentra asociado con los synsets a través de los osets [02929975 02931574
02906118 02932115 02931966] correspondientes a cada uno de sus cinco posibles
signicados. En cada línea se incluyen, básicamente, el término y los identicadores
de los synsets correspondientes.
En el caso de los archivos data.* para cada oset se almacenan todos los identicadores de los synset a los que se encuentra asociado por las diferentes relaciones
Capítulo 4. Resolución de la ambigüedad semántica
Archivo
Tamaño (KBytes)
data.noun
14643
data.verb
2673
data.adj
3154
data.adv
507
index.noun
4639
index.verb
507
index.adj
830
index.adv
162
index.sense
7127
noun.exc
27
verb.exc
30
adj.exc
19
adv.exc
1
sentidx.vrb
sents.vrb
cntlist
72
5
857
Tabla 4.4: Archivos de la base de datos WordNet (versión 2.1)
Figura 4.3: Fragmento del archivo data.noun
44
WordNet: una base de datos léxica
45
léxicas. Por ejemplo, en la Figura 4.3 se puede encontrar información correspondiente al archivo data.noun, el oset 02929975 corresponde a uno de los cinco
signicados del término car de la Figura 4.2.
Capítulo 4. Resolución de la ambigüedad semántica
46
Capítulo 5
WSD basado en conocimiento
Uno no es lo que es por lo que escribe, sino por lo que ha leído...
Jorge Luis Borges. Escritor argentino.
De las estrategias de WSD planteadas en la sección 4.2 el enfoque supervisado basa-
do en corpus (también conocido como supervisado) ha mostrado uno de los mejores
comportamientos con respecto a los resultados observados [120]. No obstante, debido a la necesidad de contar con un corpus etiquetado previamente, este enfoque no
siempre es viable de ser aplicado. Una alternativa para abordar el problema anterior
es el uso de métodos basados en conocimiento que obtienen información desde recursos léxicos externos. Si bien este tipo de métodos suele mostrar resultados de menor
calidad que los obtenidos con métodos basados en corpus, constituyen en muchos
casos la única alternativa realista si se desea hacer uso de información semántica en
la representación de documentos [120].
En este capítulo se analizarán 3 líneas generales en los que se fundamentan los
métodos basados en conocimiento:
1. Los métodos heurísticos, analizados en la sección 5.1, que consisten en reglas
que asignan un sentido a ciertas categorías de palabras en base a un criterio
particular. Por ejemplo, el sentido más frecuente, un sentido por colocación o
un sentido por discurso.
2. Los métodos cuyo único recurso externo requerido es un conjunto de entradas en
un diccionario (una por cada posible sentido) y el contexto inmediato donde se
Capítulo 5. WSD basado en conocimiento
48
desarrolla la desambiguación. En esta línea se incluye al algoritmo de Lesk con
sus variantes, analizados en la sección 5.2, donde los sentidos de las palabras de
un contexto se identican basándose en una medida de solapamiento contextual
a partir de las deniciones de una base de conocimiento externa.
3. Medidas de similitud extraídas a través de redes semánticas. Esta categoría
incluye métodos que tratan de encontrar la distancia semántica existente entre
diferentes conceptos. Dependiendo del tamaño del contexto, estas medidas se
dividen en dos grandes categorías: aplicables a un contexto local, donde las medidas de similitud semántica se utilizan para desambiguar palabras conectadas
por relaciones sintácticas o por su localización y aplicables a contextos globales,
donde las cadenas léxicas son derivadas basándose en medidas de similitud
semántica. Un ejemplo de este enfoque es el sistema CIAOSENSO introducido
en [96].
5.1.
Método heurístico del sentido más frecuente
Una forma sencilla para intentar establecer el sentido correcto de las palabras en un
texto es utilizar heurísticas basadas en propiedades lingüísticas aprendidas a través
de textos. Una de las heurísticas más utilizadas es la denominada del sentido más
frecuente. Entre todos los posibles sentidos que puede tener una palabra, generalmente existe uno que ocurre más a menudo que los otros sentidos. Por lo tanto,
un sistema muy simple de desambiguación sería aquel que asigne a cada palabra su
sentido más frecuente. El método de desambiguación que se basa en esta frecuencia
es referenciado en este trabajo como Método del sentido más frecuente (MFS, de sus
siglas en inglés para Most Frequent Sense). Este método se utiliza a menudo como
baseline para evaluar el rendimiento de un método WSD de acuerdo a lo expuesto
en [38].
Aunque conceptualmente es muy sencillo, y casi trivial de implementar, hay un
inconveniente asociado a este método: no siempre disponemos de la distribución de
las ocurrencias de los sentidos en todos los lenguajes, ya que, no existen sucientes
textos disponibles para extraer esa distribución. Además, un cambio en el dominio
por lo general altera la distribución de los sentidos, disminuyendo así la calidad de
los resultados obtenidos por esta heurística [1]. En este sentido, WordNet provee una
Algoritmo de Lesk
49
frecuencia para cada synset, de acuerdo a su frecuencia de uso en el idioma inglés1 .
El orden muestra la utilización de este concepto y, de este modo, los conceptos
ubicados al principio de la lista son los más comúnmente empleados. En la sección
4.3 se mostró un ejemplo en WordNet para el synset plane que ejemplica lo
anteriormente expresado.
Además de esta heurística, existen otras dos comúnmente utilizadas que no son
analizadas en este trabajo pero es conveniente mencionar. Las dos alternativas se
basan en la suposición de que una palabra siempre tiene el mismo sentido en todas
sus ocurrencias en un mismo discurso (un sentido por discurso) o en la misma
colocación (un sentido por colocación) [120].
5.2. Algoritmo de Lesk
El algoritmo de Lesk [62] es uno de los primeros algoritmos desarrollados para la
desambiguación semántica de palabras. El único recurso externo requerido por el
algoritmo es un conjunto de entradas de un diccionario tradicional, una por cada
sentido posible de la palabra a desambiguar.
Dada una palabra ambigua, la denición de cada uno de sus sentidos en el diccionario
(o glosa) es comparada a la de cada otra palabra en la frase o contexto inmediato.
A una palabra se le asigna aquel sentido cuya glosa comparte el número mayor
de palabras en común con las glosas de las otras palabras. El algoritmo comienza
nuevamente para cada palabra y no utiliza el signicado previamente asignado.
Básicamente, dadas dos palabras W1 y W2 , cada una con sus respectivos sentidos
NW1 y NW2 denidos en un diccionario, para cada par de posibles sentidos W1i
y W2j , i = 1 . . . NW1 , j = 1 . . . NW2 , primero se determina el solapamiento con las
correspondientes deniciones contando el número de palabras que tienen en común.
A continuación, el par de sentidos con el mayor solapamiento es seleccionado y
entonces se le asigna un sentido a cada palabra del par inicial. Las tareas simples
que involucran el algoritmo se muestran en la Tabla 5.1.
En [62] se muestra el funcionamiento de este algoritmo para el ejemplo pine cone ,
valiéndose de deniciones encontradas en diccionarios tradicionales tales como Ox1 Esta
frecuencia corresponde, en realidad, a la determinada por la cantidad de ocurrencias de las
palabras en el corpus Brown [76].
Capítulo 5. WSD basado en conocimiento
50
(1) Se determinan los sentidos de cada palabra W1 y W2 .
(2) Para cada sentido i de W1 y cada sentido j de W2 .
(3) Determinar el solapamiento (i, j), calculando la cantidad de palabras que tiene en común
las deniciones de los dos sentidos analizados.
(4) Se seleccionan los sentidos i y j tales que el solapamiento (i, j) sea el máximo
Tabla 5.1: Algoritmo de Lesk (adaptado desde [9])
ford, Webster y Collins entre otros. De este modo, se determina que la palabra
pine tiene dos sentidos o signicados:
1. kind of evergreen tree with needle-shaped leaves.
2. waste away through sorrow or illness.
La palabra cone tiene tres sentidos:
1. solid body which narrows to a point.
2. something of this shape whether solid or hollow.
3. fruit of certain evergreen tree.
Cada uno de los dos signicados de la palabra pine es comparado con cada uno de
los tres sentidos de la palabra cone y de esta forma se encuentra que las palabras
evergreen tree ocurren en un sentido para cada una de las dos palabras (el sentido
1 para pine y el sentido 3 para cone ). Estos dos sentidos se consideran los más
apropiados cuando se utiliza en conjunto las palabras pine cone teniendo en cuenta
el algoritmo Lesk original.
Al introducir variantes en el algoritmo original surgen nuevas versiones, como por
ejemplo:
ˆ Métodos que tratan de resolver el problema de la explosión combinatoria cuando se consideran más de dos palabras [115].
ˆ Métodos donde se considera en forma aislada a cada palabra, esto es, cada
término es desambiguado individualmente midiendo el solapamiento entre cada
denición del diccionario y el contexto en el cual aparece [119].
Algoritmo de Lesk
51
ˆ Métodos que utilizan las relaciones semánticas de las palabras y sus correspondientes deniciones para ampliar el contexto [9]. En la siguiente subsección
se detalla una variante mejorada del algoritmo de Lesk que se basa en esta
modicación.
5.2.1. Algoritmo de Lesk Mejorado
Basado en el algoritmo original de Lesk, Banerjee y Pedersen en [9] presentan una
variante denominada Algoritmo de Lesk Mejorado o Algoritmo de Lesk Adaptado (en inglés Enhanced Lesk Algorithm o Adapted Lesk Algorithm ) que introduce
nuevos cambios con respecto a:
ˆ Tamaño de la ventana de contexto : en [18] se plantea que el ser humano determina el signicado de una palabra a través del contexto inmediato de dicha
palabra, lo que motiva a reducir a sólo tres palabras la ventana de contexto. Por
otro lado, las limitaciones en los recursos computacionales también inuyen en
el hecho de elegir un tamaño de ventana acotado.
ˆ Recurso externo utilizado : el diccionario tradicional utilizado por el algoritmo
original es reemplazado por la ontología WordNet con el n de usar las relaciones jerárquicas (tales como hiperonimia, hiponimia, holonimia, meronimia
y troponimia). Esta interconexión entre diferentes conceptos permite construir
un contexto más amplio a partir de las deniciones semánticas.
ˆ Esquema para elegir las glosas a comparar : para comprender el cambio implementado es importante, en primer lugar, presentar algunas notaciones de WordNet. De esta manera, si se representa con word#pos#sense
a un único synset, con gloss(word#pos#sense)
a la glosa de un
synset y con hype(word#pos#sense) a todos los hiperónimos del synset
word#pos#sense, entonces la notación gloss(hype(word#pos#sense)) denota la glosa de los hiperónimos del synset identicado por word#pos#sense.
Si existen múltiples hiperónimos para el synset word#pos#sense, entonces gloss(hype(word#pos#sense)) se usa para denotar la concatenación
de las glosas de todos los hiperónimos. Si no existen hiperónimos para
word#pos#sense entonces hype(word#pos#sense) corresponde a la cadena
Capítulo 5. WSD basado en conocimiento
52
vacía. Finalmente, se pueden aplicar dos esquemas para analizar la superposición de las glosas obtenidas. El esquema homogéneo compara dos sentidos de
dos palabras, analizando la superposición entre sus glosas y entre las glosas de
synsets que estén relacionados a este synset a través de la misma relación (esto
es, las glosas de hiperónimos entre sí, las glosas de hipónimos entre sí, pero
no superponiendo glosas de diferentes relaciones en la comparación). Por otra
parte, en el modo heterogéneo las glosas relacionadas a una palabra simple
en la ventana de contexto es comparada a las deniciones de otra palabra en
la misma ventana, observando todas los posibles superposiciones y relaciones
entre dos palabras.
ˆ Detección de superposición entre glosas : un nuevo modelo para detectar el solapamiento entre glosas y su posterior mecanismo de cálculo fueron introducidos
en [9]. Éste se basa en encontrar la secuencia más larga de palabras que sean
iguales, y darles un peso mayor comparado con las que se igualan en menor
cantidad de palabras.
ˆ Medida de puntuación : luego de encontrar una o más coincidencias entre dos
glosas, es necesario asignar una puntuación a la información que provee acerca
de la relación de los dos synsets que se comparan. El algoritmo de Lesk original
realiza un conteo del número de palabras que se superponen y otorga este valor
como puntuación entre las dos glosas que se comparan. La nueva alternativa da
un valor mayor a solapamientos multipalabras, de este modo un par de glosas
donde coinciden n palabras en forma consecutiva obtienen una puntuación
más alta que si la superposición de las n palabras hubiera ocurrido en dos
o más solapamientos diferentes. Para cumplir el objetivo propuesto se eleva
al cuadrado la cantidad de palabras que coincidan en cada solapamiento (es
decir, n2 ) y luego se suman todos las superposiciones distintas encontradas. Por
ejemplo, si hay un solapamiento de 4 palabras consecutivas su puntaje será de
42 = 16, pero si el solapamiento de las 4 palabras hubiera ocurrido en dos
superposiciones diferente una de 1 y la otra de 3 palabras el resultado asignado
sería 12 + 32 = 10, dando una puntuación más alta a una única secuencia larga
de palabras superpuestas que al combinarse los resultados de secuencias más
cortas.
Algoritmo de Lesk
53
En base a lo anterior y a modo de síntesis, el algoritmo de Lesk original desambigua cada palabra por separado, por lo tanto el sentido que se le asigna a una
palabra elegida para ser desambiguada no se determina por los sentidos que tienen
las palabras de su ventana de contexto. La nueva propuesta sugiere que todas las
palabras en la ventana de contexto sean desambiguadas simultáneamente en un solo
paso para obtener la mejor combinación entre todas las palabras y no sólo para
la palabra elegida, dando un puntaje mayor al solapamiento de glosas con mayor
cantidad superpuestas de palabras. Este enfoque se referencia como global para
diferenciarlo del local que denota al algoritmo original. El algoritmo completo está
descripto en [8].
Por ejemplo, si se tienen tres palabras en la ventana de contexto: sentence, bench y
oender con las siguientes glosas para los diferentes signicados de cada palabra:
gloss(sentence#n#1) = a string of words satisfying the grammatical rules of a language
gloss(sentence#n#2) = the nal judgment of guilty in criminal cases and the punishment
that is imposed
gloss(bench#n#1) = a long seat for more than one person
gloss(bench#n#2) = persons who hear cases in a court of law
gloss(oender#n#1) = a person who transgresses law
Surgen de esta forma las siguientes combinaciones:
Combination
Combination
Combination
Combination
1: sentence#n#1 y bench#n#1 y oender#n#1
2: sentence#n#1 y bench#n#2 y oender#n#1
3: sentence#n#2 y bench#n#1 y oender#n#1
4: sentence#n#2 y bench#n#2 y oender#n#1
Para cada combinación se pueden formar 3 pares de signicados a comparar. En
las Figuras 5.1, 5.2 y 5.3 se muestran los pares formados por la combinación
número 4. En todas las guras se usa la siguiente notación: un óvalo para representar cada synset conteniendo en su interior los miembros del synset y la glosa
que está delimitada con comillas doble, teniendo en cuenta que cuando existen
dos o más relaciones de hiperonimia o hiponimia los miembros del synset son
concatenados por un punto y coma y las glosas unidas por un punto, las echas
punteadas representan cada comparación entre glosas y las palabras resaltadas
Capítulo 5. WSD basado en conocimiento
54
en negrita son las que forman parte de la superposición. Mientras que para las
palabras sentence y oender se tienen hiperónimos e hipónimos, para bench sólo se obtuvieron hiperónimos. En estas guras se aplica un esquema heterogéneo
de la selección de glosas donde cada comparación es representada con un echa
punteada. Por lo tanto, las tres glosas para sentence#n#2 (gloss(sentence#n#2),
gloss(hype(sentence#n#2)) y gloss(hypo(sentence#n#2)) ) son comparadas con las
dos glosas asociadas a bench#n#2 (notar que son sólo dos glosas porque no tiene
hipónimos). De la misma manera, las glosas asociadas con oender#n#1 son comparadas a la vinculadas con sentence#n#2 y con las de bench#n#2.
Figura 5.1: Comparación del primer par (adaptado de [8])
Figura 5.2: Comparación del segundo par (adaptado de [8])
Sistema CIAOSENSO
55
Figura 5.3: Comparación del tercer par (adaptado de [8])
En base a la medida de puntuación asignada por el algoritmo de Lesk Mejorado y
teniendo en cuenta la Figura 5.1 se puede observar una superposición de tres palabras
( court of law ) y una de una palabra ( case ) que produce un puntaje de 32 +12 = 10
para el par de glosas gloss(hype(sentence#n#2)) y gloss(bench#n#2 ). Los valores
para los pares restantes son mostrados en la Tabla 5.2 y luego sumados entre sí
de acuerdo a cada combinación para calcular el puntaje total. La combinación de
synsets con la calicación más alta se selecciona como la más apropiada para las
palabras en la ventana de contexto. En este ejemplo, a partir del valor total en la
Tabla 5.2 y los datos calculados en [9] para las otras tres combinaciones posibles,
se determina a sentence#n#2, bench#n#2 y oender#n#1 como la combinación
más conveniente teniendo como ventana de contexto las palabras sentence, bench y
oender.
5.3. Sistema CIAOSENSO
Un nuevo modelo de WSD basado en el concepto de densidad conceptual fue introducido por Rosso, Masulli y Buscaldi en [96]. En este caso, la Densidad Conceptual
(DC ) se determina como la medida de correlación entre el sentido de una palabra
y su contexto, está basada en la distancia conceptual que constituye la longitud de
camino más corto que conecta dos synsets en la taxonomía que utiliza WordNet.
Capítulo 5. WSD basado en conocimiento
56
Primera glosa
Segunda Glosa
Superposición
Puntaje
hype(sentence#n#2)
bench#n#2
court of law, case
10
sentence#n#2
bench#n#2
cases
1
hype(sentence#n#2)
oender#n#1
law
1
sentence#n#2
hypo(oender#n#1)
criminal
1
hype(bench#n#2)
hype(oender#n#1)
person
1
hype(bench#n#2)
oender#n#1
person
1
hype(bench#n#2)
hypo(oender#n#1)
person
1
bench#n#2
hype(oender#n#1)
person
1
bench#n#2
oender#n#1
person, law
2
bench#n#2
hypo(oender#n#1)
person
1
Puntaje para la combinación 4
20
Tabla 5.2: Puntajes para los pares en la guras 5.1, 5.1 y 5.3
El método utiliza las relaciones jerárquicas de hiperonimia e hiponimia presentes
en WordNet, es automático y no necesita proceso de entrenamiento. Cada jerarquía
conceptual en WordNet puede verse como un árbol donde cada nodo es un synset
diferente. Para una palabra que tiene varios sentidos (o signicados) cada uno de
estos cae en una diferente subjerarquía (o aglomeración) cada una conteniendo uno
de los sentidos.
En [2] se dene la distancia conceptual con la siguiente fórmula:
Pm−1
DC(c, m) =
Pi=0
h−1
i=0
nhypi
nhypi
(5.1)
donde c es el synset raíz de la subjerarquía, m el número de sentidos de las palabras
a desambiguar, h la altura de la subjerarquía y nhyp el número medio de hipónimos
por cada nodo (synset) de la subjeraquía. La Figura 5.4 representa una aglomeración
destacando las palabras a desambiguar de las palabras del contexto. Los nodos
terminales se correponden a los synsets relevantes y aquellos para los cuales se
debe calcular la densidad. Lo planteado anteriormente se ejemplica con la Figura
5.5.
En [96] se introduce una variante de la ecuación 5.1 que tiene en cuenta especialmente el número de synsets relevantes con respecto a los demás synsets en la
aglomeración. La nueva fórmula 5.2 mide la distancia conceptual entre el número M
de synsets relevantes dividido el número total nh de synsets de la aglomeración. En
Sistema CIAOSENSO
57
Figura 5.4: Subjerarquía y synsets relevantes
el resultado obtenido no se tienen en cuenta los caminos que no conducen a algún
synset relevante.
DC(M, nh) =
M
nh
(5.2)
A pesar de las modicaciones incorporadas a la ecuación 5.2, en ciertos experimentos
analizados en [96] no se determina el sentido correcto de la palabra debido a que el
contexto de la palabra a desambiguar no resulta ser lo bastante signicativo. Por
lo tanto, se introduce un nuevo cambio a la fórmula agregando la variable f (valor
entero) que determina la frecuencia de cada sentido proporcionada por WordNet
(detallado en la sección 5.1).
DC(M, nh, f ) = M α (
M logf
)
nh
(5.3)
A modo de ejemplo, en la Figura 5.5 se muestran las subjerarquías de WordNet en
la desambiguación de brake en la frase: Brakes howled and horn blared furiously,
but the man would have been hit if Phil hadn't called out to him a second before .
Los sustantivos del contexto son horn, man y second que están gracados con línea
punteada. Teniendo en cuenta la ecuación 5.3 los cálculos para cada subjerarquía son
mostrados en la Tabla 5.3, donde se puede observar que el signicado perteneciente
al synset 1 es el más adecuado para brake según el método CIAOSENSO.
Capítulo 5. WSD basado en conocimiento
58
Figura 5.5: Subjerarquías para la desambiguación de brake con CIAOSENSO
Synset (i)
Mi
nhi
Ecuación (5.3)
1
9
21
90,1 * (9/21)log1 = 1.24
2
1
1
1
3
1
1
4
1
5
1
0,1
1
* (1/5)log4 = 0.07
Tabla 5.3: Cálculos para la Figura 5.5
Capítulo 6
Aspectos de Ingeniería de Software
aplicados a PLN
Los diseñadores de autos no reinventan la rueda cada vez que planean un nuevo modelo,
pero los ingenieros de software se encuentran a menudo produciendo repetidamente más
o menos la misma pieza de software en forma ligeramente diferente
Hamish Cunningham. PhD in Computer Science
Distintos trabajos en Ingeniería del Lenguaje, han realizado aportes interesantes al
tratar de solucionar el problema del escaso reuso e integración de componentes que en
general se puede observar en los desarrollos de PLN. Sin embargo, estos trabajos suelen
presentar la falencia de que el costo de entenderlos y usar sus abstracciones es más alto
que el costo estimado por el programador en desarrollarlos nuevamente desde cero. Un
problema adicional e igualmente importante es el hecho de que muchas de las arquitecturas
introducidas se han concentrado en modelos muy generales y poco exibles para ciertos
problemas particulares de PLN. En este contexto, uno de los propósitos de esta tesis es
brindar un prototipo de marco de trabajo para el pre-procesado semántico de textos que
sea lo sucientemente exible para ser usado en experimentos similares a los realizados en
este trabajo, permitiendo además, la selección de diferentes algoritmos de desambiguación
y/o de etiquetado sintáctico.
El capítulo comienza con una descripción general de la IS y la IL, para luego detallar los
diferentes aspectos de la IS que generalmente no son tomados en cuenta por la comunidad
Capítulo 6. Aspectos de Ingeniería de Software aplicados a PLN
60
de investigadores en el área del PLN [61]. Finalmente, se presentan las APIs utilizadas en
esta tesis junto con una descripción detallada de la propuesta implementada.
6.1. Conceptos introductorios
Todo software está compuesto por programas, datos y documentos. El software diseñado y construído por los ingenieros de sistemas, tiene características propias que lo
distingue de los demás productos que el hombre pueda construir, debido a que:
El software se desarrolla, no se fabrica. La contrucción de software de computadora
supone un diseño y enfoque especial que no puede compararse con la elaboración
clásica de cualquier producto físico.
El software no se estropea. El software sufre cambios (mantenimiento) que pueden
producir nuevos defectos que provocan un deterioro del mismo. Cada fallo en el
software indica un error en el diseño o en la traducción de éste a código ejecutable.
El mantenimiento del software es, por lo tanto, bastante complejo.
La mayoría del software se construye a medida. En este sentido, la disciplina del
software está evolucionando al reutilizar o ensamblar componentes, una tarea propia
del proceso ingenieril que debería ser aplicada en este contexto. Dichos componentes
se crean para que el ingeniero pueda concentrarse en cuestiones innovadoras de un
diseño.
El contenido y el determinismo de la información son factores fundamentales para
determinar la naturaleza de una aplicación. El contenido se reere al signicado y a la
forma de la información de entrada y salida. Mientras que el determinismo está relacionado
a la predictibilidad del orden y el tiempo de llegada de los datos utilizados. La construcción
de sistemas de software de forma sistemática y apropiados a cada situación es una tarea
difícil, por lo que el riesgo de fallo en la mayoría de los sistemas suele ser muy alto [87].
Se dene a la ingeniería como un proceso de construcción que debe tener como objetivo
la conformidad del producto resultante a criterios de adecuación bien especicados bajo
restricciones sobre la naturaleza propia del proceso [87]. Tanto el proceso de construcción
como sus salidas deben ser medibles y predecibles. La IS es una disciplina que integra el
Conceptos introductorios
61
proceso, los métodos y las herramientas para el desarrollo de software de computadora de
alta calidad de manera rápida, simple y a bajo costo tratando de mitigar mediante este
enfoque disciplinado el riesgo inherente de los diferentes proyectos de software. Para tal
n, un número de diferentes modelos de proceso para la IS han sido propuestos a lo largo
del tiempo, como por ejemplo, el modelo en cascada y el modelo en espiral. Todos estos
modelos exhiben fortalezas y debilidades, adaptándose a distintos tipos de desarrollos. En
este contexto, todos se componen de una serie de fases genéricas en común:
Fase de denición: se enfoca en determinar lo que debe hacer el sistema, la información a ser procesada, la función y desempeño deseado y el comportamiento que
se espera.
Fase de desarrollo: corresponde a un proceso de múltiples pasos que se enfoca en
cuatro atributos de un programa: estructura de datos, arquitectura de software,
representaciones de la interface y detalle de los algoritmos. El proceso de diseño
traduce los requerimientos a una nueva representación del software donde es factible
un proceso de evaluación de la calidad del sistema.
Fase de soporte: se evalúan los diferentes cambios a realizar, ya sea, debido a errores
encontrados, adaptaciones a cambios en el entorno externo o mejoras requeridas por
el cliente.
6.1.1. Ingeniería del Lenguaje Natural
La IL incluye el desarrollo de software, por lo tanto se la puede considerar como parte
del área de la IS [87]. Así mismo, el tópico principal de estos sistemas es el procesamiento
del lenguaje humano por lo que también es apropiado vincular a la IL con el área del
PLN. Por lo tanto, una denición acertada, clara y completa sería la expuesta en [21] que
detalla: IL es una de las ramas de la IS que se enfoca en la construcción de sistemas de
software vinculados al PLN para algo más que sólo modelar el lenguaje en sí mismo y que
sea útil no sólo a los lingüistas. .
Un conjunto de factores fueron determinantes en dar origen a la IL:
la demanda de aplicaciones para la manipulación de textos electrónicos, los cuales
han crecido exponencialmente en volúmen y disponibilidad.
Capítulo 6. Aspectos de Ingeniería de Software aplicados a PLN
62
los avances en el hardware tales como mayor la velocidad de procesamiento, capacidad de memoria y de almacenamiento.
la disponibilidad de recursos relacionados al lenguaje natural con un importante
tamaño de datos (diccionarios, tesauros, ontologías, etc.).
los altos niveles de precisión logrados en los experimentos vinculados al PLN.
Por lo tanto, se puede identicar a la IL como la aplicación de la ciencia del lenguaje a la
solución de tareas prácticas.
A los problemas básicos que afectan a todo desarrollo de software convencional,
se deben añadir otras complejidades cuando se reere a la implementación de sistemas
vinculados al PLN, tales como: exactitud, eciencia, productividad, robustez, exibilidad,
uso de múltiples lenguajes y escalabilidad, entre otros.
Exactitud : las técnicas del PLN no pueden garantizar que se encontrarán todos y
únicamente los resultados correctos. El sistema debe tener esto en cuenta y tener
un plan alternativo (o un retroceso apropiado) en caso de ser necesario.
Eciencia : la obtención de resultados (supuestamente correctos) es decisivo en el
desarrollo de los sistemas PLN. Por otro lado, las mejores políticas de diseño y
selección de tecnología solamente representan un detalle más de implementación y
no son cruciales.
Productividad : el tiempo es un producto muy escaso en todo desarrollo y por lo
tanto el factor que más inuye en la productividad de un sistema. La pérdida de
productividad se puede deber a diferentes causas como son el desconocimiento de
la existencia de recursos, la desconanza en los componentes que no son propios, o
la imposibilidad de instalar e integrar el software existente debido a la poca documentación de los mismos.
Robustez : en ingeniería, la robustez se determina como la habilidad de los dispositivos para trabajar aun bajo condiciones variantes. En el área del lenguaje, los
términos robustez y portabilidad tienen un signicado más limitado, ya que ambos
son usados para describir la viabilidad de que un método lingüístico sea aplicado a
diferentes tipos de textos o dominios (en términos de precision/recall vistos en el
Capítulo 3).
Conceptos introductorios
63
Flexibilidad : como todo sistema, los desarrollos de PLN necesitan ser exibles. En el
caso de PLN, se debe tener en cuenta la variedad en los formatos de las colecciones
de datos para hacer a los sistemas lo más exibles posible.
Múltiples lenguajes : en el mundo globalizado, los usarios necesitan sistemas capaces
de reconocer y trabajar con múltiples lenguajes. Las aplicaciones de PLN son complejas debido a que ellas se valen de modelos estadísticos y conjuntos de reglas
gramaticales y léxicas que son especícos de cada idioma. De esta manera, en la
mayoría de los sistemas PLN es necesario crear nuevos componentes para cada idioma diferente.
Escalabilidad : frecuentemente las partes de un sistema PLN dependen de otros componentes y la demanda de recursos en general es bastante alta. Los recursos de
memoria y tiempo no son reportados en PLN con anticipación, a diferencia de los
sistemas en general que planican con antelación los recursos necesarios.
Algunas de las falencias en lo que respecta a sistemas de PLN, tales como robustez,
productividad (a través del reuso de componentes) y exibilidad, han sido y son temas de
relevancia en el ámbito ingenieril. Tanto es así que cada vez más proyectos y programas
de investigación están abocados a buscar posibles soluciones a algunos de estos problemas
o por lo menos tratar de atenuarlos [61]. Por lo tanto, cuando se hace mención al reuso
de componentes en PLN en realidad se está trabajando en un típico problema de integración [21, 121] que puede ser superado aplicando conceptos básicos de la IS como son
las interfaces de programación de aplicaciones (APIs ) o los marcos de trabajo (en inglés
frameworks ).
6.1.2. Reuso de componentes
A partir de lo expuesto en la sección 6.1.1, y sin entrar en cuestiones complejas del
dominio del PLN, se concluye que la baja reutilización de componentes resulta uno de
los problemas más complejos a solucionar. Esto se debe a que la reutilización en este
caso presenta una doble limitación, necesitando no sólo intercambiar datos usando el
mismo formato e interpretación, sino que también se necesita realizar la comunicación
entre componentes que pueden estar escritos en distintos lenguajes e incluso ejecutar en
Capítulo 6. Aspectos de Ingeniería de Software aplicados a PLN
64
diferentes plataformas. El concepto de reutilizar en nuevos sistemas componentes desarrollados previamente no es nuevo en el área de la IS [131]. Asimismo, ha comenzado a ser
un tema a discutir en IL [21] especialmente en sistemas de gran escala. En este contexto,
podemos distinguir: reutilización de datos para entrenamiento o como recursos internos
de conocimiento y reutilización de código (o algoritmos) usados en el procesamiento de
dichos datos.
En los últimos años ha surgido un gran interés en la reutilización de repositorios de
datos, algunos de los cuales están disponibles públicamente para investigación, como por
ejemplo:
El diccionario Longman de Inglés Contemporáneo (LDOCE por sus siglas en inglés),
http://www.ldoceonline.com/
Wordnet, http://wordnet.princeton.edu/ [76]
El diccionario EDR, http://www2.nict.go.jp/r/r312/EDR/index.html [130]
El
Consorcio
de
Datos
Linguísticos
(LDC
por
sus
siglas
en
inglés),
http://www.ldc.upenn.edu/
La Asociación Europea de Recursos del Lenguaje (ELRA por sus siglas en inglés),
http://www.elra.info/
A los recursos nombrados se deben agregar los innumerables sitios que cuentan con
colecciones de documentos para nes experimentales varios de las cuales han sido utilizadas en este trabajo [30, 59, 25]. Si bien el uso de colecciones estándar ha permitido
hacer comparable los resultados, en ocasiones el uso de sub-colecciones ha introducido
problemas según se muestra en [25]. En este sentido, a pesar de que existen aún inconvenientes para resolver el reuso de datos, los avances superan notoriamente a la reutilización
de código. Una de las principales razones de que el porcentaje de reutilización algorítmica
sea bajo es la gran dicultad que implica la integración, ya que los desarrolladores usan
diferentes lenguajes de programación, entornos obsoletos o diferentes paradigmas. Por lo
tanto, la reimplementación e integración causan la mayor pérdida de productividad.
Las dos formas de reutilización (de datos y de código) fueron tenidas en cuenta para
el desarrollo de este trabajo. En lo que respecta a la reutilización de fuentes de datos se
utilizó:
Conceptos introductorios
65
la ontología WordNet que fue usada en diferentes tareas del procesamiento de textos
(ver Figura 6.2). Como se explicó en la sección 4.3 ésta es una de las bases de datos
léxica más utilizada en PLN.
los conjuntos de colecciones de textos que serán descriptos en la sección 7.1 y son
ampliamente usados en el área de PLN.
Aparentemente, la utilización de las anteriores fuentes de datos no representan un
problema. No obstante, hay que tener en cuenta que es necesario contar con una interface
para acceder a ellos desde el sistema desarrollado.
En el aspecto de la reutilización algorítmica, se trabajó sobre:
API
Una
para
interactuar
con
WordNet.
En
http://wordnet.princeton.edu/wordnet/related-projects/#local se mencionan algunas de las APIs más usadas para acceder a WordNet disponibles en
distintos lenguajes de programación y entornos. En la sección 6.1.3 se describen las
APIs analizadas y la seleccionada para ser usada en este trabajo.
Distintos algoritmos de desambiguación, para seleccionar el sentido más apropiado
de una palabra especíca en un contexto determinado.
1. CIAOSENSO (descripto en la sección 5.3), al ser un algoritmo desarrollado
en C++ se usó la API que permite la ejecución de componentes externos a la
Maquina Virtual Java para poder interactuar con este sistema desde Java.
2. Lesk
jo
Mejorado
a
lenguaje
(descripto
Java
la
en
la
versión
sección
5.2.1),
desarrollada
en
se
traduC#
en
http://www.codeproject.com/KB/string/semanticsimilaritywordnet.aspx.
WordNet es utilizado en este algoritmo. Se podría haber dejado en C# y
ser invocado desde Java, pero representa un aporte más la implementación
realizada.
3. Método heurístico del sentido de más frecuente (descripto en la sección 5.1), es
uno de los algoritmos más sencillos, por lo que directamente fue desarrollado
en Java.
Capítulo 6. Aspectos de Ingeniería de Software aplicados a PLN
66
Distintos algoritmos de etiquetado sintáctico, que rotulan las palabras según su categoría gramatical (noun, verb, adjective y adverb ) para realizar la desambiguación
semántica dependiendo de la etiqueta aplicada. Fue implementado el método más
simple que tiene en cuenta la frecuencia determinada por WordNet.
6.1.3. APIs para WordNet
Una API representa una interfaz de comunicación entre componentes de software. Se
trata de utilizar bibliotecas que ofrecen acceso a ciertos servicios desde procesos internos
y representan un método para conseguir abstracción en la programación, generalmente
entre los niveles o capas inferiores y los superiores del software. Uno de los principales
objetivos de una API consiste en proporcionar un conjunto de funciones de uso general.
De esta forma, los programadores se benecian de las APIs haciendo uso de su funcionalidad, evitándose el trabajo de programar todo desde el principio. Las APIs son abstractas,
es decir el software que proporciona una cierta API generalmente es llamado la imple-
mentación de dicha API . Al implementar una API se debe llegar a un cierto equilibrio
entre su potencia, simplicidad y pérdida de exibilidad.
Como se menciona en la sección 4.3, WordNet es una base de datos léxica compuesta
por un conjunto de archivos que contienen la jerarquía de synsets de esta ontología.
Para acceder a estos archivos se necesita una interface denida en algún lenguaje de
programación que permita recuperar datos de los mismos. Existen interfaces disponibles
en lenguajes tale como: C#, Java, Haskell, Prolog, Perl, Python, entre otros [76]. A
continuación, se mencionan algunas de las más importantes explicadas en detalle en [76]:
1. NET/C#:
François-Régis Chaumartin ha desarrollado un framework linguístico denominado Antelope .NET. Éste usa y extiende WordNet incluyendo varios etiquetadores y parsers para su versión francesa. Antelope trabaja bajo Windows o
Linux, y es gratuito para investigación y educación.
Troy Simpson ha desarrollado una interface C# para WordNet usando la versión 3.0. Requiere el framework .NET y puede ser descargado en forma gratuita.
Conceptos introductorios
67
Derik Palacino ha desarrollado una interface C#. Este proyecto fue construido
sobre la base de datos para WordNet 3.0 sin embargo el código fue traducido
desde la versión 2.1. Puede ser descargado como código fuente o binario para
Windows.
2. Java:
La API Java para búsqueda en WordNet (JAWS las siglas en inglés para Java
API for WordNet Searching) es una interface de alto rendimiento, escrita enteramente en Java que soporta WordNet 2.1 y 3.0. Fue escrito por Brett Spell
y es compatible con Java 1.4 y versiones posteriores.
Joris Van den Bogaert desarrolló una interesante versión de interface Java/WAP que permite navegar WordNet desde el teléfono celular.
Bernard Bou ha escrito WNJN (compatible con la librería nativa de Java)
la cual realiza la interface entre la base de datos WordNet (1.7.1 y 2.0) y
programas Java. Ofrece clases de Java con el código binario (escrito en C++)
y dispone funcionalidad para la consulta y la búsqueda.
JWNL (las siglas en inglés para Java WordNet Library) escrita por John Didion, se trata de una API de Java que proporciona componentes de diferentes
niveles de acceso a datos de WordNet. Escrito totalmente en Java no utiliza
código nativo, por lo que es totalmente portátil y todo su código fuente está
disponible.
JWI (MIT Java Interface to Wordnet) fue desarrollado por Mark Finlayson,
soporta Wordnet 2.0, 2.1 y 3.0. La última versión de JWI dispone de una
API sencilla, ágil y altamente extensible. Fue escrito enteramente en Java,
completamente portable y distribuido bajo licencia no comercial y con código
fuente disponible.
A pesar de disponer de varias APIs Java de acceso a WordNet, uno de los principales
factores para que las mismas sean de gran utilidad depende de la documentación que
las acompañe. De las mencionadas anteriormente, la mayoría carecen de ésta, es muy
complicada o demasiado extensa. Con respecto a aquellas basadas en código nativo y
accesibles a través de JNI, una de las falencias es su baja portabilidad y dicultad de
instalación.
Capítulo 6. Aspectos de Ingeniería de Software aplicados a PLN
68
Una de las APIs WordNet que tiene una documentación útil, con ejemplos de cómo
se debe usar y funcionalidades añadidas no incluidas en la distribución WordNet es la
desarrollada por Troy Simpson en C#. Se puede encontrar una documentación extensa
http://www.codeproject.com/KB/string/semanticsimilaritywordnet.aspx
en
(donde
se
hace
referencia
al
algoritmo
http://www.ebswift.com/Desktop/WordNet/.
Las
de
Lesk
funcionalidades
adaptado)
de
y
búsqueda
añadidas en esta distribución incluyen caracteres comodines, expresiones regulares y
anagramas. Estas funcionalidades generalmente se encuentran en productos comerciales,
pero aquí están disponibles en código abierto. Por lo mencionado anteriormente, y
después de investigar algunas de las APIs mencionadas, se migró la versión desarrollada
por Troy Simpson en .NET a Java.
6.2. Trabajos Relacionados en Ingeniería del Lenguaje
Durante la investigación bibliográca se encontró gran cantidad de documentación de
sistemas, prototipos y propuestas de entornos de integración y herramientas vinculadas a
PLN desarrollados en diferentes lenguajes (C, C++, C#, Perl, Python y Java) orientados a diferentes plataformas (distintas versiones de Linux o Windows). Muchas de estas
propuestas disponibles tienen la particularidad de ser muy completas pero a la vez complejas y poco exibles en determinadas situaciones. La mayoría de los sistemas de PLN
desarrollados hasta el momento tienen arquitecturas similares, cada plataforma permite
encadenar y combinar los diferentes componentes de análisis de acuerdo a una jerarquía
de ejecución. En general, los sistemas permiten crear ujos lineales de módulos donde la
salida de uno es la entrada del siguiente. Algunos ejemplos de estos sistemas son:
GATE (las siglas en inglés para General Architecture for Text Engineering ): esta
arquitectura desarrollada para la tarea de Extracción de la Información permite
construir sistemas PLN a partir de componentes previamente implementados. Proporciona un núcleo con los módulos básicos de análisis del lenguaje (morfológico y
sintáctico) permitiendo el acoplamiento de nuevos componentes. Está implementado en Java por lo que la integración de componentes se realiza considerando a todo
recurso como una clase Java [22, 20] (en la sección 6.5 se verá más en detalle este
sistema).
Trabajos Relacionados en Ingeniería del Lenguaje
69
ALEP (las siglas en inglés para The Advanced Language Engineering Platform ): es
un proyecto soportado por la Commission of the European Community que tiene
como objetivo proporcionar a la comunidad de investigadores en PLN de Europa un
entorno de desarrollo abierto, versátil y de uso general. El sistema ofrece un formalismo basado en la unicación y una máquina lingüística con análisis, generación y
transferencia de componentes. Está implementado en su mayoría en lenguaje Prolog
[132].
NLTK (las siglas en inglés para Natural Language Programming Toolkit ): es un
sistema que provee herramientas básicas para la manipulación de datos y para la
realización de tareas vinculadas al PLN. Debido a sus características, es ampliamente
usado con un enfoque pedagógico en el ámbito académico, permitiendo construir
fácilmente sistemas PLN usando Python [11].
TEXTRACT (las siglas en inglés para The TALENT System ): es un trabajo similar
a GATE pero pensado para el procesamiento a gran escala de textos y con un enfoque
industrial. Desarrollado en C++ ofrece una serie de componentes (plugins) con las
funciones básicas de PLN (tokenizer, PoSTagger, etc). Estos plugins comparten un
repositorio asociado a cada documento, a través del cual se comunican [82].
En la actualidad, los nuevos sistemas de PLN continúan implementando la misma arquitectura pero con mayor exibilidad y simplicidad para la integración de nuevos módulos
de análisis.
Los experimentos previos al desarrollo del framework, fueron desarrollados por medio
de scripts que complicaban las tareas de llevar una documentación de lo implementado,
determinar el orden de ejecución o precisar cual era la versión correcta de cada módulo.
Por lo tanto, la reproducción exacta de un experimento anterior era muy difícil de obtener o casi imposible. Otro aspecto muy importante que surgió durante el desarrollo del
trabajo fue que, una integración de caja negra 1 con componentes de software orientados
al campo de la lingüística resulta una tarea muy difícil debido a que si la técnica interna
es desconocida, el componente puede fallar. Finalmente, otro problema a resolver es la
presencia de subtareas o algoritmos que están desarrollados en diferentes paradigmas.
1 Concepto
conocido [61].
que referencia a los componentes lingüísticos cuyo detalle de implementación interna no es
Capítulo 6. Aspectos de Ingeniería de Software aplicados a PLN
70
En este capítulo se plantea la propuesta de un marco de trabajo de fácil uso y extensibilidad que permita unicar las diferentes tecnologías. El lenguaje Java fue escogido para
la implementación del framework debido a su portabilidad y posibilidad de interacción
con diferentes sistemas, no necesariamente desarrollados en este mismo lenguaje.
6.3. Descripción del framework desarrollado
Un marco de trabajo (framework ) es un diseño reusable para todo o parte de un
sistema de software. Todo framework está constituido por un conjunto de bloques de
construcción de software ya desarrollados, que los programadores pueden usar, extender,
o adaptar a soluciones especícas [50]. En un lenguaje más técnico, un framework expone
una colección de clases individuales que proveen un conjunto de servicios para un dominio
particular y que los clientes pueden usar o adaptar [80]. En otras palabras, es equivalente
a un librería de clases que han sido diseñadas para un cierto dominio dotadas de una
documentación que incluye detalles precisos de la API exportada junto con ejemplos de
como ser usada en contextos de problemas particulares. Dicha librería puede ser adaptada
y/o extendida para solucionar problemas en este dominio. El concepto de framework se
basa en el desarrollo basado en componentes [109]. Uno de los benecios principales de
los frameworks es la reusabilidad de código. Mediante la provisión de una infraestructura
estándar, se decrementa la cantidad de código que el desarrollador tiene que escribir,
testear y depurar. Esto también puede bajar los costos de mantenimiento y acelerar la
puesta en producción de una aplicación o la puesta en ejecución de experimentos por
parte de un investigador en el dominio.
En este trabajo se propone un framework sencillo, orientado al dominio PLN que
brinda interfaces y clases abstractas básicas para las tareas involucradas en el preprocesamiento semántico para la obtención de los vectores que serán utilizados en la
representación de los documentos [33]. Los componentes abstractos deben ser implementados por las clases que van a usar los servicios que brinda el framework. Siguiendo esta
convención, dichas clases pueden luego ser manipuladas de forma predecible por entornos
de desarrollo y aplicaciones.
En [80] se menciona un aspecto a tener en cuenta sobre el diseño y creación de un marco
de trabajo, se advierte que inclusive el framework más elegantemente diseñado nunca va
a ser usado a menos que el costo de entenderlo y usar sus abstracciones sea más bajo que el
Descripción del framework desarrollado
71
costo estimado por el programador en desarrollarlo nuevamente de cero. La ganancia real
se obtiene cuando las clases y los mecanismos son reutilizados a menudo, indicando que
otros obtienen benecios del desarrollo, permitiendo que el desarrollador/investigador se
enfoque en la parte particular del problema sin tener que lidiar con cuestiones adyacentes
al mismo.
El framework desarrollado tiene un arquitectura simple y modular. La tarea de preprocesamiento de documentos para su posterior clasicación fue dividida en un número de
subtareas más pequeñas implementadas como módulos separados. La Figura 6.1 muestra
la arquitectura general simplicada del sistema desarrollado mediante un diagrama de
clases. Se muestra un conjunto de clases básicas que realizan distintas tareas de preprocesado de documentos, entre ellas hay clases abstractas tales como WSD que luego
son implementadas de acuerdo al algoritmo especíco utilizado en cada caso. Por ejemplo,
para implementar el algoritmo de desambiguación llamado AdaptedLesk sólo se debe
heredar de la clase abstracta WSD e implementar el método disambiguate(String[] words)
según la lógica propia de dicho algoritmo sin tener que preocuparse por cuestiones de
entrada y salida con la etapa anterior y posterior de este módulo.
Para la API de Wordnet sólo se detallan las clases principales Lexicon y WNDB con
algunos de sus métodos más importantes. Los componentes del diagrama de clases se
describen a continuación obviando los detalles de sus atributos y métodos:
InOutProcess, provee funcionalidad de entrada y salida de archivos para el procesamiento de los diferentes documentos de una colección.
StopWordsHandler, provee métodos para determinar si una palabra pertenece a la
lista de palabras de corte (stopword ).
POSTagger, representa la clase abstracta que brinda la etiquetación sintáctica a
cada palabra.
WSD, representa la clase abstracta que realiza la tarea de desambiguación del sentido
de las palabras.
GetSynsetOset, obtiene el identicador único en WordNet del synset (oset ) que
fue determinado por el algoritmo de desambiguación.
TermsPlusConcepts, forma el vector de términos más conceptos, para la representación términos+conceptos usada en la sección 7.2 para los experimentos.
Capítulo 6. Aspectos de Ingeniería de Software aplicados a PLN
72
Figura 6.1: Diagrama de clases
Ejemplos de la implementación de las clases abstractas nombradas anteriormente son:
MFWN que implementa la clase abstracta POSTagger basándose en la frecuencia
de WordNet para determinar la categoría gramatical.
Brill, que implementa la clase abstracta POSTagger con el algoritmo de etiquetado
sintáctico desarrollado por Eric Brill que se basa en el aprendizaje de transformaciones que deben corregir ciertos errores [13]. Este algoritmo no fue implementado
como parte del trabajo pero es factible y sencillo de ser incorporado.
CiaoSenso, que implementa la clase abstracta WSD con el algoritmo CIAOSENSO
que se basa en medidas de similitud semántica extraídas a través de redes semánticas
(ver sección 5.3).
Descripción del framework desarrollado
73
EnhancedLesk, que implementa la clase abstracta WSD con el algoritmo de Lesk
Mejorado una variante del algoritmo original introducido por Michael Lesk (ver
sección 5.2).
MFS, que implementa la clase abstracta WSD con el algoritmo heurístico del sentido
más frecuente (ver sección 5.1).
La Figura 6.2 muestra las diferentes subtareas que conforman el proceso. Cada
subtarea acepta datos de la etapa previa, aplica una transformación a los datos y los
pasa procesados a la próxima etapa. En esta gura, se muestra cada subtarea vinculada
a la clase abstracta de la que hereda (ésto será explicad en detalle en la sección 7.2).
El framework comprende un grupo de clases programadas en lenguaje Java. Los objetos de estas clases pueden ser instanciados en programas de usuario, los métodos pueden
ser invocados sobre estos objetos e inclusive se pueden heredar las clases para brindar
una mayor funcionalidad a las ya existentes. Un usuario podría crear sus propios módulos (algoritmos) para ejecutar cualquiera de las subtareas mencionadas anteriormente,
siempre y cuando los módulos adhieran al protocolo especicado por la arquitectura. Por
ejemplo, para implementar el algoritmo de etiquetado sintáctico (POS-tagging) llamado
Brill tagger [13] sólo se debe heredar de la clase abstracta PosTagger e implementar
únicamente el método posTag(String[] words) donde debe desarrollarse la lógica propia de
dicho algoritmo sin tener que preocuparse por cuestiones de entrada y salida con la etapa
anterior y posterior de este módulo.
De esta manera, se podrían incluir diversos algoritmos para las diferentes tareas pudiendo llegar a contar con un conjunto de módulos que se pueden combinar de formas
variadas para la creación y ejecución de experimentos de forma más sencilla sin tener que
desarrollar de cero muchas cuestiones que estarían ya solucionadas en el framework. El
framework brinda un acceso más sencillo a los archivos que se utilizan en los experimentos,
un acceso unicado a la base de datos léxica WordNet, algoritmo de stemming (selección
de la raíz o stem de la palabra) y de etiquetado sintáctico (o pos-tagging ). En base a esta
experiencia se puede concluir que durante el desarrollo de los algoritmos particulares de
las subtareas del proceso, la parte básica de acceso a recursos externos (como los archivos
de WordNet) ya estaría solucionada mediante las clases superiores permitiendo concentrarse, exclusivamente, en la lógica de la solución del problema sin tener que preocuparse
por lo demás.
Capítulo 6. Aspectos de Ingeniería de Software aplicados a PLN
74
Figura 6.2: Diagrama de actividades e interacción de clases
Por otro lado, la posibilidad de combinar los diferentes algoritmos en las distintas
etapas es algo que hasta el momento se hacía manualmente, por lo que se decidió extender
el trabajo implementando una interfaz gráca que facilite al usuario la experimentación
con el framework. En el Apéndice C se describe en forma detallada la interfaz gráca
desarrollada para tal n, denominado Pre.Se.Do., especicando la tecnología usada para
su implementación, las distintas tareas que incluye y los pasos para su uso.
Experiencias en el uso del framework
6.4.
75
Experiencias en el uso del framework
El framework propuesto en este trabajo, fue inicialmente utilizado en tareas de CT
cortos [95], en estudios que incluyeron 7 colecciones de textos cortos, y el uso de 5 de
los métodos más difundidos de categorización, provistos en este caso por el software libre
denominado Weka [39]. En este estudio, quedó demostrada la importancia de contar con
un framework como el propuesto en este trabajo, facilitando de manera signicativa el desarrollo del trabajo experimental. Las razones de estas armaciones están fundamentadas
en las características particulares que surgen al incorporar información semántica en tareas
de CT. En estos casos, al igual que en otros dominios de PLN que utilizan información
semántica, la efectividad de incorporar los conceptos en la representación de documentos,
depende fuertemente del tipo de codicación usada en los documentos, del algoritmo de
clasicación, del método de WSD y, fundamentalmente, de las características particulares
de los documentos de las distintas colecciones. En este sentido, el uso del framework
permitió un rápido desarrollo de las distintas instancias experimentales, simplicando la
generación de las combinaciones de parámetros y métodos para detectar aquellas que
resultaran más efectivas en cada caso.
La experiencia lograda en este primer trabajo con el framework, permitió en un plazo
muy breve analizar si el buen desempeño en tareas de clustering de textos cortos logrado
por el algoritmo iterativo ITSA? [31], también se vericaba en aquellos casos donde se
incorporaba información semántica a la representación de los documentos. En este contexto, los resultados obtenidos en los experimentos realizados en [94] son altamente prometedores respecto a la efectividad de este enfoque, obteniéndose valores muy competitivos
en la mayoría de las instancias experimentales, incluso en algunos casos, alcanzándose los
mejores resultados comparados a los reportados en la literatura especíca del área.
Si bien los estudios citados previamente se encuadran claramente como una investigación cientíca, varias de las colecciones utilizadas en estos casos corresponden a documentos originales del mundo real obtenidos de repositorios públicos de empresas. Este es
el caso, por ejemplo, de las sub-colecciones del corpus de cables de noticias Reuters-21578,
donde el enfoque semántico utilizado reportó valores altamente prometedores. Estos resultados, sumados a la simplicidad en el uso del framework, sugiere que la utilización efectiva
del mismo en problemas empresariales concretos del mundo real (como la categorización
automática de noticias) es una área altamente factible a ser abordada.
Capítulo 6. Aspectos de Ingeniería de Software aplicados a PLN
76
6.5. Plugin semántico para GATE
Teniendo en cuenta la cita de Cunningham con la cual comienza este capítulo, se decidió incorporar uno de los módulos semánticos desarrollados en este trabajo como recurso
de procesamiento en el GATE. Por otra parte, para continuar con la analogía y defendiendo la propuesta de este trabajo, es posible considerar al framework implementado como
un tipo de rueda especial fabricada y adaptada para un vehículo con características
particulares.
6.5.1. Modelo de componentes de GATE
GATE es una herramienta de uso libre y orientada al desarrollo de aplicaciones para
el Procesamiento del Lenguaje Natural. GATE está compuesto por una arquitectura, un
framework y un ambiente de desarrollo. En este contexto, como todo framework proporciona un diseño reusable y un conjunto de bloques o módulos que pueden ser reusados,
extendendidos o adaptados para construir una amplia variedad de sistemas vinculados a
PLN. Además de sus propios componentes, permite la incorporación de plugins con nuevos
módulos que pueden implementarse en varios lenguajes de programación, pero deben ser
invocados y reconocidos por el sistema como una clase Java. En GATE los plugins son
componentes en Java Beans2 denominados CREOLE (del inglés, Collection of Reusable
Objects for Language Engineering). Estos pueden ser de tres tipos principales:
Recursos linguísticos : elementos no algorítmicos que sirven como contenedores de
información (ontologías, corpus, documentos, etc.).
Recursos de procesamiento : unidades de procesamiento de datos (POS taggers, tokenizadores, separadores de sentencias, etc.). Un componente con estas características
fue el anexado al GATE como nuevo recurso para la desambiguación semántica y
será referenciado en mayor detalle en la subsección siguiente.
Aplicaciones : componentes (también conocidos en GATE como pipelines ) que permiten integrar varios recursos para realizar operaciones sobre textos.
2 Un
JavaBean o bean es un componente hecho en software que se puede reutilizar y que puede ser
manipulado visualmente por una herramienta de programación en lenguaje Java.
Plugin semántico para GATE
77
Para crear un nuevo recurso CREOLE se deben seguir los siguientes pasos:
1. Escribir una clase Java que implemente el modelo de componentes de GATE.
2. Compilar la clase, junto con todas las clases utilizadas, en un archivo jar (Java
ARchive).
3. Escribir los datos de conguración en un archivo xml para este nuevo componente,
denominado creole.xml.
4. Indicar a GATE la dirección URL de los nuevos archivos jar y xml.
Cuando en GATE se ejecutan recursos de procesamiento que operan sobre textos,
éstos deben generar información acerca de los mismos. Esta información que se produce
a partir del texto se representa dentro de GATE como un conjunto de anotaciones. Una
anotación en GATE consiste de:
un ID, denota una identicación única en el documento al que la anotación se reere.
un type, denota el tipo de anotación, usualmente los diferentes recursos generan
anotaciones de distintos tipos.
StartNode y EndNode, denotan la posición inicial y nal de la palabra a anotar en
el texto.
un conjunto de features en la forma de pares atributo/valor que proporcionan información adicional acerca de la anotación.
La interfaz gráca de GATE, mostrada en la Figura 6.3, permite construir y ejecutar
componentes y sistemas de PLN (Recursos de Procesamiento y Aplicaciones ), así como también crear, visualizar y editar colecciones de documentos y ontologías (Recursos
linguísticos ).
6.5.2. Descripción del recurso de procesamiento semántico
En este trabajo, se desestimó en una primera instancia el uso de GATE debido a dos
motivos: primero, se evaluó que el tiempo de aprendizaje iba a ser muy alto y complejo
para el objetivo planteado y la premura necesaria en la obtención de resultados de los
Capítulo 6. Aspectos de Ingeniería de Software aplicados a PLN
78
Figura 6.3: Interfaz gráca de GATE
experimentos en el Capítulo 7 y segundo, el hecho de considerarlo demasiado genérico ya
que el trabajo experimental estaba enfocado a tareas especícas de PLN.
Debido a que GATE es actualmente uno de los sistemas para PLN más usado, es
open source y está en constante mantenimiento y actualización, se planteó como un nuevo
objetivo mostrar si es factible incluir los módulos semánticos del framework desarrollado
como nuevos recursos de GATE.
A partir de esto, y siguiendo los pasos planteados anteriormente, se decidió desarrollar
un plugin para GATE que incluya como recurso de procesamiento uno de los componentes del diagrama de clases de la Figura 6.1, para esto se seleccionó el desambiguador
semántico referido como MFS (o SMF las siglas en español para Sentido más frecuente ).
Por lo tanto, se creó un archivo denominado creole.xml mostrado en la Figura 6.4 conteniendo la metainformación para la conguración del recurso a incluir. En este archivo
se especica el conjunto de parámetros para el SemanticSMF, especicando cuáles serán
obligatorios, opcionales y/o por defecto. De este modo, teniendo ya los archivos .jar y
.xml en una ubicación determinada, es posible instalar nuestro plugin como componente
para ser utilizado en una aplicación de GATE.
Como un resumen de los pasos para la instalación se podrían enumerar los siguientes:
1. Abrir el entorno gráco GATE.
Plugin semántico para GATE
79
Figura 6.4: Archivo creole.xml del módulo SMF
2. Utilizar el manejador de plugins CREOLE (File >Manage CREOLE Plugins ) para
agregar el nuevo recurso especicando la URL del nuevo plugin a incorporar. De
este modo, el plugin ya será parte de la lista de plugins disponibles de GATE.
3. Por último, para poder ser utilizado en una aplicación sólo bastará seleccionarlo de la
lista de Recursos de Procesamiento donde ya está disponible luego de ser instalado,
como se realizó con el plugin semántico y puede observarse en la Figura 6.5.
Figura 6.5: Plugin semántico instalado y ejecutado en GATE
Una vez que se ejecuta sobre un documento una aplicación conteniendo el recurso
SemanticSMF y luego de seleccionar del conjunto de anotaciones la opción Token (panel
Capítulo 6. Aspectos de Ingeniería de Software aplicados a PLN
80
derecho en la Figura 6.5) para este recurso linguístico, se notará un cambio en la lista
de anotaciones (panel inferior en la Figura 6.5). Esto es, la incorporación a la lista de
anotaciones una nueva feature denominada SOset cuyo valor es el oset (ver sección 6.3)
que identica unívocamente un synset en WordNet para cada palabra (token ) que pudo
ser desambiguada con el método del sentido más frecuente.
A otro nivel, pero con el mismo estilo, se podrían adaptar los demás componentes del
framework desarrollado como plugins de GATE. En este contexto y a modo de ejemplo, fue
desarrollado un plugin para extracción de información para el lenguaje español adaptado
a partir del componente ANNIE (las siglas en inglés para A Nearly-New Information
Extraction ) que es distribuido con GATE [84].
En [20] se encuentra una explicación más detallada de los pasos necesarios para la
instalación de recursos de procesamiento y otras funcionalidades de GATE, como la carga
de recursos de lenguaje, creación de nuevas aplicaciones, ejecución de diferentes recursos
y una lista completa de los plugins disponibles para GATE.
Capítulo 7
Conjuntos de datos y detalle de los
experimentos
Si supiéramos lo que estamos haciendo, no se llamaría investigación, ¾verdad?.
Albert Einstein. Cientíco alemán.
El cantidad de textos en lenguaje natural tiende a aumentar pero con la particularidad
de un uso acotado en el número de palabras en cada texto. En la actualidad, la comunicación escrita entre personas hace un uso constante de este tipo de textos restringidos en
tamaño buscando optimizar el uso de palabras en interacciones ecientes, cortas y veloces,
a través de correo electrónico, mensajes de textos, reportes internos, faxes, fragmentos de
páginas Web y cables de noticias, entre otros.
Diferentes trabajos han analizado las ventajas de incorporar información semántica a
la representación de textos (ver sección 4.1). Es conveniente destacar que en general estos
estudios están enfocados en documentos donde es factible, en la mayoría de los casos,
disponer de una colección de entrenamiento para la tarea de WSD. Este enfoque basado
en corpus (también conocido como supervisado) no siempre es viable de ser aplicado en
colecciones de textos cortos. Una alternativa para abordar el problema anterior, es el uso
de métodos de WSD basados en conocimiento descriptos en la sección 4.2. Si bien este tipo
de métodos suelen mostrar resultados de menor calidad que los obtenidos con métodos
basados en corpus, constituye en muchos casos una de las pocas alternativas factibles si se
desea hacer uso de información semántica en la representación de documentos [120]. Por
Capítulo 7. Conjuntos de datos y detalle de los experimentos
82
lo tanto, se puede pensar al enfoque basado en conocimiento como una opción apropiada
para utilizar en aplicaciones vinculadas al PLN que trabajen sobre textos cortos.
En este capítulo se describen las colecciones de textos cortos seleccionadas para los
trabajos experimentales, éstas fueron elegidas por tener diferentes niveles de complejidad
para un mejor análisis posterior. El diseño experimental, los resultados y el análisis de la
tarea de CT están detalladas en distintas secciones del capítulo. Finalmente, se muestra
que la incorporación de información semántica a la representación de documentos puede
ser también beniciosa en otras tareas de PLN, como por ejemplo en clustering iterativo.
7.1. Descripción de los conjuntos de datos
Para los experimentos se seleccionó un grupo representativo de colecciones de documentos cortos con diferentes niveles de complejidad con respecto al tamaño de la colección,
longitud de los documentos y solapamiento de vocabulario. En [47, 71, 29, 30] se describen
en forma detallada cada una de las colecciones utilizadas y sus respectivos enlaces de
acceso. A continuación se especican solamente algunas características principales de estos
corpus:
CICling-2002 (CIC ): es una colección de textos cortos muy popular que ha sido
reconocida en diferentes trabajos [3, 47, 71, 29] como una colección de complejidad alta debido a que sus documentos pertenecen a un dominio muy restringido.
Dichos textos son 48 resúmenes de artículos cientícos presentados en la Conferencia CICling 2002 (Computational Linguistics ). Las características de este corpus se
muestran en la Tabla 7.1.
Categoría
# docs
Linguistics
11
Ambiguity
15
Lexicon
11
Text Processing
11
Característica
Valor
# categorías
4
# tot. docs
48
# tot. terms
3382
vocabulario
953
promedio de terms por abstract
70.45
Tabla 7.1: Características del corpus CICling-2002
Descripción de los conjuntos de datos
83
EasyAbstract (Easy ): es una colección que está compuesta de documentos de corta longitud que son resúmenes cientícos disponibles en Internet sobre temáticas
comunes (Intelligent Systems ) pertenecientes a artículos presentados en cuatro diferentes revistas internacionales. Debido a que la relación entre los distintos tópicos no
es tan estrecha como en CIC y que la longitud promedio de los abstracts es mayor,
se considera a Easy como un corpus de complejidad media. Las características de
este corpus son mostradas en la Tabla 7.2.
Categoría
# docs
Heuristics in Optimization
11
Machine Learning
15
Automated Reasoning
11
Aut. Intelligent Agents
11
Característica
Valor
# categorías
4
# tot. docs
48
# tot. terms
9261
vocabulario
promedio de terms por documento
2169
192.93
Tabla 7.2: Características del corpus EasyAbstracts
R8 : es un corpus compuesto de ocho categorías obtenidas de la colección Reuters21578. Esta colección, está compuesta por 21.578 cables de noticias divididos en
137 categorías. Los cables de noticias fueron publicados y clasicados manualmente
por la agencia Reuters en 1987 para ser usados en investigaciones. Es considerado
un corpus que presenta una complejidad entre baja y media. Tiene características
que la hacen muy interesante para utilizarla en tareas de CT ya que es una colección apta para clasicación de múltiples rótulos, tiene algunos documentos que no
pertenecen a ninguna categoría y no está balanceada en cuanto a la cantidad de
documentos por clases. Diferentes variantes de Reuters-21578 han sido obtenidas
con limitados rendimientos hasta que Debole y Sebastiani en [25] denen dos subconjuntos estándares que son frecuentemente usados, R10 (con las 10 categorías que
tienen más instancias de entrenamiento asociadas) y R90 (con las 90 categorías que
tienen al menos una instancia de entrenamiento y al menos una instancia de prueba asociada). Si se busca realizar una clasicación de único rótulo, los documentos
que pertenecen a más de una categoría se deben eliminar quedando algunas clases
de R10 y de R90 sin documentos. Por lo tanto, si se quitan los documentos que
pertenecen a más de una clase y se quitan las categorías que no tienen documentos, entonces de las 10 categorías de R10 quedan 8 y de las 90 categorías de R90
Capítulo 7. Conjuntos de datos y detalle de los experimentos
84
quedan 52, denominándose las nuevas colecciones como R8 y R52 respectivamente.
Las características de este corpus se muestran en la Tabla 7.3.
Categoría
# docs
trade
102
grain
34
monexfx
130
crude
140
interest
87
acq
707
ship
43
earn
1076
Característica
Valor
# categorías
8
# tot. docs
2319
# tot. terms
150430
vocabulario
9315
promedio terms por documento
64.87
Tabla 7.3: Características del corpus R8
R8+ : esta colección se diferencia de la R8 original por el tipo de los documentos
elegidos para cada una de las 8 clases. Para cada categoría fueron seleccionados los
20 documentos de mayor longitud, evitando de esta forma el desbalance en cantidad
de textos que existía entre las distintas clases en la colección original.
R8-: es una colección obtenida mediante el mismo procedimiento que para R8+ pero
seleccionando en este caso los 20 documentos de menor longitud para cada categoría.
R8porc+ : es un subconjunto del R8 donde se seleccionó el 20 % de los documentos
más largos de cada clase, manteniendo de esta manera el desbalance en la cantidad
de documentos por clase que presentaba originalmente la colección.
R8porc-: es una colección obtenida mediante el mismo procedimiento que para
R8porc+ pero seleccionando el 20 % de los documentos más cortos de cada clase.
7.2. Diseño experimental
Los documentos son representados mediante el modelo VSM para la codicación de
textos (sección 3.1.2). Los experimentos se realizaron primeramente con las 20 codicaciones SMART para el enfoque tradicional basado en términos con el n de obtener cuáles
son las mejores codicaciones para cada corpus. De las codicaciones con mejor valor de
precisión para cada colección se seleccionaron btc, ltc y ntc para ser comparadas con las
Diseño experimental
85
nuevas estrategias de representación de términos, a partir de lo reportado en trabajos
previos [48, 95].
En la Figura 7.1 se muestra el diagrama de actividades descripto en el Capítulo 6
que es aplicado en esta sección para generar los vectores de términos , conceptos y
términos+conceptos . El documento original es pre-procesado realizando un proceso de
eliminación de las palabras de paro ( stopword ) y un proceso posterior de lematizado
para obtener el vector de términos. El vector de conceptos se obtiene a partir de completar una serie de tareas intermedias. El documento sin las stopword es la entrada
para la tarea de etiquetado sintáctico (en inglés POS-tagging ) que rotula cada palabra
del documento con su categoría gramatical. En caso que esto no pueda ser realizado extrae la raíz de la palabra y trata de determinar nuevamente si la palabra es sustantivo,
verbo, adjetivo o advervio, colocando el rótulo correspondiente. El documento etiquetado
sintácticamente corresponde a la entrada del módulo de WSD donde se aplica un sistema
de desambiguación basado en conocimiento (MFS, LM o CIAO, detallados en el Capítulo
5) que utiliza la ontología WordNet como recurso externo. La salida de este último paso
es usado para el proceso de obtención del oset (identicador único en la base de datos
WordNet que fue descripto en la sección 4.3) y luego transformar este número entero en
caracteres alfabéticos (utilizados en como datos de entrada en el software Weka) que nalmente representarán el vector de conceptos . El vector de términos concatenado al
vector de conceptos forman la variante términos+conceptos .
Para la CT se utilizó Weka 1 [39] con diferentes algoritmos de aprendizaje: Naive Bayes
Multinomial Updateable (NBMU), Naive Bayes (NB), Naive Bayes Multinomial (NBM),
Complement Naive Bayes (CNB) y Support Vector Machine (SVM). Para el entrenamiento y prueba de los experimentos, se utilizó la validación cruzada en k pliegues (k-fold cross
validation ) con k = 10. Este procedimiento consiste en dividir los n ejemplos del conjunto
de entrenamiento en k subconjuntos de tamaño n/k y utilizar uno de ellos para las pruebas y k − 1 para entrenar el clasicador. Este procedimiento se realiza k veces y luego se
realiza un promedio de los resultados obtenidos para cada partición. Los parámetros utilizados para los experimentos fueron seleccionados de aquellos que reportaron los mejores
resultados en trabajos previos [48, 95].
1 Esta
herramienta, desarrollada en la universidad de Waikato (Nueva Zelanda), contiene herramientas
para realizar transformaciones sobre datos, clasicación, regresión, clustering, asociación y visualización.
Capítulo 7. Conjuntos de datos y detalle de los experimentos
86
Figura 7.1: Diagrama de actividades para generar los distintos vectores
7.3. Resultado y análisis de los experimentos
Los experimentos estuvieron dirigidos a mostrar distintas alternativas a la representación original utilizando VSM de textos cortos que ayuden a mejorar la tarea de
categorización. Se comienza con una estrategia que incorpora información semántica en
la representación de documentos mediante métodos de WSD basados en conocimiento.
Debido a que esto involucra un aumento en la dimensionalidad de la representación, una
segunda estrategia fue la aplicación de métodos de reducción de vocabulario. Por último,
a partir de lo planteado en [45] se experimentó con el uso de hiperónimos en la representación de documentos cortos.
Resultado y análisis de los experimentos
87
7.3.1. Enfoque I: incorporación de información semántica
El VSM utilizado para codicar cada texto en su representación original, fue enriquecido a partir de la incorporación de información semántica. El uso de información semántica
plantea distintas alternativas respecto a cómo ésta puede ser incorporada en la representación de los documentos.
En la primera estrategia denominada conceptos , se genera un nuevo vector reemplazando todo término de la representación original por su concepto en WN (synset)
y removiendo aquellos términos cuyo synset no existe o no pudo ser desambiguado. Los
synsets fueron obtenidos al aplicar WSD mediante los tres enfoques descriptos en el
capítulo 5: el método heurístico del sentido más frecuente (MFS ), Lesk Mejorado (LM )
y CIAOSENSO (CIAO ).
100
95
90
%precision
85
80
75
70
65
60
55
50
R
R
R
R
R
−
or
8p
+
or
8p
8−
8+
8
sy
IC
Ea
C
colecciones
terminos
conceptos
terminos+conceptos
Figura 7.2: Sin Información Semántica vs. Con Información Semántica
En la segunda estrategia denominada términos+conceptos al vector de términos
original se le incorporan todos los conceptos de WN obtenidos con la primera estrategia.
La Figura 7.2 compara los mejores valores de precisión obtenidos con la representación
de términos versus las nuevas estrategias de conceptos y términos+conceptos para
todas las colecciones. Para las dos nuevas estrategias se seleccionó la combinación codi-
cación#clasicador#método de WSD basado en conocimiento que reportó, entre todas
las posibles, el más alto valor de porcentaje de instancias clasicadas correctamente. Para
la estrategia original el más alto valor fue seleccionado desde la combinación codi-
Capítulo 7. Conjuntos de datos y detalle de los experimentos
88
cación#clasicador . En la Tabla 7.4 se muestran los componentes de la combinación que
fue elegida para cada colección. En aquellos casos en que más de una combinación obtuvo
el mejor valor, se seleccionó una de ellas al azar. Por ejemplo, para la colección CIC en
la representación de conceptos el mayor valor fue determinado a partir de la codicación
(codif ) ltc, el clasicador (clasif ) CNB y el método de desambiguación (WSD ) MFS.
términos
conceptos
términos+conceptos
Corpus
codif
clasif
codif
clasif
W SD
codif
clasif
W SD
CIC
ntc
CNB
ltc
CNB
MFS
ntc
CNB
MFS
Easy
ntc
CNB
ntc
CNB
CIAO
ntc
CNB
CIAO
R8
ntc
CNB
ntc
CNB
LM
ntc
SVM
LM
R8+
ltc
CNB
ntc
CNB
LM
ltc
CNB
LM
R8−
ltc
NBMU
ltc
NBMU
MFS
ntc
NB
MFS
R8porc+
ltc
CNB
ntc
CNB
LM
ltc
CNB
LM
R8porc−
ltc
CNB
ntc
CNB
MFS
btc
CNB
MFS
Tabla 7.4: Mejores valores para codicación#clasicador#WSD De acuerdo a los resultados mostrados en la Figura 7.2 es claro que, independientemente de la complejidad de cada colección, la incorporación de información semántica
puede lograr una mejora en la precisión, con respecto a los resultados obtenidos cuando
sólo los términos son considerados. En las colecciones con dicultad baja y media (Easy,
R8+, R8 y R8porc+ ) se puede observar un comportamiento similar, esto es, la representación de términos es mejorada levemente por la de conceptos y esta última por la
de términos+conceptos de la misma manera (o en su defecto, igualada en el caso de la
colección Easy ). Para las colecciones con una mayor complejidad en cuanto a su longitud
(CIC, R8- y R8porc-), no se observa el comportamiento mencionado anteriormente. A modo de ejemplo, en el caso de la colección CIC, la representación de conceptos supera con
su valor de precisión a la de términos pero con un porcentaje mucho mayor y teniendo
la particularidad de que la de términos+conceptos no logra superar a la de conceptos .
Este comportamiento puede ser debido a la particularidad de los dominios restringidos de
la colección CIC (dominios que en cierta medida se solapan compartiendo algunos términos aunque este grado de ambigüedad parece resolverse en parte con los vectores basados
únicamente en conceptos ). No obstante esta diferencia observada entre ambos enfoque
semánticos, es importante notar que el enfoque semántico de términos+conceptos logra
superar al enfoque de sólo términos , en todas las colecciones consideradas.
Resultado y análisis de los experimentos
CICling-2002
89
EasyAbstracts
R8
C
LM
CIAO
MFS
LM
CIAO
MFS
LM
CIAO
MFS
btc
62.50
62.50
58.33
87.50
93.75
87.50
94.56
94.43
94.06
ltc
60.41
64.58
66.66
91.65
95.83
91.66
95.12
94.86
ntc
62.50
66.66
75.00
97.91
100
95.83
95.38
95.38
95.21
95.38
T+C
LM
CIAO
MFS
LM
CIAO
MFS
LM
CIAO
MFS
btc
60.41
58.33
60.41
93.75
91.66
89.58
95.38
95.34
95.77
ltc
58.33
66.66
70.83
93.75
93.75
93.75
95.55
95.64
95.25
ntc
66.66
70.83
72.91
100
100
97.91
95.81
95.60
95.68
Tabla 7.5: Mejores valores de precisión de CICling-2002, EasyAbstract y R8
Si bien los resultados mostrados previamente, dan evidencia de que la incorporación de
información semántica puede resultar en un mayor valor de precisión en la categorización
de textos cortos, es importante comparar ahora cuál fue el desempeño de los distintos
enfoques semánticos en cada una de las distintas instancias experimentales consideradas.
En las Tablas 7.5, 7.6 y 7.7 se realiza esta comparación reportándose, por colección, los valores de precisión obtenidos con los diferentes métodos de WSD basados en conocimiento
utilizados para conceptos (C) y términos+conceptos (T+C) escogiendo el clasicador
que mostró el mejor comportamiento. Los valores resaltados en negrita indican los mejores
valores obtenidos. De las tablas se puede inferir que, como sucedió en la observación de
la Figura 7.2, también el análisis se puede agrupar de acuerdo a la complejidad de las
colecciones. Las colecciones de complejidad baja y media son mejor categorizadas, en la
mayoría de los casos, al aplicar los métodos WSD que tienen en cuenta el contexto de
la palabra a desambiguar, esto es LM y CIAO; mientras que en las de alta complejidad los mejores valores fueron encontrados utilizando el método MFS. Por ejemplo, si
examinamos la colección CIC, un 75 % de precisión es obtenido con la representación
de conceptos utilizando MFS y codicación ntc. Por el contrario, una tarea de categorización con precisión perfecta se obtiene aplicando, tanto para conceptos como para
términos+conceptos, el método de WSD LM o CIAO para la colección Easy. Por otra
parte, si tomamos en cuenta las diferentes codicaciones utilizadas, es posible observar
que en general, independientemente de la colección y método de WSD utilizados en los experimentos, en la mayoría de los casos, la ntc estándar es la que mejor resultados obtuvo,
seguida por la codicación ltc.
Capítulo 7. Conjuntos de datos y detalle de los experimentos
R8+
90
R8-
C
LM
CIAO
MFS
LM
CIAO
MFS
btc
85.00
84.37
83.12
90.00
90.00
90.00
ltc
85.62
86.25
85.00
90.62
90.00
92.5
ntc
86.25
83.75
81.25
91.87
90.62
91.25
T+C
LM
CIAO
MFS
LM
CIAO
MFS
btc
86.25
85.62
84.37
92.50
90.62
90.62
ltc
86.87
85.00
85.62
91.87
91.25
90.62
ntc
81.87
83.12
82.50
92.50
92.12
92.50
Tabla 7.6: Mejores valores de precisión de R8+ y R8R8porc+
R8porc-
C
LM
CIAO
MFS
LM
CIAO
MFS
btc
95.00
94.37
92.5
95.68
96.46
96.32
ltc
95.62
96.25
95.00
95.89
96.32
96.11
ntc
96.25
93.75
93.12
96.11
96.11
96.54
T+C
LM
CIAO
MFS
LM
CIAO
MFS
btc
96.25
95.62
94.37
97.84
97.19
97.89
ltc
96.87
95.00
95.62
97.62
97.19
97.19
ntc
91.87
93.12
91.87
97.40
97.19
96.32
Tabla 7.7: Mejores valores de precisión de R8porc+ y R8porc-
7.3.2. Enfoque II: reducción de dimensionalidad
Uno de los problemas que se plantea con los enfoques semánticos como el de términos+conceptos es que implican un aumento considerable en la dimensionalidad de la
representación de los documentos. Este problema, puede resultar muy serio cuando se
deben categorizar colecciones con un tamaño grande de vocabulario como es el caso de la
colección R8, donde enfoques de este tipo pueden tener un impacto negativo en la eciencia en tiempo y espacio de sistemas de categorización como los provistos por Weka. Un
aspecto interesante a analizar en estos casos, es en qué medida los enfoques semánticos
son robustos a los métodos clásicos de reducción de dimensionalidad como los descriptos
en la sección 3.3, para poder obtener colecciones que se puedan procesar de manera más
eciente.
Para la tarea de reducción de dimensionalidad, Weka provee una variedad de ltros:
supervisados, no supervisados, de ltrado de instancias o de ltrado de atributos. En este
Resultado y análisis de los experimentos
91
100
%precision
95
90
85
80
00
0
10
0
0
75
0
0
50
0
0
25
0
5
12
0
50
0
25
tamaño de vocabulario
terminos
conceptos
terminos+conceptos
Figura 7.3: Reducción del tamaño de vocabulario para la colección R8
caso, de los más de 60 ltros disponibles se seleccionó el ltro supervisado denominado
AtributeSelection que permite congurar un evaluador y un tipo de búsqueda. El método seleccionado para la evaluación es el InfoGainAtributeEval con el algoritmo Ranker
para el tipo de búsqueda que ordena los atributos según sus evaluaciones individuales. Uno
de los parámetros que puede ser introducido es el denominado numToSelect donde se
especica el número de atributos que serán conservados luego del ltrado. Este número
varía de acuerdo a la cantidad de atributos en cada colección. En la Figura 7.3 se muestran los resultados aplicando el ltro descripto anteriormente en la colección R8 que es la
mayor en cuanto al tamaño del vocabulario comparada con los demás conjuntos de datos
utilizados en los experimentos. En este caso la reducción es importante debido a que el
gran tamaño de atributos para algunos clasicadores utilizados se hace casi imposible categorizar por la cantidad de memoria que insume. En la Figura 7.4 los resultados muestran
la reducción para la colección R8+, donde la cantidad de atributos es mucho menor a la
presentada anteriormente.
Este enfoque demostró que, independientemente de la cantidad de atributos, el
problema de aumento en la dimensionalidad al utilizar la representación de términos+conceptos, puede ser resuelto aplicando métodos de ltrado de atributos que obtienen una alta precisión con altos niveles de reducción de vocabulario. En algunos casos
esta tarea de ltrado resultada necesaria e inevitable para poder aplicar un cierto clasicador (por ejemplo, el clasicador NB al utilizar Weka).
Capítulo 7. Conjuntos de datos y detalle de los experimentos
92
100
%precision
95
90
85
80
0
0
50
0
5
37
0
0
25
0
5
12
5
87
0
50
0
25
5
17
0
15
tamaño de vocabulario
terminos
conceptos
terminos+conceptos
Figura 7.4: Reducción del tamaño de vocabulario para la colección R8+
7.3.3. Enfoque III: incorporación de hiperónimos
Uno de los modelos propuesto en [45] considera el hecho de agregar los hiperónimos
de los conceptos en la representación de los enfoques que incluyen información semántica.
A partir de los resultados alentadores mostrados en [112, 89] una nueva variante es introducida en este trabajo con el próposito de estimar el impacto de agregar hiperónimos a
la representación.
La idea principal en este enfoque es por ejemplo, si se tiene en un texto la palabra
beef, éste no sólo representa al concepto beef sino también a meat, food y así continuando hasta un cierto nivel de generalidad. En este contexto, se agregan conceptos de
mayor nivel de generalidad, en base a la relación de hiperonimia de la jerarquía WordNet,
a las dos nuevas estrategias de representación presentadas en la sección 7.3.1. Teniendo
como base la Figura 7.1 se implementa e incorpora un algoritmo para la obtención de los
hiperónimos que se ejecuta luego de la tarea de Obtención de oset y antes de aplicar
la transformación a caracteres. Todos los oset producidos son agregados tanto a la
representación de conceptos como al vector de términos+conceptos.
La colección que mayor dicultad ha presentado para los distintos métodos estudiados
fue CIC debido a su alta complejidad, de esta forma se decide aplicar la variante para evaluar una posible mejora en la categorización de este corpus. Como nivel de hiperonimia se
tomó el valor 5 en la jerarquía de WN, que corresponde a los mejores resultados reportados
Clustering utilizando información semántica
93
Sin hiperónimos
Con hiperónimos
N BM U
CN B
N BM
NB
SV M
N BM U
CN B
N BM
NB
SV M
C
35.41
66.66
41.66
70.83
39.58
54.16
56.25
72.00
75
60.41
64.58
45.83
35.41
60.41
54.16
50
T +C
50
47.91
43.75
52.08
Tabla 7.8: Resultados sin hiperónimos vs con hiperónimos
en [45]. Los conceptos en este caso se obtuvieron mediante el método CIAO. En la Tabla
7.8 se resumen los mejores valores obtenidos para CIC con los distintos algoritmos en el
caso de no usar hiperónimos (izquierda) y con el uso de hiperónimos (derecha). Observando
los mejores valores de precisión, tanto para la representación de conceptos (C ) como
para la de términos+conceptos (T + C ), se puede determinar que el comportamiento de
los diferentes clasicadores es muy similar. Mientras que para N BM U , CN B y N BM el
uso de hiperónimos muestra algunas mejoras sobre los resultados sin hiperónimos, para los
algoritmos N B y SV M la incorporación de hiperónimos a la representación no produce
un impacto favorable en el valor de precisión.
Por lo tanto, podemos concluir que la efectividad del uso de este tipo de información
en la representación de los documentos, depende signicativamente del método de categorización utilizado. Un estudio más detallado sería también necesario para determinar
la conveniencia o no de incorporar este tipo de información en la categorización de textos
cortos ya que involucra un costo computacional muy alto para el escaso benecio que se
ve reejado en el valor de precisión.
7.4.
Clustering utilizando información semántica
Como ya fue expuesto anteriormente, la tendencia actual es trabajar con documen-
tos cortos (blogs, mensajes de textos, y otros) lo que ha generado un interés creciente
en diversas aplicaciones del procesamiento automático de documentos. El clustering (agrupamiento) de textos cortos es un área muy importante de investigación, que puede
jugar un rol fundamental en organizar estos grandes volúmenes de textos cortos, en un
número pequeño de grupos signicativos. Al usar el término clustering se hace referencia
a aquella forma de categorización no-supervisada la cual, a diferencia de la categorización
standard, no dispone de información sobre las clases correctas ni ejemplos de asignaciones de instancias a las diferentes clases. Recientemente, el uso de métodos de clustering
Capítulo 7. Conjuntos de datos y detalle de los experimentos
94
bio-inspirados iterativos de textos cortos, ha producido resultados muy interesantes utilizando representaciones de vector de términos clásicas [30, 31]. En esta sección, se analiza,
mediante un estudio experimental, cuál es el impacto que tiene en el desempeño de clustering iterativo utilizando representaciones de documentos enriquecidas con información
semántica obtenida con métodos de desambiguación basados en conocimiento [32, 94].
El algoritmo ITSA? (cuyo nombre deriva de ITerative PAntSA? ), es la versión iterativa
de PAntSA? , un método bio-inspirado diseñado para mejorar los resultados obtenidos
con algoritmos de clustering arbitrarios. PAntSA? es la versión particional del algoritmo
AntTree [6] que además incorpora información sobre el Coeciente de Silueta (Silhouette
Coecient ) [97] y el concepto de atracción de un cluster. En PAntSA? , los datos (en este
caso documentos ) son representados por hormigas que se mueven sobre una estructura
de árbol de acuerdo a su similaridad con las otras hormigas ya conectadas al árbol. Cada
nodo en la estructura del árbol representa una única hormiga y cada hormiga representa
un único documento.
La colección completa de hormigas es representada inicialmente por una lista L de
hormigas que esperan ser conectadas. Comenzando desde un soporte articial a0 , todas las
hormigas son conectadas de manera incremental ya sea en el soporte o bien a otra hormiga
ya conectada. Este proceso continúa hasta que todas las hormigas están conectadas a la
estructura.
Las dos componentes principales de PAntSA? son: 1) la disposición inicial de las hormigas en la lista L, y 2) el criterio utilizado por una hormiga arbitraria ai ubicada sobre el
soporte, para decidir cuál será la hormiga a+ (conectada al soporte) hacia la que debería
moverse. Para el primer paso, PAntSA? toma como entrada el agrupamiento obtenido con
algún algoritmo de clustering arbitrario y usa información sobre el Coeciente de Silueta
(CS) de este agrupamiento para determinar el orden inicial de las hormigas en L. Para
el segundo proceso, PAntSA? usa un criterio más informado basado en el concepto de
atracción. Aquí, si Ga+ = {a+ } ∪ Aa+ es el grupo formado por una hormiga a+ conectada
al soporte y sus descendientes; esta relación entre el grupo Ga+ y la hormiga ai es referida
como la atracción de Ga+ sobre ai y será denotada como att(ai , Ga+ ).
PAntSA? se diferencia de AntTree en otro aspecto importante: no construye estructuras
jerárquicas con raíces (hormigas) directamente conectadas al soporte. En PAntSA? , cada
hormiga aj conectada al soporte (a0 ) y sus descendientes (el grupo Gaj ) es considerado
simplemente como un conjunto. De esta manera, cuando una hormiga arbitraria ai debe
Clustering utilizando información semántica
95
ser incorporada en el grupo de la hormiga a+ que más atracción ejerce sobre ai , este paso
es implementado como un simple agregado de ai al conjunto Ga+ . El algoritmo PAntSA?
resultante es mostrado en la Figura 7.5, donde es posible observar que toma un clustering
arbitrario como entrada y lleva a cabo los siguientes tres pasos para obtener el nuevo
clustering: 1) Conección al soporte, 2) Generación de la lista L y 3) Agrupamiento de las
hormigas en L.
función PAntSA? (C ) retorna un clustering C ?
Entrada: C = {C1 , . . . , Ck }, un agrupamiento inicial
1. Conección al soporte
1.a. Crear un conjunto Q = {q1 , . . . , qk } de k las de datos (una la por cada
grupo Cj ∈ C ).
1.b. Ordenar cada la qj ∈ Q en orden decreciente de acuerdo al Coeciente
de Silueta de sus elementos. Sea Q0 = {q10 , . . . , qk0 } el conjunto de las
ordenadas que resulta de este proceso.
1.c. Sea GF = {a1 , . . . , ak } el conjunto formado por la primer hormiga ai de
cada la qi0 ∈ Q0 . Por cada hormiga ai ∈ GF , remover ai de qi0 e inicializar Gai = {ai } (conectar ai al soporte a0 ).
2. Generación de la lista L
2.a. Sea Q00 = {q100 , . . . , qk00 } el conjunto de las resultante del proceso previo
de remoción de la primer hormiga de cada la en Q0 .
Generar la lista L mezclando las las en Q00 .
3. Proceso de Clustering
3.a. Repetir
3.a.1 Seleccionar la primer hormiga ai de la lista L.
3.a.2 Sea a+ la hormiga con el valor más alto de att(ai , Ga+ ).
Ga+ ← Ga+ ∪ {ai }
Hasta que L esté vacía
retornar C ? = {Ga1 , . . . , Gak }
Figura 7.5: El algoritmo PAntSA? .
En el primer paso, la hormiga más representativa de cada grupo del agrupamiento
recibido como entrada es conectada al soporte a0 . Esta tarea, consiste en seleccionar la
Capítulo 7. Conjuntos de datos y detalle de los experimentos
96
hormiga ai con el valor de CS más alto de cada grupo Ci , y conectar cada una de ellas
al soporte, formando un conjunto de un único elemento Gai . El segundo paso, consiste
en generar la lista L con las hormigas que no fueron conectadas en el paso previo. Este
proceso también considera el ordenamiento basado en el CS obtenido en el paso previo, y
mezcla las hormigas restantes (ordenadas) de cada grupo tomando, en forma iterativa, la
primera hormiga de cada la no vacía, hasta que todas las las están vacías. En el tercer
paso, el orden en el cual las hormigas serán procesadas es determinado por sus posiciones
en la lista L. El proceso de clustering de cada hormiga arbitraria ai simplemente determina
cuál es la hormiga conectada a+ que ejerce más atracción sobre ai 2 y entonces incorpora
a ai en el grupo de a+ (Ga+ ). El algoritmo nalmente retorna un agrupamiento formado
por los grupos de las hormigas conectadas al soporte.
Una vez que el algoritmo PAntSA? es implementado, su versión iterativa llamada
ITSA? , puede ser fácilmente lograda. ITSA? sólo deberá proveer un agrupamiento inicial
a PAntSA? , luego tomar la salida de PAntSA? que servirá como nueva entrada para el
mismo algoritmo en la siguiente iteración, y repetir este proceso hasta que no se observen
cambios en el agrupamiento generado por PAntSA? con respecto a la iteración previa.
Es importante notar que tanto PAntSA? como ITSA? son en realidad métodos de
mejora que trabajan sobre un agrupamiento inicial generado por un algoritmo de clustering separado. Sin embargo, en trabajos recientes [31], se ha observado que ITSA? puede
independizarse de este requerimiento y obtener resultados muy competitivos aún cuando
es provisto con agrupamientos iniciales aleatorios. Esta variante, que será la utilizada en
el trabajo experimental, permite obtener una versión totalmente autocontenida de ITSA?
como algoritmo de clustering, e independizarse de esta manera del algoritmo de clustering
particular utilizado para generar el agrupamiento inicial.
Para estimar la similitud entre documentos se utilizó la popular medida coseno. La
inicialización de parámetros para CLUDIPSO y los restantes algoritmos usados en las
comparaciones corresponden a los parámetros derivados empíricamente en [46].
Los resultados of ITSA? fueron comparados con los resultados de PAntSA? y otros
cuatro algoritmos de clustering: K -means, K -MajorClust [111], CHAMELEON [53] y
CLUDIPSO [29, 46]. Todos estos algoritmos han sido usados en estudios similares y en
particular, CLUDIPSO ha obtenido en trabajos previos [29, 46] los mejores resultados con
2 Actualmente,
como medida de atracción usamos la similitud promedio entre ai y todas las hormigas
en Ga+ pero otras medidas alternativas también serían válidas.
Clustering utilizando información semántica
97
dos de las colecciones de textos cortos que utilizaremos en los experimentos, CICling-2002
y EasyAbstracts.
La calidad de los resultados fue evaluada mediante la medida denominada F -measure
(descripta en la ección 3.2) sobre los agrupamientos que cada algoritmo generó en 50
ejecuciones independendientes por colección. Los resultados reportados corresponden a
los valores de medida F mínimo (Fmin ), máximo (Fmax ) y promedio (Favg ). Los valores
resaltados en negrita en la tabla con los resultados indican los mejores resultados obtenidos
en cada caso.
La Tabla 7.9 muestra los valores Fmin , Fmax y Favg que K -means, K -MajorClust,
CHAMELEON y CLUDIPSO obtuvieron con las cuatro colecciones. También se incluyen
los resultados obtenidos con PAntSA? e ITSA? tomando como entrada los agrupamientos generados por un proceso simple (denotado R-Clustering) que determina de manera
aleatoria el grupo de cada documento. Estos resultados de PAntSA? e ITSA? utilizando
la representación de términos tradicional son denotados como R-Clust? y R-Clust?? respectivamente. Los resultados de ITSA? utilizando vectores de conceptos son denotados
R-Clust?? -C mientras que aquellos que combinan términos y conceptos son referenciados
como R-Clust?? -T+C.
Los resultados obtenidos son concluyentes respecto al buen desempeño de ITSA? con
las colecciones con mayor número de documentos (R8+ y R8-) cuando se incorpora información semántica en la representación de los textos cortos. En este sentido, se debe notar
que ITSA? obtiene los mejores valores de Fmin , Fmax y Favg utilizando representaciones
que sólo utilizan conceptos (R-Clust?? -C) en el caso de R8+ y con representaciones que
utilizan conceptos y términos (R-Clust?? -T+C) en el caso de R8-. Los resultados con las
otras dos colecciones más pequeñas, si bien no son tan categóricos, son altamente competitivos con los obtenidos por los restantes algoritmos. En el caso de CICling-2002 (una
colección que ha exhibido una alta complejidad en trabajos previos) ITSA? obtiene los
mejores valores de Fmax y Favg con representaciones que sólo utilizan conceptos, y sólo es
mínimamente superado en el valor de Fmin por el algoritmo CLUDIPSO. Con respecto
a EasyAbstracts, la variante R-Clust?? -T+C obtiene el mejor valor de Favg , si bien es superada en Fmin por CLUDIPSO, y levemente superada por la variante de ITSA? que sólo
utiliza términos (R-Clust?? ).
Los resultados obtenidos en el trabajo experimental, son altamente prometedores respecto a la efectividad de este enfoque, obteniéndose resultados muy competitivos en la
Capítulo 7. Conjuntos de datos y detalle de los experimentos
CICling-2002
EasyAbstracts
98
R8-
R8+
Algoritmos
Favg
Fmin
Fmax
Favg
Fmin
Fmax
Favg
Fmin
Fmax
Favg
Fmin
R-Clust?
0.54
0.42
0.71
0.76
0.54
0.96
0.63
0.52
0.73
0.64
0.54
0.7
R-Clust??
0.6
0.75
0.67
0.72
1
0.66
0.57
0.74
0.77
0.92
0.92
0.98
0.72
0.63
0.82
0.65
0.73
0.57
0.58
0.72
0.78
0.72
0.93
0.71
0.98
0.71
0.59
0.78
0.74
0.62
0.79
Fmax
R-Clust?? -C
0.62
0.46
0.46
R-Clust?? -T+C
0.59
0.46
K -Means
0.45
0.35
0.6
0.54
0.31
0.71
0.64
0.55
0.72
0.60
0.46
0.72
K -MajorClust
0.39
0.36
0.48
0.71
0.48
0.98
0.61
0.49
0.7
0.57
0.45
0.69
CHAMELEON
0.46
0.38
0.52
0.74
0.39
0.96
0.57
0.41
0.75
0.48
0.4
0.6
CLUDIPSO
0.6
0.47
0.73
0.92
0.85
0.98
0.62
0.49
0.72
0.57
0.45
0.65
Tabla 7.9: Mejores valores de medida F por colección.
mayoría de las instancias experimentales consideradas y, en algunos casos, alcanzándose
los mejores resultados reportados en la literatura especíca en el área. Este último aspecto,
no es una observación menor, si consideramos que los métodos de WSD utilizados para
obtener los conceptos (WSD basado en conocimiento) son considerados como métodos
débiles en relación a otros métodos supervisados más elaborados, por lo que cualquier
mejora introducida en el proceso de WSD subyacente podría resultar en una mejora del
proceso de clustering completo.
Capítulo 8
Conclusiones y trabajos futuros
Si buscas resultados distintos, no hagas siempre lo mismo.
Albert Einstein. Cientíco alemán.
En este capítulo se presentan las conclusiones del trabajo realizado y se plantean propuestas para investigaciones futuras. El principal aporte fue la elaboración de un trabajo
interdisciplinario que realiza contribuciones en el ámbito de IL usando como sustento aspectos básicos del PLN y la IS. La utilización de información semántica, mediante métodos
de WSD basados en conocimiento, es el eje principal de los experimentos realizados en
la CT cortos con los cuales se obtuvieron resultados prometedores. En este sentido, la
implementación de un marco de trabajo para brindar robustez, conabilidad y calidad en
el pre-procesamiento semántico dio soporte sustentable a los trabajos experimentales. En
base a las conclusiones previas se pueden identicar dos áreas denidas de estudios para
los trabajos futuros, desde el ámbito de PLN y desde la IS.
8.1.
Aportes realizados
Uno de los objetivos de este trabajo fue determinar si la incorporación de información
semántica en la representación de documentos, a partir de métodos no supervisados de
WSD, aporta benecios a la CT cortos. Más precisamente, los experimentos de este trabajo se fundamentan en el enfoque basado en conocimiento para la tarea de desambiguación,
debido a que es una de las alternativas viables en casos donde no se dispone de una colección de entrenamiento para la WSD. Dos estrategias fueron consideradas y analizadas:
Capítulo 8. Conclusiones y trabajos futuros
100
conceptos y términos+conceptos. Se evaluaron diferentes codicaciones y diferentes
clasicadores en los experimentos de categorización, como así también el impacto de la
reducción de vocabulario en el comportamiento de dicha tarea.
Se concluye que el uso de información semántica en la representación de los documentos, a través de métodos basados en conocimiento, benecia la tarea de categorización
de documentos cortos, en especial el enfoque que denominamos términos+conceptos.
Este enfoque demostró que, a pesar de que involucra generalmente un aumento en la dimensionalidad de la representación, puede obtener una precisión muy alta con elevados
niveles de reducción de vocabulario. Con respecto al desempeño de los distintos métodos
de WSD, teniendo en cuenta que no hay un único método de WSD basado en conocimiento
que presente los mejores resultados para todas las colecciones, se puede armar que un
óptimo WSD general no puede ser determinado en base a los experimentos realizados. Por
tal motivo, el mejor valor de precisión depende de la codicación y el clasicador utilizado
en la CT.
A partir de los resultados altamente promisorios obtenidos en el trabajo experimental con CT, se decide experimentar con otra de las aplicaciones vinculadas a PLN. De
este modo, se realizan pruebas aplicando métodos de clustering bio-inspirados iterativos
que obtuvieron resultados importantes utilizando la representación original de vectores
[30, 31]. Un aporte interesante surge en este contexto, ya que se obtiene un desempeño
competitivo del clustering iterativo utilizando representaciones de documentos enriquecidas con información semántica en la mayoría de las instancias experimentales consideradas. Con referencia a esto último es importante tener en cuenta que, si consideramos que
los métodos de WSD utilizados en este trabajo (basados en conocimiento) pueden calicarse como métodos débiles en relación a otros métodos supervisados más elaborados,
entonces la mejora obtenida puede ser trascendental.
Por otro lado, las ventajas del uso de hiperónimos en la representación de documentos
cortos no han quedado demostradas y es un punto que requiere investigación futura. En
este sentido, una extensión interesante es la planteada en [45] para la tarea de clustering que consiste en no remover los términos que no pudieron ser desambiguados para
la representación de conceptos sino agregarlos como parte del vector junto con los que
pudieron ser desambiguados con alguno de los métodos de WSD (sería una variante al
enfoque planteado en la sección 7.3.1).
Trabajos futuros
101
En base a las conclusiones anteriores, donde se destaca el buen desempeño del preprocesamiento semántico no supervisado para tareas vinculadas al PLN, se implementa
un marco de trabajo que brinda soporte al investigador en la reproducción exacta de
experimentos anteriores como así también, hacer más sencilla la creación de nuevos experimentos para la obtención de los vectores que representan a los documentos de texto.
El framework desarrollado brinda un manejo sencillo de los documentos que se utilizan
para el pre-procesado semántico, un acceso unicado a los algoritmos de análisis sintáctico
(o pos-tagging) y de análisis semántico (o WSD). Al tener una arquitectura simple y modular es posible extender fácilmente el framework, incorporando nuevos algoritmos como
procesos intermedios. En este contexto, se proveen interfaces y clases abstractas básicas
para las tareas involucradas en la obtención de los vectores. Por lo tanto, los módulos
que pretendan hacer uso de los servicios que brinda el framework únicamente deberán
implementar los componentes abstractos del mismo.
Si bien el uso del framework alivió la tarea de obtención de los vectores para la representación de documentos, la posibilidad de combinar los algoritmos disponibles en
las distintas etapas era una tarea engorrosa ya que se hacía manualmente. El desarrollo
de una interfaz gráca extendió los benecios del framework original, evitando que el
usuario tenga que conocer detalles subyacentes de la implementación. De esta manera, la
selección y el posterior enlace de los diferentes algoritmos en las distintas etapas ya no
es un proceso complejo que exige codicación, permitiendo a usuarios tanto del ámbito
informático como de otras áreas de estudio tener acceso a un conjunto de funcionalidades
para el análisis de textos. Pre.Se.Do. fue desarrollado para hacer factible la interacción en
forma amigable, rápida y sencilla del usuario con el framework implementado.
Finalmente, se muestra lo sencillo que resulta la adaptación de un módulo del framework desarrollado para el acoplamiento al sistema GATE. De esta manera, se puede generalizar armando que incorporar los demás componentes de nuestro framework a sistemas
mayores es una tarea simple y factible de ser realizada.
8.2.
Trabajos futuros
En base a los experimentos realizados y a las conclusiones obtenidas de los mismos,
podemos identicar dos áreas donde la investigación llevada a cabo en este trabajo puede
ahondar. Con respecto al ámbito del PLN sería posible:
Capítulo 8. Conclusiones y trabajos futuros
102
Analizar el comportamiento de la incorporación de información semántica en otras
aplicaciones del PLN, distintas a CT y clustering.
Incorporar nuevos algoritmos para las distintas etapas del pre-procesamiento semántico. Por ejemplo para la WSD, usar otras variantes del algoritmo de Lesk como el
Simplicado o el Simulated anealing, otros métodos heurísticos como la técnica
de considerar un sentido por discurso y la aplicación de otras medidas de similitud
semánticas como las introducidas en [79, 90].
Investigar y evaluar la posibilidad de trabajar con otras ontologías, diferente a WordNet, con el n de ampliar la colección de conceptos y relaciones jerárquicas. Como,
por ejemplo analizar si es viable el uso de la ontología Yago, que con alta cobertura
y precisión combina los datos de Wikipedia y WordNet [116].
Por otro lado, en relación a la IS y al framework desarrollado existe la posibilidad de
que en base a los puntos anteriores pueda ser extendido para que tome en cuenta:
Ampliar el abanico de opciones en cuanto al formato del origen de datos para
poder ser adaptado a otras tareas que involucren sólo algunas (y no necesariamente
todas) las tareas de pre-procesamiento semántico.
Adecuar la GUI Pre.Se.Do (originalmente implementada como una aplicación de
escritorio) para que pueda ser usada desde la Web. De este modo, se permite a
usuarios desde cualquier parte del mundo acceder a la aplicación e integrar sus
propios módulos al framework desarrollado.
Profundizar sobre temas vinculados a la Web semántica, cuya idea principal es la
incorporación de metadatos semánticos y ontológicos a la World Wide Web. Esa información adicional compuesta por el contenido, el signicado y relaciones entre los
datos deben ser proporcionadas de manera formal para poder evaluarlas automáticamente y podría signicar un vínculo relevante con el framework presentado.
Apéndice A
Acrónimos
AA. Aprendizaje Automático
API. Interface de Programación de Aplicaciones
C. conceptos
CIAO. CIAOSENSO
CIC. CICling-2002
CNB. Complement Naive Bayes
CT. Categorización de Textos
Easy. EasyAbstract
GATE. General Architecture for Text Engineering
GUI. Graphic User Interface
IL. Ingeniería del Lenguaje
IS. Ingeniería de Software
ITSA. ITerative PAntSA
LM. Lesk Mejorado
MD. Minería de Datos
MFS. Most Frequent Sense
NB. Naive Bayes
Apéndice A. Acrónimos
NBM. Naive Bayes Multinomial
NBMU. Naive Bayes Multinomial Updateable
PLN. Procesamiento del Lenguaje Natural
Pre.Se.Do. Pre-procesamiento Semántico de Documentos
RI. Recuperación de la Información
SVM. Support Vector Machine
T+C. términos+conceptos
VSM. Vector Space Model
WN. WordNet
WSD. Word Sense Disambiguation
104
Apéndice B
Documentación del Framework
Es de sentido común elegir un método y probarlo. Si falla, admitirlo francamente y
probar con otro. Pero, sobre todo, intentar algo.
Franklin Roosevelt. Político estadounidense.
La documentación del framework es esencial para que éste pueda ser reutilizable.
Una buena documentación para las especicaciones de un framework debe detallar como
mínimo:
El propósito del framework.
La forma de ejecutar dicho framework.
B.1.
Propósito
Todo framework tiene el objetivo de capturar las decisiones de diseño comunes a un
tipo de aplicación, estableciendo un modelo para todas ellas, asignando responsabilidades
y estableciendo colaboraciones entre las clases que forman el modelo. La nalidad de este
trabajo es proveer de un conjunto de módulos que permitan realizar de una manera sencilla
las tareas de pre-procesado semántico de textos para la obtención de los vectores que serán
utilizados en la representación de documentos para diversas aplicaciones de PLN. Entre
las tareas implementadas están los algoritmo de steeming, etiquetado sintáctico (o pos-
tagging ) y de desambiguación (WSD ). De la misma manera, se facilita el acceso a los
Apéndice B. Documentación del Framework
106
archivos de la base de datos léxica WordNet, uno de los recursos externo más utilizado
para las tareas vinculadas a PLN. Esto último se logró mediante la adaptación de la API
WordNet .NET (mencionada en la sección 6.1.3) a lenguaje Java por ser la única que
satisfacía los requerimientos de diseño incial del framework.
B.2. Utilización y ejecución del framework
El objetivo principal del framework es pre-procesar un conjunto de archivos de texto
para generar un conjunto de vectores que será utilizado posteriormente para la tarea de
categorización (o cualquier tarea vinculada al PLN). Para utilizar el framework con un
conjunto de textos especíco el primer paso a realizar es un análisis de los diferentes
algoritmos de POS-tagging y WSD disponibles de acuerdo al problema a solucionar.
Luego de realizado el análisis y seleccionados los algoritmos a aplicar, el próximo paso es
determinar si el algoritmo ya está implementado o necesita ser incluído como un nuevo
módulo en el framework. Para incluir un nuevo módulo, dependiendo de la tarea a incluir
(POS-tagging o WSD) se deberá realizar una acción diferente:
Para un algoritmo de POS-tagging, se debe crear una nueva clase, dentro del paquete
postagger, que herede de la clase POSTagger e implemente el método posTag con la
lógica correspondiente al etiquetador sintáctico a incluir. Un ejemplo simplicado
de la implementación se muestra en la Figura B.1.
package ar.edu.unsl.cs.wsd.postagger;
public class MFWNPOSTagger extends POSTagger {
public WordInfo[] posTag(String[] words) {
WordInfo[] wordInfos = ...
return wordInfos;
}
}
Figura B.1: Ejemplo clase POSTagging
Para un algoritmo de WSD se debe crear un nuevo subpaquete dentro del paquete
wsd que contendrá los archivos Java necesarios para la implementación del algoritmo a incluir. Además debe incluirse una clase WSDhnbreAlgoritmoi que herede de
Utilización y ejecución del framework
107
la clase WSD e implemente el método disambiguate con la lógica correspondiente
al desambiguador a incorporar. Un ejemplo simplicado de la implementación se
muestra en la Figura B.2.
package ar.edu.unsl.cs.wsd;
public class WSDLesk extends WSD {
protected WordInfo[] disambiguate(String[] words) {
wordInfos = wsd.disambiguate(wordInfos);
return wordInfos;
}
}
Figura B.2: Ejemplo clase WSD
Una vez que el desarrollo anterior ha sido completado, para realizar una ejecución con
una colección de documentos, se deben congurar los algoritmos de POSTagger y WSD
a ejecutar en el archivo, de la siguiente manera:
java preproccess hnbreClasePOSTaggeri hnbreClaseWSDi hDirectorioi
Donde,
hnbreClasePOSTaggeri representa el nombre de la clase que implementa el algoritmo
de etiquetado sintáctico a ejecutar.
hnbreClaseWSDi representa el nombre de la clase que implementa el algoritmo de
desambiguación que se usará en la ejecución del pre-procesado.
hDirectorioi es la carpeta raíz que contiene la colección de documentos a preprocesar.
El resultado de la ejecución anterior es un conjunto de archivos (que se corresponden
con los de entrada) conteniendo para cada término, su correspondiente synset luego de
ser desambiguado por el algoritmo utilizado. Luego, estos archivos deben ser procesados
mediante la ejecución de la clase GetSynsetOset para obtener, utilizando WordNet, el
Apéndice B. Documentación del Framework
108
identicador único del synset para cada término desambiguado. Finalmente, se realiza
la transformación de los dígitos del oset a letras (de la a a la j ) que formarán el vector
de conceptos que será utilizado como datos de entrada a las herramientas que resuelven
distintas tareas vinculadas al PLN.
Apéndice C
Documentación de Pre.Se.Do
...se puede pensar a la ingeniería como la ciencia para la gente impaciente
Herb Simon. PhD in Computer Science
El desarrollo de una interfaz gráca de usuario en lenguaje Java puede ser realizado
de varias maneras, las más utilizadas son a través de: Abstract Windows Toolkit (AWT ),
Swing y Standard Widget Toolkit (SWT ).
AWT soporta un conjunto de elementos con una apariencia más simple comparada
con los de Swing. Pero, al ser una tecnología muy estable y poder ejecutarse en
cualquier lugar donde el Java Runtime Environment esté instalado la convierte en
una buena opción de uso.
Swing proporciona GUIs que tienen apariencia elegante y sosticada. Es una tecnología relativamente lenta debido a que los controles son realizados por el propio
Java.
SWT está compuesto por un conjunto de widgets y una biblioteca de grácos. Hace
posible el diseño de GUIs con apariencia muy similar a las aplicaciones de escritorio
tradicionales. Los controles son construidos por los archivos DLL nativos por lo que
es la opción más rápida de las tres.
Por otro lado, está disponible en forma gratuita un plugin (plug-in), denominado
Jigloo, que se añade a Eclipse para diseñar GUIs con AWT, Swing y SWT lo que facilita
Apéndice C. Documentación de Pre.Se.Do
110
gran parte del trabajo de desarrollo. Jigloo crea y administra el código para todas las
partes de Swing, SWT y manejo de eventos, además permite visualizar la GUI a medida
que se va construyendo. Jigloo es sencillo, rápido, potente, fácil de usar y totalmente
integrado con Eclipse. Esto puede llevar a importantes ahorros de tiempo para el desarrollo
de interfaz gráca de usuario y sus tareas de mantenimiento. Jigloo ofrece las siguientes
características generales:
Construye clases Java para interfaces grácas de usuario en SWT o Swing, con un
simple editor WYSIWYG.
Edición de dos vías (o de ida y vuelta), los cambios realizados en el editor de
formularios se recogen en el código, y los cambios realizados al código se reeja
también en el editor de formularios. Actualización en el momento de los cambios
realizados en ambos editores.
Puede reconocer y manipular el código generado manualmente o por otros IDE (por
ejemplo, NetBeans, JBuilder, etc.).
Pueden agregarse componentes y modicar la conguración de los diseños.
Fácil navegación entre los editores de código fuente y de formularios.
Multiselección de los componentes para el ajuste de las propiedades, los parámetros
de diseño, y acciones como copiar, cortar, pegar y borrar.
Manipula la mayoría de las propiedades de los componentes de interfaz gráca de
usuario, tales como colores, fuentes, imágenes, tamaños, etc..
Crea controladores para todos y cada uno de los eventos de los componentes.
El código de Java y la forma interfaz gráca de usuario se puede ver en un solo
editor (ya sea una fracción de panel) o se puede seleccionar el diseño con solapas o
pestañas.
Por todos los motivos especicados anteriormente se decidió utilizar las facilidades de
Jigloo para el desarrollo de una interfaz gráca que haga posible interactuar en forma
amigable, rápida y sencilla con el framework desarrollado y descripto detalladamente en
el Apéndice B. Inicialmente, en el framework propuesto en este trabajo, la posibilidad de
111
Figura C.1: Ventana inicial de Pre.Se.Do
combinar diferentes algoritmos en las distintas etapas era un proceso que se hacía manualmente y codicando. Es decir, no existía un controlador del ujo ni entorno gráco para
ejecutar los diferentes módulos, sino que la salida del anterior debía ser provista y codicada como entrada al posterior. Como una posible extensión a este framework se decide
implementar dicho controlador gráco. Pre.Se.Do. (las siglas para Pre-procesamiento
Semántico de Documentos ) es un entorno gráco que ha sido desarrollado para facilitar
al usuario el pre-procesamiento semántico de una colección de documentos. Agiliza y simplica la selección y el posterior proceso de las tareas que componen el ujo de ejecución
descripto en el Capítulo 6 y el Apéndice B.
Figura C.2: Ventana principal de Pre.Se.Do.
Apéndice C. Documentación de Pre.Se.Do
112
La Figura C.1 muestra la ventana inicial con dos opciones posibles: acceder a la aplicación Pre.Se.Do o solicitar ayuda para el uso de la misma. En la Figura C.2 se muestra el
entorno que ofrece una interfaz gráca para utilizar las distintas funcionalidades que ofrece
Pre.Se.Do.. Dentro del entorno principal existen 4 sub-entornos para realizar las distintas
tareas que involucra el pre-procesado semántico de documentos según fue descripto en el
Capítulo 6:
1. Etiquetado Sintáctico (POS-tagger)
2. Analizador Semántico (Word Sense Desambiguation)
3. Obtención de Vectores
4. Obtención de Relaciones en WordNet
Figura C.3: Explorador para seleccionar la colección
El primer paso para comenzar a trabajar con la aplicación es denir el origen de los
datos. Por lo tanto, debe seleccionarse en primer lugar el corpus o colección con la que se va
a trabajar, la misma debe ser una carpeta conteniendo las diferentes subcategorías dentro
de las cuales se encontrarán los archivos de textos a analizar que tendrán extensión .txt.
Para seleccionar la carpeta corpus se puede realizar de dos maneras, ya sea escribiendo
directamente en el cuadro de texto Carpeta Corpus la ruta completa donde se encuentra
la colección a analizar o mediante el explorador mostrado en la Figura C.3 pulsando el
botón Explorar en la ventana principal de Pre.Se.Do.. Si la selección de un corpus no ha
sido realizado un aviso de error será mostrado en una ventana de diálogo como el de la
113
Figura C.4. Finalmente, una vez seleccionado el origen de datos es posible comenzar a
realizar alguna de las tareas implementadas.
Figura C.4: Ventana de diálogo de aviso de error
La primera solapa permite realizar el análisis sintáctico del corpus. Los archivos a
pre-procesar en esta tarea deben tener extensión .txt y a la salida se le anexará la
extensión .pos. En primer lugar se debe seleccionar el algoritmo con el cuál se realizará
esta tarea. La descripción de los algoritmos MFWN y Brill fue incluída en el Capítulo
6. Es importante destacar que, como se especicó en el Capítulo 6, el framework está
orientado a la extensibilidad por lo que añadir funcionalidades es una tarea sencilla,
que sólo requiere incluir nuevos algoritmos de las distintas tareas que conforman el ujo
de ejecución. Al pulsar el botón Get PosTagger comienza la ejecución pudiendo ser
cancelada en cualquier momento durante el procesamiento, pulsando Cancelar. De esta
manera una ventana como la mostrada en la Figura C.5 se abrirá para conrmar la
interrupción o no de la ejecución.
Figura C.5: Ventana de diálogo para Cancelar el proceso
Para vericar que la tarea está en proceso y llevar un control de los archivos ejecutándose en cada momento, el cuadro de texto inferior de la pantalla fue agregado para ir
mostrando cual es el archivo que está actualmente procesandose. Esto puede verse en la
Figura C.6.
En la segunda solapa o pestaña, mostrada en la Figura C.7, se puede realizar el análisis
semántico de los textos que ya han sido analizados sintácticamente. Para la tarea de
desambiguación es posible optar por alguno de los tres algoritmos implementados: SMF
(most frequent sense), CIAO y Lesk (en su versión mejorada o adaptada). Tanto para
Apéndice C. Documentación de Pre.Se.Do
114
Figura C.6: Ventana procesando una tarea
la tarea anterior como para las siguientes es posible interrumpir, en todo momento, la
ejecución del procesamiento que para este caso comenzó al pulsar el botón Get WSD.
Figura C.7: Solapa para la tarea de WSD
En la Figura C.8 se muestra la solapa que permite realizar la tarea nal para la
obtención de los vectores que serán utilizados (representando los documentos) como datos
de entrada en distintas aplicaciones vinculadas al PLN. De la misma manera que para las
tareas anteriores se deberá optar por una alternativa entre varias, en este caso, vectores
de términos (Terms ), conceptos (Concepts ) o términos+conceptos (Terms+Concepts ).
115
Figura C.8: Solapa para la tarea de Vectores
Finalmente, y como un anexo al trabajo realizado, en el Capítulo 7 se considera el hecho
de agregar información complementaria a los vectores a partir de las relaciones jerárquicas
presentes en WordNet. En este contexto, se decidió incluir una solapa (mostrada en la
Figura C.9) que permite seleccionar entre las relaciones de hiponimia, hiperonimia, meron-
imia y holonimia para agregar información semántica a los vectores de conceptos y términos+conceptos. Es importante aclarar que, varias alternativas pueden ser seleccionadas
para este caso pero que al momento sólo está implementada la relación de hiperonimia
con la cual se realizaron trabajos experimentales.
Figura C.9: Solapa para la tarea de Relaciones
Apéndice C. Documentación de Pre.Se.Do
116
Bibliografía
[1] Eneko Agirre and David Martínez. Exploring automatic word sense disambiguation
with decision lists and the web. Corpus Research Repository, cs.CL/0010024, 2000.
[2] Eneko Agirre and German Rigau. Word sense disambiguation using conceptual
density. In COLING, pages 1622, 1996.
[3] Mikhail Alexandrov, Alexander Gelbukh, and Paolo Rosso. An approach to clustering abstracts. In NLDB, pages 813, 2005.
[4] Gianni Amati, Daniela D. Aloisi, Vittorio Giannini, and Flavio Ubaldini. A framework for ltering news and managing distributed data. UCS, 3(8):10071021, 1997.
[5] David Pinto Avendaño, Héctor Jiménez-Salazar, and Paolo Rosso. Clustering abstracts of scientic texts using the transition point technique. In CICLing, pages
536546, 2006.
[6] Hanane Azzag, Nicolás Monmarche, Mohamed Slimane, Gilles Venturini, and Christiane Guinot. AntTree: A new model for clustering with articial ants. In CEC,
pages 26422647, 2003.
[7] Douglas Baker and Andrew McCallum. Distributional clustering of words for text
classication. In SIGIR, pages 96103, 1998.
[8] Satanjeev Banerjee. Adapting the Lesk Algorithm for Word Sense Disambiguation to
WordNet. PhD thesis, Department of Computer Science. University of Minnesota,
2002.
[9] Satanjeev Banerjee and Ted Pedersen. An adapted lesk algorithm for word sense
disambiguation using wordnet. In CICLing, pages 136145, 2002.
BIBLIOGRAFÍA
118
[10] Jörg Becker and Dominik Kuropka. Topic-based vector space model. In BIS, pages
712, 2003.
[11] Steven Bird. Nltk: the natural language toolkit. In COLING/ACL, pages 6972,
2006.
[12] K. H. V. Booth. Machine aided translation with a post-editor. In Machine Trans-
lation, pages 5176. North-Holland, 1967.
[13] Eric Brill. A simple rule-based part of speech tagger. In ANLP, pages 152155,
1992.
[14] Ted Briscoe and Bran Boguraev. Computational lexicography for natural language
processing. Longman Publishing Group, 1989.
[15] Davide Buscaldi, Paolo Rosso, and Francesco Masulli. The upv-unige-ciaosenso wsd
system. In SENSEVAL, pages 7782, 2004.
[16] Maria F. Caropreso, Stan Matwin, and Fabrizio Sebastiani. A learner-independent
evaluation of the usefulness of statistical phrases for automated text categorization,
2001.
[17] Noam Chomsky. Aspects of the theory of syntax. MIT Press, 1965.
[18] Yaacov Choueka and Serge Lusignan. Disambiguation by short contexts. Computers
and the Humanities, 19(3):147157, 1985.
[19] William Cohen and Yoram Singer. Context-sensitive learning methods for text
categorization. ACM Transformation Information System, 17(2):141173, 1999.
[20] Hamish Cunningham, Diana Maynard, Valentin Tablan, Cristian Ursu, and Kalina
Bontcheva. Developing language processing components with gate version 7 (a user
guide), 2012.
[21] Hamish Cunningham and Donia Scott. Software architecture for language engineering. Natural Language Engineering, 10(3-4):205209, 2004.
[22] Hamish Cunningham, Yorick Wilks, and Robert Gaizauskas. Gate-a general architecture for text engineering. In COLING, pages 10571060, 1996.
BIBLIOGRAFÍA
119
[23] Ido Dagan and Alon Itai. Word sense disambiguation using a second language
monolingual corpus. Computational Linguistics, 20(4):563596, 1994.
[24] Ido Dagan, Alon Itai, and Ulrike Schwall. Two languages are more informative than
one. In Association for Computational Linguistics, pages 130137, 1991.
[25] Franca Debole and Fabrizio Sebastiani. An analysis of the relative hardness of
reuters-21578 subsets. American Society for Information Science and Technology,
56(6):584596, 2005.
[26] Scott Deerwester, Susan Dumais, Thomas Landauer, George Furnas, and Richard
Harshman. Indexing by latent semantic analysis. American Society for Information
Science, 41(6):391407, 1990.
[27] Xiaowen Ding, Bing Liu, and Philip Yu. A holistic lexicon-based approach to opinion
mining. In WSDM, pages 231240, 2008.
[28] Susan Dumais, John Platt, Mehran Sahami, and David Heckerman. Inductive learning algorithms and representations for text categorization. In CIKM, pages 148155,
1998.
[29] Marcelo Errecalde, Leticia Cagnina, Diego Ingaramo, and Paolo Rosso. A discrete
particle swarm optimizer for clustering short-text corpora. In BIOMA, pages 93
103, 2008.
[30] Marcelo Errecalde and Diego Ingaramo. Short-text corpora for clustering evaluation.
Technical report, LIDIC, U.N.S.L., San Luis, Argentina, 2008.
[31] Marcelo Errecalde, Diego Ingaramo, and Paolo Rosso. Itsa*: an eective iterative
method for short-text clustering tasks. In IEA-AIE, pages 550559, 2010.
[32] Marcelo Errecalde, María V. Rosas, Diego Ingaramo, and Paolo Rosso. Clustering
iterativo de textos cortos con representaciones basadas en conceptos. In IBERAMIA,
pages 8089, 2010.
[33] Marcelo Errecalde, María V. Rosas, and Paolo Rosso. Un framework de ingeniería
del lenguaje para el pre-procesado semántico de textos. In CACIC, pages 587596,
2010.
BIBLIOGRAFÍA
120
[34] Christiane Fellbaum. WordNet: An Electronic Lexical Database. Bradford Books,
1998.
[35] Edward Fox, Gerard Salton, and Harry Wu. Extended boolean information retrieval.
Computational and Applied Mathematics, 26(11):10221036, 1983.
[36] Norbert Fuhr, Stephan Hartmann, Gerhard Lustig, Michael Schwantner, Kostas
Tzeras, and Gerhard Knorz. Air/x - a rule-based multistage indexing system for
iarge subject elds. In RIAO, pages 606624, 1991.
[37] Luigi Galavotti, Fabrizio Sebastiani, and Maria Simi. Experiments on the use of
feature selection and negative evidence in automated text categorization. In ECDL,
pages 5968, 2000.
[38] William Gale, Kenneth Church, and David Yarowsky. A method for disambiguating
word senses in a large corpus. Computers and the Humanities, 26:415439, 1992.
[39] Stephen Garner. Weka: The waikato environment for knowledge analysis. In New
Zealand Computer Science Research Students Conference, pages 5764, 1995.
[40] Julio Gonzalo, Felisa Verdejo, Irina Chugur, and Juan Cigarrán. Indexing with wordnet synsets can improve text retrieval. Corpus Research Repository, volume:cmplg/9808002, 1998.
[41] P. Hayati and V. Potdar. Evaluation of spam detection and prevention frameworks
for email and image spam: a state of art. In Information Integration and Web-based
Applications & Services, 2008.
[42] José M. Gómez Hidalgo. Evaluating cost-sensitive unsolicited bulk email categorization. In SAC, pages 615620, 2002.
[43] José M. Gómez Hidalgo and Manuel de Buenaga Rodríguez. Integrating a lexical
database and a training collection for text categorization. Computing Research
Repository, volume:cmp-lg/9709004(1):130148, 1997.
[44] José M. Gómez Hidalgo, Juan I. Giráldez, and Manuel de Buenaga Rodríguez. Text
categorization for internet content ltering. Revista Iberoamericana de Inteligencia
Articial, 22(1):147160, 2003.
BIBLIOGRAFÍA
121
[45] Andreas Hotho, Steen Staab, and Gerd Stumme. Ontologies improve text document clustering. In ICDM, pages 541544, 2003.
[46] Diego Ingaramo, Marcelo Errecalde, Leticia Cagnina, and Paolo Rosso. Compu-
tational Intelligence and Bioengineering, chapter Particle Swarm Optimization for
clustering short-text corpora, pages 319. IOS press, 2009.
[47] Diego Ingaramo, David Pinto, Paolo Rosso, and Marcelo Errecalde. Evaluation of
internal validity measures in short-text corpora. In CICLing, pages 555567, 2008.
[48] Diego Ingaramo, María V. Rosas, Amparito Asensio, and Marcelo Errecalde. Tópicos avanzados en categorización de textos. In WICC, pages 7579, 2009.
[49] George John, Ron Kohavi, and Karl Peger. Irrelevant features and the subset
selection problem. In ICML, pages 121129, 1994.
[50] Ralph Johnson. Components, frameworks, patterns. Computational and Applied
Mathematics, 40(1):1017, 1997.
[51] Daniel Jurafsky and James Martin. Speech and Language Processing: An Introduc-
tion to Natural Language Processing, Computational Linguistics and Speech Recognition. Prentice-Hall, 2000.
[52] Paul Kantor. Foundations of statistical natural language processing. Infomation
Retrieval, 4(1):8081, 2001.
[53] George Karypis, Eui-Hong Han, and Kumar Vipin. Chameleon: Hierarchical clustering using dynamic modeling. Computer, 32(8):6875, 1999.
[54] Athanasios Kehagias, Vassilios Petridis, Vassilis Kaburlasos, and Pavlina Fragkou. A
comparison of word- and sense-based text categorization using several classication
algorithms. Intelligence Information System, 21(3):227247, 2003.
[55] Moshe Koppel, Jonathan Schler, and Shlomo Argamon. Computational methods in
authorship attribution. JASIST, 60(1):926, 2009.
[56] Donald Kraft and Duncan Buell. Fuzzy sets and generalized boolean retrieval systems. International Journal of Man-Machine Studies, 19(1):4556, 1983.
BIBLIOGRAFÍA
122
[57] Oh-Woog Kwon and Jong-Hyeok Lee. Web page classication based on k-nearest
neighbor approach. In IRAL, pages 915, 2000.
[58] John Laerty and ChengXiang Zhai. Probabilistic relevance models based on document and query generation, 2002.
[59] Ken
Lang.
Original
20
newsgroups
dataset,
1993.
http://kdd.ics.uci.edu/databases/20newsgroups/20newsgroups.html.
[60] Leah Larkey. A patent search and classication system. In ACM DL, pages 179187,
1999.
[61] Jochen Leidner. Current issues in software engineering for natural language processing. In SEALTS, pages 4550, 2003.
[62] Michael Lesk. Automatic sense disambiguation using machine readable dictionaries:
How to tell a pine cone from an ice cream cone. In 5th International Conference on
Systems Documentation, 1986.
[63] David Lewis. Evaluating and optimizing autonomous text classication systems. In
SIGIR, pages 246254, 1995.
[64] David Lewis and Marc Ringuette. A comparison of two learning algorithms for text
categorization. In DAIR, pages 8193, 1994.
[65] David Lewis, Robert Schapire, James Callan, and Ron Papka. Training algorithms
for linear text classiers. In SIGIR, pages 298306, 1996.
[66] David Lewis and Alan Smeaton. Use of natural language processing at trec. In
TREC, pages 365366, 1992.
[67] Dekang Lin. Using syntactic dependency as local context to resolve word sense
ambiguity. In ACL, pages 6471, 1997.
[68] Andrew K. Lui, Siu C. Li, and Sheung O. Choy. An evaluation of automatic text
categorization in online discussion analysis. Advanced Learning Technologies, IEEE
International Conference, 0:205209, 2007.
[69] Alpha Luk. Statistical sense disambiguation with relatively small corpora using
dictionary denitions. In ACL, page 181 to 188, 1995.
BIBLIOGRAFÍA
123
[70] Romans Lukashenko, Vita Graudina, and Janis Grundspenkis. Computer-based
plagiarism detection methods and tools: an overview. In CompSysTech, page 40,
2007.
[71] Pavel Makagonov, Mikhail Alexandrov, and Alexander Gelbukh. Clustering abstracts instead of full texts. In TSD, pages 129135, 2004.
[72] Christopher Manning and Hinrich Schütze. Foundations of Statistical Natural Lan-
guage Processing. The MIT Press, 1999.
[73] Hermann Maurer, Frank Kappe, and Bilal Zaka. Plagiarism - a survey. Universal
Computer Science, 12(8):10501084, 2006.
[74] Susan McRoy. Using multiple knowledge sources for word sense discrimination.
Computational Linguistics, 18(1):130, 1992.
[75] George Miller. Wordnet: a lexical database for english. Computational and Applied
Mathematics, 38(11):3941, 1995.
[76] George Miller. Wordnet®, 1996. http://wordnet.princeton.edu/wordnet/relatedprojects/#local.
[77] Tom Mitchell. Machine learning meets natural language. In EPIA, page 391, 1997.
[78] Dunja Mladeni'c and Marko Grobelnik. Ecient text categorization, 1998.
[79] Dan Moldovan and Rada Mihalcea. Using wordnet and lexical operators to improve
internet searches. IEEE Internet Computing, 4(1):3443, 2000.
[80] David Monarchi, Brian Henderson-Sellers, Grady Booch, Ivar Jacobson, Stephen
Mellor, James Rumbaugh, and Rebecca Wirfs-Brock. Methodology standards: Help
or hindrance? OOPS Messenger, 5(4):5458, 1994.
[81] Isabelle Moulinier, Gaillius Raskinis, and Jean-Gabriel Ganascia. Text categorization : a symbolic approach. In SDAIR, pages 8799, 1996.
[82] Mary S. Ne, Roy J. Byrd, and Branimir K. Boguraev. B.k.: The talent system:
Textract architecture and data model. In JNLPBA, pages 307326, 2004.
[83] Nikunj Oza, Robi Polikar, Josef Kittler, and Fabio Roli, editors. Multiple Classier
Systems, volume 3541. Springer, 2005.
BIBLIOGRAFÍA
124
[84] Valentina Muñoz Porras. Herramientas para la extracción de información bajo la
arquitectura gate. Master's thesis, Universidad de Guanajuato, 2008.
[85] Martin Potthast, Alberto Barrón-Cedeño, Benno Stein, and Paolo Rosso. Crosslanguage plagiarism detection. Language Resources and Evaluation, 45(1):4562,
2011.
[86] Martin Potthast, Benno Stein, Alberto Barrón-Cedeño, and Paolo Rosso. An evaluation framework for plagiarism detection. In COLING (Posters), pages 9971005,
2010.
[87] Roger S. Pressman. Software Engineering: A Practitioner's Approach. McGraw-Hill
Higher Education, 2001.
[88] James Pustejovsky. The generative lexicon. Computational Linguistics, 17(4):409
441, 1991.
[89] Diego Reforgiato Recupero. A new unsupervised method for document clustering
by using wordnet lexical and conceptual relations. Information Retrievel, 10(6):563
579, 2007.
[90] Philip Resnik. Using information content to evaluate semantic similarity in a taxonomy. In IJCAI, pages 448453, 1995.
[91] Ellen Rilo. An empirical study of automated dictionary construction for information extraction in three domains. Artitial Intelligence, 85(1-2):101134, 1996.
[92] Thomas Roelleke, Jun Wang, and Stephen Robertson. Probabilistic retrieval models
and binary independence retrieval (bir) model. In Encyclopedia of Database Systems,
pages 21562160. Idea Group, 2009.
[93] Monica Rogati and Yiming Yang. High-performing feature selection for text classication. In CIKM, pages 659661, 2002.
[94] María V. Rosas, , Marcelo Errecalde Diego Ingaramo, and Paolo Rosso. Clustering
iterativo de textos cortos con representaciones basadas en conceptos. Revista del
Procesamiento del Lenguaje Natural, Sociedad Española para el Procesamiento del
Lenguaje Natural (SEPLN), 46:1926, 2011.
BIBLIOGRAFÍA
125
[95] María V. Rosas, Marcelo Errecalde, and Paolo Rosso. Un análisis comparativo de estrategias para la categorización semántica de textos cortos. Revista del Procesamien-
to del Lenguaje Natural, Sociedad Española para el Procesamiento del Lenguaje Natural (SEPLN), 45:1118, 2010.
[96] Paolo Rosso, Francesco Masulli, Davide Buscaldi, Ferran Pla, and Antonio Molina.
Automatic noun sense disambiguation. In CICLing, pages 273276, 2003.
[97] Peter Rousseeuw. Silhouettes: a graphical aid to the interpretation and validation
of cluster analysis. Computational and Applied Mathematics, 20(1):5365, 1987.
[98] Yasubumi Sakakibara. Pair hidden markov models on tree structures. In ISMB,
pages 232240, 2003.
[99] Gerard Salton. The SMART Retrieval SystemExperiments in Automatic Docu-
ment Processing. Prentice-Hall, Inc., 1971.
[100] Gerard Salton and Chris Buckley. Term-weighting approaches in automatic text
retrieval. Infomation Processing Management, 24(5):513523, 1988.
[101] Robert Schapire and Yoram Singer. Boostexter: A boosting-based system for text
categorization. In ML, pages 135168, 2000.
[102] Hinrich Schütze. Automatic word sense discrimination. Computational Linguistics,
24:97123, 1998.
[103] Hinrich Schütze, David Hull, and Jan Pedersen. A comparison of classiers and
document representations for the routing problem. In SIGIR, pages 229237, 1995.
[104] Sam Scott and Stan Matwin. Feature engineering for text classication. In ICML,
pages 379388, 1998.
[105] Fabrizio Sebastiani. Machine learning in automated text categorization. Computa-
tional and Applied Mathematics, 34(1):147, 2002.
[106] Fabrizio Sebastiani. Text categorization. In Encyclopedia of Database Technologies
and Applications, pages 683687. Idea Group, 2005.
[107] Fabrizio Sebastiani. Text categorization. In Text Mining and its Applications to
Intelligence, CRM and Knowledge Management, pages 109129. WIT Press, 2005.
BIBLIOGRAFÍA
126
[108] Shahin Shakeri and Paolo Rosso. Spam detection and email classicaion. Informa-
tion assurance and computer segurity, 6(IOS Press.):155167, 2006.
[109] Ian Sommerville. Construction by conguration: Challenges for software engineering
research and practice. In ASEC, pages 312, 2008.
[110] Efstathios Stamatatos. A survey of modern authorship attribution methods. JA-
SIST, 60(3):538556, 2009.
[111] Benno Stein and Sven Meyer zu Eissen. Document Categorization with MajorClust. In WITS, pages 9196, 2002.
[112] Benno Stein, Sven Meyer zu Eissen, and Martin Potthast. Syntax versus semantics:
Analysis of enriched vector space models. In TIR, pages 4752, 2006.
[113] Ingo Steinwart. Consistency of support vector machines and other regularized kernel
classiers. IEEE Transactions on Information Theory, 51(1):128142, 2005.
[114] Jiri Stetina, Sadao Kurohashi, and Makoto Nagao. General word sense disambiguation method based on a full sentential context. In COLING-ACL, pages 450460,
1998.
[115] Mark Stevenson and Yorick Wilks. The interaction of knowledge sources in word
sense disambiguation. Computational Linguistics, 27(1):321349, 2001.
[116] Fabian Suchanek, Gjergji Kasneci, and Gerhard Weikum. Yago: A large ontology
from wikipedia and wordnet. J. Web Sem., 6(3):203217, 2008.
[117] Georey G. Towell and Ellen M. Voorhees. Disambiguating highly ambiguous words.
Computational Linguistics, 24(1):125145, 1998.
[118] Kostas Tzeras and Stephan Hartmann. Automatic indexing based on bayesian inference networks. In SIGIR, pages 2234, 1993.
[119] Florentina Vasilescu, Philippe Langlais, and Guy Lapalme. Evaluating variants of
the Lesk approach for disambiguating words. In LREC, pages 633636, 2004.
[120] Sonia Vázquez. Resolución de la ambigüedad semántica mediante métodos basados
en conocimiento y su aportación a tareas de PLN. PhD thesis, Departamento de
Lenguajes y Sistemas Informáticos. Universidad de Alicante, 2009.
BIBLIOGRAFÍA
127
[121] Xia Wang. owsd: A tool for word sense disambiguation in its ontology context. In
ISWC, pages 340352, 2008.
[122] Erik Wiener, Jan Pedersen, and Andreas Weigend. A neural network approach to
topic spotting, 1995.
[123] Yiming Yang. An evaluation of statistical approaches to text categorization. Infor-
mation Retrievel, 1(1-2):6990, 1999.
[124] Yiming Yang. A study on thresholding strategies for text categorization. In SIGIR,
pages 137145, 2001.
[125] Yiming Yang and Christopher Chute. An example-based mapping method for text
categorization and retrieval. ACM Transformation Information System, 12(3):252
277, 1994.
[126] Yiming Yang and Jan Pedersen. A comparative study on feature selection in text
categorization. In ICML, pages 412420, 1997.
[127] Yiming Yang, Seán Slattery, and Rayid Ghani. A study of approaches to hypertext
categorization. Intelligence Information System, 18(2-3):219241, 2002.
[128] David Yarowsky. Word-sense disambiguation using statistical models of roget's
categories trained on large corpora. In COLING, pages 454460, 1992.
[129] Shiren Ye, Tat-Seng Chua, and Jeremy R. Kei. Clustering web pages about persons
and organizations. Web Intelligence and Agent System, 3(4):203216, 2005.
[130] Toshio Yokoi. The edr electronic dictionary. Association for Computing Machinery,
38(11):4244, 1995.
[131] Edward Yourdon. Beyond software engineering: Ten imperatives for the successful
software developer at the end of the decade (abstract). In ICSE, page 538, 1997.
[132] Rémi Zajac, Mark Casper, and Nigel Sharples. An open distributed architecture for
reuse and integration of heterogeneous nlp components. In ANLP, pages 245252,
1997.
[133] Tong Zhang. Fundamental statistical techniques. In Handbook of Natural Language
Processing, Second Edition, pages 121. CRC Press, Taylor and Francis Group, 2010.
Descargar