Profesor | Saúl Sánchez Reséndiz | lu mi vi | 19 a 20 |
Ayudante | Iván Agustín Álvarez Guzmán | ma ju | 19 a 20 |
Ayudante | Joaquín Buenaventura Murillo Tenorio |
EDIT:
El día de mañana (8 de agosto) se dará una sesión informativa para resolver todas sus dudas acerca de los temas que se estarán tocando así como los requisitos mínimos, las herramientas que necesitarán para llevar el curso, entre otras preguntas que surjan. Por ello, les pido a los interesados que me envíen un mensaje al correo saulaleph@ciencias.unam.mx para que les pueda enviar la invitación de la reunión virtual.
P.D. La sesión informativa se llevará acabo a las 7 pm (el 8 de agosto del 2022 y probablemente se tenga otra más el miércoles 10 de agosto del 2022).
FIN DEL EDIT.
Procesamiento del lenguaje natural.
En los recientes años nos hemos visto en la necesidad de procesar una cantidad gigantesca de datos y muchos de estos datos tienen información plasmada en nuestro lenguaje común y corriente: tal es el caso de artículos de investigación, libros, revistas, páginas web, actas, informes, memorandum, mensajes de texto, entre otros. Por ello, es importante desarrollar las herramientas para poder extraer la información que es relevante a nosotros y poder hacer el procesamiento de esa información en tiempo record.
En este curso se verán las herramientas esenciales para poder hacer un análisis semántico-gramatical. Además, se aprenderá a aplicar las herramientas más recientes de la Inteligencia Artificial para el procesar dichas estructuras del lenguaje y así lograr el control masivo de nuestra información.
Requerimientos
- Suficientes: Conexión a internet e instalación de Jupyter Notebook en cualquier computador y cualquier sistema operativo.
- Ideales: Conexión de banda ancha, instalación de la paquetería de Anaconda con ambiente para Jupyter Notebook.
- Mínimos: Acceso a internet y uso de Google Colab con su cuenta institucional.
- Cualquier alumno de 4 semestre para adelante de las carreras de Física, Matemáticas, Matemáticas Aplicadas, Actuaría, Ciencias de la tierra, entre otras.
TEMARIO
Introducción a Python.
Instalación y entornos de trabajo
Creación y manipulación de variables.
Cadenas de texto (string), enteros (int), booleanos (bool), flotantes (float), listas y diccionarios.
Métodos por tipo de variable
Operadores y expresiones
Condicionales
if , elif, else, switch case
Ciclos
while y for
Funciones y anidamiento
Paqueterías de datos
Importación de paqueterías o módulos de Python
Numpy
Arreglos
Pandas
DataFrames
Re
Expresiones regulares
Procesamiento del lenguaje natural.
Introducción al Procesamiento de Lenguaje Natural
Motivación
Background Matemático
Repaso de álgebra lineal
Espacios Métricos
Procesamiento de un Corpus para el Análisis semántico.
Stopwords, Tokenize, Stemming y Lematización.
Técnicas de Vectorización parte I.
CountVectorizer
TFIDF
Extracción palabras claves de un corpus utilizando TFIDF
Machine Learning and Deep Learning en el procesamiento del lenguaje natural.
Algoritmos de Machine Learning y Neuronal Networks.
Árboles de decisión.
Random Forest
Gráfica de una red neuronal y su estructura.
Construcción y entrenamiento de una neurona.
Técnicas de Vectorización parte II: Word2vect.
CBOW
Skip-Gram
Aplicaciones básicas parte I.
Clasificador de textos con random forest y diagramas de Voronoi
Chatbot
Long Short-Term Memory
Estrutura encoder decoder
Programación de una neurona tipo LSTM
Construcción de la red neuronal LSTM utilizando Keras
Transformers
All you need is (love) attention.
La red neuronal de un transformer
Técnicas de Vectorización parte III:
BERT embeding
Diagramas de Voronoi utilizando BERT embeding
Aplicaciones básicas parte II.
Traductor.
Bibilografía.
Hapke, H., Howard, C., & Lane, H. (2019). Natural Language Processing in Action: Understanding, analyzing, and generating text with Python. Simon and Schuster.
|
Raschka, S., & Mirjalili, V. (2019). Python machine learning: Machine learning and deep learning with Python, scikit-learn, and TensorFlow 2. Packt Publishing Ltd.
|
Evaluación
30% Tareas
30% Tareas Examen
40% Proyecto
Las tareas se dejarán cada viernes y se entregan una semana después.
Las tareas examen solamente tendrán 24 horas para su entrega y abarcarán los bloques más generales del temario.
El proyecto se empezará a desarrollar desde que se termine la introducción a python. Hay dos opciones: que se les asigne proyecto o que ustedes proponga el proyecto. Los proyectos se desarrollarán en equipo sin ninguna excepción.