Font Size: a A A

Design And Implementation Of Knowledge Question Answering System For Software Development

Posted on:2021-01-26Degree:MasterType:Thesis
Country:ChinaCandidate:X L ShiFull Text:PDF
GTID:2428330602481490Subject:Software engineering
Abstract/Summary:PDF Full Text Request
In today's society,with the continuous advancement of information technology,the field of software development has been rapidly developed,and the types and data of relevant software development knowledge are also constantly increasing.How can we recommend to developers from these diverse and huge amounts of data Appropriate and effective software development knowledge has become the main content of the current software development field.Traditional search engine-based knowledge acquisition methods,by matching keywords,can obtain a series of relevant information to recommend to users.In recent years,especially after Google put forward the concept of knowledge map in 2012,the related technology using knowledge map has made great progress in the research of knowledge question and answer.However,there are still many shortcomings in the field of knowledge development in the software development field:(1)Now the knowledge in the field of software development is relatively scattered,and a lot of information is scattered on various websites.People often need The search engine searched multiple times to get the required answer,lacking an automatic collection mechanism for software development knowledge;(2)the existing software development knowledge is relatively fragmented,lacking industry-unified specifications and standards,and there is no specific Domain to specifically design a professional domain knowledge base;(3)By observing and researching the "question-answer pairs" of some software development areas on StackOverflow,CSDN and other websites,it is found that most of the questions involve multiple entities and relationships The corresponding answers to questions are often multiple and in various forms.For this kind of complex and open software development problems,the traditional method of knowledge answering is inadequate.Most of the traditional methods of knowledge answering are to study some simple factual problems,which cannot well support the complex and open problems in the field of software development.Therefore,how to answer such complex and open questions in the field of software development has become a problem that needs to be studied and solved at this stage.This article has conducted in-depth research on the various issues listed above.The main tasks are:1.Realize the automatic collection of knowledge of heterogeneous multi-source software development.In order to realize the automatic collection of knowledge in the field of software development,a parallel crawler program is constructed,and data sets on various software development websites are crawled,such as StackOverflow,CSDN,GitHub,etc.2.A unified software development knowledge map is constructed.Construct a software development knowledge map suitable for software development knowledge quiz,and design a software development knowledge base.First,analyze and summarize the collected question and answer data to obtain the characteristics of the software development domain question and the corresponding answer;then preprocess the data to extract the entity,relationship,and attribute information in the data;finally,use the collected software Developed a knowledge data set and crawled from Wikipedia and other websites on software development knowledge and software development field question answer characteristics,improved the general knowledge map construction method,and used a graph database such as Neo4j for data storage and construction A software development knowledge base suitable for software development quiz.3.A knowledge question and answer method for complex problems in software development is proposed.The method is to find the similar question entity that most closely matches the user question description in the knowledge graph,and use its answer as the answer to the end user question.The method mainly includes two aspects.One is the embedded representation of the user question.It is a combined embedded representation of the question after the knowledge level information and the structural information in the knowledge graph are combined.The second is the construction of the user question.And combine it with the attention mechanism to characterize the user's true intentions.Finally,we construct a scoring function to calculate the relevance score,obtain the candidate question that best matches the user question,and use its answer as the user question answer.4.Design and implement a knowledge answering system for software development.Based on the analysis of the shortcomings of traditional knowledge question answering methods and the increasing needs of users,based on the knowledge question answering method,a knowledge question answering system oriented to software development is designed to effectively answer complex and open questions in the software development field.This paper collects heterogeneous and multi-source software development knowledge through automation,constructs a software development knowledge map,proposes a knowledge-answering method for software development,and designs and implements a knowledge-answering system for software development.The function and performance of the knowledge question answering system were tested.The results show that the system has good stability,and the proposed method has achieved good results.
Keywords/Search Tags:Knowledge Question Answering, Software Development, Complex Problems, Knowledge Graph, Software Development Knowledge Base
PDF Full Text Request
Related items