• Inicio

    Fechas confirmadas: martes 10, jueves 12, viernes 13, martes 17, jueves 19 y viernes 20 de septiembre de 2019

    Profesor: Dr. Franco Martín Luque (Universidad Nacional de Córdoba y CONICET)

    Horario y lugar: De 9 a 14h, en el Laboratorio 4 (Depto de Computación, Pabellón 1, Ciudad Universitaria).

    Prerrequisitos: Algoritmos y Estructuras de Datos II, Probabilidad y Estadística.

    Evaluación: Trabajos prácticos de programación de modelos y experimentación con datos.

    Puntaje: 2 (dos) puntos para la Licenciatura y para el Doctorado en Ciencias de la Computación.

    Contacto con el profesor: francolq [arroba] gmail

    PROGRAMA:

    En este curso daremos una introducción a las principales tareas que componen el PLN, y los diferentes enfoques computacionales para encararlas. Haremos énfasis especialmente en el trabajo basado en corpus y en el uso de algoritmos de aprendizaje automático (Machine Learning). Repasaremos métodos clásicos de aprendizaje automático así como también enfoques modernos basados en redes neuronales profundas. 
    El objetivo del curso es dar a las y los estudiantes un conocimiento general del campo de PLN. Serán capaces de identificar y comprender problemas concretos de PLN, y proponer soluciones para ellos.

    Temario:

    • Procesamiento básico de texto: Expresiones regulares, tokenización, segmentación, normalización, lematización y stemming.
    • Modelado de lenguaje: N-gramas, suavizado add-one y por interpolación, back-off. Evaluación con métricas de teoría la información (entropía y perplejidad). Aplicaciones: Generación de lenguaje y atribución de autoría.
    • Etiquetado de secuencias: Etiquetado morfosintáctico (PoS tagging) y Reconocimiento de Entidades Nombradas (NER). Aprendizaje supervisado. Clasificadores: árboles de decision, regresiones logísticas y SVMs. Modelos Ocultos de Markov (HMMs), de Máxima Entropía (MEMMs) y Conditional Random Fields (CRFs). Algoritmo de Viterbi y beam search. Ingeniería de features, evaluación y análisis de error.
    • Representación de palabras y modelos neuronales: Representación vectorial de palabras (word embeddings): word2vec, fasttext y GloVe. Aprendizaje y evaluación. Representación de oraciones y documentos. Modelos de lenguaje neuronales: ULMFiT, OpenAI, ELMo, BERT.
    • Temas complementarios: Análisis de sentimiento (sentiment analysis), análisis sintáctico (parsing), extracción de información (information extraction), traducción automática (machine translation), recuperación de información (information retrieval) y búsqueda de respuestas (question answering).

    BIBLIOGRAFIA:

    • Daniel Jurafsky and James H. Martin. Speech and Language Processing, 2nd Edition . Prentice Hall, 2nd edition, 2008.
    • Christopher D. Manning and Hinrich Schtze. Foundations of statistical natural language processing. Hardcover, 1999.
    • Daniel Jurafsky and James H. Martin. Speech and Language Processing, 3rd Edition Draft. https://web.stanford.edu/~jurafsky/slp3/. 2019.
    • Jacob Eisenstein, Natural Language Processing, 1st edition, Draft. MIT Press. https://www.cc.gatech.edu/~jeisenst/, 2019.
    • Yoav Goldberg, "A primer on neural network models for natural language processing." Journal of Artificial Intelligence Research 57 (2016): 345-420.
    • Ian Goodfellow, Yoshua Bengio, and Aaron Courville. Deep Learning, 2019, MIT Press.
    • Proceedings de las principales conferencias y revistas del área: ACL, NAACL, EACL, TACL, EMNLP, COLING, etc.