Mastering NLP: From Fundamentals to Advanced Techniques
Nombre | Centro / Entidad |
ELENA MONTIEL PONSODA | E.T.S. DE INGENIEROS DE TELECOMUNICACION |
ELVIRA AMADOR DOMÍNGUEZ | E.T.S DE ING. DE SISTEMAS INFORMÁTICOS |
PABLO CALLEJA IBAÑEZ | E.T.S. DE INGENIEROS INFORMÁTICOS |
PATRICIA MARTÍN CHOZAS | E.T.S. DE INGENIEROS INFORMÁTICOS |
Curso de introducción al PLN que analizará desde las técnicas y herramientas más básicas del procesamiento del lenguaje hasta los algoritmos en los que se basan los grandes modelos de lenguaje como ChatGPT, Este curso tendrá una orientación práctica en la que los conceptos se explicarán mediante ejemplos reales y prácticos en las principales tareas de PLN.
El PLN es una de las áreas tradicionales de investigación dentro del ámbito de la Inteligencia Artificial (IA). En la actualidad, gracias a la aparición de modelos de lenguaje como ChatGPT, este campo goza de una gran popularidad. Sin embargo, para entender este tipo de modelos de lenguaje tan complejos, es necesario comprender y conocer los aspectos básicos del PLN: ¿por qué surge?, ¿para qué sirve?, ¿qué herramientas se utilizan?, ¿qué tareas comprende? En este curso, se busca dar respuesta a todas estas preguntas. Durante 7 módulos, se presentarán los conceptos básicos del PLN, sus tareas principales y sus usos, así como una serie de herramientas esenciales, todo ello guiado y soportado por ejemplos reales y prácticos, dando así una visión global y realista de los usos y el potencial de este campo.
El área de investigación del equipo docente es el Procesamiento del Lenguaje Natural (PLN o NLP, por sus siglas en inglés), aprendizaje automático y grafos de conocimiento. Como profesores de la UPM, todos ellos han participado en diversos proyectos de investigación e innovación en PLN en convocatorias europeas, nacionales y con empresas. Además, el equipo docente imparte en profundidad el temario propuesto en el MOOC en asignaturas de máster o de grado.
Actualmente no existe ningún MOOC orientado a los conceptos básicos del PLN. Además, gracias al auge e impacto de las IAs generativas, el PLN es un tema de gran relevancia actualmente que afecta a todos los sectores, pues dada la gran cantidad de datos que se generan actualmente (el paradigma Big Data), y en concreto, datos de tipo textual, es necesario tanto a nivel profesional como investigador conocer técnicas para tratarlos.
1. Conocer conceptos básicos de PLN
2. Conocer y utilizar técnicas de procesamiento de texto (tokenización, lematización, análisis morfológico, etc.)
3. Adquirir conocimientos avanzados de PLN (embeddings de palabras y de textos)
4. Desarrollar habilidades de programación y uso de librerías específicas de PLN
5. Entender el funcionamiento de los modelos de lenguaje y su entrenamiento para tareas concretas
6. Entender la tipología y usos de los recursos lingüísticos en PLN
7. Conocer distintas aplicaciones de PLN y su uso en la industria
Módulo 0. Introducción al curso (Course Introduction). En este primer módulo, se presentan los objetivos del curso, la guía de aprendizaje, y la evaluación del mismo
Módulo 1. Introducción al Procesamiento del Lenguaje Natural (An Introduction to Natural Language Processing). Motivación y objetivos del área. Conceptos básicos del procesamiento del lenguaje natural. Visión general de aplicaciones y usos.
Módulo 2. Preprocesamiento de textos (Text Preprocessing). Encoding. Tareas atómicas: tokenización, part-of-speech, dependency parsing, lematización y stemming. Librerías básicas (Spacy, Stanford, NLTK).
Módulo 3. Embeddings de palabras y textos (Word and text embeddings). Codificación vectorial del lenguaje. Codificación de textos. Librerías (Word2Vec, GloVe) , propiedades y usos.
Módulo 4. Modelos de lenguaje (Language Models). Nuevas formas de tokenización, idea general de funcionamiento, representación vectorial, tipos de entrenamiento, propiedades y usos.
Módulo 5. Recursos lingüísticos (Language Resources). Creación y explotación de recursos lingüísticos. Terminologías, diccionarios y grafos de conocimiento lingüístico.
Módulo 6. Aplicaciones básicas del PLN (Basic Applications of NLP). Aplicaciones y usos. Named Entity Recognition (Reconocimiento de Entidades Nombradas). Extracción de términos. Clasificación de textos. Traducción de textos.
Módulo 7. Aplicaciones industriales del PLN (Industrial Applications of NLP). Bases vectoriales. Motores de búsqueda (Search engines).
Se proveerá al alumnado de cuadernos de código (Google Colab) ejecutables para ejemplificar, ejecutar y mostrar los conocimientos aprendidos en clase. Se presentarán al alumnado las principales librerías y repositorios de PLN de código abierto.
El presente MOOC no está dirigido únicamente a usuarios de perfil técnico, sino también a usuarios de perfil menos técnico pero interesados en el área, como por ejemplo lingüistas. A la finalización del curso, los egresados, habrán adquirido una serie de conocimientos teóricos y prácticos acerca del área del PLN, que les permitirán diseñar soluciones para resolver los posibles retos que se les planteen. Además de diseñar dichas soluciones, los egresados estarán capacitados para realizar la implementación de las mismas, dado el enfoque práctica del curso. Por tanto, independientemente de la formación y el perfil inicial de los alumnos, el perfil final de los egresados tendrá un carácter multidisciplinar.
Al finalizar cada módulo, se presentará a los estudiantes un cuestionario con preguntas acerca del contenido del mismo. A la finalización del curso, se pedirá al alumno que diseñe y codifique una serie de soluciones para un conjunto predefinido de tareas, el cual será entregado y evaluado automáticamente. Será necesario superar los cuestionarios y realizar una entrega online del trabajo realizado para superar el curso.
Se proveerá al alumnado de ejercicios dinámicos para que pueda enfrentarse a los problemas reales del PLN (tanto en industria como en investigación) y que pueda aplicar sus propios experimentos y soluciones, y contrastarlas con evaluaciones.