一种程序设计类课程课后答疑系统的知识库建立方法技术方案

技术编号:21548114 阅读:22 留言:0更新日期:2019-07-06 21:34
一种程序设计类课程课后答疑系统的知识库建立方法,包括如下步骤,步骤S1、根据交互信息获取并整理收到问题语句;步骤S2、生成问题语句的词向量矩阵,并通过预设模型判断问题语句的问题类型;步骤S3、计算问题语句与同类型其他问题语句之间的语义相似度;步骤S4、根据语义相似度构建候选答案,再通过排序算法对候选答案进行排序,更新问题语句的知识库。该方法利用模型判断问题语句的类型,再根据同类语句之间语义相似度构建候选答案,最后通过排序算法排序候选答案构建问题的知识库,使课后答疑系统的表现更佳。

A Knowledge Base Establishment Method of Question Answering System for Programming Courses

【技术实现步骤摘要】
一种程序设计类课程课后答疑系统的知识库建立方法
本专利技术属于人机交互
,具体涉及一种程序设计类课程课后答疑系统的知识库建立方法。
技术介绍
目前远程教育的自动答疑系统,主要以WebBBS讨论、留言版和Email交流方式为主,存在时延过长和效率低下等问题。而在具有一定智能的课后答疑系统中,以上海交通大学研发的AnswerWeb自动答疑系统为例,这类系统虽然是一种具有自动答疑部件的系统,有一定的智能性,但是在程序设计类课程的课后答疑方面却表现不佳,不能为学生提供更加优质的解答。这是由程序设计类课程的特殊之处造成的,程序设计课程与其他专业课程答疑不同之处在于,程序设计课程涉及有关代码的正确性测试、报错纠错和逻辑解释等一系列专业性问题。在一般的课后答疑系统中,问答对一般由文本组成,而程序设计类课程课后答疑系统中的问答对中除了传统文本,还可能包含代码片段。
技术实现思路
本专利技术所要解决的技术问题是克服现有技术的不足,提供一种程序设计类课程课后答疑系统的知识库建立方法,利用模型判断问题语句的类型,再根据同类语句之间语义相似度构建候选答案,最后通过排序算法排序候选答案构建问题的知识库,使课后答疑系统的表现更佳。本专利技术提供一种程序设计类课程课后答疑系统的知识库建立方法,包括如下步骤,步骤S1、根据交互信息获取并整理收到问题语句;步骤S2、生成问题语句的词向量矩阵,并通过预设模型判断问题语句的问题类型;步骤S3、计算问题语句与同类型其他问题语句之间的语义相似度;步骤S4、根据语义相似度构建候选答案,再通过排序算法对候选答案进行排序,更新问题语句的知识库。作为本专利技术的进一步技术方案,步骤S2具体方法为:步骤S21、对训练语料中的语句进行解析,获取各训练语句的词向量矩阵,根据各训练语句的词向量矩阵和自身的语句类型训练预设模型;步骤S22、对问题语句进行分词处理,获取一系列词语,生成每个词语的词向量,并组合生成问题语句的词向量矩阵;步骤S23、根据词向量矩阵,利用预设模型判断语句的问句类型。进一步的,语句类型包括日常用语类、课程解释类、讲义资料类、环境配置类、程序原理类、代码调试类和作业解答类。进一步的,步骤S3中相似度计算包括:通过词形相似度计算问题语句与同类型的其它问题语句之间的第一相似度;通过句长相似度计算问题语句与同类型的其它问题语句之间的第二相似度;通过余弦相似度计算问题语句与同类型的其它问题语句之间的第三相似度;确定所述第一相似度对应第一权重,所述第二相似度对应第二权重,以及所述第三相似度对应第三权重;将所述第一相似度与所述第一权重相乘,得到第一乘积;将所述第二相似度与所述第二权重相乘,得到第二乘积;将所述第三相似度与所述第三权重相乘,得到第三乘积;将所述第一乘积、所述第二乘积和所述第三乘积相加,得到问题语句与同类型的其它问题语句之间的所述语义相似度。进一步的,步骤S3中相似度计算包括:通过词形相似度计算问题语句与同类型的其它问题语句之间的第一相似度;通过句长相似度计算问题语句与同类型的其它问题语句之间的第二相似度;通过余弦相似度计算问题语句与同类型的其它问题语句之间的第三相似度;确定所述第一相似度对应第一权重,所述第二相似度对应第二权重,以及所述第三相似度对应第三权重;将所述第一相似度与所述第一权重相乘,得到第一乘积;将所述第二相似度与所述第二权重相乘,得到第二乘积;将所述第三相似度与所述第三权重相乘,得到第三乘积;将所述第一乘积、所述第二乘积和所述第三乘积相加,得到问题语句与同类型的其它问题语句之间的所述语义相似度。本专利技术在程序设计类课程课后答疑系统知识库中,建设和管理包含程序代码知识的问题,使程序设计类课程课后答疑系统表现效果更佳。附图说明图1是本专利技术的实施例中程序设计类课程课后答疑系统知识库的建设方法的流程示意图;图2是本专利技术的实施例中判断问题语句的问题类型的流程示意图;图3是本专利技术的实施例中计算问题语句与同类型的其他问题语句之间的语义相似度的流程示意图;图4是本专利技术的实施例中通过改编后HackerNews的排序算法获取知识库的流程示意图。具体实施方式本实施例提供一种程序设计类课程课后答疑系统的知识库建立方法,包括如下步骤,步骤S1、根据交互信息获取并整理收到问题语句;步骤S2、生成问题语句的词向量矩阵,并通过预设模型判断问题语句的问题类型;步骤S3、计算问题语句与同类型其他问题语句之间的语义相似度;步骤S4、根据语义相似度构建候选答案,再通过排序算法对候选答案进行排序,获取问题语句的知识库。如图1所示,步骤S1具体为:根据交互信息生成问题语句可以指对交互信息中的无意义词语或是句式进行相关转换,从而得到更加易于分析处理的数据形式。在本课后答疑系统中,当用户输入对应的问题语句时,本课后答疑系统会返回与该问题语句回应的答案。当本课后答疑系统中不存在与该问题语句对应的答案时,本课后答疑系统也会返回提示信息,提醒用户不存在与该问题语句对应的答案,并存储该问题语句,累积至一定数值或设置定时任务,提交给本课后答疑系统对应专家人员进行解答和存储答案。如图2所示,步骤S2的具体方法为:步骤S21、对训练语料中的语句进行解析,获取各训练语句的词向量矩阵,根据各训练语句的词向量矩阵和自身的语句类型训练预设模型;步骤S22、对问题语句进行分词处理,获取一系列词语,生成每个词语的词向量,并组合生成问题语句的词向量矩阵;步骤S23、根据词向量矩阵,利用预设模型判断语句的问句类型。例如,各个训练语句及其问题类型标记可以表示为:1.(日常用语类)“上课地点改在哪里了呢?”2.(课程解释类)“大佬,求考试重点”3.(讲义资料类)“有上课用的PPT嘛?么么哒~”4.(环境配置类)“Code::Block什么情况啊,求抢救一下!!sorry,unimplement:64-bitmodenotcompliedin”5.(程序原理类)“python中为什么这个和这个的结果不一样啊?’y’<’x’==False为False,(‘y’<’x’)==False为True??”6.(代码调试类)“C语言这段为啥报错?谢谢#include<stdlib.h>intmain(){print(“helloworld!”)return0;}”7.(作业解答类)“实验二的任务四什么意思啊?”通过对“上课地点改在哪里了呢?”等语句进行分词处理得到一系列词语,其中的词语既包含文本词语也包含代码片段,对这些词语进行转换得到该语句的词向量,将这些词向量按一定顺序拼接,就得到了该语句的词向量矩阵。本实施例中,各个训练语句的词向量矩阵优选地为二维矩阵。需要指出的是,在本专利技术的不同实施例中,训练预料中所包含的带有句类标记的训练语句的数量(即训练样本数量)根据实际需要可用不同合理值,本专利技术不限于此。在得到各个训练语句的词向量矩阵后,该方法便可以中利用这些训练语句的词向量矩阵来对预设模型进行训练。将训练语句的词向量矩阵作为模型的输入数据,将该训练语句的句子类型作为模型的输出。具体地,利用预设模型对词向量矩阵进行计算得到预测分类值,该预测分类值能够表征该对话语句的问题类型。将所述预测分类值与既有标准标注数值比对(由于该训练语句的句类是已知的,因本文档来自技高网...

【技术保护点】
1.一种程序设计类课程课后答疑系统的知识库建立方法,其特征在于,包括如下步骤,步骤S1、根据交互信息获取并整理收到问题语句;步骤S2、生成问题语句的词向量矩阵,并通过预设模型判断问题语句的问题类型;步骤S3、计算问题语句与同类型其他问题语句之间的语义相似度;步骤S4、根据语义相似度构建候选答案,再通过排序算法对候选答案进行排序,更新问题语句的知识库。

【技术特征摘要】
1.一种程序设计类课程课后答疑系统的知识库建立方法,其特征在于,包括如下步骤,步骤S1、根据交互信息获取并整理收到问题语句;步骤S2、生成问题语句的词向量矩阵,并通过预设模型判断问题语句的问题类型;步骤S3、计算问题语句与同类型其他问题语句之间的语义相似度;步骤S4、根据语义相似度构建候选答案,再通过排序算法对候选答案进行排序,更新问题语句的知识库。2.根据权利要求1所述的一种程序设计类课程课后答疑系统的知识库建立方法,其特征在于,所述步骤S2具体方法为:步骤S21、对训练语料中的语句进行解析,获取各训练语句的词向量矩阵,根据各训练语句的词向量矩阵和自身的语句类型训练预设模型;步骤S22、对问题语句进行分词处理,获取一系列词语,生成每个词语的词向量,并组合生成问题语句的词向量矩阵;步骤S23、根据词向量矩阵,利用预设模型判断语句的问句类型。3.根据权利要求2所述的一种程序设计类课程课后答疑系统的知识库建立方法,其特征在于,所述语句类型包括日常用语类、课程解释类、讲义资料类、环境配置类、程序原理类、代码调试类和作业解答类。4.根据权利要求1所述的一种程序设计...

【专利技术属性】
技术研发人员:薛景李洲洋孙彤施寅端林丹
申请(专利权)人:南京邮电大学
类型:发明
国别省市:江苏,32

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

1