Semestre 2024-20
Nombre del curso: | Procesamiento Lenguaje Natural |
Créditos: | 4 |
Profesor: | Rubén Francisco Manrique (rf.manrique@uniandes.edu.co) |
Versión PDF | Click Aquí |
Description
El Procesamiento del Lenguaje Natural es una disciplina de la Inteligencia Artificial que se ocupa de la formulación e investigación de mecanismos computacionales para la comunicación entre personas y máquinas mediante el uso de Lenguajes Naturales. El objetivo principal del curso es desarrollar una comprensión profunda de los algoritmos disponibles para procesar información lingüística y las propiedades computacionales subyacentes de los lenguajes naturales.
Syllabus
- Introducción
- Definición de procesamiento de lenguaje natural. El Lenguaje y sus componentes. Aplicaciones de PLN. ¿Por qué el entendimiento del lenguaje es una tarea compleja?
- Línea de evolución del PLN.
- Pipeline del procesamiento de lenguaje natural.
- Operaciones de procesamiento de texto: Tokenización, Normalización, Stemming/Lemmatización, Palabras de Parada. Construcción de vocabularios y conteo de palabras.
- Introducción a recuperación de información textual (IR)
- Definición de colección, consulta
- Búsquedas binarias (matrices término-documento e índice invertido)
- Búsquedas ranqueadas
- Representaciones vectoriales de documentos
- Modelo de bolsa de palabras: ponderación tf-idf
- Métricas de Evaluación en recuperación de información
- Conjunto de recuperación: Relevantes vs Recuperados
- Precisión y Recall
- F-score
- Recuperación ranqueada: P@k, R@k
- Average Precision
- MAP: Mean average precision
- Niveles de relevancia no binarios: DCG, NDCG
- Introducción a modelos de lenguaje probabilísticos
- Modelos de n-gramas: unigramas, bigramas
- Perplejidad
- Problema de generalización (división por cero)
- Laplace Smoothing
- Clasificación de texto usando aprendizaje de máquina
- Aplicación de aprendizaje de máquina en información textual
- Clasificadores generativos vs discriminativos
- Usando representaciones vectoriales como espacio de características.
- Creando representaciones reducidas de características basadas en lexicones (diseñadas a mano).
- Repaso de métricas de evaluación de clasificadores binarios y multinomiales.
- Semántica vectorial (incrustaciones)
- Recapitulando las representaciones vectoriales vistas: Vectores Dispersos
- Vectores Densos: Word2Vec (SkipGram, CBOW)
- Repaso de red neuronal (solo hasta feedforward FNN)
- Entrenamiento y construcción de vectores densos
- Concepto de Auto-supervisión y muestreo negativo
- Propiedades semánticas de las incrustaciones (visualización)
- Modelos de lenguaje neuronales
- FNN como clasificadores de texto: usando vectores densos como espacio de características.
- FNN Redes neuronales como modelo de lenguaje.
- Proceso de entrenamiento de redes neuronales como modelos de lenguaje.
- Problemas de las redes neuronales convencionales.
- Modelos secuenciales
- Redes neuronales recurrentes
- LSTMs y GRUs
- Modelos Seq2Seq
- Arquitecturas encoder/decoder
- Tarea de traducción
- Problemas de los modelos secuenciales
- Mecanismos de atención
- Introducción a mecanismos de atención
- Arquitectura transformer
- Incrustaciones contextuales
- BERT
- Variaciones BERT relevantes
- Grandes Modelos de Lenguaje Preentrenados
- Speech and Language Processing (3rd ed. draft) Dan Jurafsky and James H. Martin download via (https://web.stanford.edu/~jurafsky/slp3/)
- Deep Learning in Natural Language Processing by Li Deng, Yang Liu
- Neural Network Methods in Natural Language Processing. Yoav Goldberg , Graeme Hirst.
- Natural Language Processing with PyTorch: Build Intelligent Language Applications Using Deep Learning. Delip Rao y Brian McMahan.
- Pattern Recognition and Machine Learning (Information Science and Statistics). Christopher M. Bishop
- Machine Learning: A Probabilistic Perspective. Kevin P. Murphy.
- Peter F Brown, et al.: Class-Based n-gram Models of Natural Language, 1992.
- Tomas Mikolov, et al.: Efficient Estimation of Word Representations in Vector Space, 2013.
- Tomas Mikolov, et al.: Distributed Representations of Words and Phrases and their Compositionality, NIPS 2013.
- Quoc V. Le and Tomas Mikolov: Distributed Representations of Sentences and Documents, 2014.
- Jeffrey Pennington, et al.: GloVe: Global Vectors for Word Representation, 2014.
- Ryan Kiros, et al.: Skip-Thought Vectors, 2015.
- Piotr Bojanowski, et al.: Enriching Word Vectors with Subword Information, 2017.
- Thomas Hofmann: Probabilistic Latent Semantic Indexing, SIGIR 1999.
- David Blei, Andrew Y. Ng, and Michael I. Jordan: Latent Dirichlet Allocation, J. Machine Learning Research, 2003.
- Yoon Kim: Convolutional Neural Networks for Sentence Classification, 2014.
- Christopher Olah: Understanding LSTM Networks, 2015.
- Matthew E. Peters, et al.: Deep contextualized word representations, 2018.