Sei sulla pagina 1di 141

Universidad Nacional de San Luis

Tesis de Maestra en Ingeniera de Software

UN FRAMEWORK DE INGENIERA DEL


LENGUAJE PARA EL PRE-PROCESADO
SEMNTICO DE TEXTOS

Lic. Mara Vernica Rosas

Director: Dr. Paolo Rosso, Universitat Politcnica de Valncia.

Codirector: Dr. Marcelo Errecalde, Universidad Nacional de San Luis.

San Luis Argentina


2012
Prefacio

Esta Tesis es presentada como parte de los requisitos para optar al grado acadmico

de Magister en Ingeniera de Software, de la Universidad Nacional de San Luis, y no ha

sido presentada previamente para la obtencin de otro ttulo en esta Universidad u otras.

La misma contiene los resultados obtenidos en investigaciones llevadas a cabo bajo la

direccin del Dr. Paolo Rosso y el Dr. Marcelo Errecalde.

Lic. Mara Vernica Rosas

mvrosas@unsl.edu.ar

Departamento de Informtica

Universidad Nacional de San Luis

San Luis.
Agradecimientos

La gratitud es una de las grandes bendiciones de la vida. Nos permite ver todo como

posibles dones de Dios.

A todas las personas que fueron y son dones que Dios ha puesto en mi camino durante mi

vida...a las que me alentaron, a las que me tuvieron paciencia, a las que estuvieron a mi

lado (a pesar de la distancia y del cielo que nos separa), a las que corrigieron mis errores,

a las que enriquecieron mi trabajo con su experiencia y 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

mi mam, a JuanMa y Luci, a mis cuados, a mi Nono Herminio y a Santiago que me

acompa con su sonrisa espontnea y amplia estos ltimos meses. A mis amigos de toda

la vida y a los que comparten y disfrutan da a da las horas de docencia.

Agradezco a mi director y codirector, sin cuya ayuda, dedicacin y constancia no

hubiera podido alcanzar las metas propuestas para este trabajo y a los profesores de la

carrera que brindaron su conocimiento en aspectos importantes para el desarrollo nal de

mi proyecto.

Principalmente agradezco a Dios cada da que me regala y que me acompaa incon-

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

1.1.1. Aspectos surgidos desde el rea del PLN . . . . . . . . . . . . . . . 2

1.1.2. Aspectos surgidos desde el rea de la IS . . . . . . . . . . . . . . . . 3

1.2. Motivacin y objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

1.3. Contexto de la tesis en el marco de la Maestra . . . . . . . . . . . . . . . 6

1.4. Principales contribuciones y publicaciones . . . . . . . . . . . . . . . . . . 7

1.5. Organizacin de la tesis . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

2. Procesamiento del lenguaje natural 11


2.1. Niveles de la lingustica general . . . . . . . . . . . . . . . . . . . . . . . . 12

2.2. PLN estadstico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

2.3. Aplicaciones de PLN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

3. Indexacin y categorizacin de textos 19


3.1. Indexacin de documentos . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

3.1.1. Modelos de indexacin . . . . . . . . . . . . . . . . . . . . . . . . . 20

3.1.2. Modelo de espacio vectorial . . . . . . . . . . . . . . . . . . . . . . 22

3.2. Categorizacin de textos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

3.2.1. Aprendizaje de un clasicador . . . . . . . . . . . . . . . . . . . . . 27


3.2.2. Evaluacin de un clasicador . . . . . . . . . . . . . . . . . . . . . 28

3.3. Reduccin de dimensionalidad . . . . . . . . . . . . . . . . . . . . . . . . . 30

3.4. Semntica en la categorizacin de textos . . . . . . . . . . . . . . . . . . . 32

4. Resolucin de la ambigedad semntica 35


4.1. Indexacin conceptual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

4.2. Estrategias de desambiguacin . . . . . . . . . . . . . . . . . . . . . . . . . 36

4.3. WordNet: una base de datos lxica . . . . . . . . . . . . . . . . . . . . . . 38

5. WSD basado en conocimiento 47


5.1. Mtodo heurstico del sentido ms frecuente . . . . . . . . . . . . . . . . . 48

5.2. Algoritmo de Lesk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

5.2.1. Algoritmo de Lesk Mejorado . . . . . . . . . . . . . . . . . . . . . . 51

5.3. Sistema CIAOSENSO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

6. Aspectos de Ingeniera de Software aplicados a PLN 59


6.1. Conceptos introductorios . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60

6.1.1. Ingeniera del Lenguaje Natural . . . . . . . . . . . . . . . . . . . . 61

6.1.2. Reuso de componentes . . . . . . . . . . . . . . . . . . . . . . . . . 63

6.1.3. APIs para WordNet . . . . . . . . . . . . . . . . . . . . . . . . . . . 66

6.2. Trabajos Relacionados en Ingeniera del Lenguaje . . . . . . . . . . . . . . 68

6.3. Descripcin del framework desarrollado . . . . . . . . . . . . . . . . . . . . 70

6.4. Experiencias en el uso del framework . . . . . . . . . . . . . . . . . . . . . 74

6.5. Plugin semntico para GATE . . . . . . . . . . . . . . . . . . . . . . . . . 75

6.5.1. Modelo de componentes de GATE . . . . . . . . . . . . . . . . . . . 76

6.5.2. Descripcin del recurso de procesamiento semntico . . . . . . . . . 78


7. Conjuntos de datos y detalle de los experimentos 81
7.1. Descripcin de los conjuntos de datos . . . . . . . . . . . . . . . . . . . . . 82

7.2. Diseo experimental . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84

7.3. Resultado y anlisis de los experimentos . . . . . . . . . . . . . . . . . . . 86

7.3.1. Enfoque I: incorporacin de informacin semntica . . . . . . . . . 87

7.3.2. Enfoque II: reduccin de dimensionalidad . . . . . . . . . . . . . . . 90

7.3.3. Enfoque III: incorporacin de hipernimos . . . . . . . . . . . . . . 92

7.4. Clustering utilizando informacin semntica . . . . . . . . . . . . . . . . . 93

8. Conclusiones y trabajos futuros 99


8.1. Aportes realizados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99

8.2. Trabajos futuros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101

A. Acrnimos 103

B. Documentacin del Framework 105


B.1. Propsito . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105

B.2. Utilizacin y ejecucin del framework . . . . . . . . . . . . . . . . . . . . . 106

C. Documentacin de Pre.Se.Do 109

Bibliografa 115
ndice de tablas

3.1. Representacin binaria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

3.2. Representacin real . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

3.3. Nomenclatura SMART para la codicacin de textos . . . . . . . . . . . . 24

3.4. Matriz de Decisin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

3.5. Matrz de contingencia para la categora ci . . . . . . . . . . . . . . . . . . 29

4.1. Clasicacin de los mtodos de WSD . . . . . . . . . . . . . . . . . . . . . 38

4.2. Relaciones en WordNet segn las categoras gramaticales . . . . . . . . . . 41

4.3. Conceptos en la cima de la jerarqua de WordNet . . . . . . . . . . . . . . 43

4.4. Archivos de la base de datos WordNet (versin 2.1) . . . . . . . . . . . . . 44

5.1. Algoritmo de Lesk (adaptado desde [9]) . . . . . . . . . . . . . . . . . . . . 50

5.2. Puntajes para los pares en la guras 5.1, 5.2 y 5.3 . . . . . . . . . . . . . . 56

5.3. Clculos para la Figura 5.5 . . . . . . . . . . . . . . . . . . . . . . . . . . . 58

7.1. Caractersticas del corpus CICling-2002 . . . . . . . . . . . . . . . . . . . 82

7.2. Caractersticas del corpus EasyAbstracts . . . . . . . . . . . . . . . . . . . 83

7.3. Caractersticas del corpus R8 . . . . . . . . . . . . . . . . . . . . . . . . . 84

7.4. Mejores valores para  codicacin#clasicador#WSD  . . . . . . . . . . . 88

7.5. Mejores valores de precisin de CICling-2002, EasyAbstract y R8 . . . . . 89

7.6. Mejores valores de precisin de R8+ y R8- . . . . . . . . . . . . . . . . . . 90

7.7. Mejores valores de precisin de R8porc+ y R8porc- . . . . . . . . . . . . . 90


7.8. Resultados sin hipernimos vs con hipernimos . . . . . . . . . . . . . . . 93

7.9. Mejores valores de medida F por coleccin. . . . . . . . . . . . . . . . . . . 98


ndice de guras

2.1. Estructura de un sistema PLN . . . . . . . . . . . . . . . . . . . . . . . . . 13

4.1. Relaciones para el synset  pine, pine true, pine cone  (adaptada de [76]) . 41

4.2. Fragmento del archivo index.noun . . . . . . . . . . . . . . . . . . . . . . . 43

4.3. Fragmento del archivo data.noun . . . . . . . . . . . . . . . . . . . . . . . 44

5.1. Comparacin del primer par (adaptado de [8]) . . . . . . . . . . . . . . . . 54

5.2. Comparacin del segundo par (adaptado de [8]) . . . . . . . . . . . . . . . 54

5.3. Comparacin del tercer par (adaptado de [8]) . . . . . . . . . . . . . . . . 55

5.4. Subjerarqua y synsets relevantes . . . . . . . . . . . . . . . . . . . . . . . 57

5.5. Subjerarquas para la desambiguacin de  brake  con CIAOSENSO . . . . 58

6.1. Estructura del framework . . . . . . . . . . . . . . . . . . . . . . . . . . . 71

6.2. Diagrama de tareas e interaccin de clases . . . . . . . . . . . . . . . . . . 74

6.3. Interfaz grca de GATE . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77

6.4. Archivo creole.xml del mdulo SMF . . . . . . . . . . . . . . . . . . . . . . 79

6.5. Plugin semntico instalado y ejecutado en GATE . . . . . . . . . . . . . . 79

7.1. Diagrama de actividades para generar los distintos vectores . . . . . . . . . 86

7.2. Sin Informacin Semntica vs. Con Informacin Semntica . . . . . . . . 87

7.3. Reduccin del tamao de vocabulario para la coleccin R8 . . . . . . . . . 91

7.4. Reduccin del tamao de vocabulario para la coleccin R8+ . . . . . . . . 92


?
7.5. El algoritmo PAntSA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95

B.1. Ejemplo clase POSTagging . . . . . . . . . . . . . . . . . . . . . . . . . . . 106

B.2. Ejemplo clase WSD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107

C.1. Ventana inicial de Pre.Se.Do . . . . . . . . . . . . . . . . . . . . . . . . . . 111

C.2. Ventana principal de Pre.Se.Do. . . . . . . . . . . . . . . . . . . . . . . . . 111

C.3. Explorador para seleccionar la coleccin . . . . . . . . . . . . . . . . . . . 112

C.4. Ventana de dilogo de aviso de error . . . . . . . . . . . . . . . . . . . . . 113

C.5. Ventana de dilogo para Cancelar el proceso . . . . . . . . . . . . . . . . . 113

C.6. Ventana procesando una tarea . . . . . . . . . . . . . . . . . . . . . . . . . 114

C.7. Solapa para la tarea de WSD . . . . . . . . . . . . . . . . . . . . . . . . . 114

C.8. Solapa para la tarea de Vectores . . . . . . . . . . . . . . . . . . . . . . . . 115

C.9. Solapa para la tarea de Relaciones . . . . . . . . . . . . . . . . . . . . . . 115


Captulo 1

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

se plantea para dar una respuesta unicada a dos necesidades:

Determinar la efectividad de la categorizacin de textos, concretamente en textos

cortos, cuando se utiliza informacin semntica obtenida mediante la aplicacin de

diferentes mtodos de desambiguacin del sentido de las palabras.

Disponer de una herramienta en Ingeniera del Lenguaje (IL) que sea especca y

sencilla para el desarrollo de los experimentos necesarios para el anlisis anterior.

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

objetivos planteados para el desarrollo de la tesis son enunciados en la segunda seccin.

En un apartado especial se enmarca el contexto de esta tesis dentro de la maestra en

Ingeniera de Software, haciendo mencin de las contribuciones en este mbito de investi-

gacin y detallando las publicaciones presentadas. Finalmente, se expone la organizacin

de la tesis resumiendo los diferentes captulos que la componen.


Captulo 1. Introduccin 2

1.1. Descripcin de la problemtica

Las tecnologas de la informacin y la comunicacin han hecho posible el acceso a gran

cantidad de informacin de manera sencilla. Gran parte de dicha informacin es de tipo

textual, razn por la cual, las aplicaciones vinculadas al PLN (como la Categorizacin

de Textos) adquieren, da a da, una mayor relevancia. En este sentido, es importante

y necesario obtener mejoras en estas tareas, tanto desde el mbito del PLN como en la

aplicacin de conceptos provenientes del dominio ingenieril.

Teniendo en cuenta la problemtica que surge de las distintas reas de investigacin

involucradas en esta tesis, es conveniente para una mejor descripcin considerar las falen-

cias existentes en las mismas en forma separada. Posteriormente, se mostrar la necesidad

de llevar a cabo un enfoque integrado que compense las dicultades expuestas.

1.1.1. Aspectos surgidos desde el rea del PLN


El exceso de informacin a la que una persona est expuesta hoy en da, generalmente

ocasiona la imposibilidad de identicar, seleccionar y procesar lo que realmente se nece-

sita. Debido al hecho de que generalmente se recibe ms informacin de la que se desea o

es posible procesar, las aplicaciones y tcnicas vinculadas al procesamiento y organizacin

automtica de documentos (recuperacin, categorizacin, agrupamiento, etc.) juegan un

papel relevante. Una de las aplicaciones del PLN es la Categorizacin de Textos (tam-

bin referenciada como CT supervisada ) que consiste en asignar documentos a clases o

categoras existentes. La CT ha despertado un notable inters ya que permite abordar,

a partir de un conocimiento ms profundo del lenguaje, los problemas de organizar y

clasicar el cmulo de informacin que se recibe habitualmente en categoras predenidas

[106]. En este sentido, numerosas aplicaciones de la categorizacin de documentos han

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

anlisis de opinin [27], la organizacin de patentes en categoras [60], y la clasicacin y

organizacin de pginas Web [57, 127], entre otras.

Un aspecto importante a ser observado en este contexto, es que a pesar de que la

informacin textual en lenguaje natural con el que trabajamos tiende a aumentar expo-

nencialmente, sta tiene la particularidad de tener un nmero reducido de palabras en


Descripcin de la problemtica 3

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-

teracciones ecientes, cortas y veloces, a travs de correo electrnico, mensajes de textos,

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

nmero limitado de estudios realizados sobre la categorizacin de textos especialmente

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

tema abierto de investigacin que resulta interesante de ser profundizado.

Por lo planteado anteriormente, se deduce que la CT y concretamente en textos cortos

puede redundar en benecios para una variedad de mbitos. Por lo tanto, surge la nece-

sidad de incorporar y plantear nuevas mejoras a dicho proceso, que faciliten y permitan

mayor exactitud al momento de seleccionar la categora a la que pertenece un determinado

documento.

1.1.2. Aspectos surgidos desde el rea de la IS


La IS ha realizado aportes signicativos al PLN a partir del rea denominada IL, consi-

derada en muchos casos como la interseccin entre ambas disciplinas. Sin embargo, si bien

la IL provee de mtodos y herramientas especcos para abordar algunos de los proble-

mas citados en la seccin anterior [9, 15, 106], ciertos aspectos ingenieriles de relevancia,

tales como robustez, productividad (a travs del reuso de componentes) y exibilidad, no

han recibido la necesaria atencin. Por ejemplo, la baja reutilizacin de componentes en

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

se hace mencin al reuso de componentes en PLN en realidad se est trabajando en un

tpico problema de integracin. Claramente, el obstculo mencionado previamente 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 ).


Captulo 1. Introduccin 4

Distintos trabajos en IL, han realizado aportes interesantes al tratar de solucionar el

problema de la baja tasa de reuso e integracin de componentes que en general se puede

observar en los desarrollos de PLN [22, 21]. Sin embargo, estos trabajos suelen presentar

como problema un alto costo de entendimiento y uso de sus abstracciones que en muchos

casos supera el costo estimado por el programador en desarrollarlo nuevamente desde cero.

En estos casos, un problema adicional es el hecho de que muchas de las arquitecturas

introducidas se han concentrado en modelos muy generales y poco exibles para ciertos

problemas particulares de PLN.

1.2. Motivacin y objetivos

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

sentidos o signicados, conocido como ambigedad semntica. La resolucin de este

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

las palabras, tales como Recuperacin de la Informacin, Categorizacin de Textos y

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

en una frase determinada.

Diferentes trabajos relacionados a tareas de CT como los presentados en [45, 112, 89]

han analizado las ventajas de enriquecer la representacin original de los documentos

con conceptos de una ontologa genrica para introducir generalidad al identicar tpicos

relacionados. Por ejemplo, si se tiene en un documento la frase:  Luego de ir al banco


a cobrar el cheque me sent en el banco de la plaza. (relacin de polisemia del trmino

banco) o la frase  La alegra que me da verte me embarga de jbilo. (relacin de

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

mismos, de modo tal de seleccionar el concepto ms apropiado para ser agregado a la

representacin.
Motivacin y objetivos 5

Generalmente dichos estudios estn enfocados a documentos donde es factible, en la

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,

cuando se trabaja con determinados tipos de documentos cortos, no siempre se dispone

de colecciones de entrenamiento para la tarea de WSD que reejen las particularidades de

los mismos. Una alternativa para abordar el problema anterior, es el uso de 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

si se desea hacer uso de informacin semntica en la representacin de documentos [120].

Teniendo en cuenta esto, se puede pensar al enfoque basado en conocimiento como una

opcin apropiada para la tarea en la que decidimos enfocarnos, la CT cortos.

Es importante destacar que, para que un conjunto de documentos pueda ser evaluado

por un clasicador, es necesario obtener una representacin de los mismos. Una de las

formas ms simple de identicar a los documentos es utilizar un vector de atributos o

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

en base a la frecuencia de aparicin de la palabra en el texto y en la coleccin completa de

documentos. Dependiendo del sistema de CT utilizado y especialmente de la dimensin

de los vectores utilizados para representar a los documentos de una coleccin, pueden

surgir otros problemas vinculados al tiempo y espacio de memoria requeridos para la

tarea de categorizacin. Un aspecto interesante a analizar en estos casos es el uso de

mtodos clsicos de reduccin de la dimensionalidad de los vectores de trminos. El proceso

consiste en descartar los trminos (tambin denominados atributos o caractersticas) que

son irrelevantes, redundantes o que brinden mnima informacin al clasicador.

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

documentos pertenecientes a una coleccin lo ms correctamente posible. En la mayora

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-

moras en el diseo de los experimentos y en la obtencin de resultados, la inviabilidad de


Captulo 1. Introduccin 6

poder comparar o reproducir exhaustivamente experimentos previos y la imposibilidad de

reutilizar cdigo. Todos estos aspectos plantean la necesidad de indagar en tcnicas de

Ingeniera de Software para buscar posibles soluciones a algunos de estos problemas.

Tomando en cuenta las consideraciones previas, en este trabajo buscamos responder

los siguientes interrogantes:

1. En qu medida la incorporacin de informacin semntica en la representacin de

los textos puede beneciar la categorizacin de textos cortos? Qu rol juega en

estos casos la reduccin de vocabulario?

2. Qu ventajas aporta en el desarrollo del estudio anterior, la implementacin de un

prototipo de marco de trabajo (framework ) especcamente adaptado a esta tarea?

1.3. Contexto de la tesis en el marco de la Maestra

Esta tesis ha sido desarrollada como parte de los requisitos para obtener el ttulo de

la carrera de postgrado Maestra en Ingeniera de Software. A tal n, se han empleado

conceptos de la IS en aplicaciones del PLN, con el propsito de realizar aportes en la

IL. Para abordar los tpicos relacionados a la IS fueron fundamentales los conceptos

impartidos por cursos que forman parte de la currcula de la maestra. En el desarrollo de

este trabajo, fue un importante aporte el estudio comparativo de los distintos enfoques

y herramientas de modelado de sistemas (incluyendo la evaluacin de sus ventajas y

desventajas) realizado en el curso Modelos de sistemas de software. De la misma manera,

los conceptos introducidos en el curso Estudio Comparativo de Metodologas facilitaron el

planteo adecuado de los requerimientos de las tareas de PLN para ser implementados en un

sistema concreto aplicando un mtodo apropiado. La seleccin de herramientas adecuadas

para la generacin de cdigo, lenguajes y ambientes de programacin fue posible gracias a

los temas vertidos en Mtodos Formales y Anlisis de Herramientas para la Produccin de

Software. Finalmente, el diseo y creacin del framework descripto en este informe utiliza

los conceptos relacionados a modelos y mtodos formales orientados a la arquitectura

estudiados en el curso Arquitectura de sistemas de software.

Por otra parte, fueron esenciales para sentar las bases en lo que respecta a los 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-

culados al rea de la CT y Aplicaciones de la Lingstica Computacional en el cual se

abordan con mayor detalle tpicos referentes al PLN y WSD.

1.4. Principales contribuciones y publicaciones

En esta tesis se ha realizado, en primera instancia, el estudio exhaustivo de tpicos

relacionados al PLN, sus fundamentos y aplicaciones, analizando con mayor detalle los

contenidos vinculados a la indexacin de documentos y la CT. Diferentes estrategias

de desambiguacin fueron comparadas y analizadas, profundizando sobre los algoritmos

basados en conocimiento que en muchos casos constituyen la nica alternativa realista

si se desea hacer uso de informacin semntica en la representacin de documentos. La

investigacin realizada sobre estos temas est incluida en los primeros captulos de esta

tesis.

La literatura vinculada a la IL analizada en este trabajo, nos brinda ejemplos intere-

santes de sistemas, prototipos y propuestas de entornos de integracin y herramientas

vinculadas a PLN. La elaboracin de un relevamiento de las diferentes arquitecturas exis-

tentes orientadas al desarrollo de componentes y su integracin para la creacin de sis-

temas PLN fue una de las tareas ms importantes. Los principales aspectos surgidos de

este estudio estn incluidos en el captulo 6.

Los resultados prometedores que se obtuvieron al incorporar informacin semntica

en la representacin de documentos mediante la aplicacin de mtodos de WSD basados

en conocimiento, fueron la motivacin para continuar en esta lnea de investigacin. Estas

primeras conclusiones fueron plasmadas en los artculos


1

Un anlisis comparativo de estrategias para la categorizacin semntica de textos

cortos . Mara V. Rosas, Marcelo Errecalde y Paolo Rosso. Revista del Procesamien-

to del Lenguaje Natural, Sociedad Espaola para el Procesamiento del Lenguaje

Natural (SEPLN 45), pginas 1118, 2010.

Tpicos avanzados en categorizacin de textos . Diego Ingaramo, Mara V. Rosas,

Amparito Asensio y Marcelo Errecalde. Anales del XI Workshop de Investigadores

en Ciencias de la Computacin (WICC 2009), pginas 7579, 2009.

1 Corresponden a las referencias [48, 95] de la bibliografa.


Captulo 1. Introduccin 8

Las tareas involucradas en el pre-procesamiento semntico de documentos constituyen

una parte importante en la ejecucin de los experimentos. Con el propsito de favorecer

la ejecucin de dichas tareas, se implement un prototipo de marco de trabajo que sea

sencillo de aplicar, brindando interfaces y clases abstractas bsicas. Uno de los bene-

cios principales del framework desarrollado es la reusabilidad de cdigo, generando un

ahorro de tiempo importante en la implementacin de experimentos. Estos desarrollos se

describen en el siguiente trabajo


2

Un framework de Ingeniera del Lenguaje para el pre-procesado semntico de tex-

tos . Marcelo Errecalde, Mara V. Rosas y Paolo Rosso. Workshop Ingeniera de

Software - XVI Congreso Argentino de Ciencias de la Computacin (CACIC 2010),

pginas 587596, 2010.

El agrupamiento de textos ( clustering ) es un rea muy importante de investigacin,

que puede jugar un rol fundamental en organizar grandes volmenes de documentos, en

un nmero pequeo de grupos signicativos. El clustering de documentos, tambin refe-

renciado como CT no supervisada, consiste en la asignacin de documentos a categoras

desconocidas. Esta tarea es ms difcil que la CT supervisada debido a que la informacin

acerca de las categoras y los documentos correctamente clasicados no se proporciona

con anterioridad. Como anexo a los trabajos realizados en CT, se realizaron experimentos

que permitieron concluir que los enfoques de clustering iterativo pueden tambin verse

beneciados signicativamente con la incorporacin de informacin semntica en la repre-

sentacin de los documentos. La descripcin de esta propuesta y los resultados obtenidos

de dichos experimentos fueron publicados en


3

Clustering Iterativo de Textos cortos con representaciones basadas en conceptos .

Marcelo Errecalde, Mara V. Rosas, Diego Ingaramo y Paolo Rosso. Proc. Works-

hop on Natural Language Processing and Web-based Technologies, 12th edition of

the Ibero-American Conference on Artitial Intelligence, IBERAMIA-2010, Baha

Blanca, Argentina, pginas 8089, 2010.

2 Corresponde a la referencia [33] de la bibliografa.


3 Corresponde a la referencia [32] de la bibliografa.
Organizacin de la tesis 9

La publicacin anterior fue seleccionada para ser incorporada como artculo de la revis-

ta del Procesamiento del Lenguaje Natural de la Sociedad Espaola para el Procesamiento

del Lenguaje Natural (SEPLN), y ha sido recientemente publicada en


4

Clustering Iterativo de textos cortos con representaciones basadas en conceptos .

Mara V. Rosas, Marcelo Errecalde, Diego Ingaramo y Paolo Rosso. Revista del

Procesamiento del Lenguaje Natural, Sociedad Espaola para el Procesamiento del

Lenguaje Natural (SEPLN 46), pginas 1926, 2011.

1.5. Organizacin de la tesis

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

en desarrollo en este mbito.

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

de los principales conceptos sobre CT y el problema de ambigedad presente en la mayora

de las aplicaciones de PLN.

Captulo 4: Se introduce una variante al modelo tradicional de representacin de los

documentos que permita subsanar el problema de la ambigedad semntica. Se analizan

diferentes estrategias de desambiguacin, dedicando una seccin al nal del captulo a

presentar uno de los recursos externos ms utilizado en las tareas de desambiguacin: la

ontologa WordNet.

Captulo 5: En este captulo se describen los algoritmos basados en conocimiento son

utilizados en el proceso de desambiguacin de los distintos experimentos realizados: M-

todo heurstico de mayor frecuencia, CIAOSENSO y Lesk Mejorado. Una seccin de este

4 Corresponde a la referencia [94] de la bibliografa.


Captulo 1. Introduccin 10

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.

Captulo 6: Usando el concepto de marco de trabajo (framework ) de IS, en este captulo


se muestra un prototipo para mejorar la productividad y reusabilidad de componentes en

el preprocesado semntico de documentos para la CT. Como complemento al captulo se

incluye el acoplamiento de un mdulo del framework desarrollado a un sistema mayor,

denominado GATE.

Captulo 7: Se presenta el trabajo experimental realizado, con una descripcin de los

conjuntos de datos utilizados y la explicacin de cada experimento. Finalmente, se realiza

el anlisis y evaluacin de los resultados obtenidos.

Captulo 8: Finalmente se describen las conclusiones obtenidas y las posibles extensiones


al trabajo presentado.
Captulo 2

Procesamiento del lenguaje natural

"Hasta el viaje ms largo comienza con un solo paso."

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

para la creacin y almacenamiento de documentos de texto, pero con limitaciones en el

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

computadoras la habilidad de procesar el lenguaje natural ya es una realidad [17].

La utilizacin de la computadora para generar y comprender el lenguaje humano na-

tural es el eje principal del PLN. Con el objetivo de modelar el lenguaje humano desde un

punto de vista computacional, en su estudio intervienen diferentes disciplinas (matemti-

ca, psicolingstica y dialectologa, entre otras) pero la combinacin de la lingstica y la

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

estadsticos provenientes del campo de la Inteligencia Articial. Finalmente, se introducen

diversas aplicaciones desarrolladas en el mbito del PLN.

2.1. Niveles de la lingustica general

Las aplicaciones vinculadas al procesamiento de lenguaje se distinguen de otros sis-

temas de procesamiento de datos por la necesidad de contar con un conocimiento sobre

lngstica general para su correcto desarrollo [51]. Para ejemplicar lo anteriormente

expresado consideremos las siguientes aplicaciones:

1. WC: es un sistema que cuenta el total de nmero de bytes, palabras, y lneas en

un archivo de texto. Al usarla como contador de bytes y lneas, WC sugiere un

procesamiento de datos simple. Sin embargo, cuando es usado para contar palabras

en un archivo, se requiere conocimiento acerca de cmo distinguir una palabra en

el texto, por lo que esta aplicacin se interpreta como un sistema de procesamiento

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

y sntesis del habla requiere conocimiento acerca de fontica y fonologa, es decir,

la forma en que las palabras son pronunciadas en trminos de secuencia de sonidos

y en que cada uno de estos sonidos es realizado acsticamente. Adems, produce y

reconoce de igual forma variaciones de palabras individuales, tales como singular y

plural, por lo tanto necesita tambin tener conocimiento sobre morfologa. Reconocer

el signicado exacto de una palabra, la composicin semntica y las relaciones de

palabras en la estructura sintctica es necesario para un buen sistema. Nuevamente

el procesamiento del lenguaje es parte de este sistema.

La lingstica general se estructura normalmente en cuatro niveles:

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-

ye la informacin morfolgica, la categora gramatical, irregularidades sintcticas y


Niveles de la lingustica general 13

Figura 2.1: Estructura de un sistema PLN

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-

nicado o diferentes categoras gramaticales, tendr asignada diferentes entradas.

Normalmente el nivel lxico contempla la raz de las palabras con formas regulares.

Por ejemplo, la palabra preregistracin puede ser morfolgicamente analizado a

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

que la accin del verbo ocurri en el pasado.

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

nivel sintctico. Mientras que en la primera oracin el sujeto de la oracin es el pe-

rro y el gato es slo el objeto directo de la accin que se realiza (perseguir), en


Captulo 2. Procesamiento del lenguaje natural 14

la segunda oracin ocurre lo inverso cambiando el papel estructural de las palabras

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-

nicado independiente y signicado dependiente del contexto. El primero, tratado

a nivel semntico, hace referencia al signicado que las palabras tienen por s mis-

mas ignorando el signicado adquirido segn el uso en un determinado contexto.

La semntica, por tanto, hace referencia a las condiciones de verdad de la frase,

ignorando la inuencia del contexto o las intenciones del hablante. Por ejemplo, si

la palabra granada tiene dos posibles acepciones: 1) una fruta comestible o 2) un

artefacto explosivo, es indiscutible que en la sentencia La granada est muy dulce

y sabrosa se est haciendo referencia al primer signicado.

Nivel Pragmtico : el signicado de una palabra est inuenciado por las circuns-

tancias, intenciones o planes del sujeto que hace uso del lenguaje, denido como

signicado dependiente del contexto. Aade informacin adicional al anlisis del

signicado de la frase en funcin del contexto donde aparece. Incorpora informa-

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.

La lingstica estudia el lenguaje humano en sus dos ramas principales: el habla y la

escritura. Debido a esto, otros niveles de conocimiento pueden ser includos, como es la

informacin fonolgica, referente a la relacin de las palabras con el sonido asociado a

su pronunciacin o el anlisis del discurso, que estudia cmo la informacin precedente

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

sobre la estructura del mundo para mantener una conversacin.

Lo anteriormente expresado determina que todo sistema de PLN, para ser eciente,

debe presentar un conjunto de mdulos bsicos que se correspondan al anlisis de los

niveles de la lingustica que fueron denidos.


PLN estadstico 15

En la Figura 2.1 [120] se muestra un ejemplo de un sistema de procesamiento de texto

donde se pueden distinguir tres mdulos principales:

1. Mdulo de anlisis lxico : identica las diferentes palabras. Es necesario detectar

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

es asociar a cada palabra su lema correspondiente, etiquetar cada palabra con su

posible categora lxica (sustantivo, verbo, adjetivo o adverbio) y aadir algunos

rasgos gramaticales (gnero, nmero, tiempo verbal).

2. Mdulo de anlisis sintctico : divide el texto en segmentos para luego seleccionar la

etiqueta gramatical ms apropiada para cada palabra, divide el texto en segmentos

analizables formando un rbol sintctico (sujeto, predicado, sustantivo, adjetivo,

etc.).

3. Mdulo de anlisis semntico : se ocupa de asignar el sentido correspondiente a cada

palabra, resolviendo la ambigedad semntica cuando sea apropiado. Este mdulo

puede funcionar en paralelo con el mdulo de anlisis sintctico o posteriormente.

Los diferentes mdulos de un sistema de PLN necesitan recursos lxicos externos

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.

2.2. PLN estadstico

La aplicacin de mtodos estadsticos para el PLN es uno de los modelos clsicos

utilizado actualmente. Muchos de los componentes de sistemas complejos de PLN (tales

como, analizadores morfolgicos o etiquetadores sintcticos) son modelos estadsticos que

hacen posible el uso de modernas tcnicas de aprendizaje.

La tecnologa del PLN estadstico proviene principalmente del Aprendizaje Automtico

(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

estadstico se basa, principalmente, en la lingstica, la teora probabilstica, la teora de

la informacin y la programacin, entre otras; utilizando la estocstica, probabilstica y

los mtodos estadsticos.

Las tcnicas de AA, a partir de las cuales deriva el PLN estadstico, pueden ser divi-

didas en dos tipos: supervisadas y no supervisadas. El aprendizaje supervisado se ocupa

principalmente de la prediccin de la informacin que falta sobre la base de la informacin

observada. Por ejemplo, la prediccin de categora gramatical de una palabra basada en la

oracin completa. Emplea mtodos estadsticos para, a partir de datos de entrenamiento

etiquetados, construir una regla de prediccin para datos no etiquetados. En cambio, en

el aprendizaje no supervisado no se cuenta con informacin previa por lo que el objetivo

est puesto en la unin de datos en agrupaciones (clustering). Algunos algoritmos de

aprendizaje supervisado incluyen mquinas de soporte vectorial y mtodos bayesianos,

mientras que los algoritmos de maximizacin representan las principales tcnicas para el

caso del aprendizaje no supervisado. Debido a que profundizar en estos tpicos va ms

all de los prpositos de este trabajo, una descripcin ms detallada de cada algoritmo

de aprendizaje y de conceptos relacionados puede ser encontrada en [133, 52, 72].

2.3. Aplicaciones de PLN

Las aplicaciones vinculadas al PLN pueden ser divididas principalmente en dos grupos:

Aplicaciones basadas en texto : involucra tareas que se valen de la escritura, como

la bsqueda por un cierto tpico o por una palabra clave en una base de datos,

extraccin de informacin desde documentos escritos o la confeccin de resmenes

de texto para diferentes propsitos, etc.

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.

EL PLN proporciona tanto la teora como las herramientas de implementacin para

una gama variada de aplicaciones. Las ms frecuentes son:


Aplicaciones de PLN 17

La correccin de textos que permite la deteccin y correccin de errores ortogr-


cos y gramaticales. La computadora necesita entender en cierto grado el sentido

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

la existencia de gran variedad de estructuras permitidas. Para describir las estruc-

turas de las oraciones en el idioma, se usan las llamadas gramticas formales, o sea

conjuntos de reglas de combinacin de palabras y su orden relativo en las oraciones.

La traduccin automtica se reere a la traduccin correcta de un lenguaje a

otro, tomando en cuenta lo que se quiere expresar en cada oracin.

En el campo de la recuperacin de la informacin se han desarrollado siste-

mas que permiten obtener informacin sobre estadsticas deportivas, informacin

turstica, geogrca, etc.

La tarea de clasicacin o categorizacin de textos describe el problema de

asignar automticamente un conjunto de documentos a un conjunto predenido de

categoras o clases. Esta tarea puede resultar complicada ya que suele ser ambigua

an para los humanos.

Se han desarrollado sistemas con la capacidad de crear resmenes de documentos


a partir de datos suministrados. Estos sistemas son capaces de realizar un anlisis

detallado del contenido del texto y elaborar un resumen.

Los tutores inteligentes que permiten modelar el comportamiento del estudiante,


reconocer y procesar sus errores, desarrollar habilidades en la resolucin de proble-

mas y otras actividades del proceso enseanza-aprendizaje.

Como ya se plante anteriormente, el crecimiento de la disponibilidad de nuevos re-

cursos computacionales, de fuentes de informacin y de usuarios de computadoras ha

llevado a un primer plano todo lo referente a la tecnologa y como una parte de ello a las

aplicaciones en el rea del PLN.

Los siguientes son ejemplos de aplicaciones del PLN que estn en proceso de produccin

o siendo evaluadas actualmente:


Captulo 2. Procesamiento del lenguaje natural 18

Aerolneas de renombre y otros proveedores de viajes utilizan agentes articiales que

guan a los usuarios a travs del proceso de hacer la reserva y obtener informacin

de llegada y salida de vuelos, simulando la conversacin humana.

En la actualidad podemos encontrar los primeros autos con facilidades de recono-

cimiento de voz y sistemas que permiten a los conductores llevar el control de su

medio ambiente, entretenimiento y navegacin por medio de sistemas de voz. El

mismo sistema de dilogo hablado se ha desarrollado para los astronautas en el

espacio.

Google proporciona tareas de recuperacin de la informacin y servicios de tra-

duccin en el cul los usuarios pueden proporcionar consultas en su idioma nativo

a buscadores en otro idioma. Google traduce la consulta, considera la mayora de

las pginas correspondientes y luego los traduce automticamente de nuevo a los

usuarios en su idioma nativo.

Las grandes editoriales educativas usan sistemas automatizados para el anlisis de

ensayos de estudiantes, su clasicacin y evaluacin, ya que resulta una tarea muy

compleja para realizar manualmente.

Algunas empresas emplean mecanismos de anlisis de textos a partir de mediciones

automatizadas realizada de opiniones, preferencias, actitudes y modos de expresarse

en weblogs de diferentes usuarios.


Captulo 3

Indexacin y categorizacin de textos

Aquel que quiera construir torres altas, deber permanecer largo tiempo en los

fundamentos.

 Anton Bruckner. Compositor austraco.

En todo trabajo de PLN la primera etapa que se debe realizar es la de obtener una

representacin de los documentos para realizar experimentos, denominado proceso de in-

dexacin. Esta tarea supone la utilizacin de un conjunto de trminos o descriptores ndice

que identiquen a los documentos. La eleccin de dichos trminos es uno de los procesos

ms complicados pero a la vez el ms importante.

En este captulo se analizan diferentes modelos de representacin de documentos y

se dene uno en particular que es el ms utilizado en aplicaciones vinculadas al PLN.

Finalmente, se enumeran y describen los pasos que incluyen la tarea de CT y se plantea el

problema de la ambigedad del lenguaje natural como una de sus principales limitaciones.

3.1. Indexacin de documentos

La opcin ms simple para el proceso de indexacin de documentos es representar a

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

de tamao grande. La tarea de decidir la relevancia de cada trmino no es fcil si se tiene


Captulo 3. Indexacin y categorizacin de textos 20

en cuenta que est determinada generalmente por la aplicacin de PLN a desarrollar. Por

ejemplo, en ciertas aplicaciones de categorizacin por temas donde el signicado de las

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

implementar. Sin embargo, en aplicaciones donde es importante capturar aspectos estilo-

grcos del autor (identicacin de autora, deteccin de plagio), este tipo de informacin

puede ser relevante para la tarea a realizar.

En todo proceso de indexacin el objetivo a alcanzar es encontrar aquellos trminos que

mejor representen a los documentos y que adems permitan diferenciar unos de otros. Por

todo lo descripto anteriormente, es necesaria la seleccin de un modelo de representacin

de documentos que sea conable y eciente.

3.1.1. Modelos de indexacin


En general, todo modelo de indexacin puede ser denido por:

1. la identicacin de qu es un trmino

2. el mtodo para computar el peso de un trmino

Para la representacin de documentos, se ha determinado que la utilizacin de pala-

bras individuales es una de las mejores maneras de indexacin de documentos. sto es

a menudo llamado el enfoque del conjunto de palabras o bolsa de las palabras (en ingls,

bag of words) [105]. Varios modelos ms complejos para la indexacin de documentos

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

originaron en la rama de la recuperacin de la informacin. En este contexto se pueden

mencionar:

Modelo booleano o terico : es un modelo simple basado en el lgebra booleana.

Un documento se representa como un conjunto de trminos, de tal forma que un

trmino estar presente o ausente en un determinado documento, sin contemplar la

posibilidad de establecer diferentes grados de pertenencia. Las principales ventajas


Indexacin de documentos 21

del modelo booleano se centran en su sencillez. Esto hace que sea muy intuitivo,

fcil de implementar y formalizar. Las principales desventajas de este modelo se

centran en su rigidez, al estar acotado a valores tales como 1(uno) o 0(cero), es decir

pertenece o no.

Son ejemplos de este tipo de enfoque el Modelo booleano estndar y el Modelo

booleano extendido [56, 35].

Modelo estadstico o algebraico : es un modelo que representa los documentos usual-

mente como vectores, matrices o tuplas de trminos. La similaridad entre vectores es

representada con un valor escalar. En este modelo, la forma ms simple de asignar

un peso a los trminos es a partir del modelo tf-idf que ser explicado en detalle en

la subseccin 3.1.2. El modelo vectorial tiene una mayor exibilidad en la valoracin

de los pesos (valores reales) y el orden de los resultados se basa en la frecuencia

de los trminos y la relevancia de los trminos, sin favorecer a los documentos ms

largos. Con respecto a sus desventajas se centran en la prdida de parte de la in-

formacin sintctica y semntica del documento y que se basa en la independencia

de los trminos dentro de un documento, aseveracin que no siempre se mantiene.

En captulos posteriores se presentarn trabajos que solucionan en gran parte las

desventajas planteadas [45].

Son ejemplos de este tipo de enfoque el Modelo de espacio vectorial (representa una

variante al modelo introducido anteriormente y es el utilizado en este trabajo por

lo que se explica en detalle en 3.1.2), el Modelo de espacio vectorial generalizado,

el Modelo de espacio vectorial basado en tpico y el Modelo de espacio vectorial

basado en tpico mejorado [99, 10].

Modelo probabilstico : trata todo proceso como una inferencia probabilstica. Este

modelo postula que la mejor manera de representar los documentos es mediante la

teora de las probabilidades. Las similaridades son computadas como probabilidades

a partir de la relevancia o no de un documento dado. El modelo probabilstico se

basa en un proceso iterativo. Este proceso se inicia con un primer conjunto de docu-

mentos relevantes, que es paulatinamente recalculado en funcin de la informacin

que proporciona el usuario de aquellos documentos que considera relevantes y no

relevantes. El conjunto resultante proporciona un ordenamiento de los documentos

en base a su probabilidad de relevancia. Dentro de sus desventajas, cabe destacar la

necesidad de iniciar el modelo a partir de una primera estimacin del conjunto de


Captulo 3. Indexacin y categorizacin de textos 22

documentos relevantes, y el hecho de que no se tiene en cuenta el nmero de veces

que cada trmino aparece en un documento a la hora de estimar su probabilidad de

relevancia.

Son ejemplos de este tipo de enfoque, Bayes' Theorem, Binary Independence

Retrieval, Probabilistic Relevance Model, entre otros [92, 58].

3.1.2. Modelo de espacio vectorial


Este modelo estadstico denominado Modelo de Espacio Vectorial (VSM, las siglas en

ingls para Vector Space Model [99]) representa a los documentos en lenguaje natural de

una manera formal mediante el uso de vectores en un espacio lineal multidimensional.

Este modelo es usado en mltiples aplicaciones de ltrado, recuperacin e indexado 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

modelos presentados anteriormente.

En VSM cada documento ser representado por un vector de pesos de tamao n donde

n es el nmero de trminos que pertenecen al conjunto de documentos. De este modo, si

se toma como base lo mencionado en 3.1.1 se puede describir al VSM como:

1. Los 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

documentos y no relevantes para una aplicacin determinada son eliminadas

ya que no son buenos discriminadores y resultan intiles para algunas tareas de

clasicacin o recuperacin de la informacin. Por ejemplo, las preposiciones y

los artculos pueden ser considerados palabras de paro (o stopword).

Stemming : el objetivo es reducir las palabras a su raz gramatical. Un stem

es la parte de la palabra que queda luego de remover sus ajos (prejos y

sujos). Por ejemplo, la palabra conec es el stem de conectado, conectando y

conecciones, entre otras.

2. Cada peso de un trmino en el vector representa la relevancia del trmino co-

rrespondiente en relacin con un determinado sentido en la expresin del lenguaje


Indexacin de documentos 23

natural. ste puede ser un valor binario o uno real. Si es un valor binario simplemente

determina la presencia o no del trmino en el documento. Para el caso de valor no

binario, ste puede computarse con diversas tcnicas siendo el modelo tf-idf uno de

los aplicados con mayor frecuencia.

Ejemplicando lo anteriormente expresado, en las Tablas 3.1 y 3.2 se muestran las

representaciones binaria y real para la frase :


1
Azul, como el cielo azul, como el mar azul, como tus ojos, mi cielo y mar azul...

la cielo luna como ojos el azul tus mios mar mi claro y

0 1 0 1 1 1 1 1 0 1 1 0 1

Tabla 3.1: Representacin binaria

la cielo luna como ojos el azul tus mios mar mi claro y

0 2 0 3 1 2 4 1 0 2 1 0 1

Tabla 3.2: Representacin real

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

Trminos * Frecuencia de Documento Inversa ( TF*IDF). La TFd,i es la frecuencia de


ocurrencia del i-simo trmino dentro del documento d. TF es una estadstica especca

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

Frecuencia de Documento ( DFi ) del i-simo trmino representa el nmero de documentos


de la coleccin en los cules aparece dicho trmino. El propsito es subestimar aquellos

trminos que ocurren en muchos de los documentos de la coleccin y por lo tanto, cuales

no son relevantes (cuando un trmino ocurre en los N documentos de la coleccin, su

valor IDF es igual a 0). Para permitir la variacin en el tamao de los documentos, el

peso es usualmente normalizado. El objetivo y efecto de la normalizacin del peso, es que

el peso de un trmino en un documento dependa sobre su frecuencia de ocurrencia con

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

textos y que el pre-procesamiento no incluye ningn proceso de stemming o de eliminacin de palabras

de paro.
Captulo 3. Indexacin y categorizacin de textos 24

ocurrencia. Obtener el peso de un trmino por su frecuencia absoluta puede favorecer a

los documentos largos sobre los cortos. Una tcnica para computar el peso que ha sido

ampliamente usada en CT y surgi en el rea de la Recuperacin de la Informacin es la

nomenclatura SMART [99] que se describe en la Tabla 3.3.

Nomenclatura SMART para la codicacin de textos

di : Es el i-simo componente del vector d de tamao n.

N: Nmero de documentos.

T Fd,i : Frecuencia del i-simo trmino en el documento d.

DFi : Frecuencia del i-simo trmino del documento sobre la coleccin.

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 )

Tabla 3.3: Nomenclatura SMART para la codicacin de textos

Lo anteriormente expuesto determina que en el sistema SMART, cada codicacin

estar compuesta por 3 letras: un valor para TF (Ocurrencia del Trmino), uno para

IDF (Frecuencia Inversa del Documento) y el ltimo para determinar si la operacin

de normalizacin es empleada o no. Con este esquema de representacin se generan 20

diferentes codicaciones a partir de las posibles combinaciones de las 3 letras componentes.


Categorizacin de textos 25

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:

se pierde parte de la informacin sintctica y semntica de los documentos.

el orden en el que aparecen los trminos no es representado en los vectores.

3.2. Categorizacin de textos

Entre las distintas aplicaciones del PLN, la Categorizacin de Textos (CT ) ha desper-

tado un notable inters debido a la necesidad urgente de organizar, mantener y procesar

la informacin textual disponible a partir de un conocimiento ms profundo del lenguaje

[106]. La CT consiste bsicamente en realizar la clasicacin de un conjunto de documen-

tos (corpus) dentro de categoras predenidas tambin denominadas clases, por lo que

la tarea suele ser referenciada tambin como Clasicacin de Textos [105].

Sobre la denicin anterior es importante destacar dos aspectos. Lo primero a sealar

es que, cuando se reere a categora se est haciendo referencia a rtulos simblicos, ya

que su signicado no proporciona conocimiento adicional que pueda ser usado para la

tarea del clasicador. El contenido de cada documento es lo nico relevante al momento

de asociar cada uno a su correspondiente clase. La segunda cuestin, que deriva de la

primera, nos remite a la subjetividad presente en toda tarea de clasicacin de textos,

ya que es muy comn encontrar un desacuerdo de expertos al decidir clasicar un deter-

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

depende del juicio subjetivo del experto.

2 http://edant.clarin.com/diario/2010/01/28/elpais/p-02128743.htm
Captulo 3. Indexacin y categorizacin de textos 26

Aunque es posible construir un sistema de CT creando conjuntos de reglas de forma

manual, el enfoque ms utilizado consiste en usar tcnicas de Recuperacin de la Infor-

macin (RI) y AA para inducir un modelo de clasicacin. Si las tcnicas de AA apuntan

a reproducir las clasicaciones previas realizadas manualmente por un experto el enfoque

de categorizacin se denomina supervisado, ya que se realiza el aprendizaje a partir del

conocimiento de datos preclasicados. Por el contrario, si las categoras no se conocen con

anterioridad ni se disponen de ejemplos previos de asignaciones correctas a las mismas, la

categorizacin automtica se conoce como no supervisada o agrupamiento.

Se puede denir a la CT como la tarea de determinar un valor del conjunto {T , F}


(denotados True y False respectivamente) para cada entrada de la matriz de decisin

de la Tabla 3.4.

d1 ... ... dj ... ... dn


c1 a11 ... ... a1j ... ... a1n
... ... ... ... ... ... ... ...

ci ai1 ... ... aij ... ... ain


... ... ... ... ... ... ... ...

cm am1 ... ... ami ... ... amn

Tabla 3.4: Matriz de Decisin

Formalmente, si se dene a C = { c1 , . . . , cm } como el conjunto predenido de

categoras, a D = {d1 , . . . , dn } como el conjunto de documentos y a cada valor en

{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

por medio de una funcin , tal que : D C {T, F }.


De esta manera, si (dj , ci ) = T luego dj es llamado un ejemplo positivo (o miembro)

de ci , de lo contrario si (dj , ci ) = F es llamado un ejemplo negativo de ci . El objetivo

es aproximar la funcin , mediante un clasicador 0 tal que y 0 coincidan tanto

como sea posible.

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

caso particular de este tipo es el clasicador binario).

Mltiple rotulado, donde un elemento puede ser asignado a ms de una categora o

clase.
Categorizacin de textos 27

La CT automtica ha sido aplicada con xito en muchos problemas de categorizacin

de la vida real pudindose mencionar como ejemplo a la clasicacin de pginas Web

en directorios temticos [78], la deteccin y ltrado de pginas Web pornogrcas [44] y

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

[68] y la organizacin de pginas Web en general [57, 129], entre otras.

La tarea de CT incluye a grandes rasgos los siguientes pasos:

1. Representar o indexar un conjunto de documentos.

2. Seleccionar y aplicar un clasicador de textos.

3. Evaluar el clasicador utilizado.

Con respecto al primer punto, es importante destacar que los documentos en la CT

son generalmente representados como vectores de pesos de trminos (ver seccin 3.1).

Dependiendo del sistema de CT utilizado y de la dimensin de los vectores, puede ser

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

a cabo la reduccin de dimensionalidad del espacio de trminos.

3.2.1. Aprendizaje de un clasicador


Un clasicador de texto para una clase ci se genera automticamente a travs de un

proceso inductivo general, llamado aprendiz (o learner ). A partir de las particularidades de

un conjunto de documentos preclasicado en la categora ci , se deducen las caractersticas


que deben tener los documentos an no clasicados para pertenecer a ci . Para construir un
clasicador para un conjunto de clases C, es necesario un conjunto D de documentos tal

que el valor de (dj , ci ) sea conocido para cada hdj , ci i D C . En una de las primeras

etapas del clasicador el conjunto original de documentos D es generalmente dividido en

tres conjuntos disjuntos, no necesariamente del mismo tamao:

Un conjunto de entrenamiento Tr (training set ): es el conjunto de documentos

usados por el aprendiz para construir el clasicador.


Captulo 3. Indexacin y categorizacin de textos 28

Un conjunto de validacin Va (validation set ): es el conjunto de documentos con

los cuales se ajustan las conguraciones del clasicador. Por ejemplo, para un par-

metro p del cual depende el clasicador, seleccionar el valor que produce la mayor

efectividad cuando es evaluado con Va.

Un conjunto de prueba Te (test set ): es el conjunto de documentos con el cual se

evala nalmente la efectividad del clasicador.

Tanto en la fase de validacin como en la de prueba, evaluar la efectividad signica ejecu-

tar el clasicador con un conjunto de documentos preclasicados (Va o Te ) y controlar el

grado de correspondencia entre la salida de los clasicadores y de las clases preasignadas.

Diferentes aprendices pueden aplicarse a la CT. Algunos de estos mtodos generan

clasicadores de valores binarios de la forma h:D C T { , F }, otros generan funciones

de valores reales de la forma 


h:D C [0, 1]. En este ltimo caso, es necesario utilizar

una estrategia para convertir dicho valor a uno nal de tipo binario [124].

Diversas 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

neuronales [122], algoritmos probabilsticos de Bayes [118, 64], algoritmos de aprendizaje

inductivo [19, 65], mtodo de los K vecinos ms cercanos [125, 72], mquinas con soporte

de vectores [113, 28] y ensamblaje de clasicadores [83, 101]. En el captulo 7 de este

trabajo se ha experimentado con varios de estos algoritmos.

3.2.2. Evaluacin de un clasicador


La evaluacin experimental de un clasicador se mide en la mayora de los casos por

su efectividad, es decir, su habilidad para tomar las decisiones correctas al clasicar. Las

mtricas para la evaluacin de la efectividad provienen usualmente del rea de la RI y

adaptadas a CT para su uso. Las ms utilizadas incluyen: recall, precision, accuracy, error

y F-measure.

A n de aplicar la mtrica seleccionada para evaluar la clasicacin, se debe obtener

en primer lugar la matriz de contingencia (o matriz de confusin) para cada categora ci


como la mostrada en la Tabla 3.5.

Donde los valores para cada celda representan:


Categorizacin de textos 29

Categora ci Decisin del experto

Decisin del clasicador TRUE FALSE

TRUE T Pi F Pi
FALSE F Ni T Ni

Tabla 3.5: Matrz de contingencia para la categora ci

T Pi (positivos verdaderos) representa el nmero de documentos que han sido co-

rrectamente clasicados bajo la categora ci ,

F Pi (positivos falsos) representa el nmero de documentos que han sido incorrecta-

mente clasicados bajo la categora ci ,

T Ni (negativos verdaderos) representa el nmero de documentos que han sido co-

rrectamente clasicados como no perteneciendo a la categora ci y


F Ni (negativos falsos) que representa el nmero de documentos que han sido inco-

rrectamente clasicados como no perteneciendo a la categora ci .

Teniendo en cuenta la notacin introducida y que Ni = T Pi + F Pi + T Ni + F Ni , las

distintas mtricas pueden ser denidas de la siguiente manera:

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

La Precision se determina como la probabilidad de que si un documento cualquiera

es clasicado bajo una determinada categora, esta decisin sea correcta. Con respecto
Captulo 3. Indexacin y categorizacin de textos 30

a Recall, es denida como la probabilidad de que, si un documento cualquiera debe ser

clasicado bajo un determinada categora, esta decisin es tomada.

Generalmente, el valor de N en la CT es grande, lo que produce que las mtricas de

Accuracy y Error sean mucho ms insensibles a las variaciones en el nmero de decisiones

correctas (TP + TN) que para el caso de Precision y Recall. Por esta razn, Recall

y Precision se usan ms frecuentemente que Accuracy y Error en las evaluaciones de

clasicadores.

En la prctica, nuevas alternativas de medicin de la efectividad surgen de la combina-

cin de las medidas de Precision y Recall, una de stas es la denominada F-measure [107].

La expresin 3.1 permite calcular el valor proporcionando un parmetro (0 1)


que permite ponderar tanto la Precision como el Recall.

1
F = 1 1 (3.1)
P recision + (1 ) Recall

En esta frmula puede verse a como el grado relativo de importancia atribuda

a Precision y Recall: si = 1, luego el valor de F coincide con Precision, si = 0


entonces F coincide con Recall. Usualmente, un valor de = 0,5 da igual importancia a

la Precision y al Recall, dicha medida es conocida como F1 [63].

En la CT de mltiple rtulo, el mtodo ms sencillo para calcular el puntaje total

de las categoras consiste en obtener el promedio de las valores calculados para todas las

tareas binarias. El resultado obtenido se llama macro-promedio de la mtrica utilizada.

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

descriptas y otras tcnicas alternativas a la efectividad, como por ejemplo eciencia y

utilidad.

3.3. Reduccin de dimensionalidad

Cuando se deben categorizar colecciones con un tamao grande de vocabulario es de

esperar un impacto negativo de la eciencia en tiempo y espacio de memoria para la


Reduccin de dimensionalidad 31

mayora de los sistemas de categorizacin [93]. Un aspecto interesante a analizar en estos

casos es el uso de mtodos clsicos de reduccin de la dimensin del espacio de trminos

(T ) para hacer posible un procesamiento ms eciente. El objetivo nal es restringir |T |


0 0
a |T | donde |T ||T |. La intencin es descartar atributos o caractersticas
3 irrelevantes,

redundantes o que brinden mnima informacin al clasicador. Sin embargo, el proceso

de remover trminos debe ser realizado cuidadosamente, debido a que se puede correr el

riesgo de remover informacin til para la clasicacin de ciertos documentos.

En base a la naturaleza de los trminos resultantes se pueden distinguir dos enfoques

principales para la reduccin de dimensionalidad:

Seleccin de trminos : se obtiene el conjunto T0 que es un subconjunto de T. Se

seleccionan los trminos que al ser usados para el indexado de documentos logren

mayor efectividad. En [126] se ha demostrado que la efectividad en CT al utilizar

este enfoque depende en gran medida del clasicador utilizado, de la agresividad de

la reduccin y de la tcnica utilizada para dicha reduccin. Dentro de este enfoque

se plantean varias alternativas. La tcnica de envoltura (en ingls, wrapper ) es una

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

alternativa computacionalmente ms sencilla es denominada ltrado (en ingls,


0
ltering ) que mantiene la diferencia |T ||T | y selecciona los trminos que reciben

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.

Extraccin de trminos : en este enfoque los trminos del conjunto T0 no son un

subconjunto de T, sino que son obtenidos como una combinacin o transformacin

de los trminos de T , buscando maximizar la efectividad. La idea de utilizar trminos


articiales (en lugar de los originales) es que debido al problema de ambigedad

3 Los datos de entrada de un clasicador y de un sistema de seleccin son denominados de esta forma

indistintamente, que representan una palabra o frase.


Captulo 3. Indexacin y categorizacin de textos 32

los trminos original pueden no ser los ms adecuados para la representacin de los

documentos. Estos mtodos resuelven el problema en dos pasos, primero extraen

los nuevos trminos desde los viejos utilizando algn mtodo de extraccin y luego

aplican un mtodo que convierta la representacin original a la nueva representacin

con los trminos elaborados. En CT se han realizado distintos experimentos con este

enfoque, destacndose los de Agrupamiento [66, 7] e Indexacin semntica latente

[26, 122].

3.4. Semntica en la categorizacin de textos

La unidad de indexacin elegida para la representacin de los documentos es crtica

en las diferentes aplicaciones vinculadas al PLN. En la CT es importante debido a

la relevancia de los trminos al momento de clasicar un documento perteneciendo

a una categora. Como fue referenciado en la seccin 3.1, los trminos deben ser

conables desde el punto de vista sintctico y semntico, ya que deben capturar lo

mximo posible el signicado de los textos, y deben permitir un aprendizaje ecien-

te y efectivo. En muchos casos incluso, y principalmente en comunicaciones usando

lenguaje informal o coloquial (slang language ) se puede requerir de complejos siste-

mas de normalizacin que obtengan un conjunto aceptable de trminos normalizados

para su uso en aplicaciones de PLN.

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

del PLN, para la CT la tarea intermedia de determinar el signicado correcto de los

trminos es esencial para operar ecientemente.

La ambigedad del lenguaje suele ser clasicada en tres tipos diferentes [120]:

Ambigedad lxica : una misma palabra puede pertenecer a diferentes ca-

tegoras gramaticales. Por ejemplo, la palabra para puede ser: preposicin o

forma del verbo parar.

Ambigedad sintctica o estructural : se produce cuando debido a la forma

en que se asocian las palabras, podemos interpretar una oracin de distintas

formas. En algunos casos, esta forma de ambigedad es casi imposible de solu-

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?)

Ambigedad semntica o conceptual : basada en el signicado de las pa-

labras se pueden mencionar los fenmenos de polisemia y sinonimia.

1. Ambigedad por polisemia : una misma palabra puede tener distintos sig-

nicados dependiendo del contexto en el que est inserta. Por ejemplo, la

palabra vela en la oracin La vela da suciente luz se reere al cilindro

de cera que sirve para alumbrar, mientras que en la frase La vela mayor

del barco se ve a lo lejos hace referencia a la lona que recibe viento para

impulsar un barco.

2. Ambigedad por sinonimia : diferentes palabras pueden tener el mismo sig-

nicado. Por ejemplo, las palabras can y perro reeren al mismo concepto,

en este caso, mamfero cnido.

Con el n de solucionar los inconvenientes que surgen de la ambigedad, a partir

de la representacin de los trminos se han planteado alternativas que incluyen

frases de palabras obtenidas por anlisis estadstico o lingstico [16, 66], patrones

de extraccin de informacin [91] y conjuntos de sinnimos o synsets de WordNet

[40, 104, 45]. Esta ltima opcin representa uno de los ejes principales del presente

trabajo y se explica en detalle en la seccin 4.1.


Captulo 3. Indexacin y categorizacin de textos 34
Captulo 4

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-

mentos ambiguos que inuye negativamente en el rendimiento de diversas tareas de

PLN. Con la incorporacin de informacin semntica en el indexado de documentos

se han obtenido benecios importantes frente al problema planteado.

En la primera seccin de este captulo se introduce una variante al modelo tradi-

cional de representacin de los documentos que permite subsanar el problema de la

ambigedad semntica. A partir de los recursos utilizados por las diferentes tcnicas

de desambiguacin se presentan, en la segunda seccin, clasicaciones de las mismas

de acuerdo a caractersticas particulares. Finalmente, se presenta una de las bases

de datos ms importante en el rea de desambiguacin, la ontologa WordNet, que

es usada ampliamente en este trabajo.

4.1. Indexacin conceptual

La incorporacin de informacin semntica en la representacin de los documentos

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

porcina, un concepto ms general podra ser agregado como el trmino carne.

La determinacin de dicho concepto (o signicado) que corresponde a los distintos

trminos no es una tarea directa debido a los eventuales problemas de ambigedad

que puedan surgir y que fueron descriptos en la seccin 3.4.

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

una palabra en un texto o discurso a la denicin (o concepto) ms apropiada con

respecto a otros signicados potencialmente atribuibles a esa palabra. WSD es con-

siderado una tarea intermedia o complementaria necesaria para obtener un buen

rendimiento en las aplicaciones vinculadas al PLN.

Si se toma como base la representacin estndar de los textos por vectores de tr-

minos, el uso de informacin semntica plantear distintas alternativas respecto a

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

a partir de una ontologa genrica (una combinacin de diccionario y tesauro). En

dichos trabajos los resultados obtenidos a partir de esta variante logran una mejora

en el rendimiento y efectividad de las tareas de PLN.

La idea bsica de la indexacin conceptual es encontrar un signicado o sentido

que haga referencia a cada palabra en un documento, para luego usarlos en reemplazo

de los trminos (o en concatenacin con ellos) en la representacin de los documentos

con el VSM. Usar los conceptos como espacio de indexacin en lugar de los trminos

combina dos benecios: a) los trminos se desambiguaran totalmente favoreciendo


la medida de Precision, y b) los trminos equivalentes podran ser identicados,

permitiendo una posible mejora en el Recall. En [40, 45] el uso de este tipo de

vectores mostr mejoras importantes en tareas de PLN y de RI.

4.2. Estrategias de desambiguacin

Desde los primeros sistemas de WSD hasta la actualidad han surgido nuevas pro-

puestas y distintos enfoques para resolver el problema de ambigedad descripto en la

seccin 3.4. Consistente con la cantidad de nuevos mtodos propuestos han surgido

tambin una variedad de formas de clasicar dichos mtodos.


Estrategias de desambiguacin 37

Una manera general y simple de clasicar los distintos mtodos utilizados para WSD

es diferenciando al grupo de las estrategias que necesitan corpus de entrenamiento

etiquetados semnticamente, denominado el grupo de los sistemas supervisados


de aquellos que no necesitan esa anotacin para poder funcionar correctamente, los

sistemas no supervisados.
Otra forma de clasicar los sistemas de WSD es basndose en la principal fuente

de conocimiento utilizada para establecer los diferentes sentidos. En primer lugar,

tenemos los mtodos que utilizan diccionarios, tesauros y bases de conocimiento l-

xicas, sin utilizar ningn corpus, mtodos denominados Basados en diccionario o


Basados en conocimiento. Las principales tcnicas en este contexto utilizan res-
tricciones de seleccin, el solapamiento de textos y medidas de similitud semntica.

En el captulo 5, se estudian en mayor detalle estos mtodos, incluyendo una descrip-

cin de los algoritmos utilizados en este trabajo. Por otra parte, tenemos aquellos

mtodos que evitan casi completamente la informacin externa y trabajan directa-

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-

lares en clusters (agrupamientos) y clasicando nuevas ocurrencias de las mismas.

Los sistemas Supervisados y Semi-supervisados, utilizan corpus etiquetados

semnticamente como entrenamiento [77]. A pesar de que son los mtodos que han

reportado los mejores resultados en gran cantidad de problemas, en muchos casos

no son factibles de ser aplicados debido a que generalmente no se cuenta con un

corpus etiquetado previamente.

Finalmente, los Mtodos hbridos utilizan en el proceso de desambiguacin tanto


fuentes de conocimiento externas como corpus anotados o no anotados. Por ejemplo,

en [69] se implementa un mtodo que combina la utilizacin de diccionarios con

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

en los trabajos propuestos en [67, 1, 90, 114].


Captulo 4. Resolucin de la ambigedad semntica 38

En la Tabla 4.1 se muestra un resumen de las distintas aproximaciones a WSD

planteadas anteriormente con un detalle de los procedimientos involucrados.

Mtodos Procedimiento
X Comparacin de las deniciones de los

diccionarios con el contexto (mtodo de Lesk).

Basados en conocimiento X Seleccin del sentido ms similar al contexto,

utilizando medidas de similitud semntica.

X Un sentido por discurso y otras heursticas

X Mtodos no supervisados que clasican palabras

o contextos en diferentes clusters, obteniendo

Basados en corpus no supervisados los diferentes sentidos.

X Utilizacin de corpus paralelos para

inferir sentidos entre diferentes idiomas.

X Aprendizaje automtico supervisado, utilizando

Basados en corpus supervisados corpus de entrenamiento etiquetados

manualmente.

X Mtodos de bootstrapping (semi-supervisados).

X Utilizacin de tcnicas de clustering no

supervisadas combinadas con mtodos

basados en conocimiento.

Mtodos hbridos X Utilizacin de mtodos basados en conocimiento

para buscar ejemplos que sirvan de entrenamiento

en mtodos supervisados.

X Utilizacin de corpus paralelos combinados

con mtodos basados en conocimiento.

Tabla 4.1: Clasicacin de los mtodos de WSD

4.3. WordNet: una base de datos lxica

La indexacin conceptual como fue previamente planteada, suele requerir de algn

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

(conocida como ontologa). La ontologa ms utilizada es WordNet, una base de

datos lxica para el idioma ingls que se origin como un diccionario electrnico

siguiendo principios psicolingsticos [75, 34]. Fue desarrollada por el Laboratorio

de Ciencias Cognitivas de la Universidad de Princeton que lograron combinar los


WordNet: una base de datos lxica 39

elementos de un diccionario (deniciones y algunos ejemplos) y los de un tesauro

(sinnimos) convirtiendo a WordNet en un recurso muy til para PLN en lo que

respecta a WSD.

WordNet se organiza en conjuntos de sinnimos o synsets que representan las uni-

dades bsicas de informacin y organizacin. Cada uno de stos es codicado como

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

synsets existen conexiones que expresan relaciones semnticas, conceptuales o lxi-

cas. El resultado de este conjunto de conexiones es una extensa red que proporciona

un gran nmero de interrelaciones entre palabras convirtiendo a WordNet en una

red semntica u ontologa, ms que en el simple diccionario electrnico planteado

inicialmente.

WordNet contiene tanto palabras compuestas, frases verbales y colocaciones


1 como

frases idiomticas. Segn las diferentes reglas gramaticales, sustantivo (noun ), verbo

(verb ), adjetivo (adj ) y adverbio (adv ) se establecen cuatro categoras gramatica-

les para los trminos o palabras en un documento. De esta forma, como se dene

a continuacin las relaciones presentes en WordNet pueden variar dependiendo la

categora gramatical.

1. Para todas las categoras

sinonimia : es una relacin entre palabras las cules pueden sustituirse

unas por otras dentro de un contexto determinado sin modicar su signi-

cado siempre teniendo en cuenta que pertenezcan a la misma categora.

Por ejemplo, en la frase Si buscas un resultado distinto no hagas siempre

lo mismo puede ser cambiada por Si buscas una solucin distinta no ha-

gas siempre lo mismo, donde resultado y solucin son sinnimos ya que

al reemplazar una por la otra no cambia el sentido de la oracin.

antonimia : dene a la relacin entre palabras que tienen signicados

opuestos. Por ejemplo, arriba es el antnimo de abajo, fro representa el

antnimo de calor.

2. Para sustantivos
1 Es una secuencia de palabras que juntas tienen un signicado concreto, por ejemplo en ingls dining

car referencia al vagn comedor de un tren.


Captulo 4. Resolucin de la ambigedad semntica 40

hiponimia : es una relacin que sucede slo para el caso de los sustantivos

y est denida como ES-UN. Por ejemplo, peridico es un medio de comu-


nicacin. Por lo tanto, peridico es hipnimo de medios de comunicacin.

meronimia : esta relacin suele estar denida como ES-PARTE-DE, que


representa que algn concepto es una parte de otro. Por ejemplo, un neu-

mtico es un mernimo de un auto y un dedo de la mano.

hiperonimia : dene la relacin inversa de la hiponimia. Segn el ejemplo

anterior, medios de comunicacin es hipernimo de peridico y vehculo es

hipernimo de tren.

holonimia : esta relacin se dene como la inversa de la meronimia, deter-

mina la relacin TIENE-UN, entre un trmino denotando un todo y un


trmino denotando una parte del todo, suele estar dedinida como . Por

ejemplo, casa es holnimo de dormitorio.

3. Para verbos

troponimia : es la relacin semntica de hacer algo en la forma de otra

cosa. Por ejemplo, caminar es tropnimo de mover (caminar es una forma

de moverse) y renguear es un tropnimo de caminar.

hiperonimia : es la relacin inversa a la troponimia y anloga a la relacin

de hiperonimia de los sustantivos. Por ejemplo, mover es hipernimo de

correr, caminar, trotar y saltar.

implicacin lgica : se reere a la relacin entre los verbos en la cual hacer

algo requiere hacer otra cosa tambin, es decir un trmino implica al otro.

Por ejemplo, comer implica masticar y roncar implica estar durmiendo.

causalidad : se reere a la relacin de los verbos que una accin produce

o acciona para que se ejecute otra. Por ejemplo, insultar causa la accin

de ofenderse, debido a que si se insulta a alguien seguramente la causa

inmediata es que la persona se ofenda.

4. Para adjetivos y adverbios

similaridad : dene la relacin de dos adjetivos con signicados similares

pero no lo sucientemente iguales como para estar en el mismo synset.

Por ejemplo, claro como un color muy cercano al blanco y el propio color

blanco que es el ms claro que existe.


WordNet: una base de datos lxica 41

En la Tabla 4.2 se muestra un resumen de las diferentes relaciones para las distintas

categoras.

Sustantivos Verbos Adjetivos


hiperonimia troponimia sinonimia

hiponimia entailment antonimia

meronimia cause similaridad

holonimia hiperonimia

sinonimia sinonimia

antonimia antonimia

Tabla 4.2: Relaciones en WordNet segn las categoras gramaticales

En la Figura 4.1 se muestra un ejemplo del synset pine, pine tree, true pine en

WordNet conectado a travs de las relaciones de hiponimia, hiperonimia, meronimia

y holonimia, donde los synset son representados por valos conteniendo los miembros

del synset y la glosa para dicho synset.

Figura 4.1: Relaciones para el synset  pine, pine true, pine cone  (adaptada de [76])

La estructura jerrquica de WordNet contiene un conjunto de conceptos esenciales

de los que derivan el resto de los synsets. Los mismos son mostrados en la Tabla 4.3.

Adems de distinguir mediante synsets los signicados de cada trmino, WordNet

establece una relacin de orden entre los diferentes sentidos de las palabras, de

acuerdo a su frecuencia de aparicin. De esta forma, para plane en la versin de

WordNet online 3.0 existen cuatro signicados diferentes:


Captulo 4. Resolucin de la ambigedad semntica 42

1. {02691156} airplane#1, aeroplane#1, plane#1 (an aircraft that has a xed

wing and is powered by propellers or jets) the ight was delayed due to trouble

with the airplane

2. {13861050} plane#2, sheet#4 ((mathematics) an unbounded two-dimensional

shape) any line joining two points on a plane lies wholly on that plane

3. {13941806} plane#3 (a level of existence or development) he lived on a worldly

plane

4. {03955296} plane#4, planer#1, planing machine#1 (a power tool for smoo-

thing or shaping wood)

Cada concepto asociado al trmino plane adems de tener asociado su synset, tam-

bin tiene asociado un nmero de sentido: plane#1, plane#2, plane#3 y plane#4,

estos sentidos indican la frecuencia de aparicin de cada concepto, siendo plane#1

el ms frecuente usado en el idioma ingls segn WN. A cada synset le corresponde

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

wing and is powered by propellers or jets.

La amplia cobertura de WordNet y su libre disponibilidad (a travs de la Universidad

de Princeton [76]) ha promovido su utilizacin para una gran variedad de tareas de

PLN. El uso de WN para CT no ha demostrado ampliamente su efectividad en [104,

117] pero, en diversos trabajos que usan synsets de WordNet para la indexacin, los

resultados fueron alentadores [40, 123, 79, 54].

Las cuatro categoras gramaticales y las relaciones lxicas existentes entre ellas de-

terminan la estructura de la base de datos WordNet. El formato y organizacin 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

la informacin correspondiente en diferentes archivos.

En la Figura 4.2 se muestra un fragmento del archivo index.noun. En todo archivo

de ndices (index.*) se almacena la informacin relativa a cada trmino (stos se


WordNet: una base de datos lxica 43

Concepto Denicin
entity todo aquello que se percibe, se sabe o se inere como de existencia

propia (vivo o no vivo)

psychological rasgo o caracterstica mental de un organismo viviente

feature
abstraction un concepto general formado por la extraccin de rasgos comunes desde

ejemplos especcos

la forma en que algo se muestra con respecto a sus principales atributos;

state en ingls, sera por ejemplo: the current state of knowledge,

his state of health o in a weak nancial state

event algo que pasa en un lugar y tiempo determinado

act,
human action, algo que la gente hace o har que suceda

human activity
group, grouping conjunto de entidades (miembros) que se consideran como una unidad

possession todo lo que pueda ser apropiado o posedo

phenomenon cualquier estado o proceso conocido a travs de los sentidos en lugar de

por intuicin o razonamiento

Tabla 4.3: Conceptos en la cima de la jerarqua de WordNet

Figura 4.2: Fragmento del archivo index.noun

encuentran ordenados alfabticamente para facilitar la bsqueda) y los synsets a

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

02906118 02932115 02931966] correspondientes a cada uno de sus cinco posibles

signicados. En cada lnea se incluyen, bsicamente, el trmino y los identicadores

de los synsets correspondientes.

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

Archivo Tamao (KBytes)


data.noun 14643

data.verb 2673

data.adj 3154

data.adv 507

index.noun 4639

index.verb 507

index.adj 830

index.adv 162

index.sense 7127

noun.exc 27

verb.exc 30

adj.exc 19

adv.exc 1

sentidx.vrb 72

sents.vrb 5

cntlist 857

Tabla 4.4: Archivos de la base de datos WordNet (versin 2.1)

Figura 4.3: Fragmento del archivo data.noun


WordNet: una base de datos lxica 45

lxicas. Por ejemplo, en la Figura 4.3 se puede encontrar informacin correspon-

diente al archivo data.noun, el oset 02929975 corresponde a uno de los cinco

signicados del trmino car de la Figura 4.2.


Captulo 4. Resolucin de la ambigedad semntica 46
Captulo 5

WSD basado en conocimiento

Uno no es lo que es por lo que escribe, sino por lo que ha ledo...

 Jorge Luis Borges. Escritor argentino.

De las estrategias de WSD planteadas en la seccin 4.2 el enfoque supervisado basa-

do en corpus (tambin conocido como supervisado) ha mostrado uno de los mejores

comportamientos con respecto a los resultados observados [120]. No obstante, debi-

do a la necesidad de contar con un corpus etiquetado previamente, este enfoque no

siempre es viable de ser aplicado. Una alternativa para abordar el problema anterior

es el uso de mtodos basados en conocimiento que obtienen informacin desde recur-

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

casos la nica alternativa realista si se desea hacer uso de informacin semntica en

la representacin de documentos [120].

En este captulo se analizarn 3 lneas generales en los que se fundamentan los

mtodos basados en conocimiento:

1. Los mtodos heursticos, analizados en la seccin 5.1, que consisten en reglas

que asignan un sentido a ciertas categoras de palabras en base a un criterio

particular. Por ejemplo, el sentido ms frecuente, un sentido por colocacin o

un sentido por discurso.

2. Los mtodos cuyo nico recurso externo requerido es un conjunto de entradas en

un diccionario (una por cada posible sentido) y el contexto inmediato donde se


Captulo 5. WSD basado en conocimiento 48

desarrolla la desambiguacin. En esta lnea se incluye al algoritmo de Lesk con

sus variantes, analizados en la seccin 5.2, donde los sentidos de las palabras de

un contexto se identican basndose en una medida de solapamiento contextual

a partir de las deniciones de una base de conocimiento externa.

3. Medidas de similitud extradas a travs de redes semnticas. Esta categora

incluye mtodos que tratan de encontrar la distancia semntica existente entre

diferentes conceptos. Dependiendo del tamao del contexto, estas medidas se

dividen en dos grandes categoras: aplicables a un contexto local, donde las me-

didas de similitud semntica se utilizan para desambiguar palabras conectadas

por relaciones sintcticas o por su localizacin y aplicables a contextos globa-

les, donde las cadenas lxicas son derivadas basndose en medidas de similitud

semntica. Un ejemplo de este enfoque es el sistema CIAOSENSO introducido

en [96].

5.1. Mtodo heurstico del sentido ms frecuente

Una forma sencilla para intentar establecer el sentido correcto de las palabras en un

texto es utilizar heursticas basadas en propiedades lingsticas aprendidas a travs

de textos. Una de las heursticas ms utilizadas es la denominada del sentido ms

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

sentido ms frecuente. El mtodo de desambiguacin que se basa en esta frecuencia

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

baseline para evaluar el rendimiento de un mtodo WSD de acuerdo a lo expuesto

en [38].

Aunque conceptualmente es muy sencillo, y casi trivial de implementar, hay un

inconveniente asociado a este mtodo: no siempre disponemos de la distribucin de

las ocurrencias de los sentidos en todos los lenguajes, ya que, no existen sucientes

textos disponibles para extraer esa distribucin. Adems, un cambio en el dominio

por lo general altera la distribucin de los sentidos, disminuyendo as la calidad de

los resultados obtenidos por esta heurstica [1]. En este sentido, WordNet provee una
Algoritmo de Lesk 49

frecuencia para cada synset, de acuerdo a su frecuencia de uso en el idioma ingls .


1
El orden muestra la utilizacin de este concepto y, de este modo, los conceptos

ubicados al principio de la lista son los ms comnmente empleados. En la seccin

4.3 se mostr un ejemplo en WordNet para el synset  plane  que ejemplica lo

anteriormente expresado.

Adems de esta heurstica, existen otras dos comnmente utilizadas que no son

analizadas en este trabajo pero es conveniente mencionar. Las dos alternativas se

basan en la suposicin de que una palabra siempre tiene el mismo sentido en todas

sus ocurrencias en un mismo discurso (un sentido por discurso) o en la misma

colocacin (un sentido por colocacin) [120].

5.2. Algoritmo de Lesk

El algoritmo de Lesk [62] es uno de los primeros algoritmos desarrollados para la

desambiguacin semntica de palabras. El nico recurso externo requerido por el

algoritmo es un conjunto de entradas de un diccionario tradicional, una por cada

sentido posible de la palabra a desambiguar.

Dada una palabra ambigua, la denicin de cada uno de sus sentidos en el diccionario

(o glosa) es comparada a la de cada otra palabra en la frase o contexto inmediato.

A una palabra se le asigna aquel sentido cuya glosa comparte el nmero mayor

de palabras en comn con las glosas de las otras palabras. El algoritmo comienza

nuevamente para cada palabra y no utiliza el signicado previamente asignado.

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

correspondientes deniciones contando el nmero de palabras que tienen en comn.

A continuacin, el par de sentidos con el mayor solapamiento es seleccionado y

entonces se le asigna un sentido a cada palabra del par inicial. Las tareas simples

que involucran el algoritmo se muestran en la Tabla 5.1.

En [62] se muestra el funcionamiento de este algoritmo para el ejemplo  pine co-

ne , valindose de deniciones encontradas en diccionarios tradicionales tales como

1 Esta frecuencia corresponde, en realidad, a la determinada por la cantidad de ocurrencias de las

palabras en el corpus Brown [76].


Captulo 5. WSD basado en conocimiento 50

(1) Se determinan los sentidos de cada palabra W1 y W2 .


(2) Para cada sentido i de W1 y cada sentido j de W2 .
(3) Determinar el solapamiento (i, j), calculando la cantidad de palabras que tiene en comn

las deniciones de los dos sentidos analizados.

(4) Se seleccionan los sentidos i y j tales que el solapamiento (i, j) sea el mximo

Tabla 5.1: Algoritmo de Lesk (adaptado desde [9])

Oxford, Webster y Collins entre otros. De este modo, se determina que la palabra

 pine  tiene dos sentidos o signicados:

1.  kind of evergreen tree with needle-shaped leaves.

2.  waste away through sorrow or illness.

La palabra  cone  tiene tres sentidos:

1.  solid body which narrows to a point.

2.  something of this shape whether solid or hollow.

3.  fruit of certain evergreen tree.

Cada uno de los dos signicados de la palabra  pine  es comparado con cada uno de

los tres sentidos de la palabra  cone  y de esta forma se encuentra que las palabras

 evergreen tree  ocurren en un sentido para cada una de las dos palabras (el sentido

1 para  pine  y el sentido 3 para  cone ). Estos dos sentidos se consideran los ms

apropiados cuando se utiliza en conjunto las palabras  pine cone  teniendo en cuenta

el algoritmo Lesk original.

Al introducir variantes en el algoritmo original surgen nuevas versiones, como por

ejemplo:

Mtodos que tratan de resolver el problema de la explosin combinatoria cuan-

do se consideran ms de dos palabras [115].

Mtodos donde se considera en forma aislada a cada palabra, esto es, cada

trmino es desambiguado individualmente midiendo el solapamiento entre cada

denicin del diccionario y el contexto en el cual aparece [119].


Algoritmo de Lesk 51

Mtodos que utilizan las relaciones semnticas de las palabras y sus corres-

pondientes deniciones para ampliar el contexto [9]. En la siguiente subseccin

se detalla una variante mejorada del algoritmo de Lesk que se basa en esta

modicacin.

5.2.1. Algoritmo de Lesk Mejorado


Basado en el algoritmo original de Lesk, Banerjee y Pedersen en [9] presentan una

variante denominada  Algoritmo de Lesk Mejorado  o  Algoritmo de Lesk Adaptado 

(en ingls  Enhanced Lesk Algorithm  o  Adapted Lesk Algorithm ) que introduce

nuevos cambios con respecto a:

Tamao de la ventana de contexto : en [18] se plantea que el ser humano de-

termina el signicado de una palabra a travs del contexto inmediato de dicha

palabra, lo que motiva a reducir a slo tres palabras la ventana de contexto. Por

otro lado, las limitaciones en los recursos computacionales tambin inuyen en

el hecho de elegir un tamao de ventana acotado.

Recurso externo utilizado : el diccionario tradicional utilizado por el algoritmo

original es reemplazado por la ontologa WordNet con el n de usar las rela-

ciones jerrquicas (tales como hiperonimia, hiponimia, holonimia, meronimia

y troponimia). Esta interconexin entre diferentes conceptos permite construir

un contexto ms amplio a partir de las deniciones semnticas.

Esquema para elegir las glosas a comparar : para comprender el cambio

implementado es importante, en primer lugar, presentar algunas notacio-

nes de WordNet. De esta manera, si se representa con word#pos#sense

a un nico synset, con gloss(word#pos#sense) a la glosa de un syn-

set y con hype(word#pos#sense) a todos los hipernimos del synset

word#pos#sense, entonces la notacin gloss(hype(word#pos#sense)) deno-

ta la glosa de los hipernimos del synset identicado por word#pos#sense.

Si existen mltiples hipernimos para el synset word#pos#sense, entonces

gloss(hype(word#pos#sense)) se usa para denotar la concatenacin de las glo-

sas de todos los hipernimos. Si no existen hipernimos para word#pos#sense

entonces hype(word#pos#sense) corresponde a la cadena vaca. Finalmente,

se pueden aplicar dos esquemas para analizar la superposicin de las glosas


Captulo 5. WSD basado en conocimiento 52

obtenidas. El esquema homogneo compara dos sentidos de dos palabras,

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

de hipernimos entre s, las glosas de hipnimos entre s, pero no superponiendo

glosas de diferentes relaciones en la comparacin). Por otra parte, en el modo

heterogneo las glosas relacionadas a una palabra simple en la ventana de

contexto es comparada a las deniciones de otra palabra en la misma ventana,

observando todas los posibles superposiciones y relaciones entre dos palabras.

Deteccin de superposicin entre glosas : un nuevo modelo para detectar el sola-

pamiento entre glosas y su posterior mecanismo de clculo fueron introducidos

en [9]. ste se basa en encontrar la secuencia ms larga de palabras que sean

iguales, y darles un peso mayor comparado con las que se igualan en menor

cantidad de palabras.

Medida de puntuacin : luego de encontrar una o ms coincidencias entre dos

glosas, es necesario asignar una puntuacin a la informacin que provee acerca

de la relacin de los dos synsets que se comparan. El algoritmo de Lesk original

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

un valor mayor a solapamientos multipalabras, de este modo un par de glosas

donde coinciden n palabras en forma consecutiva obtienen una puntuacin

ms alta que si la superposicin de las n palabras hubiera ocurrido en dos

o ms solapamientos diferentes. Para cumplir el objetivo propuesto se eleva

al cuadrado la cantidad de palabras que coincidan en cada solapamiento (es

decir, n2 ) y luego se suman todas las superposiciones distintas encontradas. Por


ejemplo, si hay un solapamiento de 4 palabras consecutivas su puntaje ser de

42 = 16, pero si el solapamiento de las 4 palabras hubiera ocurrido en dos

superposiciones diferente una de 1 y la otra de 3 palabras el resultado asignado

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.

En base a lo anterior y a modo de sntesis, el algoritmo de Lesk original desambigua

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

de su ventana de contexto. La nueva propuesta sugiere que todas las palabras en

la ventana de contexto sean desambiguadas simultneamente en un solo paso para

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-

perpuestas de palabras. Este enfoque se referencia como global para diferenciarlo

del local que denota al algoritmo original. El algoritmo completo est descripto en

[8].

Por ejemplo, si se tienen tres palabras en la ventana de contexto: sentence, bench y

oender con las siguientes glosas para los diferentes signicados de cada palabra:

gloss(sentence#n#1) = a string of words satisfying the grammatical rules of a language


gloss(sentence#n#2) = the nal judgment of guilty in criminal cases and the punishment
that is imposed

gloss(bench#n#1) = a long seat for more than one person


gloss(bench#n#2) = persons who hear cases in a court of law

gloss(oender#n#1) = a person who transgresses law

Surgen de esta forma las siguientes combinaciones:

Combination 1: sentence#n#1 y bench#n#1 y oender#n#1


Combination 2: sentence#n#1 y bench#n#2 y oender#n#1
Combination 3: sentence#n#2 y bench#n#1 y oender#n#1
Combination 4: sentence#n#2 y bench#n#2 y oender#n#1

Para cada combinacin se pueden formar 3 pares de signicados a comparar. En las

Figuras 5.1, 5.2 y 5.3 se muestran los pares formados por la 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-

nimos e hipnimos, para bench slo se obtuvieron hipernimos. En estas guras se

aplica un esquema heterogneo de la seleccin de glosas donde cada comparacin es


Captulo 5. WSD basado en conocimiento 54

representada con un echa punteada. Por lo tanto, las tres glosas para sentence#n#2

(gloss(sentence#n#2), gloss(hype(sentence#n#2)) y gloss(hypo(sentence#n#2)) )

son comparadas con las dos glosas asociadas a bench#n#2 (notar que son slo dos

glosas porque no tiene hipnimos). De la misma manera, las glosas asociadas con

oender#n#1 son comparadas a las vinculadas con sentence#n#2 y con las de

bench#n#2.

Figura 5.1: Comparacin del primer par (adaptado de [8])

Figura 5.2: Comparacin del segundo par (adaptado de [8])

En base a la medida de puntuacin asignada por el algoritmo de Lesk Mejorado y

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

Figura 5.3: Comparacin del tercer par (adaptado de [8])

para el par de glosas gloss(hype(sentence#n#2)) y gloss(bench#n#2 ). Los valores

para los pares restantes son mostrados en la Tabla 5.2 y luego sumados entre s

de acuerdo a cada combinacin para calcular el puntaje total. La combinacin de

synsets con la calicacin ms alta se selecciona como la ms apropiada para las

palabras en la ventana de contexto. En este ejemplo, a partir del valor total en la

Tabla 5.2 y los datos calculados en [9] para las otras tres combinaciones posibles,

se determina a sentence#n#2, bench#n#2 y oender#n#1 como la combinacin

ms conveniente teniendo como ventana de contexto las palabras sentence, bench y

oender.

5.3. Sistema CIAOSENSO

Un nuevo modelo de WSD basado en el concepto de densidad conceptual fue intro-

ducido por Rosso, Masulli y Buscaldi en [96]. En este caso, la Densidad Conceptual

(DC ) se determina como la medida de correlacin entre el sentido de una palabra

y su contexto, est basada en la distancia conceptual que constituye la longitud de

camino ms corto que conecta dos synsets en la taxonoma que utiliza WordNet.

El mtodo utiliza las relaciones jerrquicas de hiperonimia e hiponimia presentes

en WordNet, es automtico y no necesita proceso de entrenamiento. Cada jerarqua

conceptual en WordNet puede verse como un rbol donde cada nodo es un synset
Captulo 5. WSD basado en conocimiento 56

Primera glosa Segunda Glosa Superposicin Puntaje


hype(sentence#n#2) bench#n#2 court of law, case 10

sentence#n#2 bench#n#2 cases 1

hype(sentence#n#2) oender#n#1 law 1

sentence#n#2 hypo(oender#n#1) criminal 1

hype(bench#n#2) hype(oender#n#1) person 1

hype(bench#n#2) oender#n#1 person 1

hype(bench#n#2) hypo(oender#n#1) person 1

bench#n#2 hype(oender#n#1) person 1

bench#n#2 oender#n#1 person, law 2

bench#n#2 hypo(oender#n#1) person 1

Puntaje para la combinacin 4 20


Tabla 5.2: Puntajes para los pares en la guras 5.1, 5.2 y 5.3

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.

En [2] se dene la distancia conceptual con la siguiente frmula:

Pm1
nhypi
DC(c, m) = Pi=0
h1
(5.1)
i=0 nhypi

donde c es el synset raz de la subjerarqua, m el nmero de sentidos de las palabras


a desambiguar, h la altura de la subjerarqua y nhyp el nmero medio de hipnimos
por cada nodo (synset) de la subjeraqua. La Figura 5.4 representa una aglomeracin

destacando las palabras a desambiguar de las palabras del contexto. Los nodos

terminales se correponden a los synsets relevantes y aquellos para los cuales se

debe calcular la densidad. Lo planteado anteriormente se ejemplica con la Figura

5.5.

En [96] se introduce una variante de la ecuacin 5.1 que tiene en cuenta espe-

cialmente el nmero de synsets relevantes con respecto a los dems synsets en la

aglomeracin. La nueva frmula 5.2 mide la distancia conceptual entre el nmero M


de synsets relevantes dividido el nmero total nh de synsets de la aglomeracin. En

el resultado obtenido no se tienen en cuenta los caminos que no conducen a algn

synset relevante.
Sistema CIAOSENSO 57

Figura 5.4: Subjerarqua y synsets relevantes

M
DC(M, nh) = (5.2)
nh
A pesar de las modicaciones incorporadas a la ecuacin 5.2, en ciertos experimentos

analizados en [96] no se determina el sentido correcto de la palabra debido a que el

contexto de la palabra a desambiguar no resulta ser lo bastante signicativo. Por

lo tanto, se introduce un nuevo cambio a la frmula agregando la variable f (valor

entero) que determina la frecuencia de cada sentido proporcionada por WordNet

(detallado en la seccin 5.1).

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

la desambiguacin de brake en la frase: Brakes howled and horn blared furiously,

but the man would have been hit if Phil hadn't called out to him a second before .

Los sustantivos del contexto son horn, man y second que estn gracados con lnea

punteada. Teniendo en cuenta la ecuacin 5.3 los clculos para cada subjerarqua son

mostrados en la Tabla 5.3, donde se puede observar que el signicado perteneciente

al synset 1 es el ms adecuado para brake segn el mtodo CIAOSENSO.


Captulo 5. WSD basado en conocimiento 58

Figura 5.5: Subjerarquas para la desambiguacin de  brake  con CIAOSENSO

Synset (i) Mi nhi Ecuacin (5.3)


1 9 21 90,1 * (9/21)log1 = 1.24
2 1 1 1

3 1 1 1
0,1
4 1 5 1 * (1/5)log4 = 0.07

Tabla 5.3: Clculos para la Figura 5.5


Captulo 6

Aspectos de Ingeniera de Software


aplicados a PLN

Los diseadores de autos no reinventan la rueda cada vez que planean un nuevo modelo,

pero los ingenieros de software se encuentran a menudo produciendo repetidamente ms

o menos la misma pieza de software en forma ligeramente diferente

 Hamish Cunningham. PhD in Computer Science

Distintos trabajos en Ingeniera del Lenguaje, han realizado aportes interesantes al

tratar de solucionar el problema del escaso reuso e integracin de componentes que en

general se puede observar en los desarrollos de PLN. Sin embargo, estos trabajos suelen

presentar la falencia de que el costo de entenderlos y usar sus abstracciones es ms alto

que el costo estimado por el programador en desarrollarlos nuevamente desde cero. Un

problema adicional e igualmente importante es el hecho de que muchas de las arquitecturas

introducidas se han concentrado en modelos muy generales y poco exibles para ciertos

problemas particulares de PLN. En este contexto, uno de los propsitos de esta tesis es

brindar un prototipo de marco de trabajo para el pre-procesado semntico de textos que

sea lo sucientemente exible para ser usado en experimentos similares a los realizados en

este trabajo, permitiendo adems, la seleccin de diferentes algoritmos de desambiguacin

y/o de etiquetado sintctico.

El captulo comienza con una descripcin general de la IS y la IL, para luego detallar los

diferentes aspectos de la IS que generalmente no son tomados en cuenta por la comunidad


Captulo 6. Aspectos de Ingeniera de Software aplicados a PLN 60

de investigadores en el rea del PLN [61]. Finalmente, se presentan las APIs utilizadas en

esta tesis junto con una descripcin detallada de la propuesta implementada.

6.1. Conceptos introductorios

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:

El software se desarrolla, no se fabrica. La contruccin de software de computadora

supone un diseo y enfoque especial que no puede compararse con la elaboracin

clsica de cualquier producto fsico.

El software no se estropea. El software sufre cambios (mantenimiento) que pueden

producir nuevos defectos que provocan un deterioro del mismo. Cada fallo en el

software indica un error en el diseo o en la traduccin de ste a cdigo ejecutable.

El mantenimiento del software es, por lo tanto, bastante complejo.

La mayora del software se construye a medida. En este sentido, la disciplina del

software est evolucionando al reutilizar o ensamblar componentes, una tarea propia

del proceso ingenieril que debera ser aplicada en este contexto. Dichos componentes

se crean para que el ingeniero pueda concentrarse en cuestiones innovadoras de un

diseo.

El contenido y el determinismo de la informacin son factores fundamentales para

determinar la naturaleza de una aplicacin. El contenido se reere al signicado y a la

forma de la informacin de entrada y salida. Mientras que el determinismo est relacionado

a la predictibilidad del orden y el tiempo de llegada de los datos utilizados. La construccin

de sistemas de software de forma sistemtica y apropiados a cada situacin es una tarea

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

la conformidad del producto resultante a criterios de adecuacin bien especicados bajo

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

proceso, los mtodos y las herramientas para el desarrollo de software de computadora de

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

modelos exhiben fortalezas y debilidades, adaptndose a distintos tipos de desarrollos. En

este contexto, todos se componen de una serie de fases genricas en comn:

Fase de denicin: se enfoca en determinar lo que debe hacer el sistema, la infor-

macin a ser procesada, la funcin y desempeo deseado y el comportamiento que

se espera.

Fase de desarrollo: corresponde a un proceso de mltiples pasos que se enfoca en

cuatro atributos de un programa: estructura de datos, arquitectura de software,

representaciones de la interface y detalle de los algoritmos. El proceso de diseo

traduce los requerimientos a una nueva representacin del software donde es factible

un proceso de evaluacin de la calidad del sistema.

Fase de soporte: se evalan los diferentes cambios a realizar, ya sea, debido a errores

encontrados, adaptaciones a cambios en el entorno externo o mejoras requeridas por

el cliente.

6.1.1. Ingeniera del Lenguaje Natural


La IL incluye el desarrollo de software, por lo tanto se la puede considerar como parte

del rea de la IS [87]. As mismo, el tpico principal de estos sistemas es el procesamiento

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

detalla: IL es una de las ramas de la IS que se enfoca en la construccin de sistemas de

software vinculados al PLN para algo ms que slo modelar el lenguaje en s mismo y que

sea til no slo a los lingistas. .

Un conjunto de factores fueron determinantes en dar origen a la IL:

la demanda de aplicaciones para la manipulacin de textos electrnicos, los cuales

han crecido exponencialmente en volmen y disponibilidad.


Captulo 6. Aspectos de Ingeniera de Software aplicados a PLN 62

los avances en el hardware tales como mayor la velocidad de procesamiento, capa-

cidad de memoria y de almacenamiento.

la disponibilidad de recursos relacionados al lenguaje natural con un importante

tamao de datos (diccionarios, tesauros, ontologas, etc.).

los altos niveles de precisin logrados en los experimentos vinculados al PLN.

Por lo tanto, se puede identicar a la IL como la aplicacin de la ciencia del lenguaje a la

solucin de tareas prcticas.

A los problemas bsicos que afectan a todo desarrollo de software convencional,

se deben aadir otras complejidades cuando se reere a la implementacin de sistemas

vinculados al PLN, tales como: exactitud, eciencia, productividad, robustez, exibilidad,

uso de mltiples lenguajes y escalabilidad, entre otros.

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

un plan alternativo (o un retroceso apropiado) en caso de ser necesario.

Eciencia : la obtencin de resultados (supuestamente correctos) es decisivo en el

desarrollo de los sistemas PLN. Por otro lado, las mejores polticas de diseo y

seleccin de tecnologa solamente representan un detalle ms de implementacin y

no son cruciales.

Productividad : el tiempo es un producto muy escaso en todo desarrollo y por lo

tanto el factor que ms inuye en la productividad de un sistema. La prdida de

productividad se puede deber a diferentes causas como son el desconocimiento de

la existencia de recursos, la desconanza en los componentes que no son propios, o

la imposibilidad de instalar e integrar el software existente debido a la poca docu-

mentacin de los mismos.

Robustez : en ingeniera, la robustez se determina como la habilidad de los dispo-

sitivos para trabajar aun bajo condiciones variantes. En el rea del lenguaje, los

trminos robustez y portabilidad tienen un signicado ms limitado, ya que ambos

son usados para describir la viabilidad de que un mtodo lingstico sea aplicado a

diferentes tipos de textos o dominios (en trminos de precision/recall vistos en el

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

de datos para hacer a los sistemas lo ms exibles posible.

Mltiples lenguajes : en el mundo globalizado, los usarios necesitan sistemas capa-

ces de reconocer y trabajar con mltiples lenguajes. Las aplicaciones de PLN son

complejas debido a que ellas se valen de modelos estadsticos y conjuntos de reglas

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.

Escalabilidad : frecuentemente las partes de un sistema PLN dependen de otros com-

ponentes y la demanda de recursos en general es bastante alta. Los recursos de

memoria y tiempo no son reportados en PLN con anticipacin, a diferencia de los

sistemas en general que planican con antelacin los recursos necesarios.

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

relevancia en el mbito ingenieril. Tanto es as que cada vez ms proyectos y programas

de investigacin estn abocados a buscar posibles soluciones a algunos de estos problemas

o por lo menos tratar de atenuarlos [61]. Por lo tanto, cuando se hace mencin al reuso

de componentes en PLN en realidad se est trabajando en un tpico problema de inte-

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 ).

6.1.2. Reuso de componentes


A partir de lo expuesto en la seccin 6.1.1, y sin entrar en cuestiones complejas del

dominio del PLN, se concluye que la baja reutilizacin de componentes resulta 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 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

plataformas. El concepto de reutilizar en nuevos sistemas componentes desarrollados pre-

viamente no es nuevo en el rea de la IS [131]. Asimismo, ha comenzado a ser un tema a

discutir en IL [21] especialmente en sistemas de gran escala. En este contexto, podemos

distinguir: reutilizacin de datos para entrenamiento o como recursos internos de cono-

cimiento y reutilizacin de cdigo (o algoritmos) usados en el procesamiento de dichos

datos.

En los ltimos aos ha surgido un gran inters en la reutilizacin de repositorios de

datos, algunos de los cuales estn disponibles pblicamente para investigacin, como por

ejemplo:

El diccionario Longman de Ingls Contemporneo (LDOCE por sus siglas en ingls),

http://www.ldoceonline.com/

Wordnet, http://wordnet.princeton.edu/ [76]

El diccionario EDR, http://www2.nict.go.jp/r/r312/EDR/index.html [130]

El Consorcio de Datos Lingusticos (LDC por sus siglas en ingls), http://www.


ldc.upenn.edu/

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

comparable los resultados, en ocasiones el uso de sub-colecciones ha introducido proble-

mas segn se muestra en [25]. En este sentido, a pesar de que existen an inconvenientes

para resolver el reuso de datos, los avances superan notoriamente a la reutilizacin de

cdigo. Una de las principales razones de que el porcentaje de reutilizacin algortmica

sea bajo es la gran dicultad que implica la integracin, ya que los desarrolladores usan

diferentes lenguajes de programacin, entornos obsoletos o diferentes paradigmas. Por lo

tanto, la reimplementacin e integracin causan la mayor prdida de productividad.

Las dos formas de reutilizacin (de datos y de cdigo) fueron tenidas en cuenta para

el desarrollo de este trabajo. En lo que respecta a la reutilizacin de fuentes de datos se

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

lxica ms utilizada en PLN.

los conjuntos de colecciones de textos que sern descriptos en la seccin 7.1 y son

ampliamente usados en el rea de PLN.

Aparentemente, la utilizacin de las anteriores fuentes de datos no representan un

problema. No obstante, hay que tener en cuenta que es necesario contar con una interface

para acceder a ellos desde el sistema desarrollado.

En el aspecto de la reutilizacin algortmica, se trabaj sobre:

Una API para interactuar con WordNet. En http://wordnet.princeton.edu/


wordnet/related-projects/#local se mencionan algunas de las APIs ms usa-

das para acceder a WordNet disponibles en distintos lenguajes de programacin y

entornos. En la seccin 6.1.3 se describen las APIs analizadas y la seleccionada para

ser usada en este trabajo.

Distintos algoritmos de desambiguacin, para seleccionar el sentido ms apropiado

de una palabra especca en un contexto determinado.

1. CIAOSENSO (descripto en la seccin 5.3), al ser un algoritmo desarrollado

en C++ se us la API que permite la ejecucin de componentes externos a la

Maquina Virtual Java para poder interactuar con este sistema desde Java.

2. Lesk Mejorado (descripto en la seccin 5.2.1), se tradujo a lenguaje Java la

versin desarrollada en C# en http://www.codeproject.com/KB/string/


semanticsimilaritywordnet.aspx. WordNet es utilizado en este algoritmo.

Se podra haber dejado en C# y ser invocado desde Java, pero representa un

aporte ms la implementacin realizada.

3. Mtodo heurstico del sentido de ms frecuente (descripto en la seccin 5.1), es

uno de los algoritmos ms sencillos, por lo que directamente fue desarrollado

en Java.

Distintos algoritmos de etiquetado sintctico, que rotulan las palabras segn su ca-

tegora gramatical (noun, verb, adjective y adverb ) para realizar la desambiguacin


Captulo 6. Aspectos de Ingeniera de Software aplicados a PLN 66

semntica dependiendo de la etiqueta aplicada. Fue implementado el mtodo ms

simple que tiene en cuenta la frecuencia determinada por WordNet.

6.1.3. APIs para WordNet


Una API representa una interfaz de comunicacin entre componentes de software. Se

trata de utilizar bibliotecas que ofrecen acceso a ciertos servicios desde procesos internos

y representan un mtodo para conseguir abstraccin en la programacin, generalmente

entre los niveles o capas inferiores y los superiores del software. Uno de los principales ob-

jetivos de una API consiste en proporcionar un conjunto de funciones de uso general. De

esta forma, los programadores se benecian de las APIs haciendo uso de su funcionalidad,

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

su potencia, simplicidad y prdida de exibilidad.

Como se menciona en la seccin 4.3, WordNet es una base de datos lxica compuesta

por un conjunto de archivos que contienen la jerarqua de synsets de esta ontologa.

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].

A continuacin, se mencionan algunas de las ms importantes explicadas en detalle en [76]:

1. NET/C#:
Franois-Rgis Chaumartin ha desarrollado un framework lingustico denomi-

nado Antelope .NET. ste usa y extiende WordNet incluyendo varios etique-

tadores y parsers para su versin francesa. Antelope trabaja bajo Windows o

Linux, y es gratuito para investigacin y educacin.

Troy Simpson ha desarrollado una interface C# para WordNet usando la ver-

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

y es compatible con Java 1.4 y versiones posteriores.

Joris Van den Bogaert desarroll una interesante versin de interface Ja-

va/WAP que permite navegar WordNet desde el telfono celular.

Bernard Bou ha escrito WNJN (compatible con la librera nativa de Java)

la cual realiza la interface entre la base de datos WordNet (1.7.1 y 2.0) y

programas Java. Ofrece clases de Java con el cdigo binario (escrito en C++)

y dispone funcionalidad para la consulta y la bsqueda.

JWNL (las siglas en ingls para Java WordNet Library) escrita por John Di-

dion, se trata de una API de Java que proporciona componentes de diferentes

niveles de acceso a datos de WordNet. Escrito totalmente en Java no utiliza

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

API sencilla, gil y altamente extensible. Fue escrito enteramente en Java,

completamente portable y distribuido bajo licencia no comercial y con cdigo

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

las acompae. De las mencionadas anteriormente, la mayora carecen de sta, es muy

complicada o demasiado extensa. Con respecto a aquellas basadas en cdigo nativo y

accesibles a travs de JNI, una de las falencias es su baja portabilidad y dicultad de

instalacin.

Una de las APIs WordNet que tiene una documentacin til, con ejemplos de cmo se

debe usar y funcionalidades aadidas no incluidas en la distribucin WordNet es la desa-

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 hace referencia al algoritmo de Lesk adaptado) y http://www.ebswift.com/Desktop/


WordNet/. Las funcionalidades de bsqueda aadidas en esta distribucin incluyen carac-
teres comodines, expresiones regulares y anagramas. Estas funcionalidades generalmente

se encuentran en productos comerciales, pero aqu estn disponibles en cdigo abierto. Por

lo mencionado anteriormente, y despus de investigar algunas de las APIs mencionadas,

se migr la versin desarrollada por Troy Simpson en .NET a Java.

6.2. Trabajos Relacionados en Ingeniera del Lenguaje

Durante la investigacin bibliogrca se encontr gran cantidad de documentacin de

sistemas, prototipos y propuestas de entornos de integracin y herramientas vinculadas a

PLN desarrollados en diferentes lenguajes (C, C++, C#, Perl, Python y Java) orienta-

dos a diferentes plataformas (distintas versiones de Linux o Windows). Muchas de estas

propuestas disponibles tienen la particularidad de ser muy completas pero a la vez com-

plejas y poco exibles en determinadas situaciones. La mayora de los sistemas de PLN

desarrollados hasta el momento tienen arquitecturas similares, cada plataforma permite

encadenar y combinar los diferentes componentes de anlisis de acuerdo a una jerarqua

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

arquitectura desarrollada para la tarea de Extraccin de la Informacin permite

construir sistemas PLN a partir de componentes previamente implementados. Pro-

porciona un ncleo con los mdulos bsicos de anlisis del lenguaje (morfolgico y

sintctico) permitiendo el acoplamiento de nuevos componentes. Est implementa-

do en Java por lo que la integracin de componentes se realiza considerando a todo

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

un proyecto soportado por la Commission of the European Community que tiene

como objetivo proporcionar a la comunidad de investigadores en PLN de Europa un


Trabajos Relacionados en Ingeniera del Lenguaje 69

entorno de desarrollo abierto, verstil y de uso general. El sistema ofrece un forma-

lismo basado en la unicacin y una mquina lingstica con anlisis, generacin y

transferencia de componentes. Est implementado en su mayora en lenguaje Prolog

[132].

NLTK (las siglas en ingls para Natural Language Programming Toolkit ): es un

sistema que provee herramientas bsicas para la manipulacin de datos y para la

realizacin de tareas vinculadas al PLN. Debido a sus caractersticas, es ampliamente

usado con un enfoque pedaggico en el mbito acadmico, permitiendo construir

fcilmente sistemas PLN usando Python [11].

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

funciones bsicas de PLN (tokenizer, PoSTagger, etc). Estos plugins comparten un

repositorio asociado a cada documento, a travs del cual se comunican [82].

En la actualidad, los nuevos sistemas de PLN continan implementando la misma ar-

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

de scripts que complicaban las tareas de llevar una documentacin de lo implementado,

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

trabajo fue que, una integracin de caja negra


1 con componentes de software orientados

al campo de la lingstica resulta una tarea muy difcil debido a que si la tcnica interna

es desconocida, el componente puede fallar. Finalmente, otro problema a resolver es la

presencia de subtareas o algoritmos que estn desarrollados en diferentes paradigmas.

En este captulo se plantea la propuesta de un marco de trabajo de fcil uso y extensi-

bilidad que permita unicar las diferentes tecnologas. El lenguaje Java fue escogido para

la implementacin del framework debido a su portabilidad y posibilidad de interaccin

con diferentes sistemas, no necesariamente desarrollados en este mismo lenguaje.

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

6.3. Descripcin del framework desarrollado

Un marco de trabajo (framework ) es un diseo reusable para todo o parte de un

sistema de software. Todo framework est constituido por  un conjunto de bloques de

construccin de software ya desarrollados, que los programadores pueden usar, extender,

o adaptar a soluciones especcas  [50]. En un lenguaje ms tcnico, un framework expone

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

y/o extendida para solucionar problemas en este dominio. El concepto de framework se

basa en el desarrollo basado en componentes [109]. Uno de los benecios principales de

los frameworks es la reusabilidad de cdigo. Mediante la provisin de una infraestructura

estndar, se decrementa la cantidad de cdigo que el desarrollador tiene que escribir,

testear y depurar. Esto tambin puede bajar los costos de mantenimiento y acelerar la

puesta en produccin de una aplicacin o la puesta en ejecucin de experimentos por

parte de un investigador en el dominio.

En este trabajo se propone un framework sencillo, orientado al dominio PLN que

brinda interfaces y clases abstractas bsicas para las tareas involucradas en el pre-

procesamiento semntico para la obtencin de los vectores que sern utilizados en la

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.

En [80] se menciona un aspecto a tener en cuenta sobre el diseo y creacin de un marco

de trabajo, se advierte que inclusive el framework ms  elegantemente  diseado nunca va

a ser usado a menos que el costo de entenderlo y usar sus abstracciones sea ms bajo que el

costo estimado por el programador en desarrollarlo nuevamente de cero. La ganancia real

se obtiene cuando las clases y los mecanismos son reutilizados a menudo, indicando que

otros obtienen benecios del desarrollo, permitiendo que el desarrollador/investigador se

enfoque en la parte particular del problema sin tener que lidiar con cuestiones adyacentes

al mismo.
Descripcin del framework desarrollado 71

El framework desarrollado tiene un arquitectura simple y modular. La tarea de pre-

procesamiento de documentos para su posterior clasicacin fue dividida en un nmero de

subtareas ms pequeas implementadas como mdulos separados. La Figura 6.1 muestra

un diagrama general simplicado del sistema desarrollado mediante un diagrama de clases.

Se muestra un conjunto de clases bsicas que realizan distintas tareas de pre-procesado

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

implementar el algoritmo de desambiguacin llamado  AdaptedLesk  slo se debe heredar

de la clase abstracta WSD e implementar el mtodo disambiguate(String[] words) segn

la lgica propia de dicho algoritmo sin tener que preocuparse por cuestiones de entrada y

salida con la etapa anterior y posterior de este mdulo.

Figura 6.1: Estructura del framework

Para la API de Wordnet slo se detallan las clases principales Lexicon y WNDB con

algunos de sus mtodos ms importantes. Los componentes del diagrama de clases se

describen a continuacin obviando los detalles de sus atributos y mtodos:


Captulo 6. Aspectos de Ingeniera de Software aplicados a PLN 72

InOutProcess, provee funcionalidad de entrada y salida de archivos para el procesa-

miento de los diferentes documentos de una coleccin.

StopWordsHandler, provee mtodos para determinar si una palabra pertenece a la

lista de palabras de corte (stopword ).

POSTagger, representa la clase abstracta que brinda el etiquetado sintctico de cada

palabra.

WSD, representa la clase abstracta que realiza la tarea de desambiguacin del sentido

de las palabras.

GetSynsetOset, obtiene el identicador nico en WordNet del synset (oset ) que

fue determinado por el algoritmo de desambiguacin.

TermsPlusConcepts, forma el vector de trminos ms conceptos, para la representa-

cin  trminos+conceptos  usada en la seccin 7.2 para los experimentos.

Ejemplos de la implementacin de las clases abstractas nombradas anteriormente son:

MFWN que implementa la clase abstracta POSTagger basndose en la frecuencia

de WordNet para determinar la categora gramatical.

Brill, que implementa la clase abstracta POSTagger con el algoritmo de etiquetado

sintctico desarrollado por Eric Brill que se basa en el aprendizaje de transforma-

ciones que deben corregir ciertos errores [13]. Este algoritmo no fue implementado

como parte del trabajo pero es factible y sencillo de ser incorporado.

CiaoSenso, que implementa la clase abstracta WSD con el algoritmo CIAOSENSO

que se basa en medidas de similitud semntica extradas a travs de redes semnticas

(ver seccin 5.3).

EnhancedLesk, que implementa la clase abstracta WSD con el algoritmo de Lesk

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

ms frecuente (ver seccin 5.1).


Descripcin del framework desarrollado 73

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

procesados a la prxima etapa. En esta gura, se muestra cada subtarea vinculada a la

clase abstracta de la que hereda (esto ser explicado en detalle en la seccin 7.2).

El framework comprende un grupo de clases programadas en lenguaje Java. Los obje-

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-

dulos (algoritmos) para ejecutar cualquiera de las subtareas mencionadas anteriormente,

siempre y cuando los mdulos adhieran al protocolo especicado por la arquitectura. Por

ejemplo, para implementar el algoritmo de etiquetado sintctico (POS-tagging) llamado

 Brill tagger  [13] slo se debe heredar de la clase abstracta PosTagger e implementar

nicamente el mtodo posTag(String[] words) donde debe desarrollarse la lgica propia de

dicho algoritmo sin tener que preocuparse por cuestiones de entrada y salida con la etapa

anterior y posterior de este mdulo.

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

desarrollar de cero muchas cuestiones que estaran ya solucionadas en el framework. El

framework brinda un acceso ms sencillo a los archivos que se utilizan en los experimentos,

un acceso unicado a la base de datos lxica WordNet, algoritmo de stemming (seleccin

de la raz o stem de la palabra) y de etiquetado sintctico (o pos-tagging ). En base a esta

experiencia se puede concluir que durante el desarrollo de los algoritmos particulares de

las subtareas del proceso, la parte bsica de acceso a recursos externos (como los archivos

de WordNet) ya estara solucionada mediante las clases superiores permitiendo concen-

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

el trabajo implementando una interfaz grca que facilite al usuario la experimentacin

con el framework. En el Apndice C se describe en forma detallada la interfaz grca

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

Figura 6.2: Diagrama de tareas e interaccin de clases

6.4. Experiencias en el uso del framework


El framework propuesto en este trabajo, fue inicialmente utilizado en tareas de CT

cortos [95], en estudios que incluyeron 7 colecciones de textos cortos, y el uso de 5 de

los 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

un framework como el propuesto en este trabajo, facilitando de manera signicativa el de-

sarrollo del trabajo experimental. Las razones de estas armaciones estn fundamentadas

en las caractersticas particulares que surgen al incorporar informacin semntica en tareas

de CT. En estos casos, al igual que en otros dominios de PLN que utilizan informacin
Plugin semntico para GATE 75

semntica, la efectividad de incorporar los conceptos en la representacin de documentos,

depende fuertemente del tipo de codicacin usada en los documentos, del algoritmo de

clasicacin, del mtodo de WSD y, fundamentalmente, de las caractersticas particulares

de los documentos de las distintas colecciones. En este sentido, el uso del framework

permiti un rpido desarrollo de las distintas instancias experimentales, simplicando la

generacin de las combinaciones de parmetros y mtodos para detectar aquellas que

resultaran ms efectivas en cada caso.

La experiencia lograda en este primer trabajo con el framework, permiti en un plazo

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-

corporaba informacin semntica a la representacin de los documentos. En este contexto,

los resultados obtenidos en los experimentos realizados en [94] son altamente prometedo-

res respecto a la efectividad de este enfoque, obtenindose valores muy competitivos en

la mayora de las instancias experimentales, incluso en algunos casos, alcanzndose los

mejores resultados comparados a los reportados en la literatura especca del rea.

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

automtica de noticias) es una rea altamente factible a ser abordada.

6.5. Plugin semntico para GATE

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-

do la propuesta de este trabajo, es posible considerar al framework implementado como

un tipo de rueda especial fabricada y adaptada para un vehculo con caractersticas

particulares.
Captulo 6. Aspectos de Ingeniera de Software aplicados a PLN 76

6.5.1. Modelo de componentes de GATE


GATE es una herramienta de uso libre y orientada al desarrollo de aplicaciones para

el Procesamiento del Lenguaje Natural. GATE est compuesto por una arquitectura, un

framework y un ambiente de desarrollo. En este contexto, como todo framework propor-

ciona un diseo reusable y un conjunto de bloques o mdulos que pueden ser reusados,

extendendidos o adaptados para construir una amplia variedad de sistemas vinculados a

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

componentes en Java Beans


2 denominados CREOLE (del ingls, Collection of Reusable

Objects for Language Engineering). Estos pueden ser de tres tipos principales:

Recursos lingusticos : elementos no algortmicos que sirven como contenedores de

informacin (ontologas, corpus, documentos, etc.).

Recursos de procesamiento : unidades de procesamiento de datos (POS taggers, toke-

nizadores, separadores de sentencias, etc.). Un componente con estas caractersticas

fue el anexado al GATE como nuevo recurso para la desambiguacin semntica y

ser referenciado en mayor detalle en la subseccin siguiente.

Aplicaciones : componentes (tambin conocidos en GATE como pipelines ) que per-

miten integrar varios recursos para realizar operaciones sobre textos.

Para crear un nuevo recurso CREOLE se deben seguir los siguientes pasos:

1. Escribir una clase Java que implemente el modelo de componentes de GATE.

2. Compilar la clase, junto con todas las clases utilizadas, en un archivo jar (Java

ARchive).

3. Escribir los datos de conguracin en un archivo xml para este nuevo componente,

denominado creole.xml.

4. Indicar a GATE la direccin URL de los nuevos archivos jar y xml.

2 Un JavaBean o bean es un componente hecho en software que se puede reutilizar y que puede ser

manipulado visualmente por una herramienta de programacin en lenguaje Java.


Plugin semntico para GATE 77

Cuando en GATE se ejecutan recursos de procesamiento que operan sobre textos,

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

anotacin en GATE consiste de:

un ID, denota una identicacin nica en el documento al que la anotacin se reere.

un type, denota el tipo de anotacin, usualmente los diferentes recursos generan

anotaciones de distintos tipos.

StartNode y EndNode, denotan la posicin inicial y nal de la palabra a anotar en

el texto.

un conjunto de features en la forma de pares atributo/valor que proporcionan infor-

macin adicional acerca de la anotacin.

La interfaz grca de GATE, mostrada en la Figura 6.3, permite construir y ejecutar

componentes y sistemas de PLN (Recursos de Procesamiento y Aplicaciones ), as co-

mo tambin crear, visualizar y editar colecciones de documentos y ontologas (Recursos

lingusticos ).

Figura 6.3: Interfaz grca de GATE


Captulo 6. Aspectos de Ingeniera de Software aplicados a PLN 78

6.5.2. Descripcin del recurso de procesamiento semntico


En este trabajo, se desestim en una primera instancia el uso de GATE debido a dos

motivos: primero, se evalu que el tiempo de aprendizaje iba a ser muy alto y complejo

para el objetivo planteado y la premura necesaria en la obtencin de resultados de los

experimentos en el Captulo 7 y segundo, el hecho de considerarlo demasiado genrico ya

que el trabajo experimental estaba enfocado a tareas especcas de PLN.

Debido a que GATE es actualmente uno de los sistemas para PLN ms usado, es

open source y est en constante mantenimiento y actualizacin, se plante como un nuevo

objetivo mostrar si es factible incluir los mdulos semnticos del framework desarrollado

como nuevos recursos de GATE.

A partir de esto, y siguiendo los pasos planteados anteriormente, se decidi desarrollar

un plugin para GATE que incluya como recurso de procesamiento uno de los 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-

teniendo la metainformacin para la conguracin del recurso a incluir. En este archivo

se especica el conjunto de parmetros para el SemanticSMF, especicando cules sern

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

ser utilizado en una aplicacin de GATE.

Como un resumen de los pasos para la instalacin se podran enumerar los siguientes:

1. Abrir el entorno grco GATE.

2. Utilizar el manejador de plugins CREOLE (File >Manage CREOLE Plugins ) para

agregar el nuevo recurso especicando la URL del nuevo plugin a incorporar. De

este modo, el plugin ya ser parte de la lista de plugins disponibles de GATE.

3. Por ltimo, para poder ser utilizado en una aplicacin slo bastar seleccionarlo de la

lista de Recursos de Procesamiento donde ya est disponible luego de ser instalado,

como se realiz con el plugin semntico y puede observarse en la Figura 6.5.

Una vez que se ejecuta sobre un documento una aplicacin conteniendo el recurso

SemanticSMF y luego de seleccionar del conjunto de anotaciones la opcin Token (panel


Plugin semntico para GATE 79

Figura 6.4: Archivo creole.xml del mdulo SMF

Figura 6.5: Plugin semntico instalado y ejecutado en GATE

derecho en la Figura 6.5) para este recurso lingustico, se notar un cambio en la lista

de anotaciones (panel inferior en la Figura 6.5). Esto es, la incorporacin a la lista de

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

ser desambiguada con el mtodo del sentido ms frecuente.

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

desarrollado un plugin para extraccin de informacin para el lenguaje espaol adaptado


Captulo 6. Aspectos de Ingeniera de Software aplicados a PLN 80

a partir del componente ANNIE (las siglas en ingls para A Nearly-New Information

Extraction ) que es distribuido con GATE [84].

En [20] se encuentra una explicacin ms detallada de los pasos necesarios para la

instalacin de recursos de procesamiento y otras funcionalidades de GATE, como la carga

de recursos de lenguaje, creacin de nuevas aplicaciones, ejecucin de diferentes recursos

y una lista completa de los plugins disponibles para GATE.


Captulo 7

Conjuntos de datos y detalle de los


experimentos

Si supiramos lo que estamos haciendo, no se llamara investigacin, verdad?.

 Albert Einstein. Cientco alemn.

La cantidad de textos en lenguaje natural tiende a aumentar pero con la particularidad

de un uso acotado en el nmero de palabras en cada texto. En la actualidad, la comuni-

cacin escrita entre personas hace un uso constante de este tipo de textos restringidos en

tamao buscando optimizar el uso de palabras en interacciones ecientes, cortas y veloces,

a travs de correo electrnico, mensajes de textos, reportes internos, faxes, fragmentos de

pginas Web y cables de noticias, entre otros.

Diferentes trabajos han analizado las ventajas de incorporar informacin semntica a

la representacin de textos (ver seccin 4.1). Es conveniente destacar que en general estos

estudios estn enfocados en documentos donde es factible, en la 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

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

desea hacer uso de informacin semntica en la representacin de documentos [120]. Por


Captulo 7. Conjuntos de datos y detalle de los experimentos 82

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

para un mejor anlisis posterior. El diseo experimental, los resultados y el anlisis de la

tarea de CT estn detalladas en distintas secciones del captulo. Finalmente, se muestra

que la incorporacin de informacin semntica a la representacin de documentos puede

ser tambin beneciosa en otras tareas de PLN, como por ejemplo en clustering iterativo.

7.1. Descripcin de los conjuntos de datos

Para los experimentos se seleccion un grupo representativo de colecciones de docu-

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

acceso. A continuacin se especican solamente algunas caractersticas principales de estos

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.

Dichos textos son 48 resmenes de artculos cientcos presentados en la Conferen-

cia CICling 2002 (Computational Linguistics ). Las caractersticas de este corpus se

muestran en la Tabla 7.1.

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

Tabla 7.1: Caractersticas del corpus CICling-2002


Descripcin de los conjuntos de datos 83

EasyAbstract (Easy ): es una coleccin que est compuesta de documentos de corta

longitud que son resmenes cientcos disponibles en Internet sobre temticas comu-

nes (Intelligent Systems ) pertenecientes a artculos presentados en cuatro diferentes

revistas internacionales. Debido a que la relacin entre los distintos tpicos no es

tan estrecha como en CIC y que la longitud promedio de los abstracts es mayor, se

considera a Easy como un corpus de complejidad media. Las caractersticas de este

corpus son mostradas en la Tabla 7.2.

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

Tabla 7.2: Caractersticas del corpus EasyAbstracts

R8 : es un corpus compuesto de ocho categoras obtenidas de la coleccin Reuters-

21578. Esta coleccin, est compuesta por 21.578 cables de noticias divididos en

137 categoras. Los cables de noticias fueron publicados y clasicados manualmente

por la agencia Reuters en 1987 para ser usados en investigaciones. Es considerado

un corpus que presenta una complejidad entre baja y media. Tiene 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

pertenecen a ninguna categora y no est balanceada en cuanto a la cantidad de

documentos por clases. Diferentes variantes de Reuters-21578 han sido obtenidas

con limitados rendimientos hasta que Debole y Sebastiani en [25] denen dos sub-

conjuntos estndares que son frecuentemente usados, R10 (con las 10 categoras que

tienen ms instancias de entrenamiento asociadas) y R90 (con las 90 categoras que

tienen al menos una instancia de entrenamiento y al menos una instancia de prue-

ba asociada). Si se busca realizar una clasicacin de nico rtulo, los documentos

que pertenecen a ms de una categora se deben eliminar quedando algunas clases

de R10 y de R90 sin documentos. Por lo tanto, si se quitan los documentos que

pertenecen a ms de una clase y se quitan las categoras que no tienen documen-

tos, entonces de las 10 categoras de R10 quedan 8 y de las 90 categoras de R90


Captulo 7. Conjuntos de datos y detalle de los experimentos 84

quedan 52, denominndose las nuevas colecciones como R8 y R52 respectivamente.

Las caractersticas de este corpus se muestran en la Tabla 7.3.

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

Tabla 7.3: Caractersticas del corpus R8

R8+ : esta coleccin se diferencia de la R8 original por el tipo de los documentos

elegidos para cada una de las 8 clases. Para cada categora fueron seleccionados los

20 documentos de mayor longitud, evitando de esta forma el desbalance en cantidad

de textos que exista entre las distintas clases en la coleccin original.

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.

R8porc+ : es un subconjunto del R8 donde se seleccion el 20 % de los documentos

ms largos de cada clase, manteniendo de esta manera el desbalance en la cantidad

de documentos por clase que presentaba originalmente la coleccin.

R8porc-: es una coleccin obtenida mediante el mismo procedimiento que para

R8porc+ pero seleccionando el 20 % de los documentos ms cortos de cada clase.

7.2. Diseo experimental

Los documentos son representados mediante el modelo VSM para la codicacin de

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

nuevas estrategias de representacin de trminos, a partir de lo reportado en trabajos

previos [48, 95].

En la Figura 7.1 se muestra el diagrama de actividades descripto en el Captulo 6

que es aplicado en esta seccin para generar los vectores de  trminos ,  conceptos  y

 trminos+conceptos . El documento original es pre-procesado realizando un proceso de

eliminacin de las palabras de paro ( stopword ) y un proceso posterior de lematizado

para obtener el vector de trminos. El vector de  conceptos  se obtiene a partir de com-

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-

trae la raz de la palabra y trata de determinar nuevamente si la palabra es sustantivo,

verbo, adjetivo o advervio, colocando el rtulo correspondiente. El documento etiquetado

sintcticamente corresponde a la entrada del mdulo de WSD donde se aplica un sistema

de desambiguacin basado en conocimiento (MFS, LM o CIAO, detallados en el Captulo

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

en caracteres alfabticos (utilizados como datos de entrada en el software Weka) que -

nalmente representarn el vector de  conceptos . El vector de  trminos  concatenado al

vector de  conceptos  forman la variante  trminos+conceptos .

Para la CT se utiliz Weka


1 [39] con diferentes algoritmos de aprendizaje: Naive Bayes
Multinomial Updateable (NBMU), Naive Bayes (NB), Naive Bayes Multinomial (NBM),

Complement Naive Bayes (CNB) y Support Vector Machine (SVM). Para el entrena-

miento y prueba de los experimentos, se utiliz la validacin cruzada en k pliegues (k-fold

cross validation ) con k = 10. Este procedimiento consiste en dividir los n ejemplos del

conjunto de entrenamiento en k subconjuntos de tamao n/k y utilizar uno de ellos para

las pruebas y k1 para entrenar el clasicador. Este procedimiento se realiza k veces y

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

los mejores resultados en trabajos previos [48, 95].

1 Esta herramienta, desarrollada en la universidad de Waikato (Nueva Zelanda), contiene herramientas

para realizar transformaciones sobre datos, clasicacin, regresin, clustering, asociacin y visualizacin.
Captulo 7. Conjuntos de datos y detalle de los experimentos 86

Figura 7.1: Diagrama de actividades para generar los distintos vectores

7.3. Resultado y anlisis de los experimentos

Los experimentos estuvieron dirigidos a mostrar distintas alternativas a la represen-

tacin original utilizando VSM de textos cortos que ayuden a mejorar la tarea de cate-

gorizacin. Se comienza con una estrategia que incorpora informacin semntica en la

representacin de documentos mediante mtodos de WSD basados en conocimiento. De-

bido a que esto involucra un aumento en la dimensionalidad de la representacin, una

segunda estrategia fue la aplicacin de mtodos de reduccin de vocabulario. Por ltimo,

a partir de lo planteado en [45] se experiment con el uso de hipernimos en la represen-

tacin de documentos cortos.


Resultado y anlisis de los experimentos 87

7.3.1. Enfoque I: incorporacin de informacin semntica


El VSM utilizado para codicar cada texto en su representacin original, fue enri-

quecido a partir de la incorporacin de informacin semntica. El uso de informacin

semntica plantea distintas alternativas respecto a cmo sta puede ser incorporada en la

representacin de los documentos.

En la primera estrategia denominada  conceptos , se genera un nuevo vector reem-

plazando todo trmino de la representacin original por su concepto en WN (synset)

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

Figura 7.2: Sin Informacin Semntica vs. Con Informacin Semntica

En la segunda estrategia denominada  trminos+conceptos  al vector de trminos

original se le incorporan todos los conceptos de WN obtenidos con la primera estrategia.

La Figura 7.2 compara los mejores valores de precisin obtenidos con la representa-

cin de trminos versus las nuevas estrategias de  conceptos  y  trminos+conceptos 

para todas las colecciones. Para las dos nuevas estrategias se seleccion la combinacin

 codicacin#clasicador#mtodo de WSD basado en conocimiento  que report, entre

todas las posibles, el ms alto valor de porcentaje de instancias clasicadas correctamente.

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

cacin#clasicador . En la Tabla 7.4 se muestran los componentes de la combinacin que

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

la representacin de conceptos el mayor valor fue determinado a partir de la codicacin

(codif ) ltc, el clasicador (clasif ) CNB y el mtodo de desambiguacin (WSD ) MFS.


trminos conceptos trminos+conceptos
Corpus codif clasif codif clasif W SD codif clasif W SD
CIC ntc CNB ltc CNB MFS ntc CNB MFS

Easy ntc CNB ntc CNB CIAO ntc CNB CIAO

R8 ntc CNB ntc CNB LM ntc SVM LM

R8+ ltc CNB ntc CNB LM ltc CNB LM

R8 ltc NBMU ltc NBMU MFS ntc NB MFS

R8porc+ ltc CNB ntc CNB LM ltc CNB LM

R8porc ltc CNB ntc CNB MFS btc CNB MFS

Tabla 7.4: Mejores valores para  codicacin#clasicador#WSD 

De acuerdo a los resultados mostrados en la Figura 7.2 es claro que, independientemen-

te de la complejidad de cada coleccin, la incorporacin de informacin semntica puede

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+,

R8 y R8porc+ ) se puede observar un comportamiento similar, esto es, la representacin

de  trminos  es mejorada levemente por la de  conceptos  y esta ltima por la de  trmi-

nos+conceptos  de la misma manera (o en su defecto, igualada en el caso de la coleccin

Easy ). Para las colecciones con una mayor complejidad en cuanto a su longitud (CIC,

R8- y R8porc-), no se observa el comportamiento mencionado anteriormente. A modo de

ejemplo, en el caso de la coleccin CIC, la representacin de  conceptos  supera con su

valor de precisin a la de  trminos  pero con un porcentaje mucho mayor y teniendo la

particularidad de que la de  trminos+conceptos  no logra superar a la de  conceptos .

Este comportamiento puede ser debido a la particularidad de los dominios restringidos de

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

semnticos, es importante notar que el enfoque semntico de  trminos+conceptos  logra

superar al enfoque de slo  trminos , en todas las colecciones consideradas.


Resultado y anlisis de los experimentos 89

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

Tabla 7.5: Mejores valores de precisin de CICling-2002, EasyAbstract y R8

Si bien los resultados mostrados previamente, dan evidencia de que la incorporacin de

informacin semntica puede resultar en un mayor valor de precisin en la categorizacin

de textos cortos, es importante comparar ahora cul fue el desempeo de los distintos

enfoques semnticos en cada una de las distintas instancias experimentales consideradas.

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

utilizados para conceptos (C) y trminos+conceptos (T+C) escogiendo el clasicador

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

de la Figura 7.2, tambin el anlisis se puede agrupar de acuerdo a la complejidad de

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

de la palabra a desambiguar, esto es LM y CIAO; mientras que en las de alta comple-

jidad los mejores valores fueron encontrados utilizando el mtodo MFS. Por ejemplo, si

examinamos la coleccin CIC, un 75 % de precisin es obtenido con la representacin

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

trminos+conceptos, el mtodo de WSD LM o CIAO para la coleccin Easy. Por otra

parte, si tomamos en cuenta las diferentes codicaciones utilizadas, es posible observar

que en general, independientemente de la coleccin y mtodo de WSD utilizados en los ex-

perimentos, en la mayora de los casos, la ntc estndar es la que mejor resultados obtuvo,

seguida por la codicacin ltc.


Captulo 7. Conjuntos de datos y detalle de los experimentos 90

R8+ R8-
C LM CIAO MFS LM CIAO MFS
btc 85.00 84.37 83.12 90.00 90.00 90.00

ltc 85.62 86.25 85.00 90.62 90.00 92.5


ntc 86.25 83.75 81.25 91.87 90.62 91.25

T+C LM CIAO MFS LM CIAO MFS


btc 86.25 85.62 84.37 92.50 90.62 90.62

ltc 86.87 85.00 85.62 91.87 91.25 90.62

ntc 81.87 83.12 82.50 92.50 92.12 92.50


Tabla 7.6: Mejores valores de precisin de R8+ y R8-

R8porc+ R8porc-
C LM CIAO MFS LM CIAO MFS
btc 95.00 94.37 92.5 95.68 96.46 96.32

ltc 95.62 96.25 95.00 95.89 96.32 96.11

ntc 96.25 93.75 93.12 96.11 96.11 96.54


T+C LM CIAO MFS LM CIAO MFS
btc 96.25 95.62 94.37 97.84 97.19 97.89
ltc 96.87 95.00 95.62 97.62 97.19 97.19

ntc 91.87 93.12 91.87 97.40 97.19 96.32

Tabla 7.7: Mejores valores de precisin de R8porc+ y R8porc-

7.3.2. Enfoque II: reduccin de dimensionalidad


Uno de los problemas que se plantea con los enfoques semnticos como el de tr-

minos+conceptos es que implican un aumento considerable en la dimensionalidad de la

representacin de los documentos. Este problema, puede resultar muy serio cuando se

deben categorizar colecciones con un tamao grande de vocabulario como es el caso de la

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

aspecto interesante a analizar en estos casos, es en qu medida los enfoques semnticos

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.

Para la tarea de reduccin de dimensionalidad, Weka provee una variedad de ltros:

supervisados, no supervisados, de ltrado de instancias o de ltrado de atributos. En este


Resultado y anlisis de los experimentos 91

100

95

%precision
90

85

80
25

50

12

25

50

75

10
0

50

00

00

00

00
0
tamao de vocabulario

terminos conceptos terminos+conceptos

Figura 7.3: Reduccin del tamao de vocabulario para la coleccin R8

caso, de los ms de 60 ltros disponibles se seleccion el ltro supervisado denominado

AtributeSelection que permite congurar un evaluador y un tipo de bsqueda. El mtodo

seleccionado para la evaluacin es el InfoGainAtributeEval con el algoritmo Ranker

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

vara de acuerdo a la cantidad de atributos en cada coleccin. En la Figura 7.3 se muestran

los resultados aplicando el ltro descripto anteriormente en la coleccin R8 que es la

mayor en cuanto al tamao del vocabulario comparada con los dems conjuntos de datos

utilizados en los experimentos. En este caso la reduccin es importante debido a que

algunos clasicadores no se podan utilizar con la cantidad original de atributos. En la

Figura 7.4 los resultados muestran la reduccin para la coleccin R8+, donde la cantidad

de atributos es mucho menor a la presentada anteriormente.

Este enfoque demostr que, independientemente de la cantidad de atributos, el

problema de aumento en la dimensionalidad al utilizar la representacin de trmi-

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

(por ejemplo, el clasicador NB al utilizar Weka).


Captulo 7. Conjuntos de datos y detalle de los experimentos 92

100

95
%precision

90

85

80
15

17

25

50

87

12

25

37

50
0

50

00

50

00
tamao de vocabulario

terminos conceptos terminos+conceptos

Figura 7.4: Reduccin del tamao de vocabulario para la coleccin R8+

7.3.3. Enfoque III: incorporacin de hipernimos


Uno de los modelos propuesto en [45] considera el hecho de agregar los hipernimos

de los conceptos en la representacin de los enfoques que incluyen informacin semntica.

A partir de los resultados alentadores mostrados en [112, 89] una nueva variante es intro-

ducida en este trabajo con el prposito de estimar el impacto de agregar hipernimos a

la representacin.

La idea principal en este enfoque es por ejemplo, si se tiene en un texto la palabra

beef , ste no slo representa al concepto beef  sino tambin a meat, food y as con-

tinuando hasta un cierto nivel de generalidad. En este contexto, se agregan conceptos de

mayor nivel de generalidad, en base a la relacin de hiperonimia de la jerarqua WordNet,

a las dos nuevas estrategias de representacin presentadas en la seccin 7.3.1. Teniendo

como base la Figura 7.1 se implementa e incorpora un algoritmo para la obtencin de los

hipernimos que se ejecuta luego de la tarea de Obtencin de oset y antes de aplicar

la transformacin a caracteres. Todos los oset producidos son agregados tanto a la

representacin de conceptos como al vector de trminos+conceptos.

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

Sin hipernimos Con hipernimos


N BM U CN B N BM NB SV M N BM U CN B N BM NB SV M
C 35.41 66.66 41.66 50 60.41 54.16 72.00 60.41 50 45.83

T +C 35.41 70.83 39.58 47.91 54.16 56.25 75 64.58 43.75 52.08

Tabla 7.8: Resultados sin hipernimos vs con hipernimos

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

caso de no usar hipernimos (izquierda) y con el uso de hipernimos (derecha). Observando

los mejores valores de precisin, tanto para la representacin de conceptos (C ) como

para la de trminos+conceptos (T + C ), se puede determinar que el comportamiento de


los diferentes clasicadores es muy similar. Mientras que para N BM U , CN B y N BM el

uso de hipernimos muestra algunas mejoras sobre los resultados sin hipernimos, para los

algoritmos NB y SV M la incorporacin de hipernimos a la representacin no produce

un impacto favorable en el valor de precisin.

Por lo tanto, podemos concluir que la efectividad del uso de este tipo de informacin

en la representacin de los documentos, depende signicativamente del mtodo de cate-

gorizacin utilizado. Un estudio ms detallado sera tambin necesario para determinar

la conveniencia o no de incorporar este tipo de informacin en la categorizacin de textos

cortos ya que involucra un costo computacional muy alto para el escaso benecio que se

ve reejado en el valor de precisin.

7.4. Clustering utilizando informacin semntica

Como ya fue expuesto anteriormente, la tendencia actual es trabajar con documen-

tos cortos (blogs, mensajes de textos, y otros) lo que ha generado un inters creciente

en diversas aplicaciones del procesamiento automtico de documentos. El  clustering 

(agrupamiento) de textos cortos es un rea muy importante de investigacin, que puede

jugar un rol fundamental en organizar estos grandes volmenes de textos cortos, en un

nmero pequeo de grupos signicativos. Al usar el trmino clustering se hace referencia

a aquella forma de categorizacin no-supervisada la cual, a diferencia de la categorizacin

standard, no dispone de informacin sobre las clases  correctas  ni ejemplos de asignacio-

nes de instancias a las diferentes clases. Recientemente, el uso de mtodos de clustering


Captulo 7. Conjuntos de datos y detalle de los experimentos 94

bio-inspirados iterativos de textos cortos, ha producido resultados muy interesantes utili-

zando representaciones de vector de trminos clsicas [30, 31]. En esta seccin, se analiza,

mediante un estudio experimental, cul es el impacto que tiene en el desempeo de clus-

tering iterativo utilizando representaciones de documentos enriquecidas con informacin

semntica obtenida con mtodos de desambiguacin basados en conocimiento [32, 94].

? ?
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.

La coleccin completa de hormigas es representada inicialmente por una lista L de

hormigas que esperan ser conectadas. Comenzando desde un soporte articial a0 , todas las
hormigas son conectadas de manera incremental ya sea en el soporte o bien a otra hormiga

ya conectada. Este proceso 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

algn algoritmo de clustering arbitrario y usa informacin sobre el Coeciente de Silueta

(CS) de este agrupamiento para determinar el orden inicial de las hormigas en L. Para
?
el segundo proceso, PAntSA usa un criterio 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

como la atraccin de Ga+ sobre ai y ser denotada como att(ai , Ga+ ).


?
PAntSA se diferencia de AntTree en otro aspecto importante: no construye estructuras
?
jerrquicas con races (hormigas) directamente conectadas al soporte. En PAntSA , cada

hormiga aj conectada al soporte (a0 ) y sus descendientes (el grupo Gaj ) es considerado

simplemente como un conjunto. De esta manera, cuando una hormiga arbitraria ai debe
Clustering utilizando 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

clustering: 1) Coneccin al soporte, 2) Generacin de la lista L y 3) Agrupamiento de las

hormigas en L.

funcin PAntSA? (C ) retorna un clustering C ?


Entrada: C = {C1 , . . . , Ck }, un agrupamiento inicial

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

ordenadas que resulta de este proceso.

1.c. Sea GF = {a1 , . . . , ak } el conjunto formado por la primer hormiga ai de


cada la qi0 Q0 . Por cada hormiga ai GF , remover ai de qi0 e inicia-

lizar Gai = {ai } (conectar ai al soporte a0 ).

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

retornar C ? = {Ga 1 , . . . , Gak }

?
Figura 7.5: El algoritmo PAntSA .

En el primer paso, la hormiga ms representativa de cada grupo del agrupamiento

recibido como entrada es conectada al soporte a0 . Esta tarea, consiste en seleccionar la


Captulo 7. Conjuntos de datos y detalle de los experimentos 96

hormiga ai con el valor de CS ms alto de cada grupo Ci , y conectar cada una de ellas

al soporte, formando un conjunto de un nico elemento Gai . El segundo paso, consiste

en generar la lista L con las hormigas que no fueron conectadas en el paso previo. Este

proceso tambin considera el ordenamiento basado en el CS obtenido en el paso previo, y

mezcla las hormigas restantes (ordenadas) de cada grupo tomando, en forma iterativa, la

primera hormiga de cada la no 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

en la lista L. El proceso de clustering de cada hormiga arbitraria ai simplemente determina


cul es la hormiga conectada a+ que ejerce ms atraccin sobre ai 2 y entonces incorpora

a ai en el grupo de a+ (Ga+ ). El algoritmo nalmente retorna un agrupamiento formado

por los grupos de las hormigas conectadas al soporte.

?
Una vez que el algoritmo PAntSA es implementado, su 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

independizarse de este requerimiento y obtener resultados muy competitivos an cuando

es provisto con agrupamientos iniciales aleatorios. Esta variante, que ser la utilizada en
?
el trabajo experimental, permite obtener una versin totalmente autocontenida de ITSA

como algoritmo de clustering, e independizarse de esta manera del algoritmo de clustering

particular utilizado para generar el agrupamiento inicial.

Para estimar la similitud entre documentos se utiliz la popular medida coseno. La

inicializacin de parmetros para CLUDIPSO y los restantes algoritmos usados en las

comparaciones corresponden a los parmetros derivados empricamente en [46].

? ?
Los resultados of ITSA fueron comparados con los resultados de PAntSA y otros

cuatro algoritmos de clustering: K -means, K -MajorClust [111], CHAMELEON [53] y

CLUDIPSO [29, 46]. Todos estos algoritmos han sido usados en estudios similares y en

particular, CLUDIPSO ha obtenido en trabajos previos [29, 46] los mejores resultados con

2 Actualmente, como medida de atraccin usamos la similitud promedio entre ai y todas las hormigas

en Ga+ pero otras medidas alternativas tambin seran vlidas.


Clustering utilizando informacin semntica 97

dos de las colecciones de textos cortos que utilizaremos en los experimentos, CICling-2002
y EasyAbstracts.
La calidad de los resultados fue evaluada mediante la medida denominada F -measure
(descripta en la seccin 3.2) sobre los agrupamientos que cada algoritmo gener en 50

ejecuciones independendientes por coleccin. Los resultados reportados corresponden a

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

la representacin de trminos tradicional son denotados como R-Clust? y R-Clust?? res-


?
pectivamente. Los resultados de ITSA utilizando vectores de conceptos son denotados

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

que slo utilizan conceptos (R-Clust


??
R8+ y con representaciones que
-C) en el caso de

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

mnimamente superado en el valor de Fmin por el algoritmo CLUDIPSO. Con respecto a

EasyAbstracts, la variante R-Clust??-T+C obtiene el mejor valor de Favg , si bien es supe-


?
rada en Fmin por CLUDIPSO, y levemente superada por la variante de ITSA que slo
??
utiliza trminos (R-Clust ).

Los resultados obtenidos en el trabajo experimental, son altamente prometedores res-

pecto a la efectividad de este enfoque, obtenindose resultados muy competitivos en la


Captulo 7. Conjuntos de datos y detalle de los experimentos 98

CICling-2002 EasyAbstracts R8- R8+


Algoritmos Favg Fmin Fmax Favg Fmin Fmax Favg Fmin Fmax Favg Fmin Fmax
R-Clust? 0.54 0.42 0.71 0.76 0.54 0.96 0.63 0.52 0.73 0.64 0.54 0.7
R-Clust?? 0.6 0.46 0.75 0.92 0.67 1 0.66 0.57 0.74 0.65 0.57 0.72
R-Clust?? -C 0.62 0.46 0.77 0.92 0.72 0.98 0.72 0.63 0.82 0.73 0.58 0.78
R-Clust?? -T+C 0.59 0.46 0.72 0.93 0.71 0.98 0.71 0.59 0.78 0.74 0.62 0.79

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.

mayora de las instancias experimentales consideradas y, en algunos casos, alcanzndose

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

dbiles en relacin a otros mtodos supervisados ms elaborados, por lo que cualquier

mejora introducida en el proceso de WSD subyacente podra resultar en una mejora del

proceso de clustering completo.


Captulo 8

Conclusiones y trabajos futuros

Si buscas resultados distintos, no hagas siempre lo mismo.

 Albert Einstein. Cientco alemn.

En este captulo se presentan las conclusiones del trabajo realizado y se plantean pro-

puestas para investigaciones futuras. El principal aporte fue la elaboracin de un trabajo

interdisciplinario que realiza contribuciones en el mbito de IL usando como sustento

aspectos bsicos del PLN y la IS. La utilizacin de informacin semntica, mediante m-

todos de WSD basados en conocimiento, es el eje principal de los experimentos realizados

en la CT cortos con los cuales se obtuvieron resultados prometedores. En este sentido, la

implementacin de un marco de trabajo para brindar robustez, conabilidad y calidad en

el pre-procesamiento semntico dio soporte sustentable a los trabajos experimentales. En

base a las conclusiones previas se pueden identicar dos reas denidas de estudios para

los trabajos futuros, desde el mbito de PLN y desde la IS.

8.1. Aportes realizados

Uno de los objetivos de este trabajo fue determinar si la incorporacin de informacin

semntica en la representacin de documentos, a partir de mtodos no supervisados de

WSD, aporta benecios a la CT cortos. Ms precisamente, los experimentos de este traba-

jo se fundamentan en el enfoque basado en conocimiento para la tarea de desambiguacin,

debido a que es una de las alternativas viables en casos donde no se dispone de una co-

leccin de entrenamiento para la WSD. Dos estrategias fueron consideradas y analizadas:


Captulo 8. Conclusiones y trabajos futuros 100

conceptos y trminos+conceptos. Se evaluaron diferentes codicaciones y diferentes

clasicadores en los experimentos de categorizacin, como as tambin el impacto de la

reduccin de vocabulario en el comportamiento de dicha tarea.

Se concluye que el uso de informacin semntica en la representacin de los documen-

tos, a travs de mtodos basados en conocimiento, benecia la tarea de categorizacin

de documentos cortos, en especial el enfoque que denominamos trminos+conceptos.

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

niveles de reduccin de vocabulario. Con respecto al desempeo de los distintos mtodos

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

tal motivo, el mejor valor de precisin depende de la codicacin y el clasicador utilizado

en la CT.

A partir de los resultados altamente promisorios obtenidos en el trabajo experimen-

tal con CT, se decide experimentar con otra de las aplicaciones vinculadas a PLN. De

este modo, se realizan pruebas aplicando mtodos de clustering bio-inspirados iterativos

que obtuvieron resultados importantes utilizando la representacin original de vectores

[30, 31]. Un aporte interesante surge en este contexto, ya que se obtiene un desempeo

competitivo del clustering iterativo utilizando representaciones de documentos enriqueci-

das con informacin semntica en la mayora de las instancias experimentales considera-

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-

carse como mtodos dbiles en relacin a otros mtodos supervisados ms elaborados,

entonces la mejora obtenida puede ser trascendental.

Por otro lado, las ventajas del uso de hipernimos en la representacin de documentos

cortos no han quedado demostradas y es un punto que requiere investigacin futura. En

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

enfoque planteado en la seccin 7.3.1).


Trabajos futuros 101

En base a las conclusiones anteriores, donde se destaca el buen desempeo del pre-

procesamiento semntico no supervisado para tareas vinculadas al PLN, se implementa

un marco de trabajo que brinda soporte al investigador en la reproduccin exacta de

experimentos anteriores como as tambin, hacer ms sencilla la creacin de nuevos expe-

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

el pre-procesado semntico, un acceso unicado a los algoritmos de anlisis sintctico (o

pos-tagging) y de anlisis semntico (o WSD). Al tener una arquitectura simple y mo-

dular es posible extender fcilmente el framework, incorporando nuevos algoritmos como

procesos intermedios. En este contexto, se proveen interfaces y clases abstractas bsicas

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

implementar los componentes abstractos del mismo.

Si bien el uso del framework alivi la tarea de obtencin de los vectores para la re-

presentacin de documentos, la posibilidad de combinar los algoritmos disponibles en

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

usuario tenga que conocer detalles subyacentes de la implementacin. De esta manera, la

seleccin y el posterior enlace de los diferentes algoritmos en las distintas etapas ya no

es un proceso complejo que exige codicacin, permitiendo a usuarios tanto del mbito

informtico como de otras reas de estudio tener acceso a un conjunto de funcionalidades

para el anlisis de textos. Pre.Se.Do. fue desarrollado para hacer factible la interaccin en

forma amigable, rpida y sencilla del usuario con el framework implementado.

Finalmente, se muestra lo sencillo que resulta la adaptacin de un mdulo del fra-

mework desarrollado para el acoplamiento al sistema GATE. De esta manera, se puede

generalizar armando que incorporar los dems componentes de nuestro framework a

sistemas mayores es una tarea simple y factible de ser realizada.

8.2. Trabajos futuros

En base a los experimentos realizados y a las conclusiones obtenidas de los mismos,

podemos identicar dos reas donde la investigacin llevada a cabo en este trabajo puede

ahondar. Con respecto al mbito del PLN sera posible:


Captulo 8. Conclusiones y trabajos futuros 102

Analizar el comportamiento de la incorporacin de informacin semntica en otras

aplicaciones del PLN, distintas a CT y clustering.

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

Simplicado o el Simulated anealing, otros mtodos heursticos como la tcnica

de considerar un sentido por discurso y la aplicacin de otras medidas de similitud

semnticas como las introducidas en [79, 90].

Investigar y evaluar la posibilidad de trabajar con otras ontologas, diferente a Word-

Net, con el n de ampliar la coleccin de conceptos y relaciones jerrquicas. Como,

por ejemplo analizar si es viable el uso de la ontologa Yago, que con alta cobertura

y precisin combina los datos de Wikipedia y WordNet [116].

Por otro lado, en relacin a la IS y al framework desarrollado existe la posibilidad de

que en base a los puntos anteriores pueda ser extendido para que tome en cuenta:

Ampliar el abanico de opciones en cuanto al formato del origen de datos para

poder ser adaptado a otras tareas que involucren slo algunas (y no necesariamente

todas) las tareas de pre-procesamiento semntico.

Adecuar la GUI Pre.Se.Do (originalmente implementada como una aplicacin de

escritorio) para que pueda ser usada desde la Web. De este modo, se permite a

usuarios desde cualquier parte del mundo acceder a la aplicacin e integrar sus

propios mdulos al framework desarrollado.

Profundizar sobre temas vinculados a la Web semntica, cuya idea principal es la

incorporacin de metadatos semnticos y ontolgicos a la World Wide Web. Esa

informacin adicional compuesta por el contenido, el signicado y relaciones entre

los datos deben ser proporcionadas de manera formal para poder evaluarlas auto-

mticamente y podra signicar un vnculo relevante con el framework presentado.


Apndice A

Acrnimos

AA. Aprendizaje Automtico


API. Interface de Programacin de Aplicaciones
C. conceptos
CIAO. CIAOSENSO
CIC. CICling-2002
CNB. Complement Naive Bayes
CT. Categorizacin de Textos
Easy. EasyAbstract
GATE. General Architecture for Text Engineering
GUI. Graphic User Interface
IL. Ingeniera del Lenguaje
IS. Ingeniera de Software
ITSA. ITerative PAntSA
LM. Lesk Mejorado
MD. Minera de Datos
MFS. Most Frequent Sense
NB. Naive Bayes
Apndice A. Acrnimos 104

NBM. Naive Bayes Multinomial


NBMU. Naive Bayes Multinomial Updateable
PLN. Procesamiento del Lenguaje Natural
Pre.Se.Do. Pre-procesamiento Semntico de Documentos
RI. Recuperacin de la Informacin
SVM. Support Vector Machine
T+C. trminos+conceptos
VSM. Vector Space Model
WN. WordNet
WSD. Word Sense Disambiguation
Apndice B

Documentacin del Framework

Es de sentido comn elegir un mtodo y probarlo. Si falla, admitirlo francamente y

probar con otro. Pero, sobre todo, intentar algo.

Franklin Roosevelt. Poltico estadounidense.

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:

El propsito del framework.

La forma de ejecutar dicho framework.

B.1. Propsito

Todo framework tiene el objetivo de capturar las decisiones de diseo comunes a un

tipo de aplicacin, estableciendo un modelo para todas ellas, asignando responsabilidades

y estableciendo colaboraciones entre las clases que forman el modelo. La nalidad de este

trabajo es proveer de un conjunto de mdulos que permitan realizar de una manera sencilla

las tareas de pre-procesado semntico de textos para la obtencin de los vectores que sern

utilizados en la representacin de documentos para diversas aplicaciones de PLN. Entre

las tareas implementadas estn los algoritmo de steeming, etiquetado sintctico (o pos-

tagging ) y de desambiguacin (WSD ). De la misma manera, se facilita el acceso a los


Apndice B. Documentacin del Framework 106

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

satisfaca los requerimientos de diseo incial del framework.

B.2. Utilizacin y ejecucin del framework


El objetivo principal del framework es pre-procesar un conjunto de archivos de texto

para generar un conjunto de vectores que ser utilizado posteriormente para la tarea de

categorizacin (o cualquier tarea vinculada al PLN). Para utilizar el framework con un

conjunto de textos especco el primer paso a realizar es un anlisis de los diferentes

algoritmos de POS-tagging y WSD disponibles de acuerdo al problema a solucionar.

Luego de realizado el anlisis y seleccionados los algoritmos a aplicar, el prximo paso es

determinar si el algoritmo ya est implementado o necesita ser includo como un nuevo

mdulo en el framework. Para incluir un nuevo mdulo, dependiendo de la tarea a incluir

(POS-tagging o WSD) se deber realizar una accin diferente:

Para un algoritmo de POS-tagging, se debe crear una nueva clase, dentro del paquete

postagger, que herede de la clase POSTagger e implemente el mtodo posTag con la

lgica correspondiente al etiquetador sintctico a incluir. Un ejemplo simplicado

de la implementacin se muestra en la Figura B.1.

package ar.edu.unsl.cs.wsd.postagger;
public class MFWNPOSTagger extends POSTagger {
public WordInfo[] posTag(String[] words) {

WordInfo[] wordInfos = ...

return wordInfos;
}
}

Figura B.1: Ejemplo clase POSTagging

Para un algoritmo de WSD se debe crear un nuevo subpaquete dentro del paquete

wsd que contendr los archivos Java necesarios para la implementacin del algorit-

mo a incluir. Adems debe incluirse una clase WSDhnbreAlgoritmoi que herede de


Utilizacin y ejecucin del framework 107

la clase WSD e implemente el mtodo disambiguate con la lgica correspondiente

al desambiguador a incorporar. Un ejemplo simplicado de la implementacin se

muestra en la Figura B.2.

package ar.edu.unsl.cs.wsd;
public class WSDLesk extends WSD {
protected WordInfo[] disambiguate(String[] words) {

wordInfos = wsd.disambiguate(wordInfos);

return wordInfos;
}
}

Figura B.2: Ejemplo clase WSD

Una vez que el desarrollo anterior ha sido completado, para realizar una ejecucin con

una coleccin de documentos, se deben congurar los algoritmos de POSTagger y WSD

a ejecutar en el archivo, de la siguiente manera:

java preproccess hnbreClasePOSTaggeri hnbreClaseWSDi hDirectorioi

Donde,

hnbreClasePOSTaggeri representa el nombre de la clase que implementa el algoritmo


de etiquetado sintctico a ejecutar.

hnbreClaseWSDi representa el nombre de la clase que implementa el algoritmo de

desambiguacin que se usar en la ejecucin del pre-procesado.

hDirectorioi es la carpeta raz que contiene la coleccin de documentos a pre-

procesar.

El resultado de la ejecucin anterior es un conjunto de archivos (que se corresponden

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

mediante la ejecucin de la clase GetSynsetOset para obtener, utilizando WordNet, el


Apndice B. Documentacin del Framework 108

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

distintas tareas vinculadas al PLN.


Apndice C

Documentacin de Pre.Se.Do

...se puede pensar a la ingeniera como la ciencia para la gente impaciente

 Herb Simon. PhD in Computer Science

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 ),

Swing y Standard Widget Toolkit (SWT ).

AWT soporta un conjunto de elementos con una apariencia ms simple comparada

con los de Swing. Pero, al ser una tecnologa muy estable y poder ejecutarse en

cualquier lugar donde el Java Runtime Environment est instalado la convierte en

una buena opcin de uso.

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

es la opcin ms rpida de las tres.

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

simple editor WYSIWYG.

Edicin de dos vas (o de ida y vuelta), los cambios realizados en el editor de

formularios se recogen en el cdigo, y los cambios realizados al cdigo se reejan

tambin en el editor de formularios. Actualizacin en el momento de los cambios

realizados en ambos editores.

Puede reconocer y manipular el cdigo generado manualmente o por otros IDE (por

ejemplo, NetBeans, JBuilder, etc.).

Pueden agregarse componentes y modicar la conguracin de los diseos.

Fcil navegacin entre los editores de cdigo fuente y de formularios.

Multiseleccin de los componentes para el ajuste de las propiedades, los parmetros

de diseo, y acciones como copiar, cortar, pegar y borrar.

Manipula la mayora de las propiedades de los componentes de interfaz grca de

usuario, tales como colores, fuentes, imgenes, tamaos, etc..

Crea controladores para todos y cada uno de los eventos de los componentes.

El cdigo de Java y la forma interfaz grca de usuario se puede ver en un solo

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

amigable, rpida y sencilla con el framework desarrollado y descripto detalladamente en

el Apndice B. Inicialmente, en el framework propuesto en este trabajo, la posibilidad de


111

Figura C.1: Ventana inicial de Pre.Se.Do

combinar diferentes algoritmos en las distintas etapas era un proceso que se 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

implementar dicho  controlador  grco. Pre.Se.Do. (las siglas para Pre-procesamiento

Semntico de Documentos ) es un entorno grco que ha sido desarrollado para facilitar

al usuario el pre-procesamiento semntico de una coleccin de documentos. Agiliza y sim-

plica la seleccin y el posterior proceso de las tareas que componen el ujo de ejecucin

descripto en el Captulo 6 y el Apndice B.

Figura C.2: Ventana principal de Pre.Se.Do.


Apndice C. Documentacin de Pre.Se.Do 112

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

tareas que involucra el pre-procesado semntico de documentos segn fue descripto en el

Captulo 6:

1. Etiquetado Sintctico (POS-tagger)

2. Analizador Semntico (Word Sense Desambiguation)

3. Obtencin de Vectores

4. Obtencin de Relaciones en WordNet

Figura C.3: Explorador para seleccionar la coleccin

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

directamente en el cuadro de texto Carpeta Corpus la ruta completa donde se encuentra

la coleccin a analizar o mediante el explorador mostrado en la Figura C.3 pulsando el

botn Explorar en la ventana principal de Pre.Se.Do.. Si la seleccin de un corpus no ha

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

realizar alguna de las tareas implementadas.

Figura C.4: Ventana de dilogo de aviso de error

La primera solapa permite realizar el anlisis sintctico del corpus. Los archivos a

pre-procesar en esta tarea deben tener extensin .txt y a la salida se le anexar la

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

6. Es importante destacar que, como se especic en el Captulo 6, el framework est

orientado a la extensibilidad por lo que aadir funcionalidades es una tarea sencilla,

que slo requiere incluir nuevos algoritmos de las distintas tareas que conforman el ujo

de ejecucin. Al pulsar el botn Get PosTagger comienza la ejecucin pudiendo ser

cancelada en cualquier momento durante el procesamiento, pulsando Cancelar. De esta

manera una ventana como la mostrada en la Figura C.5 se abrir para conrmar la

interrupcin o no de la ejecucin.

Figura C.5: Ventana de dilogo para Cancelar el proceso

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.

En la segunda solapa o pestaa, mostrada en la Figura C.7, se puede realizar el anlisis

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

Figura C.6: Ventana procesando una tarea

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.

Figura C.7: Solapa para la tarea de WSD

En la Figura C.8 se muestra la solapa que permite realizar la tarea nal para la

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

de trminos (Terms ), conceptos (Concepts ) o trminos+conceptos (Terms+Concepts ).


115

Figura C.8: Solapa para la tarea de Vectores

Finalmente, y como un anexo al trabajo realizado, en el Captulo 7 se considera el

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,

meronimia y holonimia para agregar informacin semntica a los vectores de conceptos y

trminos+conceptos. Es importante aclarar que, varias alternativas pueden ser selecciona-

das para este caso pero que al momento slo est implementada la relacin de hiperonimia

con la cual se realizaron trabajos experimentales.

Figura C.9: Solapa para la tarea de Relaciones


Apndice C. Documentacin de Pre.Se.Do 116
Bibliografa

[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

density. In COLING, pages 1622, 1996.

[3] Mikhail Alexandrov, Alexander Gelbukh, and Paolo Rosso. An approach to cluste-

ring abstracts. In NLDB, pages 813, 2005.

[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,

pages 26422647, 2003.

[7] Douglas Baker and Andrew McCallum. Distributional clustering of words for text

classication. In SIGIR, pages 96103, 1998.

[8] Satanjeev Banerjee. Adapting the Lesk Algorithm for Word Sense Disambiguation to

WordNet. PhD thesis, Department of Computer Science. University of Minnesota,

2002.

[9] Satanjeev Banerjee and Ted Pedersen. An adapted lesk algorithm for word sense

disambiguation using wordnet. In CICLing, pages 136145, 2002.


BIBLIOGRAFA 118

[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.

[12] K. H. V. Booth. Machine aided translation with a post-editor. In Machine Trans-

lation, pages 5176. North-Holland, 1967.

[13] Eric Brill. A simple rule-based part of speech tagger. In ANLP, pages 152155,

1992.

[14] Ted Briscoe and Bran Boguraev. Computational lexicography for natural language

processing. Longman Publishing Group, 1989.

[15] Davide Buscaldi, Paolo Rosso, and Francesco Masulli. The upv-unige-ciaosenso wsd

system. In SENSEVAL, pages 7782, 2004.

[16] Maria F. Caropreso, Stan Matwin, and Fabrizio Sebastiani. A learner-independent

evaluation of the usefulness of statistical phrases for automated text categorization,

2001.

[17] Noam Chomsky. Aspects of the theory of syntax. MIT Press, 1965.

[18] Yaacov Choueka and Serge Lusignan. Disambiguation by short contexts. Computers

and the Humanities, 19(3):147157, 1985.

[19] William Cohen and Yoram Singer. Context-sensitive learning methods for text

categorization. ACM Transformation Information System, 17(2):141173, 1999.

[20] Hamish Cunningham, Diana Maynard, Valentin Tablan, Cristian Ursu, and Kalina

Bontcheva. Developing language processing components with gate version 7 (a user

guide), 2012.

[21] Hamish Cunningham and Donia Scott. Software architecture for language enginee-

ring. Natural Language Engineering, 10(3-4):205209, 2004.

[22] Hamish Cunningham, Yorick Wilks, and Robert Gaizauskas. Gate-a general archi-

tecture for text engineering. In COLING, pages 10571060, 1996.


BIBLIOGRAFA 119

[23] Ido Dagan and Alon Itai. Word sense disambiguation using a second language

monolingual corpus. Computational Linguistics, 20(4):563596, 1994.

[24] Ido Dagan, Alon Itai, and Ulrike Schwall. Two languages are more informative than

one. In Association for Computational Linguistics, pages 130137, 1991.

[25] Franca Debole and Fabrizio Sebastiani. An analysis of the relative hardness of

reuters-21578 subsets. American Society for Information Science and Technology,

56(6):584596, 2005.

[26] Scott Deerwester, Susan Dumais, Thomas Landauer, George Furnas, and Richard

Harshman. Indexing by latent semantic analysis. American Society for Information

Science, 41(6):391407, 1990.

[27] Xiaowen Ding, Bing Liu, and Philip Yu. A holistic lexicon-based approach to opinion

mining. In WSDM, pages 231240, 2008.

[28] Susan Dumais, John Platt, Mehran Sahami, and David Heckerman. Inductive 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.

Technical report, LIDIC, U.N.S.L., San Luis, Argentina, 2008.

[31] Marcelo Errecalde, Diego Ingaramo, and Paolo Rosso. Itsa*: an eective iterative

method for short-text clustering tasks. In IEA-AIE, pages 550559, 2010.

[32] Marcelo Errecalde, Mara V. Rosas, Diego Ingaramo, and Paolo Rosso. Clustering

iterativo de textos cortos con representaciones basadas en conceptos. In IBERAMIA,

pages 8089, 2010.

[33] Marcelo Errecalde, Mara V. Rosas, and Paolo Rosso. Un framework de ingeniera

del lenguaje para el pre-procesado semntico de textos. In CACIC, pages 587596,

2010.
BIBLIOGRAFA 120

[34] Christiane Fellbaum. WordNet: An Electronic Lexical Database. Bradford Books,

1998.

[35] Edward Fox, Gerard Salton, and Harry Wu. Extended boolean information retrieval.

Computational and Applied Mathematics, 26(11):10221036, 1983.

[36] Norbert Fuhr, Stephan Hartmann, Gerhard Lustig, Michael Schwantner, Kostas

Tzeras, and Gerhard Knorz. Air/x - a rule-based multistage indexing system for

iarge subject elds. In RIAO, pages 606624, 1991.

[37] Luigi Galavotti, Fabrizio Sebastiani, and Maria Simi. Experiments on the use of

feature selection and negative evidence in automated text categorization. In ECDL,

pages 5968, 2000.

[38] William Gale, Kenneth Church, and David Yarowsky. A method for disambiguating

word senses in a large corpus. Computers and the Humanities, 26:415439, 1992.

[39] Stephen Garner. Weka: The waikato environment for knowledge analysis. In New

Zealand Computer Science Research Students Conference, pages 5764, 1995.

[40] Julio Gonzalo, Felisa Verdejo, Irina Chugur, and Juan 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

Applications & Services, 2008.

[42] Jos M. Gmez Hidalgo. Evaluating cost-sensitive unsolicited bulk email categori-

zation. In SAC, pages 615620, 2002.

[43] Jos M. Gmez Hidalgo and Manuel de Buenaga Rodrguez. Integrating a lexical

database and a training collection for text categorization. Computing Research

Repository, volume:cmp-lg/9709004(1):130148, 1997.

[44] Jos M. Gmez Hidalgo, Juan I. Girldez, and Manuel de Buenaga Rodrguez. Text

categorization for internet content ltering. Revista Iberoamericana de Inteligencia

Articial, 22(1):147160, 2003.


BIBLIOGRAFA 121

[45] Andreas Hotho, Steen Staab, and Gerd Stumme. Ontologies improve text docu-

ment clustering. In ICDM, pages 541544, 2003.

[46] Diego Ingaramo, Marcelo Errecalde, Leticia Cagnina, and Paolo Rosso. Compu-

tational Intelligence and Bioengineering, chapter Particle Swarm Optimization for

clustering short-text corpora, pages 319. IOS press, 2009.

[47] Diego Ingaramo, David Pinto, Paolo Rosso, and Marcelo Errecalde. Evaluation of

internal validity measures in short-text corpora. In CICLing, pages 555567, 2008.

[48] Diego Ingaramo, Mara V. Rosas, Amparito Asensio, and Marcelo Errecalde. Tpi-

cos avanzados en categorizacin de textos. In WICC, pages 7579, 2009.

[49] George John, Ron Kohavi, and Karl Peger. Irrelevant features and the subset

selection problem. In ICML, pages 121129, 1994.

[50] Ralph Johnson. Components, frameworks, patterns. Computational and Applied

Mathematics, 40(1):1017, 1997.

[51] Daniel Jurafsky and James Martin. Speech and Language Processing: An Introduc-

tion to Natural Language Processing, Computational Linguistics and Speech Recog-

nition. Prentice-Hall, 2000.

[52] Paul Kantor. Foundations of statistical natural language processing. Infomation

Retrieval, 4(1):8081, 2001.

[53] George Karypis, Eui-Hong Han, and Kumar Vipin. Chameleon: Hierarchical clus-

tering using dynamic modeling. Computer, 32(8):6875, 1999.

[54] Athanasios Kehagias, Vassilios Petridis, Vassilis Kaburlasos, and Pavlina Fragkou. A

comparison of word- and sense-based text categorization using several classication

algorithms. Intelligence Information System, 21(3):227247, 2003.

[55] Moshe Koppel, Jonathan Schler, and Shlomo Argamon. Computational methods in

authorship attribution. JASIST, 60(1):926, 2009.

[56] Donald Kraft and Duncan Buell. Fuzzy sets and generalized boolean retrieval sys-

tems. International Journal of Man-Machine Studies, 19(1):4556, 1983.


BIBLIOGRAFA 122

[57] Oh-Woog Kwon and Jong-Hyeok Lee. Web page classication based on k-nearest

neighbor approach. In IRAL, pages 915, 2000.

[58] John Laerty and ChengXiang Zhai. Probabilistic relevance models based on do-

cument and query generation, 2002.

[59] Ken Lang. Original 20 newsgroups dataset, 1993.

http://kdd.ics.uci.edu/databases/20newsgroups/20newsgroups.html.

[60] Leah Larkey. A patent search and classication system. In ACM DL, pages 179187,

1999.

[61] Jochen Leidner. Current issues in software engineering for natural language proces-

sing. In SEALTS, pages 4550, 2003.

[62] Michael Lesk. Automatic sense disambiguation using machine readable dictionaries:

How to tell a pine cone from an ice cream cone. In 5th International Conference on

Systems Documentation, 1986.

[63] David Lewis. Evaluating and optimizing autonomous text classication systems. In

SIGIR, pages 246254, 1995.

[64] David Lewis and Marc Ringuette. A comparison of two learning algorithms for text

categorization. In DAIR, pages 8193, 1994.

[65] David Lewis, Robert Schapire, James Callan, and Ron Papka. Training algorithms

for linear text classiers. In SIGIR, pages 298306, 1996.

[66] David Lewis and Alan Smeaton. Use of natural language processing at trec. In

TREC, pages 365366, 1992.

[67] Dekang Lin. Using syntactic dependency as local context to resolve word sense

ambiguity. In ACL, pages 6471, 1997.

[68] Andrew K. Lui, Siu C. Li, and Sheung O. Choy. An evaluation of automatic text

categorization in online discussion analysis. Advanced Learning Technologies, IEEE

International Conference, 0:205209, 2007.

[69] Alpha Luk. Statistical sense disambiguation with relatively small corpora using

dictionary denitions. In ACL, page 181 to 188, 1995.


BIBLIOGRAFA 123

[70] Romans Lukashenko, Vita Graudina, and Janis Grundspenkis. Computer-based

plagiarism detection methods and tools: an overview. In CompSysTech, page 40,

2007.

[71] Pavel Makagonov, Mikhail Alexandrov, and Alexander Gelbukh. Clustering abs-

tracts instead of full texts. In TSD, pages 129135, 2004.

[72] Christopher Manning and Hinrich Schtze. Foundations of Statistical Natural Lan-

guage Processing. The MIT Press, 1999.

[73] Hermann Maurer, Frank Kappe, and Bilal Zaka. Plagiarism - a survey. Universal

Computer Science, 12(8):10501084, 2006.

[74] Susan McRoy. Using multiple knowledge sources for word sense discrimination.

Computational Linguistics, 18(1):130, 1992.

[75] George Miller. Wordnet: a lexical database for english. Computational and Applied

Mathematics, 38(11):3941, 1995.

[76] George Miller. Wordnet , 1996. http://wordnet.princeton.edu/wordnet/related-

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

internet searches. IEEE Internet Computing, 4(1):3443, 2000.

[80] David Monarchi, Brian Henderson-Sellers, Grady Booch, Ivar Jacobson, Stephen

Mellor, James Rumbaugh, and Rebecca Wirfs-Brock. Methodology standards: Help

or hindrance? OOPS Messenger, 5(4):5458, 1994.

[81] Isabelle Moulinier, Gaillius Raskinis, and Jean-Gabriel Ganascia. Text categoriza-

tion : a symbolic approach. In SDAIR, pages 8799, 1996.

[82] Mary S. Ne, Roy J. Byrd, and Branimir K. Boguraev. B.k.: The talent system:

Textract architecture and data model. In JNLPBA, pages 307326, 2004.

[83] Nikunj Oza, Robi Polikar, Josef Kittler, and Fabio Roli, editors. Multiple Classier

Systems, volume 3541. Springer, 2005.


BIBLIOGRAFA 124

[84] Valentina Muoz Porras. Herramientas para la extraccin de informacin bajo la

arquitectura gate. Master's thesis, Universidad de Guanajuato, 2008.

[85] Martin Potthast, Alberto Barrn-Cedeo, Benno Stein, and Paolo Rosso. Cross-

language plagiarism detection. Language Resources and Evaluation, 45(1):4562,

2011.

[86] Martin Potthast, Benno Stein, Alberto Barrn-Cedeo, and Paolo Rosso. An eva-

luation framework for plagiarism detection. In COLING (Posters), pages 9971005,

2010.

[87] Roger S. Pressman. Software Engineering: A Practitioner's Approach. McGraw-Hill

Higher Education, 2001.

[88] James Pustejovsky. The generative lexicon. Computational Linguistics, 17(4):409

441, 1991.

[89] Diego Reforgiato Recupero. A new unsupervised method for document clustering

by using wordnet lexical and conceptual relations. Information Retrievel, 10(6):563

579, 2007.

[90] Philip Resnik. Using information content to evaluate semantic similarity in a taxo-

nomy. In IJCAI, pages 448453, 1995.

[91] Ellen Rilo. An empirical study of automated dictionary construction for informa-

tion extraction in three domains. Artitial Intelligence, 85(1-2):101134, 1996.

[92] Thomas Roelleke, Jun Wang, and Stephen Robertson. Probabilistic retrieval models

and binary independence retrieval (bir) model. In Encyclopedia of Database Systems,

pages 21562160. Idea Group, 2009.

[93] Monica Rogati and Yiming Yang. High-performing feature selection for text classi-

cation. In CIKM, pages 659661, 2002.

[94] Mara V. Rosas, , Marcelo Errecalde Diego Ingaramo, and Paolo Rosso. Clustering

iterativo de textos cortos con representaciones basadas en conceptos. Revista del

Procesamiento del Lenguaje Natural, Sociedad Espaola para el Procesamiento del

Lenguaje Natural (SEPLN), 46:1926, 2011.


BIBLIOGRAFA 125

[95] Mara V. Rosas, Marcelo Errecalde, and Paolo Rosso. Un anlisis comparativo de

estrategias para la categorizacin semntica de textos cortos. Revista del Procesa-

miento del Lenguaje Natural, Sociedad Espaola para el Procesamiento del Lenguaje

Natural (SEPLN), 45:1118, 2010.

[96] Paolo Rosso, Francesco Masulli, Davide Buscaldi, Ferran Pla, and Antonio Molina.

Automatic noun sense disambiguation. In CICLing, pages 273276, 2003.

[97] Peter Rousseeuw. Silhouettes: a graphical aid to the interpretation and validation

of cluster analysis. Computational and Applied Mathematics, 20(1):5365, 1987.

[98] Yasubumi Sakakibara. Pair hidden markov models on tree structures. In ISMB,

pages 232240, 2003.

[99] Gerard Salton. The SMART Retrieval SystemExperiments in Automatic Docu-

ment Processing. Prentice-Hall, Inc., 1971.

[100] Gerard Salton and Chris Buckley. Term-weighting approaches in automatic text

retrieval. Infomation Processing Management, 24(5):513523, 1988.

[101] Robert Schapire and Yoram Singer. Boostexter: A boosting-based system for text

categorization. In ML, pages 135168, 2000.

[102] Hinrich Schtze. Automatic word sense discrimination. Computational Linguistics,

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,

pages 379388, 1998.

[105] Fabrizio Sebastiani. Machine learning in automated text categorization. Compu-

tational and Applied Mathematics, 34(1):147, 2002.

[106] Fabrizio Sebastiani. Text categorization. In Encyclopedia of Database Technologies

and Applications, pages 683687. Idea Group, 2005.

[107] Fabrizio Sebastiani. Text categorization. In Text Mining and its Applications to

Intelligence, CRM and Knowledge Management, pages 109129. WIT Press, 2005.
BIBLIOGRAFA 126

[108] Shahin Shakeri and Paolo Rosso. Spam detection and email classicaion. Informa-

tion assurance and computer segurity, 6(IOS Press.):155167, 2006.

[109] Ian Sommerville. Construction by conguration: Challenges for software engineering

research and practice. In ASEC, pages 312, 2008.

[110] Efstathios Stamatatos. A survey of modern authorship attribution methods. JA-

SIST, 60(3):538556, 2009.

[111] Benno Stein and Sven Meyer zu Eissen. Document Categorization with Major-

Clust. In WITS, pages 9196, 2002.

[112] Benno Stein, Sven Meyer zu Eissen, and Martin Potthast. Syntax versus semantics:

Analysis of enriched vector space models. In TIR, pages 4752, 2006.

[113] Ingo Steinwart. Consistency of support vector machines and other regularized kernel

classiers. IEEE Transactions on Information Theory, 51(1):128142, 2005.

[114] Jiri Stetina, Sadao Kurohashi, and Makoto Nagao. General word sense disambigua-

tion method based on a full sentential context. In COLING-ACL, pages 450460,

1998.

[115] Mark Stevenson and Yorick Wilks. The interaction of knowledge sources in word

sense disambiguation. Computational Linguistics, 27(1):321349, 2001.

[116] Fabian Suchanek, Gjergji Kasneci, and Gerhard Weikum. Yago: A large ontology

from wikipedia and wordnet. J. Web Sem., 6(3):203217, 2008.

[117] Georey G. Towell and Ellen M. Voorhees. Disambiguating highly ambiguous words.

Computational Linguistics, 24(1):125145, 1998.

[118] Kostas Tzeras and Stephan Hartmann. Automatic indexing based on bayesian in-

ference networks. In SIGIR, pages 2234, 1993.

[119] Florentina Vasilescu, Philippe Langlais, and Guy Lapalme. Evaluating variants of

the Lesk approach for disambiguating words. In LREC, pages 633636, 2004.

[120] Sonia Vzquez. Resolucin de la ambigedad semntica mediante mtodos basados

en conocimiento y su aportacin a tareas de PLN. PhD thesis, Departamento de

Lenguajes y Sistemas Informticos. Universidad de Alicante, 2009.


BIBLIOGRAFA 127

[121] Xia Wang. owsd: A tool for word sense disambiguation in its ontology context. In

ISWC, pages 340352, 2008.

[122] Erik Wiener, Jan Pedersen, and Andreas Weigend. A neural network approach to

topic spotting, 1995.

[123] Yiming Yang. An evaluation of statistical approaches to text categorization. Infor-

mation Retrievel, 1(1-2):6990, 1999.

[124] Yiming Yang. A study on thresholding strategies for text categorization. In SIGIR,

pages 137145, 2001.

[125] Yiming Yang and Christopher Chute. An example-based mapping method for text

categorization and retrieval. ACM Transformation Information System, 12(3):252

277, 1994.

[126] Yiming Yang and Jan Pedersen. A comparative study on feature selection in text

categorization. In ICML, pages 412420, 1997.

[127] Yiming Yang, Sen Slattery, and Rayid Ghani. A study of approaches to hypertext

categorization. Intelligence Information System, 18(2-3):219241, 2002.

[128] David Yarowsky. Word-sense disambiguation using statistical models of roget's

categories trained on large corpora. In COLING, pages 454460, 1992.

[129] Shiren Ye, Tat-Seng Chua, and Jeremy R. Kei. Clustering web pages about persons

and organizations. Web Intelligence and Agent System, 3(4):203216, 2005.

[130] Toshio Yokoi. The edr electronic dictionary. Association for Computing Machinery,

38(11):4244, 1995.

[131] Edward Yourdon. Beyond software engineering: Ten imperatives for the successful

software developer at the end of the decade (abstract). In ICSE, page 538, 1997.

[132] Rmi Zajac, Mark Casper, and Nigel Sharples. An open distributed architecture for

reuse and integration of heterogeneous nlp components. In ANLP, pages 245252,

1997.

[133] Tong Zhang. Fundamental statistical techniques. In Handbook of Natural Language

Processing, Second Edition, pages 121. CRC Press, Taylor and Francis Group, 2010.

Potrebbero piacerti anche