Beruflich Dokumente
Kultur Dokumente
Esta Tesis es presentada como parte de los requisitos para optar al grado acadmico
sido presentada previamente para la obtencin de otro ttulo en esta Universidad u otras.
mvrosas@unsl.edu.ar
Departamento de Informtica
San Luis.
Agradecimientos
La gratitud es una de las grandes bendiciones de la vida. Nos permite ver todo como
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 sabidura, a las que fueron mi
gua 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
acompa con su sonrisa espontnea y amplia estos ltimos meses. A mis amigos de toda
hubiera podido alcanzar las metas propuestas para este trabajo y a los profesores de la
mi proyecto.
dicionalmente en este camino, hacindose presente en cada una de las personas que estn
a mi lado.
ndice general
1. Introduccin 1
1.1. Descripcin de la problemtica . . . . . . . . . . . . . . . . . . . . . . . . . 2
A. Acrnimos 103
Bibliografa 115
ndice de tablas
4.1. Relaciones para el synset pine, pine true, pine cone (adaptada de [76]) . 41
Introduccin
Este trabajo de tesis surge de la necesidad de brindar una solucin integradora a los
planteos originados en dos reas de estudios diferentes, como son el Procesamiento del
Lenguaje Natural (PLN) y la Ingeniera del Software (IS). Por lo tanto, el objetivo general
Disponer de una herramienta en Ingeniera del Lenguaje (IL) que sea especca y
En la primera seccin del captulo se describen los aspectos principales asociados a las
dos reas de estudio y la problemtica que dio origen a este trabajo. Las motivaciones y los
textual, razn por la cual, las aplicaciones vinculadas al PLN (como la Categorizacin
y necesario obtener mejoras en estas tareas, tanto desde el mbito del PLN como en la
involucradas en esta tesis, es conveniente para una mejor descripcin considerar las falen-
papel relevante. Una de las aplicaciones del PLN es la Categorizacin de Textos (tam-
realizado valiosos aportes en diversas reas como la deteccin de spam [41], el ltrado
de noticias [4], la deteccin de plagios e identicacin de autores [85, 86, 70, 55, 110], el
informacin textual en lenguaje natural con el que trabajamos tiende a aumentar expo-
cada texto. Hoy en da, la comunicacin escrita entre personas hace un uso constante de
este tipo de textos restringidos en tamao buscando optimizar el uso de palabras en in-
reportes internos, faxes, fragmentos de pginas Web, cables de noticias, opiniones en blogs
y redes sociales, entre otros. Con respecto a este punto, se puede decir que existe an un
cuando las caractersticas de los mismos es una acotada cantidad de palabras, por lo que
el desarrollo de mtodos efectivos para lograr mejoras en esta tarea, contina siendo un
puede redundar en benecios para una variedad de mbitos. Por lo tanto, surge la nece-
sidad de incorporar y plantear nuevas mejoras a dicho proceso, que faciliten y permitan
documento.
derada en muchos casos como la interseccin entre ambas disciplinas. Sin embargo, si bien
mas citados en la seccin anterior [9, 15, 106], ciertos aspectos ingenieriles de relevancia,
aplicaciones de PLN sigue siendo uno de los problemas ms complejos a solucionar. Esto
se debe a que la reutilizacin en este caso presenta una doble limitacin, necesitando no
slo intercambiar datos usando el mismo formato e interpretacin, sino que tambin se
necesita realizar la comunicacin entre componentes que pueden estar escritos en distintos
lenguaje e incluso ejecutar en diferentes plataformas. Por todo esto, generalmente cuando
ser superado aplicando conceptos bsicos de la IS como son las Interfaces de Programacin
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.
introducidas se han concentrado en modelos muy generales y poco exibles para ciertos
Un problema intrnseco del lenguaje natural, que es de gran inters en el mbito del
PLN, es el hecho de que una palabra pueda tener, dependiendo del contexto, distintos
tipo de ambigedad puede considerarse como una tarea intermedia necesaria y esencial
para diversas aplicaciones del PLN que son sensibles a la identicacin del sentido de
Traduccin Automtica, entre otras. El procedimiento para decidir los signicados de las
palabras a partir del contexto que las rodea se conoce como desambiguacin del sentido
de las palabras (WSD las siglas en ingls para Word Sense Disambiguation ). La hiptesis
fundamental de la WSD es que existe un nico concepto (o sentido) para cada trmino
Diferentes trabajos relacionados a tareas de CT como los presentados en [45, 112, 89]
con conceptos de una ontologa genrica para introducir generalidad al identicar tpicos
sinonimia entre los trminos alegra y jbilo). En este sentido, si en los documentos hay
trminos ambiguos y/o relacionados es conveniente utilizar un mtodo de WSD para los
representacin.
Motivacin y objetivos 5
mayora de los casos, disponer de una coleccin de entrenamiento para la tarea de WSD.
Este enfoque basado en corpus (tambin conocido como supervisado) no siempre es viable
de ser aplicado en todos los dominios en los cuales estamos interesados. Por ejemplo,
los mismos. Una alternativa para abordar el problema anterior, es el uso de mtodos de
WSD basados en conocimiento que obtienen informacin desde recursos lxicos externos.
Si bien este tipo de mtodos suelen mostrar resultados de menor calidad que los obtenidos
con mtodos basados en corpus, constituyen en muchos casos la nica alternativa realista
Teniendo en cuenta esto, se puede pensar al enfoque basado en conocimiento como una
Es importante destacar que, para que un conjunto de documentos pueda ser evaluado
por un clasicador, es necesario obtener una representacin de los mismos. Una de las
descriptores ndice. Es comn que cada elemento de este vector represente una palabra de
la coleccin, donde el valor de cada componente pueda ser binario, lo que indica presencia
o ausencia del trmino en el documento, o pueda ser un nmero (entero o real) calculado
de los vectores utilizados para representar a los documentos de una coleccin, pueden
Por otra parte, la nalidad de las aplicaciones de PLN es obtener un resultado efec-
tivo para la tarea particular que se realiza. En el caso de la CT sera clasicar todos los
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, de-
Esta tesis ha sido desarrollada como parte de los requisitos para obtener el ttulo de
IL. Para abordar los tpicos relacionados a la IS fueron fundamentales los conceptos
este trabajo, fue un importante aporte el estudio comparativo de los distintos enfoques
planteo adecuado de los requerimientos de las tareas de PLN para ser implementados en un
Software. Finalmente, el diseo y creacin del framework descripto en este informe utiliza
Por otra parte, fueron esenciales para sentar las bases en lo que respecta a los con-
ceptos relacionados al PLN y la CT, los cursos extracurriculares realizados, entre ellos
Principales contribuciones y publicaciones 7
Aprendizaje Automtico y Minera de Datos que imparte los temas fundamentales vin-
relacionados al PLN, sus fundamentos y aplicaciones, analizando con mayor detalle los
investigacin realizada sobre estos temas est incluida en los primeros captulos de esta
tesis.
temas PLN fue una de las tareas ms importantes. Los principales aspectos surgidos de
cortos . Mara V. Rosas, Marcelo Errecalde y Paolo Rosso. Revista del Procesamien-
sencillo de aplicar, brindando interfaces y clases abstractas bsicas. Uno de los bene-
con anterioridad. Como anexo a los trabajos realizados en CT, se realizaron experimentos
que permitieron concluir que los enfoques de clustering iterativo pueden tambin verse
Marcelo Errecalde, Mara V. Rosas, Diego Ingaramo y Paolo Rosso. Proc. Works-
La publicacin anterior fue seleccionada para ser incorporada como artculo de la revis-
Mara V. Rosas, Marcelo Errecalde, Diego Ingaramo y Paolo Rosso. Revista del
Las nociones principales que son tratadas en este trabajo referentes a la IS son cono-
cidas por los investigadores en esta rea, no as los temas que conciernen al PLN por lo
que en los primeros captulos se realiza una descripcin ms detallada de aquellos temas
vinculados al PLN, que son necesarios para comprender los restantes captulos. De esta
forma los captulos que conforman esta tesis estn organizados de la siguiente manera:
Captulo 2: En este captulo se describen los principales aspectos del PLN y las tareas
que involucran dicho proceso. Finalmente, se incluyen algunos proyectos que se encuentran
Captulo 3: Se explican los aspectos relacionados a los modelos utilizados para la inde-
xacin de textos, en particular el sistema SMART. Luego, se presenta una visin general
ontologa WordNet.
todo heurstico de mayor frecuencia, CIAOSENSO y Lesk Mejorado. Una seccin de este
captulo est destinada a profundizar sobre mtodos para la reduccin de trminos que
pueden ser conveniente aplicar para optimizar los tiempos de procesamiento y el espacio
de memoria.
denominado GATE.
Proverbio chino.
El exceso de informacin disponible cada da, hace necesaria la tarea de procesar los
datos de manera efectiva. La mayor parte de esta informacin est expresada en lenguaje
natural. La computadora personal era, hasta hace un tiempo atrs, slo una herramienta
procesamiento de los mismos. Uno de los grandes sueos 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 mquinas en lenguaje humano y
que stas sean capaces de extraer conocimiento a travs del mismo. La idea de dar a las
tural es el eje principal del PLN. Con el objetivo de modelar el lenguaje humano desde un
informtica constituye la esencia del PLN. En este sentido, se estn obteniendo resultados
prometedores pero existen todava varias metas a alcanzar por lo que representa un tema
abierto de investigacin.
En este captulo se presenta una visin general de los principales conceptos del PLN. Se
analiza la necesidad de un estudio previo del lenguaje para el desarrollo de todo sistema
Captulo 2. Procesamiento del lenguaje natural 12
vinculado al PLN y cmo muchos de los componentes de dichos sistemas son modelos
procesamiento de datos simple. Sin embargo, cuando es usado para contar palabras
del lenguaje.
2. HAL: es un sistema que debe reconocer palabras desde una seal de audio y generar
una seal nueva desde una secuencia de palabras [51]. Estas tareas de reconocimiento
plural, por lo tanto necesita tambin tener conocimiento sobre morfologa. Reconocer
Nivel Morfolgico : dene la relacin que se establece entre las unidades mnimas
que forman una palabra, como puede ser el reconocimiento de sujos o prejos.
Este nivel mantiene una estrecha relacin con el lxico. En el nivel lxico se inclu-
representacin del signicado. Las palabras que forman parte del diccionario estn
representadas por una entrada lxica, y en caso de que sta tenga ms de un sig-
Normalmente el nivel lxico contempla la raz de las palabras con formas regulares.
partir de tres morfemas: el prejo pre, la raz registra y el sujo cin, en otro
sentido si por ejemplo se agrega el sujo ado o ido a un verbo se puede suponer
Nivel Sintctico : las palabras pueden unirse para formar oraciones, jando el papel
estructural que cada palabra juega en la oracin. A este nivel, se obtiene un cono-
cimiento sobre la relacin estructural entre palabras. Por ejemplo, en las sentencias
El perro persigue al gato y El gato persigue al perro se plantea una diferencia a
perro y gato.
Nivel Semntico : dene el signicado de cada palabra, lo cual no es una tarea sen-
cilla y puede dar lugar a diversas interpretaciones. Es posible distinguir entre sig-
a nivel semntico, hace referencia al signicado que las palabras tienen por s mis-
ignorando la inuencia del contexto o las intenciones del hablante. Por ejemplo, si
artefacto explosivo, es indiscutible que en la sentencia La granada est muy dulce
Nivel Pragmtico : el signicado de una palabra est inuenciado por las circuns-
tancias, intenciones o planes del sujeto que hace uso del lenguaje, denido como
cin 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 de-
pendiendo 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.
escritura. Debido a esto, otros niveles de conocimiento pueden ser includos, como es la
puede ser relevante para la comprensin de otra informacin; o lo que se denomina co-
nocimiento del mundo, referente al conocimiento general que las personas han de tener
Lo anteriormente expresado determina que todo sistema de PLN, para ser eciente,
adems de las palabras simples, las palabras compuestas, frases hechas, siglas, etc.
Adems tambin es necesario diferenciar entre la forma (la palabra tal como apa-
rece) y el lema (la forma cannica de la palabra). El objetivo nal de este mdulo
etc.).
tales como diccionarios, gramticas u ontologas, que sean adecuados para el idioma o
para el dominio de los textos a procesar. Estas bases externas de conocimiento proveen
informacin para poder establecer la salida para cada mdulo con la mayor precisin
posible. En la seccin 4.3 se describe la ontologa WordNet que se emplea en este trabajo.
(AA) y de la Minera de Datos (MD), que son los campos de la Inteligencia Articial que
Captulo 2. Procesamiento del lenguaje natural 16
logran el aprendizaje a partir de los datos, en este caso del lenguaje natural. El PLN
Las tcnicas de AA, a partir de las cuales deriva el PLN estadstico, pueden ser divi-
mientras que los algoritmos de maximizacin representan las principales tcnicas para el
all de los prpositos de este trabajo, una descripcin ms detallada de cada algoritmo
Las aplicaciones vinculadas al PLN pueden ser divididas principalmente en dos grupos:
la bsqueda por un cierto tpico o por una palabra clave en una base de datos,
Aplicaciones basadas en dilogo : algunos de los ejemplos tpicos de este tipo son sis-
temas que por medio del habla dan respuesta a alguna necesidad, como por ejemplo
servicios que dan informacin por telfono sin operador, mquinas controladas por
la voz, etc.
del texto para detectar estos errores. Los correctores de gramtica detectan las es-
tructuras incorrectas en las oraciones aunque todas las palabras en la oracin estn
bien escritas. El problema de detectar los errores de este tipo es complejo debido a
turas de las oraciones en el idioma, se usan las llamadas gramticas formales, o sea
categoras o clases. Esta tarea puede resultar complicada ya que suele ser ambigua
llevado a un primer plano todo lo referente a la tecnologa y como una parte de ello a las
Los siguientes son ejemplos de aplicaciones del PLN que estn en proceso de produccin
guan a los usuarios a travs del proceso de hacer la reserva y obtener informacin
espacio.
Aquel que quiera construir torres altas, deber permanecer largo tiempo en los
fundamentos.
En todo trabajo de PLN la primera etapa que se debe realizar es la de obtener una
que identiquen a los documentos. La eleccin de dichos trminos es uno de los procesos
problema de la ambigedad del lenguaje natural como una de sus principales limitaciones.
cada documento por todas sus palabras. Esto no es conveniente si se considera que no
todos los trminos son igualmente importantes para describir el contenido de un docu-
mento y que implicara un coste computacional muy alto para colecciones de documentos
en cuenta que est determinada generalmente por la aplicacin de PLN a desarrollar. Por
palabras juega un papel preponderante, los artculos, las preposiciones y las conjunciones
son palabras casi vacas de contenido semntico, poco tiles para los nes de la tarea a
grcos del autor (identicacin de autora, deteccin de plagio), este tipo de informacin
mejor representen a los documentos y que adems permitan diferenciar unos de otros. Por
1. la identicacin de qu es un trmino
a menudo llamado el enfoque del conjunto de palabras o bolsa de las palabras (en ingls,
han surgido a partir de distintas aplicaciones del PLN, pero sin mejorar signicativamente
la versin ms simple.
Los modelos con fuerte base matemtica para determinar el peso de un trmino se
mencionar:
del modelo booleano se centran en su sencillez. Esto hace que sea muy intuitivo,
centran en su rigidez, al estar acotado a valores tales como 1(uno) o 0(cero), es decir
pertenece o no.
un peso a los trminos es a partir del modelo tf-idf que ser explicado en detalle en
Son ejemplos de este tipo de enfoque el Modelo de espacio vectorial (representa una
Modelo probabilstico : trata todo proceso como una inferencia probabilstica. Este
basa en un proceso iterativo. Este proceso se inicia con un primer conjunto de docu-
relevancia.
ingls para Vector Space Model [99]) representa a los documentos en lenguaje natural de
informacin. A pesar de que el VSM ha sido ampliamente utilizado en CT [43], ste debe
su origen al rea de Recuperacin de la Informacin [66, 99, 100] como gran parte de los
En VSM cada documento ser representado por un vector de pesos de tamao n donde
1. Los trminos son representados con las palabras aisladas que conforman los docu-
mentos de una coleccin. A las palabras se les suelen aplicar dos procesos:
Eliminacin de palabras de paro : las palabras que son muy frecuentes entre los
natural. ste puede ser un valor binario o uno real. Si es un valor binario simplemente
binario, ste puede computarse con diversas tcnicas siendo el modelo tf-idf uno de
0 1 0 1 1 1 1 1 0 1 1 0 1
0 2 0 3 1 2 4 1 0 2 1 0 1
El modelo tf-idf, como fue planteado, es uno de los ms utilizados para obtener el
peso de vectores con valores reales de componentes a partir del clculo de Frecuencia de
del texto, ya que vara de un documento a otro, intentando medir la importancia del
trmino dentro de un documento dado. Por otro lado, la IDF es una estadstica global
y caracteriza un trmino dentro de la coleccin entera de N documentos. Es decir, la
trminos que ocurren en muchos de los documentos de la coleccin y por lo tanto, cuales
valor IDF es igual a 0). Para permitir la variacin en el tamao de los documentos, el
respecto a los otros trminos 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
de paro.
Captulo 3. Indexacin y categorizacin de textos 24
los documentos largos sobre los cortos. Una tcnica para computar el peso que ha sido
N: Nmero de documentos.
Denicin:
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
N 1
b : binary = 1 t : tf idf = log( DF i
) c : cosine = qP
0 0 2
i (T Fd,i IDFi )
T Fd,i
m : max norm = maxi (T Fd,i )
TF
a : aug norm = 0,5 + 0,5 maxi (Td,iFd,i )
l : log = 1 + log(T Fd,i )
estar compuesta por 3 letras: un valor para TF (Ocurrencia del Trmino), uno para
Por ejemplo, una codicacin ntc (con n representando la frmula utilizada para TF, t
para computar IDF y c para determinar si se aplica normalizacin) para computar el peso
del i-simo componente del vector para el documento d se obtiene calculando la frmula
N
T Fd,i log( DF i
) y luego realizando la normalizacin coseno.
A pesar de ser uno de los modelos ms utilizados, el VSM presenta las siguientes
limitaciones:
Entre las distintas aplicaciones del PLN, la Categorizacin de Textos (CT ) ha desper-
tos (corpus) dentro de categoras predenidas tambin denominadas clases, por lo que
que su signicado no proporciona conocimiento adicional que pueda ser usado para la
minado documento bajo una categora especca. Por ejemplo, si se tiene un documento
para clasicar un discurso presidencial donde se expone ...la ingesta de cerdo mejora la
2
actividad sexual... , ste puede ser catalogado como un artculo de Poltica o de Medici-
na, o en su defecto como perteneciendo a otra categora diferente. La clase que se escoja
2 http://edant.clarin.com/diario/2010/01/28/elpais/p-02128743.htm
Captulo 3. Indexacin y categorizacin de textos 26
de la Tabla 3.4.
{a11 ,..., amn } como representando la estimacin realizada por el experto de la pertenencia
(o no) de un documento a una categora, entonces se podra especicar la tarea de CT
Teniendo en cuenta la aplicacin de la CT, sta puede considerarse como tarea de:
Simple rotulado, donde un elemento debe ser asignado a una nica categora (un
clase.
Categorizacin de textos 27
mensajes de correo masivo no solicitado ( spam) [108, 42, 98], el ltrado de noticias [4],
la deteccin de plagios e identicacin de autores [86, 85, 110, 73], el anlisis de opinin
son generalmente representados como vectores de pesos de trminos (ver seccin 3.1).
necesario seleccionar un subconjunto de los trminos ndices originales para mejorar los
resultados del clasicador. En la seccin 3.3 se presentan las diferentes maneras de llevar
que el valor de (dj , ci ) sea conocido para cada hdj , ci i D C . En una de las primeras
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
una estrategia para convertir dicho valor a uno nal de tipo binario [124].
Diversas tcnicas de aprendizaje de clasicadores han sido desarrolladas para las ta-
reas de CT, que incluyen mtodos de regresin [36, 125], rboles de decisin [64], redes
inductivo [19, 65], mtodo de los K vecinos ms cercanos [125, 72], mquinas con soporte
su efectividad, es decir, su habilidad para tomar las decisiones correctas al clasicar. Las
adaptadas a CT para su uso. Las ms utilizadas incluyen: recall, precision, accuracy, error
y F-measure.
TRUE T Pi F Pi
FALSE F Ni T Ni
T Pi
P recisioni =
(T Pi +F Pi )
T Pi
Recalli =
(T Pi +F Ni )
(T Pi +T Ni )
Accuracyi =
Ni
(F Pi +F Ni )
Errori =
Ni
= 1 Accuracyi
es clasicado bajo una determinada categora, esta decisin sea correcta. Con respecto
Captulo 3. Indexacin y categorizacin de textos 30
correctas (TP + TN) que para el caso de Precision y Recall. Por esta razn, Recall
clasicadores.
cin de las medidas de Precision y Recall, una de stas es la denominada F-measure [107].
1
F = 1 1 (3.1)
P recision + (1 ) Recall
de las categoras consiste en obtener el promedio de las valores calculados para todas las
Otra forma es sumar los valores TP, FP, TN y FN para todas las categoras y luego
calcular cada una de las mtricas planteadas. Los resultados obtenidos de esta forma son
llamados micro-promedio.
En [107, 123, 63] se da una explicacin ms detallada sobre las mtricas de evaluacin
utilidad.
de remover trminos debe ser realizado cuidadosamente, debido a que se puede correr el
seleccionan los trminos que al ser usados para el indexado de documentos logren
alternativa que plantea determinar T0 por medio del mismo mtodo de aprendizaje
usado para construir el clasicador, con la desventaja que el costo computacional que
implica hace imposible aplicarla en algunas tcnicas estndar de CT [81, 49]. Una
el ms alto puntaje de acuerdo a una funcin que mide la importancia del trmino
para la tarea de CT. Diferentes funciones pueden ser utilizadas para calcular la
medida en que inuye un trmino en dicha tarea, como por ejemplo, Frecuencia de
documento [126], Ganancia de informacin [105], Punto de transicin [12, 5], Factor
de asociacin [36], Informacin mutua [28, 64] y la funcin 2 [16, 37, 103], entre
otras.
3 Los datos de entrada de un clasicador y de un sistema de seleccin son denominados de esta forma
los trminos original pueden no ser los ms adecuados para la representacin de los
los nuevos trminos desde los viejos utilizando algn mtodo de extraccin y luego
con los trminos elaborados. En CT se han realizado distintos experimentos con este
[26, 122].
a una categora. Como fue referenciado en la seccin 3.1, los trminos deben ser
La ambigedad 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
La ambigedad del lenguaje suele ser clasicada en tres tipos diferentes [120]:
cionar. Por ejemplo, Juan vio a su hermana con unos prismticos (Juan us
Semntica en la categorizacin de textos 33
los prismticos para ver a su hermana o Juan vio que su hermana tena unos
prismticos?)
1. Ambigedad por polisemia : una misma palabra puede tener distintos sig-
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.
nicado. Por ejemplo, las palabras can y perro reeren al mismo concepto,
frases de palabras obtenidas por anlisis estadstico o lingstico [16, 66], patrones
[40, 104, 45]. Esta ltima opcin representa uno de los ejes principales del presente
Resolucin de la ambigedad
semntica
Ms vale una palabra con sentido que un centenar sin sentido...
Autor annimo.
Toda aplicacin de PLN tiene por objetivo fundamental la comprensin del lenguaje
natural. Una de las propiedades intrnsecas del lenguaje humano es contar con ele-
ambigedad semntica. A partir de los recursos utilizados por las diferentes tcnicas
supone agregar o sustituir una palabra con el concepto que mejor la represente.
Captulo 4. Resolucin de la ambigedad semntica 36
Por ejemplo, si se tiene un documento con la palabra vacuna y otro con la palabra
La tarea de desambiguacin del sentido de las palabras (WSD las siglas en in-
gls para Word Sense Disambiguation) se puede denir como el proceso de asociar
Si se toma como base la representacin estndar de los textos por vectores de tr-
cmo esta informacin puede ser incorporada. Una propuesta fue introducida en
[45, 112] en la cual se plantea enriquecer los vectores de trminos con conceptos
dichos trabajos los resultados obtenidos a partir de esta variante logran una mejora
que haga referencia a cada palabra en un documento, para luego usarlos en reemplazo
con el VSM. Usar los conceptos como espacio de indexacin en lugar de los trminos
permitiendo una posible mejora en el Recall. En [40, 45] el uso de este tipo de
Desde los primeros sistemas de WSD hasta la actualidad han surgido nuevas pro-
seccin 3.4. Consistente con la cantidad de nuevos mtodos propuestos han surgido
Una manera general y simple de clasicar los distintos mtodos utilizados para WSD
sistemas no supervisados.
Otra forma de clasicar los sistemas de WSD es basndose en la principal fuente
cin de los algoritmos utilizados en este trabajo. Por otra parte, tenemos aquellos
mente con corpus sin etiquetar, son los denominados mtodos No supervisados
basados en corpus. Estos mtodos tienen la ventaja de evitar el inconveniente que
se produce cuando se requiere anotacin manual para adquirir nuevo conocimiento
[14, 88]. En [102] se han obtenido resultados alentadores, reuniendo palabras simi-
semnticamente como entrenamiento [77]. A pesar de que son los mtodos que han
corpus no anotados y en [74, 24, 23] se publican tambin otros mtodos destacables
de este tipo. Existen otros mtodos que utilizan la combinacin de tesauros y corpus
no anotados, como es el caso del mtodo ideado en [128]. Por ltimo se encuentran
los mtodos que combinan diferentes fuentes lxicas estructuradas con corpus como
Mtodos Procedimiento
X Comparacin de las deniciones de los
manualmente.
basados en conocimiento.
en mtodos supervisados.
recurso externo que, en primera instancia, puede ser cualquier base de conocimien-
to lxica que dena los diferentes sentidos de las palabras y relaciones entre ellas
datos lxica para el idioma ingls que se origin como un diccionario electrnico
respecta a WSD.
un nmero nico de ocho dgitos que dene un nico concepto (oset ). De esta
manera, distintos sentidos de las palabras pertenecen a diferentes synsets. Entre los
cas. El resultado de este conjunto de conexiones es una extensa red que proporciona
inicialmente.
frases idiomticas. Segn las diferentes reglas gramaticales, sustantivo (noun ), verbo
les para los trminos o palabras en un documento. De esta forma, como se dene
categora gramatical.
lo mismo puede ser cambiada por Si buscas una solucin distinta no ha-
antnimo de calor.
2. Para sustantivos
1 Es una secuencia de palabras que juntas tienen un signicado concreto, por ejemplo en ingls dining
hiponimia : es una relacin que sucede slo para el caso de los sustantivos
hipernimo de tren.
3. Para verbos
algo requiere hacer otra cosa tambin, es decir un trmino implica al otro.
o acciona para que se ejecute otra. Por ejemplo, insultar causa la accin
Por ejemplo, claro como un color muy cercano al blanco y el propio color
En la Tabla 4.2 se muestra un resumen de las diferentes relaciones para las distintas
categoras.
holonimia hiperonimia
sinonimia sinonimia
antonimia antonimia
En la Figura 4.1 se muestra un ejemplo del synset pine, pine tree, true pine en
y holonimia, donde los synset son representados por valos conteniendo los miembros
Figura 4.1: Relaciones para el synset pine, pine true, pine cone (adaptada de [76])
de los que derivan el resto de los synsets. Los mismos son mostrados en la Tabla 4.3.
establece una relacin de orden entre los diferentes sentidos de las palabras, de
wing and is powered by propellers or jets) the ight was delayed due to trouble
shape) any line joining two points on a plane lies wholly on that plane
plane
Cada concepto asociado al trmino plane adems de tener asociado su synset, tam-
una denicin o glosa que dene el concepto representado por el sentido especco
de cada trmino. As, para plane#1 su glosa asociada es an aircraft that has a xed
117] pero, en diversos trabajos que usan synsets de WordNet para la indexacin, los
Las cuatro categoras gramaticales y las relaciones lxicas existentes entre ellas 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 darn ms detalles en el
captulo 6).
En la Tabla 4.4 aparece el conjunto de archivos que constituyen la base de datos para
la versin 2.1 de WordNet. Los archivos data.* e index.* son los ms importantes.
Las cuatro categoras sintcticas (noun, verb, adj y adv ) se utilizan para almacenar
Concepto Denicin
entity todo aquello que se percibe, se sabe o se inere como de existencia
feature
abstraction un concepto general formado por la extraccin de rasgos comunes desde
ejemplos especcos
act,
human action, algo que la gente hace o har que suceda
human activity
group, grouping conjunto de entidades (miembros) que se consideran como una unidad
los que se encuentra asociado cada uno de ellos. En el ejemplo, el trmino car
se encuentra asociado con los synsets a travs de los osets [02929975 02931574
En el caso de los archivos data.* para cada oset se almacenan todos los identi-
cadores de los synset a los que se encuentra asociado por las diferentes relaciones
Captulo 4. Resolucin de la ambigedad semntica 44
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 72
sents.vrb 5
cntlist 857
siempre es viable de ser aplicado. Una alternativa para abordar el problema anterior
sos lxicos externos. Si bien este tipo de mtodos suele mostrar resultados de menor
calidad que los obtenidos con mtodos basados en corpus, constituyen en muchos
sus variantes, analizados en la seccin 5.2, donde los sentidos de las palabras de
dividen en dos grandes categoras: aplicables a un contexto local, donde las me-
les, donde las cadenas lxicas son derivadas basndose en medidas de similitud
en [96].
Una forma sencilla para intentar establecer el sentido correcto de las palabras en un
frecuente. Entre todos los posibles sentidos que puede tener una palabra, general-
mente existe uno que ocurre ms a menudo que los otros sentidos. Por lo tanto,
un sistema muy simple de desambiguacin sera aquel que asigne a cada palabra su
es referenciado en este trabajo como Mtodo del sentido ms frecuente (MFS, de sus
siglas en ingls para Most Frequent Sense). Este mtodo se utiliza a menudo como
en [38].
las ocurrencias de los sentidos en todos los lenguajes, ya que, no existen sucientes
los resultados obtenidos por esta heurstica [1]. En este sentido, WordNet provee una
Algoritmo de Lesk 49
anteriormente expresado.
Adems de esta heurstica, existen otras dos comnmente utilizadas que no son
basan en la suposicin de que una palabra siempre tiene el mismo sentido en todas
Dada una palabra ambigua, la denicin de cada uno de sus sentidos en el diccionario
A una palabra se le asigna aquel sentido cuya glosa comparte el nmero mayor
de palabras en comn con las glosas de las otras palabras. El algoritmo comienza
Bsicamente, 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
entonces se le asigna un sentido a cada palabra del par inicial. Las tareas simples
(4) Se seleccionan los sentidos i y j tales que el solapamiento (i, j) sea el mximo
Oxford, Webster y Collins entre otros. De este modo, se determina que la palabra
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 ms
apropiados cuando se utiliza en conjunto las palabras pine cone teniendo en cuenta
ejemplo:
Mtodos donde se considera en forma aislada a cada palabra, esto es, cada
Mtodos que utilizan las relaciones semnticas de las palabras y sus corres-
se detalla una variante mejorada del algoritmo de Lesk que se basa en esta
modicacin.
(en ingls Enhanced Lesk Algorithm o Adapted Lesk Algorithm ) que introduce
palabra, lo que motiva a reducir a slo tres palabras la ventana de contexto. Por
analizando la superposicin entre sus glosas y entre las glosas de synsets que
estn relacionados a este synset a travs de la misma relacin (esto es, las glosas
iguales, y darles un peso mayor comparado con las que se igualan en menor
cantidad de palabras.
realiza un conteo del nmero de palabras que se superponen y otorga este valor
como puntuacin entre las dos glosas que se comparan. La nueva alternativa da
sera 12 + 32 = 10, dando una puntuacin ms alta a una nica secuencia larga
de palabras superpuestas que al combinarse los resultados de las secuencias
ms cortas.
cada palabra por separado, por lo tanto el sentido que se le asigna a una palabra ele-
gida para ser desambiguada no se determina por los sentidos que tienen las palabras
Algoritmo de Lesk 53
obtener la mejor combinacin entre todas las palabras y no slo para la palabra
elegida, dando un puntaje mayor al solapamiento de glosas con mayor cantidad su-
del local que denota al algoritmo original. El algoritmo completo est descripto en
[8].
oender con las siguientes glosas para los diferentes signicados de cada palabra:
Figuras 5.1, 5.2 y 5.3 se muestran los pares formados por la combinacin nmero 4.
En todas las guras se usa la siguiente notacin: un valo para representar cada syn-
set 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 ms 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 com-
paracin entre glosas y las palabras resaltadas en negrita son las que forman parte de
la superposicin. Mientras que para las palabras sentence y oender se tienen hiper-
representada con un echa punteada. Por lo tanto, las tres glosas para sentence#n#2
son comparadas con las dos glosas asociadas a bench#n#2 (notar que son slo dos
glosas porque no tiene hipnimos). De la misma manera, las glosas asociadas con
bench#n#2.
teniendo en cuenta la Figura 5.1 se puede observar una superposicin de tres palabras
( court of law ) y una de una palabra ( case ) que produce un puntaje de 32 +12 = 10
Sistema CIAOSENSO 55
para los pares restantes son mostrados en la Tabla 5.2 y luego sumados entre s
Tabla 5.2 y los datos calculados en [9] para las otras tres combinaciones posibles,
oender.
ducido por Rosso, Masulli y Buscaldi en [96]. En este caso, la Densidad Conceptual
camino ms corto que conecta dos synsets en la taxonoma que utiliza WordNet.
conceptual en WordNet puede verse como un rbol donde cada nodo es un synset
Captulo 5. WSD basado en conocimiento 56
diferente. Para una palabra que tiene varios sentidos (o signicados) cada uno de
estos cae en una diferente subjerarqua (o aglomeracin) cada una conteniendo uno
de los sentidos.
Pm1
nhypi
DC(c, m) = Pi=0
h1
(5.1)
i=0 nhypi
destacando las palabras a desambiguar de las palabras del contexto. Los nodos
5.5.
En [96] se introduce una variante de la ecuacin 5.1 que tiene en cuenta espe-
synset relevante.
Sistema CIAOSENSO 57
M
DC(M, nh) = (5.2)
nh
A pesar de las modicaciones incorporadas a la ecuacin 5.2, en ciertos experimentos
M logf
DC(M, nh, f ) = M ( ) (5.3)
nh
A modo de ejemplo, en la Figura 5.5 se muestran las subjerarquas de WordNet en
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 estn gracados con lnea
punteada. Teniendo en cuenta la ecuacin 5.3 los clculos para cada subjerarqua son
3 1 1 1
0,1
4 1 5 1 * (1/5)log4 = 0.07
Los diseadores de autos no reinventan la rueda cada vez que planean un nuevo modelo,
general se puede observar en los desarrollos de PLN. Sin embargo, estos trabajos suelen
introducidas se han concentrado en modelos muy generales y poco exibles para ciertos
problemas particulares de PLN. En este contexto, uno de los propsitos de esta tesis es
sea lo sucientemente exible para ser usado en experimentos similares a los realizados en
El captulo comienza con una descripcin general de la IS y la IL, para luego detallar los
de investigadores en el rea del PLN [61]. Finalmente, se presentan las APIs utilizadas en
Todo software est compuesto por programas, datos y documentos. El software di-
seado y construdo por los ingenieros de sistemas, tiene caractersticas propias que lo
distingue de los dems productos que el hombre pueda construir, debido a que:
producir nuevos defectos que provocan un deterioro del mismo. Cada fallo en el
del proceso ingenieril que debera ser aplicada en este contexto. Dichos componentes
diseo.
difcil, por lo que el riesgo de fallo en la mayora de los sistemas suele ser muy alto [87].
Se dene a la ingeniera como un proceso de construccin que debe tener como objetivo
restricciones sobre la naturaleza propia del proceso [87]. Tanto el proceso de construccin
como sus salidas deben ser medibles y predecibles. La IS es una disciplina que integra el
Conceptos introductorios 61
alta calidad de manera rpida, 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 nmero 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
se espera.
traduce los requerimientos a una nueva representacin del software donde es factible
Fase de soporte: se evalan los diferentes cambios a realizar, ya sea, debido a errores
el cliente.
del lenguaje humano por lo que tambin es apropiado vincular a la IL con el rea del
PLN. Por lo tanto, una denicin acertada, clara y completa sera la expuesta en [21] que
software vinculados al PLN para algo ms que slo modelar el lenguaje en s mismo y que
Exactitud : las tcnicas del PLN no pueden garantizar que se encontrarn todos y
nicamente los resultados correctos. El sistema debe tener esto en cuenta y tener
desarrollo de los sistemas PLN. Por otro lado, las mejores polticas de diseo y
no son cruciales.
sitivos para trabajar aun bajo condiciones variantes. En el rea del lenguaje, los
son usados para describir la viabilidad de que un mtodo lingstico sea aplicado a
Captulo 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
ces de reconocer y trabajar con mltiples lenguajes. Las aplicaciones de PLN son
gramaticales y lxicas que son especcos de cada idioma. De esta manera, en la ma-
yora de los sistemas PLN es necesario crear nuevos componentes para cada idioma
diferente.
Algunas de las falencias en lo que respecta a sistemas de PLN, tales como robustez,
productividad (a travs del reuso de componentes) y exibilidad, han sido y son temas de
o por lo menos tratar de atenuarlos [61]. Por lo tanto, cuando se hace mencin al reuso
gracin [21, 121] que puede ser superado aplicando conceptos bsicos de la IS como son
las interfaces de programacin de aplicaciones (APIs ) o los marcos de trabajo (en ingls
frameworks ).
dominio del PLN, se concluye que la baja reutilizacin de componentes resulta uno de los
presenta una doble limitacin, necesitando no slo intercambiar datos usando el mismo
formato e interpretacin, sino que tambin se necesita realizar la comunicacin entre com-
ponentes que pueden estar escritos en distintos lenguajes e incluso ejecutar en diferentes
Captulo 6. Aspectos de Ingeniera de Software aplicados a PLN 64
datos.
datos, algunos de los cuales estn disponibles pblicamente para investigacin, como por
ejemplo:
http://www.ldoceonline.com/
La Asociacin Europea de Recursos del Lenguaje (ELRA por sus siglas en ingls),
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 utiliza-
das en este trabajo [30, 59, 25]. Si bien el uso de colecciones estndar ha permitido hacer
mas segn se muestra en [25]. En este sentido, a pesar de que existen an inconvenientes
sea bajo es la gran dicultad que implica la integracin, ya que los desarrolladores usan
Las dos formas de reutilizacin (de datos y de cdigo) fueron tenidas en cuenta para
utiliz:
Conceptos introductorios 65
la ontologa WordNet que fue usada en diferentes tareas del procesamiento de textos
(ver Figura 6.2). Como se explic en la seccin 4.3 sta es una de las bases de datos
los conjuntos de colecciones de textos que sern descriptos en la seccin 7.1 y son
problema. No obstante, hay que tener en cuenta que es necesario contar con una interface
Maquina Virtual Java para poder interactuar con este sistema desde Java.
en Java.
Distintos algoritmos de etiquetado sintctico, que rotulan las palabras segn su ca-
trata de utilizar bibliotecas que ofrecen acceso a ciertos servicios desde procesos internos
entre los niveles o capas inferiores y los superiores del software. Uno de los principales ob-
esta forma, los programadores se benecian de las APIs haciendo uso de su funcionalidad,
evitndose 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 implemen-
tacin de dicha API . Al implementar una API se debe llegar a un cierto equilibrio entre
Como se menciona en la seccin 4.3, WordNet es una base de datos lxica compuesta
Para acceder a estos archivos se necesita una interface denida en algn lenguaje de
programacin que permita recuperar datos de los mismos. Existen interfaces disponi-
bles en lenguajes tale como: C#, Java, Haskell, Prolog, Perl, Python, entre otros [76].
1. NET/C#:
Franois-Rgis Chaumartin ha desarrollado un framework lingustico denomi-
nado Antelope .NET. ste usa y extiende WordNet incluyendo varios etique-
sin 3.0. Requiere el framework .NET y puede ser descargado en forma gratuita.
Derik Palacino ha desarrollado una interface C#. Este proyecto fue construido
sobre la base de datos para WordNet 3.0 sin embargo el cdigo fue traducido
Conceptos introductorios 67
desde la versin 2.1. Puede ser descargado como cdigo fuente o binario para
Windows.
2. Java:
La API Java para bsqueda en WordNet (JAWS las siglas en ingls para Java
API for WordNet Searching) es una interface de alto rendimiento, escrita en-
teramente en Java que soporta WordNet 2.1 y 3.0. Fue escrito por Brett Spell
Joris Van den Bogaert desarroll una interesante versin de interface Ja-
programas Java. Ofrece clases de Java con el cdigo binario (escrito en C++)
JWNL (las siglas en ingls para Java WordNet Library) escrita por John Di-
cdigo nativo, por lo que es totalmente porttil y todo su cdigo 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 versin de JWI dispone de una
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 documentacin que
instalacin.
Una de las APIs WordNet que tiene una documentacin til, con ejemplos de cmo se
rrollada por Troy Simpson en C#. Se puede encontrar una documentacin extensa en
Captulo 6. Aspectos de Ingeniera de Software aplicados a PLN 68
http://www.codeproject.com/KB/string/semanticsimilaritywordnet.aspx (donde
se encuentran en productos comerciales, pero aqu estn disponibles en cdigo abierto. Por
PLN desarrollados en diferentes lenguajes (C, C++, C#, Perl, Python y Java) orienta-
propuestas disponibles tienen la particularidad de ser muy completas pero a la vez com-
de ejecucin. En general, los sistemas permiten crear ujos lineales de mdulos donde la
salida de uno es la entrada del siguiente. Algunos ejemplos de estos sistemas son:
GATE (las siglas en ingls para General Architecture for Text Engineering ): esta
porciona un ncleo con los mdulos bsicos de anlisis del lenguaje (morfolgico y
recurso como una clase Java [22, 20] (en la seccin 6.5 se ver ms en detalle este
sistema).
ALEP (las siglas en ingls para The Advanced Language Engineering Platform ): es
[132].
TEXTRACT (las siglas en ingls 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
quitectura pero con mayor exibilidad y simplicidad para la integracin de nuevos mdulos
de anlisis.
Los experimentos previos al desarrollo del framework, fueron desarrollados por medio
determinar el orden de ejecucin o precisar cual era la versin correcta de cada mdulo.
Por lo tanto, la reproduccin exacta de un experimento anterior era muy difcil de obte-
ner o casi imposible. Otro aspecto muy importante que surgi durante el desarrollo del
al campo de la lingstica resulta una tarea muy difcil debido a que si la tcnica interna
bilidad que permita unicar las diferentes tecnologas. El lenguaje Java fue escogido para
1 Concepto que referencia a los componentes lingsticos cuyo detalle de implementacin interna no es
conocido [61].
Captulo 6. Aspectos de Ingeniera de Software aplicados a PLN 70
una coleccin 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 librera de clases que han sido diseadas para un cierto dominio dotadas de una
documentacin que incluye detalles precisos de la API exportada junto con ejemplos de
como ser usada en contextos de problemas particulares. Dicha librera puede ser adaptada
testear y depurar. Esto tambin puede bajar los costos de mantenimiento y acelerar la
brinda interfaces y clases abstractas bsicas para las tareas involucradas en el pre-
representacin de los documentos [33]. Los componentes abstractos deben ser implemen-
tados por las clases que van a usar los servicios que brinda el framework. Siguiendo esta
convencin, dichas clases pueden luego ser manipuladas de forma predecible por entornos
de desarrollo y aplicaciones.
a ser usado a menos que el costo de entenderlo y usar sus abstracciones sea ms bajo que el
se obtiene cuando las clases y los mecanismos son reutilizados a menudo, indicando que
enfoque en la parte particular del problema sin tener que lidiar con cuestiones adyacentes
al mismo.
Descripcin del framework desarrollado 71
de documentos, entre ellas hay clases abstractas tales como WSD que luego son imple-
mentadas de acuerdo al algoritmo especco utilizado en cada caso. Por ejemplo, para
la lgica propia de dicho algoritmo sin tener que preocuparse por cuestiones de entrada y
Para la API de Wordnet slo se detallan las clases principales Lexicon y WNDB con
palabra.
WSD, representa la clase abstracta que realiza la tarea de desambiguacin del sentido
de las palabras.
ciones que deben corregir ciertos errores [13]. Este algoritmo no fue implementado
Mejorado una variante del algoritmo original introducido por Michael Lesk (ver
seccin 5.2).
MFS, que implementa la clase abstracta WSD con el algoritmo heurstico del sentido
La Figura 6.2 muestra las diferentes subtareas que conforman el proceso. Cada sub-
tarea acepta datos de la etapa previa, aplica una transformacin a los datos y los pasa
clase abstracta de la que hereda (esto ser explicado en detalle en la seccin 7.2).
tos de estas clases pueden ser instanciados en programas de usuario, los mtodos pueden
ser invocados sobre estos objetos e inclusive se pueden heredar las clases para brindar
una mayor funcionalidad a las ya existentes. Un usuario podra crear sus propios m-
siempre y cuando los mdulos adhieran al protocolo especicado por la arquitectura. Por
Brill tagger [13] slo se debe heredar de la clase abstracta PosTagger e implementar
dicho algoritmo sin tener que preocuparse por cuestiones de entrada y salida con la etapa
De esta manera, se podran incluir diversos algoritmos para las diferentes tareas pu-
diendo llegar a contar con un conjunto de mdulos que se pueden combinar de formas
variadas para la creacin y ejecucin de experimentos de forma ms sencilla sin tener que
framework brinda un acceso ms sencillo a los archivos que se utilizan en los experimentos,
las subtareas del proceso, la parte bsica de acceso a recursos externos (como los archivos
trarse, exclusivamente, en la lgica de la solucin del problema sin tener que preocuparse
por lo dems.
Por otro lado, la posibilidad de combinar los diferentes algoritmos en las distintas
etapas es algo que hasta el momento se haca manualmente, por lo que se decidi extender
desarrollada para tal n, denominado Pre.Se.Do., especicando la tecnologa usada para
su implementacin, las distintas tareas que incluye y los pasos para su uso.
Captulo 6. Aspectos de Ingeniera de Software aplicados a PLN 74
los mtodos ms difundidos de categorizacin, provistos en este caso por el software libre
denominado Weka [39]. En este estudio, qued demostrada la importancia de contar con
sarrollo del trabajo experimental. Las razones de estas armaciones estn fundamentadas
de CT. En estos casos, al igual que en otros dominios de PLN que utilizan informacin
Plugin semntico para GATE 75
depende fuertemente del tipo de codicacin usada en los documentos, del algoritmo de
de los documentos de las distintas colecciones. En este sentido, el uso del framework
muy breve analizar si el buen desempeo en tareas de clustering de textos cortos logrado
?
por el algoritmo iterativo ITSA [31], tambin se vericaba en aquellos casos donde se in-
los resultados obtenidos en los experimentos realizados en [94] son altamente prometedo-
Si bien los estudios citados previamente se encuadran claramente como una investiga-
cin cientca, varias de las colecciones utilizadas en estos casos corresponden a documen-
tos originales del mundo real obtenidos de repositorios pblicos de empresas. Este es el
caso, por ejemplo, de las sub-colecciones del corpus de cables de noticias Reuters-21578,
donde el enfoque semntico utilizado report valores altamente prometedores. Estos resul-
tados, sumados a la simplicidad en el uso del framework, sugiere que la utilizacin efectiva
del mismo en problemas empresariales concretos del mundo real (como la categorizacin
Teniendo en cuenta la cita de Cunningham con la cual comienza este captulo, se deci-
di incorporar uno de los mdulos semnticos desarrollados en este trabajo como recurso
de procesamiento en el GATE. Por otra parte, para continuar con la analoga y defendien-
particulares.
Captulo 6. Aspectos de Ingeniera de Software aplicados a PLN 76
el Procesamiento del Lenguaje Natural. GATE est compuesto por una arquitectura, un
ciona un diseo reusable y un conjunto de bloques o mdulos que pueden ser reusados,
PLN. Adems de sus propios componentes, permite la incorporacin de plugins con nue-
vos mdulos que pueden implementarse en varios lenguajes de programacin, pero deben
ser invocados y reconocidos por el sistema como una clase Java. En GATE los plugins son
Objects for Language Engineering). Estos pueden ser de tres tipos principales:
Para crear un nuevo recurso CREOLE se deben seguir los siguientes pasos:
2. Compilar la clase, junto con todas las clases utilizadas, en un archivo jar (Java
ARchive).
3. Escribir los datos de conguracin en un archivo xml para este nuevo componente,
denominado creole.xml.
2 Un JavaBean o bean es un componente hecho en software que se puede reutilizar y que puede ser
stos deben generar informacin acerca de los mismos. Esta informacin que se produce
a partir del texto se representa dentro de GATE como un conjunto de anotaciones. Una
el texto.
lingusticos ).
motivos: primero, se evalu que el tiempo de aprendizaje iba a ser muy alto y complejo
Debido a que GATE es actualmente uno de los sistemas para PLN ms usado, es
objetivo mostrar si es factible incluir los mdulos semnticos del framework desarrollado
un plugin para GATE que incluya como recurso de procesamiento uno de los compo-
nentes del diagrama de clases de la Figura 6.1, para esto se seleccion el desambiguador
semntico referido como MFS (o SMF las siglas en espaol para Sentido ms frecuente ).
Por lo tanto, se cre un archivo denominado creole.xml mostrado en la Figura 6.4 con-
obligatorios, opcionales y/o por defecto. De este modo, teniendo ya los archivos jar y xml
en una ubicacin determinada, es posible instalar nuestro plugin como componente para
Como un resumen de los pasos para la instalacin se podran enumerar los siguientes:
3. Por ltimo, para poder ser utilizado en una aplicacin slo bastar seleccionarlo de la
Una vez que se ejecuta sobre un documento una aplicacin conteniendo el recurso
derecho en la Figura 6.5) para este recurso lingustico, se notar un cambio en la lista
anotaciones una nueva feature denominada SOset cuyo valor es el oset (ver seccin 6.3)
que identica unvocamente un synset en WordNet para cada palabra (token ) que pudo
A otro nivel, pero con el mismo estilo, se podran adaptar los dems componentes del
framework desarrollado como plugins de GATE. En este contexto y a modo de ejemplo, fue
a partir del componente ANNIE (las siglas en ingls para A Nearly-New Information
cacin escrita entre personas hace un uso constante de este tipo de textos restringidos en
la representacin de textos (ver seccin 4.1). Es conveniente destacar que en general estos
disponer de una coleccin de entrenamiento para la tarea de WSD. Este enfoque basado
colecciones de textos cortos. Una alternativa para abordar el problema anterior, es el uso
de mtodos de WSD basados en conocimiento descriptos en la seccin 4.2. Si bien este tipo
de mtodos suelen mostrar resultados de menor calidad que los obtenidos con mtodos
basados en corpus, constituye en muchos casos una de las pocas alternativas factibles si se
lo tanto, se puede pensar al enfoque basado en conocimiento como una opcin apropiada
para utilizar en aplicaciones vinculadas al PLN que trabajen sobre textos cortos.
En este captulo se describen las colecciones de textos cortos seleccionadas para los
trabajos experimentales, stas fueron elegidas por tener diferentes niveles de complejidad
ser tambin beneciosa en otras tareas de PLN, como por ejemplo en clustering iterativo.
mentos cortos con diferentes niveles de complejidad con respecto al tamao de la coleccin,
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
corpus:
CICling-2002 (CIC ): es una coleccin de textos cortos muy popular que ha sido
reconocida en diferentes trabajos [3, 47, 71, 29] como una coleccin de compleji-
dad alta debido a que sus documentos pertenecen a un dominio muy restringido.
Caracterstica Valor
Categora # docs
# categoras 4
Linguistics 11
# tot. docs 48
Ambiguity 15
# tot. terms 3382
Lexicon 11
vocabulario 953
Text Processing 11
promedio de terms por abstract 70.45
longitud que son resmenes cientcos disponibles en Internet sobre temticas comu-
tan estrecha como en CIC y que la longitud promedio de los abstracts es mayor, se
Caracterstica Valor
Categora # docs
# categoras 4
Heuristics in Optimization 11
# tot. docs 48
Machine Learning 15
# tot. terms 9261
Automated Reasoning 11
vocabulario 2169
Aut. Intelligent Agents 11
promedio de terms por documento 192.93
21578. Esta coleccin, est compuesta por 21.578 cables de noticias divididos en
un corpus que presenta una complejidad entre baja y media. Tiene caractersticas
que la hacen muy interesante para utilizarla en tareas de CT ya que es una colec-
cin apta para clasicacin de mltiples rtulos, tiene algunos documentos que no
con limitados rendimientos hasta que Debole y Sebastiani en [25] denen dos sub-
conjuntos estndares que son frecuentemente usados, R10 (con las 10 categoras que
de R10 y de R90 sin documentos. Por lo tanto, si se quitan los documentos que
Categora # docs
trade 102
Caracterstica Valor
grain 34
# categoras 8
monexfx 130
# tot. docs 2319
crude 140
# tot. terms 150430
interest 87
vocabulario 9315
acq 707
promedio terms por documento 64.87
ship 43
earn 1076
elegidos para cada una de las 8 clases. Para cada categora fueron seleccionados los
R8-: es una coleccin obtenida mediante el mismo procedimiento que para R8+ pero
seleccionando en este caso los 20 documentos de menor longitud para cada categora.
textos (seccin 3.1.2). Los experimentos se realizaron primeramente con las 20 codica-
ciones SMART para el enfoque tradicional basado en trminos con el n de obtener cules
son las mejores codicaciones para cada corpus. De las codicaciones con mejor valor de
precisin para cada coleccin se seleccionaron btc, ltc y ntc para ser comparadas con las
Diseo experimental 85
que es aplicado en esta seccin para generar los vectores de trminos , conceptos y
pletar una serie de tareas intermedias. El documento sin las stopword es la entrada
para la tarea de etiquetado sintctico (en ingls POS-tagging ) que rotula cada palabra
del documento con su categora gramatical. En caso que esto no pueda ser realizado ex-
5) que utiliza la ontologa WordNet como recurso externo. La salida de este ltimo paso
es usado para el proceso de obtencin del oset (identicador nico en la base de datos
WordNet que fue descripto en la seccin 4.3) y luego transformar este nmero entero
Complement Naive Bayes (CNB) y Support Vector Machine (SVM). Para el entrena-
cross validation ) con k = 10. Este procedimiento consiste en dividir los n ejemplos del
luego se realiza un promedio de los resultados obtenidos para cada particin. Los par-
metros utilizados para los experimentos fueron seleccionados de aquellos que reportaron
para realizar transformaciones sobre datos, clasicacin, regresin, clustering, asociacin y visualizacin.
Captulo 7. Conjuntos de datos y detalle de los experimentos 86
tacin original utilizando VSM de textos cortos que ayuden a mejorar la tarea de cate-
semntica plantea distintas alternativas respecto a cmo sta puede ser incorporada en la
y removiendo aquellos trminos cuyo synset no existe o no pudo ser desambiguado. Los
synsets fueron obtenidos al aplicar WSD mediante los tres enfoques descriptos en el
captulo 5: el mtodo heurstico del sentido ms frecuente (MFS ), Lesk Mejorado (LM )
y CIAOSENSO (CIAO ).
100
95
90
85
80
%precision
75
70
65
60
55
50
C
Ea
R
IC
8+
8p
8p
sy
or
or
+
colecciones
terminos conceptos terminos+conceptos
La Figura 7.2 compara los mejores valores de precisin obtenidos con la representa-
para todas las colecciones. Para las dos nuevas estrategias se seleccion la combinacin
Para la estrategia original el ms alto valor fue seleccionado desde la combinacin codi-
Captulo 7. Conjuntos de datos y detalle de los experimentos 88
fue elegida para cada coleccin. En aquellos casos en que ms de una combinacin obtuvo
el mejor valor, se seleccion una de ellas al azar. Por ejemplo, para la coleccin CIC en
lograr una mejora en la precisin, con respecto a los resultados obtenidos cuando slo los
trminos son considerados. En las colecciones con dicultad baja y media (Easy, R8+,
Easy ). Para las colecciones con una mayor complejidad en cuanto a su longitud (CIC,
la coleccin CIC (dominios que en cierta medida se solapan compartiendo algunos trmi-
nos aunque este grado de ambigedad parece resolverse en parte con los vectores basados
nicamente en conceptos ). No obstante esta diferencia observada entre ambos enfoques
CICling-2002 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.38 95.12 94.86
ntc 62.50 66.66 75.00 97.91 100 95.83 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
de textos cortos, es importante comparar ahora cul fue el desempeo de los distintos
En las Tablas 7.5, 7.6 y 7.7 se realiza esta comparacin reportndose, por coleccin, los va-
lores de precisin obtenidos con los diferentes mtodos de WSD basados en conocimiento
que mostr el mejor comportamiento. Los valores resaltados en negrita indican los mejo-
res valores obtenidos. De las tablas se puede inferir que, como sucedi en la observacin
las colecciones. Las colecciones de complejidad baja y media son mejor categorizadas, en
la mayora de los casos, al aplicar los mtodos WSD que tienen en cuenta el contexto
jidad los mejores valores fueron encontrados utilizando el mtodo MFS. Por ejemplo, si
de conceptos utilizando MFS y codicacin ntc. Por el contrario, una tarea de catego-
rizacin con precisin perfecta se obtiene aplicando, tanto para conceptos como para
perimentos, en la mayora de los casos, la ntc estndar es la que mejor resultados obtuvo,
R8+ R8-
C LM CIAO MFS LM CIAO MFS
btc 85.00 84.37 83.12 90.00 90.00 90.00
R8porc+ R8porc-
C LM CIAO MFS LM CIAO MFS
btc 95.00 94.37 92.5 95.68 96.46 96.32
representacin de los documentos. Este problema, puede resultar muy serio cuando se
coleccin R8, donde enfoques de este tipo pueden tener un impacto negativo en la ecien-
cia en tiempo y espacio de sistemas de categorizacin como los provistos por Weka. Un
son robustos a los mtodos clsicos de reduccin de dimensionalidad como los descriptos
en la seccin 3.3, para poder obtener colecciones que se puedan procesar de manera ms
eciente.
100
95
%precision
90
85
80
25
50
12
25
50
75
10
0
50
00
00
00
00
0
tamao de vocabulario
para el tipo de bsqueda que ordena los atributos segn sus evaluaciones individuales.
Uno de los parmetros que puede ser introducido es el denominado numToSelect donde
se especica el nmero de atributos que sern conservados luego del ltrado. Este nmero
mayor en cuanto al tamao del vocabulario comparada con los dems conjuntos de datos
Figura 7.4 los resultados muestran la reduccin para la coleccin R8+, donde la cantidad
nos+conceptos, puede ser resuelto aplicando mtodos de ltrado de atributos que ob-
tienen una alta precisin con altos niveles de reduccin de vocabulario. En algunos casos
esta tarea de ltrado resulta necesaria e inevitable para poder aplicar un cierto clasicador
100
95
%precision
90
85
80
15
17
25
50
87
12
25
37
50
0
50
00
50
00
tamao de vocabulario
A partir de los resultados alentadores mostrados en [112, 89] una nueva variante es intro-
la representacin.
beef , ste no slo representa al concepto beef sino tambin a meat, food y as con-
como base la Figura 7.1 se implementa e incorpora un algoritmo para la obtencin de los
La coleccin que mayor dicultad ha presentado para los distintos mtodos estudiados
fue CIC debido a su alta complejidad, de esta forma se decide aplicar la variante para eva-
luar una posible mejora en la categorizacin de este corpus. Como nivel de hiperonimia se
tom el valor 5 en la jerarqua de WN, que corresponde a los mejores resultados reportados
Clustering utilizando informacin semntica 93
en [45]. Los conceptos en este caso se obtuvieron mediante el mtodo CIAO. En la Tabla
7.8 se resumen los mejores valores obtenidos para CIC con los distintos algoritmos en el
uso de hipernimos muestra algunas mejoras sobre los resultados sin hipernimos, para los
Por lo tanto, podemos concluir que la efectividad del uso de este tipo de informacin
cortos ya que involucra un costo computacional muy alto para el escaso benecio que se
tos cortos (blogs, mensajes de textos, y otros) lo que ha generado un inters creciente
zando representaciones de vector de trminos clsicas [30, 31]. En esta seccin, se analiza,
? ?
El algoritmo ITSA (cuyo nombre deriva de ITerative PAntSA ), es la versin iterativa
?
de PAntSA , un mtodo bio-inspirado diseado para mejorar los resultados obtenidos
?
con algoritmos de clustering arbitrarios. PAntSA es la versin particional del algoritmo
AntTree [6] que adems incorpora informacin sobre el Coeciente de Silueta (Silhouette
?
Coecient ) [97] y el concepto de atraccin 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.
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 contina hasta que todas las hormigas estn conectadas a la
estructura.
?
Las dos componentes principales de PAntSA son: 1) la disposicin inicial de las hor-
migas en la lista L, y 2) el criterio utilizado por una hormiga arbitraria ai ubicada sobre el
soporte, para decidir cul ser la hormiga a+ (conectada al soporte) hacia la que debera
?
moverse. Para el primer paso, PAntSA toma como entrada el agrupamiento obtenido con
(CS) de este agrupamiento para determinar el orden inicial de las hormigas en L. Para
?
el segundo proceso, PAntSA usa un criterio ms informado basado en el concepto de
+
atraccin. Aqu, si Ga+ = {a } Aa+ es el grupo formado por una hormiga a+ conectada
al soporte y sus descendientes; esta relacin entre el grupo Ga+ y la hormiga ai es referida
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 informacin semntica 95
ser incorporada en el grupo de la hormiga a+ que ms atraccin 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
hormigas en L.
1. Coneccin 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
2. Generacin de la lista L
2.a. Sea Q00 = {q100 , . . . , qk00 } el conjunto de las resultante del proceso previo
de remocin 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 ms alto de att(ai , Ga + ).
Ga+ Ga+ {ai }
Hasta que L est vaca
?
Figura 7.5: El algoritmo PAntSA .
hormiga ai con el valor de CS ms alto de cada grupo Ci , y conectar cada una de ellas
en generar la lista L con las hormigas que no fueron conectadas en el paso previo. Este
mezcla las hormigas restantes (ordenadas) de cada grupo tomando, en forma iterativa, la
primera hormiga de cada la no vaca, hasta que todas las las estn vacas. En el tercer
paso, el orden en el cual las hormigas sern procesadas es determinado por sus posiciones
?
Una vez que el algoritmo PAntSA es implementado, su versin iterativa llamada
? ?
ITSA , puede ser fcilmente lograda. ITSA slo 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 iteracin, y repetir este proceso hasta que no se observen
?
cambios en el agrupamiento generado por PAntSA con respecto a la iteracin previa.
? ?
Es importante notar que tanto PAntSA como ITSA son en realidad mtodos de
mejora que trabajan sobre un agrupamiento inicial generado por un algoritmo de cluste-
?
ring separado. Sin embargo, en trabajos recientes [31], se ha observado que ITSA puede
es provisto con agrupamientos iniciales aleatorios. Esta variante, que ser la utilizada en
?
el trabajo experimental, permite obtener una versin totalmente autocontenida de ITSA
? ?
Los resultados of ITSA fueron comparados con los resultados de PAntSA y otros
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 atraccin usamos la similitud promedio entre ai y todas las hormigas
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 seccin 3.2) sobre los agrupamientos que cada algoritmo gener en 50
los valores de medida F mnimo (Fmin ), mximo (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. Tambin se incluyen
? ?
los resultados obtenidos con PAntSA e ITSA tomando como entrada los agrupamien-
tos 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
R-Clust?? -C mientras que aquellos que combinan trminos y conceptos son referenciados
como R-Clust?? -T+C.
?
Los resultados obtenidos son concluyentes respecto al buen desempeo de ITSA con
las colecciones con mayor nmero de documentos ( R8+ y R8-) cuando se incorpora infor-
macin semntica en la representacin de los textos cortos. En este sentido, se debe notar
?
que ITSA obtiene los mejores valores de Fmin , Fmax y Favg utilizando representaciones
utilizan conceptos y trminos (R-Clust -T+C) en el caso de R8-. Los resultados con las
??
otras dos colecciones ms pequeas, si bien no son tan categricos, son altamente com-
petitivos con los obtenidos por los restantes algoritmos. En el caso de CICling-2002 (una
?
coleccin que ha exhibido una alta complejidad en trabajos previos) ITSA obtiene los
mejores valores de Fmax y Favg con representaciones que slo utilizan conceptos, y slo es
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 coleccin.
los mejores resultados reportados en la literatura especca en el rea. Este ltimo aspecto,
no es una observacin menor, si consideramos que los mtodos de WSD utilizados para
obtener los conceptos (WSD basado en conocimiento) son considerados como mtodos
mejora introducida en el proceso de WSD subyacente podra resultar en una mejora del
En este captulo se presentan las conclusiones del trabajo realizado y se plantean pro-
base a las conclusiones previas se pueden identicar dos reas denidas de estudios para
debido a que es una de las alternativas viables en casos donde no se dispone de una co-
Este enfoque demostr que, a pesar de que involucra generalmente un aumento en la di-
mensionalidad de la representacin, puede obtener una precisin muy alta con elevados
de WSD, teniendo en cuenta que no hay un nico mtodo 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
en la CT.
tal con CT, se decide experimentar con otra de las aplicaciones vinculadas a PLN. De
[30, 31]. Un aporte interesante surge en este contexto, ya que se obtiene un desempeo
das. Con referencia a esto ltimo es importante tener en cuenta que, si consideramos que
los mtodos de WSD utilizados en este trabajo (basados en conocimiento) pueden cali-
Por otro lado, las ventajas del uso de hipernimos en la representacin de documentos
este sentido, una extensin interesante es la planteada en [45] para la tarea de cluste-
ring que consiste en no remover los trminos que no pudieron ser desambiguados para
la representacin de conceptos sino agregarlos como parte del vector junto con los que
pudieron ser desambiguados con alguno de los mtodos de WSD (sera una variante al
En base a las conclusiones anteriores, donde se destaca el buen desempeo del pre-
rimentos para la obtencin de los vectores que representan a los documentos de texto. El
framework desarrollado brinda un manejo sencillo de los documentos que se utilizan para
para las tareas involucradas en la obtencin de los vectores. Por lo tanto, los mdulos
que pretendan hacer uso de los servicios que brinda el framework nicamente debern
Si bien el uso del framework alivi la tarea de obtencin de los vectores para la re-
las distintas etapas era una tarea engorrosa ya que se haca manualmente. El desarrollo
de una interfaz grca extendi los benecios del framework original, evitando que el
es un proceso complejo que exige codicacin, permitiendo a usuarios tanto del mbito
para el anlisis de textos. Pre.Se.Do. fue desarrollado para hacer factible la interaccin en
podemos identicar dos reas donde la investigacin llevada a cabo en este trabajo puede
Incorporar nuevos algoritmos para las distintas etapas del pre-procesamiento semn-
tico. Por ejemplo para la WSD, usar otras variantes del algoritmo de Lesk como el
por ejemplo analizar si es viable el uso de la ontologa Yago, que con alta cobertura
que en base a los puntos anteriores pueda ser extendido para que tome en cuenta:
poder ser adaptado a otras tareas que involucren slo algunas (y no necesariamente
escritorio) para que pueda ser usada desde la Web. De este modo, se permite a
usuarios desde cualquier parte del mundo acceder a la aplicacin e integrar sus
los datos deben ser proporcionadas de manera formal para poder evaluarlas auto-
Acrnimos
La documentacin del framework es esencial para que ste pueda ser reutilizable.
Una buena documentacin para las especicaciones de un framework debe detallar como
mnimo:
B.1. Propsito
y estableciendo colaboraciones entre las clases que forman el modelo. La nalidad de este
trabajo es proveer de un conjunto de mdulos que permitan realizar de una manera sencilla
las tareas de pre-procesado semntico de textos para la obtencin de los vectores que sern
las tareas implementadas estn los algoritmo de steeming, etiquetado sintctico (o pos-
archivos de la base de datos lxica WordNet, uno de los recursos externo ms utilizado
para las tareas vinculadas a PLN. Esto ltimo se logr mediante la adaptacin de la API
WordNet .NET (mencionada en la seccin 6.1.3) a lenguaje Java por ser la nica que
para generar un conjunto de vectores que ser utilizado posteriormente para la tarea de
Para un algoritmo de POS-tagging, se debe crear una nueva clase, dentro del paquete
package ar.edu.unsl.cs.wsd.postagger;
public class MFWNPOSTagger extends POSTagger {
public WordInfo[] posTag(String[] words) {
return wordInfos;
}
}
Para un algoritmo de WSD se debe crear un nuevo subpaquete dentro del paquete
wsd que contendr los archivos Java necesarios para la implementacin del algorit-
package ar.edu.unsl.cs.wsd;
public class WSDLesk extends WSD {
protected WordInfo[] disambiguate(String[] words) {
wordInfos = wsd.disambiguate(wordInfos);
return wordInfos;
}
}
Una vez que el desarrollo anterior ha sido completado, para realizar una ejecucin con
Donde,
procesar.
con los de entrada) conteniendo para cada trmino, su correspondiente synset luego de
ser desambiguado por el algoritmo utilizado. Luego, estos archivos deben ser procesados
identicador nico del synset para cada trmino desambiguado. Finalmente, se realiza
la transformacin de los dgitos del oset a letras (de la a a la j ) que formarn el vector
de conceptos que ser utilizado como datos de entrada a las herramientas que resuelven
Documentacin de Pre.Se.Do
El desarrollo de una interfaz grca de usuario en lenguaje Java puede ser realizado
de varias maneras, las ms utilizadas son a travs de: Abstract Windows Toolkit (AWT ),
con los de Swing. Pero, al ser una tecnologa muy estable y poder ejecutarse en
Swing proporciona GUIs que tienen apariencia elegante y sosticada. Es una tec-
nologa 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 grcos. Hace
posible el diseo de GUIs con apariencia muy similar a las aplicaciones de escritorio
tradicionales. Los controles son construidos por los archivos DLL nativos por lo que
Por otro lado, est disponible en forma gratuita un plugin (plug-in), denominado Ji-
gloo, que se aade a Eclipse para disear GUIs con AWT, Swing y SWT lo que facilita
Apndice C. Documentacin de Pre.Se.Do 110
gran parte del trabajo de desarrollo. Jigloo crea y administra el cdigo para todas las
partes de Swing, SWT y manejo de eventos, adems permite visualizar la GUI a medida
que se va construyendo. Jigloo es sencillo, rpido, potente, fcil de usar y totalmente inte-
grado con Eclipse. Esto puede llevar a importantes ahorros de tiempo para el desarrollo de
una interfaz grca de usuario y sus tareas de mantenimiento. Jigloo ofrece las siguientes
caractersticas generales:
Construye clases Java para interfaces grcas de usuario en SWT o Swing, con un
Puede reconocer y manipular el cdigo generado manualmente o por otros IDE (por
Crea controladores para todos y cada uno de los eventos de los componentes.
editor (ya sea una fraccin de panel) o se puede seleccionar el diseo con solapas o
pestaas.
Por todos los motivos especicados anteriormente se decidi utilizar las facilidades de
Jigloo para el desarrollo de una interfaz grca que haga posible interactuar en forma
combinar diferentes algoritmos en las distintas etapas era un proceso que se haca manual-
mente y codicando. Es decir, no exista un controlador del ujo ni entorno grco para
ejecutar los diferentes mdulos, sino que la salida del anterior deba ser provista y codi-
cada como entrada al posterior. Como una posible extensin a este framework se decide
plica la seleccin y el posterior proceso de las tareas que componen el ujo de ejecucin
La Figura C.1 muestra la ventana inicial con dos opciones posibles: acceder a la apli-
cacin 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 grca para utilizar las distintas funcionalidades que ofrece
Pre.Se.Do.. Dentro del entorno principal existen 4 sub-entornos para realizar las distintas
Captulo 6:
3. Obtencin de Vectores
El primer paso para comenzar a trabajar con la aplicacin es denir el origen de los
datos. Por lo tanto, debe seleccionarse en primer lugar el corpus o coleccin con la que se va
a trabajar, la misma debe ser una carpeta conteniendo las diferentes subcategoras dentro
de las cuales se encontrarn los archivos de textos a analizar que tendrn extensin .txt.
Para seleccionar la carpeta corpus se puede realizar de dos maneras, ya sea escribiendo
sido realizado un aviso de error ser mostrado en una ventana de dilogo como el de la
113
Figura C.4. Finalmente, una vez seleccionado el origen de datos es posible comenzar a
La primera solapa permite realizar el anlisis sintctico del corpus. Los archivos a
extensin .pos. En primer lugar se debe seleccionar el algoritmo con el cul se realizar
esta tarea. La descripcin de los algoritmos MFWN y Brill fue includa en el Captulo
que slo requiere incluir nuevos algoritmos de las distintas tareas que conforman el ujo
manera una ventana como la mostrada en la Figura C.5 se abrir para conrmar la
interrupcin o no de la ejecucin.
Para vericar que la tarea est en proceso y llevar un control de los archivos ejecu-
tndose 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.
semntico de los textos que ya han sido analizados sintcticamente. Para la tarea de
desambiguacin es posible optar por alguno de los tres algoritmos implementados: SMF
(most frequent sense), CIAO y Lesk (en su versin mejorada o adaptada). Tanto para
Apndice C. Documentacin de Pre.Se.Do 114
la tarea anterior como para las siguientes es posible interrumpir, en todo momento, la
ejecucin del procesamiento que para este caso comenz al pulsar el botn Get WSD.
En la Figura C.8 se muestra la solapa que permite realizar la tarea nal para la
obtencin de los vectores que sern 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
hecho de agregar informacin complementaria a los vectores a partir de las relaciones je-
rrquicas 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,
das para este caso pero que al momento slo est implementada la relacin de hiperonimia
[1] Eneko Agirre and David Martnez. 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
[3] Mikhail Alexandrov, Alexander Gelbukh, and Paolo Rosso. An approach to cluste-
[4] Gianni Amati, Daniela D. Aloisi, Vittorio Giannini, and Flavio Ubaldini. A fra-
mework for ltering news and managing distributed data. UCS, 3(8):10071021,
1997.
[5] David Pinto Avendao, Hctor Jimnez-Salazar, and Paolo Rosso. Clustering abs-
tracts of scientic texts using the transition point technique. In CICLing, pages
536546, 2006.
[6] Hanane Azzag, Nicols Monmarche, Mohamed Slimane, Gilles Venturini, and Chris-
tiane Guinot. AntTree: A new model for clustering with articial ants. In CEC,
[7] Douglas Baker and Andrew McCallum. Distributional clustering of words for text
[8] Satanjeev Banerjee. Adapting the Lesk Algorithm for Word Sense Disambiguation to
2002.
[9] Satanjeev Banerjee and Ted Pedersen. An adapted lesk algorithm for word sense
[10] Jrg 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.
[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
[15] Davide Buscaldi, Paolo Rosso, and Francesco Masulli. The upv-unige-ciaosenso wsd
2001.
[17] Noam Chomsky. Aspects of the theory of syntax. MIT Press, 1965.
[18] Yaacov Choueka and Serge Lusignan. Disambiguation by short contexts. Computers
[19] William Cohen and Yoram Singer. Context-sensitive learning methods for text
[20] Hamish Cunningham, Diana Maynard, Valentin Tablan, Cristian Ursu, and Kalina
guide), 2012.
[21] Hamish Cunningham and Donia Scott. Software architecture for language enginee-
[22] Hamish Cunningham, Yorick Wilks, and Robert Gaizauskas. Gate-a general archi-
[23] Ido Dagan and Alon Itai. Word sense disambiguation using a second language
[24] Ido Dagan, Alon Itai, and Ulrike Schwall. Two languages are more informative than
[25] Franca Debole and Fabrizio Sebastiani. An analysis of the relative hardness of
56(6):584596, 2005.
[26] Scott Deerwester, Susan Dumais, Thomas Landauer, George Furnas, and Richard
[27] Xiaowen Ding, Bing Liu, and Philip Yu. A holistic lexicon-based approach to opinion
[28] Susan Dumais, John Platt, Mehran Sahami, and David Heckerman. Inductive lear-
ning algorithms and representations for text categorization. In CIKM, pages 148
155, 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.
[31] Marcelo Errecalde, Diego Ingaramo, and Paolo Rosso. Itsa*: an eective iterative
[32] Marcelo Errecalde, Mara V. Rosas, Diego Ingaramo, and Paolo Rosso. Clustering
[33] Marcelo Errecalde, Mara V. Rosas, and Paolo Rosso. Un framework de ingeniera
2010.
BIBLIOGRAFA 120
1998.
[35] Edward Fox, Gerard Salton, and Harry Wu. Extended boolean information retrieval.
[36] Norbert Fuhr, Stephan Hartmann, Gerhard Lustig, Michael Schwantner, Kostas
Tzeras, and Gerhard Knorz. Air/x - a rule-based multistage indexing system for
[37] Luigi Galavotti, Fabrizio Sebastiani, and Maria Simi. Experiments on the use of
[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
[40] Julio Gonzalo, Felisa Verdejo, Irina Chugur, and Juan Cigarrn. Indexing with word-
net synsets can improve text retrieval. Corpus Research Repository, volume:cmp-
lg/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
[42] Jos M. Gmez Hidalgo. Evaluating cost-sensitive unsolicited bulk email categori-
[43] Jos M. Gmez Hidalgo and Manuel de Buenaga Rodrguez. Integrating a lexical
[44] Jos M. Gmez Hidalgo, Juan I. Girldez, and Manuel de Buenaga Rodrguez. Text
[45] Andreas Hotho, Steen Staab, and Gerd Stumme. Ontologies improve text docu-
[46] Diego Ingaramo, Marcelo Errecalde, Leticia Cagnina, and Paolo Rosso. Compu-
[47] Diego Ingaramo, David Pinto, Paolo Rosso, and Marcelo Errecalde. Evaluation of
[48] Diego Ingaramo, Mara V. Rosas, Amparito Asensio, and Marcelo Errecalde. Tpi-
[49] George John, Ron Kohavi, and Karl Peger. Irrelevant features and the subset
[51] Daniel Jurafsky and James Martin. Speech and Language Processing: An Introduc-
[53] George Karypis, Eui-Hong Han, and Kumar Vipin. Chameleon: Hierarchical clus-
[54] Athanasios Kehagias, Vassilios Petridis, Vassilis Kaburlasos, and Pavlina Fragkou. A
[55] Moshe Koppel, Jonathan Schler, and Shlomo Argamon. Computational methods in
[56] Donald Kraft and Duncan Buell. Fuzzy sets and generalized boolean retrieval sys-
[57] Oh-Woog Kwon and Jong-Hyeok Lee. Web page classication based on k-nearest
[58] John Laerty and ChengXiang Zhai. Probabilistic relevance models based on do-
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 proces-
[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
[63] David Lewis. Evaluating and optimizing autonomous text classication systems. In
[64] David Lewis and Marc Ringuette. A comparison of two learning algorithms for text
[65] David Lewis, Robert Schapire, James Callan, and Ron Papka. Training algorithms
[66] David Lewis and Alan Smeaton. Use of natural language processing at trec. In
[67] Dekang Lin. Using syntactic dependency as local context to resolve word sense
[68] Andrew K. Lui, Siu C. Li, and Sheung O. Choy. An evaluation of automatic text
[69] Alpha Luk. Statistical sense disambiguation with relatively small corpora using
2007.
[71] Pavel Makagonov, Mikhail Alexandrov, and Alexander Gelbukh. Clustering abs-
[72] Christopher Manning and Hinrich Schtze. Foundations of Statistical Natural Lan-
[73] Hermann Maurer, Frank Kappe, and Bilal Zaka. Plagiarism - a survey. Universal
[74] Susan McRoy. Using multiple knowledge sources for word sense discrimination.
[75] George Miller. Wordnet: a lexical database for english. Computational and Applied
projects/#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
[80] David Monarchi, Brian Henderson-Sellers, Grady Booch, Ivar Jacobson, Stephen
[81] Isabelle Moulinier, Gaillius Raskinis, and Jean-Gabriel Ganascia. Text categoriza-
[82] Mary S. Ne, Roy J. Byrd, and Branimir K. Boguraev. B.k.: The talent system:
[83] Nikunj Oza, Robi Polikar, Josef Kittler, and Fabio Roli, editors. Multiple Classier
[85] Martin Potthast, Alberto Barrn-Cedeo, Benno Stein, and Paolo Rosso. Cross-
2011.
[86] Martin Potthast, Benno Stein, Alberto Barrn-Cedeo, and Paolo Rosso. An eva-
2010.
441, 1991.
[89] Diego Reforgiato Recupero. A new unsupervised method for document clustering
579, 2007.
[90] Philip Resnik. Using information content to evaluate semantic similarity in a taxo-
[91] Ellen Rilo. An empirical study of automated dictionary construction for informa-
[92] Thomas Roelleke, Jun Wang, and Stephen Robertson. Probabilistic retrieval models
[93] Monica Rogati and Yiming Yang. High-performing feature selection for text classi-
[94] Mara V. Rosas, , Marcelo Errecalde Diego Ingaramo, and Paolo Rosso. Clustering
[95] Mara V. Rosas, Marcelo Errecalde, and Paolo Rosso. Un anlisis comparativo de
miento del Lenguaje Natural, Sociedad Espaola para el Procesamiento del Lenguaje
[96] Paolo Rosso, Francesco Masulli, Davide Buscaldi, Ferran Pla, and Antonio Molina.
[97] Peter Rousseeuw. Silhouettes: a graphical aid to the interpretation and validation
[98] Yasubumi Sakakibara. Pair hidden markov models on tree structures. In ISMB,
[100] Gerard Salton and Chris Buckley. Term-weighting approaches in automatic text
[101] Robert Schapire and Yoram Singer. Boostexter: A boosting-based system for text
24:97123, 1998.
[103] Hinrich Schtze, 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,
[107] Fabrizio Sebastiani. Text categorization. In Text Mining and its Applications to
Intelligence, CRM and Knowledge Management, pages 109129. WIT Press, 2005.
BIBLIOGRAFA 126
[108] Shahin Shakeri and Paolo Rosso. Spam detection and email classicaion. Informa-
[111] Benno Stein and Sven Meyer zu Eissen. Document Categorization with Major-
[112] Benno Stein, Sven Meyer zu Eissen, and Martin Potthast. Syntax versus semantics:
[113] Ingo Steinwart. Consistency of support vector machines and other regularized kernel
[114] Jiri Stetina, Sadao Kurohashi, and Makoto Nagao. General word sense disambigua-
1998.
[115] Mark Stevenson and Yorick Wilks. The interaction of knowledge sources in word
[116] Fabian Suchanek, Gjergji Kasneci, and Gerhard Weikum. Yago: A large ontology
[117] Georey G. Towell and Ellen M. Voorhees. Disambiguating highly ambiguous words.
[118] Kostas Tzeras and Stephan Hartmann. Automatic indexing based on bayesian in-
[119] Florentina Vasilescu, Philippe Langlais, and Guy Lapalme. Evaluating variants of
the Lesk approach for disambiguating words. In LREC, pages 633636, 2004.
[121] Xia Wang. owsd: A tool for word sense disambiguation in its ontology context. In
[122] Erik Wiener, Jan Pedersen, and Andreas Weigend. A neural network approach to
[124] Yiming Yang. A study on thresholding strategies for text categorization. In SIGIR,
[125] Yiming Yang and Christopher Chute. An example-based mapping method for text
277, 1994.
[126] Yiming Yang and Jan Pedersen. A comparative study on feature selection in text
[127] Yiming Yang, Sen Slattery, and Rayid Ghani. A study of approaches to hypertext
[129] Shiren Ye, Tat-Seng Chua, and Jeremy R. Kei. Clustering web pages about persons
[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] Rmi Zajac, Mark Casper, and Nigel Sharples. An open distributed architecture for
1997.
Processing, Second Edition, pages 121. CRC Press, Taylor and Francis Group, 2010.