N-Gramas

165

description

introducción a n gramas, para los linguistas computacionales

Transcript of N-Gramas

  • 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