APP下载

计算机类课程智能问答助手的设计与实现*

2021-07-28白佳何苗周浩然席山山赵咪咪

数字技术与应用 2021年6期
关键词:助手贝叶斯类别

白佳 何苗 周浩然 席山山 赵咪咪

(西安工程大学计算机科学学院,陕西西安 710048)

0 引言

近十几年以来,各种搜索引擎产品不断推陈出新,满足了用户的信息检索需求。随着人工智能技术的发展,智能问答逐渐成为人们获取领域知识的常用方法之一。智能问答助手软件能够自动识别用户意图并返回用户需要的答案,在随时随地方便用户获取知识的同时,大大节省人力物力成本开销。因此,将人工智能中的智能问答应用在教育技术工作中已成为一种发展趋势。现如今在线网络课程学习逐渐成为大众学习的新模式,同时在线网络课程用户在选课学习过程中往往有许多困惑,如一门课课程主要知识点是什么?想学一门课之前应该先学哪些课程?两门课程之间有何关系等。如果有一个智能问答助手能够随时回答用户的该类问题,将会极大地方便用户的学习。研发计算机课程智能问答小助手,用户输入自己想要了解的问题,便可直接得到相关答案,解决学生学习过程中对于未知课程的困惑,使学习更加便捷,这就是其智能化的体现。相关方法技术可以推广致其他学科领域,为教育技术领域智能问答助手构建打下技术基础。本文以智能化的体现为脉络,通过“计算机类课程智能问答助手”为用户提供一个能系统脉络清晰,问题解答正确率更高的网络平台。

1 智能问答系统研究现状

目前国外已经出现很多较为成熟的智能问答系统产品,比如苹果公司基于机器学习技术的Siri系统和微软公司基于云计算、搜索引擎和“非结构化数据”分析技术的Cortana。由于智能问答系统的智能性,不仅使得用户可以快速准确的获取自己想要的信息,而且还可以减少部分地人工劳动力。未来智能问答系统的研究将基本围绕信息的抽取、问句的语义理解、知识推理三方面进行展开,不只需要更加完善的知识库,还需对用户所提出的问题进行深入准确的理解和学会推理回答。同时,国内也推出了大量利用智能问答技术的智能问答机器人,例如百度公司基于DuerOS对话式人工智能和机器学习技术的度秘在与人们进行闲聊同时,还可以提供智能客服的服务。中文的连写、狭义的形态变化、语法灵活、一词多义以及语法、语义词典等中文语言学资源的缺乏使得目前的智能问答系统并非完美,因此以语义理解、知识推理为方向的智能问答系统的研究有重要的发展前景。

2 智能问答助手系统设计

计算机类课程智能问答助手总体实现流程主要包括准备工作阶段、模型训练阶段以及答案匹配阶段。系统设计流程图1所示。准备工作阶段的任务是为系统的实现做准备,主要是对数据进行预处理。数据预处理需要收集并完善语料库,根据用户所输问题的具体情况确定其特征类型,由人工对待分类的特征类型进行分类,形成模型训练样本的集合,并对语料库进行筛选转换为需要的格式。在模型训练阶段的任务就是生成分类器,使用朴素贝叶斯对处理好的语料库进行训练,通过计算出TF-IDF后输入朴素贝叶斯中进行训练,这里可以采用默认参数训练即可达到较好的分类效果[1]。这一阶段是由计算机根据相应公式由程序自动计算完成。最后的答案匹配阶段,主要是对事先确定好的类别进行映射处理,这一阶段也是由程序不断自我训练完成,答案匹配采用了模糊度匹配的方法对用户提的问题进行匹配,搜索出相似的问题并给出其对应的答案[2]。

3 关键技术

3.1 基于TF-IDF模型提取关键词

系统处理用户提出的计算机类课程问题文本最基本的就是对于关键词的提取,而分词是提取关键词的基础,计算机类课程智能问答助手利用Python中一个开源的解决中文分词的组件—“jieba”,将用户问题分成一个个词语。使用jieba分词器的另一个优势是开发者可以自己在系统中设置自己的自定义词典,以便包含“jieba”词库中不存在的词,从而来提高分词的正确率[3-4]。

进行分词之后只有提取出关键词并进行词向量化分析之后,才能更好地进行下一步的用户问题文本分析。利用TF-IDF模型算法可以将系统用户提出的计算机类课程问题中含有的像“非常”“什么”“有”这样无实际意义的词赋予相对应权重,从而可以分析出该问题中更重要的词和不重要的词分别有哪些。TF(词频)和IDF(逆文档频率)都是衡量一个词权重的重要指标。根据TF和IDF的定义(公式1、公式2)就可以得到某个词在用户所提问题中出现的频率越多,在其他问题中出现的频率越低,即所占权重就越大,则这个词就能很好地反映当前系统用户所想提出问题的内容。

3.2 基于朴素贝叶斯进行问题分类

计算机类课程智能问答助手的用户提交问题之后,系统利用朴素贝叶斯方法进行模型训练,将问题对应到开发者自定义好的事项类别中,匹配出系统中存在的最佳问题与答案。其中,系统事项类别分为平台、语言、概念和课程导学等,见图2。朴素贝叶斯分类的思想基础是对于给出的待分类项,求解在此项出现的条件下各个类别出现的概率,哪个最大,就认为此待分类项属于哪个类别,其公式见公式3。对于计算机类课程智能问答助手从概率统计知识来说,分类问题可定义为已知集合C={平台,语言,...,课程导学}和I={用户问题1,用户问题2,...,用户问题n},确定映射规则A=f(B)。其中C叫做事项类别集合,每一个元素就是一个类别,而I叫做特征集合,每一个元素是一个待分类项,f叫做分类器。分类算法的任务就是构造分类器f,然后根据给定的特征,得出相应的事项类别,这也是所有分类问题的关键,它的具体流程如图3所示。

图2 部分用户自定义事项类别Fig.2 Some user defined event categories

图3 朴素贝叶斯分类流程图Fig.3 Flow chart of naive Bayes classification

(注:A是特征,B是类别。)

4 系统实现

4.1 前后台数据交互

计算机类智能问答助手前端的网站用Python语言实现前端界面设计以及程序的设计。系统先进行数据预处理,包括前期收集、完善语料库,反复筛选数据及数据转换。通过Jieba分词对用户提出的问题进行分词,采用朴素贝叶斯算法对关键词进行分类、训练,最终将问题对应到开发者自定义好的事项类别中,匹配出系统中存在的最佳问题与答案,同时模糊匹配算法匹配其他相似问题。结合基于规则的问题语义识别方法,实现朴素贝叶斯和模糊度算法识别器,用户通过前端界面输入问题,系统将问题分析后提取出关键字,向后端请求数据,后端及时响应、获取相应数据并反馈给界面,对用户所提出的问题进行回答[5-6]。

4.2 人机交互

计算机智能问答助手软件是基于传统的硬件设备的交互技术,用户通过键盘向对话框中输入并提交所问问题,系统可以通过提取问题中的关键字自动识别用户意图并返回用户需要的答案。用户快速准确获取知识的同时,还能提高用户对于学习的趣味性。在界面设计上,根据界面设计的三大原则:简洁、一致性、对比度,小组成员对界面进行详细规划和设计要素选择,完成本网页的设计。界面设计以简约为主,界面模块清晰,智能问答助手回答的对话框在屏幕上侧,用户提出问题的对话框在屏幕下侧(即问题输入框),符合大众的使用,给用户带来更好的体验。界面背景采用白色,旨在舒缓用户眼部疲劳,同时令用户心情愉悦,吸引更多的用户使用本计算机类智能问答助手系统[7-8]。见图4所示:

图4 系统界面Fig.4 System interface

5 结语

本文基于人工智能技术,从语料库的收集到系统可以与用户实现智能化的交互,研发了一个特定领域的计算机类课程智能问答助手。通过拟分析教育技术领域学生在计算机学科课程学习过程中的常见问题,让用户输入自己想要了解的问题,自动识别用户问题关键词,便可直接得到相关答案,解决学生学习过程中对于未知课程的困惑,使学习更加有趣、便捷,解决了广域搜索引擎定位不准确、耗费时间的问题。计算机类课程智能问答助手能更精准地表达和满足用户的要求,并且这种特定领域智能问答系统逻辑清晰,对于用户问题的回答正确率更高,有益于对人们普及计算机类相关知识。相关方法技术可以推广致其他学科领域,为教育技术领域智能问答助手构建打下技术基础。

猜你喜欢

助手贝叶斯类别
贝叶斯公式及其应用
基于贝叶斯估计的轨道占用识别方法
小助手
服务类别
一种基于贝叶斯压缩感知的说话人识别方法
灵感助手表彰大会(二)
灵感助手表彰大会(一)
论类别股东会
中医类别全科医师培养模式的探讨
IIRCT下负二项分布参数多变点的贝叶斯估计