Universidad 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: