| With the development of the open-source community,more and more developers are willing to develop projects in the form of open-source,which allows developers to reuse existing open-source projects or directly learn from their code.In addition,the free thought of open-source also encourages developers to join and contribute to projects,to help more open-source projects develop healthily and permanently.However,in a large open-source community like Git Hub,tens of thousands of opensource projects are created every day.Developers often can’t quickly find the open-source projects they need in the huge project resources.Therefore,how to recommend open-source projects to developers is an urgent problem to be solved.Firstly,aiming at the problem of incomplete utilization of open-source community information in the research of open-source project recommendation,this thesis fully excavates the correlation information between developers and projects,and puts forward the open-source project recommendation model GCNRec,which extracts the characteristics of developer behavior data and project data through graph convolution network,so as to realize the personalized recommendation of open-source projects.In order to make further use of the massive information between projects,this thesis designs a method based on character features to identify the software entities in the project text,and constructs the open-source project knowledge graph.What’s more,this thesis proposes a project recommendation model KGRec based on the knowledge graph of opensource projects.The model uses the relational graph convolution network to learn the entity representation from the knowledge graph,and uses the attention network to learn the preferences of developers,more accurately recommends open-source projects for developers,and analyzes the interpretability of the recommendation results in combination with the knowledge graph.The experimental results show that the feature extraction method proposed in this thesis can effectively improve the recommendation effect of the model,and the GCNRec recommendation model has achieved higher hit rate and precision than the existing methods.In addition,the open-source project knowledge graph constructed in this thesis includes 6types of entities and 11 types of entity relationships.The knowledge graph can better describe the relationship between projects.Compared with GCNRec,the open-source project recommendation model KGRec can greatly improve the recommendation precision.The recommendation model built in this thesis can accurately recommend target projects for developers and help developers better develop in the open-source community. |