miércoles, 30 de septiembre de 2009

Láminas para la clase: 30/09/2009

Saludos:

Perdón nuevamente por el retraso y los aceleres. Ya están disponibles las láminas para la clase de hoy.

Nos vemos en un rato. Suerte con todo.

domingo, 27 de septiembre de 2009

Algunos artículos sobre corpus lingüísticos

Saludos a todos:

Espero que hayan pasado un buen fin de semana. Dado el gran interés que mostraron desde la clase pasada por la elaboración y explotación de corpus lingüísticos, en esta clase que viene vamos a abordar dicho tema. Básicamente, atenderemos tres cuestiones:

1. Definir qué es un corpus lingüístico.

2. Revisar algunas tareas de procesamiento de corpus.

3. Hacer algunas consultas a corpus ya elaborados, considerando en algunos casos el uso de expresiones regulares.

Hay una enorme cantidad de corpus alrededor del mundo hechos para distintas lenguas, pensando igualmente en diferentes fines. De acuerdo con la literatura sobre corpus lingüísticos, el Brown Corpus, desarrollado en la Brown University, es el primer corpus anotado sintácticamente para el inglés. Si quieren mayores detalles, he aquí la liga para revisar el manual de dicho corpus.

Como saben, para el español existen igualmente varios corpus lingüísticos. El más famoso es el Corpus de Referencia del Español Actual (CREA), elaborado por la Real Academia de la Lengua Española. Otro menos famoso, pero no por ello menos interesante es el corpus del español elaborado por Mark Davies, un linguista computacional de la Universidad de Brigham Young.

Este corpus cuenta con alrededor de cien millones de palabras, lo que lo hace una fuente de datos bastante fiable para estudiar algún fenómeno del español. Además, otro atractivo es que permite hacer uso de algunas expresiones regulares, lo que permite que puedan hacer búsquedas de palabras, colocaciones, concordancias, etc., con un buen nivel de precisión.

Ahora, un corpus lingüístico no es únicamente una fuente de consulta accesible vía una interfaz. También puede ser visto como una base de datos útil para modelar y entrenar herramientas automáticas de análisis lingüístico. Bajo esta perspectiva, desde la década de los 90 la Universidad de Pensilvania ha venido desarrollando un proyecto de corpus lingüístico con anotación sintáctica conocido como PennTree Bank. En pocas palabras, si a ustedes les interesa crear un etiquetador de partes de la oración (esto es, un tagger), quizá les convenga contar con un corpus previamente etiquetado que los ayude a entrenar su etiquetador. Para concretar esta tarea de entrenamiento cuentan justo con el PennTree Bank.

Finalmente, aparte de las ligas que les mando, anexo 5 artículos que pueden resultarles interesantes.

1. El primero es una discusión que sostuvieron
Stefan Th. Gries (University of California at Santa Barbara), y Frederick Newmeyer (University of Washington). Vale mucho la pena este artículo, pues Gries ofrece claras definiciones sobre lo que es un corpus lingüístico, para qué sirve, por qué son importantes, etc., a un lingüista formal como Newmeyer.

2. En un tono también introductorio, Joan Torruella y Joaquim Llisterri (Universidad Autónoma de Barcelona) elaboraron un artículo en donde primero definen qué es un corpus lingüístico, y después plantean una tipología posible de corpus, considerando su extensión, sus fines, el tipo de dato lingüístico que contienen, etc.

3. Una vez entendido qué es un corpus, una lectura complementaria es el Cap. 5 del libro de Jurafsky y Martin, que aborda lo que es una palabra, su segmentación y su anotación sintáctica conforme un análisis de corpus.

4. ¿Qué es la anotación sintáctica? Steven Bird (University of Melbourne) y Mark Liberman (University of Pennsylvania) explican esto es un artículo, además de proponer un sistema de etiquetas POST con carácter universal.

5. ¿Internet es un corpus? Esta idea la desarrollan Adam Kilgarriff (University of Sussex) y Gregory Grefenstette (Clairvoyance Corp.)
. Además de plantear esta posibilidad, ofrecen algunas pistas sobre cómo podría ser explotado. El artículo lo encuentran en esta liga.

Como podrán ver, el tema de los corpus lingüísticos es muy extenso, y fácil nos podemos llevar todo un curso nada más abordándolo. Lo que intentaremos la clase que viene es ver algunas cosas básicas, con miras a que lo apliquen en su trabajo final.

Un último detalle: una buena búsqueda en un corpus debiera considerar el uso de expresiones regulares, sobre todo para codificar patrones regulares de palabras, frases u oraciones. Aquí pueden ver una explicación sobre el uso de expresiones regulares en Python, un lenguaje de programación orientado a objetos. Si les interesa esto, existe un set de herramientas programadas para tratamiento de lenguas naturales en Python llamado NLTK, es decir, Natural Language Tool-Kit. Si gustan, échenle un ojo a la página de NLTK, la cual les puede resultar sumamente interesante.

Nos vemos entonces la siguiente clase. Suerte con todo.



miércoles, 23 de septiembre de 2009

Láminas para la clase: 23/09/2009

Saludos a todos:

Perdón por este "alto grado de entropia" con el material de esta clase. Les mando las láminas que estamos viendo ahora.

jueves, 3 de septiembre de 2009

Aclaración sumamente importante:

Saludos a todos:

Una disculpa de antemano por este error con las fechas: los días en los que NO VAMOS A TENER CLASE SON EL 9 Y EL 16 DE SEPTIEMBRE. Originalmente les había dicho que era el 16 y el 23. Un error de dedo y de cálculo de fechas (y si juntamos ambos errores, se da una pésima combinación).

Una vez aclarado esto, según lo platicamos en la clase, parece ser que el 16 es feriado..., si es así, por mi parte la única clase que perdemos es la del 9 de septiembre. Creo que la cosa va bien entonces.

Por otro lado, les recuerdo que tienen tarea: diseñar un autómata para frases nominales en español, inglés, alemán y catalán. Sobre si lo quieren hacer determinista o no-determinista, lo dejo a su criterio.

Si tienen dudas sobre qué es un autómata, aparte de la lectura de Jurasfky y Martin (Cap. 2), pueden ver la definición que da Wikipedia. Me gusta porque es clara, y los manda a otras ligas o posibles textos. Si les parece simplona la explicación, no hay problema: el mismo Daniel Jurafsky tiene una clase de su curso de NLP dedicada al tema: "
Strings, Formal languages, and Automata". Cualquiera de las dos opciones es muy buena.

Ahora sí, me despido, y prometo que nos vemos nuevamente el miércoles 23 de septiembre. Cualquier duda, comentario o sugerencia, mándenme un correo: CAguilar@iingen.unam.mx. Por cierto, si quieren echarle un ojo, acabo de terminar una página WEB personal: http://cesaraguilar.weebly.com/. Cualquier opinión sobre ella se las agradeceré enormemente.

Suerte con todo, y seguimos en contacto.

César


miércoles, 2 de septiembre de 2009

Nueva clase: 02/09/2009

Saludos a todos:

Perdón por las carreras. Aquí están las láminas para esta clase, las cuales pueden ver con calma en casa. Al igual que las de la clase pasada, éstas las guardo en formato PDF. De igual manera, la lectura será el cap. 3 del libro de Jurafsky y Martin, el cual es material complementario. Podrán ver bien al revisar el material cuáles son las diferencias entre lo que explican Jurafsky y Martin de lo que hoy vamos a ver.