El objetivo del curso es proporcionar a los estudiantes un conocimiento exhaustivo de las técnicas y métodos fundamentales del procesamiento del lenguaje natural (PLN) y el aprendizaje automático. A lo largo del semestre, los estudiantes aprenderán el lenguaje de programación Python y su aplicación a diversas tareas de procesamiento de texto, como la extracción de datos de la web, la preparación de textos, la tokenización y la lematización. El curso abarca modelos vectoriales, modelos probabilísticos y diferentes tipos de modelos de aprendizaje automático, lo que permitirá a los alumnos resumir y clasificar textos, así como aplicar diversos modelos lingüísticos y técnicas de modelización de textos. Además de los conocimientos teóricos, los alumnos profundizarán en su comprensión mediante ejercicios prácticos, lo que les preparará para aplicar soluciones avanzadas de PLN en contextos del mundo real.
Temas y calendario del curso (basados en un semestre de 14 semanas):
1) Introducción a la inteligencia artificial y al procesamiento del lenguaje natural (NLP)
2) Python I: Operaciones básicas, variables, lectura de archivos
3) Python II: Operaciones «if-else», cadenas de caracteres, colecciones, listas, funciones de listas, bucles
4) Python III: Extracción de datos de la web, colecciones, tuplas, diccionarios
5) Modelos vectoriales: Preparación del texto, tokenización, lematización
6) Modelos vectoriales: TF-IDF, incrustaciones neuronales de palabras
7) Modelos probabilísticos: modelo de Markov, clasificación de textos
8) Modelos probabilísticos: modelos de lenguaje, generación de texto, escritura de poesía
9) Modelos probabilísticos: sustitución de palabras basada en N-gramas
10) Modelos de aprendizaje automático: Naive Bayes – ¿Cómo determinar si mi modelo es adecuado?
11) Modelos de aprendizaje automático: regresión logística – análisis de sentimiento
12) Modelos de aprendizaje automático: resumen de textos
13) Modelos de aprendizaje automático: asignación latente de Dirichlet – modelado de temas, factorización de matrices no negativas (NMF)
14) Modelos de aprendizaje automático: análisis semántico latente (indexación semántica latente)
Al finalizar el curso, el alumno será capaz de analizar grandes conjuntos de datos de texto utilizando técnicas de procesamiento del lenguaje natural (PLN) y de aprendizaje automático.
Al finalizar el curso, el alumno será capaz de aplicar sus conocimientos de programación en Python para realizar tareas como la extracción de datos de la web, la preparación de textos, la tokenización y la lematización.
Al finalizar el curso, el alumno será capaz de utilizar modelos vectoriales, modelos probabilísticos y modelos de aprendizaje automático para resumir, clasificar y modelar textos.
Al finalizar el curso, el alumno será capaz de crear modelos de lenguaje para la generación de texto y realizar análisis de opinión mediante regresión logística.
Al finalizar el curso, el alumno será capaz de aplicar técnicas de aprendizaje automático, como el algoritmo de Bayes ingenuo, la asignación latente de Dirichlet (LDA) y el modelado de temas, para explorar patrones en datos textuales.
Al finalizar el curso, el alumno será capaz de evaluar la eficacia de los modelos de PLN mediante la interpretación de los resultados de los algoritmos de aprendizaje automático.
Al finalizar el curso, el alumno será capaz de colaborar en proyectos en grupo para desarrollar scripts en Python, aplicar métodos de PLN y presentar conclusiones basadas en el análisis de datos del mundo real.
No hay requisitos.
Lecturas obligatorias:
Elhadad, M. (2010). Procesamiento del lenguaje natural con Python, Steven Bird, Ewan Klein y Edward Loper, O’Reilly Media.
Antić, Z. (2021). Python Natural Language Processing Cookbook. Packt Publishing Ltd.
Wittgenstein, L. (1998). Investigaciones filosóficas. Atlantis Budapest.
Chomsky, N. (1968). «Aportaciones lingüísticas al estudio de la mente: el futuro. Lenguaje y pensamiento».
Gadamer, H. G. (2003). Verdad y método: esbozo de una hermenéutica filosófica. Sapientia Humana Osiris.
Lecturas recomendadas:
Shannon, C. (2001). «Una teoría matemática de la comunicación». ACM SIGMOBILE Mobile Computing and Communications Review.
Barrios, F., López, F., Argerich, L. y Wachenchauzer, R. (2016). Variaciones de la función de similitud de TextRank para la síntesis automática.
Steinberger, J., y Jezek, K. (2004). «Uso del análisis semántico latente en la síntesis de textos y la evaluación de resúmenes».
Metsis, V., Androutsopoulos, I., y Paliouras, G. (2006). «Filtrado de spam con el algoritmo de Bayes ingenuo: ¿qué algoritmo de Bayes ingenuo?».
Aizawa, A. (2003). Una perspectiva basada en la teoría de la información sobre las medidas TF-IDF.
Mihalcea, R., y Tarau, P. (2004). TextRank: Aportar orden a los textos.
Gong, Y., y Liu, X. (2001). Resumen de textos genéricos mediante la medida de relevancia y el análisis semántico latente.
Ramadhan, W.P., Novianty, S.A. y Setianingsih, S.C. (2017). Análisis de sentimientos mediante regresión logística multinomial.
Blei, D. M., Ng, A. Y. y Jordan, M. I. (2003). «Latent Dirichlet Allocation». Journal of Machine Learning Research.
Sesiones interactivas que fomentan el debate, el análisis y la exploración práctica de las técnicas de PLN y los modelos de aprendizaje automático. Los alumnos trabajarán con ejemplos del mundo real, casos prácticos y artículos académicos.
Trabajo en grupo:
Proyectos colaborativos en los que los alumnos trabajarán en equipos para aplicar métodos de aprendizaje automático al análisis de conjuntos de datos de texto. Esto incluye la creación de scripts en Python, la realización de tareas de procesamiento de datos y la presentación de sus resultados.
Sesiones prácticas de laboratorio:
Ejercicios prácticos de programación que se llevan a cabo en un aula de informática. Los alumnos pondrán en práctica las técnicas aprendidas en las clases, como la extracción de datos de la web, la tokenización, la clasificación de textos y la síntesis, utilizando Python.
Los alumnos presentarán sus proyectos en grupo ante la clase, lo que les brindará la oportunidad de desarrollar sus habilidades de presentación y recibir comentarios de sus compañeros y del profesor.
Extracto académico