Chunking/Tagging

Fecha de entrega: 25 de Junio de 2012

Especificaciones:


Objetivo:  Familiarizarse con las herramientas para Tagging/Chunking y sus resultados con diferentes tipos de corpora y conocer los problemas que presentan.

Se solicita:
1)  Consiga un Tagger/Chunker o un tagger ya entrenado y un Chunker, ya sea entrenado o no (si no lo está debe entrenarlo), que sea capaz de taggear/chunkear en Inglés, usando el conjunto de tags del PennTreeBank (Brill's Tagset).

Algunos recursos que puede usar (hay muchos más) son:
                 Carafe  taggers  (Conditional Random Fields, MITRE).
                 CoNLL  Pagina sobre Chunking con referencias  a  la literatura y algunos scripts,como
                                  conlleval     chunklink,    changeRepr,    tagger-accuracy
                 NLTK  
                 YamCha  "a generic, customizable, and open source text chunker oriented toward a lot of NLP tasks,
                                such as POS tagging, Named Entity Recognition, base NP chunking, and Text Chunking." Usa SVM (requiere SVM Light)
                 CRF++  Una implementación de Conditional Random Fields (CRFs) for segmenting/labeling sequential data.
                 LingPipePlataforma en Java con distintas opciones incluye tagging y chunking             
                 Maxima Entropia MaxEnt    
  

En su entrega describa qué herramienta utilizó y cuáles son sus características y las dificultades, ventajas y desventajas que encontró.

2) "Tagee" y "Chunkee" los siguientes textos que serán aquellos, sobre los que evaluará (Gold Standards):

a)  WSJ  subset.     b) Genia Corpus    

Los textos estan en formato CoNLL, lo que significa que cada línea tiene las siguientes tres columnas:  Palabra    POS-TAG    CHUNK-TAG   (en formatoBIO). 
El input para su tagger serán las palabras y probablemente los pares (Palabra, POS-TAG) para el chunker. Puede necesitar escribir un script para transformar el input del Gold Standard para que se adapte a sus necesidades. El output debe tener el mismo formato y número de líneas que el input.

Si necesita entrenar su herramienta para Chunking, puede usar el siguiente corpus: CoNLL training

Informe:

i)   POS "accuracy" para los Gold Standards a) y b),
ii)  Las cinco dimensiones de error mas frecuentes (por ej: entre VBD VBN) y su incidencia en el procentaje de error y
iii) Chunking Precision y Recall para chunks verbales y nominales, en donde:
    
    Precision = (Número de Tags-de-Chunk Nominales Correctos Producidos) / (Número Total de Tags-de-Chunk Nominales Producidos) y

    Recall = (Núero de Tags de Chunk Nominales Producidos Correctos) / (Número Total de Chunk Tags Nominal en el Gold Standard)
 
  En ambos casos reemplace Verbal para nominal, para obtener las medidas Verbales.   Con "Producido" nos referimos al output del chunker:    

3)   Evaluación de un chunker en español.
Se solicita:
     i)    Descargar el corpus de entrenamiento de aquí en los directorios que terminan en "train" y entrenar un chunker utilizando alguno de los modelos existentes (YamCha, CRF++, Lingpipe, etc)
     ii)   Evaluar la performance del algoritmo utilizando el corpus de evaluación, (los archivos que estan en los directorios que terminan en "test", midiendo precision y recall
     iii)  Analizar los resultados obtenidos en relación al hecho de que el corpus fue construido algorítmicamente y puede contener errores.
     iv)   Seleccione un texto en español de no menos que 400 palabras -donde las palabras son "palabras" y símbolos de puntuación- producto del tokenizado (aproximadamente 2-3 párrafos) y analize el resultado del chunking producido por el modelo entrenado en el punto i).


Entrega del trabajo

Envíe por mail los textos anotados y entregue un informe impreso breve completando los puntos solicitados anteriormente. Se obtienen puntos extra si se usan dos herramientas distintas y se realizan comparaciones (esta ún parte puede hacerse en equipo). El resto del trabajo es individual.