图书荐购云服务平台的功能设计与研究
2019-12-11陈刚
摘要:针对目前图书荐购系统存在的荐购知识库数据贫乏、不够准确、不能自动查重、反馈或互动交流未受重视等不足,研究和开发一种以网上书店图书数据作为共享知识库,以“资源共享,兼顾个性”理念开发的符合图书馆实际需求的图書荐购云平台。
关键词:图书荐购;共享知识库;荐购云平台;荐购系统
中图分类号:G258.6文献标识码:A
DOI:10.13897/j.cnki.hbkjty.2019.0113
图书荐购作为图书采访环节的重要补充,尤其在“Web3.0”环境下,随着读者的需求越来越个性化,图书荐购服务也越来越受到了图书馆的重视。据调查,国内高校图书馆开展图书荐购服务的比率已经在90%以上,但荐购服务所获得的效果却不尽如人意,读者的满意度不高、荐购积极性逐步下降,且荐购图书在馆藏中所占比例仍然很低[1]。究其原因,主要有几个方面:荐购政策复杂,条件限制过多[2];荐购方式芜杂,荐购名称不够规范[3];荐购流程繁琐,荐购效率低下、获取图书周期过长[4];荐购时没有荐购知识库;荐购图书不能实时反馈等等。
对于图书荐购存在的问题,国内学者也做了相关的研究。为了提高图书荐购效率,提升读者参与荐购的热情和满意度,张美莉认为图书馆需要“去中间化”,大幅度开放读者的采购权[5]。田艳艳认为读者的需求不应被荐购政策一刀切的否决掉,图书馆应该根据读者的实际需要,更加个性化地服务读者的需求。对于读者荐购的图书,各馆可根据实际情况设置荐购服务岗位,设立专项经费,通过多种渠道及时购买读者荐购的图书[6]。黄琴玲认为构建一个自带图书知识库、功能丰富、反馈及时的智能荐书系统十分必要[7]。
目前,图书荐购的方式种类较为丰富,大部分图书馆都同时开设了多项荐购服务。虽然部分学者提倡图书馆的荐购服务应该多种方式并用,但在实际使用中多数读者会倾向于采用其中一种更为便捷的方式,而其他方式则鲜有问津。因此,本文尝试从荐购系统平台的思路出发,提出一种图书荐购云服务平台系统的功能设计方法。
1国内图书荐购系统的研究现状
目前,国内学者对图书荐购系统的理论研究不断深入,在实际系统开发应用经验总结上存在不少典型的案例。如解金兰[8]提出基于用户需求的图书荐购发现系统,以用户信息需求为基础,整合各种荐购数据源,实现图书馆资源服务和用户荐购信息一体化的管理。王洁慧[9]将网上读者荐购与读者决策采购两者结合,构建了统一的一站式读者荐购服务平台,无缝集成馆藏系统和书商系统,实现功能融合、资源共享、交流互动的一体化服务平台。解金兰和王洁慧均提出整合多种荐购数据源,但整合过多数据源容易出现数据格式的规范统一问题,同时数据的准确度也会下降。许新巧[10]提出上海大学图书馆荐购系统最优化方案:以CALIS中心书目库为基础,同OPAC无缝对接实现先查重再荐购,增加荐购反馈,同时探索融合决策采购的图书荐购系统。周群英[11]探讨了基于读秀平台的荐购模式。认为目前读秀平台在荐购以及荐购反馈方面对于读者使用还不太友好,需要改进。豆志磊[12]、叶小娇[13]、孔云[14]三者均从移动端设计了荐购系统,使用手机扫描条形码从网络中获取图书信息来减少用户录入图书信息的思路,但由于系统缺少荐购知识库,一般适用于读者在实体书店阅读时向图书馆荐购图书,适用面较窄。
综上,国内学者对于图书荐购系统的研究已有不少的成果和案例,图书荐购系统正越来越被更多的图书馆在使用,有能力和条件的图书馆自己开发了图书荐购系统。但是,目前的图书荐购系统都存在着或多或少的缺点,如OPAC系统自带荐购功能有限,不能够适应“Web3.0”时代的荐购要求;而图书馆如果都各自开发自己的图书荐购系统,又存在重复造车、浪费资源之嫌;第三方公司开发的荐购平台,一方面较难及时准确地满足图书馆的需求,另一方面也会给图书馆的成本增加不少负担。
因此,本文从“资源共享,兼顾个性”的理念出发,总结当前图书荐购系统或平台的优点与不足,设计了基于网上书店的共享图书荐购知识库、兼顾图书馆及读者个性需求的跨平台、跨终端的图书荐购云平台系统。
2荐购云服务平台设计
2.1平台开发及运行环境介绍
平台系统具有可扩展、跨平台、跨终端的优势,采用了Django2.1框架 + Mysql8.0数据库来构建服务器后端,前端渲染采用了Bootstrap4和CSS3。Django是基于python语言开发的开源Web应用框架,采用了MVC的软件设计模式,其最大的优势就是APP可插拔。
以本平台为例,云平台作为一个项目,其中可以包含多个APP模块,如图书信息模块、读者信息模块、图书荐购模块、留言板模块等等,如现在不想要留言板模块,那么直接删除留言板这个APP即可,而如果现在需要增加一个馆配商模块,那么在项目中创建馆配商APP并实现其相关功能即可。所以,当操作其中一个APP模块时,其他APP模块可基本不受影响,整个平台可正常运行。
项目前端采用了基于Bootstrap4和CSS3的响应式布局,平台能自动识别用户的客户端并渲染出合适的页面展现给读者,在任何操作系统(Windows、Linux、Mac、Android等)或是终端(PC、Pad、手机等)下均能很好的显示和使用。
2.2平台主要功能模块设计
平台目前主要分为五大模块,分别是图书信息模块、用户信息模块、图书馆模块、图书荐购模块和留言模块。平台以用户信息模块为核心与其他各模块之间互相关联,形成一个有机的整体(如图1所示)。
2.2.1图书信息模块
图书信息模块是荐购平台的基础模块,即荐购知识库。图书信息模块要实现的功能主要包括:图书信息的自动获取与更新、图书信息的检索、图书信息的列表展示与详情展示以及图书信息的管理与维护。
(1)图书信息的自动获取与更新
图书信息的自动获取依靠爬虫软件实现,爬虫在工作时需要注意以下原则:遵守目标网站的机器人协议;设置爬虫的爬取间隔时间(1-3秒);爬虫工作频率不可过度频繁,可以设定每周爬取或更長时间,但切不可24小时不停的爬取。做到以上几点,平台的荐购知识库即可基本达到免维护、自更新的水平,对于极少量的错误数据,可由读者举报错误数据来帮助纠正。
虽然图书信息的获取来源较多,目前常见的有出版社、馆配商、国图或CALIS书目库等,但由于出版社和馆配商的数据不够丰富,国图或CALIS的数据又因太过丰富而显得臃肿,这些数据源对于荐购知识库来说都不是最优的选择。因此,综合考虑图书信息的丰富性以及后期图书信息的更新和维护,平台采用了网络爬取网上书店的图书数据作为图书信息的数据源。以京东图书为例,目前共爬取了该图书商城的自营图书品种超过70万种。该商城图书的种类丰富,几乎涵盖了社会、生活、学习的方方面面,且图书数据信息较准确、格式较规范、介绍较详细。平台通过网络爬虫定期爬取京东图书的图书数据,自动比对数据库中已有图书,增加新的图书数据到数据库中。如果有需要,平台还可以增加其他的爬取目标源,以丰富荐购知识库。
(2)图书信息的检索
读者在荐购图书时,通常情况下会通过搜索方式来获取相关图书进行荐购。因此,图书的检索功能在图书信息模块中很重要,检索条件的设置以及检索查询语句的考虑必须慎重,检索条件设置过少则不能满足实际需求,设置过多又会浪费系统资源。平台为读者提供了两种检索方式:一种是类似百度搜索的检索框,提供给读者模糊检索,采用“Haystack + whoosh”的全文检索引擎。读者输入任意的检索词,系统首先通过jieba分词技术将检索词分割为若干词语,然后通过全文检索引擎在后台数据库中进行全文检索,最后将检索到的记录返回给读者。该检索方式通常可获取到较多的检索结果,需要由读者筛选检索结果,获得图书信息;另一种方式是高级检索,读者可以同时输入多个检索条件,只有多个检索条件同时满足时,系统才能匹配到记录,该检索方式自动筛选检索结果,将目标图书信息展示给读者。
(3)图书信息展示
读者在检索图书或是分类浏览图书信息时,后台需要获取相应的图书信息展示给读者。由于图书列表信息需要在一个页面中能包含尽量多的图书,因此列表中就需要包含尽可能少的图书详情信息,但包含的信息又需要让读者能够分辨出该图书。因此,这里参考了京东的商品列表页,图书列表采用以图书的封面图片为主,书名和出版社为辅的方式来展示。
通常,读者在看到图书的封面图片时,基本上就能确定该书是不是想要找的图书,再辅以书名和出版社进行确认,读者就可以在图书列表展示页以最少的时间找到目标图书。如果读者还需要对目标图书的详情进行浏览或荐购图书,则可以点击图书封面进入该书的详情展示页,详情展示页面主要向读者提供了该书的详情信息、该书的荐购热度和图书荐购功能。
(4)图书信息维护
系统在爬取图书时可能会因为目标图书数据格式不规范或存在错误,导致爬取到的图书数据不完整,这时就需要人工干预,手动纠正错误的数据。由于错误数据相对于整个数据的体量来说是微不足道的,因此,我们不需要去逐条排查错误数据。平台采取在图书信息详情页增加一个纠正图书数据的功能,由读者来帮助完善图书数据的准确性和完整性。当读者浏览详情页时发现数据有错误、矛盾或不完整的地方,就可通过该功能告知系统,系统后台收到读者的举报信息后,管理员可通过网络查询正确的图书数据信息并予以更正。
2.2.2用户信息模块
用户信息模块是荐购平台的核心模块,是与其他模块之间相互关联的桥梁,该模块包括了用户的注册和登录、用户资料的修改和完善等。
(1)用户注册
用户注册可以由读者自主注册,或者图书馆批量导入用户信息注册。读者注册的用户名必须唯一,读者自主注册时,可选任意汉字、字母、数字的组合或E-mail作为用户名,而图书馆批量注册用户时,用户名则只能是E-mail或手机号之类的具有唯一性的资料。
(2)用户资料的修改和完善
用户注册成功后,需要对自身资料进行补充和完善。如自主注册的需要至少完善E-mail或手机号码其中一个联系方式,以方便图书馆与读者联系,其他信息可自主选择填写。用户必须在用户资料中绑定所属图书馆方可向所属馆荐购图书,否则荐购功能不向用户开放,而图书馆的管理员在用户绑定所属图书馆之前也查看不到新注册的用户。
(3)用户密码的找回
用户忘记密码是较为常见的一种情况,平台目前提供了通过绑定的邮箱自主修改密码的功能。用户在点击找回密码时,系统会向用户绑定的邮箱发送一封携带验证码的邮件,用户在使用正确的验证码的条件下,可以直接更改新的密码。
2.2.3图书荐购模块
图书荐购模块是平台的主要功能模块,主要包括荐购图书、荐购历史以及荐购热度。
(1)荐购图书
平台提供荐购图书的途径有两种:直接荐购和表单荐购。通常读者在荐购时习惯通过检索或浏览荐购知识库,获取到目标图书后直接荐购,而当读者需要的图书在荐购知识库中没有时,则可通过表单荐购。表单荐购一般需要填写较多的图书信息,且要求信息填写准确,否则很容易造成图书版本不正确,购买不到或者买错图书。因此,图书馆工作人员可根据读者表单荐购的图书信息在网络上尝试查找目标图书,并将目标图书的详情信息更新到荐购知识库中,然后向读者发送荐购确认信息,等待读者确认无误后再继续荐购处理流程。
读者在荐购图书时有两种方式可供选择:快速荐购和普通荐购。快速荐购是一键荐购,不需要读者填写任何信息,而普通荐购则需要读者填写荐购理由,图书馆工作人员可以根据荐购理由,对荐购图书酌情优先或加快处理,使读者在认真填写荐购理由后能有所收获,从而提升荐购满意度。
云平台在读者荐购图书时,会在系统后台与所属图书馆的OPAC系统实现自动ISBN查重,不需要与图书馆的数据库直接对接,保障了图书馆的数据安全。实现此功能的关键技术依然是网络爬虫技术,图书馆在成为平台的用户后,需要将该馆的OPAC查询地址登记到图书馆的信息资料中,且图书馆的OPAC需要开通外网访问功能。
当读者荐购时,平台系统会通过所属馆的OPAC系统进行自动查重,并提示读者查重的结果。如果馆藏已有荐购图书,则将馆藏展示给读者;如果馆藏没有荐购图书,则平台直接将荐购图书转到所属图书馆处理。
(2)荐购历史
读者在个人中心可以看到荐购图书的反馈状态以及个人的荐购历史。荐购图书的反馈状态由图书馆采访人员根据采访进度来更新,因此,读者可以实时看到所荐购图书的采访进展情况。同时,历史荐购图书尽管已处理完毕,但仍然保留给读者查看,并统计个人的月度荐购图书数量、年度荐购图书数量以及总荐购图书的数量。
(3)荐购热度
荐购热度是某一种图书的总荐购次数。这里的总荐购次数不是该书在某个图书馆的总荐购次数,而是该书在所有图书馆中的总荐购次数。因此,总荐购次数越多,說明该书在全国范围内越受到读者的欢迎,图书馆采访人员可以根据荐购热度适当增加馆藏复本量。平台系统也可以根据荐购热度自动生成图书荐购的月度和年度榜单,推荐给读者参考使用。
2.2.4图书馆模块
图书馆模块负责管理和处理与读者相关的任务,包括管理和审核读者用户、处理读者荐购、管理和回复读者留言。
(1)管理和审核读者用户
读者注册成功并绑定所属图书馆后,系统会将该读者推送给所属馆的后台管理模块,即图书馆用户管理模块。所属馆工作人员对读者身份进行验证审核,验证通过后读者即可获得荐购权限。批量注册的用户可立即获得荐购权限,不再需要验证。图书馆工作人员可对已通过身份验证的读者取消身份验证,防止部分非法用户(指身份过期或多次无效荐购的用户)继续使用荐购权限。
(2)处理读者荐购
荐购处理与反馈是荐购系统的核心业务,在荐购处理方面,图书馆采访人员需要逐条逐个地处理读者的荐购请求。云平台提供给了图书馆采访人员便捷的荐购处理功能,当有新的荐购信息时会通过消息提醒图书馆采访人员,采访人员在处理荐购时,平台提供了常用的反馈状态信息供采访人员批量地快捷回复读者或更新采访状态。同时,在荐购处理页面,平台会将荐购的图书自动链接到目标源网站,采访人员可以通过链接一键直达目标源网站,方便采访人员检查或网上购买图书。
读者通过身份验证后获得荐购权限,读者荐购的图书由系统推送给所属馆的荐购管理模块,由所属馆采访人员对荐购图书进行处理,并根据不同的处理进度给出相应的反馈信息。平台提供常见的反馈信息供采访人员快速回复,默认的反馈信息为处理中,采访人员可根据采访的实际情况向读者反馈不同的荐购状态信息,如采购中、已到馆、可借阅、或该书缺货请耐心等待、该书不适馆藏等等。默认的反馈信息根据内容有不同的颜色表示区别,如“可借阅”为绿色,“该书不适馆藏”为红色等等。
(3)管理和回复读者留言
读者可以在留言板通过留言的方式与所属馆工作人员进行互动交流,图书馆工作人员有权管理留言,对留言进行回复、屏蔽或删除的操作。图书馆对读者的留言及时回复能够使读者感到受重视,得到满足感,从而提高荐购的满意度,而屏蔽或删除留言则适用于管理某些不合适的留言或重复的留言,比如屏蔽某些敏感留言。
2.2.5留言模块
留言模块是荐购平台的补充模块,读者通过身份验证以后,可以在留言板给所属馆留言,留言的信息包括留言人的ID、留言时间和留言内容。读者可以针对荐购图书给图书馆留言,也可以对荐购图书的反馈疑问进行留言,读者的留言仅显示在所属馆的留言板上,由所属馆的工作人员对留言进行管理与回复。
3结语
平台的开发建立在图书馆可以自主零星网上采购的假设下,对于资金管理较为严格或保守的图书馆来说,图书采购只能通过中标或合作的馆配商来获取,平台可能无法满足该部分图书馆需求;读者身份认证需要图书馆工作人员人工审核,后期可以增加导入身份信息自动识别认证、人脸识别认证或者加入统一认证平台来解决;平台还未实现针对不同图书馆提供个性化的荐购规则定制,但该功能实现较为简单,需要根据不同馆的荐购政策来个性化定制;未来或可增加出版社模块,由出版社根据图书荐购热度来决定图书按需出版的数量。
参考文献
[1]史丽香.高校图书馆读者网上荐购的现状与思考——基于对50所高校的调查[J].图书馆论坛,2013(5):117-122.
[2]刘华,许新巧.高校图书馆荐购系统建设研究[J].图书馆建设,2015(4):5-9.
[3]娄冰.“双一流”大学图书馆网上荐购服务现状调查与分析[J].图书馆工作与研究,2018(2):98-103.
[4]韩冰,白福春,李萍.辽宁省高校图书馆读者网上荐购服务的调研与思考[J].图书馆工作与研究,2016(6):83-87.
[5]张美莉.河南省本科院校图书馆荐购服务调查分析[J].图书馆学研究,2016(20):46-51,68.
[6]田艳艳.中南六省区“211”高校图书馆网络荐购服务探究[J].图书馆工作与研究,2018(4):78-82,92.
[7]黄琴玲,高协,李芳等.协同工作模式下的高校图书馆新型图书荐购系统建设与思考——以上海交通大学图书馆为例[J].图书情报工作,2016(22):61-66.
[8]解金兰,张洪艳.文献发现荐购系统的框架设计与功能研究[J].图书馆学研究,2014(6):45-49.
[9]王洁慧,张洪艳.高校图书馆一站式读者荐购服务平台的设计与研究[J].现代情报,2016(7):90-95.
[10]许新巧,刘华,张馨允.上海大学图书馆荐购系统实证研究[J].图书馆学研究,2014(24):5-9.
[11]周群英,张赞梅.基于读秀学术搜索平台的文献荐购模式探析[J].图书馆建设,2014(1):37-39.
[12]豆志磊.基于微信扫码技术的图书荐购系统的设计与实现[J].现代情报,2016(12):95-98,103.
[13]葉小娇,李检舟.读者图书荐购移动 APP 的设计与实现研究[J].新世纪图书馆,2018(5):33-37.
[14]孔云,田春燕,资芸,等.面向“互联网 + ”的图书荐购模型研究与实践[J].现代情报,2017(3):90-95.
作者简介:陈刚(1982-),男,苏州健雄职业技术学院图书馆馆员。研究方向:智慧图书馆与文献资源建设。
(收稿日期:2019-06-08责任编辑:张长安)
Research on the Function Design of the Cloud Platform for
Book Purchase Recommendation
Chen Gang
Abstract:Aiming at the deficiencies of book purchase recommendation system such as poor knowledge data base, imprecision, no?automatic duplicate checking, unheeded recommendation feedback or interaction and so on, the author developed a cloud platform for book purchase recommendation. Taking the book data of online bookstore as shared knowledge base, based on the ideas of “resources sharing and individualization”, the cloud platform for book purchase recommendation conforms to the actual needs of libraries.
Keywords:Book Purchase Recommendation; Shared Knowledge Base; Cloud Platform for Purchase Recommendation; Purchase Recommendation System