基于机器学习技术的智能答疑助教毕业论文
2020-04-10 16:40:33
摘 要
互联网的高速发展使得传统的教育模式有了新的发展方向。教育不再拘泥于现实的课堂,越来越多的人选择在网络课堂上学习,在线与老师同学进行交流。随着网络课堂用户规模的与日俱增,负责答疑,批改作业的助教便成了稀缺的资源。数量较少的真人助教很难满足越来越多的学生的答疑需求,并且真人助教的答疑不具有实时性,无法全天候为学生答疑解惑。随着机器学习的深入发展,智能答疑助教的实现成为了可能,它的出现必能有效解决以上问题。
本课题基于当前的大学教学背景,受到“互联网 教育”及聊天机器人的启发,针对远程教学过程中的实际应用需求,设计了一个支持远程教学过程中的网络答疑的智能对话系统。该系统基于机器学习等人工智能相关技术,针对QQ群和微信群这两种常见的网络答疑交互平台,可实时分析学生的提问和讨论,自动完成答疑、自我学习、组织和参与讨论。
在运行中,以QQ群为例,基于smartQQ协议制作的qqbot实现了消息的自动采集和发送,利用分词工具可提取用户提问中的关键信息,在知识库中或互联网上进行检索。对于网上搜索到的答案文档可利用listnet排序算法进行筛选,取得最为合适的答案返回。答疑讨论过程中,聊天机器人也可记录回答次数最多的答案存入知识库,进行知识库的更新,实现自我学习功能。
关键词:智能答疑;人机交互;机器学习;分词提取
Abstract
The rapid development of the Internet has made the traditional education model a new direction of development. Education is no longer rigidly adhered to the actual classroom. More and more people choose to study in online classes and communicate with teachers and students online. As the number of online classroom users grows day by day, and is responsible for answering questions, the teaching assistants of corrections have become scarce resources. A small number of real-life assistants can hardly satisfy more and more students' Q amp; A needs. The real-time assistant's Qamp;A is not real-time and cannot answer students' questions all day long. With the in-depth development of machine learning, the realization of smart questioning assistants has become possible, and its emergence will effectively solve the above problems.
This subject is inspired by "Internet Education" and chat bots in the current university teaching context. In order to meet the practical application needs in the process of distance learning, an intelligent dialogue system for supporting network answering in the process of distance learning is designed. The system is based on machine learning and other artificial intelligence-related technologies. It addresses QQ group and WeChat group, two common types of network answering interactive platforms, which can analyze students' questions and discussions in real time, automatically complete answer questions, self-learning, organize and participate in discussions.
Taking the QQ group as an example, the qqbot based on the smartQQ protocol realizes the automatic collection and transmission of messages, and the word segmentation tool can be used to extract the key information in the user's question and search it in the knowledge base or on the Internet. For the online search of the answer document can use the listnet sorting algorithm to filter, get the most appropriate answer back. In the process of answering questions, the chat robot can also record the answer with the most number of answers and store it in the knowledge base to update the knowledge base and realize the self-learning function.
Key Words:intelligent question answering;human-computer interaction;machine learning;word extraction
目 录
第1章 绪论 1
1.1研究背景及意义 1
1.2 国内外研究现状 1
1.3 存在的主要问题 2
第2章 设计目标 4
2.1欲实现目标 4
2.2 检验方法 4
第3章 相关理论知识 5
3.1人工智能理论基础 5
3.2自然语言理解 6
3.2.1基于规则的自然语言处理 6
3.2.2基于统计的自然语言处理 7
3.3专家系统 8
3.4排序学习理论基础 11
第4章 智能答疑系统架构概述 13
4.1智能答疑系统架构定义 13
4.2对话理解模块 14
4.3信息检索模块 18
4.4答案返回模块 23
4.5自主学习模块 26
第5章 总结与展望 29
参考文献 31
致 谢 33
第1章 绪论
1.1研究背景及意义
随着互联网的普及,以“互联网 教育”为特征的远程教育得到了迅速发展,但目前的远程教育系统中,答疑、作业批阅等助教工作均是人工完成,导致教师工作量巨大,且学生提的问题无法得到及时的反馈,降低了学生的学习积极性。本课题针对远程教学过程中的实际应用需求,旨在开发一个支持远程教学过程中的网络答疑的智能对话系统。
- 国内外研究现状
国外:
相比国内,国外科学家很早就开始了对于问答系统与聊天机器人的研究,发展至今已经拥有了相当丰硕的成果。
在1996年问世的Ask jeeves[1]不同于以往的关键词搜索引擎。它以回答用户的提问为目标,拥有自己的答案库。它的自然语言引擎建立在人工操作目录索引的基础之上,用户在搜索时,得到的反馈先是来源于数据库中可能存储的答案,若答案不存在,用户才会得到对应的答案链接。故而,答案库的储备量与正确率成为了Ask jeeves 能否在众多搜索引擎中存活下来的关键。
与Ask jeeves不同,Answerbus[2]作为一个面向互联网的自动问答系统并不不直接返回给用户具体的答案(因为储备一个巨大的答案数据库是一件费力的事)而是提供一个或许含有正确答案的文档或句子。虽然返回的结果不如Ask jeeves 精简,但多语种的问答环境成为了它的一大优势,不单单是普遍的英语问题,德语、葡萄牙语、俄罗斯语等多语种的问题它也能回答。
还有为广大苹果手机用户所熟知的Siri—一款智能手机语言助手。可以提供对话式的应答。在回答用户咨询时,可调用搜索引擎,返回含有相关答案的链接。她还可以持续不断学地习新的声调和口音,丰富自己的语料库,是一款相当不错的聊天机器人应用。
在I/O开发者大会上,谷歌不仅发布了全新的安卓4.1系统,还隆重推出了一个名为Google Now的神奇软件。Google now 就像一个细心的佣人一般,会留心使用者的各种习惯和相关动作,并用观察所得为使用者提供有关的信息。Google Now依托于谷歌的平台,相较于Siri,与谷歌搜索功能的充分结合是它得天独厚的一个优势。得益于Google搜索的庞大用户基础,用户搜索的问题所包含的关键词都会被记录下来,并被Google now 智能读取,通过得到的关键信息,Google now 可以更加“主动热心”地为用户提供服务,如同心领神会般,产品的性能在人性化方面有了很大的提高。
微软小冰是一款基于微软公司情感计算框架建立的人工智能伴侣机器人。通过云计算、大数据和算法的全面应用,以及逐代升级的方式,微软小冰渐渐发展出了相当完善的人工智能体系。微软亚洲互联网工程研究院通过大数据技术、自然语义分析技术、机器学习技术以及神经网络深度学习技术从中国数亿网民多年积累的、公开的文献中,提炼了一个千万级的语料库,并且这个语料库仍以0.7%的日均速度高速增长着。因为微软小冰所用的不是简单的模式匹配,而是尝试着理解对话的语境和语义,所以,与其交流并不同于一般的人机问答。
国内:
国内对于问答系统与聊天机器人的研究相较国外而言起步晚了许多,发展至今在研究规模和研究水平上都同国外存有较大的差距。
国内的智能答疑系统大都是依附在远程教育网站上的一个子模块,而非一个独立的存在。并且,虽然美其名曰智能答疑系统,但真正实现智能性的少之又少。较为优秀的产品有北京大学网络教育系统下的智能答疑系统[3]、北京师范大学现代教育研究中心研发的Vdass[4]在线远程教育平台以及上海交通大学设计研发的名为Answerweb[5]的智能答疑系统。
国外的平台技术成熟,准确度高,但并不适合中文群体,而国内的平台则在技术上稍显不足,智能性差。并且不论是国内还是国外的智能答疑平台,时时的在线人数是有限且不固定的,不能为组织讨论创造一个很好的氛围与环境,同时平台的搭建与维护都需要大量的成本。
1.3 存在的主要问题
⑴旧的智能答疑系统的对话理解模块总是尝试从语义理解入手,追求通过句法分析了解提问者的意图,然而这显然是一件费力不讨好的事情。答疑系统的所追求的终极目标应该是尽可能提供正确的答案,答案的正确性才是其智能的真正体现,而不应要求它同人类一般,欲回答问题,必先理解问题。类似“你毕业设计论文写完了吗”之类的问题,分析它的句法结构完全没有意义,倒不如使用模板匹配来得简单高效。这提示我们,在智能答疑的实现方式上可以更加灵活,尝试多种方法,不拘一格。
⑵在网络数据量暴涨的今天,旧的智能答疑系统并没有充分利用类似知乎与百度知道一类的答疑平台所提供的数据。知乎与百度知道中的大部分答案都是答者用心回答的结果,是高质量的回答,其正确性可由答案下方的被赞数量来体现。智能答疑系统不应该一味依靠算法寻找相似度较高的答案而忽视了集思广益、群策群力的大众力量。
⑶旧的智能答疑系统在答案选择排序上一般只考虑了文档相关度这一唯一特征,并没有综合考察各种因素进行有效的排序。文档来源的权威性、文档所对应的问题类型、用户的积极反馈都是可以作为答案文档的特征进行考察的。综合多因素的排序模型一定会使排序的效率有所提升。
⑷国内的智能答疑系统大多基于网页平台,受众少,与用户实时交互性差,不方便使用。
第2章 设计目标
2.1欲实现目标
本毕业设计欲完成一个基于机器学习的面向远程教学的智能答疑助教系统,该系统应实现如下功能:
- 针对QQ群和微信群这两种常见的网络答疑交互平台,实现自动登录和消息采集和发送;
- 能对输入的问题进行自动分析和语言处理,通过知识库和互联网进行解答。
- 基于机器学习技术,通过分析答疑讨论过程,实现自我学习和对知识库的扩展能力
- 拥有较好的可扩展性,支持外挂模块和自定义模块,方便系统将来扩展丰富功能。
2.2 检验方法
QQ平台与微信平台的智能答疑助教系统大同小异,故以下的论述皆以QQ平台为例。
智能答疑助教的自动登录与消息发送功能可以通过不定时的发送消息问题,通过其是否时时回复予以检验。消息的采集内容会存放于MySQL中已建立的数据库recorder,可通过MySQL的相关命令查看记录结果。
对输入问题的自动分析和语言处理功能可以直观地通过回复的问题答案的正确性予以检验,若问题存于知识库中,则返回的是高度凝练的答案,若问题无法在现有的知识库中得到匹配,则返回的是经过排序挑选的相关答案链接。
自我学习功能是指在答疑讨论中通过机器学习方法,选择合适的答案加入知识库中。故检验其功能的方法有二。其一是向答疑助教询问同一问题,观察回复消息是否与先前讨论的最优结果一致,其二是直接通过MySQL命令查看该问题答案对是否已录入知识库中。
该智能答疑助教系统的各种功能模块是以插件方式加入系统中,扩展或删除该功能只要输入相关的命令即可,例如输入 qq plug recorder即加载消息记录插件,新接收到的消息都应存入名为recorder的数据库中,当输入 qq unplug recorder后,插件被删除,新收到的消息将不再被记录。可通过MySQL的相关命令查看记录结果,此即该智能答疑助教系统的可扩展性检验。
第3章 相关理论知识
3.1人工智能理论基础
人工智能的英文名称为Artificial Intelligence,现今人们常直接简称为AI。是一门研究、开发关于如何模拟、扩展和延伸人类智慧的理论、技术及应用系统的科学技术。
作为计算机科学研究的一个重要领域,人工智能尝试去探求人类智能的本质为何,并以创造出一种崭新的能够比拟人类做出类似反应的智能机器为目标。它的研究范围包括自然语言理解、计算机视觉、知识表示、机器人、自动程序设计以及专家系统等等。
人工智能的定义由人工和智能两部分组成[6]。
对于“人工”部分的理解没有存在太多争议。就是我们常会思考的人力所能创造的极限——人类能否凭借自身的智能创造出人工的智能。
而对于智能的解释,就有许多的说法了。例如自我(self)、意识(consciousness)、思维(mind)等等[7]。目前得到普遍接受的一种说法是,万物之中,人类所能了解到的唯一,便是人类自身的智能。但即使是对于自身的智能,人类所知道的也是十分有限的,并不清楚这一智能的构成,故而,更别谈定义人工创造的“智能”了。
目前在计算机上实现人工智能主要有工程学方法(engineering approach)和模拟法(modeling approach)两种方式[8]。工程学方法就是运用程序代码让系统对外界表现出机器拥有智能的效果,而不去关心这种技术思路是否同人类或是其他生物表现出智能的内因相一致。这种方法已经在许多领域取得了成果,例如语音识别、国际象棋的人机对战等等。而模拟法,与工程法不同的是,不仅仅追求智能在外在效果上的近似,对于内在的实现方法也做出了同人类或其它生物所采取的方法相似的要求。目前应用较广的遗传算法(GA)和人工神经网络(ANN)都属于模拟法[9]。通过模拟人类或生物遗传—进化机制的叫做遗传算法,而人工神经网络模拟的则是人类大脑中的神经细胞的活动方式[10]。工程学方法与模拟法殊途同归都可以达到同样的智能效果,而采用工程学的方法则需要设计者亲自制定细致的编程逻辑。对于一些简单的任务,人力尚可轻松应付,但当任务繁杂,所需的计算就会呈现指数级的增长,人工编程就会是件费力不讨好的工作,不仅容易出现错误,修正起来也存在许多的麻烦,需要将程序重新编译与调试,或许要耗时许久,才能最终为用户提供一个新的版本或是补丁。模拟法是一个入门较难但掌握后却省时省力的好方法。编程者只要在前期为每一个任务都设计一个智能模块。这些模块能够进行自主的学习,不断修正自身的错误,逐步适应环境,如同人类的小孩一样。因为在面对复杂问题时,模拟法无需事先对各种情况做出详细规定,故而相比工程学方法具有更加广阔的应用前景。
图3.1 人工神经网络图
3.2自然语言理解
3.2.1基于规则的自然语言处理
在上个世纪六十年代,如何能使机器理解自然语言开始成为科学家们思考的问题。当时大家达成的共识是首先要解决两个主要问题,一个是语句(语法)的分析,另一个则是语义的获取。鉴于语句规则、词性还有构词方法在西方语言学习上的重要作用,以及西方语言学家们在形式化归纳自然语言上做出的努力,再加上当时要求处理的自然语言的语法规则极易使用计算机编程描述,所以,那时有许多科学家都坚信处理自然语言最好的方法便是基于规则。但是,后来自然语言处理的发展证明单纯基于规则的语法分析器是无法操作较为复杂的句子的,它存在两个主要的问题:
一是若想覆盖(或正确描述)很少一部分的真实语句(20%),也需要花费许多时间总结至少上万条的文法规则。
二是即使能够总结出所有的文法规则,使用计算机语言去描述这些规则也绝非易事,需要的工程量十分浩大。
以上是毕业论文大纲或资料介绍,该课题完整毕业论文、开题报告、任务书、程序设计、图纸设计等资料请添加微信获取,微信号:bysjorg。
相关图片展示:
课题毕业论文、开题报告、任务书、外文翻译、程序设计、图纸设计等资料可联系客服协助查找。