APP下载

智能答疑系统的设计与实现

2018-01-08宋万里卜磊

电脑知识与技术 2017年36期
关键词:相似度学科分类

宋万里 卜磊

摘要:教师不能有效及时的回答学生学习过程中遇到的问题,会影响学生的学习兴趣及学习效率。该文通过自然语言处理技术、模板分类技术、支持向量机技术构建智能答疑系统,对问题和答案进行分词处理、模板匹配和分类训练,自动对问题和答案进行课程类别判断。再通过余弦相似性算法对问题和答案计算相似度,返回相似度最大的答案。如用户对系统反馈答案不满意,可以将问题抛入公共问答区,来寻求其他用户帮助。系统将对用户答案进行审核,审核通过则将此问题答案对添加到题库中,使得题库中的问句不断扩充。该文是以网络论坛中的用户提问作为问题库,通过此库进行答案的反馈。测试结果表明,该系统能够很好地服务于大学生,体现出教学的智能化。

关键词:智能问答;学科分类;问句分类;相似度;智能教学

中图分类号:TP391 文献标识码:A 文章编号:1009-3044(2017)36-0163-03

Abstract: This is a tough task for teachers to answer questions from students effectively and timely. In this paper, we design and implements an intelligent question answering system using Natural Language Processing, template classification, support vector machine. The system processes the questions and answers by word segmentation, template matching and classification training, and automatically classifies the questions and answers by subject category. This system also calculates the similarity between the questions and answers by cosine similarity algorithm, and returns the most similar answer. If the answer given by the system is not satisfied with the user, the system will write the question into the public question and answer area to seek help from other users. The system will evaluate the answer given by the user, then add the passed answer and the corresponding question to the QA base, so that the questions and answers in the QA base continue to expand. We use the QA base of a network forum as the basic to carry out the experiments. The implementation and experimental results indicate that the proposed approach is achievable.

Key words: intelligent question and answer; subject classification; question classification; question similarity; intelligent teaching

1 背景

智能答疑系統又叫做QA系统,随着互联网技术以及自然语言处理技术的不断发展,对智能答疑系统的研究也在不断的推进[1]。它允许用户以自然语言进行提问,而系统通过推理分析,从一定的信息来源提取文本信息,反馈给用户有效答案。智能问答系统被分为开放领域和封闭领域两类,封闭领域将用户问句限定在某一领域内;而开放领域不设定问题的范围,提问者可以提问自己感兴趣的任何问题,并且能够从系统中获得满意的答案。目前流行的问答机器人多是基于开放领域的,如基于互联网预料及用户点击日志的微软小冰,基于百度搜索日志的百度语音助手等。这些开发性的机器人无法针对特定领域(如政府、金融、保险、教育)给出准确的回答。银行问答系统,金融问答系统,电商机器客服等问答系统则是针对特定领域的。如北京理工大学自然语言处理实验室开发的银行领域的智能问答系统BAQS,哈尔滨工业大学研究生开发的面相金融的问答系统,它们随时都能回答用户的问题,极大节省了人力资源。

学生在学习过程中会遇到各种问题,需要及时的被解答。本文研究设计了一套针对计算机基础知识领域的问答系统,该系统能够满足用户对该领域问答的需求。智能问答系统主要包括三个部分:问题分析、信息检索和答案抽取[2]。本文是基于FAQ(Frequently Asked Questions)库的限定领域的答疑系统。主要对课程关键词提取,中文问句课程分类,中文问句类型分类,中文问句相似度计算进行研究与实现。本系统的价值在于提高学生学习的兴趣和学习的效率,并促使教学往智能化的方向发展。

2 系统流程设计

系统流程从用户提出问题开始,首先使用分词工具对问句进行处理,包括去停用词和用户自定义词的提取。根据基于规则的中文问句分类方法对问句类型进行判断,然后通过训练好的SVM模型来判断问句所属课程类型,最后在FAQ库同类问句中进行余弦相似度计算,取出相似度最高的问句答案反馈给用户。由于FAQ库不可能包含用户提问的所有问题,在此情况下相似度将会很低,即系统反馈的答案不能使用户满意。此种情况下,用户可以将问句发往公共问答区寻求其他用户帮助,并由用户自己选出满意的回答。最后系统将对此问题和答案审核,如果审核通过则将此问题答案对添加到FAQ库中。在使用的过程中,FAQ库将会被不断完善,那么系统反馈正确答案的能力也将越来越强[3-5]。问答流程如图1所示。

3 系统实现

3.1 利用TF-IDF算法提取课程关键词

本文将问题所属课程分为四类,“数据结构”、“数据库概论”、“计算机网络”、“其他课程”。每个课程都有其关键词[6-7],关键词是判断问句所属课程的关键。例如:TCP、路由器、交换机、网络协议等很明显是属于计算机网络这门课程的关键词。本文就采用TF-IDF算法来收集每门课程的关键词,再结合人工收集对关键词进行补充完善。如果一个词在其他文章中很少出现,但在该文章中多次出现,则我们就认为该词就是我们所要找的关键词。这个重要性调整系数就是逆文档频率(IDF),它的值和一个词的常见程度成反比。知道了词频(TF)和逆文档频率(IDF),将它们相乘就能得到一个词的TF-IDF[8]。如果TF-IDF值越大,则说明该词对这篇文章越重要,即为关键词。

词频计算公式:

3.2 利用LibSVM判断课程类别

LibSVM是台湾大学林智仁教授等开发设计的一个简单、易于使用和快速有效的SVM模式识别与回归的软件包。我们有多个课程要分类,属于多分类问题,而SVM是一个二分类器,当遇到多类别的时候[9],一般采取如下两种策略。一个是一对多法:训练时依次把某个类别的样本归为一类,其他剩余的样本归为另一类,这样k个类别的样本就构造出了k个SVM。分类时将未知样本分类为具有最大分类函数值的那类。另一个是一对一法:其做法是在任意两类样本之间设计一个SVM,因此k个类别的样本就需要设计k(k-1)/2个SVM。當对一个未知样本进行分类时,最后得票最多的类别即为该未知样本的类别。LibSVM中的多类分类就是根据第二个方法实现的。

我们把利用TF-IDF所收集的三门课程的关键词作为分类的属性。我们规定课程“数据结构”的标签为1,课程“数据库概论”的标签为2,课程“计算机网络”的标签为3 。比如数据库中有100条计算机网络课程的问句,我们将选取80条用来作为训练的数据,另外20条用来测试训练出来的模型。我们将每一条问句分词,并将这些词和属性词集进行比对,如果问句所分词出现在属性词集当中,则将该属性标为1,其余属性标为0。利用这种方法将训练集中的“数据结构”、“数据库概论”、“计算机网络”问句全部转为这种数据格式,传递给LibSVM用于训练,获得模型。

3.3 基于模式匹配的中文问句分类

问句的分类对问答系统来说非常重要,它能够缩小数据的查找范围,在一定层面上决定了答案抽取的准确性。本文通过对问题集的收集,分析每种问题所包含的比例,有侧重的提出一套适合于计算机基础问句领域中文问句分类规则。系统将本领域问题分为原因类、比较类、描述类、列举类、其他类。如表1所示。

首先对中文问句进行分词,例如:JAVA为什么可以跨平台?可以被分为“JAVA”,“为什么”,“可以”,“跨”,“平台”这几个词。将这几个词和原因类的特征词相比较,显然为什么是属于原因类的特征词。如果没有匹配上,则依次和比较类,描述类,列举类的特征词相比较。如果都没有匹配上,则看问句中是否出现了本领域的特征词。比如用户就输入“数据结构”四个字,很明显没有疑问词的出现。但“数据结构”是本领域的特征词,所以我们默认为用户提问的是“什么是数据结构?”,即将其归为描述类问句。如果没有疑问词也未出现本领域的特征词,则将其归为其他类问句。问句分类的流程图如2所示。

3.4 利用余弦定理计算问句相似度

问句相似度的计算是本系统的关键步骤,通过用户输入的问句,在同类型的问句中匹配相似度最高的问题答案返回给用户[10]。通过对两个中文文句进行分词,然后将其转为向量,最后利用余弦定理来计算两个句子的相似度。两个问句经过处理后得到如下两个向量。

4 实验结果及分析

4.1 实验方法

由于本文研究的智能答疑系统是基于FAQ库的,测试数据就是FAQ库中所有的问题答案对。首先是对课程分类模型进行测试,FAQ库中共有1000个常见问题。其中“数据结构”问句300条,“数据库概论”问句300条,“计算机网络”问句300条,其他课程问句100条。每科各取80%作为训练数据,剩余20%作为模型的测试数据。对系统反馈答案的准确率进行统计,准确率受问句类型判断和相似度计算的影响。任意抽取30%的问句进行提问,统计系统反馈答案的准确率。为了取得更好的测试结果,抽取的问句应平均分布在不同的问句类别中。

4.2 实验结果

经过测试,类别判断的准确率达到86.4%。其中“数据结构”类型判断准确率为86.7%,“数据库概论”类型判断准确率达到85.4%,“计算机网络”的准确率达到87.3%。具体实验数据如表2所示。

5 结束语

本文对智能答疑系统的设计与实现,该系统通过分词工具对问句进行预处理,过滤关键词和去停用词;利用TF-IDF技术提取本课程的关键词,关键词集合作为问句课程分类的依据;利用基于模式匹配的方法进行问句分类;利用LibSVM训练问句分类模型,利用该模型来判断问句所属课程;通过余弦相似性算法计算中文问句之间的相似度。通过实验表明,本文提出的智能答疑系统能够满足用户对问答的需求,提高了学生的学习兴趣和学习效率,体现了教学的智能化。下一步是对中文语义理解的研究,以提高系统反馈答案的正确率。

参考文献:

[1] 刘祥. 基于课程知识的问答系统研究与应用[D]. 大连: 大连海事大学, 2010.

[2] 郑实福, 刘挺, 秦兵,等. 自动问答综述[J]. 中文信息学报, 2002, 16(6):46-52.

[3] 张巍. 融合FAQ、本体和推理技术的问答系统研究[D]. 太原: 太原理工大学, 2011.

[4] 段建勇, 李俊, 张梅, 等. 限定领域的自动问答系统研究[J]. 北方工业大学学报, 2010, 22(1):23-27.

[5] 成思聪. 基于语义理解的中文问答系统的设计与实现[J]. 中国电子商情·通信市场, 2013(5):76-83.

[6] 牛彦清, 陈俊杰, 段利国, 等. 中文问句分类特征的研究[J]. 计算机应用与软件, 2012, 29(3):108-111.

[7] 姜芳, 李国和, 岳翔. 基于语义的文档关键词提取方法[J]. 计算机应用研究, 2015, 32(1):142-145.

[8] 张建娥. 基于TFIDF和词语关联度的中文关键词提取方法[J]. 情报科学, 2012(10):110-112+123.

[9] 庄新妍. 基于SVM的中文文本分类系统的研究与实现[D].长春: 吉林大学, 2007.

[10] 周永梅, 陶红, 陈姣姣, 等. 自动问答系统中的句子相似度算法的研究[J]. 计算机技术与发展, 2012, 22(5):75-78.

猜你喜欢

相似度学科分类
改进的协同过滤推荐算法
模糊Petri网在油田开发设计领域的应用研究
中医药信息学教育发展历程回顾与学科发展现状分析
基于学科分类下的交互式电子白板设备应用绩效评价