Table Of ContentUniversidad Carlos III de Madrid
Escuela Polite´cnica Superior
Categorizacio´n de textos cient´ıficos
mediante Aprendizaje Automa´tico
Luna Fidalgo Mancho´n
Doble Grado en Ingenier´ıa Inform´atica y Administraci´on de Empresas
Tutor: Raquel Fuentetaja
22 de junio de 2016
Resumen
El presente documento se corresponde con el Trabajo de Fin de Grado elabo-
rado para finalizar el Doble Grado de Ingenier´ıa Informa´tica y Administracio´n de
Empresas, siendo este el referido al primer grado.
En ´el, se ha recogido el proceso llevado a cabo para el desarrollo de un software
que genere automa´ticamente las palabras clave necesarias para etiquetar un art´ıculo
cient´ıficoapartirdesuresumen.Paraello,hasidonecesario,enprimerlugar,conocer
el Estado de la Cuestio´n, es decir, investigar qu´e era exactamente un problema de
clasificacio´n multietiqueta y de qu´e t´ecnicas se dispon´ıan para resolverlo. Adema´s,
tambi´en fue necesario averiguar c´omo se pod´ıa transformar un texto para poder
generar de ´el una serie de atributos que explicaran su contenido.
Una vez se ten´ıan los conocimientos suficientes, se pudo pasar al ana´lisis, di-
sen˜o e implementaci´on del sistema, fases que han sido debidamente documentadas,
y puestas a prueba en la evaluaci´on. Esto se ha realizado mediante la generaci´on
de cuatro m´odulos: extraccio´n de la informaci´on, elaboracio´n de los conjuntos de
entrenamiento, la construccio´n de los modelos y la evaluacio´n.
En cuanto a las pruebas de comportamiento realizadas, se detect´o que la labor
de aprendizaje se dificultaba enormemente a medida que las etiquetas estaban muy
relacionadas, pues sus atributos no eran lo suficientemente diferentes co´mo para
poder diferenciarlos con claridad.
Este trabajo se cierra con un cap´ıtulo de conclusiones, donde se ha realizado un
repaso de los aspectos ma´s importantes detectados durante el desarrollo, as´ı como
las limitaciones del sistema y las l´ıneas futuras de investigacio´n.
Palabras clave: aprendizaje autom´atico, clasificacio´n multietiqueta, text mining.
2
“No sirve de nada ir deprisa si no sabes d´onde vas.
Lo importante es caminar en la direcci´on correcta.”
3
´
Indice general
Resumen 2
Glosario 10
1. Introduccio´n 11
1.1. Prea´mbulo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.2. Motivaci´on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.3. Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.4. Estructura . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2. Estado de la cuestio´n 15
2.1. Aprendizaje Autom´atico . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.1.1. Tareas representativas del AA . . . . . . . . . . . . . . . . . . 16
2.1.2. Aplicaciones del Aprendizaje Automa´tico . . . . . . . . . . . . 18
2.2. Ana´lisis de textos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.2.1. Proceso KDD . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.2.2. Tratamiento de textos . . . . . . . . . . . . . . . . . . . . . . 22
2.2.3. An´alisis de frecuencia de palabras . . . . . . . . . . . . . . . . 23
2.3. Clasificacio´n multietiqueta . . . . . . . . . . . . . . . . . . . . . . . . 26
2.3.1. Transformacio´n de problemas . . . . . . . . . . . . . . . . . . 27
2.3.2. Adaptaci´on de algoritmos . . . . . . . . . . . . . . . . . . . . 30
2.4. Evaluar un clasificador . . . . . . . . . . . . . . . . . . . . . . . . . . 31
2.4.1. Selecci´on del conjunto de test . . . . . . . . . . . . . . . . . . 31
2.4.2. M´etricas de evaluacio´n . . . . . . . . . . . . . . . . . . . . . . 33
2.5. Tecnolog´ıas aplicadas . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
4
´
Indice general 5
2.5.1. BibSonomy . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
2.5.2. NLTK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
2.5.3. Scikit-Learn . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
2.5.4. Meka . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
2.5.5. LATEX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
2.5.6. Menci´on al Marco Legal . . . . . . . . . . . . . . . . . . . . . 42
3. Descripcio´n del trabajo realizado 43
3.1. Metodolog´ıa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
3.2. Ana´lisis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
3.2.1. Requisitos del sistema . . . . . . . . . . . . . . . . . . . . . . 45
3.2.2. Casos de uso . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
3.2.3. Diagrama de secuencia . . . . . . . . . . . . . . . . . . . . . . 53
3.3. Disen˜o . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
3.3.1. Arquitectura del sistema . . . . . . . . . . . . . . . . . . . . . 55
3.4. Implementaci´on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
3.4.1. Preparaci´on del entorno de trabajo . . . . . . . . . . . . . . . 56
3.4.2. Extracci´on de la informacio´n . . . . . . . . . . . . . . . . . . . 57
3.4.3. Elaboraci´on del conjunto de entrenamiento . . . . . . . . . . . 59
3.4.4. Generaci´on de los modelos y evaluacio´n . . . . . . . . . . . . . 64
4. Evaluaci´on 66
4.1. Funcionamiento del sistema . . . . . . . . . . . . . . . . . . . . . . . 66
4.1.1. API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
4.1.2. Python . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
4.2. Pruebas de comportamiento . . . . . . . . . . . . . . . . . . . . . . . 68
4.2.1. Elecci´on del conjunto de etiquetas . . . . . . . . . . . . . . . . 69
4.2.2. Elecci´on de la la t´ecnica de clasificacio´n . . . . . . . . . . . . . 71
4.2.3. Elecci´on de las m´etricas de evaluaci´on . . . . . . . . . . . . . 72
4.2.4. Elecci´on del punto de referencia . . . . . . . . . . . . . . . . . 73
4.2.5. Validacio´n de las pruebas . . . . . . . . . . . . . . . . . . . . . 74
4.2.6. Primera prueba . . . . . . . . . . . . . . . . . . . . . . . . . . 74
4.2.7. Segunda prueba . . . . . . . . . . . . . . . . . . . . . . . . . . 76
´
Indice general 6
4.2.8. Tercera prueba . . . . . . . . . . . . . . . . . . . . . . . . . . 77
4.2.9. Cuarta prueba . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
4.2.10. Clasificacio´n de una nueva instancia . . . . . . . . . . . . . . . 79
4.3. Conclusiones pruebas de comportamiento . . . . . . . . . . . . . . . . 80
5. Planificacio´n 82
6. Presupuesto 86
6.1. Salario del personal . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
6.2. Recursos hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
6.3. Recursos software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
6.4. Otros costes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
6.5. Resumen de costes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
7. Conclusiones 92
7.1. L´ıneas futuras de investigacio´n y limitaciones . . . . . . . . . . . . . . 93
7.1.1. Limitaciones del sistema . . . . . . . . . . . . . . . . . . . . . 93
7.1.2. L´ıneas futuras de investigaci´on . . . . . . . . . . . . . . . . . . 94
7.1.3. Aspectos a tener en cuenta . . . . . . . . . . . . . . . . . . . . 95
A. Resumen de contenidos en ingl´es 97
A.1. Abstract . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
A.2. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
A.2.1. Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
A.2.2. Objectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
A.2.3. Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
A.3. System architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
A.4. Evaluation summary . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
A.5. Budget summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
A.6. Planning summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
A.7. Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
A.7.1. Future research lines and limitations of the system . . . . . . 106
Bibliograf´ıa 108
´
Indice de figuras
3.1. Metodolog´ıa Modelo de Desarrollo Incremental . . . . . . . . . . . . . 44
3.2. Diagrama de Secuencia. . . . . . . . . . . . . . . . . . . . . . . . . . 54
3.3. Representaci´on de la Arquitectura del Sistema . . . . . . . . . . . . . 56
3.4. Proceso de preprocesado y limpieza . . . . . . . . . . . . . . . . . . . 61
5.1. Diagrama de Gantt . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
A.1. Representation of the system architecture . . . . . . . . . . . . . . . . 101
7
´
Indice de tablas
2.1. Ejemplo Term Frequency . . . . . . . . . . . . . . . . . . . . . . . . . 24
2.2. Ejemplo Document Frequency y Inverse Document Frequency . . . . . 25
2.3. Ejemplo validacio´n cruzada con k = 5. . . . . . . . . . . . . . . . . . 32
2.4. Ejemplo leave-one-out. . . . . . . . . . . . . . . . . . . . . . . . . . . 33
2.5. Matriz de confusi´on. . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
3.1. Ejemplo representacio´n de requisitos del sistema . . . . . . . . . . . . 45
3.2. Requisito Funcional - 1 . . . . . . . . . . . . . . . . . . . . . . . . . . 46
3.3. Requisito Funcional - 2 . . . . . . . . . . . . . . . . . . . . . . . . . . 47
3.4. Requisito Funcional - 3 . . . . . . . . . . . . . . . . . . . . . . . . . . 47
3.5. Requisito Funcional - 4 . . . . . . . . . . . . . . . . . . . . . . . . . . 47
3.6. Requisito Funcional - 5 . . . . . . . . . . . . . . . . . . . . . . . . . . 48
3.7. Requisito Funcional - 6 . . . . . . . . . . . . . . . . . . . . . . . . . . 48
3.8. Requisito No Funcional - 1 . . . . . . . . . . . . . . . . . . . . . . . . 48
3.9. Requisito No Funcional - 2 . . . . . . . . . . . . . . . . . . . . . . . . 49
3.10.Ejemplo representacio´n de casos de uso . . . . . . . . . . . . . . . . . 50
3.11.Caso de uso - 01 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
3.12.Caso de uso - 02 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
3.13.Caso de uso - 03 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
4.1. Nu´mero de resu´menes prueba 1 . . . . . . . . . . . . . . . . . . . . . 71
4.2. Ejemplo de decisi´on del clasificador zeroR . . . . . . . . . . . . . . . 74
4.3. Resultados prueba 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
4.4. Resultados modificaci´on prueba 1 . . . . . . . . . . . . . . . . . . . . 75
4.5. Nu´mero de resu´menes prueba 2 . . . . . . . . . . . . . . . . . . . . . 76
8
´
Indice de tablas 9
4.6. Resultados prueba 2. . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
4.7. Nu´mero de resu´menes prueba 3 . . . . . . . . . . . . . . . . . . . . . 77
4.8. Resultados prueba 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
4.9. Nu´mero de resu´menes prueba 4 . . . . . . . . . . . . . . . . . . . . . 78
4.10.Resultados prueba 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
5.1. Dedicacio´n por per´ıodo . . . . . . . . . . . . . . . . . . . . . . . . . . 83
5.2. Dedicacio´n por tarea . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
6.1. Salario del personal . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
6.2. Recursos hardware - coste total . . . . . . . . . . . . . . . . . . . . . 88
6.3. Recursos hardware - coste imputable . . . . . . . . . . . . . . . . . . 88
6.4. Recursos software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
6.5. Material fungible . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
6.6. Viajes y dietas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
6.7. Resumen costes directos . . . . . . . . . . . . . . . . . . . . . . . . . 90
6.8. Costes totales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
A.1. Number of abstracts for test 1 . . . . . . . . . . . . . . . . . . . . . . 102
A.2. Number of abstracts for test 4 . . . . . . . . . . . . . . . . . . . . . . 102
A.3. Results for test 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
A.4. Results for test 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
A.5. Direct cost summary . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
A.6. Total costs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
A.7. Hours per task . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
Glosario
AA - Aprendizaje Autom´atico.
IA - Inteligencia Artificial.
MLC - Multi-Label Classification o Clasificaci´on Multietiqueta.
SLC - Single-Label Classification .
IEEE - Institute of Electrical and Electronics Engineers.
API - Application Programming Interface.
BR - Binary Relevance.
LP - Label Power Set .
ECC - Classifier Chains.
RAkEl - Random k-LabEl Pruned Sets.
BPNN - Back Propagation Neural Network.
10
Description:Universidad Carlos III de Madrid. Escuela Politécnica Superior. Categorización de textos cient´ıficos mediante Aprendizaje Automático. Luna Fidalgo