scieee AI-readable full text Open interactive document viewer

Minería de procesos aplicada al estudio de wikis

García Sánchez-Migallón, Ignacio

Abstract

La creación colaborativa de conocimiento siempre ha sido uno de los pilares de internet desde la web 2.0. A priori, los intentos de crear contenido mediante la acción colectiva de diferentes individuos sin coordinación ni lucración personal debería ser inútil pues se produce un fenómeno conocido como la tragedia de los comunes. La tragedia de los comunes es una situación donde un sistema compuesto por usuarios que actúan independientemente para lograr su beneficio personal tienden a tener comportamientos contrarios al interés común. Sin embargo, se ha demostrado que esto no tiene porque ser cierto: la colaboración desinteresada y sin organización entre los diferentes usuarios ha hecho posible la existencia de comunidades cuyo único propósito es la difusión del conocimiento: las wikis. Las wikis, compuestas por diferentes artículos, están siendo ampliamente estudiadas. Sin embargo, los procesos que determinan la evolución de su contenido e inherentes a su propio funcionamiento y aquelllos seguidos por los propios usuarios en su actividad no son del todo conocidos. En este proyecto se propone y aplica una serie de técnicas conocidas como (i) minería de procesos para descubrir y analizar estos procesos existentes en la labor de la escritura colaborativa tanto a nivel artículo como a nivel usuario así como (ii) técnicas de minería social para visualizar las estructuras de colaboración existentes entre los propios usuarios. Para esto se hará uso de la Wikipedia Española como referencia. Con el objetivo de realizar este estudio se hará uso de los historiales de revisión con el que cuenta cada artículo de Wikipedia y una taxonomía de intenciones semánticas tras cada revisión compuesta de 13 categorías como contra vandalismo, refactorización o elaboración. Haciendo uso de un conjunto de datos dotado 5684 revisiones y sus intenciones semánticas se desarrolla un modelo predictivo que alcanza un valor de F1 micro de 0.64. Con este modelo y dichos historiales de revisiones se genera un corpus compuesto de diferentes artículos destacados y las intenciones tras cada una de sus revisiones. Con las revisiones en combinación con sus intenciones y el uso de minería social y de procesos se observa la estructura colaborativa de los usuarios, los procesos seguidos por los artículos así como los procesos seguidos por los propios usuarios en sus sesiones de edición. Los resultados muestran que, aunque no existe un proceso unificado en la evolución de los artículos, se puede ver como las diferentes maneras de trabajar de los editores en etapas tempranas del artículo tiene influencia en el desarrollo del mismo. Además, los procesos seguidos por los propios usuarios siguen patrones que permiten clasificarlos dentro de una taxonomía de roles de trabajo, verificando los hallazgos obtenidos en otros estudios. Por último, aunque generalmente no existe colaboración explícita entre los usuarios, se observan colaboraciones organizadas en momentos puntuales.

Full text

Trabajo de Fin de Grado Miner´ıa de procesos aplicada al estudio de wikis Ignacio Garc´ıa S´anchez-Migall´on Universidad Complutense de Madrid Facultad de Inform´atica Director: Javier Arroyo Gallardo Madrid, Mayo, 2019 A Javier Arroyo Gallardo, por su esfuerzo y dedicaci´on, por hacer que este proyecto haya sido posible. A mi familia, amigos, y a Helena, por su incansable apoyo. Resumen La creaci´on colaborativa de conocimiento siempre ha sido uno de los pilares de internet desde la web 2.0. A priori, los intentos de crear contenido mediante la acci´on colectiva de diferentes individuos sin coordinaci´on ni lucraci´on personal deber´ıa ser inutil pues se produce un fen´omeno conocido como la tragedia de los comunes.La tragedia de los comunes es una situaci´on donde un sistema compuesto por usuarios que act´uan independientemente para lograr su beneficio personal tienden a tener comportamientos contrarios al inter´es com´un. Sin embargo, se ha demostrado que esto no tiene porque ser cierto: la colaboraci´on desinteresada y sin organizaci´on entre los diferentes usuarios ha hecho posible la existencia de comunidades cuyo ´unico prop´osito es la difusi´on del conocimiento: las wikis. Las wikis, compuestas por diferentes art´ıculos, est´an siendo ampliamente estudiadas. Sin embargo, los procesos que determinan la evoluci´on de su contenido e inherentes a su propio funcionamiento y aquelllos seguidos por los propios usuarios en su actividad no son del todo conocidos. En este proyecto se propone y aplica una serie de t´ecnicas conocidas como (i) miner´ıa de procesos para descubrir y analizar estos procesos existentes en la labor de la escritura colaborativa tanto a nivel art´ıculo como a nivel usuario as´ı como (ii) t´ecnicas de miner´ıa social para visualizar las estructuras de colaboraci´on existentes entre los propios usuarios. Para esto se har´a uso de la Wikipedia Espa˜nola como referencia. Con el objetivo de realizar este estudio se har´a uso de los historiales de revisi´on con el que cuenta cada art´ıculo de Wikipedia y una taxonom´ıa de intenciones sem´anticas tras cada revisi´on compuesta de 13 categor´ıas como contra vandalismo, refactorizaci´on o elaboraci´on. Haciendo uso de un conjunto de datos dotado 5684 revisiones y sus intenciones sem´anticas se desarrolla un modelo predictivo que alcanza un valor de F1 micro de 0.64. Con este modelo y dichos historiales de revisiones se genera un corpus compuesto de diferentes art´ıculos destacados y las intenciones tras cada una de sus revisiones. Con las revisiones en combinaci´on con sus intenciones y el uso de miner´ıa social y de procesos se observa la estructura colaborativa de los usuarios, los procesos seguidos por los art´ıculos as´ı como los procesos seguidos por los propios usuarios en sus sesiones de edici´on. Los resultados muestran que, aunque no existe un proceso unificado en la evoluci´on de los art´ıculos, se puede ver como las diferentes maneras de trabajar de los editores en etapas tempranas del art´ıculo tiene influencia en el desarrollo del mismo. Adem´as, los procesos seguidos por los propios usuarios siguen patrones que permiten clasificarlos dentro de una taxonom´ıa de roles de trabajo, verificando los hallazgos obtenidos en otros estudios. Por ´ultimo, aunque generalmente no existe colaboraci´on expl´ıcita entre los usuarios, se observan colaboraciones organizadas en momentos puntuales. Palabras clave: Miner´ıa de procesos, Mineria social, Aprendizaje autom´atico, ProM, Red de petri, Edici´on, Producci´on colaborativa de conocimiento Trabajo de Fin de Grado iii Abstract Collaborative writing has always been one of the pillars of the internet since the web 2.0. Usually, the attempts to create content collaboratively with individuals without organization or benefit are useless, resulting in a phenomenon called the tragedy of the commons.The tragedy of the commons, is a situation where a system composed of independent users that pursue their own goals behave against the common good. However, the selfless collaboration between different, unorganized users made possible the existence of communities whose only purpose is the diffusion of knowledge: the wikis. The wikis, formed by a corpus of different articles, are currently under extensive study. Despite that, the processes that determine the evolution of its content and the processes followed by the users in its activity are not totally known. In this project, a series of techniques are proposed and applied: (i) process mining to discover and analyze the existent processes in the task of collaborative writing from an article and user point of view, and (ii) social mining to visualize the collaboration structures among the different users. The object of the study, will be the Spanish Wikipedia. Every article in Wikipedia has a record of all the editions made to it. Those records along with a taxonomy of 13 semantic intention behind each revision (e.g re-factoring, elaboration or counter vandalism) will be used to meet the goals of this study. With a data set of 5684 revisions and its semantic intentions, a predictive model with a F1 micro of 0.64 is created. Combining this model with the records of revisions of some featured articles generates the different semantic intentions behind each revision. These predicted semantic intentions and its revisions constitute the input of the techniques of social mining and process mining. Such techniques allows the observation of the processes followed by the article, the processes followed by their users in their activity and the collaborative structure between users. Results show that, even though there is no such thing as a unified process in the evolution of the articles, the different behaviours of the users in the initial stages of an article have an influence in its development. Furthermore, the processes followed by the users in their activity follow patterns that verify the findings of previous studies in this topic. Generally, there is no organized collaboration among the users. However, the results imply that sometimes the collaboration between users is explicitly organized. Keywords: Process mining, Social mining, Machine learning, ProM, Petri Net, Collaborative production of knowledge, Edition iv Trabajo de Fin de Grado ´ Indice general ´ Indice general V ´ Indice de figuras VIII ´ Indice de tablas 1 1. Introducci´on 2 1.1. Motivaci´on ..................................... 3 1.2. Objetivos ...................................... 4 1.3. Metodolog´ıa ..................................... 4 1.4. Estructura ...................................... 5 2. Introduction 7 2.1. Motivation ..................................... 8 2.2. Objectives ...................................... 9 2.3. Methodology .................................... 9 2.4. Structure ...................................... 10 3. Fundamentos te´oricos 11 3.1. Trabajo relacionado ................................ 11 3.1.1. Identificando intenciones sem´anticas de las revisiones de Wikipedia . . 11 3.1.2. Estabilidad turbulenta de los roles emergentes .............. 13 3.2. Aprendizaje autom´atico .............................. 14 3.2.1. Aprendizaje supervisado .......................... 14 3.2.2. M´etricas ................................... 14 3.2.3. Validaci´on cruzada de la clasificaci´on ................... 15 3.2.4. Algoritmos de clasificaci´on ......................... 16 3.2.5. Ingenier´ıa de caracter´ısticas ........................ 17 3.2.6. Sobremuestreo ............................... 17 3.3. ¿Qu´e es la miner´ıa de procesos? .......................... 18 3.3.1. Punto de comienzo: el formato XES ................... 19 3.3.2. Descubriendo los procesos ......................... 21 3.3.3. Redes de Petri ............................... 22 3.3.4. De la miner´ıa de procesos a la miner´ıa social .............. 23 Trabajo de Fin de Grado v ´ INDICE GENERAL 4. Tecnolog´ıas y herramientas 25 4.1. Tecnolog´ıas ..................................... 25 4.2. Herramientas .................................... 27 4.2.1. ProM tools ................................. 27 5. Procesamiento de los historiales de revisi´on 29 5.1. Descarga de datos ................................. 30 5.2. Extracci´on de informaci´on ............................. 31 5.3. Obtenci´on de caracter´ısticas ............................ 31 5.4. Cambio de formato ................................. 32 5.5. Generaci´on y an´alisis de modelos predictivos .................. 32 5.5.1. Datos iniciales ............................... 33 5.5.2. M´etricas de evaluaci´on ........................... 35 5.5.3. Clasificaci´on binaria ............................ 35 5.5.4. Clasificaci´on multi-etiqueta ........................ 43 5.5.5. Conclusiones ................................ 47 6. An´alisis con miner´ıa de procesos 49 6.1. Obtenci´on de datos ................................. 50 6.2. Transformaci´on a XES ............................... 53 6.3. An´alisis exploratorio de los datos ......................... 53 6.4. An´alisis a nivel art´ıculo .............................. 58 6.4.1. An´alisis de la red de Petri descompuesta 1 ................ 61 6.4.2. An´alisis de la red de Petri descompuesta 2 ................ 63 6.4.3. An´alisis del conjunto de mini redes de Petri descompuestas 3 ..... 63 6.5. An´alisis a nivel editor ............................... 71 6.5.1. Editores de actividad baja ......................... 71 6.5.2. Editores de actividad intermedia ..................... 75 6.5.3. Editores de actividad alta ......................... 80 7. An´alisis con miner´ıa social 86 7.1. Obtenci´on de datos ................................. 88 7.2. Handover of Work ................................. 88 7.2.1. Art´ıculo Tierra ............................... 89 7.2.2. Art´ıculo ´ Acido desoxirribonucleico .................... 90 7.3. Subcontracting ................................... 92 7.3.1. Art´ıculo Tierra ............................... 92 7.3.2. Art´ıculo ´ Acido desoxirribonucleico .................... 94 8. Conclusiones 96 8.1. Conclusiones miner´ıa de procesos a nivel art´ıculo ................ 96 8.2. Conclusiones miner´ıa de procesos a nivel editor ................. 96 8.3. Conclusiones miner´ıa social ............................ 97 8.4. Conclusiones globales ................................ 98 vi Trabajo de Fin de Grado ´ Indice de tablas 3.1. Intenciones seg´un la taxonom´ıa usada y su descripci´on (fuente: [24]) ..... 12 3.2. Taxonom´ıa de roles seg´un actividades realizadas en cada revisi´on ....... 13 5.1. Vistazo general de los datos ............................ 33 5.2. Micro media de los resultados de los tres algoritmos .............. 38 5.3. Micro-media de los resultados de los diferentes bosques aleatorios creados . . 43 5.4. Bosque aleatorio final multi-etiqueta ....................... 46 5.5. Micro media de los resultados de los modelos finales de cada enfoque . . . . . 47 Trabajo de Fin de Grado 1 Cap´ıtulo 1 Introducci´on La colaboraci´on es uno de los pilares de internet desde la web 2.0. Desde su inicio, su objetivo era poder eliminar las barreras existentes en la comunicaci´on. As´ı, en cuesti´on de unas decadas, el volumen de datos existente en la red ha aumentado exponencialmente, llegando a influir en numerosos aspectos de nuestras vidas diarias. Uno de sus logros m´as destacables es la facilidad de la difusi´on de la informaci´on, haciendola m´as accesible y abundante que nunca. Un fen´omeno conocido como la tragedia de los comunes describe como en un sistema compuesto por usuarios que act´uan independientemente, estos buscan el beneficio personal dando lugar a comportamientos contrarios al bien com´un. Sorprendentemente, en internet esto no siempre se cumple. Prueba de ello es la creaci´on y ´exito de las wikis: p´aginas de conocimiento basadas en la escritura colaborativa. En las wikis los usuarios son totalmente voluntarios y no existe beneficio alguno derivado de sus actividades [21]. A d´ıa de hoy existen miles de wikis diferentes pero de entre todas, destaca Wikipedia. Wikipedia es la enciclopedia libre m´as grande del mundo con 5.853.387 art´ıculos, 36.262.835 editores y m´as de 18 mil millones de visitas anuales poniendo el conocimiento a disponibilidad del mundo entero. Adem´as, Wikipedia cuenta con uno tipo de art´ıculos denominados art´ıculos destacados. Estos art´ıculos han sido catalogados como referente de calidad, es decir, de ’los mejores art´ıculos de Wikipedia’. En la Wikipedia Espa˜nola, esto supone s´olo 1127 art´ıculos, el 0.07 % del total. Cada uno de estos art´ıculos cuenta con un historial de revisiones p´ublico al que cualquiera puede acceder facilmente. Gracias a esto las wikis pueden ser y est´an siendo ampliamente estudiadas (especialmente Wikipedia). Un ejemplo de investigaciones ya realizadas, es el estudio de los diferentes roles que pueden adquirir los usuarios en funci´on de su manera de trabajar en ’Estabilidad turbulenta de los roles emergentes’ ([5]). En la investigaci´on, se determina un conjunto de roles en funci´on de las actividades que realizan los editores (por ejemplo: vigilantes, que supervisan el la integridad del art´ıculo; editores todo terreno que hacen un poco de todo; v´andalos que generan prejuicios a los art´ıculos intencionadamente) Otro caso, es el estudio de la supervivencia de los usuarios en funci´on de las intenciones encontradas tras sus ediciones en ’Identificando intenciones sem´anticas en las revisiones de Wikipedia’ ([24]). Aqu´ı se desarrolla una taxonom´ıa de 13 intenciones sem´anticas como wikificaci´on, relacionada con motivos de formato de Wikipedia; elaboraci´on, cuyo objetivo es a˜nadir contenido, etc... y en base a ella se estudia la supervivencia de los usuarios tras sus 2 Trabajo de Fin de Grado CAP´ ITULO 1. INTRODUCCI ´ ON primeras revisiones, determinando que existe una relaci´on. Sin embargo, los flujos de trabajo en Wikipedia inherentes a su propio funcionamiento en los art´ıculos y en los propios editores no son tan conocidos. Este flujo de trabajo puede ser denominado proceso. Un ejemplo de proceso ser´ıa el conjunto de pasos seguido por un art´ıculo desde su creaci´on hasta la actualidad. Partiendo de las investigaciones anteriores y los historiales de revisiones de los art´ıculos de Wikipedia se plantea el estudio de los procesos que siguen los art´ıculos en caso de que estos existan, as´ı como los seguidos por los usuarios durante sus ediciones y las relaciones de colaboraci´on existentes entre los mismos. Para esto se har´a uso de la miner´ıa de procesos y la miner´ıa social. La miner´ıa de procesos se compone por un conjunto de t´ecnicas de miner´ıa que permiten extraer informaci´on para descubrir, monitorizar y mejorar procesos [4]. Esta informaci´on puede ser analizada para tomar forma de decisiones de negocio o estrat´egicas para optimizar los procesos o simplemente para conocer el propio funcionamiento de los mismos. Sin embargo, sus aplicaciones para incrementar la eficiencia de un proceso no es lo que lo hace interesante de cara al estudio objeto de este proyecto, sino el propio descubrimiento de los procesos inherentes a la edici´on y evoluci´on de los art´ıculos destacados y de los editores en comunidades de conocimiento colaborativo abiertas como la Wikipedia espa˜nola. Por otro lado, la miner´ıa social hace uso de t´ecnicas de sociometr´ıa y an´alisis de redes sociales [3] para observar y conocer las posibles relaciones existentes entre los usuarios. Es decir, se trata una rama de la miner´ıa de procesos donde el foco se pone en las interacciones entre los usuarios presentes en el proceso. De esta manera, se realizar´a un estudio de las relaciones existentes entre los editores de un art´ıculo de Wikipedia. Aunque estas t´ecnicas de miner´ıa de procesos y miner´ıa social son relativamente nuevas, ya han sido applicadas con ´exito en ´ambitos como la educaci´on ([6]) para estudiar los procesos seguidos por escuelas o academias o en la escritura de conocimiento colaborativa dentro de trabajos realizados por estudiantes en un contexto similar al de este proyecto ([19]). 1.1. Motivaci´on La motivaci´on de este proyecto es la falta de respuesta ante las siguientes preguntas: ¿Existen procesos determinados que siguan los art´ıculos durante su desarrollo? ¿Qu´e procesos, en caso de existir, siguen los usuarios durante su historial de ediciones? ¿De qu´e manera colaboran entre s´ı los usuarios? Tanto la primera como la segunda pregunta no consta que hayan sido resueltas. Para resolverlas se har´a uso de la miner´ıa de procesos. Un enfoque totalmente novedoso, pues adem´as de ser un ´area de conocimiento relativamente nueva, nunca ha sido aplicada en este contexto. Este enfoque seleccionado adem´as de novedoso es prometedor pues estudiar la estructura o estructuras que puedan seguirse en Wikipedia aporta una perspectiva completamente nueva Trabajo de Fin de Grado 3 CAP´ ITULO 1. INTRODUCCI ´ ON y m´as general que pretende ver si realmente Wikipedia sigue un proceso an´arquico de evoluci´on en sus art´ıculos o si existe cierta organizaci´on. Del mismo modo, estudiar los procesos de los usuarios desde la perspectiva del conjunto de sus acciones, puede permitir reforzar los resultados de los roles de usuario de estudios como el previamente mencionado ’Estabilidad turbulenta de los roles emergentes’ ([5]). Por otro lado, la tercera pregunta aunque s´ı estudiada nunca se ha estudiado mediante la miner´ıa social derivada de la perspectiva de proceso. Adem´as, permite complementar los resultados obtenidos para responder la segunda pregunta. 1.2. Objetivos Los objetivos de este proyecto son b´asicamente las preguntas previamente formuladas. Mediante el novedoso enfoque de la miner´ıa de procesos, se tratar´a de descubrir los procesos internos seguidos por un conjunto aleatorio seleccionado de art´ıculos destacados de la Wikipedia espa˜nola. Adem´as se descubrir´an tambi´en los procesos seguidos por los propios usuarios en su comportamiento habitual de edici´on dentro de esos mismos art´ıculos y las estructuras de colaboraci´on que puedan formarse entre los usuarios. 1.3. Metodolog´ıa El punto de partida del proyecto es el historial de revisiones de cada art´ıculo, la Wikipedia Espa˜nola y las investigaciones previamente mencionadas ( ’Estabilidad turbulenta de los roles emergentes’ [24] e ’Indentificando intenciones sem´anticas en las revisiones de Wikipedia’ [5]). En primer lugar se seleccionar´a un conjunto de art´ıculos destacados aleatorios pero cada uno de diferente tem´atica. Los historiales de edici´on de cada art´ıculo ser´an descargados y se extraer´a informaci´on ´util de los mismos como el nombre del editor y la fecha en la que se realiz´o la revisi´on. De estos historiales, queremos obtener las intenciones tras cada una de sus revisiones. En este punto, entra en juego la investigaci´on que desarrolla una taxonom´ıa de 13 categor´ıas que representan las distintas intenciones sem´anticas tras cada revisi´on ([24]) relacionadas con motivos de edici´on de texto o formato, supervisi´on de la integridad del art´ıculo o correcci´on de errores. Siguiendo esta taxonom´ıa desarrollamos un modelo predictivo que alcanza valores de micro F1 de 0.64 capaz de etiquetar las intenciones de los historiales de revisi´on descargados. Una vez que contamos con los historiales de revisi´on etiquetados en base a su intencionalidad, se puede comenzar el estudio para responder a las preguntas objetivo de este trabajo. La pregunta ¿Existen procesos determinados que siguan los art´ıculos durante su desarrollo? ser´a contestada mediante la aplicaci´on de la miner´ıa de procesos bajo la perspectiva de art´ıculo. Es decir, se analizar´a el conjunto de art´ıculos en base al flujo de intenciones seguido en cada una de las revisiones realizadas en los mismos. En cuanto a la siguiente pregunta u objetivo, ¿Qu´e procesos, en caso de existir, siguen los usuarios durante su historial de ediciones?, se har´a uso tambi´en de la miner´ıa de procesos. Sin embargo, la perspectiva ser´a otra: el foco se pondr´a en el usuario. De esta manera, lo 4 Trabajo de Fin de Grado CAP´ ITULO 1. INTRODUCCI ´ ON que se har´a ser´a estudiar el conjunto de usuarios y sus acciones en cada revisi´on determinada por su intencionalidad en lugar de cada art´ıculo. Para obtener una perspectiva mas compartimentalizada, los usuarios ser´an agrupados en funci´on de diferentes niveles de actividad y cada nivel se estudiar´a por separado. As´ı, los resultados obtenidos se interpretar´an junto con la taxonom´ıa de roles de editor mencionada previamente ([5]). Por ´ultimo la cuesti´on ¿De qu´e manera colaboran entre s´ı los usuarios? ser´a contestada gracias a la aplicaci´on de la miner´ıa social. Se estudiar´an las relaciones entre los usuarios en base a distintas m´etricas como handover of work, que mide el relevo de unos usuarios a otros en las labores de edici´on o subcontracting que mide la cantidad de veces que un usuario edita entre dos revisiones de otro. Este an´alisis requiere un nivel de detalle mayor por lo que en lugar de aplicar estas t´ecnicas al conjunto de historiales de revisi´on previamente descargados, se aplicar´an individualmente a solamente dos art´ıculos del conjunto. 1.4. Estructura La estructura del documento es la siguiente: 1. Introducci´on: La introducci´on plantea el problema inicial, la motivaci´on para resolverlo y el proceso seguido para ello. Este cap´ıtulo adem´as se encuentra tanto en ingl´es como en espa˜nol. 2. Fundamentos te´oricos: Introduce los fundamentos te´oricos necesarios para la correcta comprensi´on del texto. Desarrolla los pilares te´oricos de investigaciones previas en los que se apoya el proyecto y explica en detalle en qu´e consiste la miner´ıa de procesos y qu´e utilidad tiene. Adem´as, se explica en qu´e consiste la miner´ıa social y su relaci´on con la miner´ıa de procesos. 3. Tecnolog´ıas y herramientas: Este cap´ıtulo se centra en la explicaci´on de las diferentes tecnolog´ıas usadas a lo largo del proyecto. 4. Procesamiento de los historiales de revisi´on: Su objetivo es explicar todo el proceso seguido desde la descarga de los datos iniciales hasta la obtenci´on de un conjunto de datos listo para ser analizado mediante la miner´ıa de procesos. Incluyendo por tanto la elaboraci´on y uso de un modelo predictivo basando en la taxonom´ıa de intenciones sem´anticas desarrollada en ’Identificando intenciones sem´anticas tras las revisiones de Wikipedia’ [24]. 5. An´alisis con miner´ıa de procesos: Explica en detalle todo el trabajo realizado con t´ecnicas de miner´ıa de procesos desde dos perspectivas diferentes: usuario y art´ıculo para obtener informaci´on acerca del proceso seguido por los art´ıculos en su evoluci´on y el seguido por los editores en sus sesiones de edici´on. 6. An´alisis con miner´ıa social: En este cap´ıtulo comentamos en detalle los resultados de aplicar un an´alisis de miner´ıa social para descubrir las posibles colaboraciones entre los editores de Wikipedia usando un variado conjunto de datos y diferentes m´etricas. 7. Conclusiones: Clara y breve descripci´on de todos los hallazgos hechos a lo largo del proyecto con la aplicaci´on de la miner´ıa social y de procesos. Trabajo de Fin de Grado 5 CAP´ ITULO 1. INTRODUCCI ´ ON 8. Trabajo futuro: Cap´ıtulo que habla del trabajo que a´un no ha sido realizado, los motivos de esto y posibles mejoras que se puedan a˜nadir. 9. C´odigo: Qu´e scripts han sido utilizados durante el proyecto as´ı como d´onde se encuentran localizados y su autor´ıa. 6 Trabajo de Fin de Grado Cap´ıtulo 2 Introduction Collaborative writing is one of the pillars of the Internet since the 2.0 web. In the beginning of the internet its objective was to eliminate the existing communication barriers. In just a couple of decades the volume of data existing on the net has grown exponentially, reaching a point of direct influence on our daily lives. One of Internet’s biggest achievement is its diffusion power making knowledge more available and freer than ever before. A phenomenon known as the tragedy of the commons describe a system composed of independent users that pursue their own goals behave against the common goal. However, this is not always true. The selfless collaboration between different, unorganized users made possible the existence of communities whose only purpose is the diffusion of knowledge: the wikis. In a wiki, the users are completely voluntary and there is no benefit whatsoever [21]. Nowadays, there is thousands of different wikis but among all of them there is an special case called Wikipedia. Wikipedia is the biggest free encyclopedia in the world with 5.853.387 of articles, 36.262.835 editors and more than 18 billions of annual visits. Furthermore, Wikipedia has different categories of articles based on their quality. The top quality ones are called featured articles and they are scarce. As an example, in the Spanish Wikipedia the featured articles only represent the 0.07 % of articles: only 1127 articles. Each and every of the available articles in Wikipedia has its own public historic of revisions. Thanks to this, the wikis are currently being under extensive study. One of the researches already published creates a profiling for the editors based on their activities (’Turbulent stability of emergent roles’ [5]). A taxonomy of roles is created (e.g watchdogs that ensures the integrity of the article, all-round-contributors who do every kind of task, vandals who damage the article on purpose...) in order to perform this profiling. Another case of study is the survival of the new editors based on the intentions behind their revisions in ’Identifying semantic edit intentions from revisions in Wikipedia’ ([24]). In this paper a taxonomy of 13 categories of semantic intentions behind each revision is created (e.g wikification, related with formatting of Wikipedia; elaboration, based on the addition of content...). Based on this taxonomy, the survival of the new users is studied during their first session of editions. Findings show that there is a relation between the intentions done and their survival, implying that some editions are not suited for beginners. However, the work flows in Wikipedia inherent to its own activity in the articles and in the Trabajo de Fin de Grado 7 CAP´ ITULO 2. INTRODUCTION editors are not known. These work flows are also known as processes. An example of process would be the orderly combination of steps since the creation of an article to the present day. Using the results obtained in the the previous researches and the historic of revisions from the Wikipedia articles, this project proposes the study of the processes followed by articles, in case they exists, and the processes of the users in their edition sessions. Also, the relationships between the users will be studied. In order to attain those goals, a new approach is proposed: process mining and social mining. Process mining is composed by different mining techniques with the purpose of extracting information, discovering processes and improving them [4]. This information is analyzed to transform it into business or strategic decisions to improve performance. However, its applications to improve performance are not useful in the context of this study. In this document the discovery of the processes themselves is the goal. Using process mining the processes followed by the articles and the users in their edit sessions will be unveiled. On the other hand social mining use a combination of sociometry techniques with social network analysis [3] to observe and discover the existing relationship among the users. Social mining derives from process mining. However here the focus is the interactions in the users present in the processes. With such techniques an study of the social aspects of the users will be performed to obtain a clear picture of the relationship formed between the editors in a Wikipedia article. Despite this techniques being relatively new, they have already been applied with success in different fields like education to study the processes followed by schools or academies ([6]) and also in the collaborative writing trying to discover the processes followed by students writing a project in groups ([19]). 2.1. Motivation The motivation behind this project is the lack of answer to the following questions: Is there any process followed by an article in its evolution? Which processes do a users follow during its activity? How do the different editors collaborate with each other? The first and the second answer have not been answered previously. In order to answer them, process mining will be used. This approach is completely new in this context and provides new tools to broaden our knowledge of Wikipedia. Such techniques enable us to study the inner processes of Wikipedia’s articles and users to determine if there is a ’path’ in the evolution of articles and users or if it is an anarchic evolution. On the other hand, the third question has already been studied. However, it has not been studied yet with the social mining approach given by the process mining. Furthermore, this information could potentially complement the results from the previous question. 8 Trabajo de Fin de Grado CAP´ ITULO 3. FUNDAMENTOS TE ´ ORICOS 3.2. Aprendizaje autom´atico El aprendizaje autom´atico es un campo de la inform´atica cuyo objetivo es la soluci´on de problemas mediante la obtenci´on de un conjunto de datos y un modelo estad´ıstico basado en estos datos [8]. Es decir, se dedica al estudio de los algoritmos y modelos estad´ısticos que hacen posible que un computador realize una tarea espec´ıfica sin instrucciones expl´ıcitas sobre c´omo hacerlo. Este aprendizaje puede ser supervisado, sin supervisi´on, reforzado o semi-supervisado. En este proyecto espec´ıficamente el inter´es est´a en el aprendizaje supervisado. 3.2.1. Aprendizaje supervisado El aprendizaje supervisado se basa en el modelado de la relaci´on entre un conjunto de atributos y una etiqueta asociada a los mismos [20]. El conjunto de datos de entrada se compone de ejemplos etiquetados en base a diferentes categor´ıas como podr´ıa ser V erdadero oF also. De esta manera, los algoritmos de aprendizaje autom´atico hacen uso de unos datos etiquetados para inferir una funci´on que sea capaz de distinguir entre las diferentes etiquetas posibles y poder etiquetar autom´aticamente nuevos casos en el futuro con la necesidad, solamente, de los atributos. Un ejemplo podr´ıa ser un algoritmo que detecte spam en la bandeja de entrada del correo electr´onico, catalogando cada correo entre {spam, no spam}. El aprendizaje supervisado, puede subdividirse en tareas de clasificaci´on oregresi´on. La diferencia se basa en el tipo de etiqueta: en la regresi´on la etiqueta es una cantidad continua como [0,10] mientras que en la clasificaci´on se trata de una categor´ıa discreta como {spam, no spam}[20]. En este proyecto, las tareas realizadas en aprendizaje autom´atico supervisado son de clasificaci´on. Para poder evaluar estas clasificaciones, se han desarrollado diferentes m´etricas. 3.2.2. M´etricas Para evaluar el rendimiento de un modelo clasificador, existen diferentes m´etricas calculadas en base a las siguientes variables: Positivos verdaderos (PV) : ejemplos clasificados como verdaderos correctamente. Positivos falsos (PF) : ejemplos clasificados como verdaderos incorrectamente. Negativos verdaderos (NV) : ejemplos clasificados como negativos correctamente. Negativos falsos (NF): ejemplos clasificados como negativos correctamente. Estas variables permiten el c´alculo de las siguientes m´etricas: 14 Trabajo de Fin de Grado CAP´ ITULO 3. FUNDAMENTOS TE ´ ORICOS Precisi´on: Representa el n´umero de ejemplos positivos asignados correctamente clasificados dividido por el total de ejemplos positivos asignados clasificados con ese valor [18]. P=P V P V +P F Sensibilidad: Representa el n´umero de ejemplos positivos correctamente clasificados dividido entre el n´umero de positivos en el conjunto de datos [18]. S=P V P V +NF F1: Se trata de una combinaci´on de precisi´on y sensibilidad. F1 = 2·precisi´on·sensibilidad precisi´on+sensibilidad Matriz de confusi´on: Sirve para describir el rendimiento de un modelo predictivo mostrando visualmente los PV, PF, NV y NF tal y como se observa en la figura 3.1. En la figura de ejemplo, se ve como todas las instancias de setosa y virginica han sido clasificadas correctamente, mientras que 6 instancias de versicolor han sido clasificadas como virginica incorrectamente. Figura 3.1: Ejemplo de matriz de confusi´on (fuente: https://scikit-learn.org/stable/ auto_examples/model_selection/plot_confusion_matrix.html) 3.2.3. Validaci´on cruzada de la clasificaci´on La validaci´on de un modelo es sencilla: tras escoger un modelo y sus par´ametros, estimamos con las m´etricas anteriores su efectividad mediante datos de entrenamiento, comparando la predicci´on con los datos conocidos [20]. Si el conjunto de datos del que se dispone no es particularmente grande, la porci´on de los datos que se utilizan para entrenar el modelo puede no contener todos los casos necesarios para una adecuada clasificaci´on. Para evitar esto, existe la validaci´on cruzada. La validaci´on cruzada se basa, por tanto, en realizar una secuencia de entrenamientos del modelo con diferentes sub-grupos del conjunto de datos que act´uan tanto como entrenamiento como de validaci´on [20]. Su funcionamiento puede ser observado en la figura 3.2 donde se realizan 4 iteraciones. Trabajo de Fin de Grado 15 CAP´ ITULO 3. FUNDAMENTOS TE ´ ORICOS Figura 3.2: Validaci´on cruzada de 4 iteraciones (fuente: https://en.wikipedia.org/wiki/ Cross-validation_(statistics)) 3.2.4. Algoritmos de clasificaci´on ´ Arboles de decisi´on Un ´arbol de decisi´on es un grafo ac´ıclico que puede ser utilizado para tomar decisiones [8]. En nodo rama del grafo, un atributo espec´ıfico se eval´ua. Si el valor del atributo se encuentra debajo de un valor espec´ıfico, se sigue la rama izquierda; en el caso contrario, se sigue la rama derecha. La decisi´on a tomar se encuentra alojada en los nodos hoja, por lo que al llegar al final del ´arbol, hemos obtenido la etiqueta. Figura 3.3: ´ Arbol de decisi´on La ventaja de los ´arboles de decisi´on es que son extremadamente intuitivos y eficientes pues cada decisi´on tomada reduce las posibilidades a la mitad. Sin embargo, son muy propensos al overfitting o sobre-ajustamiento [20]. Este fen´onemo sucede cuando los algoritmos se ajustan a las particularidades espec´ıficas de los datos de entrenamiento en lugar de las peculiaridades generales que permitan generalizar esos datos. Bosques aleatorios Una de las soluciones para reducir el sobre-ajustamiento de los ´arboles de decisi´on es aplicar una t´ecnica llamada embolsado (bagging). El embolsado, se basa en combinar modelos que sobre-ajusten para reducir los propios efectos del sobre-ajustamiento. Con los resultados de cada modelo se hace una media para encontrar 16 Trabajo de Fin de Grado CAP´ ITULO 3. FUNDAMENTOS TE ´ ORICOS la mejor clasificaci´on posible [20]. De esta manera, surgen los bosques aleatorios. Es decir, un bosque aleatorio, no es m´as es un conjunto de ´arboles de decisi´on aleatorios de modo que el problema del sobre-ajustamiento se soluciona en cierta medida. M´aquina de soporte vectorial Las m´aquinas de soporte vectorial son algoritmos fl´exibles que permiten tanto hacer tareas de clasificaci´on como de regresi´on. Su funcionamiento es simple, en lugar de modelar cada posible etiqueta, se busca una l´ınea o curva (en espacios 2-Dimensionales) o planos e hiperplanos (en espacios N-dimensionales) que separe a las diferentes etiquetas en secciones [20]. Entre sus ventajas, destacan la rapidez en la predicci´on y su buen rendimiento con datos de alta dimensionalidad como es el caso de los datos de este proyecto [20]. Sin embargo, tambi´en existen desventajas: el tiempo de entrenamiento suele ser alto y son modelos muy dependientes de un minucioso ajuste de par´ametros [20]. k-vecinos m´as pr´oximos El algoritmo k-vecinos m´as proximos es un algoritmo simple. Para generar una predicci´on en un nuevo dato, encuentra kejemplos que tengan atributos similares y busca cual es la etiqueta que m´as aparece en los ejemplos seleccionados. Una vez que encuentra la etiqueta, se la asigna al nuevo dato [12]. De esta manera este algoritmo es uno de los m´as simples y r´apidos que hay. Sin embargo, esta simpleza tiene sus consecuencias: se le considera un aprendiz vago (lazy learner), es decir, no aprende nada de los datos de entrenamiento, solamente los utiliza para clasificar [12]. 3.2.5. Ingenier´ıa de caracter´ısticas La ingenier´ıa de caracter´ısticas se compone de un conjunto de t´ecnicas cuyo objetivo es mejorar el rendimiento de los modelos predictivos [20]. En este caso, las t´ecnicas de ingenier´ıa de caracter´ısticas que se utilizan en el documento tienen un enfoque basado en el modelo. El funcionamiento es simple, en base a un umbral de importancia dado, el propio modelo predictivo decide la importancia de cada atributo y descarta todos aquellos con un nivel de importancia menor. As´ı, todos aquellos atributos que solo a˜naden incertidumbre o ruido para la tarea de clasificaci´on son eliminados. 3.2.6. Sobremuestreo En algunas ocasiones, las datos se encuentran distribuidas de manera poco equitativa. Esto provoca que la proporci´on en la cual se encuentran las diferentes etiquetas sea muy desigual. Un ejemplo de datos poco balanceados: un conjunto de 1000 datos formado por las Trabajo de Fin de Grado 17 CAP´ ITULO 3. FUNDAMENTOS TE ´ ORICOS visitas a una tienda on-line donde s´olo 10 casos han realizado una compra. De esta manera, el modelo tiene muy pocos ejemplos para aprender a clasificar correctamente aquellos casos en los cuales se realiz´o la compra. Una soluci´on a este problema es el sobremuestreo, aplicado en este proyecto. En el sobremuestreo se generan casos de la clase en minor´ıa para reducir la desigualdad. Esta generaci´on de casos se realiza mediante la ’perturbaci´on’ de casos ya existentes. Creando nuevos casos que son similares pero no iguales, el modelo tiene m´as oportunidades para aprender a clasificarlos correctamente [12]. Hay diferentes t´ecnicas para ello, la aplicada en este proyecto se denomina ADASYN. ADASYN hace uso de una distribuci´on con pesos para cada etiqueta en minor´ıa, as´ı, genera ejemplos de esa clase mejorando los resultados en la clasficaci´on reduciendo la parcialidad [11]. 3.3. ¿Qu´e es la miner´ıa de procesos? La miner´ıa de procesos se compone por un conjunto de t´ecnicas de miner´ıa de datos que permiten extraer informaci´on de logs de eventos para descubrir, monitorizar y mejorar procesos [4]. Esta informaci´on puede ser analizada para tomar forma de decisiones de negocio o estrat´egicas para optimizar los procesos o simplemente para conocer el propio funcionamiento de los mismos. Sin embargo esto genera las siguientes preguntas ¿qu´e es un proceso y en qu´e consiste la miner´ıa de datos? Figura 3.4: Estructura de la miner´ıa de procesos (fuente: [4]) Por un lado, un proceso es un conjunto estructurado de actividades o tareas realizados por un actor con un objetivo particular. Un ejemplo de proceso, ser´ıa el flujo de trabajo seguido durante la escritura colaborativa de un art´ıculo en Wikipedia o la cadena de tareas realizadas en un restaurante desde que se sienta el usuario hasta que su comida ha sido servida. Por otro lado, la miner´ıa de datos consiste en un conjunto de aprendizaje autom´atico y es18 Trabajo de Fin de Grado CAP´ ITULO 3. FUNDAMENTOS TE ´ ORICOS tad´ıstica cuyo objetivo es el descubrimiento de patrones en grandes cantidades de datos [9]. Por lo que en este caso, la miner´ıa de procesos se basa en los mismos principios pero aplicado a un nivel organizativo mayor: el proceso en s´ı mismo. As´ı, la miner´ıa de procesos tiene multitud de aplicaciones en diferentes ´areas, pero principalmente sirve para unir la brecha entre la miner´ıa de datos y el Business Intelligence [4]. Algunos ejemplos de empresas que han aplicado la miner´ıa de procesos con notable ´exito son Walmart o Vodafone tal y como expone Michal Rosik en [15]. Walmart aplic´o la miner´ıa de procesos para descubrir y hallar ineficiencias en el proceso de compra, hallando que el checkout no era lo eficiente que deber´ıa lo que les llev´o a poder hallar estrategias para reducir el tiempo que los usuarios perd´ıan en el proceso. Vodafone por otro lado ha conseguido aumentar el n´umero de procesos que funcionan satisfactoriamente sin intervenci´on humana en un 20 % en tan solo dos a˜nos mediante el uso de miner´ıa de procesos seg´un expone el art´ıculo de Rosik. Adem´as de en la industria, la miner´ıa de procesos se ha aplicado en diferentes investigaciones con ´exito en ´ambitos como la educaci´on ([6]) para estudiar los procesos seguidos por escuelas o academias o en la escritura de conocimiento colaborativa dentro de trabajos realizados por estudiantes en un contexto muy similar al de este proyecto ([19]). Los requisitos de cara a poder realizar miner´ıa de procesos son pocos, s´olo necesitamos un log de eventos. Un log de eventos no es m´as que un fichero de texto donde almacenamos informaci´on proveniente de bases de datos, transacciones... Es decir, son colecciones de secuencias de eventos. Figura 3.5: Ejemplo de log de eventos Un ejemplo de un conjunto de datos que podr´ıa ser considerado un log de eventos puede ser observado en la figura 3.5. Como vemos se compone de diversos atributos habituales en ficheros de datos: id, timestamp, t´ıtulo... Sin embargo, para poder aplicar t´ecnicas de miner´ıa de procesos es necesario un formato espec´ıfico para almacenar los datos: el formato XES. 3.3.1. Punto de comienzo: el formato XES XES es el formato est´andar de la IEEE Task Force en miner´ıa de procesos [4]. El nombre proviene de eXtensible Event Stream y se trata de un est´andar que define una gram´atica para un lenguaje de marcado cuyo objetivo es proveer a los dise˜nadores de los sistemas de informaci´on de una metodolog´ıa unificada para capturar el comportamiento de un sistema mediante log de eventos y torrentes de eventos [23]. Este lenguaje de marcado sobre el que se basa es el XML. Trabajo de Fin de Grado 19 CAP´ ITULO 3. FUNDAMENTOS TE ´ ORICOS Figura 3.6: Diagrama de la estr´uctura del formato XES (fuente: http://www.xes-standard. org/_media/xes/xes_standard_proposal.pdf) El XML o lenguaje de marcado extensible no es m´as que un conjunto de reglas de codificaci´on para hacer un documento legible tanto para un humano como para una m´aquina. Fue desarrollado por el World Wide Web Consortium (W3C) con foco en la simplicidad y la generalidad [7]. Algunas de las aplicaciones que hacen uso de este tipo de archivos son por ejemplo ProM, detallada en el cap´ıtulo 4, Disco desarrollada por Fluxicon con el foco en la creaci´on de visualizaciones muy cuidadas de los procesos encontrados en los datos o QPR ProcessAnalyzer un programa de nivel empresarial para aplicar t´ecnicas de miner´ıa de procesos de manera sencilla y r´apida. La estructura de de los archivos XES puede verse en el esquema 3.6. La base del formato XES y de los logs de eventos es asumir que es posible guardar secuencialmente eventos de modo que cada evento se refiera a una actividad y est´e asociado a un caso particular (traza) [4]. Adem´as, los logs de eventos pueden guardar otra informaci´on extra en forma de atributos como el actor del evento iniciando o finalizando la actividad, la marca de tiempo o timestamp o datos relativos al evento. Las trazas representan cada caso del proceso a analizar. Por ejemplo, en un log de 20 Trabajo de Fin de Grado CAP´ ITULO 3. FUNDAMENTOS TE ´ ORICOS eventos compuesto por las revisiones realizadas en diferentes art´ıculos de Wikipedia, cada traza podr´ıa ser representada por cada art´ıculo. Los eventos reflejan cada acci´on/actividad dentro de cada caso del proceso (traza). Continuando con el ejemplo anterior, los eventos estar´ıan representados por cada revisi´on realizada a cada art´ıculo. Dentro de un log de eventos, el atributo que determina cada evento toma el nombre de concept:name. De entre los posibles atributos que puedan tener una traza o evento es importante la existencia de una marca de tiempo o timestamp para cada evento. En el caso del ejemplo anterior, el timestamp ser´ıa la hora a la que se realiz´o una revisi´on. En un log de eventos el atributo que representa el timestamp es llamado time:timestamp. Otro de los posibles atributos existentes en cada traza o evento es el actor que realiza el evento. Siguiendo la misma linea que anteriormente, esto estar´ıa representado por el nombre o id del editor que realiza una revisi´on. En un log de eventos esto es denominado org:resource. Figura 3.7: Ejemplo de evento en XML La figura 3.7 representa en XML el aspecto que tendr´ıa un evento dentro de un log de eventos. Como vemos, nos encontramos con org:resource, concept:name y time:timestamp adem´as de otros atributos adicionales. Lifecycle:transition representa si el evento est´a comenzando o finalizando, en el caso del ejemplo, finalizando pues indica que ha sido completado. 3.3.2. Descubriendo los procesos Figura 3.8: Descubrimiento de los procesos dentro de un log de eventos La principal t´ecnica y la m´as utilizada dentro de la miner´ıa procesos es el descubrimiento. El descubrimiento consiste en la generaci´on de un modelo que represente los procesos existentes dentro del log de eventos. Las t´ecnicas de descubrimiento parten de un log de eventos para generar un modelo sin ninguna informaci´on a piori [4]. Estas t´ecnicas se basan en diferentes Trabajo de Fin de Grado 21 CAP´ ITULO 3. FUNDAMENTOS TE ´ ORICOS algoritmos de miner´ıa que hacen uso de estad´ıstica y aprendizaje autom´atico para buscar estos patrones existentes en los datos que representan un proceso y generar una salida que representa los procesos existentes en el log de eventos mediante una red de petri. Dentro de la multitud de algoritmos de miner´ıa existentes dentro de la miner´ıa de procesos destacan: Alpha Miner: Fue el primer algoritmo de miner´ıa de procesos en desarrollarse y como tal tiene ciertos problemas graves. El principal problema es que es demasiado simple para representar procesos seguidos en log reales por lo que su inter´es es principalmente te´orico. Examina las relaciones entre los diferentes eventos generando un modelo donde cada transici´on representa una tarea observada. Minero heur´ıstico: Se trata de una mejora respecto al algoritmo Alpha Miner. El minero heur´ıstico se centra en el flujo de control considerando solo el orden de los eventos dentro de cada evento [22]. Por lo cual un log de eventos con timestamp es necesario de cara a hacer uso de este algoritmo. Adem´as, tiene en cuenta las frecuencias de aparici´on pudiendo filtrar comportamiento infrequente y permite saltarse las actividades individuales. Minero inductivo: El minero inductivo garantiza la generaci´on de modelos ’sound’ que traducido de modo literal implica modelos ’buenos’. ’Soundness’ es una caracter´ıstica que implica que todo el comportamiento observado en el log de eventos puede ser reproducido por el modelo generado. Para esto, el algoritmo genera un arbol que representa el proceso, lo cual logra diviendo en log del modo m´as optimo posible hasta generar el ´arbol/es. Sin embargo, esto puede dar lugar a modelos dificiles de interpretar. Al tratar de generar modelos que representen todo el comportamiento observable en el log de eventos como m´ınimo, el minero inductivo puede recurrir a modelos en forma de flor. Un modelo en forma de flor es aquel que permite cualquier tipo de comportamiento en base a un tipo dado de actividades. 3.3.3. Redes de Petri Las redes de petri son un modelo abstracto y formal de mostrar un flujo de informaci´on [13]. Permiten mostrar el flujo que sige un proceso de principio a fin representando as´ı los proceso descubiertos en un log de eventos. Definici´on de una red de petri: Una red de petri es una tupla N = (P, T, F) donde P es el conjunto de lugares, T de transiciones, P∩T= 0 yF⊆(P xT )∪(T xP )la relaci´on del flujo [1] Con esto en cuenta, en la imagen 3.9 podemos ver una red de petri (P, T, F) donde P ={Start, P1, end}, T = {T1, T2, T3}y F = {(Start, T1), (Start, T2), (T2, P1), (P1, T3), (T3, End), (T1, end)}. As´ı, la red comienza en el lugar Start y finaliza en End pasando por las diferentes transiciones. El flujo podr´ıa ser o bien de Start a T1 y de ah´ı a End o bien de Start a T2 y hasta llegar a End para finalizar el proceso. Esto ser´ıa traducido en que el proceso representado por la red de la figura escenifica dos posibles caminos, o bien el proceso sigue el camino de la acci´on determinada en la transici´on T1 o bien sigue el camino 22 Trabajo de Fin de Grado CAP´ ITULO 3. FUNDAMENTOS TE ´ ORICOS Figura 3.9: Ejemplo de una red de petri compuesto por las transiciones T2 y T3 pero en ning´un caso ambos caminos simultaneamente. No obstante, las redes de petri generadas no suelen representar el posible proceso existente al 100 % incluso en el caso del minero inductivo. Es por esto que existe una m´etrica llamada fitness la cual mide en que medida el log de eventos puede ser reproducido en el modelo representado por la red de petri. Es decir, que porcentaje de todos los eventos y casos observados en el log son representados y pueden ser reproducidos en la red. Un valor de 0 implicar´ıa que la red generada no representa en absoluto el log de eventos y de 1 que todo comportamiento observado en el log de eventos puede reproducirse en la red de petri obtenida. 3.3.4. De la miner´ıa de procesos a la miner´ıa social Para complementar un an´alisis realizado mediante miner´ıa de procesos para descubrir los procesos existentes dentro de un log de eventos, se pueden aplicar t´ecnicas de miner´ıa social para descubrir tambi´en las relaciones existentes entre los diferentes actores del log. L´as t´ecnicas de miner´ıa social hacen uso de t´ecnicas de sociometr´ıa y de an´alisis de redes sociales [3]. La utilidad que tienen son la posibilidad de observar y conocer las posibles relaciones existentes entre los diferentes actores (org:resource) que aparecen a lo largo de un log de eventos. Estos algoritmos son implementados en ProM mediante la librer´ıa basada en las m´etricas establecidas por Wil M.P. van der Aalst [2]. Representan las relaciones existentes en forma de grafo donde cada cada es un nodo y cada arista una relaci´on, dependiendo el peso de la intensidad de esta relaci´on. Se pueden hacer uso de diferentes m´etricas para obtener las relaciones entre los diferentes autores en un log: 1. Handover of Work: Se define como Handover Of Work como el relevo en el trabajo de un individuo ia un individuo jsi hay dos actividades subsecuentes entre ellos dentro de un log de eventos. [2] Es decir, si despu´es de editar iedita jse establece una relaci´on entre ellos. Estos individuos iyjson representados mediante nodos y su conexi´on mediante aristas, variando el peso en funci´on de lo fuerte que sea la relaci´on entre ellos. 2. Subcontracting: Subcontracting cuenta el n´umero de veces que un individuo jejecuta una actividad entre dos actividades ejecutadas por el individuo i[2]. Es decir, si iedita, j edita e ivuelve a editar, se establece una relaci´on de iaj. As´ı, siendo iyjrepresentado como nodos su relaci´on se establece mediante una arista com´un cuyo peso depender´a de las veces que suceda la relaci´on. Trabajo de Fin de Grado 23 Cap´ıtulo 5 Procesamiento de los historiales de revisi´on Durante este cap´ıtulo, se detallar´a el proceso seguido desde la descarga del historial de revisiones de un art´ıculo en Wikipedia, hasta la generaci´on de los datos a analizar mediante la miner´ıa de procesos. As´ı, el proceso consta de un n´umero reducido de pasos, representados en la figura 5.1: Descarga de datos: descarga inicial del conjunto de datos para el desarrollo del proyecto de Wikipedia: los historiales de revisi´on. Extracci´on de informaci´on: Se extrae solamente informaci´on ´util de los historiales de revisi´on. Obtenci´on de caracter´ısticas: Se comparan las diferentes revisiones en cada art´ıculo, generando un conjunto de atributos que servir´an para determinar las intenci´ones tras cada revisi´on (recuadrado en rojo en el esquema 5.1). Cambio de formato: Este paso es necesario para adecuar el formato de los archivos resultado del paso previo al requerido en el pr´oximo punto (recuadrado en verde en el esquema 5.1). Generaci´on y an´alisis del modelo predictivo: Generaci´on de diferentes modelos predictivos en busca de aquel con el rendimiento m´as ´optimo en la tarea de predicci´on de intenciones. Trabajo de Fin de Grado 29 CAP´ ITULO 5. PROCESAMIENTO DE LOS HISTORIALES DE REVISI ´ ON Figura 5.1: Proceso seguido durante el procesamiento de los historiales de revisi´on de Wikipedia 5.1. Descarga de datos El primer paso de todos es la descarga de los datos iniciales. Estos datos, pueden ser obtenidos de Wikipedia ya sea en forma de un art´ıculo espec´ıfico o un conjunto de art´ıculos en un archivo de texto plano. Para esto, se hace uso del script wiki dump downloader.py (11). Este script ha sido desarrollado en base a https://phabricator.wikimedia.org/ diffusion/PWBC/browse/master/scripts/maintenance/download_dump.py. La diferencia principal con el c´odigo en el cual el script est´a basado, es la eliminaci´on de las dependencias con la libreria PyWiki, adem´as de la adici´on de numerosas utilidades, como la selecci´on del idioma de la Wiki escogida, la posibilidad de pasar por par´ametro una lista de art´ıculos a descargar, y la uni´on de las diferentes partes descargadas (pues los art´ıculos son descargados separados en diferentes fragmentos de menor tama˜no) en una sola. A priori, este script sirve, por tanto, para descargar el historial de revisiones de un art´ıculo espec´ıfico o de una lista de art´ıculos en una Wikipedia de un lenguaje espec´ıfico (e.j Wikipedia espa˜nola). El archivo descargado tendr´a formato XML y ser´a un archivo de elevado peso. Es 30 Trabajo de Fin de Grado CAP´ ITULO 5. PROCESAMIENTO DE LOS HISTORIALES DE REVISI ´ ON por esto, que se necesita convertir el formato del archivo en otro formato m´as facil de manejar, lo que conduce al siguiente paso de este proceso: la extracci´on de informaci´on de estos archivos XML obtenidos. 5.2. Extracci´on de informaci´on Para extrar informaci´on del XML descargado se utiliza el analizador desarrollado por Abel Serrano Juste, wiki dump parser.py (11) como parte de un conjunto de scripts para Wikipedia. Este script recibe como entrada el conjunto hist´orico de revisiones de un art´ıculo en formato XML y lo convierte en un CSV legible con informaci´on ´util. Esta informaci´on est´a compuesta por los siguientes atributos: 1. Id de art´ıculo. 2. T´ıtulo de art´ıculo. 3. Id de revisi´on. 4. Timestamp. 5. Id editor. 6. Nombre editor (nombre de usuario). 7. Bytes del art´ıculo tras la edici´on. 5.3. Obtenci´on de caracter´ısticas El objetivo es obtener las diferentes caracter´ısticas de cada revisi´on en comparaci´on con la revisi´on previa como por ejemplo, que palabras han sido eliminadas/a˜nadidas o de que manera el formato ha sido editado. El flujo de trabajo a seguir se puede observar en el recuadro rojo del esquema 5.1. Para ello, hacemos uso del proceso seguido en la investigaci´on ’Identificando intenciones sem´anticas en las revisiones de Wikipedia’ ([24]). En la investigaci´on, se crea una taxonom´ıa de intenciones existentes tras cada revisi´on. Estas intenciones, se pueden determinar gracias los cambios realziados en cada revisi´on. Para lograr estas caracter´ısticas, hacen uso de los resultados obtenidos mediante la aplicaci´on de un comparador online de la API de Wikipedia, en combinaci´on con un conjunto de scripts realizados por los autores (11). Sin embargo, ha habido que realizar modificaciones para conseguir adaptar su flujo de trabajo a este proyecto. En primer lugar, ha habido que actualizar librer´ıas obsoletas y adaptar los par´ametros de entrada para poder a˜nadir lenguaje de la Wikipedia utilizada. Gracias a esto, es posible hacer una comparaci´on entre las diferentes revisiones generando un fichero de salida que cuenta con 208 atributos. Estos 208 atributos se encuentran estructurados en tres grupos. El primero se compone de atributos asociadas al propio editor del Trabajo de Fin de Grado 31 CAP´ ITULO 5. PROCESAMIENTO DE LOS HISTORIALES DE REVISI ´ ON art´ıculo, el segundo se compone de 16 atributos en base al comentario escrito por el editor respecto a su revisi´on, y el tercer grupo consta de los restantes 198 atributos y consiste de detalles de la comparaci´on de Wikipedia [24]. La entrada de este conjunto de scripts requiere de un conjunto de parejas de id’s de revisi´on e intenciones asociadas. Dado que no se cuenta con esas intenciones asociadas en nuevos art´ıculos que se acaben de descargar, se asigna siempre 0 en la intenci´on por defecto. As´ı, una vez se tiene el fichero resultado del analizador previamente mencionado1, se utiliza el script llamado revision id extractor.py (11). Su funci´on es extraer el id de revisi´on de cada revisi´on de los art´ıculos seleccionados generando un nuevo archivo, compuesto por el id de revisi´on y una etiqueta de 0 asignada autom´aticamente como intenci´on. Con este archivo, se llama al conjunto de scripts para generar las 207 caracter´ısticas en base a las diferencias entre revisiones. Es importante mencionar que debido a que el comparador de Wikipedia se realiza online en sus propios servidores, este proceso conlleva un elevado n´umero de horas para un conjunto grande de revisiones, siendo una limitaci´on real de cara a analizar comunidades muy grandes. 5.4. Cambio de formato Debido a que la salida del comparador utilizado tiene formato arff, es necesario realizar un cambio de formato a csv por motivos de simplicidad de cara a futuras secciones. Para ello, se hace uso del script arffToCsv.py (11). Se trata de un script ligero y simple que cumple con su funci´on. El siguiente y ´ultimo paso es la elaboraci´on de un modelo predictivo. 5.5. Generaci´on y an´alisis de modelos predictivos El objetivo principal de esta subsecci´on es explicar el proceso seguido en la generaci´on de un modelo predictivo para asignar una o varias intenciones a cada revisi´on realizada al art´ıculo objeto del estudio, en base a la taxonom´ıa sem´antica de intenciones previamente introducida. Para esto, se cuenta con un conjunto de revisiones elaborado para la citada investigaci´on ([24]) que ser´a utilizado como entrenamiento a la hora de determinar el mejor modelo m´as eficiente. Con el objetivo de obtener un modelo predictivo que sea capaz de generar los resultados m´as precisos posibles, se entrenar´an diferentes modelos basados en variados algoritmos de clasificaci´on tales como el bosques aleatorios o m´aquinas de soporte de vectores o k-vecinos m´as cercanos. Adem´as, se aplicar´an diferentes t´ecnicas para optimizar los resultados como la ingenier´ıa de caracter´ısticas, el sobremuestreo, o la normalizaci´on de los datos. Una vez creado el mejor modelo predictor posible, este es exportado de cara a automatizar el proceso para futuros art´ıculos que se quieran analizar. 1wiki dump parser.py (11) 32 Trabajo de Fin de Grado CAP´ ITULO 5. PROCESAMIENTO DE LOS HISTORIALES DE REVISI ´ ON feats 0 feats 1 feat 2 feats 3 feats 4 feats 5 ... other wikification vandalism simplification elaboration verifiability process clarification disambiguation point-of-view 741692138 0.0 0.0 -1.0 0.0 555.0 ... 1 0 0 0 0 0 0 0 0 0 710764506 0.0 0.0 -1.0 0.0 3.0 ... 1 0 0 0 0 0 0 0 0 0 711588802 0.0 0.0 -1.0 0.0 9.0 ... 0 0 0 0 0 0 0 0 0 0 709526386 0.0 0.0 -1.0 0.0 326.0 ... 0 0 0 0 0 0 0 0 0 0 713098731 0.0 0.0 -1.0 0.0 190.0 ... 0 0 0 0 0 0 0 0 0 0 Tabla 5.1: Vistazo general de los datos 5.5.1. Datos iniciales Inicialmente contamos con el conjunto de datos generado para la investigaci´on ’Identificando intenciones sem´anticas en las revisiones de Wikipedia’. Cuenta con 5684 revisiones de art´ıculos de Wikipedia con intenciones asignadas a mano [24]. El conjunto de revisiones, como se puede observar en la tabla 5.1 est´a formado por 208 atributos y 14 etiquetas binarias diferentes, una por cada intenci´on. Los atributos destacan por su dificil interpretabilidad. Son de tipo escalar y con nombres que no aportan ninguna informaci´on a priori. Adem´as, para facilidad en el futuro uso de las predicciones generadas, el id de revisi´on ha sido a˜nadido como feats 0. Por ultimo, todos los valores de los atributos son correctos y no hay valores perdidos. Figura 5.2: Distribuci´on de intenciones en el conjunto de datos Una vez que se conoce el formato de los datos, el pr´oximo paso es realizar un an´alisis exploratorio de los mismos. En la figura 5.2, podemos ver la distribuci´on de las intenciones en el conjunto de datos. Se observa que no hay una distribuci´on equitativa de intenciones. Intenciones como other, counter vandalism, disambiguation, point of view o vandalism se encuentran en proporciones inferiores al 3 % mientras que Wikification aparece en el 41 % de las revisiones. El caso m´as serio se da en la intencion other. El objetivo de esta intenci´on es determinar que en esa revision se ha hecho algo diferente a todo lo dem´as. Sin embargo, dada su frecuencia de aparici´on, podr´ıa no ser considerada. Trabajo de Fin de Grado 33 CAP´ ITULO 5. PROCESAMIENTO DE LOS HISTORIALES DE REVISI ´ ON Figura 5.3: Revisiones con m´ultiples intenciones Figura 5.4: Distribuci´on de las intenciones en porcentajes Por otro lado, en lo que a revisiones con multiples intenciones se refiere, nos encontramos con que la figura 5.3 muestra una cantidad relativamente alta de ediciones con m´as de una intenci´on. Sin embargo, seg´un aumenta el n´umero de intenciones por revisi´on, decrece exponencialmente la frecuencia a la que esto sucede. S´olo un 0,1 % de las revisiones tienen cinco intenciones, alcanzando un 15 % revisiones con dos intenciones. As´ı, el 80 % de todas las revisiones del dataset solo poseen una intencionalidad. En base a estos datos obtenidos, de cara a obtener el modelo predictor m´as optimo posible, se han aplicado dos tipos de clasificaci´on: 1. Clasificaci´on binaria: La clasificaci´on binaria es aquella en la que la etiqueta toma los valores discretos 0 o 1. De esta manera, el objetivo es la generaci´on de un modelo clasificador a medida para cada intenci´on. Es decir: un modelo para predecir wikification, otro para vandalism, etc... El resultado final constar´ıa de trece modelos predictivos diferentes donde la etiqueta, en cada intenci´on, toma el valor 0 en caso de no encontrar esa intenci´on en la revisi´on o 1 en caso positivo. 34 Trabajo de Fin de Grado CAP´ ITULO 5. PROCESAMIENTO DE LOS HISTORIALES DE REVISI ´ ON 2. Clasificaci´on multi-etiqueta: La clasificaci´on multi-etiqueta es aquella en la que la etiqueta puede tomar un conjunto discreto de valores (por ejemplo: [0pajaro, pez, reptil]) que pueden aparecer combinados. En este caso, un solo modelo puede predecir todas las intenciones de la taxonom´ıa en una revisi´on al mismo tiempo, siendo las etiquetas, el conjunto de intenciones. Esencialmente, el objetivo es realizar una clasificaci´on donde se obtengan las posibles diferentes intenciones que suceden naturalmente en cada revisi´on. Para poder evaluar cada modelo y compararlos en justas condiciones, hay que sentar unas m´etricas de base. 5.5.2. M´etricas de evaluaci´on Las m´etricas ha utilizar ser´an aquellas introducidas durante el cap´ıtulo 3de este documento en la secci´on de aprendizaje autom´atico: Precisi´on: Representa el n´umero positivos verdaderos dividido entre la suma de los positivos verdaderos y los positivos falsos. Sensibilidad: Representa el n´umero de positivos verdaderos entre los positivos verdaderos y los negativos falsos. F1: Se trata de una combinaci´on de precisi´on y sensibilidad. Matriz de confusi´on: Sirve para describir el rendimiento de un modelo predictivo mostrando visualmente los PV, PF, NV y NF. Las matrices de confusi´on mostradas durante este cap´ıtulo, se encuentran limitadas en su capacidad expresiva. La librer´ıa que permite representarlas no permite que por cada ejemplo pueda haber m´as de una etiqueta. Como hemos visto, hay revisiones con m´as de una intenci´on. Esto hace que solo se escoja una sola intenci´on por revisi´on, eliminando, por tanto, parte de los resultados. Por este motivo, solo sirven a modo de orientaci´on y las m´etricas que muestran ( % de clasificaciones err´oneas) son incorrectas al no tener en cuenta todos los datos y pueden no corresponder con lo observado en precisi´on, sensibilidad y F1. 5.5.3. Clasificaci´on binaria La clasificaci´on binaria es aquella en la que la etiqueta toma los valores discretos 0 o 1. De esta manera, el objetivo es la generaci´on de un modelo clasificador a medida para cada intenci´on. Es decir: un modelo para predecir wikification, otro para vandalism, etc... El resultado final constar´ıa de trece modelos predictivos diferentes donde la etiqueta, en cada intenci´on, toma el valor 0 en caso de no encontrar esa intenci´on en la revisi´on o 1 en caso positivo. Como consideraciones iniciales, se ha eliminado la intencion other al no aportar informaci´on extra y se ha eliminado la aleatoriedad en la generaci´on de muestras y modelos para facilitar la reproducibilidad. Para validar los diferentes modelos se hace uso de la validaci´on cruzada con cuatro iteraciones. Trabajo de Fin de Grado 35 CAP´ ITULO 5. PROCESAMIENTO DE LOS HISTORIALES DE REVISI ´ ON Figura 5.5: Proporcion de positivos y negativos por intencion As´ı, el conjunto de datos ha de ser divido por el n´umero de intenciones diferentes. En este caso se generan trece etiquetas diferentes, uno por cada intenci´on. De esta manera quedar´ıa la proporci´on de positivos y negativos en cada intenci´on observada en la figura 5.5. Las t´ecnicas de aprendizaje autom´atico y los modelos que se han aplicado han sido los siguientes: 1. Clasificadores de prueba: Mediante un clasificador que se base en reglas simples prefijadas, obtenemos unas m´etricas que establencen un rendimiento m´ınimo a superar por el resto de clasificadores. 2. Bosques aleatorios: Se aplicar´an algoritmos de bosque aleatorio que hace uso de n ´arboles de decisi´on para generar las predicciones. 3. M´aquinas de soporte de vectores: Se modelar´an m´aquinas de soporte de vectores. 4. Sobremuestreo: El objetivo es conseguir un conjunto de datos donde las intenciones se encuentren divididas equitativamente. 5. Ingenier´ıa de caracter´ısticas: Se tratar´a de optimizar los atributos del conjunto de datos para facilitar la tarea de predicci´on a los diferentes modelos. Clasificadores de prueba El motivo de la creaci´on de un modelo con un clasificador de prueba es el de establecer unos m´ınimos valores de rendimiento para los dem´as clasificadores. As´ı, el clasificador seleccionado es el clasificador de prueba de Scikit-learn, el cual hace predicciones bas´andose en reglas simples [17]. En este caso, la estrategia que sigue es llamada ’estratificaci´on’ que predice bas´andose en la proporci´on de las etiquetas. Los resultados obtenidos son los observables en 36 Trabajo de Fin de Grado CAP´ ITULO 5. PROCESAMIENTO DE LOS HISTORIALES DE REVISI ´ ON Figura 5.6: Resultados por intencion del clasificador de prueba la tabla de la imagen 5.6. En general, son valores muy pobres. Las intenciones con menor frecuencia de aparici´on son las m´as perjudicadas, como se puede ver en los valores de precision y sensibilidad de point-of-view, disambiguation o counter-vandalism. Observando la matriz de confusi´on, se ve como efectivamente la matriz principal se encuentra compuesta de valores muy reducidos, explicando los valores encontrados en la tabla. Bosques aleatorios Los resultados por intenci´on de los bosques aleatorios se pueden consultar en la figura 5.9. En general, se observa que los resultados son mejores que los obtenidos por los clasificadores de prueba. Los valores de precisi´on son altos. Sin embargo, la sensibilidad es generalmente baja, con excepciones. Se puede ver claramente como aquellas intenciones en minor´ıa son las que poseen valores de sensibilidad muy bajos. Esto, indica que el clasificador est´a asignando m´as negativos de los que deber´ıa, mientras que hay un valor muy bajo de positivos falsos. En lineas generales, son modelos con una capacidad predictora d´ebil. Observando su matriz de confusi´on vemos como su diagonal principal obtiene tonos m´as oscuros que el clasificador previo. M´aquinas de soporte de vectores Se han utilizado m´aquinas de soporte de vectores lineales. Se ha aplicado un escalado de los datos los datos de modo que sus valores se encuentren m´as uniformemente repartidos. Los resultados pueden consultarse en la tabla de la imagen 5.10. Trabajo de Fin de Grado 37 CAP´ ITULO 5. PROCESAMIENTO DE LOS HISTORIALES DE REVISI ´ ON Figura 5.13: Matriz de confusi´on tras realizar el sobremuestreo en los bosques aleatorios Figura 5.14: Resultados con ingenier´ıa de caracter´ısticas y sobremuestreo en los bosques aleatorios 44 Trabajo de Fin de Grado CAP´ ITULO 5. PROCESAMIENTO DE LOS HISTORIALES DE REVISI ´ ON Figura 5.15: Matriz de confusi´on con ingenier´ıa de caracter´ısticas y sobremuestreo de los bosques aleatorios Figura 5.16: Resultados de de los bosques aleatorios finales Trabajo de Fin de Grado 45 CAP´ ITULO 5. PROCESAMIENTO DE LOS HISTORIALES DE REVISI ´ ON Figura 5.17: Matriz de confusi´on de los bosques aleatorios finales Precisi´on Sensibilidad micro F1 0.760734 0.474013 0.584657 Tabla 5.4: Bosque aleatorio final multi-etiqueta Los mejores resultados obtenidos durante esta clasificaci´on han sido obtenidos mediante el uso, de nuevo, de un bosque aleatorio con ingenier´ıa de caracter´ısticas. En este caso, no se ha utilizado sobremuestreo. Se pueden consultar sus resultados en la tabla 5.4. Se observa que aunque la precisi´on es alta, el valor de sensibilidad es muy bajo en comparaci´on, dando lugar a un F1 ligeramente ’enga˜noso’. 46 Trabajo de Fin de Grado CAP´ ITULO 5. PROCESAMIENTO DE LOS HISTORIALES DE REVISI ´ ON 5.5.5. Conclusiones En definitiva, est´a claro que los clasificadores tienen problemas prediciendo las diferentes intenciones que pueden existir detr´as de una revision. A pesar de utilizar dos enfoques diferentes y distintos algoritmos, en ning´un caso los resultados muestran un rendimiento alto. Sin embargo, no siempre es posible obtener clasificaciones perfectas y es por esto que el tipo de datos que se est´e prediciendo es muy importante. El rendimiento de estos clasificadores a´un puede ser incrementado. Con conocimiento del dominio suficiente, se podr´ıa ajustar el conjunto de datos existente para reducir ambiguedades entre las diferentes intenciones o eliminar por completo atributos que no sean necesarios para determinadas intenciones. Sin embargo, eso se escapa al objetivo de este an´alisis. Algoritmo Precision sensibilidad F1 micro Bosques aleatorios binarios 0.630408 0.645388 0.63781 Bosque aleatorio multi-etiqueta 0.760734 0.474013 0.584657 Tabla 5.5: Micro media de los resultados de los modelos finales de cada enfoque El conjunto de bosques aleatorios de la clasificaci´on binaria ha tenido un rendimiento mayor que la clasificaci´on multi-etiqueta, aunque en ambos casos, el tipo de algoritmo con mejores resultados haya sido el mismo. Mientras que los bosques aleatorios binarios han obtenido un valor de micro F1 de 0,63781 y una precision y un sensibilidad de 0,630408 y 0,645388 respectivamente, el bosque aleatorio multi-etiqueta tiene un valor de micro F1 de 0,584657 y valores de precision y sensibilidad de 0,760734 y 0,474013 respectivamente. Por tanto, el enfoque seleccionado para hacer futuras clasificaciones de revisiones ser´a el conjunto de bosques aleatorios utilizados en la clasificaci´on binaria. Figura 5.18: Gr´afica con resultados de modelos finales En definitiva y como se puede ver en la figura 5.18, los bosques aleatorios de la clasificaci´on binaria superan a los dem´as en sensibilidad y micro F1, solo estando ligeramente por debajo en precisi´on frente al bosque aleatorio multi-etiqueta. Por otro lado, se ha conseguido obtener mejores resultados de precisi´on, sensibilidad y micro F1 que aquellos obtenidos en Trabajo de Fin de Grado 47 CAP´ ITULO 5. PROCESAMIENTO DE LOS HISTORIALES DE REVISI ´ ON ’Identificando intenciones sem´anticas en las revisiones de Wikipedia’ ([24]), con valores de 0,613 en micro F1, 0,578 en sensibilidad y 0,599 en precisi´on en su modelo que hace uso del algoritmo k-vecinos m´as cercanos en su versi´on multi-etiqueta. 48 Trabajo de Fin de Grado Cap´ıtulo 6 An´alisis con miner´ıa de procesos Tal y como se explica en el cap´ıtulo 3, la miner´ıa de procesos se compone de un conjunto de t´ecnicas de miner´ıa que permiten extraer informaci´on de logs de eventos para descubrir, monitorizar y mejorar procesos [4]. Esta informaci´on puede ser analizada para tomar forma de decisiones de negocio o estrat´egicas para optimizar los procesos o simplemente para conocer el propio funcionamiento de los mismos. Para ello, se hace uso de logs de eventos. Un log de eventos se compone de informaci´on proveniente de bases de datos, transacciones... y pueden considerarse una colecci´on de secuencias de eventos ya que se asume que es posible guardar secuencialmente eventos de modo que, cada evento, denote una actividad (evento) y est´e asociado a un caso particular (traza). Tal y como se ha comentado anteriormente incrementar la eficiencia de un proceso no es lo que hace interesante a la miner´ıa de procesos de cara al estudio objeto de este proyecto, si no el propio descubrimiento de los procesos inherentes a la edici´on y evoluci´on de los art´ıculos destacados en comunidades de conocimiento colaborativo abiertas como la Wikipedia espa˜nola. De esta manera, el objetivo de usar la miner´ıa de procesos es descubrir y analizar el flujo de trabajo que siguen los propios articulos desde su creaci´on hasta la fecha actual en caso de que este exista, as´ı como los posibles procesos existentes dentro del comportamiento de los propios editores. La herramienta escogida para aplicar las t´ecnicas de miner´ıa de procesos es ProM tools 8.6 tal y como ha sido comentado previamente durante el cap´ıtulo 4y3. El proceso a seguir ser´a el siguiente: 1. Obtenci´on de datos: En este apartado se explicar´a el proceso a seguir para obtener el log de eventos de cara a aplicar las t´ecnicas de miner´ıa de procesos. Se determinar´a de manera clara cuales son los log de eventos que ser´an utilizados durante las dem´as secciones de este cap´ıtulo. 2. Transformaci´on a XES: Se centra en la conversi´on del log de eventos al formato est´andar de la miner´ıa de procesos: XES. Determinando de manera clara su estructura y utilidad Trabajo de Fin de Grado 49 CAP´ ITULO 6. AN ´ ALISIS CON MINER´ IA DE PROCESOS en las futuras secciones. 3. An´alisis exploratorio de los datos: Antes de aplicar las t´ecnicas de miner´ıa se estudiar´a el log de eventos mediante la realizaci´on de diferentes gr´aficas para poder analizar visualmente el conjunto de datos de partida y as´ı obtener informaci´on acerca de la organizaci´on y estructura del log. 4. An´alisis a nivel art´ıculo: Se aplicar´a la miner´ıa de procesos de cara a descubrir los procesos existentes dentro de la evoluci´on de los art´ıculos de Wikipedia. 5. An´alisis a nivel editor: Esencialmente se har´a lo mismo que en el an´alisis a nivel de art´ıculo pero cambiando el foco de estudio. En lugar de descubrir los procesos inherentes a la evoluci´on de los art´ıculos estudiaremos aquellos seguidos por los propios editores en sus sesiones de trabajo. 6.1. Obtenci´on de datos Figura 6.1: Proceso seguido para la descarga y preparaci´on de los datos para realizar miner´ıa de procesos Durante el cap´ıtulo 5, se ha explicado el proceso seguido desde la descarga del historial de revisiones de un art´ıculo de Wikipedia hasta la predicci´on de las intenciones sem´anticas tras cada revisi´on. En la figura 6.1 podemos observar un esquema de los pasos a seguir. 50 Trabajo de Fin de Grado CAP´ ITULO 6. AN ´ ALISIS CON MINER´ IA DE PROCESOS 1. El proceso comienza con la descarga de un historial de revisiones de un art´ıculo en Wikipedia, realizado mediante el script de descarga1. En este caso, se han seleccionado los siguientes art´ıculos destacados de diferentes categor´ıas aleatoriamente de entre todos los disponibles en Wikipedia: Leche Od´ın Homer Simpson Bifaz Angkor Wat Airbus A380 ´ Acido desoxirribonucleico Tierra El motivo de la selecci´on de art´ıculos aleatorios de diferentes categor´ıas es tratar de descubrir procesos a nivel general dentro de la escritura colaborativa. Variedad de temas da lugar a variedad de editores y por tanto de estilos. 2. Una vez contamos con los XML de cada historial de revisiones de art´ıculos descargado hacemos uso del parser proporcionado por Abel Serrano Juste2que los transforma en archivos CSV dotados de id y t´ıtulo de art´ıculo y revisi´on, timestamp e id y nombre del editor adem´as del conjunto de bytes afectados en la revisi´on. 3. Con estos archivos CSV que almacenan la informaci´on de los art´ıculos seleccionados extraemos el id de cada revisi´on3y ejecutamos el conjunto de scripts de la investigaci´on base ’Identificando intenciones sem´anticas de las revisiones de Wikipedia’4. Estos scripts realizan una comparaci´on de cada revisi´on con la anterior en un art´ıculo, generando un archivo en formato arff por art´ıculo compuesto de 207 atributos y el id de revisi´on. Estos atributos hacen referencia a las diferencias encontradas en cada comparaci´on y son utilizados para la posterior predicci´on de las intenciones tras cada revisi´on. 4. Para predecir las intenciones en base a los archivos arff generados por la comparaci´on, primero, debemos cambiar su formato a CSV de nuevo lo cual realizamos mediante el uso de un script de conversi´on5. 5. Llegados a este punto, se hace uso del bosque aleatorio ajustado seleccionado en la secci´on 4.5 del cap´ıtulo 5para predecir las intenciones tras cada revisi´on del conjunto de 1wiki dump downloader.py (11) 2wiki dump parser.py (11) 3Haciendo uso del script revision id extractor.py (11) 4M´as en 11 yhttps://github.com/diyiy/Wiki_Semantic_Intention 5arffToCsv.py (11) Trabajo de Fin de Grado 51 CAP´ ITULO 6. AN ´ ALISIS CON MINER´ IA DE PROCESOS archivos csv dotados de los 207 atributos obtenidos en la comparaci´on6. Estas intenciones, al mismo tiempo que son predecidas, son a˜nadidas a los archivos CSV resultado de hacer uso del parser de Abel durante el punto 2 de esta lista. Se cuenta por lo tanto con ocho archivos csv, uno por cada art´ıculo seleccionado que contienen id y t´ıtulo de art´ıculo y revisi´on, timestamp e id y nombre del editor adem´as del conjunto de bytes afectados en la revisi´on y la intencionalidad tras la misma. El ´ultimo paso, es unir todos los archivos en uno solo denominado corpus.csv tal y como se ve en el paso final del esquema 6.1 y ser´a el fichero base de todo este capitulo. Para realizar el an´alisis a nivel art´ıculo se har´a uso de este mismo corpus.csv en su totalidad pues el objetivo es descubrir los procesos ocultos tras la elaboraci´on de art´ıculos en Wikipedia por lo que un filtrado podr´ıa alterar los resultados. Figura 6.2: Esquema del filtrado del corpus para el an´alisis a nivel editor En cambio, en la secci´on an´alisis a nivel de autor se van a generar tres ficheros diferentes filtrando por cantidad de revisiones por revisor. Como observamos en el esquema 6.2 mediante un script de filtrado7generaremos tres archivos siguiendo la siguiente pauta: Editores de actividad baja: engloba solo revisiones realizadas por autores con menos de cinco revisiones. Editores de actividad intermedia: contiene exclusivamente revisiones hechas por autores que han realizado entre cinco y cincuenta revisiones. Editores de actividad alta: Compuesto solo por aquellos con m´as de cincuenta revisiones. De este modo, a lo largo de las sucesivas seciones estos archivos ser´an referidos de la misma manera: fichero de revisiones de editores con actividad baja/intermedia/alta. El motivo de este filtrado es el siguiente: durante la secci´on an´alisis a nivel de editor el foco est´a puesto en el editor como individuo, por lo que para analizar un grupo espec´ıfico de editores es necesario poder filtrar aquel comportamiento que no nos interesa, pues solo a˜nade ruido al an´alisis. As´ı, se puede determinar si en funci´on del n´umero de ediciones existen comportamientos diferentes. 6generate predictions.py (11) 7corpus filter.py (11) 52 Trabajo de Fin de Grado CAP´ ITULO 6. AN ´ ALISIS CON MINER´ IA DE PROCESOS de eventos, que en este caso ser´a el minero heur´ıstico. De entre las opciones disponibles en ProM, se ha hecho uso de el minero heur´ıstico ya que tal como se describe en la secci´on 5.2 de este documento es un algoritmo pr´actico que puede utilizarse para explicar el comportamiento principal registrado en un log de eventos adem´as de lidiar muy bien con el posible ruido de los datos [22]. Adem´as, ha sido utilizado con ´exito en ´ambitos como la escritura colaborativa [19] y en la educaci´on [6], similares en esencia al nuestro, especialmente la escritura colaborativa ya que es precisamente en lo que se basan las comunidades de conocimiento colaborativas como las wikis. Aplicando el minero heur´ıstico con los par´ametros por defecto al corpus, obtenemos una red heur´ıstica que es transformada en red de petri autom´aticamente por ProM, con un fitness de 0.7996. Este valor, representa en una escala de 0 a 1 la porci´on de los eventos observados en el log de eventos que puede ser reproducida en la red. De este modo, se trata de un valor razonablemente alto para el contexto en el que nos encontramos. Sin embargo, es una red de petri muy compleja como para analizar a ojo (6.10). Para poder simplificar esta red de petri de modo que se pueda extraer informaci´on de ella de modo visual, se aplica una t´ecnica de aprendizaje no supervisado: clustering. El clustering consiste en agrupar un conjunto de objetos de modo que cada grupo est´e compuesto por objetos similares. En este caso, el objetivo de realizar clustering en el corpus es el de agrupar las revisiones por similitud en base a los procesos que se observen. Esto es realizado de modo trivial mediante la herramienta incluida en ProM ’Discover clusters’. Una vez que se ha aplicado ’Discover clusters’ al corpus, se utiliza tanto el conjunto de clusters obtenidos como el propio corpus y se aplica ’Discover using Decomposition’ que hace uso del minero heur´ıstico teniendo en cuenta la agrupaci´on realizada generando una versi´on descompuesta en diferentes partes de la red de petri previa (6.10). De esta manera, hemos logrado simplificar la red de petri anterior en varias redes diferentes de menor tama˜no y mayor legibilidad. As´ı, contamos con (i) la red de petri general (6.10), (ii) la red de petri descompuesta 1 (6.11), (iii) la red de petri descompuesta 2 (6.12) y (iv) el conjunto de mini redes de petri descompuestas 3 (6.13) Claramente puede verse que a´un siendo m´as simples, siguen siendo complejas de analizar para el ojo humano, tanto la red 1 (ii) como la red 2 (iii). Esto, no es sorprendente puesto que el proceso que siguen los art´ıculos durante su evoluci´on es esencialmente an´arquico en cuanto a la frecuencia o la cantidad de usuarios que colaboran, dando lugar a procesos potencialmente diferentes entre art´ıculos. No obstante, a pesar de ser un corpus de ocho art´ıculos diferentes compuesto de muchos editores diferentes y con un recorrido muy largo en el tiempo, la red es razonablemente comprensible. Se observa que los procesos est´an llenos de bucles, por lo tanto son naturalmente y de modo inevitable iterativos, no hay una sola cadena de ediciones a seguir si no muchas posibilidades diferentes. Esencialmente podr´ıa traducirse como que no existe un proceso unificado y real que se siga en Wikipedia, lo cual es esperado pues surge del conjunto de trabajo de muchos usuarios potencialmente sin colaboraci´on expl´ıcita entre ellos. Sin embargo, observamos diferencias entre las redes simplificadas. Trabajo de Fin de Grado 59 CAP´ ITULO 6. AN ´ ALISIS CON MINER´ IA DE PROCESOS Figura 6.10: Petri net obtenida con Minero Heur´ıstico 60 Trabajo de Fin de Grado CAP´ ITULO 6. AN ´ ALISIS CON MINER´ IA DE PROCESOS Figura 6.11: Petri net del proceso de edici´on tras su descomposici´on 1 6.4.1. An´alisis de la red de Petri descompuesta 1 Como vemos en la red de petri de la imagen 6.11 a grandes rasgos se observa un proceso con mucha interconexi´on y de gran complejidad. Para facilitar su an´alisis se ha dividido la red Trabajo de Fin de Grado 61 CAP´ ITULO 6. AN ´ ALISIS CON MINER´ IA DE PROCESOS en tres fragmentos para poder observarlos con m´as en detalle. Esto, est´a motivado en parte por que el inicio tiene interes especial pues ver si hay un inicio espec´ıfico dentro del proceso podr´ıa ayudar a identificarlo al mismo tiempo que el final aporta utilidad para descubrir si existen puntos finales en el proceso o es abierto y por tanto potencialmente ’infinitamente’ iterativo. El inicio de la red de petri 1 se puede ver en la figura 6.14. A simple vista resalta la cantidad de intenciones complejas que se ven en el proceso, siendo en todos casos intenciones combinadas. A priori se observa como estos posibles inicios del proceso van marcados por intenciones como refactoring+copy-editing, fact-update+refactoring+verifiability, factupdate+refactoring+wikification+elaboration... Estas intenciones observadas tendr´ıan sentido en etapas tempranas de un art´ıculo donde a´un est´a todo por hacer, lo cual podr´ıa explicar que se encadenen muchas revisiones con intenciones combinadas complejas. Durante la investigaci´on ’Estabilidad turbulenta de los roles emergentes’ determinan que durante las etapas tempranas de desarrollo de un art´ıculo, el 60 % de sus editores toman el rol de ’All round contributor’ [5] lo que significa que son usuarios todo terreno que hacen un poco de todo. Esto se ve reforzado por los resultados observados en esta secci´on de la red de petri donde las intenciones a menudo contienen elementos de todo tipo como refactoring+copy-editing+factupdate+wikification. En la figura 6.15 vemos la siguiente parte de la red de petri descompuesta 1. M´as concretamente su secci´on intermedia. Las intenciones se van simplificando poco a poco, empezando a ser las combinaciones de 3 o m´as intenciones menos frecuentes. Esto es esperado pues seg´un aumenta en antiguedad el art´ıculo se reduce el porcentaje de revisores que representan ’All round-contributor’ en pos de roles m´as espec´ıficos como copy-editors o layour-shapers o ’quick and dirty editors’ [5]. Esto puede observarse en intenciones como refactoring+elaboration o simplification+verifiability o incluso vandalism+verifiability que puede estar relacionado con aquellos bajo el rol ’quick and dirty editors’ ya que a veces sus r´apidas ediciones son confundidas por vandalismo [5]. Sin embargo a´un se siguen dando secuencias complejas pues se observan conexiones que vuelven al inicio de la red indicando que el archivo puede estar pasando por fases intensas de re-escritura. La figura 6.16 muestra el ´ultimo tramo de la red de petri descompuesta 1. No aporta mucha informaci´on adicional respecto a la secci´on intermedia pues se observa un comportamiento similar en cuanto a las intenciones que se ven. Sin embargo vemos que no existe un punto final en el proceso. Tras llegar al final la naturaleza iterativa de proceso de re-edici´on continuo de Wikipedia hace que exista la posibilidad de volver a otros puntos del proceso. Es decir, es un proceso abierto. En definitiva, aunque no podemos extraer demasiada informaci´on mas all´a de observar ciertas similitudes con otros estudios ya realizados previamente al respecto de los roles de usuario y c´omo se edita a lo largo de la vida ´util de un art´ıculo en Wikipedia, se observa que en diferentes etapas del art´ıculo las intenciones realizadas var´ıan ligeramente, siendo ediciones muy complejas en el inicio (en el sentido de m´ultiples intenciones tras cada revisi´on) mientras que se observa que la secuencia de ediciones se simplifica despu´es de la secci´on inicial. En definitiva la natureleza an´arquica de la escritura colaborativa dificulta la existencia de un proceso claro y unificado, pero a pesar de ello, se observa como los conjuntos complejos de intencionalidades se van simplificando seg´un avanza el proceso, es decir, el tipo de revisi´ones 62 Trabajo de Fin de Grado CAP´ ITULO 6. AN ´ ALISIS CON MINER´ IA DE PROCESOS realizadas parece cambiar con el tiempo. 6.4.2. An´alisis de la red de Petri descompuesta 2 Como vemos en la red de petri de la imagen 6.12 y al igual que la red de Petri descompuesta 1, a grandes rasgos se observa un proceso con mucha interconexi´on y de gran complejidad. Para facilitar su an´alisis se han seleccionado el inicio y el final de la red para poder observarlos m´as en detalle. Esto, est´a motivado en parte porque el inicio tiene interes especial: ver si hay un inicio espec´ıfico dentro del proceso podr´ıa ayudar a identificarlo. Al mismo tiempo, el final aporta utilidad para descubrir si existen puntos finales en el proceso o es abierto y por tanto potencialmente ’infinitamente’ iterativo. Como se ve en el inicio de la red en la figura 6.17 el inicio puede ir determinado por copy-editing+elaboration+verifiability o wikification+vandalism. Otra posibilidad es comenzar con disambiguation sin embargo esto debe ser puesto en contexto. Dado que como se observa que hay caminos que vuelven al nodo inicial desde puntos m´as avanzados de la red, resulta normal asumir que esta intenci´on no se da de modo inicial, sino en iteraciones futuras. En caso de comenzar realizando wikification+vandalism el flujo prosigue con copy-editing seguido de o bien de un flujo iterativo de fact-update o refactoring+wikification+elaboration o wikification+process. Es curioso ver las grandes diferencias existentes con el inicio de la otra red obtenida fruto de la descomposici´on (6.11). Aqu´ı, se observan intenciones m´as centradas en un ´area espec´ıfica ya sea a˜nadir contenido o editar formato por ejemplo, fruto de editores m´as especializados y menos generalistas. Por otro lado, observando el final de la red vemos que el patr´on es el mismo, intenciones de mayor simplicidad al no estar combinadas, tareas de contra-vandalismo seguidas de factupdate o wikification. Sin embargo el n´umero de caminos que se observan es muy grande, sumando cierta incertidumbre al proceso real que se pueda seguir. 6.4.3. An´alisis del conjunto de mini redes de Petri descompuestas 3 En la figura 6.13 vemos un conjunto de redes formadas por un lugar de inicio y final y una sola transici´on compuesta por intenciones combinadas. Esto, no determina ning´un comportamiento espec´ıfico sino que es el resultado de la t´ecnica de miner´ıa utilizada intentando de nuevo reproducir todo el comportamiento observado. Estas intenciones no han conseguido ser agrupadas dentro de ninguno de los anteriores procesos descubiertos por lo que se han convertido en redes en s´ı mismas para poder reproducir esa secci´on espec´ıfica del log de eventos. Trabajo de Fin de Grado 63 CAP´ ITULO 6. AN ´ ALISIS CON MINER´ IA DE PROCESOS Figura 6.12: Petri net del proceso de edici´on tras su descomposici´on 2 64 Trabajo de Fin de Grado CAP´ ITULO 6. AN ´ ALISIS CON MINER´ IA DE PROCESOS Figura 6.13: Redes de petri del proceso de edici´on tras su descomposici´on 3 Trabajo de Fin de Grado 65 CAP´ ITULO 6. AN ´ ALISIS CON MINER´ IA DE PROCESOS Figura 6.14: Inicio de la red de petri del proceso de edici´on tras su descomposici´on 1 66 Trabajo de Fin de Grado CAP´ ITULO 6. AN ´ ALISIS CON MINER´ IA DE PROCESOS Figura 6.15: Secci´on intermedia de la red de petri del proceso de edici´on tras su descomposici´on 1 Trabajo de Fin de Grado 67 CAP´ ITULO 6. AN ´ ALISIS CON MINER´ IA DE PROCESOS Figura 6.16: Final de la red de petri del proceso de edici´on tras su descomposici´on 1 68 Trabajo de Fin de Grado CAP´ ITULO 6. AN ´ ALISIS CON MINER´ IA DE PROCESOS realizado esa intenci´on tiene sentido pues refactoring es una intenci´on no muy apropiada para principiantes [24], aunque no hay garant´ıa desde el alcance de este an´alisis para saber si los usuarios que han realizado esto son principiantes. Figura 6.23: Secci´on inferior de la 4oPetri net del proceso seguido por los editores de actividad baja 6.5.2. Editores de actividad intermedia Una vez que contamos con el log de eventos de los editores con actividad intermedia: que han realizado entre cinco y cincuenta revisiones y lo importamos en ProM aplicamos ’Generate log from org:perspective’ de nuevo y obtenemos un log de eventos compuesto por 343 casos y 4429 eventos. Es decir, tenemos 343 editores diferentes que han realizado 4429 revisiones. Descomponemos en cluster haciendo uso de la herramienta ’Discover Clusters’ y aplicamos ’Discover using Decomposition’ en este caso seleccionando el minero inductivo en su variante ’Perfect Fitness’. As´ı, obtenemos diferentes redes como vemos en las figuras 6.26, Trabajo de Fin de Grado 75 CAP´ ITULO 6. AN ´ ALISIS CON MINER´ IA DE PROCESOS Figura 6.24: Secci´on superior de la 4oPetri net del proceso seguido por los editores de actividad baja Figura 6.25: 5oPetri net del proceso seguido por los editores de actividad baja 6.27,6.28,6.29 En total, nos encontramos con un conjunto de redes bastante diverso, con flujos de trabajo complejos y otros razonablemente simples. La figura 6.26 muestra 2 flujos de trabajo diferentes. En el superior, vemos dos posibles opciones, o los usuarios editan realizando fact-update+wikification o bien realizan revisiones con la intenci´on de elaborar. Dado que nos encontramos en un flujo seguido por revisores que realizan entre 5 y 50 revisiones, esto da lugar a que esta red superior est´e compuesta por usuarios que de manera repetitiva se han centrado en un tipo de intenci´on espec´ıfica tras sus revisiones. M´as concreatemente, entrar´ıan dentro del rol de ’Quick and dirty editors’ aquellos que realizan elaboration iterativamente y de ’Content Shapers’ aquellos que realizan fact-update+wikification, siguiendo la taxonom´ıa de roles introducida. En cuanto a la red inferior, los editores o bien hacen labores de wiki76 Trabajo de Fin de Grado CAP´ ITULO 6. AN ´ ALISIS CON MINER´ IA DE PROCESOS Figura 6.26: 1oPetri net del proceso seguido por los editores de actividad intermedia fication o refactoring+copy-editing+wikification seguido de wikification, lo cual indica claramente un comportamiento propio de los ’Content Shapers’. La red 6.27 tiene dos puntos de inicio y es compleja en tanto que el flujo seguido es ca´otico. •En el punto de inicio superior observamos que de nuevo vemos una rama cuya ´unica intenci´on es el vandalismo, que puede suceder de modo iterativo, por lo que se infiere que no es una intenci´on propia solo momentos casuales si no que hay editores que se dedican, continuamente, a realizar vandalismo en un art´ıculo o varios. Contrastando con esto, la otra opci´on dentro de esta rama de la red es copy-editing+wikification iterativamente, indicando de nuevo la existencia de los usuarios denominados ’Content Shapers’. •Por otro lado, en la rama que comienza en el punto de inicio inferior de la red se ve un flujo iterativo de revisiones bajo la intenci´on process, es decir, hay revisores espec´ıficamente centrados en realizar tareas muy espec´ıficas como marcar un art´ıculo con noticias referentes a su limpieza, borrado... Adem´as se ve como el resto de intenciones est´an relacionadas con la elaboraci´on y la verificaci´on con la ocasional wikification, de nuevo, ’Quick and dirty editors’. Sin embargo en este caso y en contra de lo comentado en la investigaci´on ’Estabilidad turbulenta de los roles emergentes’ no se observa vandalismo asociado a esto, quiz´a relacionado con la veteran´ıa de los editores [5]. La figura 6.28 nos muestra una red como la obtenida con los editores de baja actividad (6.22) donde se observa que la cantidad de posibilidades existentes implica que represenTrabajo de Fin de Grado 77 CAP´ ITULO 6. AN ´ ALISIS CON MINER´ IA DE PROCESOS Figura 6.27: 2oPetri net del proceso seguido por los editores de actividad intermedia ta una acumulaci´on de todos aquellos workflows individuales que no ha logrado agrupar debido al funcionamiento del algoritmo minero inductivo. La red 6.29 representa un conjunto amplio de diferentes posibilidades, sin embargo, mayoritariamente las intenciones que nos muestra son copy-editing, fact-update y wikification, tanto independientemente como combinadas entre s´ı. Adem´as, este proceso incluye la intenci´on de counter-Vandalism de modo que tras realizar contra-vandalismo se vuelve de nuevo a realizar las intenciones anteriores. Esto, encaja con la descripci´on del rol ’All round contributors’ donde este tipo de usuarios realizan tareas de adici´on de contenido y cambios en el texto actual adem´as del formato y actualizaci´on de referencias. 78 Trabajo de Fin de Grado CAP´ ITULO 6. AN ´ ALISIS CON MINER´ IA DE PROCESOS Figura 6.28: 3oPetri net del proceso seguido por los editores de actividad intermedia [5]. Trabajo de Fin de Grado 79 CAP´ ITULO 6. AN ´ ALISIS CON MINER´ IA DE PROCESOS Figura 6.29: 4oPetri net del proceso seguido por los editores de actividad intermedia 6.5.3. Editores de actividad alta Por ´ultimo, nos encontramos ante el log de eventos de los editores con actividad alta compuesto por aquellos revisores con m´as de 50 revisiones a sus espaldas, es decir, aquellos con una alta actividad. Excluyendo, adem´as, los agrupados como An´onimo. Esto es debido a que no se espera que los an´onimos puedan aportar un flujo coherente de trabajo, adem´as de que por el tipo de algoritmo de miner´ıa aplicado, s´olo contaminar´ıa las redes. Aplicamos ’Generate log from org:perspective’ de nuevo y obtenemos un log de eventos compuesto por 37 trazas y 3712 eventos. Es decir, tenemos 37 editores diferentes que han realizado 3712 80 Trabajo de Fin de Grado CAP´ ITULO 6. AN ´ ALISIS CON MINER´ IA DE PROCESOS revisiones. Descomponemos en clusters haciendo uso de la herramienta ’Discover Clusters’ y aplicamos ’Discover using Decomposition’ en este caso seleccionando el minero inductivo en su variante ’Perfect Fitness’. As´ı, obtenemos diferentes redes como vemos en las figuras 6.30, 6.31,6.32 Contamos con cinco redes diferentes, de las cuales dos son de considerable complejidad mientras que las otras tres son sorprendentemente simples. Las redes de la figura 6.30 sorprenden por su simplicidad teniendo en cuenta el n´umero tan alto de ediciones que tienen los editores en este conjunto. 1. La red superior se compone de simplemente de refactoring+copy-editing. Estos editores, entrar´ıan en el rol de ’Copy-editors’ y ’Content-shapers’ al mismo tiempo de la taxonom´ıa de roles. Esto, claramente denota usuarios completamente dedicados a unas intenciones espec´ıficas. Sin embargo, al representar dos roles diferentes, se propone a˜nadir a la taxonom´ıa el rol de ’Article fixers’ ya que arreglan errores gram´aticales y erratas adem´as de organizar el texto existente mediante tareas de formato. 2. La red intermedia representa tres comportamientos diferentes entre s´ı y excluyentes: a) El primero se basa usuarios que s´olo editan con la intenci´on de copy-editing+wikification los cuales podr´ıan entrar dentro del rol propuesto previamente ’Article Fixers’ ya que adem´as de arreglar errores gram´aticales y erratas, arreglan el formato del art´ıculo con wikification. b) El segundo comportamiento est´a determinado por vandalismo+elaboration. Esto, a diferencia de la secci´on anterior con los usuarios de actividad intermedia, corrobora el comportamiento esperado por aquellos usuarios bajo el rol ’Quick and dirty editors’ de la taxonom´ıa. Dando lugar a que efectivamente este fen´onemo de realizar vandalismo+elaboration no es dependiente de la veteran´ıa del usuario, si no que es algo propio de este estilo de edici´on. c) El tercer comportamiento est´a formado ´unicamente por el contra-vandalismo, por lo que hay usuarios que act´uan bajo el rol de ’Watchdog’ salvaguardando los art´ıculos a lo largo del tiempo. Por ´ultimo, la red inferior se compone de diferentes posibilidades sin embargo todas las intenciones encontradas (wikification, fact-update+verifiability, simplification y fact-update+wikification+refactoring) son diversas y afectan tanto a formato como contenido por lo que podr´ıan ser propias de ’All round contributors’. La red 6.31 cuenta con cinco puntos de origen diferentes y es bastante compleja pues los caminos se entrelazan entre s´ı en numerosos y diferentes bucles. En primer lugar y debido a su estructura, hay muchas intenciones diferentes dentro de esta red. Esto, sumado a la gran cantidad de caminos y bucles existentes da lugar a que los usuarios bajo el rol ’All-round contributors’ entren en este flujo. Sin embargo, se observan m´as roles diferentes. En el punto de inicio superior se observan bucles en las intenciones factupdate y elaboration. La ruta de elaboration puede ir directamente hacia el final del flujo por lo que este proceso lo seguir´ıan aquellos bajo el rol ’Quick and dirty editors’, sin embargo y de nuevo, no se observa que haya vandalismo asociado a sus revisiones Trabajo de Fin de Grado 81 CAP´ ITULO 6. AN ´ ALISIS CON MINER´ IA DE PROCESOS a diferencia de lo encontrado por Daxenberger [5]. Por otro lado las dem´as intenciones est´an relacionadas con formato y arreglo del art´ıculo, por lo que de nuevo dentro de este flujo se pueden encontrar tambi´en ’Article Fixers’. La 6.32 no sirve para extrar un comportamiento determinado pues representa una acumulaci´on de todos aquellos flujos de trabajo individuales que no ha logrado agrupar debido al funcionamiento del minero inductivo al igual que en las redes 6.28 y6.22 de el log de eventos de los editores con actividad intermedia y baja respectivamente. 82 Trabajo de Fin de Grado CAP´ ITULO 6. AN ´ ALISIS CON MINER´ IA DE PROCESOS Figura 6.30: 1oPetri net del proceso seguido por los editores de actividad alta Trabajo de Fin de Grado 83 CAP´ ITULO 6. AN ´ ALISIS CON MINER´ IA DE PROCESOS Figura 6.31: 2oPetri net del proceso seguido por los editores de actividad alta 84 Trabajo de Fin de Grado CAP´ ITULO 7. AN ´ ALISIS CON MINER´ IA SOCIAL colaboraciones con una piscina de usuarios menor que un editor que haya podido estar realizando pocas ediciones pero a lo largo de toda la vida del art´ıculo, que en este caso, son m´as de 15 a˜nos. Figura 7.4: Zoom grupo central del grafo handover of work del art´ıculo Tierra Centrando el foco de atenci´on en el grupo central, tenemos la ampliaci´on del grafo anterior en la figura 7.4. Claramente se observa un grupo muy cercano de usuarios con un grado alto a juzgar por su tama˜no en conjunto con otros de menor tama˜no. Debido a su centralidad dentro del grafo estos nodos est´an relacionados con los usuarios de m´as peso dentro del art´ıculo tal y como se puede ve por el nodo que representan los usuarios an´onimos y su enorme cantidad de aristas. Del mismo modo y en menor medida se observa una gran cantidad de aristas conectando con el conjunto de usuarios agrupados (color morado) que se observa. Tal y como se comenta antes del comienzo de la secci´on, el color de los nodos y su localizaci´on determina su pertenencia a un grupo espec´ıfico. Aqu´ı vemos como todo este conjunto central de usuarios influyentes se encuentra coloreado con el mismo color, indicando que entre s´ı forman un ´unico conjunto. De esto se extrae que aquellos usuarios que hacen numerosas ediciones, en la mayor´ıa de los casos, son activos durante un largo periodo de tiempo, cosechando un alto n´umero de conexiones bajo la m´etrica handover of work. 7.2.2. Art´ıculo ´ Acido desoxirribonucleico En este caso contamos con un art´ıculo compuesto por 3308 ediciones y 396 editores. Del mismo modo que anteriormente, esto da lugar dar´a lugar a un grafo de handover complejo, con un gran n´umero de nodos y aristas. El grafo resultante, representado en la figura 7.5, muestra una situaci´on similar al observado en el art´ıculo Tierra: la mayor´ıa de editores se encuentran agrupados en el centro del 90 Trabajo de Fin de Grado CAP´ ITULO 7. AN ´ ALISIS CON MINER´ IA SOCIAL Figura 7.5: Grafo handover of work del art´ıculo ´ Acido desoxirribonucleico grafo mientras que una peque˜na porci´on de los mismos se encuentra en la periferia. Estos nodos que componen la periferia siguen la misma estructura que en el caso del art´ıculo Tierra. La mayor´ıa son nodos peque˜nos con conexiones a uno o dos nodos con una porci´on de nodos de mayor tama˜no y por ende grado probablemente debido a editar durante un espacio peque˜no en el tiempo aunque con un grado de actividad mayor que los dem´as. Figura 7.6: Zoom grupo central del grafo handover of work del art´ıculo ´ Acido desoxirribonucleico Poniendo el foco en el grupo central, visible en 7.6, vemos de nuevo un fen´omeno similar Trabajo de Fin de Grado 91 CAP´ ITULO 7. AN ´ ALISIS CON MINER´ IA SOCIAL al anterior art´ıculo, un conjunto de editores pertenecientes al mismo grupo como denota su color y localizaci´on de un tama˜no grande indicando una gran cantidad de conexiones. Es decir, los usuarios m´as influyentes a lo largo de la evoluci´on del art´ıculo se encuentran aqu´ı. Adem´as, se encuentran relacionados entre ellos, indicando colaboraci´on entre los mismos. B´asicamente, la conclusi´on que puede extraerse es la misma que antes: estos editores que hacen numerosas ediciones, en la mayor´ıa de los casos, son activos durante un largo periodo de tiempo, cosechando un alto n´umero de conexiones bajo la m´etrica handover of work. 7.3. Subcontracting En esta secci´on se aplicar´a el algoritmo de miner´ıa social Subcontracting a los dos art´ıculos seleccionados del corpus:´ Acido desoxirribonucleico y Tierra con los usuarios BOT filtrados. Subcontracting cuenta el n´umero de veces que un individuo jejecuta una actividad entre dos actividades ejecutadas por el individuo i[2]. As´ı, sus representaciones gr´aficas son representadas siguiendo los mismos par´ametros que en el caso del Handover of Work: los colores representan los diferentes grupos existentes y est´an organizado de modo que todos los grupos se encuentren juntos. Esta agrupaci´on de nuevo se basa en el peso de las aristas, cuantas m´as veces el editor j haya editado entre dos ediciones del editor i y viceversa, mayor ser´a el peso de la arista que los una. Por otro lado el tama˜no del nodo tambi´en depender´a de su grado y su situaci´on geogr´afica dentro de la red afecta a su pertenencia a determinado grupo a pesar de su color. 7.3.1. Art´ıculo Tierra Figura 7.7: Grafo subcontracting del art´ıculo Tierra Observando el grafo resultante en la figura 7.7 se ve que la mayor parte de los nodos se 92 Trabajo de Fin de Grado CAP´ ITULO 7. AN ´ ALISIS CON MINER´ IA SOCIAL encuentran aislados. Esto, en el subcontracting, se traduce a que son usuarios que han editado durante una sola sesi´on. En subcontracting los v´ertices se forman entre los editores iyjsi i edita entre dos ediciones de j. Dado que en este caso no hay conexiones, solo realizaron revisiones una vez, sin interrupciones de otros usuarios. El n´umero de revisiones realizado no est´a determinado, puede ser una o m´as, pero carecemos de esa informaci´on bajo esta perspectiva. En resumen, se puede extraer lo siguiente: la mayor´ıa de editores editan durante una sola sesi´on en este art´ıculo. Sin embargo, tambi´en encontramos un grupo de usuarios en el centro del grafo. Figura 7.8: Zoom grupo central del grafo subcontracting del art´ıculo Tierra Este grupo central, visualizable en 7.8, vemos que en realidad est´a compuesto de dos grupos diferentes. El primer grupo, compuesto por nodos grandes en color rojo. Vemos como se trata de un grupo de editores que tienen un grado alto por su tama˜no y que adem´as suelen hacer subcontracting entre ellos. Sin embargo no solo se reducen a su mismo grupo si no que hay numerosas aristas hacia otros nodos diferentes localizados fuera del grupo central. Esto de nuevo podr´ıa implicar un largo historial de ediciones en el tiempo por parte de estos usuarios. En segundo lugar tenemos al conjunto de nodos localizado a la derecha. Estos nodos se encuentran agrupados entre s´ı por la cercan´ıa y el peso de sus aristas sin embargo se observa que no necesariamente pertenece al mismo grupo si no que hay varios grupos entremezclados. Sus conexiones se observa van en la mayor´ıa de los casos exclusivamente al nodo que representa a los usuarios an´onimos por lo que este conjunto m´as que denotar un comportamiento espec´ıfico muestra los editores que hicieron revisiones entre las revisiones realizadas por usuarios an´onimos. Trabajo de Fin de Grado 93 CAP´ ITULO 7. AN ´ ALISIS CON MINER´ IA SOCIAL 7.3.2. Art´ıculo ´ Acido desoxirribonucleico Figura 7.9: Grafo subcontracting del art´ıculo ´ Acido desoxirribonucleico El grafo de subcontracting del art´ıculo ´ Acido Desoxirribonucleico, 7.9, muestra de nuevo, un comportamiento muy similar al subcontracting obtenido en el art´ıculo Tierra. Se observa una gran cantidad de nodos aislados y un grupo central. Estos nodos se encuentran aislados debido al mismo motivo que aquellos en la subsecci´on previa: Solo han realizado ediciones durante una sesi´on, dando lugar a una secuencia de 1 o m´as ediciones ininterrumpidas por otro editor. En el conjunto central, 7.10, otra vez encontramos la misma estructura que en el art´ıculo Tierra. Un grupo central de editores pertenecientes al mismo grupo, en verde (en el art´ıculo Tierra en rojo) y otro compuesto por usuarios de menor grado de diferentes grupos agrupados en el centro del grafo debido a sus interacciones con los usuarios an´onimos. La diferencia en este caso, es el tama˜no de los nodos del grupo central verde. Estos tienen menor tama˜no en comparaci´on con los del anterior art´ıculo. Sin embargo, este art´ıculo cuenta con 3308 ediciones y 396 mientras que el art´ıculo Tierra con 2654 revisiones y 460 editores. Al medir subcontracting, un mayor n´umero de editores existentes da lugar a un mayor n´umero posible de conexiones y con esto un mayor tama˜no en sus nodos m´as influyentes. Debido a esto, el art´ıculo ´ Acido Desoxirribonucleico cuenta con un menor n´umero de editores y un mayor n´umero de ediciones que el art´ıculo Tierra, dando lugar as´ı a menos posibles conexiones entre usuarios reduciendo el tama˜no de los nodos. 94 Trabajo de Fin de Grado CAP´ ITULO 7. AN ´ ALISIS CON MINER´ IA SOCIAL Figura 7.10: Zoom grupo central del grafo Subcontracting del art´ıculo ´ Acido desoxirribonucleico Trabajo de Fin de Grado 95 Cap´ıtulo 8 Conclusiones 8.1. Conclusiones miner´ıa de procesos a nivel art´ıculo Se ha aplicado miner´ıa de procesos a un corpus compuesto de 8 art´ıculos destacados de la Wikipedia Espa˜nola desde el punto de vista del art´ıculo. Es decir, conformando un log de eventos donde cada caso es representado por un art´ıculo y cada ’actividad’ realizada llamada evento es representada por la intencionalidad sem´antica tras cada revisi´on. El resultado ha sido una red de gran complejidad e imposible de analizar para el ojo humano. Esta red obtenida representa la complejidad del proceso de edici´on que siguen los art´ıculos. Al tratarse Wikipedia de una comunidad de conocimiento colaborativo abierta, cualquier persona puede convertirse en un editor. Esto intuitivamente se traduce en una gran cantidad de usuarios con variados rangos de conocimiento y habilidad y por ende muchos estilos de edici´on diferente. Sin embargo, para obtener m´as informaci´on acerca de esta red se descompuso en sub-redes de mayor simplicidad. Estas sub-redes muestran un panorama similar al anterior, su complejidad es alta aunque con diferencias entre ellas. Mientras que no representan un proceso espec´ıfico que se siga a al pie de la letra y de ah´ı su complejidad, muestran comportamientos diferentes. Una de las redes obtenida muestra intencionalidades propias de usuarios todo-terreno con intenciones combinadas de cierta complejidad desde el comienzo mientras que la otra red muestra intenciones m´as espec´ıficas propias de usuarios con mayor grado de especializaci´on. En resumen, se puede concluir que (i) no hay un proceso unificado que se siga en la creaci´on y evoluci´on de los art´ıculos en Wikipedia aunque si se ve una variaci´on en las intenciones seg´un evoluciona el art´ıculo y (ii) la especializaci´on o el generalismo de los editores en etapas tempranas de un art´ıculo tiene influencia en la evoluci´on de los mismos como vemos por las diferentes redes obtenidas tras la descomposici´on, dando lugar a diferentes flujos de trabajo. 8.2. Conclusiones miner´ıa de procesos a nivel editor En este caso, la miner´ıa de procesos fue aplicada d´andole un giro al log de eventos de la secci´on anterior orient´andolo al editor. De esta manera, se agrupan los editores en tres 96 Trabajo de Fin de Grado CAP´ ITULO 8. CONCLUSIONES categor´ıas diferentes en funci´on de su actividad dentro del conjunto ocho art´ıculos utilizado (Baja/Intermedia/Alta actividad) medido por el n´umero de ediciones realizado. Analizando los procesos seguidos por los usuarios en sus sesiones de edicion, se observan grandes similaritudes con aquellos comportamientos que identifican en la investigaci´on ’Estabilidad turbulenta de roles emergentes’ ([5]). De esta manera, a lo largo de las tres agrupaciones realizadas, se observan cambios importantes en los roles observados en funci´on del n´umero de ediciones. Entre aquellos usuarios con baja actividad, se observa un poco de todo, aunque por supuesto no hay gente que se pueda identificar como ’All round contributors’ pues no han realizado una cantidad suficiente de ediciones para poder determinar esto. En general, esta categor´ıa se compone de intenciones no demasiado complejas. En aquellos editores con actividad intermedia, se comienzan a observar intenciones m´as refinadas y aparecen los ’All round contributors’. Sigue habiendo v´andalos dentro de esta categor´ıa. Por otro lado, se comienza a ver que los usuarios que encajar´ıan con los roles ’Copy editors’, ’Content shapers’ y ’Layout shapers’ con frecuencia realizan tareas de cualquiera de los 3 roles. En el caso de los editores con alta actividad, es decir, m´as de 50 revisiones se observan no s´olo todo los roles, si no que se refuerza ese solapamiento de los roles ’Copy editors’, ’Content shapers’ y ’Layout shapers’. De esta manera, se ha comprobado la existencia de diferentes roles entre los usuarios de Wikipedia desde el punto de vista de la miner´ıa de procesos, reforzando aquellos resultados obtenidos por Daxenberger en ’Estabilidad turbulenta de roles emergentes’. Sin embargo, debido al solapamiento de los 3 roles ’Copy editors’, ’Content shapers’ y ’Layout shapers’ se propone una alteraci´on en su taxonom´ıa de roles a˜nadiendo un nuevo rol denominado ’Article fixers’. Estos ’Article fixers’ se encargan tanto de realizar tareas de arreglo de formato de Wikipedia y texto como de faltas de ortograf´ıa o mejoras en sint´axis y han sido observados tanto en aquellos autores con una actividad intermedia (en menor medida) como en aquellos con una alta actividad. 8.3. Conclusiones miner´ıa social Dentro de la miner´ıa social, se han aplicado los algoritmos de Subcontracting y Handover of work a dos art´ıculos diferentes de la Wikipedia obteniendo en ambos casos resultados muy similares verificando mutuamente los resultados obtenidos. El algoritmo working together mide el traspaso de trabajo entre editores. As´ı, en ambos art´ıculos hemos obtenido estructuras de organizaci´on muy similares. Un porcentaje de los editores transpasan trabajo a un n´umero muy reducido de editores, Trabajo de Fin de Grado 97 CAP´ ITULO 8. CONCLUSIONES entre 1 y 2, implicando que sus contribuciones al art´ıculo son realizadas durante un momento espec´ıfico del tiempo y no han editado en el art´ıculo a lo largo de una temporada. Por otro lado, aquellos editores m´as influyentes y con mayor n´umero de revisiones muestran muchas conexiones implicando que han trabajo con muchos otros editores dando lugar a ediciones durante un periodo de tiempo extendido. Por otro lado el Subcontracting nos muestra la ’subcontrataci´on’ entre editores, es decir, si un editor edita entre dos ediciones de otro, lo cual para suceder de modo consistente requiere de cierta colaboraci´on o un n´umero muy reducido de usuarios. Los resultados obtenidos son similares de nuevo entre ambos art´ıculos. La mayor´ıa de usuarios realiza una sola sesi´on de edici´on donde realizan una cantidad variada de ediciones sin interrupciones de otros editores. Por otro lado, existe un n´ucleo de editores de mayor influencia que realizan subcontrataciones entre ellos, mostrando que posiblemente exista una colaboraci´on expl´ıcita entre estos usuarios. Sin embargo, para afianzar estas conclusiones debemos observar los resultados de ambas m´etricas conjuntamente. As´ı, vemos que aquellos usuarios aislados en subcontracting, son aquellos que en handover of work cuentan con dos conexiones pues han realizado una sesi´on de edici´on y nada m´as, de manera que su trabajo es continuado por otro editor dando lugar a la conexi´on en el handover of work. Siguiendo esta misma l´ınea de razonamiento, se ve por lo tanto que aquellos editores de mayor influencia representan diferente cara de la misma moneda en ambas m´etricas. En handover of work, estos usuarios forman un conjunto con n´umerosas conexiones entre ellos y a numerosos nodos mientras que en subcontracting estas conexiones se observan en mayor medida entre ellos. Es decir, mientras que realizan ediciones en general, hay momentos donde se realizan colaboraciones con otros editores de gran influencia dentro del art´ıculo. Es decir existe una colaboraci´on expl´ıcita entre los usuarios m´as influyentes dentro de un art´ıculo. En resumen, nos encontramos con que hay un gran porcentaje de editores dentro de Wikipedia que realizan una sola sesi´on de edicion en un art´ıculo para no volver, mientras que hay una minor´ıa de editores asiduos que realizan tareas de edici´on durante periodos de tiempo grandes tanto casual como de manera organizada puntualmente. 8.4. Conclusiones globales De modo general, se pueden resumir los hallazgos encontrados en: 1. No existe un proceso unificado de edici´on durante la evoluci´on de un art´ıculo. Sin embargo, se observa como el tipo o la sofisticaci´on de las intenciones puede var´ıar a lo largo de diferentes etapas del art´ıculo 2. Adem´as, la generalidad o especificidad de los editores en etapas tempranas del art´ıculo muestra diferentes maneras de proceder. Es decir, los editores iniciales tienen influencia en la evoluci´on posterior del art´ıculo. 3. Se observan los diferentes roles de editor de la taxonom´ıa desarrollada en ’Estabilidad turbulenta de roles emergentes ([5]). Adem´as, se propone la adici´on del rol ’Article 98 Trabajo de Fin de Grado Cap´ıtulo 10 Trabajo futuro Este proyecto ha sido realizado generando un corpus basado en ocho art´ıculos destacados diferentes de la Wikipedia espa˜nola. Sin embargo, el propio tama˜no reducido del corpus limita en gran parte la posibilidad de generalizar los resultados obtenidos. Es debido a esto que como trabajo futuro ser´ıa muy interesante poder hacer uso de un corpus de mucho mayor tama˜no o hacer uso de una wiki de tama˜no reducido como las de Wikia (por ejemplo Wiki Cocktails o Hitchikers Wiki) ya que poder analizar una comunidad entera en su conjunto aporta resultados muchos mas significativos que un fragmento de la misma. El motivo por el cual esto no se ha realizado es porque cada wiki existente hace uso de una API propia derivada de la encontrada en https://www.mediawiki.org/wiki/API: Main_page como por ejemplo https://cocktails.fandom.com/api.php. Sin embargo, como bien indican se encuentra en desarrollo y no funcionaba correctamente bajo el script desarrollado para ’Indentificando intenciones sem´anticas en las revisiones de Wikipedia’ ([24], m´as en: 11). Concretamente, la salida del diff entre revisiones se encontraba vac´ıo. Cuando la API se encuentre totalmente desarrollada y funcione de modo correcto ser´ıa muy interesante poder trabajar con ella. Por otro lado, en el futuro se podr´ıa extender la investigaci´on agrupando a todos los editores bajo los roles de la taxonom´ıa de roles utilizada en el proyecto y presentada en el cap´ıtulo de fundamentos te´oricos (3). Con todos los editores agrupados se podr´ıan estudiar los procesos seguidos por cada rol para analizar el cambio y evoluci´on de los mismos as´ı como las interacciones entre los diferentes roles. Trabajo de Fin de Grado 103 Cap´ıtulo 11 C´odigo Este proyecto cuenta con c´odigo de autor´ıa propia as´ı como c´odigo realizado por terceras partes. De este modo, el c´odigo desarrollado se encuentra alojado en https://github.com/ FRYoussef/TFG_Wiki. Este c´odigo de autor´ıa propia cuenta con licencia MIT y se encuentra compuesto por los siguientes scripts: corpus filter.py: Este script contiene 4 filtros posibles de entre casual, low, intermediate y high para filtrar los editores de un historial de revisiones en funci´on de su n´umero de revisiones o para agruparlos como es el caso del filtro casual. Tambi´en un filtro para eliminar las revisiones realizadas por BOTs. En este caso no requiere m´as entrada que un par´ametro que especifique el tipo de filtro a aplicar pues hace uso autom´aticamente del corpus y del fichero generado por el siguiente script de la lista editor count aggregator.py y su salida es el corpus filtrado. editor count aggregator.py: Agrega el n´umero de revisiones realizado por cada autor, generando un fichero de texto donde se encuentran los autores y su conteo total de revisiones a trav´es del corpus. model generation.ipynb: Notebook donde se realiza un an´alisis detallado en busca del mejor modelo predictivo posible para detectar las intenciones inherentes a cada revisi´on, los mejores modelos determinados son exportados y usados por el siguiente script de la lista: generate predictions.py generate predictions.py: Hace uso de los 13 modelos generados (uno por cada intenci´on) para predecir las intenciones tras cada revisi´on del archivo que se pase como entrada y da formato a los resultados modificando el csv inicial del conjunto de historial de revisiones como salida. revision id extractor.py: Su utilidad es crear un fichero csv que almacene el id de revisi´on y la intencionalidad. Debido a que en este punto la intenci´on a´un no se conoce, a˜nade un 0 por defecto en su lugar. El motivo de esto es que un script de una tercera parte hace uso de un archivo con este formato como entrada. wikipedia dump downloader.py: Se trata de una modificaci´on de https://phabricator. wikimedia.org/diffusion/PWBC/browse/master/scripts/maintenance/download_dump. 104 Trabajo de Fin de Grado CAP´ ITULO 11. C ´ ODIGO py desarrollada por el autor de este proyecto en conjunto con Youssef El Faqir El Rhazoui. La modificaci´on, consiste en la eliminaci´on de dependencias con la libreria PyWiki adem´as de la implementaci´on de utilidades como selecci´on de idioma de la wiki de descarga, descargar una lista de art´ıculos y la uni´on de los diferentes fragmentos descargados pues los art´ıculos son divididos en fragmentos para su adecuada descarga. As´ı, el c´odigo de terceras partes utilizado ha sido: wiki dump parser.py: Localizable en https://github.com/Grasia/wiki-scripts y desarrollado por Abel Serrano Juste como parte de un conjunto de scripts para obtener y procesar datos de una wiki. El programa en cuesti´on se trata de un script para obtener informaci´on ´util y dar formato a los datos descargados por wiki dump downloader.py en forma de csv. arffToCsv.py es un script simple y sencillo para transformar un archivo arff a formato csv desarrollado por Haloboy777 y localizable en https://github.com/haloboy777/ arfftocsv bajo licencia MIT C´odigo desarrollado para la investigaci´on ’Identificando intenciones sem´anticas en las revisiones de Wikipedia’ con el objetivo de obtener las diferentes car´acter´ısticas de cada revisi´on en funci´on de la anterior en una wiki. Ha habido que realizar ligeros cambios como librerias obsoletas o a˜nadir diferentes funcionalidades como la posibilidad de a˜nadir el id de revisi´on al conjunto de datos o decidir el idioma o tipo de wiki. Se encuentra alojado en https://github.com/diyiy/Wiki_Semantic_Intention y se ha realizado un fork con los cambios en https://github.com/ignacioGarsami/Wiki_ Semantic_Intention. Trabajo de Fin de Grado 105 Bibliograf´ıa [1] Wil M. P. Aalst. Decomposing Petri Nets for Process Mining: A Generic Approach. Vol. 31. Ene. de 2012. doi:10.1007/s10619-013-7127-5. [2] Wil M. P. Van Der Aalst, Hajo A. Reijers y Minseok Song. “Discovering Social Networks from Event Logs”. En: Computer Supported Cooperative Work (CSCW) 14.6 (2005), 549–593. doi:10.1007/s10606-005-9005-9. [3] Wil M. P. Van Der Aalst y Minseok Song. “Mining Social Networks: Uncovering Interaction Patterns in Business Processes”. En: Lecture Notes in Computer Science Business Process Management (2004), 244–260. doi:10.1007/978-3-540-25970-1_16. [4] Wil van der Aalst y col. Process Mining Manifesto. 2011. url:https://doi.org/10. 1007/978-3-642-28108-2_19. [5] Ofer Arazy y col. “Turbulent Stability of Emergent Roles: The Dualistic Nature of SelfOrganizing Knowledge Co-Production”. En: Information Systems Research 27 (ene. de 2017), p´ags. 792-812. doi:10.1287/isre.2016.0647. [6] Hicheur Awatef y col. “Process Mining in the Education Domain”. En: feb. de 2015. [7] Tim Bray y col. Extensible markup language (XML) 1.0. 2000. [8] Andriy Burkov. The Hundred-Page Machine Learning Book. 1.aed. Kindle Direct Publishing, 2019. isbn: 9781790485000. [9] Soumen Chakrabarti y col. Data Mining Curriculum: A Proposal. 2006. url:https: //www.kdd.org/exploration_files/CURMay06.pdf. [10] B. F. van Dongen y col. The ProM Framework: A New Era in Process Mining Tool Support. 2005. url:https://link.springer.com/chapter/10.1007/11494744_25. [11] Haibo He y col. “ADASYN: Adaptive synthetic sampling approach for imbalanced learning”. En: 2008 IEEE International Joint Conference on Neural Networks (IEEE World Congress on Computational Intelligence) (2008). doi:10.1109/ijcnn.2008.4633969. [12] Andrew Bruce Peter C. B. Practical statistics for data scientists : 50 essential concepts. 1st. O’Reilly Media, Inc., 2017. [13] James L. Peterson. “Petri Nets”. En: ACM Computing Surveys 9.3 (1977), 223–252. doi:10.1145/356698.356702. [14] ProM 6.8. 2018. url:http://www.promtools.org/doku.php?id=prom68. [15] Michal Rosik. 3 Industries and Companies Doing Process Mining Right.url:https: //www.minit.io/blog/3-industries-and-companies-doing-process-miningright. 106 Trabajo de Fin de Grado BIBLIOGRAF´ IA [16] Pnina Shachaf y Noriko Hara. “Beyond vandalism: Wikipedia trolls”. En: Journal of Information Science 36.3 (2010), 357–370. doi:10.1177/0165551510365390. [17] sklearn.dummy.DummyClassifier.url:https://scikit-learn.org/stable/modules/ generated/sklearn.dummy.DummyClassifier.html. [18] Marina Sokolova y Guy Lapalme. “A systematic analysis of performance measures for classification tasks”. En: Information Processing Management 45.4 (2009), 427–437. doi:10.1016/j.ipm.2009.03.002. [19] Vilaythong Southavilay, Kalina Yacef y Rafael A. Calvo. “Analysis of Collaborative Writing Processes Using Hidden Markov Models and Semantic Heuristics”. En: 2010 IEEE International Conference on Data Mining Workshops (2010). doi:10 . 1109/ icdmw.2010.118. [20] Jake VanderPlas. Python Data Science Handbook: Essential Tools for Working with Data. 1st. O’Reilly Media, Inc., 2016. isbn: 1491912057, 9781491912058. [21] Christian Wagner y Pattarawan Prasarnphanich. “Innovating Collaborative Content Creation: The Role of Altruism and Wiki Technology”. En: 2007 40th Annual Hawaii International Conference on System Sciences (HICSS07) (2007). doi:10.1109/hicss. 2007.277. [22] A Weijters, Wil M. P. Aalst y Alves A K Medeiros. Process Mining with the Heuristics Miner-algorithm. Vol. 166. Ene. de 2006. [23] XES. 2018. url:http://xes-standard.org/. [24] Diyi Yang y col. “Identifying Semantic Edit Intentions from Revisions in Wikipedia”. En: Proceedings of the 2017 Conference on Empirical Methods in Natural Language Processing (2017). doi:10.18653/v1/d17-1213. Trabajo de Fin de Grado 107