Materia

Contenido de XSL

Aprendizaje Automático (II)

Datos generales de la materia

Modalidad
Presencial
Idioma
Inglés

Descripción y contextualización de la asignatura

El curso pone el foco en un conjunto de técnicas inspiradas en la inteligencia artificial y la estadística. En la última década, estos campos han experimentado un crecimiento notable, particularmente relacionado con el análisis de grandes cantidades de datos mediante técnicas y algoritmos de base matemática, estadística y de optimización heurística. La aplicación de técnicas de aprendizaje automático está ampliamente expandido en áreas como la bioinformática, finanzas, y también el procesamiento de textos.

El alumnado estudiará las principales técnicas para la minería de datos, y aumentará sus habilidades en usos de populares herramientas de software que implementan estas técnicas. Todo ello mediante la demostración sobre aplicaciones reales de procesamiento de texto.

Profesorado

NombreInstituciónCategoríaDoctor/aPerfil docenteÁreaEmail
INZA CANO, IÑAKIUniversidad del País Vasco/Euskal Herriko UnibertsitateaProfesorado PlenoDoctorBilingüeCiencia de la Computación e Inteligencia Artificialinaki.inza@ehu.eus

Competencias

DenominaciónPeso
Habilidad para manejar las estrategias y herramientas basadas en conocimiento para el procesamiento del lenguaje humano.30.0 %
Habilidad para el manejo y la adaptación de los métodos simbólicos y basados en corpus (aprendizaje automático) más relevantes para la investigación en las tecnologías de la lengua.70.0 %

Tipos de docencia

TipoHoras presencialesHoras no presencialesHoras totales
Magistral101525
P. Ordenador203050

Actividades formativas

DenominaciónHorasPorcentaje de presencialidad
Clases magistrales25.040 %
Prácticas con ordenador, laboratorio, salidas de campo, visitas externas50.040 %

Sistemas de evaluación

DenominaciónPonderación mínimaPonderación máxima
Trabajos Prácticos0.0 % 100.0 %

Resultados del aprendizaje de la asignatura

Conocimiento de los principales escenarios de aprendizaje automático.



Identificar el tipo de técnica a aplicar en cada escenario de clasificación.



Conocer los pasos básicos, standard, de un pipeline-flujo de análisis de datos,



Uso de librerías de R-project para la creación de un corpus y su "document-term matrix" asociada, y la posterior aplicación de técnicas de aprendizaje automático sobre ella.

Convocatoria ordinaria: orientaciones y renuncia

Sistema de Evaluación Continua: TPROY

Primero, es necesario que el alumno acuda al menos al 80% de las sesiones. A partir de ahí, la evaluación consistirá en un proyecto a desarrollar de manera individual por el alumno. Un resumen del proyecto a realizar es el siguiente.

A partir de un texto en crudo (e.g. tweets o comentarios en redes sociales, texto en html, documentos en distintos ficheros, etc.), se deberá primero importar el texto y crear un corpus. Este corpus debe basarse en un problema supervisado con textos de distinto etiquetado. El corpus se preprocesará mediante filtros básico de text-mining (e.g. removing stop-words, stemming, eliminación de términos de escasa aparición, etc.). Para ello, utilizaremos el paquete “tm” (“text-mining”) del software R. El corpus se transformará a un formato matricial para que pueda ser manipulado mediante software especializado en aprendizaje automático. Aquí, se utilizará el popular paquete “caret” de R, aplicando al menos estos clásicos pasos de un proceso de clasificación supervisada: carga y exploración y visualización de los datos, preprocesado de las variables, partición para la validación, aplicación de técnicas de selección y extracción de variables, aplicación de técnicas en situaciones de desbalanceo de clases, aprendizaje de modelos supervisados y “tuning” de los parámetros asociados, predicción de la etiqueta sobre nuevos textos, comparativa estadística de los modelos.

El proyecto se realizará en un formato “notebook”, alternando el código implementado junto con la descripción de las funciones utilizadas, y se mostrará el “output” del proceso.





Sistema de Evaluación Final: TPROY

En caso de que el alumno no pueda acudir a clase y solicite una única evaluación final, ésta consistirá en la realización del proyecto individual descrito previamente.

Convocatoria extraordinaria: orientaciones y renuncia

En caso de que el alumno no pueda acudir a clase y solicite una única evaluación final, ésta consistirá en la realización del proyecto individual descrito previamente.

Temario



1- Términos generales sobre "data science": IA y "data science".



2- Principales escenarios de clasificación: clasificación supervisada, clasificación no-supervisada, weakly-supervised classification. Para cada escenario: estructura de la matriz de datos, tipo de anotación, aplicaciones reales.



3- One-class classification and outlier detection. Detección de documentos-outlier. Utilidad en NLP. Software, R packages.



4- Clasificación semi-supervisada. Aprendizaje con documentos sin anotación. Utilidad en NLP. Software: R-RSSL package.



5- Uso de test estadísticos para la comparativa de modelos. Sofware: R, páginas web online



6- Técnicas de selección de variables (si tiempo)



7- Técnicas de filtrado "generalistas". Preprocesado: datos perdidos, one-hot-encoding, discretización, desbalanceo de clases... (si tiempo)



8- "A short introduction to the tm (text mining) package in R: text processing". Cómo construir mediante operadores de text-mining un corpus, transformarlo a una document-term matrix para su posterior análisis posterior. A partir de text en ficheros, html, twitter, etc... Tutorial con R.



9- "The machine learning approach: clustering words and classifying documents with R". Tutorial con el paquete R-caret.



10- "First steps on deep learning for NLP by R’s h2o package (+word2vec)". Tutorial con R. Trabajo voluntario.

Bibliografía

Bibliografía básica

*M. Kuhn, K. Johnson (2013). Applied Predictive Modeling. Springer.

*ParallelDots, online text analysis APIs for several tasks: sentiment analysis, tags' prediction, keyword generator, entity extraction, comparing similarity of texts, different emotions analysis, intent analysis, abusive text prediction, etc. https://www.paralleldots.com/text-analysis-apis

* sentiment140: an interesting project for automatic sentiment categorization of tweets: http://help.sentiment140.com/

* Stanford TreeBank project. "Recursive deep models for semantic compositionality over a semantic treebank". https://nlp.stanford.edu/sentiment/

* RDataMining website: Text mining with R: Twitter data analysis: http://www.rdatamining.com/docs/text-mining-with-r

* Awesome sentiment analysis: A curated list of Sentiment Analysis methods, implementations and misc. https://github.com/xiamx/awesome-sentiment-analysis

* "5 things you need to know about sentiment analysis and classification": https://www.kdnuggets.com/2018/03/5-things-sentiment-analysis-classification.html

* Bing Liu's website on "Opinion mining, sentiment analysis and opinion spam detection: the machine learning approach". https://www.cs.uic.edu/~liub/FBS/sentiment-analysis.html

* 18 NLP key terms, explained for ML practitioners and NLP novices: https://www.kdnuggets.com/2017/02/natural-language-processing-key-terms-explained.html