Please use this identifier to cite or link to this item: http://dspace.sti.ufcg.edu.br:8080/jspui/handle/riufcg/13039
Title: Explorando características sociais e de colaboração na recomendação de projetos no GitHub.
Other Titles: Exploring social and collaborative characteristics in recommending projects on GitHub.
???metadata.dc.creator???: CERQUEIRA, Thaciana Guimarães de Oliveira.
???metadata.dc.contributor.advisor1???: RAMALHO, Franklin de Souza.
???metadata.dc.contributor.advisor2???: MARINHO, Leandro Balby.
???metadata.dc.contributor.referee1???: CAMPELO, Cláudio Elízio Calazans.
???metadata.dc.contributor.referee2???: MONTEIRO, João Arthur Brunet.
???metadata.dc.contributor.referee3???: BARBOSA, Luciano de Andrade.
???metadata.dc.contributor.referee4???: LIMA FILHO, Fernando José Castor de.
Keywords: Engenharia de Software;Mineração de Dados;Sistemas de Recomendação;Aprendizagem de Máquina;Plataforma GitHub;Software Engineering;Data Mining;Recommendation Systems;Machine Learning;GitHub Platform
Issue Date: 22-Apr-2020
Publisher: Universidade Federal de Campina Grande
Citation: CERQUEIRA, T. G. de O. Explorando características sociais e de colaboração na recomendação de projetos no GitHub. 2020. 138 f. Tese (Doutorado em Ciência da Computação) – Programa de Pós-Graduação em Ciência da Computação, Centro de Engenharia Elétrica e Informática, Universidade Federal de Campina Grande, Paraíba, Brasil, 2020.
???metadata.dc.description.resumo???: A plataforma GitHub é o maior site de hospedagem de código-fonte, contendo um grande número usuários e repositórios de software. Devido a sua natureza social e colaborativa, os usuários são incentivados à contribuição nos repositórios uns dos outros. Neste contexto, é crucial compreender os fatores que representam os interesses dos usuários na plataforma, para que seja possível conceber serviços eficazes para ajudá-los na descoberta por repositórios relevantes. Sistemas de recomendação (SRs) têm sido cada vez mais populares para auxiliar os usuários na recuperação de informações e satisfação com os serviços online. SRs de repositórios na plataforma GitHub podem ser projetados para personalizar a experiência dos usuários e ajudá-los a descobrir projetos relevantes em um amplo e dinâmico espaço de busca. Entretanto, este é um cenário desafiador para recomendações. Desde a última década, métodos e técnicas de aprendizado de máquina têm sido explorados em pesquisas sobre SRs. Em geral, utilizam-se técnicas de classificação como Filtragem Colaborativa - FC e Filtragem Baseada em Conteúdo - FBC. A principal contribuição desta pesquisa é explorar o arcabouço de características presentes na plataforma GitHub e avançar neste conhecimento para recomendar projetos de interesse do usuário. Ela consiste na análise das diversas características de usuários e projetos extraídas dos dados e metadados disponíveis pela plataforma. Adicionalmente, propomos métricas geradas a partir dessas características para conhecermos das atividades dos projetos em termos de atratividade, visibilidade, medidas estatísticas e engajamento. Todas essas informações foram explicitamente modeladas através das técnicas FBC e FC (Item-KNN, Random Forest - RF, XGBoost e Máquina de Fatoração - MF), e aplicamos a recomendação dos repositórios para contribuição pelo usuário. Uma avaliação offline foi realizada considerando fatores que afetam o aprendizado da classificação, no qual sugerimos dois conjuntos de dados: amostragem balanceada e amostragem negativa, tendo um alcance de cerca de 500 mil projetos. Os experimentos implementados e executados nesta pesquisa mostram uma maior efetividade para as técnicas XGBoost e RF, em relação às técnicas Item-KNN, FBC e MF na recomendação de projetos nos aspectos de qualidade, como precisão e cobertura de projetos. Entre os resultados obtidos, XGBoost apresenta uma precisão 48% maior que Item-KNN na recomendação de projetos de interesse do usuário. Entretanto, a precisão das recomendações de projetos não alcançaram 1% das top 10 recomendações. Por fim, propomos uma nova abordagem envolvendo o aprendizado da classificação, com o objetivo de aprimorarmos as recomendações por parte das técnicas aplicadas, onde obtivemos uma precisão com cerca de 40% dos projetos no top-10 da lista de recomendação. Concluímos que um melhor entendimento sobre a plataforma GitHub, no que diz respeito às características dos usuários e seus respectivos projetos, nos permitiram caracterizar os interesses dos usuários e implementar estratégias de recomendação de repositórios que correspondam às preferências dos usuários. Os resultados foram encorajadores, o que implica que as características propostas associadas às técnicas de aprendizagem de máquina representam as preferências do usuário. Esperamos que nossas descobertas pavimentem o caminho para a criação de novos sistemas de recomendação eficientes e algoritmos de busca para ajudar os usuários do GitHub a encontrar projetos de seu interesse.
Abstract: The GitHub platform is the largest source code hosting site, containing a large number of users and software repositories. Due to their social and collaborative nature, users are encouraged to contribute to each other’s repositories. In this context, it is crucial to understand the factors that represent the interests of users on the platform, so that it is possible to design effective services to assist them in discovering relevant repositories. Recommendation systems (SRs) have been increasingly popular to assist users in retrieving information and satisfaction with online services. SRs from repositories on the GitHub platform can be designed to personalize the user experience and help them discover relevant projects in a wide and dynamic search space. However, this is a challenging scenario for recommendations. Since the last decade, machine learning methods and techniques have been explored in research on SRs. In general, classification techniques such as Collaborative Filtering - FC and Content Based Filtering - FBC are used. The main contribution of this research is to explore the framework of features present on the GitHub platform and advance this knowledge to recommend projects of interest to the user. It consists of analyzing the various characteristics of users and projects extracted from the data and metadata available through the platform. Additionally, we propose metrics generated from these characteristics to learn about the activities of the projects in terms of attractiveness, visibility, statistics and engagement. All this information was explicitly modeled using the FBC and FC techniques (Item-KNN, Random Forest - RF, XGBoost and Factorization Machine - MF), and we applied the recommendation of the repositories for contribution by the user. An offline evaluation was carried out considering factors that affect the learning of the classification, in which we suggest two sets of data: balanced sampling and negative sampling, having a reach of about 500 thousand projects. The experiments implemented and performed in this research show greater effectiveness for the XGBoost and RF techniques, in relation to the Item-KNN, FBC and MF techniques in recommending projects in terms of quality, such as precision and project coverage. Among the results obtained, XGBoost presents an accuracy 48 % greater than Item-KNN in recommending projects of interest to the user. However, the accuracy of the project recommendations did not reach 1 % of the top 10 recommendations. Finally, we propose a new approach involving the learning of classification, with the objective of improving the recommendations by the applied techniques, where we obtained an accuracy with about 40 % of the projects in the top-10 of the recommendation list. We concluded that a better understanding of the GitHub platform, with regard to the characteristics of users and their respective projects, allowed us to characterize the interests of users and implement strategies for recommending repositories that correspond to users’ preferences. The results were encouraging, which implies that the proposed characteristics represent the user’s preferences. We hope that our findings will pave the way for the creation of new efficient recommendation systems and search algorithms to help GitHub users find projects that interest them.
Keywords: Engenharia de Software
Mineração de Dados
Sistemas de Recomendação
Aprendizagem de Máquina
Plataforma GitHub
Software Engineering
Data Mining
Recommendation Systems
Machine Learning
GitHub Platform
???metadata.dc.subject.cnpq???: Ciência da Computação
URI: http://dspace.sti.ufcg.edu.br:8080/jspui/handle/riufcg/13039
Appears in Collections:Doutorado em Ciência da Computação.

Files in This Item:
File Description SizeFormat 
THACIANA GUIMARÃES DE OLIVEIRA CERQUEIRA - TESE (PPGCC) 2020.pdf1.66 MBAdobe PDFView/Open


Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.