一种面向程序设计领域问答系统的知识库构建方法及装置制造方法及图纸

技术编号:19277414 阅读:29 留言:0更新日期:2018-10-30 17:59
一种面向程序设计领域问答系统的知识库构建方法及装置,包括如下步骤,根据在线测评系统的知识内容初步建立智能问答知识库;获取用户问题,并将问题的语句分词后进行近义词替换,再与知识库中内容进行相似度计算;通过相似度分析获取问题语句的结果,并将结果按相似度排序,返回相似度最高的答案至用户;若用户满意当前返回答案,则根据问答同步更新智能问答知识库,并通过运用代码相似算法实时检测缓存中的数据;否则,返回次优答案至用户,直至用户满意为止。本系统可以克服传统在线课后答疑系统中存在的时间差、搜索准确度低、效率有待提高等问题,有效提高用户获取信息的速度和准确率,同时优化在线评测系统的教学效果。

A knowledge base construction method and device for programming domain question answering system

A method and device for constructing a knowledge base for a question answering system in the field of programming includes the following steps: establishing an intelligent question answering knowledge base based on the knowledge content of the online evaluation system; obtaining user's questions; substituting synonyms for the sentences of the questions, and calculating the similarity with the contents of the knowledge base; The result of question statement is obtained by similarity analysis, and the result is sorted by similarity, and the answer with the highest similarity is returned to the user; if the user is satisfied with the current answer, the intelligent question answering knowledge base is updated synchronously according to the question answering, and the cached data is detected in real time by using code similarity algorithm; otherwise, the return times are repeated. The best answer is to the user until the user is satisfied. This system can overcome the problems of time lag, low search accuracy and efficiency in the traditional online after-class question answering system, effectively improve the speed and accuracy of user access to information, and optimize the teaching effect of online evaluation system.

【技术实现步骤摘要】
一种面向程序设计领域问答系统的知识库构建方法及装置
本专利技术属于计算机数据处理
,具体涉及一种面向程序设计领域问答系统的知识库构建方法及装置。
技术介绍
智能问答系统是基于高速发展的互联网提供的海量数据,通过问题分析和数据处理,对待解决的现实问题进行解答的智能系统。此系统可以大幅度提高用户获取信息的速度和准确率。据申请人了解,现有的智能问答系统主要是基于在线问答知识库和互联网中庞大的数据库,通过对历史用户问答信息、海量网络数据进行挖掘,计算用户问题语句与已有问答对中问题语句之间的相似度,将相似度最高的问答对中的答案返回给用户。同时将用户反馈的答案评价作为依据,判断答案优劣,并根据用户问答情况同步更新建立后的知识库。然而,上述智能问答系统存在的缺陷在于:由于不同计算机程序语言的语法具有较大差异,少数情况下系统得到的问题的答案不够准确。
技术实现思路
本专利技术的目的在于:提供一种面向程序设计领域问答系统的知识库构建方法及装置,可以有效提高用户获取信息的速度和准确率,并能优化在线评测系统的教学效果。为了达到以上目的,一种面向程序设计领域问答系统的知识库构建方法,包括如下步骤,根据在线测评系统的知识内容初步建立智能问答知识库;获取用户问题,并将问题的语句分词后进行近义词替换,再与知识库中内容进行相似度计算;通过相似度分析获取问题语句的结果,并将结果按相似度排序,返回相似度最高的答案至用户;若用户满意当前返回答案,则根据问答同步更新智能问答知识库,并通过运用代码相似算法实时检测缓存中的数据;否则,返回次优答案至用户,直至用户满意为止。本专利技术的优选方案是:问题的语句分词具体为:首先输入需要分词的字符串和所控制的分词模式,再根据分词模式将字符串分词,字符串可为UTF-8字符串或GBK字符串优选地,通过相似度分析获取问题语句的结果,并将结果按相似度排序,具体为:在智能问答知识库中检索匹配相似度高的回答对,若知识库中不存在,则通过爬虫机制从网络中抓取相似度高的结果进行反馈。优选地,返回次优答案至用户,具体为:依照相似度排序的结果,返回相似度次高的答案,再根据反馈至用户后收到的用户评价,不满意则继续返回下一相似度高的答案,直至用户满意为止。优选地,根据问答同步更新智能问答知识库,具体为:运用代码相似度算法,实时从课后答疑系统的知识内容中将相似的答案归类为同一个问题的不同答案;若原有知识库中未找到相似度足够高的问答对或用户未从原有知识库的返回答案中找到满意答案时,则从网络上爬取返回给用户的满意答案进行保存,创建新的问答对。本专利技术还提供一种面向程序设计领域问答系统的知识库构建装置,包括:预置知识库单元,用于根据在线测评系统的知识内容初步建立智能问答知识库;分析问题单元,用于获取用户问题,并将问题的语句分词后进行近义词替换,再与知识库中内容进行相似度计算;检索答案单元,用于通过相似度分析获取问题语句的结果,并将结果按相似度排序,返回相似度最高的答案至用户;反馈更新单元,用于当用户满意当前返回答案,则根据问答同步更新智能问答知识库,并通过运用代码相似算法实时检测缓存中的数据;否则,返回次优答案至用户,直至用户满意为止。优选地,分析问题单元中,包括:接收单元,用于获取用户问题;处理单元,用于将问题的语句分词后进行近义词替换;计算单元,用于将用户问题与知识库中内容进行相似度计算。优选地,检索答案单元包括:检索单元,用于根据分析问题单元中产生的相似度的分析,在智能问答知识库中检索匹配相似度高的回答对;爬虫单元,用于当知识库中不存在相似度高的回答对,通过爬虫机制从网络中抓取相似度高的结果进行反馈。优选地,反馈更新单元包括:存入单元,用于将用户满意的最佳答案自动存入智能问答知识库中,并根据问答同步更新智能问答知识库;更新单元,用于运用代码相似度算法,实时从课后答疑系统的知识内容中将相似的答案归类为同一个问题的不同答案;若原有知识库中未找到相似度足够高的问答对或用户未从原有知识库的返回答案中找到满意答案时,则从网络上爬取返回给用户的满意答案进行保存,创建新的问答对。本专利技术有益效果为:本智能问答系统不仅拥有传统答疑系统的功能,还允许学生以自然语言的形式句子进行提问,并能自动地返回给学生一个自然语言形式的答案,系统的知识库面向程序设计领域,可以更准确地返回有关程序设计类题目的答案;整个系统克服了传统在线课后答疑系统中存在的时间差、搜索准确度低、效率有待提高等问题,有效提高用户获取信息的速度和准确率,同时优化在线评测系统的教学效果。附图说明下面结合附图对本专利技术作进一步的说明。图1为本专利技术的流程示意框图;图2为本专利技术的装置结构示意图;图3为本专利技术的系统结构框架图。具体实施方式实施例一请参阅图1一种面向程序设计领域问答系统的知识库构建方法,包括如下步骤,S101、基于在线评测系统中师生交流沟通的内容、提问答疑的知识,初步建立智能问答的知识库,供后续步骤搜索问题答案使用;S102、获取用户问题,对用户问题语句进行分词操作,并进行近义词替换;S103、对问题语句进行相似度分析计算,将结果按相似度排序,根据相似度匹配排序返回相似度最高的答案,先返回给学生此答案;S104、当学生对当前返回的答案不满意时,可以返回同一个问题中另外的次优答案;S105、智能问答的知识库根据用户问答情况同步更新,运用代码相似度算法,始终对缓存中的数据进行实时检测。接下来将结合实施例和附图对面向程序设计领域智能问答方法的各步骤作进一步详细说明。步骤S101中,基于现有的程序设计在线评测系统,利用其中大量的师生交流沟通的内容和提问答疑的知识,初步建立预置知识库,作为后续问题检索答案的首要数据来源。步骤S102中,获取用户问题语句之后,由于用户输入的是自然语言,计算机本身并不能进行有效准确的识别。本系统对用户输入的问题首先进行分词操作,在分词算法模式的选择上,全模式速度快但准确度不够高,本系统放弃了全模式分词,选择更适合文本分析的精确模式分词,得到更好的分词效果。例如,用户提问问题“我想要C++的快速排序算法代码”,得到分词结果语句为“我/想要/C++/的/快速排序/算法/代码”。分词完成后,进行近义词替换,使提问的自然语言更接近计算机可识别的语言。步骤S103中,对问题语句进行相似度分析计算。相似度分析过后,将结果按相似度排序,根据相似度匹配排序返回相似度最高的答案,先返回给学生此答案。相似度越高,此问题答案越接近目标答案,返回给用户后出错概率越小,越容易满足用户预期要求。而预置知识库并非一定全面,检索出的答案即便是相似度最高的也有可能和用户预期答案有所出入。因此,下一步骤中给出了解决方案。步骤S104中,当相似度分析之后返回的最优答案也不能满足用户预期,可以返回上一步,选择相似度较高但非最高的答案反馈给用户。例如,“如何用C++写出最简单快速的排序算法?”,系统首先返回“用C++语言书写的快速排序算法程序”。但是用户在使用之后觉得速度并不理想,此时系统返回次优答案“用C++语言书写的冒泡排序算法程序”。还需要说明的是,如果知识库中不存在相似度较高的问答对,则可其用爬虫机制,从拥有海量信息的网络上得到相似度更高的结果进行反馈。例如,使用爬虫机制,利用百度等一些搜索引擎,搜本文档来自技高网...

【技术保护点】
1.一种面向程序设计领域问答系统的知识库构建方法,其特征在于,包括如下步骤,根据在线测评系统的知识内容初步建立智能问答知识库;获取用户问题,并将问题的语句分词后进行近义词替换,再与知识库中内容进行相似度计算;通过相似度分析获取问题语句的结果,并将结果按相似度排序,返回相似度最高的答案至用户;若用户满意当前返回答案,则根据问答同步更新智能问答知识库,并通过运用代码相似算法实时检测缓存中的数据;否则,返回次优答案至用户,直至用户满意为止。

【技术特征摘要】
1.一种面向程序设计领域问答系统的知识库构建方法,其特征在于,包括如下步骤,根据在线测评系统的知识内容初步建立智能问答知识库;获取用户问题,并将问题的语句分词后进行近义词替换,再与知识库中内容进行相似度计算;通过相似度分析获取问题语句的结果,并将结果按相似度排序,返回相似度最高的答案至用户;若用户满意当前返回答案,则根据问答同步更新智能问答知识库,并通过运用代码相似算法实时检测缓存中的数据;否则,返回次优答案至用户,直至用户满意为止。2.根据权利要求1所述的一种面向程序设计领域问答系统的知识库构建方法,其特征在于,所述问题的语句分词具体为:首先输入需要分词的字符串和所控制的分词模式,再根据分词模式将字符串分词,字符串可为UTF-8字符串或GBK字符串。3.根据权利要求1所述的一种面向程序设计领域问答系统的知识库构建方法,其特征在于,所述通过相似度分析获取问题语句的结果,并将结果按相似度排序,具体为:在智能问答知识库中检索匹配相似度高的回答对,若知识库中不存在,则通过爬虫机制从网络中抓取相似度高的结果进行反馈。4.根据权利要求1所述的一种面向程序设计领域问答系统的知识库构建方法,其特征在于,所述返回次优答案至用户,具体为:依照相似度排序的结果,返回相似度次高的答案,再根据反馈至用户后收到的用户评价,不满意则继续返回下一相似度高的答案,直至用户满意为止。5.根据权利要求1所述的一种面向程序设计领域问答系统的知识库构建方法,其特征在于,所述根据问答同步更新智能问答知识库,具体为:运用代码相似度算法,实时从课后答疑系统的知识内容中将相似的答案归类为同一个问题的不同答案;若原有知识库中未找到相似度足够高的问答对或用户未从原有知识库的返回答案中找到满意答案时,则从网络上爬取返回给用户的满意答案进行...

【专利技术属性】
技术研发人员:薛景史立丽黄寄陈仁祥武鹏超
申请(专利权)人:南京邮电大学
类型:发明
国别省市:江苏,32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1