基于微信小程序的智能客服回复技术的研究与实现
2021-03-06吴彦蓉
杨 柳,吴彦蓉
(1.广西大学 计算机与电子信息学院,广西 南宁 530004;2.中国铁路南宁局集团有限公司 信息技术所,广西 南宁 530029)
信息时代,读者对信息的实时性要求也随之提高,具有实时回复功能的图书馆智能客服系统自然深受读者的欢迎.我们致力于开发实现一个图书馆智能客服系统,在以往实现的咨询服务形式的基础上,基于微信小程序构建智能咨询系统,满足用户对咨询服务高效、快捷的需求,以拓展图书馆服务形式,提高图书馆的服务质量.
1 微信小程序平台
微信作为一款移动社交软件,发展迅猛,微信小程序则是一种微信平台上的虚拟APP,它以移动智能终端设备的微信软件为基础来开展相关服务,具有服务内容众多、方便快捷、组件及API丰富等特点,自2017年1月上线伊始便受到青睐,是提供咨询服务的优质平台.
图书馆作为提供知识的重要载体之一,按读者需求提供信息服务.图书馆的咨询服务主流形式一般有三种[1],即短信服务(SMS)、无线应用协议(WAP)和手机软件(APP),随着微信小程序使用日益广泛,图书馆的传统服务形式也随之改革.微信小程序的优点毋庸置疑,用户只需扫码或搜索即可打开使用小程序,无需下载安装,而且小程序的功能、效果与APP相差不大.此外,相对其他移动智能终端软件,微信小程序的开发价格更低,开发周期更短[2].虽然微信小程序具有诸多优点,但目前基于微信小程序作为载体的图书馆咨询服务仍不多见[3].因此,我们选择微信小程序作为载体开发图书馆智能客服系统,这也是拓展图书馆服务形式的一种新尝试.
2 基于微信小程序的图书馆智能客服系统总体设计
本系统以广西壮族自治区图书馆的常见问答记录为基础,形成问题库.采用全文检索技术、中文分词技术、向量空间模型等应用,实现了智能客服系统的自动问答功能.图书馆智能客服系统以微信小程序为服务窗口,用户只需要通过手机登录到图书馆智能客服系统中就能完成咨询,不受时间、空间的制约[4].本系统使用微信Web开发者工具开发,编码语言是WXML,WXSS和JavaScript,这是专为微信小程序开发框架设计的,其预览模式和HTML5开发工具虽然有所区别,但它可以用专属工具实现同步本地文件的开发和调试等流程[5].
图书馆智能客服系统应能够满足用户自助咨询服务的要求,在此基础上,本系统还开发了图书馆概况展示、藏书分类、图书查询、管理员管理功能.用户在进入微信小程序后,可以选择浏览热门图书推荐、图书馆概况、图书查询、书籍分类页面,通过搜索寻找图书,或自助咨询.管理员登录管理后台,对用户留言进行处理,增添书籍数据.系统总体功能图如图1所示.
图1 系统总体功能图
3 智能客服回复技术
3.1 全文检索技术
由于图书馆智能客服系统中的数据一般是非结构数据,这些数据是不定长度或者是没有固定格式的,我们用全文检索法[6]来搜索数据.全文检索架构主要有两部分,分别是建立索引过程和搜索索引过程[7].
我们设计的图书馆智能客服系统参照全文检索工具包Lucene的原理来实现全文检索的框架.由于Luence仅仅是一个框架,我们在Lucene框架基础上做了进一步的开发.
3.2 中文分词技术
分词就是将连续的字按一定规则组织成词的操作,切分后的词组将以集合的形式参与后续工作的处理.常见的中文分词技术有三大类:基于字符串匹配的分词技术、基于统计的分词技术和基于人工智能的分词技术[8].常用的中文分词工具有Ansj分词器,IK Analyzer,NLPIR,BosonNLP,百度NLP等.
我们选择的分词工具是基于Python的Jieba分词库,它的原理基于统计词典的中文分词方法.Jieba分词的关键技术有前缀词典、有向无环图、动态规划算法、HMM模型、Viterbi算法、Textrank模型和TF-IDF算法[9].Jieba中文分词支持精确模式、全模式、搜索引擎模式三种分词模式[10],我们选择精确模式来对文本进行切分.
3.3 向量空间模型
向量空间模型(Vector Space Model,VSM)是一种文本表示模型[11],主要思想是将文本用空间向量的形式进行向量表示,文本的每个特征词与文本向量的每一维对应,向量空间模型把文档转化成向量的形式,向量的每一项表示每一个特征词,通过计算在同一维度空间中向量的距离判定相似度[12-13].
特征词权重根据不同环境分为局部权重和全局权重[14].局部权重针对对当前某一文档中出现频率高的词赋予高权重,全局权重则针对文档集合中多篇不同文档,将出现频率高的特征词赋予低权重.我们采用逆文本频率IDF(Inverse Document Frequency)加权法[15]计算全局权重,计算公式如式(1).
(1)
其中,N为文档集合里的文档总数,ni为系统中含有特征项ki的文档数.
对于特征词的权重值,我们采用公式(2)进行归一化处理:
(2)
式中,freqiq为表示特征词在查询语句中所出现的次数,而maxtfq则表示查询语句中所有特征词出现次数的最大值.
在文档与提问表示成向量形式之后,用t维空间中的相对距离表示它们之间的相似度.在此我们采用内积法和向量之间的余弦距离来表示文档与提问之间的相似度.其中内积法计算公式见式(3):
(3)
向量之间的余弦距离见式(4):
(4)
其中,QTi是提问中第i个检索词的权重值,DTi是文档中第i个特征词的权重值,N为总的词数.
3.4 TF-IDF加权技术
TF-IDF加权技术[16-17]用来评估字词对于文件的重要程度.词频(Term Frequency)指的是特征词在当前文档中出现的频率,TF是对词数的归一化,防止特征词偏向于长文档,目的是为提高查全率.特征词在某一文档内的高词语频率和在文档集中的低文件频率,可以得出高权重的TF-IDF.因此,TF-IDF常用于过滤常见词语,保留重要的特征词.我们的客服系统智能回复采用TF-IDF加权技术常与内积相似性一同使用在向量空间模型,用来判断文本相似度.
图2 图书馆客服智能回复
4 系统实现
我们采用微信Web开发者工具和PyCharm开发工具实现上述技术,开发了一个图书馆智能客服系统,其中包含了智能回复功能.编程语言是JavaScript,WXML,WXSS,Python,利用flask框架编写全文检索和中文分词API,建立向量空间模型,利用TF-IDF加权技术实现了系统的智能回复功能.当用户使用本系统时,首先进入的是图书馆智能客服系统小程序的首页,在首页可以看见热门书籍推荐和图书馆概况.用户点击小程序首页底部的导航栏第四个模块“客服小助手”,即可进入智能客服回复页面.用户可以在该页面自助咨询,智能客服将会返回最佳答案.智能客服系统支持简短词汇咨询,用户无需输入完整语句,只需要提供关键词,即可得到准确答案.除此之外,本系统在处理无法识别的问题时,首先建议用户重新输入,其次储存当前无法识别的问题,定期进行去重和提取关键词,把分析结果汇报给人工处理,方便管理员对新问题进行录入.图2为运行界面之一.
5 结论
随着精神生活质量的提升,读者对图书馆服务提出了更高的要求.咨询服务作为传统核心服务之一,应能及时调整来满足读者的新需求.借助APP、公众号和微信小程序等移动应用平台实现智能咨询服务,是现代图书馆信息化服务的趋势之一.本系统在这方面做了有益的尝试.下一步的研究是开发多轮问答模式,以及研究多种匹配算法,以弥补各个匹配算法中的不足之处,以便更智能准确满足读者的咨询需求.