基于微信小程序的图书馆咨询服务系统设计与实现
2022-08-19张育芬
张育芬
(厦门大学图书馆 福建 厦门 361000)
0 引言
高校图书馆作为学校师生获取学习和科研资料的主要场所,提供以人为本、更高效、更优质的咨询服务尤为重要。咨询服务的质量以及信息化水平的高低与图书馆整体服务质量之间存在着直接的联系[1]。随着移动互联网的发展,许多高校图书馆通过网页、公众号、在线咨询等方式提供咨询服务。以厦大图书馆为例,厦大图书馆不仅在网站上提供了丰富的馆内信息和各种电子资源,还开通了公众号、邮箱、微信、微博等多渠道的咨询服务,大大拓展了读者获取信息的渠道。
一些学者针对微信小程序在图书馆的移动服务、图书荐购、学科服务平台建设、应用模式等方面进行了探索和研究,取得了一定的成果[2-5]。微信小程序(Wechat Mini Program)是基于微信端的轻量级应用,用户只需要扫一扫或搜一下即可打开应用,被称为互联网的“第五大发明”。微信小程序背靠12 亿的微信用户,自2017年上线以来就风靡全国。根据阿拉丁研究院《2021 年度小程序互联网发展白皮书》的统计,2021 年全网小程序数量已经超过700万个,微信小程序开发者突破300万人,小程序日活跃用户数量超过4.5 亿[6],小程序的应用已经无处不在。微信小程序大受欢迎,主要得益于它自身的几大优点:(1)不需要下载安装即可使用,用完关闭即可,无需卸载;(2)因为小程序的前端代码都是存在腾讯云端服务器上,打开速度快,只在内存中运行,不占用存储空间;(3)小程序需要官方审核通过后才能发布,并且小程序通信采用https 方式访问,许多代码资源都封装在微信里面,安全性和可靠性更高;(4)可以调用更多手机硬件相关的功能来进行开发,例如定位、拍视频、蓝牙、Wi-Fi 等,支持开发更丰富的功能和场景。
由于微信小程序具有以上诸多优点,如果我们使用微信小程序构建图书馆咨询服务系统,提供更为开放和兼容的咨询沟通平台,以多种方式对读者的咨询进行反馈,将会提升读者的咨询体验,为读者带来更多样化的信息资源。
1 传统咨询服务的特点
本文根据多年工作经验总结,读者咨询的内容主要涉及馆内的规章制度、图书的查找借阅、电子资源的使用、座位的预约与使用、服务设施的位置、硕博士毕业论文的提交审核等问题,见表1。
表1 读者咨询内容归纳表
目前,读者与工作人员交流方式主要有以下4种:(1)读者现场提出咨询问题,工作人员现场回答;(2)读者通过电话、邮件咨询,工作人员回复;(3)图书馆依托微信等即时通信工具提供实时或非实时咨询;(4)工作人员将共性问题整理成常见问题,供读者自主查阅[7]。
由于读者咨询的内容较为同质化[8],且传统的交流方式存在获取资讯渠道分散、网络回复不及时、反馈形式单一等问题,有必要建设一套统一的咨询服务系统,提供更加完善、多元化和不受时空限制的咨询服务[9],同时也有助于更加主动、更加及时地向读者推送其感兴趣的资讯或需要注意的事项,进而把被动咨询进一步提升至主动服务的层次。
2 应用场景分析
基于微信小程序的图书馆咨询服务系统的典型应用场景有以下几种。
(1)打开系统:图书馆在总台或馆内显眼的位置张贴该系统的微信小程序二维码,读者可以扫描二维码进入系统,第一次进入系统后要求读者进行注册绑定操作,以实名制访问。读者也可以通过微信搜索查找小程序进入。
(2)读者收阅实时信息及公告:只要小程序绑定了个人账户,那么读者打开小程序时将会在主界面上看到图书馆后台主动推送的各项信息,通常这些信息是需要全部读者都了解的公告或者需要读者个人紧急处理的重要事项。
(3)读者点击分级菜单进入相应的功能页面:通过合理的分类,让读者可以快速找到其感兴趣的内容。
(4)读者使用搜索栏进行检索操作:读者通过主页的搜索栏检索需要的信息,检索的内容包括且不限于页面、功能、规则制度、图书、服务设施、电子资源等。
(5)智能问答:读者通过微信小程序在手机上使用语音进行交互,系统智能识别咨询问题,通过后台获取整合信息,利用文字、图片、视频、室内导航等多种媒体展现方式,直观地为读者提供完善的解答。
3 系统架构设计
本系统采用典型的前后台架构,系统架构见图1。主要部分简要介绍如下。
(1)小程序前端:利用微信小程序的UI 库构建与读者交互的界面。
(2)后台服务:为小程序前端提供必要及安全的接口,登录时需要调用微信接口服务进行身份验证。
(3)数据库:系统存储持久化数据和中间数据的场所,由后台服务访问数据并对前端应用提供。
(4)消息推送:利用微信提供的推送能力实现主动消息推送。
(5)微信接口服务:腾讯官方提供接口服务。
(6)内外网穿透服务:通过使用内外网穿透服务访问内网的汇文系统、座位系统、门禁系统等,为外网的后台服务提供非敏感的、必要的数据。
4 功能设计
针对图书馆日常咨询服务的类型,设计了分级导引的菜单结构,方便读者检索相关的信息和使用系统。另外,提供智能语音的方式,读者使用文本或语音进行咨询,若无匹配问题,还可接入总台人工处理。系统的总体功能架构见图2。
每个功能模块简述如下。
(1)实时信息显示:在小程序主界面上显示图书馆开闭馆状态、当前在馆人数、当日人流量、剩余座位数量等信息,方便读者在出发前了解图书馆是否有空余的座位。
(2)公告信息显示:在小程序的最顶端循环滚动显示图书馆近期发出的重要公告,例如读者可以获取图书馆即将到来的节假日的开放计划、寒暑假图书借阅期限等。
(3)个人信息显示:当用户登录后,系统自动通过后台查询读者个人的在借图书、预约委托图书到馆情况、历史借阅情况、即将到期提醒、异常情况等信息,将最重要信息一次性展示给读者。如读者的账户中存在异常,比如图书超期,系统将会自动给出异常处理方式,读者可以根据系统的指引,在线上或者到现场对该异常进行适当的处理。
(4)规章制度查询:系统分门别类地列出图书馆相关的规章制度,让读者快速检索到所需的信息,如读者规则、入馆须知、文明公约、文献捐赠管理办法、座位管理规则、数字资源使用管理办法、阅览室使用规则及其他办事流程等。
(5)电子资源库:对馆内电子资源进行分类整理,提供介绍、链接和使用指南。
(6)书目检索:系统提供基于书名、作者、ISBN 号、主题词等方式的查询方式,查询结果显示索书号、图书状态、位置等信息,结合室内地图定位及导航模块,更加直观地引导读者快速找到该书所在位置。
(7)新书荐购:当检索的图书为空时,可以由读者发起采购申请,读者填写图书详细信息,或者填写包含图书详细信息的网络链接,由系统自动采集填写,读者确认后录入。后续由工作人员在后台对其审核和处理,并反馈相关结果。
(8)座位预定:通过预定座位,使用室内地图和导航可快速找到座位号相应位置。
(9)服务设施指引:在地图上显示服务设施位置,支持搜索和导航操作。
(10)智能问答:通过建设语音解析模块、多媒体知识库及辅助人工服务,实现全面且智能的人工交互方式,返回的答案使用文本、图片、语音、视频、地图等多种媒体形式的有机组合。当系统咨询的数量达到一定规模后,系统定时分析读者咨询的问题以及工作人员与读者的交互信息,利用人工智能、机器学习等技术不断充实和完善咨询问题数据库,提高系统回复的及时性和有效性[8]。
(11)消息推送服务:通过微信给读者及时推送有用的信息,比如图书即将超期、离开座位即将超时、荐购图书的处理情况等,这样既可以让读者避免出现不必要的麻烦,也可以让读者更加感受到图书馆的主动服务意识。
5 系统实现关键问题探讨
自从微信小程序发布以来,目前已经有比较成熟的技术和开发框架,用于快速、方便地开发基于小程序的信息系统。本节将针对图书馆咨询服务系统涉及的账号绑定、室内地图定位导航、多媒体知识库等系统实现的关键问题进行初步探讨。
5.1 账号绑定
openid 是微信小程序用户的唯一标识。小程序调用wx.login 获取登录凭证(code)发送给后台服务,后台服务使用小程序唯一标识(appid)、密钥(appsecret)和登录凭证(code)从微信服务器上获取用户登录信息,包括用户的唯一标识(openid) 及本次登录的会话密钥(session_key)。第一次登录小程序时,用户需要通过小程序前端输入要绑定的图书馆账户和密码,小程序自动将信息加密后发送给后台,后台调用内外网穿透服务验证用户输入的账号信息是否正确,如果正确,则后台服务将唯一标识openid 与图书馆系统的账号进行绑定,并记录到数据库中,下次登录则无需再次绑定。
5.2 消息推送
微信为开发者提供了重要的订阅消息能力。消息通过微信的服务通知账号进行下发。后台服务会定时查询用户的异常状态,并将消息及时通过订阅消息传递到读者手中。读者可以点击订阅消息跳转到小程序的处理界面,并进行相应的操作,形成一个完整的闭合流程[3],以实现服务的更优体验。虽然消息推送具有及时性更佳的特点,但针对非紧急的消息,建议在读者打开小程序主界面时才由小程序主动查询进行展示,这样能尽可能地避免信息太多给读者造成了困扰。
5.3 室内地图
使用平面地图的方式,通过标注关键位置点及信息,并构建各个位置点之间的拓扑网络,实现室内地图关键位置点和路径的绘制。关键位置点包含图书馆的服务设施所在的位置和到达这些位置的必要途经点。叠加关键位置点及拓扑网络的室内地图见图3。在数据库中,拓扑网络使用“点-边-点”的结构进行存储,其中,点为关键位置点的内部ID,边为两个关键位置点的联通路径的内部ID。
5.4 室内定位
在馆内特定位置放上蓝牙信标,采集室内各个坐标点的蓝牙信标信息并上传到数据库。读者开启蓝牙后,可实时获取读者所处位置周围的蓝牙信息并且与数据库中存储的蓝牙信标信息进行比对,应用加权K 近邻匹配(Weighted K-nearest Neighbor,WKNN)算法[10]解算出读者所处的坐标,并显示在地图上,见图4。
WKNN 算法分为离线训练阶段和在线阶段。
(1)离线训练阶段的目的是构建指纹数据库。首先配置采样点的坐标和采集数量,工作人员使用移动设备在各采样点采集来自各个蓝牙信标的RSSI 值向量集,采集完毕后,将RSSI 值向量集与各采样点的二维坐标一一对应,上传至数据库,构建位置指纹数据库。
(2)在线阶段即读者使用系统定位功能的阶段。首先,读者的移动设备自动采集读者当前位置的蓝牙信标RSSI 向量,并将这几个蓝牙信标按RSSI 值由大到小重新排序,得到特定蓝牙信标排序的RSSI 向量,计算与排序匹配的RSSI 向量集之间的欧式距离,选取前面几个欧式距离最小的匹配采样点的坐标加权平均,即可获得读者当前位置。
5.5 室内导航
使用定位的坐标匹配最近的关键位置点作为起点,使用检索的图书所在位置或者座位系统提供的位置作为终点,系统采用广度优先搜索算法自动分析最近的路径,并提示导航路线。随着使用人员的移动,定位点将实时更新,到达终点则提示导航结束。
5.6 多媒体知识库的构建
采用“关键字-值”的对应方式,实现问题与答案的关联,知识库包含文本、语音、视频、地图位置点等数据。用户的问题可以与Key 进行模糊匹配,并根据匹配的程度从高到低排序,选择匹配分数最高的答案提供给读者。为了避免答案可能不符合读者的预期,在给出答案的后面,还提供了几个匹配程度较高的结果供用户手动选择,以提高问题处理的正确率。
当用户提出的问题没有符合的答案,可转人工后台处理,并录入知识库。随着时间的推移和人工智能的应用,知识库将不断完善。
6 结语
咨询服务作为图书馆对外宣传和读者服务的重要窗口,只有与时俱进,才能更好地满足读者的需求。本文结合当前移动互联网技术的发展趋势以及图书馆咨询服务的特点,设计了一个基于微信小程序的图书馆咨询服务系统,并对实现该系统的关键问题进行了初步探索,后续笔者将继续着眼于咨询服务的信息化水平的提升,对本系统的建设开展更为深入的研究。