Vés al contingut

Tecnologies Avançades del Llenguatge Humà

Crèdits
5
Tipus
  • MAI: Optativa
  • MIRI: Optativa
Requisits
Aquesta assignatura no té requisits , però té capacitats prèvies
Departament
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

Professorat

Responsable

Hores setmanals

Teoria
1.5
Problemes
0.5
Laboratori
1
Aprenentatge dirigit
0
Aprenentatge autònom
5.3333

Competències

Genèriques

  • CG3 - Capacitat per a la modelització, càlcul, simulació, desenvolupament i implantació en centres tecnològics i d'enginyeria d'empresa, particularment en tasques de recerca, desenvolupament i innovació en tots els àmbits relacionats amb la Intel·ligència Artificial.
  • Acadèmiques

  • CEA3 - Capacitat de comprendre els principis bàsics de funcionament de les tècniques principals d'Aprenentatge Automàtic, i saber utilitzar-les en l'entorn d'un sistema o servei intel·ligent.
  • CEA5 - Capacitat de comprendre els principis bàsics de funcionament de les tècniques de Processament del Llenguatge Natural, i saber utilitzar-les en l'entorn d'un sistema o servei intel·ligent.
  • CEA7 - Capacitat de comprendre la problemàtica, i les solucions als problemes en la pràctica professional de l'aplicació de la Intel·ligència Artificial en l'entorn empresarial i industrial.
  • CEA10 - Capacitat de comprendre les tècniques avançades d'Interacció Persona-Màquina, i saber dissenyar, implementar i aplicar aquestes tècniques en el desenvolupament d'aplicacions, serveis o sistemes intel·ligents.
  • Professionals

  • CEP3 - Capacitat d'aplicació de les tècniques d'Intel·ligència Artificial en entorns tecnològics i industrials per a la millora de la qualitat i la productivitat.
  • CEP4 - Capacitat per dissenyar, redactar i presentar informes sobre projectes informaticos en l'area especifica d'Intel·ligència Artificial.
  • Treball en equip

  • CT3 - Ser capaç de treballar com a membre d'un equip interdisciplinari, ja sigui com un membre més o duent a terme tasques de direcció, amb la finalitat de contribuir a desenvolupar projectes amb pragmatisme i sentit de la responsabilitat, tot assumint compromisos considerant els recursos disponibles.
  • Raonament

  • CT6 - Capacitat d'avaluar i analitzar de manera raonada i crítica sobre situacions, projectes, propostes, informes i estudis de caracter cientific-tecnic. Capacitat d'argumentar les raons que expliquen o justifiquen aquestes situacions, propostes, etc.
  • Analisis i sintesis

  • CT7 - Capacitat d'anàlisi i resolució de problemes tècnics complexos.
  • Bàsiques

  • CB6 - Que els estudiants sàpiguen aplicar els coneixements adquirits y la seva capacitat de resolució de problemes en entorns nous o poc coneguts dins de contexts més amplis (o multidisciplinaris) relacionats amb la seva àrea d'estudi.
  • CB8 - Que els estudiants sàpiguen comunicar les seves conclusions i els coneixements i raons darreres que les sustenten- a públics especialitzats i no especialitzats d'una manera clara i sense ambigüitats.
  • CB9 - Que els estudiants posseeixin les habilitats d'aprenentatge que els permetin continuar estudiant d'una manera que haurà de ser en gran mesura autodirigida o autònoma.
  • Objectius

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

    Continguts

    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

    Activitats

    Activitat Acte avaluatiu


    Statistical Language Models

    Introduction to statistical modelling for language. Maximum Likelhood models and smooting. Maximum entropy estimation. Log-Linear models
    Objectius: 4 2
    Continguts:
    Teoria
    2.5h
    Problemes
    0.5h
    Laboratori
    0h
    Aprenentatge dirigit
    0h
    Aprenentatge autònom
    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
    Objectius: 4 2
    Continguts:
    Teoria
    2h
    Problemes
    0.5h
    Laboratori
    0h
    Aprenentatge dirigit
    0h
    Aprenentatge autònom
    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.
    Objectius: 4 2
    Continguts:
    Teoria
    2h
    Problemes
    1h
    Laboratori
    4h
    Aprenentatge dirigit
    0h
    Aprenentatge autònom
    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.
    Objectius: 4 2
    Continguts:
    Teoria
    3h
    Problemes
    1h
    Laboratori
    4h
    Aprenentatge dirigit
    0h
    Aprenentatge autònom
    8h

    Word Embeedings

    Static Word embeddings. Word2Vec, Glove, FastText
    Objectius: 4 2
    Continguts:
    Teoria
    2h
    Problemes
    0.5h
    Laboratori
    0h
    Aprenentatge dirigit
    0h
    Aprenentatge autònom
    0h

    Recurrent Neural Networks

    Recurrent Neural Networks. Bottleneck problem. LSTMs. Vanishing Gradient problem
    Objectius: 4 2
    Continguts:
    Teoria
    2h
    Problemes
    1h
    Laboratori
    4h
    Aprenentatge dirigit
    0h
    Aprenentatge autònom
    8h

    Convolutional Neural Networks

    CNNs for NLP. 1D kernels vs 2D kernels stride, padding, pooling
    Objectius: 2
    Continguts:
    Teoria
    2h
    Problemes
    1h
    Laboratori
    3h
    Aprenentatge dirigit
    0h
    Aprenentatge autònom
    6h

    Transformers

    Attention. Transformers
    Objectius: 3
    Continguts:
    Teoria
    2h
    Problemes
    1h
    Laboratori
    0h
    Aprenentatge dirigit
    0h
    Aprenentatge autònom
    3h

    Large Language Models

    Large Language Models. Origin & Evolution. Usage: zero-shot, few-shot, fine tuning optimization
    Objectius: 3 1
    Continguts:
    Teoria
    3h
    Problemes
    1h
    Laboratori
    0h
    Aprenentatge dirigit
    0h
    Aprenentatge autònom
    2h

    Lab project


    Objectius: 3 1
    Setmana: 15 (Fora d'horari lectiu)
    Teoria
    0h
    Problemes
    0h
    Laboratori
    0h
    Aprenentatge dirigit
    0h
    Aprenentatge autònom
    0h

    Final exam



    Setmana: 15 (Fora d'horari lectiu)
    Teoria
    0h
    Problemes
    0h
    Laboratori
    0h
    Aprenentatge dirigit
    0h
    Aprenentatge autònom
    0h

    Metodologia docent

    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ètode d'avaluació

    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

    Bibliografia

    Bàsic

    Web links

    Capacitats prèvies

    - 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.