n-gramas
DESCRIPTION
introducción a n gramas, para los linguistas computacionalesTRANSCRIPT
-
1
-
2
-
3
CONSTRUCCIN
NO LINEAL DE N-GRAMAS
EN LA LINGSTICA
COMPUTACIONAL
N-GRAMAS SINTCTICOS,
FILTRADOS Y GENERALIZADOS
Grigori Sidorov
Mxico 2013
-
4
Aprobado con base en proceso de revisin por pares por el
Consejo Editorial Acadmico de la Sociedad Mexicana de
Inteligencia Artificial. Revisado y recomendado por el Grupo de
Ingeniera Lingstica del Instituto de Ingeniera de la UNAM
(jefe del grupo Dr. Gerardo Sierra), grupo IULATERM (lxico,
terminologa, discurso especializado e ingeniera lingstica) del
Institut Universitari de Lingstica Aplicada de la Universitat
Pompeu Fabra, Barcelona, Espaa (directora del grupo Dra. M.
Teresa Cabr) y Laboratorio Natural Language Engineering
del Centro de investigacin Pattern Recognition and Human
Language Technology (PRHLT), Universitat Politcnica de
Valncia, Espaa (jefe del Laboratorio Dr. Paolo Rosso).
Primera edicin, 2013
Sociedad Mexicana de Inteligencia Artificial
ISBN 978-607-95367-9-4
Derechos reservados conforme a la ley.
Impreso y hecho en Mxico / Printed and made in Mexico
PC
2013
Construccin no lineal de n-gramas en la lingstica
computacional / Sociedad Mexicana de Inteligencia
Artificial; Grigori Sidorov. Mxico: Sociedad Mexicana de Inteligencia Artificial, 2013.
166 p.
ISBN 978-607-95367-9-4
1. Espaol. I. Sociedad Mexicana de Inteligencia
Artificial. II. Grigori Sidorov.
-
5
Prefacio
Este libro es sobre un nuevo enfoque en la
lingstica computacional relacionado con la idea de
construir los n-gramas de manera no lineal, siendo el
enfoque tradicional usar los datos de la estructura
superficial de textos es decir, en la estructura
lineal.
En el libro proponemos y sistematizamos la idea
del concepto de n-gramas sintcticos que permite
utilizar la informacin sintctica dentro de los
mtodos de procesamiento automtico tales como
clasificacin o agrupamiento es un ejemplo muy
interesante de aplicacin de la informacin lingstica
en los mtodos automticos (computacionales). A
grandes rasgos, la idea es seguir el rbol sintctico y
construir n-gramas basndose en las rutas en este
rbol. Existen varios tipos de n-gramas no lineales;
los trabajos futuros debern determinar qu tipos de
n-gramas son ms tiles y para qu tareas del PLN.
El libro est dirigido antes que nada a los
especialistas en el campo de la lingstica
computacional. Sin embargo, hemos hecho un
esfuerzo para explicar de manera clara cmo utilizar
los n-gramas, estamos dando muchos ejemplos, por lo
-
6
que creemos que el libro tambin sirve para los
alumnos de posgrado que ya tienen algunos
conocimientos previos en el campo. Queremos
enfatizar que no se requieren conocimientos
profundos de la computacin o de las matemticas; los
conceptos que proponemos son intuitivamente muy
claros y utilizamos muy pocas frmulas bien
explicadas, en su caso.
Grigori Sidorov
Septiembre 2013
-
7
ndice general
Introduccin .............................................................. 13
PARTE I. MODELO DE ESPACIO VECTORIAL
EN EL ANLISIS DE SIMILITUD
ENTRE TEXTOS ..................................... 17
Captulo 1. Formalizacin en la lingstica
computacional ......................................... 19
Captulo 2. Modelo de espacio vectorial..................... 25
Captulo 3. Modelo de espacio vectorial para textos
y la medida tf-idf ..................................... 39
Captulo 4. Anlisis semntico latente (LSA):
reduccin de dimensiones........................ 51
Captulo 5. Diseo de experimentos en
la lingstica computacional ................... 57
PARTE II. CONSTRUCCIN NO LINEAL DE N-
GRAMAS ................................................. 73
Captulo 6. N-gramas sintcticos: el concepto ........... 75
Captulo 7. Tipos de n-gramas sintcticos segn
sus componentes ..................................... 95
-
8
Captulo 8. N-gramas sintcticos continuos y no
continuos ............................................... 103
Captulo 9. Metalenguaje de representacin de
n-gramas sintcticos ............................. 113
Captulo 10. Ejemplos de construccin de n-
gramas sintcticos no continuos ........... 119
Captulo 11. Anlisis automtico de autora
usando n-gramas sintcticos ................. 137
Captulo 12. N-gramas filtrados .............................. 143
Captulo 13. N-gramas generalizados ..................... 151
Bibliografa ............................................................. 155
-
9
ndice detallado
Introduccin .............................................................. 13
PARTE I. MODELO DE ESPACIO VECTORIAL
EN EL ANLISIS DE SIMILITUD
ENTRE TEXTOS ..................................... 17
Captulo 1. Formalizacin en la lingstica
computacional ......................................... 19
La lingstica computacional .................. 19
La lingstica computacional y la
inteligencia artificial ............................... 20
Formalizacin en la lingstica
computacional ......................................... 21
Captulo 2. Modelo de espacio vectorial..................... 25
La idea principal del modelo de espacio
vectorial ................................................... 25
Un ejemplo del modelo de espacio
vectorial ................................................... 27
Similitud de objetos en el modelo de
espacio vectorial ...................................... 33
-
10
Similitud de coseno entre vectores ........... 35
Captulo 3. Modelo de espacio vectorial para textos
y la medida tf-idf ..................................... 39
Las caractersticas de textos para el
modelo de espacio vectorial ..................... 39
Valores de las caractersticas textuales:
tf-idf ........................................................ 42
Matriz trmino-documento ...................... 45
N-gramas tradicionales como
caractersticas en el modelo de espacio
vectorial .................................................. 47
Captulo 4. Anlisis semntico latente (LSA):
reduccin de dimensiones ....................... 51
La idea del anlisis semntico latente .... 51
Ejemplos de aplicacin del anlisis
semntico latente ..................................... 53
Uso del anlisis semntico latente .......... 56
Captulo 5. Diseo de experimentos en
la lingstica computacional ................... 57
Aprendizaje automtico en la
lingstica computacional ....................... 57
Los conceptos bsicos en el diseo de
experimentos ........................................... 59
Diseo de experimentos ........................... 67
-
11
PARTE II. CONSTRUCCIN NO LINEAL DE N-
GRAMAS ................................................. 73
Captulo 6. N-gramas sintcticos: el concepto ........... 75
La idea de los n-gramas sintcticos ........ 75
Ejemplo de sn-gramas continuos en
espaol .................................................... 80
Ejemplo de sn-gramas continuos en
ingls ....................................................... 87
Captulo 7. Tipos de n-gramas sintcticos segn
sus componentes ..................................... 95
N-gramas de elementos lxicos ................ 95
N-gramas de etiquetas gramaticales ....... 96
N-gramas de etiquetas de relaciones
sintcticas ............................................... 97
N-gramas de caracteres ........................... 98
N-gramas mixtos ..................................... 99
Clasificacin de n-gramas segn sus
componentes .......................................... 100
Captulo 8. N-gramas sintcticos continuos y no
continuos ............................................... 103
N-gramas sintcticos continuos ............. 103
N-gramas sintcticos no continuos ........ 106
Captulo 9. Metalenguaje de representacin de
n-gramas sintcticos ............................. 113
-
12
Captulo 10. Ejemplos de construccin de n-
gramas sintcticos no continuos ........... 119
Ejemplo para el espaol ........................ 119
Ejemplo para el ingls ........................... 128
Captulo 11. Anlisis automtico de autora
usando n-gramas sintcticos ................. 137
Preparacin del corpus para la
deteccin automtica de autora ........... 137
Evaluacin de deteccin de autora con
n-gramas sintcticos ............................. 138
Captulo 12. N-gramas filtrados .............................. 143
Idea de n-gramas filtrados .................... 143
Ejemplo de n-gramas filtrados .............. 145
N-gramas filtrados de caracteres .......... 148
Captulo 13. N-gramas generalizados ..................... 151
Idea de n-gramas generalizados ............ 151
Ejemplo de n-gramas generalizados ...... 153
Bibliografa ............................................................. 155
-
13
Introduccin
En este libro estamos discutiendo una idea muy
poco estudiada dentro del campo de la lingstica
computacional: la construccin de los n-gramas de
manera no lineal.
Antes que nada discutimos a nivel detalle el
concepto del modelo de espacio vectorial un marco
conceptual para comparacin de cualquier tipo de
objetos y despus su aplicacin a las tareas
relacionadas con textos, es decir, su uso en la
lingstica computacional. Se discuten los conceptos
relacionados con frecuencia de palabras (tf-idf) y se
presenta brevemente el anlisis semntico latente
que permite reducir el nmero de dimensiones.
Mencionamos los conceptos importantes para el
diseo de experimentos en la lingstica
computacional y describimos el esquema tpico de
experimento en esta rea.
Presentamos el concepto de n-gramas
tradicionales (lineales) y lo comparamos con el
-
Introduccin
14
concepto de n-gramas obtenidos de manera no lineal:
n-gramas sintcticos, filtrados y generalizados.
Los n-gramas sintcticos son n-gramas que se
construyen siguiendo las rutas en un rbol sintctico.
Su gran ventaja consiste en que permiten introducir
informacin puramente lingstica (sintctica) en los
mtodos computacionales de aprendizaje automtico.
Su desventaja est relacionada con la necesidad de
realizar el anlisis sintctico automtico previo.
Consideramos los n-gramas sintcticos tanto
continuos como no continuos. En caso de los n-gramas
sintcticos continuos, durante su construccin no se
permiten bifurcaciones en las rutas sintcticas. Al
quitar esta limitacin se obtienen los n-gramas
sintcticos no continuos: se consideran todos los sub-
rboles de longitud n de un rbol sintctico. Cabe
mencionar que los n-gramas sintcticos continuos es
un caso particular de los n-gramas sintcticos no
continuos.
Se propone un metalenguaje para la
representacin de los n-gramas sintcticos no
continuos, es decir, la manera formal de escribir un n-
grama sintctico no continuo usando corchetes y
comas, por ejemplo, a b [c [d, e], f]. En este caso los
corchetes y las comas forman parte de los n-gramas.
-
Introduccin
15
Tambin presentamos en este libro varios
ejemplos de construccin de n-gramas sintcticos
continuos y no continuos para los rboles sintcticos
obtenidos usando el sistema FreeLing y el analizador
sintctico de Stanford, tanto para el espaol como
para el ingls.
Estamos mostrando que la aplicacin de los n-
gramas sintcticos en una de las tareas tradicionales
de la lingstica computacional la tarea de
atribucin de autora da mejores resultados que el
uso de los n-gramas tradicionales.
Al final se presentan ideas de otro tipo de
construccin no lineal de n-gramas: 1) n-gramas
filtrados: se hace un filtrado de palabras o caracteres
usando algn criterio antes de construir n-gramas;
sos se construyen usando solamente los elementos
que pasaron el filtrado; 2) n-gramas generalizados:
las palabras se generalizan usando relaciones
lxicas, especialmente la sinonimia y la hiperonimia,
de esa manera se reduce el universo de elementos que
se usan para la construccin de n-gramas.
Se necesitan mltiples estudios experimentales
para determinar qu parmetros de construccin de
los n-gramas sintcticos continuos y no continuos,
filtrados y generalizados son mejores y para qu tipo
-
Introduccin
16
de tareas existentes dentro de la lingstica
computacional.
El libro sistematiza las ideas recin propuestas
por el autor sobre la construccin no lineal de n-
gramas para su uso en el modelo de espacio vectorial;
por lo que algunas partes del libro se basan en los
trabajos previos del autor publicados en varias
revistas y congresos, con las actualizaciones y
adecuaciones necesarias.
Trabajo realizado con el apoyo parcial del
gobierno de Mxico (CONACYT, SNI), de gobierno de
la Ciudad de Mxico (proyecto ICYT-DF PICCO10-
120), Instituto Politcnico Nacional, Mxico (proyectos
SIP 20120418, 20131441, COFAA), y proyecto Web
information quality evaluation initiative de la
Comisin Europea (FP7-PEOPLE-2010-IRSES
European Commission project 269180).
-
17
PARTE I.
MODELO DE
ESPACIO VECTORIAL
EN EL ANLISIS
DE SIMILITUD
ENTRE TEXTOS
-
19
Captulo 1.
Formalizacin en la
lingstica computacional
La lingstica computacional
La lingstica computacional es un rea
importante dentro del campo de la lingstica. Los
mtodos computacionales que se usan en la
lingstica computacional provienen de la ciencia de
la computacin, o siendo ms especfico de la
inteligencia artificial. Sin embargo, el objeto
primordial del estudio de la lingstica computacional
sigue siendo la modelacin del lenguaje humano, y
por lo mismo se sigue situando en el rea de las
humanidades.
La lingstica computacional estudia cmo
construir los modelos del lenguaje de tal manera que
sean entendibles para las computadoras, eso quiere
decir que no solo se analiza el uso del lenguaje en el
comportamiento humano, sino tambin se aplican
-
Modelo de espacio vectorial en el anlisis de similitud
20
unos mtodos formales que permitan la formulacin
exacta de las hiptesis y su posterior verificacin
automtica utilizando los datos lingsticos los
corpus [16, 28, 35].
La lingstica computacional y la
inteligencia artificial
Precisamente la parte formal de la lingstica
computacional se relaciona con los mtodos de la
inteligencia artificial [27]. De manera muy general se
puede definir el propsito de la ciencia de la
inteligencia artificial como modelar formalmente la
inteligencia humana. Es decir, las preguntas que
responde la inteligencia artificial son: qu es el
comportamiento inteligente? Cmo los humanos
resuelven diariamente miles de problemas prcticos,
en la gran mayora de los casos sin equivocarse? No
todas las reas de inteligencia artificial estn
relacionadas con el lenguaje humano, por ejemplo, la
visin o la resolucin de problemas, etc. Sin embargo,
en la inteligencia artificial se han desarrollado varios
mtodos que son aplicables a cualquier tipo de datos:
son los mtodos de aprendizaje automtico; y
precisamente esos mtodos se aplican en la lingstica
-
Formalizacin en la lingstica computacional
21
computacional moderna, convirtindola en una
ciencia formalizada. Hasta cierto grado la lingstica
computacional se convierte en una ciencia emprica,
donde las hiptesis se verifican con base en los
experimentos.
Formalizacin en la lingstica
computacional
Las computadoras son las herramientas
modernas ms importantes jams creadas por la
humanidad. Sin embargo la naturaleza de las
computadoras consiste en una lgica binaria muy
sencilla ceros y unos, ms las operaciones lgicas
sobre ellos. Cmo traducir un fenmeno tan complejo
como un lenguaje humano a esa lgica tan simple?
Para eso la lingstica computacional aprovecha tanto
los conocimientos que tenemos sobre el lenguaje
humano, como las herramientas que existen en el
rea de las ciencias de la computacin y en las
matemticas: varios tipos de modelos formales,
lenguajes de programacin, etc. [6]
De hecho es curioso, que muchos estudios
modernos en el campo de la lingstica
computacional, se parecen cada vez ms a otras reas
-
Modelo de espacio vectorial en el anlisis de similitud
22
de la ciencia de la computacin y la inteligencia
artificial, especialmente a las reas relacionadas con
el aprendizaje automtico: clasificacin automtica o
agrupamiento automtico. Sin embargo, insistimos,
sin la parte lingstica esos mtodos no pueden ser
aplicados en los modelos de lenguaje humano. En este
caso la parte relacionada con la lingstica consiste en
cmo elegir las caractersticas (y sus valores) que se
presentan a los algoritmos de clasificacin y
agrupamiento. Entonces por qu se dio este paso
hacia el uso de los mtodos formales justamente en
los ltimos aos? Desde nuestro punto de vista eso
est relacionado con los avances de Internet donde en
la actualidad existe un gran nmero de textos
libremente disponibles. Esos textos constituyen una
excelente fuente de aprendizaje para los sistemas
automticos. Aunque pareciera ser que los sistemas
automticos modernos pueden hacer magia toman
los datos, y realizan las tareas de manera muy similar
a un ser humano, en realidad, se basan en la
aplicacin de los mtodos de aprendizaje automtico a
unos conjuntos de datos muy grandes.
Para poder aplicar los mtodos de aprendizaje
automtico, la manera ms utilizada y parece ser la
nica en la actualidad es aplicar el modelo de
-
Formalizacin en la lingstica computacional
23
espacio vectorial. Obvio que es uno de los modelos
ms utilizados en la lingstica computacional
moderna. En los siguientes captulos explicamos
brevemente este concepto y discutimos sobre los
posibles valores que pueden ser representados en este
espacio vectorial para el caso de textos.
-
25
Captulo 2.
Modelo de espacio vectorial
La idea principal del modelo de
espacio vectorial
Antes que nada, todo lo que vamos a explicar a
continuacin es muy sencillo y no requiere los
conocimientos de la computacin, ms bien solamente
algo de sentido comn. Entonces, sugerimos al lector
continuar sin miedo a encontrarse con las
matemticas difciles, trataremos de explicar las
pocas frmulas que aparezcan lo ms claramente
posible.
El modelo de espacio vectorial es un modelo
utilizado muy ampliamente en las ciencias de la
computacin. Su amplio uso se debe a la simplicidad
del modelo y de su muy clara base conceptual que
corresponde a la intuicin humana en el
procesamiento de informacin y de datos. Realmente
-
Modelo de espacio vectorial en el anlisis de similitud
26
la idea detrs del modelo es muy sencilla y es una
respuesta a la pregunta cmo podemos comparar los
objetos de manera formal? Parece que la nica
manera de describir los objetos es utilizar la
representacin con los rasgos (caractersticas) y sus
valores. Es una idea universal, y hasta parece que es
la nica manera posible de trabajar con los objetos de
manera formal [49].
Quiz otra posibilidad sera el uso de las
memorias asociativas [27], en cuyo caso en lugar de
las caractersticas y sus valores se usan las relaciones
entre objetos expresadas a travs de las neuronas
artificiales con sus respectivas conexiones y sus
pesos. Sobre este tema existe literatura abundante, y
no vamos a discutirlo en este libro.
Bueno, ahora ya sabemos representar dos objetos
(o ms) eligiendo las caractersticas que ellos tienen y
los valores de esas caractersticas. Ntese que en este
caso elegir las caractersticas equivale a construir un
modelo de nuestros objetos. En este sentido la
seleccin de las caractersticas es subjetiva, aunque la
posterior comparacin ya es completamente objetiva.
Tambin es necesario mencionar que la seleccin
de la escala de valores de las caractersticas tambin
afecta al modelo que estamos construyendo; y es una
-
Modelo de espacio vectorial
27
decisin que debemos tomar, por ejemplo, no es lo
mismo pesar en gramos o en toneladas.
Un ejemplo del modelo de espacio
vectorial
Para tener la idea completamente clara,
consideraremos un ejemplo. Supongamos que
queremos comparar dos libros. Qu caractersticas
podemos elegir? Como ya hemos mencionado, eso en
gran medida depende de nuestras necesidades, es
decir, no existe un conjunto nico y correcto de las
caractersticas de los objetos; sin embargo, hay
algunas caractersticas ms comunes que otras, por
ejemplo, en caso de los libros, el nmero de pginas
sera una caracterstica importante para muchos
propsitos. Tambin podran ser las caractersticas
como color de la portada, autor, editorial, el perfil
sociolgico de las personas a quienes gust este libro,
etc.
En el caso del nmero de pginas, el valor de
esta caracterstica sera numrico, es decir, se
representa por un nmero. En caso de la editorial,
sera una lista de las posibles editoriales. En caso de
los perfiles sociolgicos, los valores de esa
-
Modelo de espacio vectorial en el anlisis de similitud
28
caracterstica seran un poco ms difciles de
representar, por ejemplo, estudiantes de licenciatura
del primer ao, o profesores universitarios de 40 a
50 aos, etc. Otra vez queremos subrayar que la
seleccin tanto de caractersticas como de sus valores
queda a nuestra eleccin, es decir, nosotros estamos
construyendo el modelo y sera cuestin de su
aplicacin prctica ver si es til o no. Esta idea est
muy clara para las caractersticas, pero tambin en
muchos casos se aplica a los valores. Por ejemplo,
podemos medir el peso en kilogramos o en gramos
esa decisin afectar en gran medida las posteriores
comparaciones entre objetos.
Ahora bien, tenemos la representacin de dos
objetos en trminos de las caractersticas y de sus
valores. Cul es el paso siguiente? Qu ms se
necesita para construir un modelo de espacio
vectorial? Debe ser algo muy complejo? Realmente no
lo es, de hecho el modelo ya est construido. Es un
espacio de N dimensiones, y cada dimensin en este
espacio corresponde a una de las caractersticas: el
nmero de dimensiones es igual al nmero de las
caractersticas que tiene el objeto en nuestro modelo.
Se puede imaginar una dimensin como un eje,
en el cual podemos marcar los valores de esa
-
Modelo de espacio vectorial
29
caracterstica/dimensin. Si los valores son numricos
la interpretacin es muy clara es la distancia desde
el punto con coordenadas (0,0,...). Si los valores son
naturalmente ordenados, como, por ejemplo, los
intervalos de la edad, tambin est claro cmo
tratarlos, aunque tenemos que asignarles algunos
valores numricos. Si los valores no son relacionados,
como por ejemplo el color de la portada de un libro, la
solucin ms fcil es utilizar un orden aleatorio, e
igualmente asignar los valores numricos a cada valor
simblico.
Ntese que si queremos manejar correctamente
esta situacin, podemos introducir tantas nuevas
dimensiones (caractersticas) cuantos valores de la
caracterstica tenemos, y sus valores pueden ser
presente-ausente (1-0). La ventaja es que en este
caso no tenemos que ordenar los valores, la
desventaja es que se aumenta mucho el nmero de
dimensiones.
El siguiente paso est relacionado con la
pregunta: y dnde estn los vectores, por qu es un
espacio vectorial? Como ya hemos mencionado, cada
objeto es un conjunto de los valores de sus
caractersticas, lo que corresponde a exactamente un
punto en un espacio de N dimensiones (las
-
Modelo de espacio vectorial en el anlisis de similitud
30
dimensiones corresponden a las caractersticas). Este
punto exactamente corresponde a un vector (una
flecha en la representacin geomtrica) de N
dimensiones (un vector n-dimensional), que empieza
en el punto con coordenadas (0,0,0,..) en este mismo
espacio. Por ejemplo, consideremos un libro de 100
pginas y con color de la portada rojo, comparndolo
con otro libro de 50 pginas y con el color de la
portada verde. Este es un espacio de dos dimensiones:
nmero de pginas y color de la portada, y cada
libro es un punto con las coordenadas [100, rojo] y [50,
verde]. Ntese que tenemos que elegir, qu valores
numricos corresponden a rojo y verde.
Las dimensiones corresponden a la posicin del
valor correspondiente en el vector, es decir, la
caracterstica nmero 1 tiene la posicin 1 en el
vector, la caracterstica nmero 2 tiene la posicin 2,
etc. En este caso como todas las dimensiones son
iguales, el ordenamiento de las caractersticas nunca
afecta el modelo.
Otra pregunta es cmo podemos representar
formalmente los espacios vectoriales? Como ya
mencionamos, cada objeto es un conjunto de sus
valores de las caractersticas seleccionadas; por
ejemplo, uno de los libros se presenta como
-
Modelo de espacio vectorial
31
X=[(nmero de pginas=100), (color de portada=rojo)],
y el otro Y=[(nmero de pginas=50), (color de
portada=verde)]. Surgen dos preguntas: 1) hay que
repetir cada vez el nombre de la caracterstica? y
2) qu se puede hacer en caso que algn objeto no
tenga alguna caracterstica?
Cuadro 1. Ejemplo de representacin tabular
del espacio vectorial.
Libro X Libro Y
Dimensin 1:
Nmero de pginas 100 50
Dimensin 2:
Color de portada rojo verde
La respuesta de la primera pregunta es muy
sencilla, normalmente se omite el nombre de la
caracterstica: de esta manera X=[100, rojo] y Y=[50,
verde]. Recordamos que el valor de la misma
caracterstica tiene el mismo ndice en el vector, es
decir, la misma posicin en el vector. Otra explicacin
puede basarse en un cuadro, donde las columnas
corresponden a los objetos y las filas a las
caractersticas (o puede ser al revs, eso no cambia el
modelo), vase el Cuadro 1. En este sentido,
representacin tabular (una matriz) y representacin
-
Modelo de espacio vectorial en el anlisis de similitud
32
vectorial es lo mismo. Las columnas corresponden a
los objetos, y las filas a las caractersticas, mientras el
valor de cada celda es el valor de la caracterstica de
un objeto dado.
En este sentido, el mero hecho de saber en qu
columna se encuentra un valor ya define a qu
caracterstica este valor corresponde; es decir, esa
informacin se sabe simplemente por su posicin en
un cuadro.
Igualmente sencilla es la respuesta para la
segunda pregunta, qu hacer en caso de que un objeto
simplemente no tenga definida una caracterstica
dada: se ponen los valores iguales a cero en el lugar
correspondiente. En todos los clculos posteriores esos
valores no afectarn el resultado siendo iguales a
cero.
Ntese que la representacin tabular es
conceptualmente lo mismo que el modelo de espacio
vectorial per se: las columnas corresponden a las
dimensiones. La nica diferencia es que en este caso
no es tan natural el uso de los conceptos geomtricos
que vamos a presentar a continuacin, pero la ventaja
de esa representacin consiste que en el futuro
podemos aplicar los mtodos de lgebra lineal por
ejemplo, el anlisis semntico latente (LSA). Vamos
-
Modelo de espacio vectorial
33
a considerar un ejemplo de aplicacin de esos mtodos
ms adelante.
Similitud de objetos en el modelo de
espacio vectorial
Ahora qu ventajas nos da el concepto de
espacio vectorial? Ya lo tenemos, en qu nos ayuda?
Resulta que podemos utilizar la metfora de espacio
para calcular la similitud entre objetos, es decir
comparar los objetos, basndonos en puras ideas
geomtricas muy sencillas, no ms all del teorema de
Pitgoras, como explicaremos ms adelante.
Ahora bien, cada objeto es un vector en un
espacio de N dimensiones. Cmo comparar esos
vectores? La idea geomtrica es que los vectores que
tienen ms o menos la misma direccin se parecen
entre s. Hablando de manera ms formal, si menor es
el ngulo entre esos vectores, mayor es la similitud.
Es muy claro e intuitivo en un espacio de dos
dimensiones. Por ejemplo, en la Ilustracin 1, menor
es el ngulo entre cada par de flechas, ms se
parecen entre s ambas flechas de este par, es decir,
ms coincide su direccin.
-
Modelo de espacio vectorial en el anlisis de similitud
34
Por ejemplo, los vectores A y B se parecen entre
s ms que los vectores B y C. Y por supuesto se
parecen menos entre s los vectores A y C. Ntese que
en total se puede comparar tres pares de vectores, en
caso de tener tres vectores.
En un espacio con mayor nmero de dimensiones
es ms difcil imaginar esa similitud, por eso
sugerimos al lector siempre considerar los ejemplos
en un espacio de dos dimensiones; tomando en cuenta
que en un espacio con mayor nmero de dimensiones
las ideas seran exactamente iguales.
C
Dimensin 1
Dimensin 2
A B
Ilustracin 1. Ejemplo del espacio vectorial:
similitud entre vectores.
-
Modelo de espacio vectorial
35
Similitud de coseno entre vectores
Para expresar formalmente la similitud, se
utiliza la medida del coseno del ngulo entre los
vectores: menor el ngulo, mayor es su coseno; es
decir, mayor es la similitud entre vectores y de esa
manera de los objetos mismos que estamos
comparando.
Para calcular la similitud de coseno entre dos
vectores, llammoslos y , se utiliza el producto
interno (producto punto) de los vectores normalizados.
La normalizacin consiste en la divisin del
resultado entre la longitud de cada vector o, qu es lo
mismo, de la multiplicacin de sus longitudes. La
longitud se llama la norma euclidiana y se
denomina, por ejemplo, para el vector como .
Nos gustara recordar al lector qu significa
normalizar y por qu es importante. A menudo es
importante no comparar los valores absolutos, sino los
valores relativos. Por ejemplo, qu es mayor, 10 o 20?
La pregunta pareciera no tener sentido, porque
obviamente 20 es mayor que 10. Sin embargo si
supiramos que ese 10 est en la escala de 30, y 20
est en la escala de 100? En este caso, si
normalizamos esos valores: 10/30 es mayor que
-
Modelo de espacio vectorial en el anlisis de similitud
36
20/100. Eso demuestra que si al comparar valores se
toma en cuenta la escala y se busca la misma escala
para ambos, los resultados dependen de la
normalizacin (escala). En caso de los vectores en dos
dimensiones, un vector puede ser una flecha muy
larga y el otro una flecha muy corta. Para poder
comparar su similitud, debemos convertirlos en los
vectores unitarios aplicando la norma euclidiana.
El producto punto de ambos vectores es un valor
que es muy sencillo de obtener: se suman las
multiplicaciones de los valores de vectores en cada
dimensin. En dos dimensiones dimensin 1 y
dimensin 2 para los vectores y , eso sera:
= 1 1 + 2 2.
Es decir, se multiplican entre s los primeros
elementos de los vectores, despus se multiplican
entre s los segundos elementos de los vectores, y se
suman al final.
De manera ms general:
(, ) = ( )
=1
,
donde m es el nmero de dimensiones en el modelo de
espacio vectorial (que es igual al tamao de vectores).
-
Modelo de espacio vectorial
37
Como ya mencionamos, el segundo paso en el
clculo de coseno despus de calcular el producto
punto es normalizar los vectores. Para eso se calcula
su longitud y se obtiene la norma euclidiana. La
norma euclidiana convierte cada vector a un vector de
longitud uno. La normalizacin utilizando la norma
euclidiana consiste en la divisin del vector entre
su longitud. La longitud del vector se calcula como
= 2
=1
.
En caso de dos dimensiones, eso corresponde
claramente a la aplicacin del teorema de Pitgoras: = 1
2 + 22,
donde 1 y 2 son valores del vector en el eje 1 y eje
2. Realmente, 1 es el valor del vector en la dimensin
1, es decir, la longitud del primer cateto; y 2 es el
valor del vector en la dimensin 2, es decir, la
longitud del segundo cateto, ver la Ilustracin 1. En
este caso, el vector como tal corresponde a la
hipotenusa, y se aplica el teorema de Pitgoras.
-
Modelo de espacio vectorial en el anlisis de similitud
38
En caso de un mayor nmero de dimensiones, se
agregan los elementos correspondientes en la frmula
de la misma manera.
Entonces la frmula final para el clculo de
similitud de coseno consiste en obtener el producto
punto de los dos vectores y despus aplicar la norma
euclidiana. De manera general:
sim(, ) = ( )
=1
.
En este caso, la similitud de coseno nos indica
que tan parecidos son los vectores y . Para los
valores positivos, el coseno est en el rango de 0 a 1.
Note que la similitud de coseno est definida
exactamente para dos objetos (dos vectores). La
similitud del objeto consigo mismo sera igual a 1.
Para objetos a los cuales corresponden los vectores
ortogonales (es decir, el ngulo entre ellos es 90), la
similitud de coseno es igual a 0.
Las ideas que presentamos en este captulo son
muy sencillas, sin embargo permiten comparar
cualquier tipo de objetos utilizando 1) el modelo de
espacio vectorial, 2) la correspondiente metfora
espacial, y 3) las ideas geomtricas muy sencillas.
-
39
Captulo 3.
Modelo de espacio vectorial
para textos y la medida tf-idf
Las caractersticas de textos para el
modelo de espacio vectorial
Ahora bien, ya sabemos qu es un modelo de
espacio vectorial para el caso de cualquier tipo de
objetos. Este modelo consiste en seleccin de las
caractersticas y asignacin de los valores de esas
caractersticas, que permite representar nuestros
objetos como vectores (precisamente de los valores de
las caractersticas), y despus medir su similitud
utilizando una simple frmula de similitud de coseno.
Recordamos que para el clculo de similitud hay que
considerar exactamente dos objetos, en caso de tener
mayor nmero de objetos se realizan los clculos de
-
Modelo de espacio vectorial en el anlisis de similitud
40
similitud (las comparaciones entre objetos) en
parejas.
Vamos a ver cmo se aplica este modelo para la
comparacin de documentos (textos). Es decir,
nuestros objetos que queremos comparar son
documentos.
La necesidad de medir la similitud es una
situacin muy tpica en tareas del procesamiento
automtico de lenguaje natural y de la lingstica
computacional. Por ejemplo, la tarea ms general de
recuperacin de informacin consiste precisamente en
el clculo de similitud. Vamos a explicar esto con un
poco ms de detalle.
En recuperacin de informacin se cuenta con
una coleccin de documentos, posiblemente muy
grande. Para el caso de los buscadores en Internet,
esa coleccin consiste en todos los textos de Internet
indexados previamente por las araas, es decir, los
programas que siguen las ligas en Internet (la
telaraa mundial). El usuario formula una peticin,
que tambin tiene una forma textual. En este caso, la
tarea de recuperacin consiste en encontrar en la
coleccin los documentos lo que se parezca ms a la
peticin, es decir, son similares con la peticin [4]. A
menudo, como criterios adicionales, se utilizan otros
-
Modelo de espacio vectorial para textos y la medida tf-idf
41
criterios de similitud como los perfiles de usuarios o
la estructura de la coleccin (por ejemplo, como en el
algoritmo PageRank).
Ahora bien, si queremos comparar los
documentos, y ya sabemos que la manera ms
recomendada es utilizar el modelo de espacio
vectorial, cmo elegir las caractersticas que tienen
los documentos? Qu deben ser esas caractersticas y
cules son sus valores? Igual que siempre sucede con
el modelo de espacio vectorial, tenemos muchas
opciones y depende de nosotros qu caractersticas
vamos a considerar importantes y cmo vamos a
elegir sus valores. Es decir, en el modelo de espacio
vectorial la comparacin es objetiva, pero la seleccin
de las caractersticas y seleccin de escalas de sus
valores son subjetivas.
La idea ms sencilla es utilizar palabras como
caractersticas de documentos. Normalmente se
aplican algunos procedimientos adicionales, como por
ejemplo, la lematizacin, es decir, todas las formas se
sustituyen por sus lemas formas normalizadas, por
ejemplo, trabajaron, trabajamos, trabajen etc. tienen
el lema trabajar. Tambin muy a menudo de clculo
de similitud se excluyen las palabras auxiliares
(tambin llamados en ingls stop words), tales como
-
Modelo de espacio vectorial en el anlisis de similitud
42
preposiciones o artculos, porque su presencia en un
documento no dice nada del documento como tal, su
presencia es determinada por las caractersticas del
lenguaje. Es usual para muchas tareas, a excepcin
de tener una tarea especfica que requiera la
presencia de ese tipo de palabras precisamente como
podra ser, por ejemplo, para el anlisis de estilo [2].
Valores de las caractersticas
textuales: tf-idf
Si las caractersticas son palabras, qu podemos
utilizar como sus valores? Intuitivamente, puede ser
algo relacionado con frecuencia de palabras. En este
sentido, entre ms frecuente es la palabra, ms
importante es esta palabra para el documento. No
todo es tan sencillo, pero la idea es sa.
La frecuencia de una palabra se denomina tf
(term frequency), es decir, frecuencia de la palabra
(trmino) significa cuntas veces la palabra ocurre en
un documento. Ms especficamente se denomina tfij,
es decir, cuntas veces la palabra i aparece en el
documento j. En este sentido, es un valor que puede
ser diferente en cada documento de la coleccin.
-
Modelo de espacio vectorial para textos y la medida tf-idf
43
Normalmente la frecuencia de una palabra se
combina con otra medida, que se llama idf (en ingls,
inverse document frequency, frecuencia inversa de
documentos). La intuicin detrs del idf se relaciona
con lo siguiente: si una palabra se encuentra en todos
los documentos de nuestra coleccin, entonces esta
palabra es incapaz de distinguir entre los
documentos, y por lo tanto no nos sirve. Y al
contrario, si una palabra se encuentra exactamente
en un documento en nuestra coleccin, es una palabra
muy til para clculos de similitud (o, por ejemplo,
recuperacin de informacin, que, como ya
mencionamos, es un caso particular de clculo de
similitud). El idf se calcula para cada palabra en una
coleccin dada, es decir, depende de la coleccin, pero
no depende de un documento especfico en la
coleccin.
La frmula para el clculo del idf es la siguiente:
= log
,
donde N es el nmero total de documentos en la
coleccin de documentos, es el nmero de
documentos donde la palabra i se encuentra por lo
menos una vez es decir, en este caso no importa que
-
Modelo de espacio vectorial en el anlisis de similitud
44
tan frecuente es dentro del documento, con que se
encuentre una vez basta; note que es un convenio
verificado por la prctica.
Se puede observar, que si una palabra se
encuentra en todos los documentos, entonces el valor
de idf es igual a log (
), que es igual a 0. El valor idf es
mximo cuando una palabra se encuentra
exactamente en un documento.
Se utiliza el logaritmo nada ms para suavizar la
influencia de las frecuencias altas; es un uso tpico de
logaritmos en la lingstica computacional. Note que
nunca puede ser cero, porque solo hemos
considerado las palabras que estn presentes en
nuestra coleccin. Tambin podemos utilizar en lugar
del tf, su logaritmo: log ( + 1), en este caso tenemos
que prever la posibilidad de cero, por eso usamos +1.
En caso general se recomienda combinar tf e idf
de una palabra dada en cada documento:
normalmente se multiplican. La medida que combina
esas dos caractersticas se llama tf-idf (se pronuncia
te-efe-i-de-efe) y muy a menudo se utiliza como el
valor que tienen las palabras como caractersticas en
el modelo de espacio vectorial para comparar los
documentos. Tambin se puede probar con el tf
solamente, el tf normalizado, el idf, etc. [28].
-
Modelo de espacio vectorial para textos y la medida tf-idf
45
Matriz trmino-documento
Entonces, nuestros objetos que estamos
considerando son documentos (textos). Tenemos
palabras (trminos) como caractersticas de esos
documentos, cada palabra tiene un valor tf-idf en
cada documento. Eso quiere decir que a cada
documento le corresponde un vector de valores tf-idf
de las palabras.
Tambin podemos representar toda esa
informacin como una matriz. Esa matriz se llama
matriz trmino-documento. Se presenta un ejemplo
en la Ilustracin 2.
Doc1 Doc2 Doc3 Doc4...
Palabra1 0.3 0 0 0.02
Palabra2 0.7 0.01 0 0.5
Palabra3 0 0 0 0
Palabra4 0 0 2.2 0
Palabra5
...
1.2
0
0
0
Ilustracin 2. Una matriz trmino documento.
Los documentos Doc1...DocN representan los
documentos en nuestra coleccin, las palabras
Palabra1...PalabraM representan todas las palabras
-
Modelo de espacio vectorial en el anlisis de similitud
46
que se encuentran en esos documentos ordenadas de
alguna manera. Los valores en el cuadro
corresponden a los supuestos valores tf-idf en la
coleccin.
Ntese que tpicamente el cuadro es muy
disperso, es decir tiene muchos ceros. Se recomienda
utilizar el ndice invertido para su representacin. El
ndice invertido consiste en conversin del cuadro en
una lista. Por ejemplo, la lista invertida para la
ilustracin anterior sera:
(Doc1, Palabra1, 0.3), (Doc1, Palabra2, 0.7), (Doc1,
Palabra5, 1.2), (Doc2, Palabra2, 0.01), (Doc3, Palabra4,
2.2), (Doc4, Palabra1, 0.02), (Doc4, Palabra2, 0.5),
En este caso no es necesario mantener en la lista
ningn elemento para los valores iguales a cero. La
matriz inicial y el ndice invertido contienen la misma
informacin. Es un procedimiento estndar que
siempre debe aplicarse a las matrices dispersas.
Es fcil observar que esta representacin es
igual a la representacin con vectores, por ejemplo, al
documento Doc1 segn se representa en la Ilustracin
2, le corresponde el vector [0.3, 0.7, 0, 0, 1.2].
Vamos a utilizar la representacin matricial
(tabular) en la discusin sobre el anlisis semntico
latente.
-
Modelo de espacio vectorial para textos y la medida tf-idf
47
N-gramas tradicionales como
caractersticas en el modelo de
espacio vectorial
Ntese que en caso de utilizar palabras como
caractersticas se pierde la informacin sobre las
relaciones sintcticas entre palabras. Las palabras se
convierten en lo que se llama bolsa de palabras (en
ingls, bag of words). Para muchas tareas esa prdida
de informacin es aceptable. Ms adelante en el libro
vamos a proponer una posible solucin para evitar esa
prdida de informacin sintctica los n-gramas
sintcticos.
Qu ms, a parte de las palabras, podran ser
las caractersticas de documentos? Quiz, es difcil
inventarlo rpido desde cero, pero el concepto como
tal es muy sencillo. Se trata de los n-gramas
(tradicionales). La sencillez de los modelos que
describimos es algo que ya hemos afirmado sobre el
modelo de espacio vectorial, y creemos que estamos
convenciendo al lector de que realmente es as.
N-gramas tradicionales son secuencias de
elementos tal como aparecen en un documento [35].
En este caso la letra N indica cuntos elementos
-
Modelo de espacio vectorial en el anlisis de similitud
48
debemos tomar en cuenta, es decir, la longitud de la
secuencia o de n-grama. Por ejemplo, existen
bigramas (2-gramas), trigramas (3-gramas), 4-
gramas, 5-gramas, etc. De esa manera, si vamos a
hablar de unigramas, es decir, de n-gramas
construidos de un solo elemento, es lo mismo que
hablar de palabras.
Otro grado de libertad es el tipo de elementos
que estn formando n-gramas. Pueden ser lemas o
palabras, pero tambin pueden ser etiquetas de clases
gramaticales (en ingls, POS tags, part of speech
tags), tales como sustantivos, verbos, etc.
Posiblemente las etiquetas pueden incluir
caractersticas gramaticales ms detalladas, por
ejemplo, una etiqueta como VIP1S, podra significar
verbo, indicativo, presente, primera persona,
singular. Podemos construir n-gramas utilizando ese
tipo de etiquetas.
En los ltimos aos en algunas tareas se utilizan
mucho los n-gramas de caracteres, es decir secuencias
de caracteres tomadas de un texto. Curiosamente,
para algunas tareas, como atribucin de autora, los
n-gramas de caracteres dan buenos resultados [52].
Su interpretacin lingstica no est clara, y sigue
siendo el objeto de estudios.
-
Modelo de espacio vectorial para textos y la medida tf-idf
49
Vamos a ver un ejemplo de los n-gramas
tradicionales de palabras. De la frase: Juan lee un
libro interesante podemos sacar los siguientes
bigramas (2-gramas): Juan lee, lee un, un libro, libro
interesante. O los siguientes trigramas (3-gramas):
Juan lee un, lee un libro, un libro interesante, etc.
Podemos sustituir cada palabra por su lema o por su
clase gramatical y construir los n-gramas
correspondientes. Como se puede observar, el
procedimiento es muy sencillo, pero se usa con gran
xito en los sistemas de lingstica computacional.
Y si utilizamos los n-gramas como
caractersticas, qu valores ellos pueden tener? Igual
que en caso de las palabras (unigramas), son los
valores relacionados con su tf-idf. Ntese que las
frecuencias de n-gramas usualmente son mucho ms
bajas que de las palabras, es decir los n-gramas
aparecen mucho menos en los textos. Es lgico porque
realmente estamos observando la aparicin al mismo
tiempo de las secuencias de dos o ms palabras
seguidas, lo que es un evento mucho menos probable
que de una palabra sola.
Entonces, para aplicar el modelo de espacio
vectorial a los textos, podemos utilizar como
caractersticas los n-gramas de varios tamaos
-
Modelo de espacio vectorial en el anlisis de similitud
50
compuestos de elementos de varios tipos, y como sus
valores utilizar sus frecuencias tf, idf o su
combinacin tf-idf.
-
51
Captulo 4.
Anlisis semntico latente
(LSA): reduccin de
dimensiones
La idea del anlisis semntico
latente
Despus de construir el modelo de espacio
vectorial se puede representar y comparar cualquier
tipo de objetos de nuestro estudio. Ahora podemos
discutir la cuestin si podemos mejorar el espacio
vectorial que hemos construido de alguna manera. La
importancia de esa pregunta est relacionada con el
hecho que el modelo de espacio vectorial puede tener
miles y miles de caractersticas, y posiblemente
muchas de esas caractersticas son redundantes. Hay
alguna manera de deshacernos de las caractersticas
que no son tan importantes?
-
Modelo de espacio vectorial en el anlisis de similitud
52
Para analizar la dependencia de las
caractersticas entre s existen varios mtodos, por
ejemplo, el anlisis de los componentes principales
(PCA, principle component analysis), el coeficiente de
correlacin, etc. En este captulo vamos a describir
brevemente el mtodo que se llama anlisis semntico
latente (LSA, latent semantic analysis, tambin a
veces llamado LSI, latent semantic indexing) [10].
Antes que nada debemos aclarar que aunque la
idea del anlisis semntico latente aplicado a los
textos es encontrar las palabras que se comportan de
manera similar (basndose en el anlisis de sus
contextos), y en este sentido tienen la misma
semntica, en la gran mayora de los casos los
resultados no tienen nada que ver con la semntica,
salvo la intencin inicial. Es decir, se busca la
similitud semntica distribucional, pero es muy difcil
en la prctica que el anlisis semntico latente
realmente la encuentre.
En realidad, el anlisis semntico latente es
aplicacin de una tcnica de procesamiento de
matrices tomada de lgebra lineal. Esta tcnica se
llama descomposicin en valores singulares (SVD,
singular value decomposition) y lo que permite es
encontrar en las matrices aquellas filas con mayor
-
Anlisis semntico latente (LSA): reduccin de dimensiones
53
informacin (valores grandes) y as eliminar las filas
de menor informacin (valores pequeos).
En este sentido, esencialmente para nuestro caso
el anlisis semntico latente no es nada ms que una
tcnica de reduccin de dimensionalidad de un
espacio vectorial. Bueno, y por qu de repente
estamos hablando de las matrices? Y cmo las
matrices estn relacionadas con las dimensiones? Ya
hemos discutido este aspecto en la seccin relacionada
con la matriz trmino-documento: los objetos se
representan como vectores lo que corresponde a un
espacio multidimensional, pero el conjunto de los
vectores representa a una matriz.
Ejemplos de aplicacin del anlisis
semntico latente
No vamos a entrar en este libro en los detalles
matemticos del anlisis semntico latente. En lugar
de eso vamos a dar un par de sencillos ejemplos. La
intuicin detrs del anlisis semntico latente se
puede representar de dos maneras.
Vamos a considerar una matriz que caracteriza
cuatro objetos O1-O4 y utiliza cuatro caractersticas
-
Modelo de espacio vectorial en el anlisis de similitud
54
c1-c4. Se puede observar que los valores de cada par de
las caractersticas se repiten. En este sentido, una
caracterstica en cada par es redundante, ver la
Ilustracin 3.
O1 O2 O3 O4
c1 1 1 0 0
c2 1 1 0 0
c3 0 0 1 1
c4 0 0 1 1
LSA
O1 O2 O3 O4
c1 -1.4 -1.4 0 0
c3 0 0 -1.4 -1.4
Ilustracin 3. Ejemplo de aplicacin del LSA.
Supongamos que vamos a aplicar el anlisis
semntico latente a esos datos. Debemos indicar el
nmero deseado de las dimensiones en la salida, en
nuestro caso sabemos que vamos a querer dos
dimensiones (dos caractersticas).
Ntese que el nmero de objetos sigue siendo sin
cambios, es igual a cuatro. Los valores que
corresponden a cada caracterstica y cada objeto se
han cambiado, sin embargo, dos nuevas
caractersticas describen muy bien los cuatro objetos
que tenemos y la eliminacin de dos caractersticas no
afecta su capacidad descriptiva.
-
Anlisis semntico latente (LSA): reduccin de dimensiones
55
En otro ejemplo vamos a considerar dos
dimensiones, en cada una de las cuales se marca un
valor. Se puede mapear esas dos dimensiones a otra
dimensin, como se muestra en la Ilustracin 4. Las
proyecciones en la nueva dimensin siguen
describiendo nuestros objetos.
Ilustracin 4. Proyecciones a una nueva dimensin.
Otra metfora que podemos utilizar describiendo
el anlisis semntico latente es que debemos dar
vuelta a nuestro espacio multidimensional tratando
de mantener nuestros datos con menores cambios
posibles, y en el mismo momento deshacerse de
algunas dimensiones.
Dimensin 1
Dimensin 2
Nueva dimensin
-
Modelo de espacio vectorial en el anlisis de similitud
56
Uso del anlisis semntico latente
Entonces, como hemos mencionado antes, el
anlisis semntico latente es una manera de reducir
las dimensiones en un modelo de espacio vectorial. Se
considera que el anlisis semntico latente refleja las
propiedades distribucionales de sus elementos, es
decir, permite captar la similitud de los contextos de
palabras o n-gramas, sin embargo, en la prctica es
difcil que se presenten unos casos claros.
Al aplicar el anlisis semntico latente se
necesita indicar un parmetro importante: cuntas
dimensiones debe tener el nuevo espacio vectorial, es
decir, cul es la reduccin. Se recomienda tener
valores de 100 a 500 dimensiones, aunque es cuestin
de verificarlo experimentalmente para cada tarea.
Existen libreras que implementan el anlisis
semntico latente, por lo que recomendamos utilizar
el cdigo ya disponible libremente (C, Python, etc.). El
anlisis semntico latente es un procedimiento que
consume algo de tiempo de procesamiento
computacional, pero no es excesivamente largo.
-
57
Captulo 5.
Diseo de experimentos en
la lingstica computacional
Aprendizaje automtico en la
lingstica computacional
Como lo hemos mencionado antes en el libro, en
el anlisis automtico de lenguaje natural
(procesamiento de lenguaje natural, PLN) y en la
lingstica computacional cada vez son ms populares
los mtodos relacionados con el aprendizaje
automtico computacional (machine learning, en
ingls). Aplicando estos mtodos se obtienen
resultados cada vez mejores [14, 19, 21, 23, 28, 36, 37,
42, 43, 45].
La intencin principal detrs de la aplicacin de
los mtodos de aprendizaje automtico es tratar de
modelar la formulacin de hiptesis por parte de los
-
Modelo de espacio vectorial en el anlisis de similitud
58
lingistas y su posterior verificacin. En este caso se
sustituye la intuicin humana por las grandes
cantidades de datos textuales posiblemente con
marcas adicionales hechas manualmente, y por los
mtodos sofisticados de aprendizaje que se basan en
las matemticas y en las estadsticas. De ninguna
manera se pretende sustituir a los lingistas en el
proceso de investigacin, sino desarrollar
herramientas que puedan ser tiles para ellos.
Por otro lado, la aplicacin de mtodos de
aprendizaje automtico permite la evaluacin exacta
de las hiptesis sobre el lenguaje, la reproduccin de
los resultados y hasta cierto punto convierte a la
lingstica computacional en una ciencia ms exacta.
En este sentido, algunas partes de la lingstica
computacional ya requieren procedimientos
empricos, cuando la hiptesis formulada se verifica
utilizando los experimentos computacionales basados
en los datos, y no slo en la intuicin de los hablantes
nativos o del propio experimentador.
Los mtodos ms utilizados en la lingstica
computacional actual son en su mayora los mtodos
de aprendizaje automtico supervisado, es decir, se
utilizan datos marcados manualmente para realizar
entrenamiento. Otra posibilidad est relacionada con
-
Diseo de experimentos en la lingstica computacional
59
el uso de los mtodos no supervisados, cuando el
propio sistema debe aprender directamente de los
datos. Claro est que es mucho ms difcil utilizar los
mtodos no supervisados, porque en este caso la
propia computadora debe descubrir algo en los datos,
sin alguna intervencin humana. Normalmente para
poder aplicar estos mtodos se requiere una cantidad
de datos realmente enorme.
Los mtodos de aprendizaje automtico
especficos ms utilizados en la lingstica
computacional son Bayes ingenuo (Naive Bayes, NB),
mquinas de vectores de soporte (support vector
machines, SVM), clasificador basado en rboles de
decisin J48.
Los conceptos bsicos en el diseo
de experimentos
Por lo mencionado anteriormente, en la
lingstica computacional ya son aplicables los
conceptos muy comunes en, digamos, recuperacin de
informacin [4] de precisin y especificidad
(precision y recall, en ingls), que miden la
viabilidad de una hiptesis de manera formal. La
combinacin armnica de esas dos medidas se llama
-
Modelo de espacio vectorial en el anlisis de similitud
60
la medida 1. Siempre recomendamos utilizar esta
ltima para comparacin de los mtodos. Son
conceptos relativamente sencillos. Suponemos que
tenemos una coleccin de documentos y una peticin.
Tambin tenemos un sistema que estamos evaluando.
El sistema genera la respuesta, es decir, nos presenta
algunos documentos recuperados considerados
relevantes para la peticin; vamos a llamarlos todos
recuperados.
Entre esos documentos algunos son recuperados
correctamente, es decir, son documentos relevantes:
relevantes, recuperados; mientras que otros son
errores de recuperacin cometidos por el sistema
son documentos no relevantes, recuperados. Eso
quiere decir que los documentos que llamamos todos
recuperados consisten en relevantes, recuperados y
no relevantes, recuperados.
De aqu surge el concepto de precisin: qu tan
buena es la respuesta con respecto a s misma?
Cuntos documentos en la respuesta son recuperados
de manera correcta? Precisin () es la relacin de
relevantes recuperados con respecto a todos
recuperados.
=
.
-
Diseo de experimentos en la lingstica computacional
61
Por ejemplo, la precisin es 1, cuando todos los
documentos en la respuesta son correctamente
recuperados.
Existen, sin embargo, otros documentos que son
relevantes para la peticin, pero el sistema no los
recuper; vamos a llamarlos relevantes, no
recuperados. De aqu surge el concepto de
especificidad (recall, ). Qu tan buena (especfica)
fue la respuesta del sistema con respecto a la
coleccin? Pudo recuperar la mayora de los
documentos relevantes o solo unos pocos?
Especificidad es la relacin de los documentos
relevantes, recuperados a todos los documentos
relevantes (todos relevantes); este ltimo conjunto
incluye los documentos relevantes, recuperados y
relevantes, no recuperados.
=
.
Especificidad es igual a 1 cuando el sistema
recuper todos los documentos relevantes. Siempre
existe una relacin entre precisin y especificidad: si
tratamos de aumentar uno de esos valores, el otro
disminuye.
Finalmente, la frmula para la medida 1 que
combina la precisin y la especificidad es:
-
Modelo de espacio vectorial en el anlisis de similitud
62
1 =2
+ .
La medida se llama 1 porque se da el mismo
peso a la precisin y a la especificidad igual a
uno. Se puede darles pesos diferentes, y se
producen medidas relacionadas con 1 pero
diferentes.
Otro concepto que se aplica en el diseo de
experimentos es el llamado lnea base (baseline),
que corresponde a un mtodo comnmente aceptado
del estado del arte que resuelve el mismo problema, y
que debe ser superado por la hiptesis propuesta.
Normalmente la lnea base es un mtodo no muy
sofisticado. Tambin es conveniente hacer una
comparacin del mtodo que estamos proponiendo con
otros mtodos ms sofisticados del estado de arte.
Dado que estamos hablando de datos marcados
por los seres humanos (etiquetadores) de manera
manual, que se usan para la verificacin del mtodo,
se utiliza el concepto de estndar de oro (gold
standard). Como los datos son marcados de manera
manual, se supone que no tienen errores (de aqu
viene la idea que es de oro), y si el sistema lo puede
alcanzar, entonces el sistema funciona realmente muy
bien.
-
Diseo de experimentos en la lingstica computacional
63
Una cuestin interesante est relacionada con la
concordancia entre los juicios humanos, es decir, si los
propios seres humanos marcan de manera diferente
algn fenmeno lingstico, entonces no podemos
esperar que una mquina resuelva correctamente este
mismo fenmeno. Para medir la concordancia entre
evaluadores se usa la estadstica kappa [9].
Tambin aqu se encuentra el concepto de la
lnea tope (top line, en ingls), que significa el valor
mximo que puede ser alcanzado por un programa
dado la falta de concordancia entre evaluadores. En
general, es recomendable usar varios evaluadores, y
no slo uno, para tener juicios mejor fundamentados y
menos sesgados.
Para realizar los experimentos se utiliza
comnmente la tcnica llamada validacin cruzada de
k volmenes (k-fold cross validation), donde k tiene
un valor numrico, normalmente igual a 10. La
tcnica consiste en dividir todos los datos en 10 (o k)
volmenes. Primero se utiliza el volumen 1 para la
evaluacin de los resultados del sistema, y los
volmenes 2 a 10 para el entrenamiento, despus se
elige el volumen 2 para la evaluacin, y los otros
nueve volmenes para el entrenamiento, y as
sucesivamente.
-
Modelo de espacio vectorial en el anlisis de similitud
64
De esta manera el sistema es evaluado 10 veces
sobre datos diferentes y se entrena 10 veces sobre
datos un poco diferentes, finalmente se toma el
promedio de las 10 evaluaciones como el valor final.
De esa manera se neutraliza la influencia de las
fluctuaciones que pueden existir en los datos.
Ntese que es muy importante no realizar la
evaluacin utilizando los mismos datos sobre los
cuales se hizo el entrenamiento: por eso es la divisin
en k volmenes. Si se usan los mismos datos, el
algoritmo de aprendizaje puede detectar las
caractersticas especficas de esos datos, en lugar de
generalizar. Eso se llama exceso de aprendizaje
(overfitting). El problema de exceso de aprendizaje
siempre est presente en cualquier situacin de
aprendizaje y hay que tomar medidas para evitarlo.
Para realizar todos los procedimientos descritos,
tenemos que representar el problema de manera
formal. Repetimos brevemente algunas de las ideas
que ya hemos discutido anteriormente. El modo ms
utilizado de representacin de los objetos que estamos
investigando es el modelo de espacio vectorial que
hemos discutido en los captulos anteriores. Se
representa el problema como un problema de
clasificacin automtica en un espacio, que es
-
Diseo de experimentos en la lingstica computacional
65
precisamente el espacio vectorial. Los objetos se
representan como conjuntos de valores de
caractersticas, es decir, a cada objeto le corresponde
un vector de dichos valores (de aqu el trmino
espacio vectorial). Eso significa que cada objeto es
un punto en el espacio multidimensional de
caractersticas. Es muy fcil imaginar este modelo
para el caso de dos caractersticas (dos dimensiones).
Para un mayor nmero de dimensiones simplemente
hay que suponer que es similar.
Despus de definir el espacio, se define una
mtrica en este espacio. Normalmente es la mtrica
de similitud de objetos, definida por la similitud de
coseno. La idea de dicha similitud es: entre ms se
parecen los dos objetos entre s, menor es el ngulo
entre los vectores que les correspondan en el espacio
definido y, por lo tanto, mayor es el coseno de este
ngulo.
Ahora bien, la siguiente pregunta es: cmo
elegir las caractersticas para definir el espacio
vectorial? En este momento en nuestro proceso del
diseo de experimento empiezan a prevalecer las
consideraciones lingsticas: es precisamente la parte
lingstica que determina las caractersticas que
podemos elegir.
-
Modelo de espacio vectorial en el anlisis de similitud
66
Por ejemplo, la idea ms sencilla utilizada en
recuperacin de informacin es utilizar todas las
palabras en varios documentos como sus
caractersticas, y despus comparar esos documentos:
cuantas ms palabras similares tienen dos
documentos, ms se parecen entre s estos
documentos. As se construye el espacio vectorial para
la tarea de recuperacin de informacin. Para medir
similitud de las palabras se usa su tf-idf.
Obviamente en este caso, las ideas de qu tipo de
informacin lingstica se puede utilizar se restringen
por el requisito formal de utilizar el modelo de espacio
vectorial, es decir, es nuestra obligacin de
representar los objetos como los conjuntos de valores
de caractersticas.
La siguiente posibilidad ms utilizada en la
prctica, y que ya tiene cierto fundamento lingstico,
es la idea de utilizar n-gramas como caractersticas en
el modelo de espacio vectorial. Como se seal con
anterioridad, el concepto de n-grama tradicional las
secuencias de palabras (u otros tipos de elementos)
segn aparecen en los textos, tiene un fundamento
lingstico que consiste en incluir la informacin
sintagmtica de las palabras (seguir o preceder otras
palabras).
-
Diseo de experimentos en la lingstica computacional
67
Sin embargo, hubiera sido mucho ms
provechoso utilizar un conocimiento an ms
lingstico, es decir, que involucre ms informacin
propiamente lingstica. Como un camino en esta
direccin, en nuestros trabajos anteriores [46, 47, 48,
49, 50, 51] hemos propuesto un nuevo concepto de n-
gramas, que contiene an mayor cantidad de
informacin de naturaleza lingstica que los n-
gramas tradicionales: n-gramas sintcticos. La idea
de los n-gramas sintcticos consiste en construirlos
siguiendo la ruta en el rbol sintctico. De esa
manera los n-gramas sintcticos siguen siendo n-
gramas, pero permiten introducir informacin
sintctica en los mtodos de aprendizaje automtico.
Los n-gramas sintcticos se discuten en la
siguiente parte de este libro, al igual que algunas
otras posibilidades de construccin de manera no
lineal de n-gramas: n-gramas filtrados y n-gramas
generalizados.
Diseo de experimentos
Despus de considerar todos los puntos
mencionados ya podemos describir el diseo de
-
Modelo de espacio vectorial en el anlisis de similitud
68
experimentos en la lingstica computacional
moderna que incluye los siguientes pasos:
1) Definir la tarea (por ejemplo, puede ser
generacin de resmenes, deteccin de autora,
recuperacin de informacin, etc.). A menudo la
definicin de una tarea diferente de las tareas
estndar puede contener una aportacin cientfica
interesante.
2) Seleccionar los textos para el diseo de
experimentos; lo que es equivalente a la preparacin
de un corpus. Se puede utilizar varios criterios para
seleccin de textos. Siempre es mejor utilizar los
corpus ya existentes para una tarea dada eso
permite una interpretacin ms objetiva de los
resultados y la comparacin. Sin embargo, no es
obligatorio siempre se puede desarrollar el corpus
propio. En este caso, recomendamos hacerlo pblico
para que otras personas lo puedan utilizar.
3) Preparar el estndar de oro (gold standard).
Para eso hay que marcar (etiquetar) manualmente los
textos (o alguna parte de ellos). El tipo de marcacin
depende del problema que estamos resolviendo. Se
recomienda basarse en los criterios de varios
etiquetadores, es decir, que sean varias personas que
lo hagan. Tambin es recomendable calcular los
-
Diseo de experimentos en la lingstica computacional
69
valores de concordancia entre ellos para determinar
la lnea tope.
4) Construir el modelo de espacio vectorial,
seleccionando las caractersticas y sus valores.
Tambin recomendamos probar varios tipos de
caractersticas: unigramas, n-gramas, n-gramas
sintcticos, varios tipos de elementos que los
compongan (palabras, lemas, etiquetas POS, etc.); y
varios tipos de valores: tf, tf-idf, etc.
5) Definir e implementar uno o varios mtodos de
lnea base que son los mtodos muy sencillos; y
tambin uno o varios mtodos del estado del arte
que son ya mtodos ms complejos. Claro est
que todos esos mtodos deben resolver el mismo
problema.
6) Seleccionar o implementar uno o varios
mtodos de aprendizaje automtico supervisado. Se
recomienda utilizar los mtodos ya hechos, por
ejemplo, el sistema WEKA [25] implementa decenas
de mtodos de aprendizaje automtico. Al mismo
tiempo hay que analizar los parmetros de esos
mtodos y sus rangos de cambios, para poder
posteriormente probar combinaciones de varios
parmetros. Como ya hemos mencionado, los mtodos
ms utilizados en la lingstica computacional son
-
Modelo de espacio vectorial en el anlisis de similitud
70
Bayes ingenuo (NB), mquinas de vectores de soporte
(SVM) y el clasificador basado en rboles de decisin
J48. Sin embargo recomendamos probar la mayor
cantidad posible de los mtodos. Tambin en este
momento hay que considerar la posibilidad de aplicar
el anlisis semntico latente (o alguna transformacin
de espacio vectorial similar) para reducir la
dimensionalidad del problema. Por ejemplo, WEKA
tiene una implementacin de LSA. En gran medida
eso sera la aportacin cientfica.
7) Convertir los datos textuales en el formato
que aceptan los mtodos de aprendizaje automtico
basndose en el modelo de espacio vectorial
construido. En caso de WEKA son los archivos ARFF
(attribute relation file format).
8) Realizar los experimentos de clasificacin
automtica: esos son los procedimientos que pueden
realizar los mtodos de aprendizaje automtico ellos
saben distinguir de manera automtica entre varias
clases definidos en el corpus basndose en el modelo
de espacio vectorial construido. Se recomienda
utilizar el procedimiento de validacin cruzada
basada en 10 volmenes. Los experimentos se
realizan para el modelo propuesto y se comparan con
-
Diseo de experimentos en la lingstica computacional
71
los resultados de los algoritmos de lnea base y los
algoritmos del estado del arte.
9) Calcular los valores de precisin y
especificidad, y sobre todo la medida 1, para todos
los mtodos mencionados y realizar la comparacin. Si
el mtodo propuesto obtiene mejores resultados,
entonces este mtodo es justificado.
En la situacin actual, la aportacin cientfica en
gran medida consiste en construccin del modelo de
espacio vectorial y algunos procedimientos adicionales
que permiten transformar este modelo (el mtodo
especfico propuesto por el investigador). Hasta cierto
punto la aportacin cientfica tambin puede incluir
la definicin del problema y el anlisis de qu mtodo
de aprendizaje automtico y reduccin de dimensiones
y con qu parmetros es mejor para el problema
seleccionado.
Este es el paradigma actual de investigacin.
Esperamos que en el futuro ms nfasis se d al
desarrollo de las caractersticas lingsticas de
manera manual, automtica o semiautomtica,
como ya sucede en los modelos generativos basados en
las caractersticas lingsticas locales, tipo Campos
Condicionales Aleatorios (Conditional Random Fields,
-
Modelo de espacio vectorial en el anlisis de similitud
72
en ingls), que para muchas tareas dan mejores
resultados que los mtodos ms tradicionales.
-
73
PARTE II.
CONSTRUCCIN
NO LINEAL
DE N-GRAMAS
-
75
Captulo 6.
N-gramas sintcticos:
el concepto
La idea de los n-gramas sintcticos
Como ya hemos mencionado, la idea principal de
las caractersticas formales aplicables en la
lingstica computacional se relaciona con el modelo
de espacio vectorial y con el uso de los n-gramas como
caractersticas en este espacio; lo que tambin incluye
los unigramas, es decir, las palabras.
Recordemos que los n-gramas tradicionales son
secuencias de elementos textuales (palabras, lemas,
etiquetas gramaticales, etc.) segn su orden de
aparicin en documentos. Los n-gramas tradicionales
representan la informacin sintagmtica y son
ampliamente utilizados en varias tareas de la
lingstica computacional con buenos resultados. Los
n-gramas tradicionales ignoran la informacin
sintctica, se basan nicamente en la informacin
-
Construccin no lineal de n-gramas
76
sintagmtica, la relacin establecida al seguir otra
palabra. La siguiente pregunta es, cmo podemos
seguir utilizando la tcnica de n-gramas, de la cual
sabemos da muy buenos resultados, y al mismo
tiempo involucrar la informacin sintctica? La
respuesta que estamos proponiendo en este libro es la
manera especial de obtencin de n-gramas la
manera no lineal. Nuestra propuesta general es sacar
los n-gramas siguiendo las rutas en rboles
sintcticos.
Intuitivamente, seguimos teniendo n-gramas,
pero logramos evitar el ruido introducido por la
estructura superficial del lenguaje. Este tipo de ruido
puede aparecer, porque en el nivel superficial las
palabras no relacionadas sintcticamente pueden
aparecer juntas. Podemos combatir este fenmeno si
vamos a seguir las relaciones sintcticas reales que
unen las palabras, aunque stas no sean vecinos
inmediatos.
Ntese que en este captulo estamos proponiendo
obtener un n-grama sintctico como un fragmento de
una ruta continua, no estamos considerando
bifurcaciones en la ruta ms adelante
presentaremos ejemplos de eso. En los captulos
posteriores vamos a presentar el concepto de n-
-
N-gramas sintcticos: el concepto
77
gramas sintcticos no continuos (el concepto ms
general), donde siguiendo la ruta en un rbol
sintctico se permite entrar en las bifurcaciones y
regresar.
Entonces, por el momento vamos a continuar con
la descripcin de los n-gramas sintcticos que
llamamos continuos para ilustrar el concepto de un
n-grama sintctico como tal. Los n-gramas son
continuos en el sentido en que desde cualquier
punto de la ruta se puede mover exactamente a un
punto siguiente.
Se puede observar que es precisamente una
manera no lineal de construccin de n-gramas, dado
que no tomamos sus elementos segn su orden lineal.
En este caso la idea del orden lineal se refiere al nivel
superficial del texto, donde los elementos
obligatoriamente tienen que seguir unos a otros
recordando a F. de Saussure, el carcter lineal del
significante.
A menudo con el trmino n-grama sintctico se
quiere decir que es un n-grama compuesto por las
etiquetas gramaticales (POS), por ejemplo, en [1].
Creemos que es el uso incorrecto de este trmino,
porque las etiquetas gramaticales representan no la
informacin sintctica, sino la informacin
-
Construccin no lineal de n-gramas
78
morfolgica. Se usa la informacin sintctica para la
desambiguacin de las etiquetas, pero eso no justifica
su uso de esa manera.
Se ha propuesto una idea un poco parecida a la
nuestra de usar el concepto de skip-gramas (salto-
gramas), por ejemplo, vase [7]; es decir, formar
secuencias de elementos de manera aleatoria saltando
algunos de ellos. Claramente es la construccin no
lineal, pero los n-gramas construidos de esa manera
contienen ms ruido que los n-gramas tradicionales, y
su nmero se vuelve demasiado grande.
Una modificacin de esa idea es usar no todos
skip-gramas, sino solamente aquellos con mayores
frecuencias [26], llamados secuencias frecuentes
maximales. Sin embargo, para la construccin de
esas secuencias se necesitan algoritmos muy
sofisticados, y seguimos con el problema de
interpretacin de ellas la realidad lingstica que
les corresponde no va ms all de la bsqueda de
algunas combinaciones de palabras.
Otras ideas nuestras que estamos presentando
en el libro de cmo construir los n-gramas de manera
no lineal se relacionan con los conceptos de n-gramas
filtrados por ejemplo, usando su tf-idf como un filtro
ANTES de construir n-gramas y con n-gramas
-
N-gramas sintcticos: el concepto
79
generalizados. Digamos, para los n-gramas
generalizados podemos utilizar siempre la primera
palabra en una lista de sinnimos (synset), o promover
las palabras en una ontologa a conceptos ms
generales, sustituir las palabras por estos conceptos,
y despus construir los n-gramas de esos conceptos
ms generalizados.
Cabe mencionar que la idea de utilizar
informacin estructural de relaciones de palabras en
tareas especficas se ha presentado anteriormente, [3,
24, 32] sin embargo, en ninguno de estos trabajos se
ha generalizado, ni se ha relacionado con la idea de
los n-gramas.
El trabajo [41] ha propuesto una idea similar en
el campo de anlisis semntico, donde la utilidad de
la informacin sintctica se demuestra en tareas muy
especficas de:
1. prioridad semntica (semantic priming), es
decir, los experimentos psicolingsticos sobre
la similitud de palabras,
2. deteccin de sinnimos en las pruebas
TOEFL, y
3. ordenamiento de sentidos de palabras segn
su importancia.
En nuestra opinin, este trabajo no tuvo mucha
resonancia en otras tareas de PLN precisamente por
-
Construccin no lineal de n-gramas
80
no relacionar la informacin sintctica con los n-
gramas, que es la herramienta principal en la gran
mayora de tareas, ni por mostrar su utilidad en otras
tareas que no son tan especficamente orientadas a la
semntica.
Para la ilustracin del concepto de n-gramas
sintcticos vamos a considerar, como ejemplo, dos
oraciones tomadas de un libro de Julio Verne. El
primer ejemplo est en el idioma ingls, y el segundo
est en el idioma espaol. Para ambos ejemplos
previamente construimos el rbol sintctico, es decir,
tenemos la informacin sintctica representada en el
formato de dependencias.
Ejemplo de sn-gramas continuos en
espaol
Para analizar el ejemplo en espaol utilizamos el
analizador sintctico del sistema FreeLing [5, 39, 40].
Las relaciones sintcticas se muestran en el resultado
de anlisis con sangra, es decir, los bloques con la
misma sangra tienen la misma palabra principal (si
no aparece otra posible palabra principal entre esas
palabras). La oracin en espaol es la siguiente:
-
N-gramas sintcticos: el concepto
81
El doctor Ferguson se ocupaba desde haca
mucho tiempo de todos los pormenores de su
expedicin.
El analizador sintctico FreeLing genera la
siguiente salida en el formato de dependencias.
grup-verb/top/(ocupaba ocupar VMII1S0 -) [
morfema-verbal/es/(se se P0000000 -)
sn/subj/(doctor doctor NCMS000 -) [
espec-ms/espec/(El el DA0MS0 -)
w-ms/sn-mod/(Ferguson ferguson NP00000 -)
]
prep/modnomatch/(desde desde SPS00 -)
grup-verb/modnomatch/(haca hacer VMII1S0 -) [
sn/cc/(tiempo tiempo NCMS000 -) [
espec-ms/espec/(mucho mucho DI0MS0 -)
sp-de/sp-mod/(de de SPS00 -) [
sn/obj-prep/(pormenores pormenor NCMP000 -) [
espec-mp/espec/(todos todo DI0MP0 -) [
j-mp/espec/(los el DA0MP0 -)
]
]
]
sp-de/sp-mod/(de de SPS00 -) [
sn/obj-prep/(expedicin expedicin NCFS000 -) [
espec-fs/espec/(su su DP3CS0 -)
]
]
]
F-term/term/(. . Fp -)
-
Construccin no lineal de n-gramas
82
]
]
Presentamos el rbol correspondiente en las
ilustraciones 5 y 6. Se puede observar que el
analizador sintctico se equivoc en algunas
ocasiones. Por ejemplo, coloc los grupos de palabras
de su expedicin y de todos los pormenores como
dependientes de la palabra tiempo en lugar del
verbo ocuparse. Los analizadores sintcticos pueden
cometer este tipo de errores con algunos tipos de
ambigedad sintctica difcil de resolver de manera
automtica. Sin embargo, aun as, en muchos casos
eso no afectara significativamente el funcionamiento
del sistema, dado que la gran mayora de relaciones
se establecieron correctamente y los errores no son
tan graves que arruinen la estructura del rbol. En el
rbol abajo indicamos los errores del analizador
sintctico con las lneas de puntos. Sin embargo, para
el procesamiento automtico, el formato de salida del
analizador no es muy cmodo.
Hemos desarrollado un software que convierte el
formato de salida de FreeLing en otro formato. En
este caso el formato de salida es similar al formato de
salida del analizador sintctico de Stanford. Este
software est disponible libremente en la pgina
personal del autor del libro.
-
N-gramas sintcticos: el concepto
83
El
docto
r
Fergu
son
se
ocu
pa
ba
desd
e
ha
ca
mu
ch
o
tiem
po
de
tod
os
los
porm
en
ores
de
su
exp
ed
ici
n
Ilustracin 5. Ejemplo de un rbol sintctico en
espaol.
El
docto
r
Fergu
son
se
ocu
pa
ba
desd
e
ha
ca
mu
ch
o
tiem
po
de
tod
os
los
porm
en
ores
de
su
exp
ed
ici
n
Ilustracin 6. Ejemplo de un rbol sintctico
en espaol con etiquetas.
se subj
espec sn-mod nm
nm
cc
espec sp-mod
sp-mod obj-prep obj-prep
espec
espec
espec
-
Construccin no lineal de n-gramas
84
A continuacin presentamos el resultado de la
conversin de formato. Ntese que en este caso los
nmeros de palabras corresponden a las lneas de la
salida generada por el analizador de FreeLing, y no a
los nmeros reales de su posicin en la oracin.
top(root-0, ocupaba-1)
es(ocupaba-1, se-2)
subj(ocupaba-1, d