En esta página se encuentran los materiales que usé para el Taller de Métodos y Herramientas de Procesamiento del Lenguaje Natural de la ELiC 2010.

Primer día


Usamos unas slides [pln] con una introducción a
  • qué es la lingüística computacional y el lenguaje natural
  • aplicaciones de procesamiento de lenguaje natural
  • descripción de los niveles de análisis del lenguaje natural y (algunos) problemas que presentan (vamos a ver más problemas cuando entremos a trabajar con las herramientas)
  • inventario a de herramientas, con enlaces

tarea:
  • cada uno busca 2 corpus de 1000 palabras de lenguas distintas al inglés que tengan un analizador morfológico libre.
  • subimos al grupo de google los corpus que cada uno compiló.
  • pensamos un detector de idioma, cómo podría ser?

Segundo día


Es muy fácil usar FreeLing y hay mucha documentación asociada, pero vamos a ensuciarnos las manos para que luego nos cueste menos aplicarlo a cosas varias.
Usaremos las filminas de Lluís Padró Freeling Uncovered, pasearemos por el archivo de configuración y veremos cómo modificar diccionarios, gramáticas, etc.

Weka es un entorno que provee múltiples utilidades para crear clasificadores y para minería de datos.
Trataremos de resolver problemas de lenguaje natural mediante clasificadores. Veremos primero cómo podemos convertir un texto en vectores de entrada para weka, y luego veremos cómo puede funcionar un clasificador.


Para empezar, podemos tratar de aprender un clasificador que determine la categoría morfosintáctica o semántica de una palabra. De esta forma, podremos determinar la categoría de una palabra que no hayamos visto antes, y así aumentar nuestro diccionario automáticamente. Vamos a usar el GENIA corpus, un corpus de abstracts de artículos científicos sobre biología celular en inglés. Está anotado en XML para categorías morfosintácticas (parts-of-speech, PoS) y términos. Con algunos scripts de perl, convertí el corpus en archivos de entrada para weka, con el formato .arff:
  • words tiene como objetos las palabras, y como características las palabras que las rodean ( generado con genia-words2arff )
  • terms tiene como objetos los términos, y como características también las palabras que los rodean ( generado con genia-terms2arff )

Por otro lado, podemos tratar de resolver el problema de la ambigüedad sintáctica de los sintagmas preposicionales, conocida como pp-attachment. El problema se dá en una oraciones que tienen una estructura que puede tener dos análisis sintácticos distintos, de forma que un analizador sintáctico puede equivocarse (y se equivoca). Se trata de oraciones como:
Vi al hombre con el telescopio.
Vi (al hombre) (con el telescopio). -- yo llevaba el telescopio
Vi (al hombre (con el telescopio)). -- el hombre llevaba el telescopio
Para un analizador, no sólo esta oración es ambigua, sino también oraciones como “Clavó el clavo con el martilo” o “Comió la torta con nueces”.
A partir del corpus Ancora_ES, obtuve todos los ejemplos de oraciones con el patrón V N P, y los convertí a un archivo .arff. Los dividí en ejemplos de prueba y de evaluación:

Tratemos de aprender un clasificador que, ante un ejemplo ambiguo, pueda determinar si la preposición depende del nombre o del verbo anterior.

Tercer día



EuroWordNet

Aprendizaje no supervisado y Semi-Supervisado