Font Size: a A A

Developer And Project Recommendation In Open Source Community Based On Graph Neural Network

Posted on:2024-08-24Degree:MasterType:Thesis
Country:ChinaCandidate:H LiFull Text:PDF
GTID:2568307106953319Subject:Software engineering
Abstract/Summary:PDF Full Text Request
During the development of open source projects,the efficiency of cooperation between developers is crucial.With the rapid growth of the number of developers and projects in open source communities such as Github,how to quickly find suitable developers or projects is the key to improve the efficiency of software development and cooperation.However,in reality,it is difficult to understand the professional knowledge and willingness of developers,so it is complex and time-consuming to recommend suitable developers or projects.As an effective means to solve the problem of information overload,recommendation system can help developers find suitable partners and projects in the community.At present,the commonly used methods are mainly developer project recommendation based on professional knowledge or collaborative filtering,while these traditional methods usually face problems such as cold start and data sparsity.Aiming at the above problems,this thesis proposes a developer project recommendation model based on graph neural network based on the interaction between developers and projects.The main research contents are as follows:(1)The developer-project heterogeneous network,developer cooperation network and project association network are constructed according to the interaction between developers and projects.The interaction weight is calculated according to the interaction between developers as the initial weight of the developer cooperation network.The project similarity is calculated according to the relationship between projects as the initial weight of the project association network.(2)Based on the historical behavior events of developers in the community,use the gated cyclic neural network to learn the interests of developers,and use it as the initial feature of the developer cooperation network.Based on the directory structure,language type,application direction and other information of the project,use Word2 vec to learn the semantic features of the project,and use it as the initial feature of the project association network.(3)For the developer-project heterogeneous network,HIN is used to learn and obtain the developer embedding vector d1 and project embedding vector p1.For the developer cooperation network and project association network,Node2 vec is used to learn and obtain the developer embedding vector d2 and project embedding vector p2.Then the two kinds of developer and project embedding vectors are fused separately.Finally,the graph attention neural network is used to learn the fused embedding vector,Get developer and project feature representation.(4)A lot of experiments have been carried out on Github and Gitlab data sets.First,the model in this thesis is compared with the four benchmark models,and then the influence of the interaction weight of the initial developer project on the training time of the model is verified.Finally,a large number of ablation comparison experiments are carried out.The experimental results show that the fusion of developer interest features and project semantic features can further improve the recommendation effect of the sub-model.
Keywords/Search Tags:Developer recommendation, Project recommendation, Relationship network, Network embedding, Graph neural network
PDF Full Text Request
Related items