| With the development of big data software engineering,the software knowledge community has produced a huge amount of community texts,which contain valueable knowledge of technologies,activities,tools and project management related to software development.Knowledge graph represents concepts,entities and semantic relations in the form of graph structure,which has become the key to promote the development of intelligent applications.Therefore,automatically and efficiently extract software knowledge from massive software knowledge community texts,and explore the application of software knowledge,which plays an important role in improving software development efficiency and software product quality.Software knowledge community text is user-generated content,which not only has social features such as repetitive content,loose structure and irregular spelling,but also has software domain features such as non-uniform naming,complicated terminology and weak semantic features.The traditional information extraction methods treat the software knowledge community text as plain text,which reduces the quality of software knowledge extraction and application.In this thesis,software knowledge entities and semantic relations are extracted from the community text to form the software knowledge graph,and the software knowledge is applied to the expert recommendation in the software knowledge community.The main contents are as follows:1.In response to the problems of entity ambiguity,entity variant and out-of-vocabulary(OOV)words,a novel software knowledge entity extraction method based on multi-feature fusion and semantic enhancement has been proposed.Firstly,the pre-trained language model is used to obtain a high-quality word representation of the software engineering domain.Secondly,a hybrid neural network is designed to integrate the features of context and syntactic dependency to obtain multi-feature representation of context.Finally,a semantic enhancement strategy based on attention weight is proposed to obtain the enhanced feature representation of domain-specific entities.2.In response to the problems of weak semantic features and ambiguous semantic relations of entities and the problems of under-pruning or over-pruning in syntactic dependency modeling,a software knowledge entity relation extraction method based on syntactic dependency and entity-aware information has been proposed.To avoid the effect of noise words or key information loss,a weighted graph convolutional network based on Newton’s cooling law was proposed to capture the enhanced representation of syntactic dependency.To alleviate the problems of weak semantic features and ambiguous semantic relations,a feature fusion method based on entity-aware is proposed to obtain the enhanced representation of an entity and sentence sequence.3.In response to the problems of task dependence caused by the pipeline method and entity overlap,a joint extraction method of software knowledge entities and relations based on span-level contrast representation learning is proposed.On the one hand,sentence sequences are modeled by span units to generate abundant positive and negative samples,which can avoid the problem that overlapping entities cannot be selected by the token level modeling method.On the other hand,contrast representation learning is introduced to enhance the feature representation of entity span and entity pair through positive and negative sample enhancement and construction of contrast loss function.4.In response to the problems of label dependence,sparse interactive data and unassociated knowledge,a software expert recommendation method based on knowledge graph and domain knowledge-aware was proposed.Firstly,the software knowledge graph is used as an auxiliary resource to provide domain knowledge representation.Secondly,deep reinforcement learning is used to model interactive information to capture the domain knowledge preference of experts.Finally,a software knowledge-aware network was designed to obtain the domain representation and preference representation of question and the expert,respectively,which can improve the performance of the expert recommendation task. |