基于智能问答系统的智慧校园助理的设计与实现

2019-12-01 10:13刘宇徐志刚黄俊革朱栩瞿彬
电子技术与软件工程 2019年24期
关键词:校园生活向量校园

文/刘宇 徐志刚 黄俊革 朱栩 瞿彬

在互联网+创新的热潮下,校园生活也发生着巨大的变化,涌现出了一大批面向学校的智能产品,如超级课程表等众多APP和一些致力于校园服务的微信公众号。从一定程度上来说,APP和微信公众号的增加,也促进了智能手机、APP开发技术和微信的迅速发展。据调查,虽然校园APP在逐渐轻量化,但使用者的数量却在逐渐下降;虽然微信公众号运营商在不断地改良,但有效阅读数却在不断下滑。一些APP沦为了校园的过客,一些微信公众号变成了“僵尸”号,还有一些应用与实际的校园生活并不贴切。同学们日益期盼的美好校园生活需要不断地创新,研究和设计一款可以应用于不同平台、贴近于不同校园的智慧助理软件是必要的。

1 智慧校园助理概述

以物联网为基础的智慧校园是浙江大学在信息化“十二五”规划中首次提出的。它以各种应用服务系统为载体将校园的工作、学习和生活构建成一个智慧的一体化环境,将教学、科研、管理和校园生活进行充分的融合。大学校园的信息化水平相对较高,智慧校园的建设处于前列,但依然存在引言中所述的问题。另外,学校牵头建设的应用,学生觉得不好用;学生自主开发的应用,又缺少关键的信息对接。针对目前智慧校园建设遇到的种种问题,本文提出了智慧校园助理应用,辅助大学校园的智慧化建设,为该建设提供创新的思路与设计方案。笔者秉着“一系统多应用”的设计原则与充分贴近师生生活的服务原则,进行设计,用微服务[1]架构构建系统的整体框架,将应用适应于移动端Web、APP页面、微信公众号和小程序等多种平台,以现有的校园物联网、信息化平台为基础实现教学助理、生活帮手、助力燃梦等功能模块,以及智能综合问答系统——智能小应。

2 系统设计

2.1 系统的整体架构

系统后台基于JavaEE标准,使用SpringCloud[1]和Mybatis框架开发,实现服务注册、服务发现、负载均衡与数据持久化等功能。前台页面使用当前主流的Vue和Element-ui完成页面的展示功能。大数据智能平台采用Hadoop[2]构建,使用HDFS分布式存储数据,再利用自然语言进行处理,最后通过WebSocket与系统后台关联。

系统主要分为客户端、应用服务和数据平台。其中,应用服务是由微服务架构构建的,包含API层、业务逻辑层和数据访问层,各服务发布到Spring Cloud注册中心受Hystrix服务监控,再通过路由网关提供接口给前端使用;数据平台主要包括系统数据库、大数据智能平台和WebSocket服务器,大数据智能平台从数据库抽取数据进行处理,再保存到系统数据库,WebSocket服务器与客户端建立长连接,接收/发送消息。

2.2 系统的功能模块

2.2.1 教学助手

希望可以通过打造教学助手,帮助高校教师和学生们在网上简单快捷地提交/批改作业,轻松便利地进行考勤、打卡,并且还提供通知下发、疑难解答、学习资料共享等功能。最终达到减少实际课堂教学中一些不必要的时间和环节,帮助教师便捷、有效地管理课程,提高传统的线下教学效率的目的。

2.2.2 校园帮手

细化校园及周边的地图,提供各个学院、社团社区、生活中心、教学楼科室的准确位置;输入需要办理的校园内业务,将通过关键字检索出相应的业务流程以及所需寻找办公室的详细位置,若出现无法识别的业务,可根据输入智能推测出可能需要的业务。

设置一个类似智能机器人的智能客服——智能小应(智能问答系统),专为新老生答疑解惑,如学校的一些情况和日常事务,包括通知咨询、校园规章制度、新生常见问题解答和其他已知事项答疑等。还可以在线翻阅电子学生手册,或输入关键字后进行问题推荐等。

在校园生活服务方面,提供包括食堂窗口的饭菜评价、校内外赛事、重要讲座及活动信息等功能。

2.2.3 助力燃梦

把自己的心愿、目标、对学校或者自己的期望等在系统进行提交或公开,以积分、奖励等形式给予鼓励,促进交流、建设,激发其他同学实现自己目标,形成良性循环。

2.3 系统的实现方案

本系统采用前后端完全分离的实现方式。后端使用的微服务架构将一个多功能应用拆分成一组服务模块,每个模块互相独立,低耦合地实现各业务功能,各模块间又彼此通信协助,对外提供完整的服务。后端基本能够实现各种实质性的业务功能,前端分别选取PC和移动端Web、微信小程序进行实现,以能够应用于PC端、移动端的各类浏览器和微信公众号菜单以及小程序。其中,智能问答的核心功能实现,主要通过大数据智能平台中爬虫、Flume[2]等进行数据收集,通过基于深度学习的自然语言处理应用进行分析处理,再通过WebSocket关联系统业务层进行反馈。

3 智能问答系统模块

3.1 智能问答系统概述

智能问答系统是融合知识库、信息检索、机器学习、自然语言理解等技术的人机对话服务[3]。最早可追溯到1950年图灵提出的图灵测试,它被认为是问答系统最早的雏形。Weizenbaum在1966年实现的“Eliza”,被认为是第一个真正意义上的问答系统[4]。随着人工智能技术的发展,针对不同领域的信息也诞生了不同类型的问答系统。2011年,基于事实的问答系统IBM Watson在问答综艺节目中战胜了人类选手。微软的QnA Maker服务是典型的基于常见问题集的问答系统,该系统数据质量高、答案确切,缺点是数据规模小。而微软小冰是开发域聊天的代表,它和苹果Siri等基于深度学习的聊天机器人的问世标志着问答系统进入智能交互式问答阶段[5]。

一般的问答系统处理框架中都包括问句理解、信息检索和答案生成三个功能组成部分。首先,将问句进行分类,对主题焦点进行提取,甚至对问题进行扩展;再进行查询表示,在异构语料库中进行文档、段落和句群的检索,在问答知识库中进行问句检索;最后,将查询结果作为候选答案,通过从词典、语义知识库中进行置信度检验后生成答案。

3.2 基于卷积神经网络的智能问答实现

卷积神经网络(CNN)与普通的神经网络一样,包含输入层、输出层,而隐藏层是由卷积层、池化层、全连接层和正则化层组成的。其中,卷积层本质上是一个多层感知机,只是它采用了稀疏连接、参数共享和等变表示的方式,这使得CNN能够学习数据的局部特征,并在深层网络中展现全局特征,而且共享权值的方式有效减少了需要学习的参数数量,降低了过拟合的风险。

基于CNN的智能问答实现主要是用它来进行语义表示的学习,通过CNN对句子进行扫描,抽取特征,选择特征,最后组合成句子的表示向量。首先输入一个词向量矩阵表示的句子,从左到右用一个滑动窗口对其进行扫描,通过卷积操作,进行特征抽取。之后再通过最大池化操作,对特征进行选择。重复多次,将得到的多个向量表示连接起来得到一个固定长度的句子向量。

3.3 基于循环神经网络的智能问答实现

循环神经网络简称为RNN,与CNN不同的是,CNN倾向于局部与位置的理解学习,而RNN则更偏向于对全局与顺序的理解。基于RNN的句子建模是把一句话看成一组单词序列,每个单词由一个向量表示,每一个位置上有一个中间向量,表示从句首到这个位置的语义。每一个位置的中间表示由当前位置的单词向量以及前一个位置的中间表示决定,通过RNN不断向前传播,最后把句末的中间表示当作整个句子的语义表示。

本设计主要利用循环神经网络的变种LSTM(长短记忆单元)及GRU(门控循环单元)对问题和答案进行实现。这两种RNN引入了用于内部的带有门控的自循环权重,这个权重是根据上下文来调整的,可以有效控制有用信息的流动,能够更好地表示整句话的语义,并将得到的表示输入到分类器中计算分类置信度,最终完成问答匹配。

4 结语

本文切实深入校园生活,对智慧校园进行了简单地介绍,分析了其现状问题,提出了智慧校园助理的建设构想,设计了基于微服务的系统架构,并对该助理应用的主要创新功能进行了描述,以及该系统的实现方案。此后,主要针对智能问答模块,从问答系统的发展、一般处理框架、基于CNN和RNN的问答任务实现三方面进行了详述。为了能够更好地满足师生需求,更好地建设智慧校园,系统在设计完成之后,在各大校园里进行了分类测试,老师和同学们提出了很多非常有建设性的意见。此后,在该系统平台基础不断增添创新性、实用性的功能,主要在大数据智能平台上利用各种智能算法对智能小应进行优化,让其成为名副其实的校园万能帮手。另外,还要充分考虑系统业务功能的通用性,使其能够走入更多的校园。

猜你喜欢
校园生活向量校园
校园生活里的尴尬事
向量的分解
聚焦“向量与三角”创新题
校园生活的幸福密码
爱上劳动,开启幸福校园生活
向量垂直在解析几何中的应用
向量五种“变身” 玩转圆锥曲线
欢乐的校园生活