Pasar al contenido principal

Tecnologías Avanzadas del Lenguaje Humano

Créditos
5
Tipos
  • MAI: Optativa
  • MIRI: Optativa
Requisitos
Esta asignatura no tiene requisitos , pero tiene capacidades previas
Departamento
CS;TSC
Web
https://www.cs.upc.edu/~padro/ahlt/ahlt.html
This course offers an in-depth coverage of main basic tasks for Natural Language Processing. We will present fundamental models and tools to approach a variety of Natural Language Processing tasks, ranging from named entity recognition to syntactic processing and document classification. The flow of the course is along two main axis: (1) computational formalisms to describe natural language processes, and (2) statistical and machine learning methods to acquire linguistic models from large data collections and solve specific linguistic tasks

Profesorado

Responsable

Horas semanales

Teoría
1.5
Problemas
0.5
Laboratorio
1
Aprendizaje dirigido
0
Aprendizaje autónomo
5.3333

Competencias

Genéricas

  • CG3 - Capacidad para la modelización, cálculo, simulación, desarrollo e implantación en centros tecnológicos y de ingeniería de empresa, particularmente en tareas de investigación, desarrollo e innovación en todos los ámbitos relacionados con la Inteligencia Artificial.
  • Académicas

  • CEA3 - Capacidad de comprender los principios básicos de funcionamiento de las técnicas principales de Aprendizaje Automático, y saber utilizarlas en el entorno de un sistema o servicio inteligente.
  • CEA5 - Capacidad de comprender los principios básicos de funcionamiento de las técnicas de Procesamiento del Lenguaje Natural, y saber utilizarlas en el entorno de un sistema o servicio inteligente.
  • CEA7 - Capacidad de comprender la problemática, y las soluciones a los problemas en la práctica profesional de la aplicación de la Inteligencia Artificial en el entorno empresarial e industrial.
  • CEA10 - Capacidad de comprender las técnicas avanzadas de Interacción Persona-Máquina, y saber diseñar, implementar y aplicar estas técnicas en el desarrollo de aplicaciones, servicios o sistemas inteligentes.
  • Profesionales

  • CEP3 - Capacidad de aplicación de las técnicas de Inteligencia Artificial en entornos tecnológicos e industriales para la mejora de la calidad y la productividad.
  • CEP4 - Capacidad para disenar, redactar y presentar informes sobre proyectos informaticos en el area especifica de Inteligencia Artificial.
  • Trabajo en equipo

  • CT3 - Ser capaz de trabajar como miembro de un equipo interdisciplinar ya sea como un miembro mas, o realizando tareas de direccion con la finalidad de contribuir a desarrollar proyectos con pragmatismo y sentido de la responsabilidad, asumiendo compromisos teniendo en cuenta los recursos disponibles.
  • Razonamiento

  • CT6 - Capacidad de evaluar y analizar de manera razonada y critica sobre situaciones, proyectos, propuestas, informes y estudios de caracter cientifico-tecnico. Capacidad de argumentar las razones que explican o justifican tales situaciones, propuestas, etc.
  • Analisis y sintesis

  • CT7 - Capacidad de analisis y resolucion de problemas tecnicos complejos.
  • Básicas

  • CB6 - Que los estudiantes sepan aplicar los conocimientos adquiridos y su capacidad de resolución de problemas en entornos nuevos o poco conocidos dentro de contextos más amplios (o multidisciplinares) relacionados con su área de estudio.
  • CB8 - Que los estudiantes sepan comunicar sus conclusiones y los conocimientos y razones últimas que las sustentan a públicos especializados y no especializados de un modo claro y sin ambigüedades.
  • CB9 - Que los estudiantes posean las habilidades de aprendizaje que les permitan continuar estudiando de un modo que habrá de ser en gran medida autodirigido o autónomo.
  • Objetivos

    1. Learn to apply statistical methods for NLP in a practical application
      Competencias relacionadas: CEA3, CEA5, CEA7, CEA10, CT3, CB6, CB8,
    2. Understand statistical and machine learning techniques applied to NLP
      Competencias relacionadas: CEA3, CG3, CEP3, CT6, CT7, CB6,
    3. Develop the ability to solve technical problems related to statistical and algorithmic problems in NLP
      Competencias relacionadas: CEA3, CEA5, CEA7, CEA10, CG3, CT7, CB6, CB8, CB9,
    4. Understand fundamental methods of Natural Language Processing from a computational perspective
      Competencias relacionadas: CEA5, CEP4, CT7, CB6,

    Contenidos

    1. Statistical Models for NLP
      Introduction to statistical modelling for language. Maximum Likelhood models and smooting. Maximum entropy estimation. Log-Linear models
    2. Distances and Similarities
      Distances (and similarities) between linguistic units. Textual, Semantic, and Distributional distances. Semantic spaces (WN, Wikipedia, Freebase, Dbpedia).
    3. Sequence Predicion
      Prediction in word sequences: PoS tagging, NERC. Local classifiers, HMM, global predictors, Log-linear models.
    4. Syntactic Parsing
      Parsing constituent trees: PCFG, CKY vs Inside/outside
      Parsing dependency trees: CRFs for parsing. Earley algorithm
    5. Word Embeddings
      Static word embeddings. Word2Vec, Glove
      Limitations - need of contextual embeddings
    6. Recurrent Neural Networks
      RNNs for Language Modeling and sequence labeling
      Bottleneck problem. LSTMs
      Vanishing gradient problem
      LSTM-based word embeddings: ELMO
    7. Convolutional Neural Networks
      CNNs for NLP. 1D kernels vs 2D kernels.
      stride, padding
      Pooling
      NLP tasks suitable for CNNs vs RNNs
    8. Transformers
      Vanishing gradient problem in RNN/LSTM
      Attention
      Tranformer architecture
    9. Large Language Models
      Large Language Models: origin and evolution
      Reinforcement Learning from Human Feedback
      Fundational vs Instructed LLMs
      Use of LLMs in NLP applications: Zero shot, few-shot, fine-tuning
      Optimization and efficiency issues
    10. Ethics - Limitations and Risks of LLMs
      Biases
      Hallucinations
      Security
      Environmental costs
      Social costs

    Actividades

    Actividad Acto evaluativo


    Statistical Language Models

    Introduction to statistical modelling for language. Maximum Likelhood models and smooting. Maximum entropy estimation. Log-Linear models
    Objetivos: 4 2
    Contenidos:
    Teoría
    2.5h
    Problemas
    0.5h
    Laboratorio
    0h
    Aprendizaje dirigido
    0h
    Aprendizaje autónomo
    0h

    Distances and Similarities

    Distances (and similarities) between linguistic units. Textual, Semantic, and Distributional distances. Semantic spaces (WN, Wikipedia, Freebase, Dbpedia). Latent Semantic Analysis. Word Embeddings
    Objetivos: 4 2
    Contenidos:
    Teoría
    2h
    Problemas
    0.5h
    Laboratorio
    0h
    Aprendizaje dirigido
    0h
    Aprendizaje autónomo
    0h

    Sequence Prediction

    These lectures will present sequence labeling models, an important set of tools that is used for sequential tasks. We will present this in the framework of structured prediction (later in the course we will see that the same framework is used for parsing and translation). We will focus on machine learning aspects, as well as algorithmic aspects. We will give special emphasis to Conditional Random Fields.
    Objetivos: 4 2
    Contenidos:
    Teoría
    2h
    Problemas
    1h
    Laboratorio
    4h
    Aprendizaje dirigido
    0h
    Aprendizaje autónomo
    8h

    Syntax and Parsing

    We will present statistical models for syntactic structure, and in general tree structures. The focus will be on probabilistic context-free grammars and dependency grammars, two standard formalisms. We will see relevant algorithms, as well as methods to learn grammars from data based on the structured prediction framework.
    Objetivos: 4 2
    Contenidos:
    Teoría
    3h
    Problemas
    1h
    Laboratorio
    4h
    Aprendizaje dirigido
    0h
    Aprendizaje autónomo
    8h

    Word Embeedings

    Static Word embeddings. Word2Vec, Glove, FastText
    Objetivos: 4 2
    Contenidos:
    Teoría
    2h
    Problemas
    0.5h
    Laboratorio
    0h
    Aprendizaje dirigido
    0h
    Aprendizaje autónomo
    0h

    Recurrent Neural Networks

    Recurrent Neural Networks. Bottleneck problem. LSTMs. Vanishing Gradient problem
    Objetivos: 4 2
    Contenidos:
    Teoría
    2h
    Problemas
    1h
    Laboratorio
    4h
    Aprendizaje dirigido
    0h
    Aprendizaje autónomo
    8h

    Convolutional Neural Networks

    CNNs for NLP. 1D kernels vs 2D kernels stride, padding, pooling
    Objetivos: 2
    Contenidos:
    Teoría
    2h
    Problemas
    1h
    Laboratorio
    3h
    Aprendizaje dirigido
    0h
    Aprendizaje autónomo
    6h

    Transformers

    Attention. Transformers
    Objetivos: 3
    Contenidos:
    Teoría
    2h
    Problemas
    1h
    Laboratorio
    0h
    Aprendizaje dirigido
    0h
    Aprendizaje autónomo
    3h

    Large Language Models

    Large Language Models. Origin & Evolution. Usage: zero-shot, few-shot, fine tuning optimization
    Objetivos: 3 1
    Contenidos:
    Teoría
    3h
    Problemas
    1h
    Laboratorio
    0h
    Aprendizaje dirigido
    0h
    Aprendizaje autónomo
    2h

    Lab project


    Objetivos: 3 1
    Semana: 15 (Fuera de horario lectivo)
    Teoría
    0h
    Problemas
    0h
    Laboratorio
    0h
    Aprendizaje dirigido
    0h
    Aprendizaje autónomo
    0h

    Final exam



    Semana: 15 (Fuera de horario lectivo)
    Teoría
    0h
    Problemas
    0h
    Laboratorio
    0h
    Aprendizaje dirigido
    0h
    Aprendizaje autónomo
    0h

    Metodología docente

    The course will be structured around four different linguistic analysis levels: word level, phrase level, sentence level, and document level. Typical NLP tasks and solutions corresponding to each level will be presented.
    The first half of the course is devoted to "classical" statistical and ML approaches. The second half of the course revisits the same levels under a deep learning perspective

    Theoretical background and practical exercises will be developed in class.

    Finally, students will develop a practical project in teams of two students. The goal of the project is to put into practice the methods learned in class, and learn how the experimental methodology that is used in the NLP field. Students have to identify existing components (i.e. data and tools) that can be used to build a system, and perform experiments in order to perform empirical analysis of some statistical NLP method.

    Método de evaluación

    Final grade = 0.5*FE + 0.5*LP

    where

    FE is the grade of the final exam

    LP is the grade of the lab project

    Bibliografía

    Básico

    Web links

    Capacidades previas

    - Although not mandatory, familiarity with basic concepts and methods of Natural Language Processing is strongly recommended

    - Good understanding of basic concepts and methods of Machine Learning.

    - Advanced programming skills.