基于个性化推荐的书籍阅读推荐管理系统的分析与设计
(11070314 11计算机3班)
【摘要】随着信息量爆炸式的增长和现代信息技术的飞速发展,图书馆作为信息重要的汇集地,其现代化建设性问题越来越受到各地方及高校的重视。为了保证信息资源被高效,高质量传递,各大高校纷纷建立了藏书丰富的图书馆以及与其配套的数字图书馆。在规模较大的图书馆,信息资源数量非常庞大,这导致读者在寻找自己想要的图书信息时如大海捞针。假如信息可以像人一样可以比较智能地寻找真正想拥有它的主人,那么资源难以到达用户的问题将得到解决,由此催生了个性化推荐服务。本文针对当前高校图书馆个性化图书推荐服务发展滞后,缺乏创新点的问题之上,分析并设计基于个性化推荐的书籍阅读推荐管理系统。个性化推荐服务的核心点在于挖掘用户兴趣,了解用户最可能发生的兴趣点,从这个兴趣点出发,真正做到“用户想要什么就给他什么”向用户提供专属个性化服务,准确地满足其信息需求。本系统利用协同过滤推荐算法中的余弦相似度算法,挖掘读者信息需求并构建读者兴趣模型,以该模型为基础借助推荐算法实现个性化推荐功能。同时运用新的设计方法解决算法存在问题点,从而让用户更准确,更容易地找到自己想要的信息资源。
【关键词】个性化推荐;书籍阅读推荐管理系统;协同过滤;数据挖掘
Analysis and design of library management system based on Personalized Recommendation
Abstract: With the explosive growth of information and the rapid development of modern information technology, the library as a collection of information, more and more attention by local and university. In order to guarantee the high quality of the information resources, each university has set up a rich library and its supporting virtual digital library.In the larger library, resource data amount is very large, which leads to the reader to find the information they want like looking for a needle in a haystack.If information can be like people more intelligent to find really want to the owner of it, then the resource is difficult to reach user problems will be solved, which gave birth to the personalized recommendation service.This paper is based on the current academic library personalized book recommendation service development lag, the lack of innovative points, analysis and design of the personalized recommendation of the library management system.Personalized recommendation service core is user interest mining, understand the user is most likely to occur in the point of interest, starting from the points of interest, truly “what the user wants it to him what” to the user to provide exclusive personalized service and accurately meet their information needs.This system uses the cosine similarity algorithm in collaborative filtering, mining the reader information needs and builds the reader interest model, and uses the recommendation algorithm to realize the personalized recommendation function. At the same time, the new design method is used to solve the problem, which makes it easier to find the information resource.
Key words: Personalized recommendation;library management system;collaborative filtering;information services data mining
目 录
摘 要 I
Abstract: II
目 录 III
1 绪论 1
1.1 引 言 1
1.2 研究背景和意义 1
1.3 研究现状 2
1.3.1 国外现状 2
1.3.2 国内现状 2
1.4 本文的主要工作 3
2 个性化推荐服务的应用 4
2.1 推荐系统简述 4
2.2 推荐服务在书籍阅读推荐管理系统中的应用 4
2.3 书籍阅读推荐管理系统推荐服务的个性化 5
2.3.1 推荐内容的个性化 5
2.2.2 推荐形式的个性化 5
2.4 个性化服务系统结构 6
2.5 典型的个性化推荐技术 7
2.6 个性化推荐技术的发展 8
3 协同过滤推荐技术的实践应用 8
3.1 协同过滤算法推荐原理 8
3.2 用户兴趣模型的表示 9
3.3 用户相似度的计算 9
3.4 如何产生推荐 10
3.5 算法存在的问题及解决方法 10
4 系统的分析与设计 11
4.1系统需求分析 11
4.1.1 用户特征 11
4.1.2 功能需求 11
4.1.3 技术需求 12
4.1.4 性能需求 12
4.1.5 系统目标 12
4.2 系统模型设计 12
4.2.1 功能模型设计 12
4.2.2 详细功能描述 13
4.3 数据库模型设计 14
4.3.1 书籍阅读推荐管理系统 E-R图设计 14
4.3.2主要数据表设计 15
5 系统功能的实现及测试 18
5.1 基础功能实现 18
5.2 个性化功能实现 21
5.2.1“看了还想看”模块 22
5.2.2 大众推荐模块 23
5.2.3 新书上架模块 24
5.2.4 我的图书馆模块 25
5.3 本文个性化设计优势 27
5.4 推荐功能测试 28
总 结 29
参考文献 30
致 谢 31
1绪论
1.1 引 言
当前高校图书馆主动式图书推荐服务发展滞后,对用户信息需求挖掘分析不足,使得图书馆空有庞大资源却无法从实质上满足读者需求。这样的图书馆便如形同虚设的仅供参观之地。作为一名即将毕业的大学生,在四年的学习生活中深刻体会到阅读的诸多好处。但无论是不是已经有目标书籍,进入资源丰富,收藏量巨大的图书馆寻找一本属于自己的书籍都会让人感到力不从心。经过调查南京各高校学生和教师对图书馆资源的利用状况发现大多数人面对海量资源的图书馆都会感到迷茫。那么如何利用现代信息技术解决找书难的问题就成为当前高校广大师生都会遇到的有研究意义的问题。立足于这个问题,本文深入分析用户需求,提出解决方法并实践设计出满足广大师生在教学、学习过程中产生的多样化的图书信息需求。本文针对这一问题构建了基于协同过滤算法的以用户兴趣为推荐基础的书籍阅读推荐管理系统。只有从用户个人的兴趣出发,将真正满足用户内在需求的信息主动推荐给他,并让他对推荐功能的应用更加适应,使之能真正做到“各得所需”,才是个性化推荐服务的核心,才能真正发挥图书馆资源的效用。
1.2研究背景和意义
随着图书馆资源的不断丰富和现代信息技术的飞速发展,各大高校纷纷建立了藏书丰富的图书馆以及拥有海量资源的数字图书馆。而且大量跨学科及新兴学科的出现使得图书馆资源不仅数量庞大而且学科类型繁杂各异。过去图书馆信息匮乏的时代早已远去,如今信息爆炸式增长使得每个人都身处信息海洋之中。那么问题也随之出现,当读者被数量巨大的信息包围时,如何能在满足每一位读者的不同需求情况下,使其从形式多样化,结构异构化的信息中获取真正有用的信息,已成为当前高校图书馆管理服务中急需研究解决的问题。
本文开发的个性化书籍阅读推荐管理系统恰当地将推荐系统运用到书籍阅读推荐管理系统系统,使推荐功能为本系统提供增值服务。借助推荐系统这一有力工具帮助读者跳出信息的包围圈,反过来让信息主动追击读者。文献[1]同时从本质上挖掘读者的内在个性化需求,针对不同读者的不同需求,向其推荐有针对性地个性化信息资源。这样一来便能够利用图书馆个性化推荐服务向用户提供及时、准确、兴趣度较高的指导性资源。为有选择目的和没有选择目的的用户提供更加便捷的选择。个性化推荐系统的应用是在传统图书馆单一图书参考服务基础上提高图书馆增值服务的一项有利手段[13]。
1.3 研究现状
1.3.1 国外现状
在书籍阅读推荐管理系统中出现个性化概念,并将其作为书籍阅读推荐管理系统的一项优秀的增值服务,很早就在国外规模较大的研究型高校图书馆中得到应用。虽然当时实现的个性化服务还没有达到真正意义上的个性化,但是这种简单的个性化服务已经体现出以用户需求为中心的思想。从用户需求出发,根据用户个人兴趣特点,向用户进行个性化服务形式方面的简单个性化信息推荐。比如,在网页上设置用户自定义控件,允许用户根据个人喜好配置网页的服务内容和服务方式。比如:网页的弹出广告可以选择屏蔽或者不屏蔽,还可以选择网页尺寸,设置颜色、页面布局等。
随着网络信息的发展,慢慢衍生出多种多样的信息服务,这些服务提供给用户不同的服务体验。用户之间的快速传播使得个性化服务的观念迅速普及开来。世界各大高校对于图书馆管理中个性化服务的研究和开发投入了较多的人力和财力。书籍阅读推荐管理系统个性化服务的研究也进入了一个新的阶段,个性化服务深入到用户内在需求层面,开始为信息越来越难寻的问题寻找有效的解决方法。“我的图书馆@康奈尔”作为比较典型的个性化推荐系统被很多人所熟知。它在系统中我的图书馆模块设计出个性化数据链接、个性化数据更新、个性化目录、个性化内容、个性化数据传递[13]等多种个性化服务功能。在2004年,美国就有19所大学拥有了自主开发的以个性化服务为目的的书籍阅读推荐管理系统。而且这些系统都有各自的特点,在不同的方面和层次体现出个性化的内在含义。
1.3.2 国内现状
由于我国信息技术发展滞后,个性化服务的概念直到20世纪末才在国内流行起来。随着信息量不断增长,国内高校开始重视图书馆的建设,并致力于研究个性化服务在书籍阅读推荐管理系统中的应用。在我国深圳市的地方图书馆,中科院等单位先后开发出了适合中国读者文化及软件操作方式的个性化书籍阅读推荐管理系统,且开放源代码供外界研究者共同学习。文献[7]“中国数字图书馆示范项目”中提到的图书馆的个性化服务由个人图书馆和在线互助工作平台两大功能表现出来。此项目中完成的系统在个性化服务上已经具有较高的先进性,很多功能的信息处理方面表现出智能化。系统广泛采用信息检索、统计学、机器学习和数据挖掘技术在商品和用户兴趣中搜索相似的对象。同时设计了用户自主订阅的邮件服务系统,将读者订阅的个人兴趣读物通过个性化服务系统定期传递给读者。
目前国内的各大高校中,书籍阅读推荐管理系统个性化服务研究及应用方面比较突出的大学有清华大学、浙江大学,中国人民大学等高校。这些在书籍阅读推荐管理系统个性化服务研究方面作为领军者的高校,它们实现的个性化的书籍阅读推荐管理推荐系统存在一定的共性。在主要功能和模式等方面有三个突出点:智能检索、个性化推荐、在线咨询。在使用系统过程中,读者可以在海量的图书资源中借助智能检索进行多维度多条件的主动查询,也可以根据系统的个性化智能推荐选择书籍。而且实时的在线咨询服务也为高校个性化书籍阅读推荐管理推荐系统锦上添花。
综合国内各大高校书籍阅读推荐管理系统的发展情况,可以看出我国的个性化书籍阅读推荐管理推荐系统和国外相比仍有很大距离。发展过程中存在着以下不足之处:
(1)没有重视当下的发展。图书馆管理者只简单意识到个性化的服务未来发展趋向,但并没有将其视为非常重要的事项进行关注,更没有投入过多的人力财力进行深入的研究和开发。而另一些即便认识到了其重要性的人,也只是对书籍阅读推荐管理系统个性化推荐服务进行了小规模简单的开发,并没有真正让这项服务成为书籍阅读推荐管理系统的增值服务。
(2)推荐层次浅。没有真正意义上从读者内在需求出发向其进行推荐,而是仅仅在浅层次的个人信息整合和信息推送层面向读者进行一系列的内容推动。这种服务方式较为单一,仅仅是在推荐形式上进行变化,没有真正意义实现依照读者个性化特征描述来推送信息,很难从本质上给读者提供人性化的推荐服务。
(3)个性化服务单一。大多数系统个性化服务集中表现在形式上,对于深层次的内容推荐并没有进行深入开发和研究,因此大部分已经实现的系统所提供的个性化服务本质并不真正符合读者的内在兴趣需求。
(4)信息资源分散。没有通过完整的数据调研对信息资源进行合理整合与分类,使得信息在推荐过程中没有很好的分类方式,无法实现更精准的推荐。
1.4 本文的主要工作
(1) 论述书籍阅读推荐管理系统应用推荐服务的意义及现状
分析书籍阅读推荐管理系统当前推荐服务的发展状况,并且提出如何提高系统管理效率,优化用户服务体验,提升读者资源获取准确度的问题,以及实现推荐服务后给书籍阅读推荐管理工作带来哪些发展意义。同时选取一些国内外优秀的书籍阅读推荐管理系统,详细了解书籍阅读推荐管理系统的发展以及不断优化的过程,借此引出本文所做设计需要研究的方向,以及系统致力于实现的功能。
(2) 深入学习协同过滤算法并提出算法问题的解决方案
学习协同过滤算法的特点和计算方法。在实际应用中深刻体会该算法的优缺点,并提出算法面临问题的有效解决方法,在实际应用中论证其有效性。
(3)设计并实现具有推荐功能的书籍阅读推荐管理系统
通过学习协同过滤算法的理论知识,构建个性化推荐的实例模型,以期实现多种个性化推荐的书籍阅读推荐管理系统。在实现过程中总结方法经验,优化设计流程,使开发过程流畅简单。同时能够尽量完善系统功能,减少功能性的漏洞,并对算法的不足加以改进,实现创新概念。
2 个性化推荐服务的应用
2.1 推荐系统简述
我们所熟知的,日常生活中经常使用的大多数电子商务平台都有推荐系统模块。推荐系统帮助用户更快更准确的寻找到他们可能感兴趣的商品,信息,服务等等,如书籍,电影,餐厅,新闻,音乐和其他服务。推荐系统的实现可以使用基于内容的方法、协同过滤的方法或者结合这两种方法的混合方法。基于内容的方法借助商品的特征描述,向用户推荐感兴趣或者以前浏览过的类似物品;协同过滤的方法根据用户和其他用户之间产生相似兴趣爱好,将这些用户的兴趣商品推荐给该用户。推荐系统广泛采用信息检索、统计学、机器学习和数据挖掘技术在商品和用户兴趣中搜索相似的对象。
2.2 推荐服务在书籍系统中的应用
推荐模式在电子商务的发展中产生巨大影响。作为消费者,在这种商业应用的培养下,我们适应了伴随推荐服务的购物方式,甚至依靠推荐帮我们做出很多和生活相关的选择。推荐模式的运用给一个包含大量信息的系统带来积极的影响,他使得用户量显著增加并且用户服务体验有了极大提升。那么同样的道理,将这种模式引入书籍阅读推荐管理系统中,让这样一种服务帮助用户在图书信息的搜索中做出选择,及时准确定位读者的需求,向读者推荐借鉴性较强的优秀书籍,提升读者对图书馆资源的利用率。挖掘读者的内在需求,找到其兴趣差异,将推荐服务应用到书籍阅读推荐管理系统中,采取个性化的服务方式实现推荐。分析比较当前功能和服务各异的网站和系统,虽然个性化的表现各有特色,但概括其个性化特点体现具体到两个点,即推荐内容和推荐形式。
2.3 书籍阅读推荐管理系统推荐服务的个性化
2.3.1 推荐内容的个性化
推荐内容的个性化,是指读者对具体内容的内在需求差异,它服务的对象是读者所需要的具体的个性化内容[2],诸如音乐,期刊,杂志、书籍。但是生产出具体指向某一类读者的个性化内容的服务方式由于读者兴趣的易变性和复杂性较难实现。而通过个性化推荐系统智能分析读者信息,获取其需求特征,随后主动向读者推荐信息的方式以信息主动找人的方式轻松实现了服务内容的个性化。在图书馆个性化服务系统中只需要读者输入简单的关键词,或者无意识的浏览,评价等信息,系统就会根据算法自动寻找到与读者兴趣点相似的内容进行读者模型的学习与更新,使推荐精确度更高,不断提升服务体验。
2.2.2 推荐形式的个性化
推荐形式的个性化,是指推荐模式采用什么样的方式展现在用户眼前,使得读者在视觉感受,内心体验方面有更高的接受度。首先要了解读者对什么样的外在表现形式及文字描述喜爱度更高。不同的读者对书籍阅读推荐管理系统个性化服务形式的要求差异性较大。因此个性化的推荐形式都会收集读者需求,向读者提供满足其个性化需求的形式各异,风格多样化,色彩选择较多,设计新颖的外观设计方法,具体如图2.1示例。
2.4 个性化服务系统结构
在个性化服务系统的实现中,一般情况下系统客户端负责读者信息收集任务,代理端完成评价模型的建立,以及向读者提供个性化服务。特别地在客户端个性化服务系统中,读者信息的收集、评价模型建立和个性化服务在客户端集中实现,读者的详细信息都在一个系统内进行收集和计算,不但能够保完整准确地建立优质的评价模型,而且可以有效地保护信息不泄露。但缺点是无法借鉴其他读者信息以实现合作式的个性化服务。
本文个性化系统结构:
本系统是C/S结构,从上到下分别有三个层次,分别是用户界面层、应用程序层和数据存储层,如图2.2。
图2.2 系统结构层次图
各层次详细说明:
① 用户界面层负责和用户的交互,包括人员管理,书籍管理,借阅管理,读者个人事务管理等读者模型的建立及读者信息相关部分。用户界面层表现为系统提供给用户的最终操作界面,读者可以通过书籍评价界面提供个性化推荐数据源,管理员可以通过书籍添加,人员添加等界面对书籍和读者进行管理,读者也可以通过个人信息,近期事务等界面对个人基本信息进行维护。
② 应用程序层主要实现界面层展示给用户的各项功能,包括推荐功能中的用户相似度的计算,结合关系数据库的查询计算最近邻居,根据匹配推送程序负责将书籍推送给相关用户,查询功能中的多条件查询,借还书籍功能,主动提出书籍需求等功能。
③ 数据存储层包括数据收集上传和数据库连接,查询,数据抓取等。数据存储层就是数据库部分,包括负责系统各种相关数据的数据表集。
2.5 典型的个性化推荐技术
个性化推荐技术的应用不仅在社会经济发展中表现出重要作用,而且在科学研究中也具有比较高的研究价值。个性化推荐技术的出现改变了传统的被动服务方式,它根据用户的兴趣偏好主动地向其推荐各类信息,将被动式的服务转变为主动式的服务。在个性化推荐服务发展中逐渐出现了多种个性化推荐技术。典型的有基于数据挖掘的个性化推荐技术,基于内容过滤的个性化推荐技术和基于用户的协同过滤技术。对这三种推荐技术的综合实际应用进行比较可以发现以数据挖掘为基础的推荐中基于关联规则的挖掘方式可以实时地动态的进行,速度快,时效性较强。而基于分类挖掘的方式可以离线运行,计算速度较慢,但它较基于关联规则的挖掘方式性能更好,推荐精确度更高。基于内容过滤的个性化推荐,算法应用中对项目特征属性的描述依赖性较强,只有当用户兴趣单一而且不变,用户信息模型非常的完整的情况才能产生准确的推荐,这一特点使它的实际应用具有局限性。基于协同过滤的个性化推荐技术,处理思想来源于生活,“在日常生活中,人们往往会根据亲朋好友的推荐来做出一些选择(电影、CD、书籍、商品等等)。”人与人之间兴趣的相似为这种推荐方式的实现提供了可行性,这种方式也更符合我们的思维方式。
而其中基于用户的协同过滤算法计算较为简单,实现过程清晰。只需要通建立用户兴趣模型,计算用户兴趣相似度、产生推荐这三个步骤即可完成推荐的全部过程,而且它计算结果精确度高,算法简单易实现,是目前运用最为广泛的个性化推荐技术之一。本文采用此算法实现推荐系统,并在实现过程中致力于完整实现推荐的全部过程并能够
力所能及的解决此算法中存在的问题,提升自己实际解决问题及独立思考的能力。
2.6个性化推荐技术的发展
个性化推荐技术有着非常高的实际应用价值,有良好的发展前景。目前,走在最前列的Amazon.com使用个性化的、基于数据挖掘的方法作为经营战略。而国内最先进的个性化引擎推荐服务系统发展也非常迅速,有百分点,百度等。在竞争激烈的市场环境,知名购物网站麦包包、凡客诚品、库巴网、红孩子等都率先选择了百分点这样的个性化引擎推荐服务,以提高用户忠诚度。作为消费者,我们已经习惯了网购,并且在购买过程中情不自禁的查看购物网站提供给我们的推荐商品,商家也总会采用各种促销方式吸引消费者对其购买的商品进行评价,以期实现对相似用户的精准化营销,习惯了个性化推荐围绕生活的方方面面。
个性化推荐技术的成功,必须以数量庞大的用户行为数据分析即数据挖掘为发展基础。而数据挖掘大多数情况下是无形的,不可见的。因为用户也许并不知晓他们正在查看数据挖掘返回的结果,也不会意识到他们的浏览,查看,点击行为实际上已经作为数据挖掘数据收集的一部分被上传给系统。为了使数据挖掘这项技术进一步发挥其效用,研究人员在各个领域进行研究和开发。目前数据挖掘在电子商务应用领域已经取得了巨大的成功,人们最为熟知的推荐系统就是一个例证。个性化推荐技术改进了生活方式,提高了服务质量。
个性化推荐技术在发展途中遇到信任危机。随着越来越强大的数据挖掘工具的开发和投入使用,在无形中用户数据收集的过程中可能会涉及的用户隐私问题,想让用户真正理解这个过程是对其需求的满足而不是对隐私的侵犯还需要很长时间。既然存在这样的危机,那么个性化推荐技术发展过程中也需要加强数据安全性问题。
3 协同过滤推荐技术的实践应用
3.1 协同过滤算法推荐原理
协同过滤算法实现资源推荐的依据是读者之间的兴趣相似性的大小。把当前读者与其他每一位读者的兴趣相似度量化为向量之间的夹角并做相似性计算,当计算结果满足系统设定的阈值,则认为其与当前读者兴趣相似,可以将相似用户感兴趣的内容推荐给当前读者。这种计算方式不仅可以避开资源的表现形式,也能够挖掘读者内在差异化需求。协同过滤推荐技术面向用户、项目、用户聚类、项目聚类等采用不同的数据挖掘手段和计算方法完成推荐。基于用户的协同过滤推荐技术其典型的推荐过程可分为4个阶段,如图:
3.2用户兴趣模型的表示
在协同过滤推荐算法中一般会用一个m×n维的用户&项目评分矩阵(如表3.1所示)表示用户兴趣模型,m表示用户数,n表示项目数,Rij的含义是第i个用户对第j个项目的评分[5]。
3.3用户相似度的计算
下面主要介绍系统实现相似度计算的余弦相似度算法:
用户兴趣被量化为对项目的评分后,进一步可以转化成n维项目空间上的向量。向量间的夹角余弦值可以表征两向量的相似程度。这里假设有一个用户i和用户j在n维的项目空间上的评分分别表示为向量,向量。则用户i和用户j之间的相似性sim(i,j)如公式(1)所示:
通过上面的算法,我们基本可以保证相似度结果的准确性。但是它的表现并不完美,因为读者自身对评分的衡量尺度不同,所以在查找相似用户过程中会因兴趣相似但是对评分的表征差异而造成误差,使得相似度计算结果精确度降低,无法产生准确的推荐结果。
3.4如何产生推荐
(1) 假如当前用户的最近邻集包含多个最近邻居,则对当前用户的最近邻集所有用户的评分求平均值,再采用选择排序方法将最近邻集中的评分进行排序,按降序排列,选择排序在前10的评分记录,将其指向的书籍编号作为当前用户最感兴趣的资源推荐给当前用户,完成推荐。
(2) 如果当前用户为新添加的用户,还未曾借阅书籍,没有对任何一本书籍进行过评分,则将系统中其他用户作为当前用户最近邻集,计算最近邻集合所有用户评分的平均值,作为当前用户的初次评分项。再次利用相似度计算,求出新的最近邻集采用(1)中推荐方法为当前用户推荐资源。
(3)如果是一本新书刚刚被添加,还未曾被哪位读者借阅过或者没有获得至少一次的评分,则无法通过推荐算法将其推荐给用户。本系统通过设计新书上架模块,将一周内新添加书籍显示到每位用户的个人图书馆中,以便读者能够及时获取新书的推荐。
3.5 算法存在的问题及解决方法
通过实际应用和测试,发现此算法虽然可以从用户需求出发,产生较准确的推荐结果。但是在数据量极小或极大的情况下以及系统更新,读者兴趣发生变化等情况下都会影响系统的使用效果,算法可能不起作用无法产生推荐结果或者计算效率太低,降低系统效率。其主要存在的问题有以下几个:
(1)用户评分矩阵数据稀疏问题。
(2)新书没有评分问题。
(3)新用户没有评分问题。
(4)扩展性问题。
(5)读者兴趣的变化问题。
在协同过滤算法的学习及应用过程中,认真研究算法的问题,并在本文系统实现中解决新书没有评分和新用户没有评分使得无法在算法中参与构建用户兴趣模型而无法被推荐或无法获得推荐的问题。主要解决方法为在系统中添加“大众推荐”和“新书上架”功能模块。“大众推荐”的具体推荐方法为除去当前没有评分记录的用户,对系统中其它用户对某一本书的评分求平均值,将此平均值赋给当前用户的书籍项目组,建立大众平均值为比较初值的用户&项目评分数据模型。然后根据前文协同推荐算法的实现过程进行相似度计算,产生推荐。而“新书上架”则是将系统中评分记录为零的书籍按照日期距现在最近的前10本进行推荐。
4系统的分析与设计
4.1系统需求分析
4.1.1 用户特征
本软件的最终使用用户是书籍阅读推荐管理员和人员管理员、高校学生及教职工。用户普遍都有较高的文化知识水平,对计算机应用有一定的使用基础,可以比较熟练操作计算机,轻松应用书籍阅读推荐管理系统的各项功能。管理人员为计算机专业人员,熟悉本软件开发流程,系统各个功能模块,数据库及计算机系统维护工作。读者是经常性用户,管理人员为间隔性用户。
4.1.2 功能需求
针对用户特征将其分为管理员和读者。这两类用户对系统有不同的使用需求,所以对功能的要求也不相同。管理员负责人员及书籍阅读推荐管理工作,主要功能需求有实现数据库人员数据及图书数据的录入及更新,功能实现要求操作简洁,流程清晰,工作效率高。读者作为系统的主要用户,其使用书籍阅读推荐管理系统的最终目的是为了简单快速搜索到自己感兴趣的书籍并且简化借阅图书,归还图书流程以便在这些服务中获得更好的体验。同时希望在自己没有搜索目的时获得系统个性化的推荐,提高阅读兴趣。
4.1.3 技术需求
本系统选用Windows 窗体程序实现系统架构的用户界面层,C#编程语言实现系统架构的应用程序层,结合Microsoft SQL Server 2005数据库完成系统的数据存储层,整体架构建构开发平台是Visual Studio 2008。
4.1.4 性能需求
保证推荐结果的准确及高效;
保证操作的简洁和易用;
保证系统运行的稳定性;
保证系统和用户良好的交互性。
4.1.5 系统目标
本系统完整实现书籍阅读推荐管理系统的基础功能,并着重开发个性化推荐功能。目标有:
降低管理员工作量及维护费用;
优化读者及图书信息管理;
提升读者借阅服务及多样化查询服务;
个性化图书推荐功能满足读者个性化需求;
系统设计简洁、友好,功能个性化,多样化突出。
4.2系统模型设计
4.2.1 功能模型设计
依据上文功能需求分析的结果,本系统将书籍阅读推荐管理系统各功能模块设计成如图5.1所示:
4.2.2 详细功能描述
(1)基础功能
实现人员管理,书籍阅读推荐管理,图书查询,借阅,归还等功能。对各个功能模块进行细分,可完成系统人员信息及图书信息的增删改等书籍阅读推荐管理系统基本功能。特别设置管理员与用户权限不同,对系统的功能要求不同。
(2)个性化推荐功能
以个人图书馆,大众推荐,新书上架,“看了还想看”的形式完成个性化推荐功能。各个功能模块细化可以实现读者个人信息维护,读者近期事务管理,查找书籍并借阅。大众推荐主要解决从未对任何一本书籍进行评价的读者无法实现依据其个人评分获得协同推荐书籍的问题。而新书上架,则解决某一本书籍从未被借阅或者有借阅记录却没有获得任何评分的书籍无法参与到协同推荐中完成推荐的问题。
“看了还想看” 功能则是本文的重点,也是本系统实现的重点功能。主要通过前文所述协同过滤推荐算法在读者正确登录到系统后主界面即时弹出“看了还想看”书籍推荐窗,读者可以及时查看推荐书籍,如果想要借阅则同时完成借阅功能。
4.3 数据库模型设计
4.3.1 书籍阅读推荐管理系统 E-R 图设计
(1)用户实体属性图
(2)图书实体属性图
(3)书籍阅读推荐管理系统数据库E-R图设计:
4.3.2主要数据表设计
根据E-R图模型,共建立7个数据表,并根据表之间的关系设立了相应的主键、外键以及约束。
表4.1 管理人员信息表
属性名 属性名描述 数据类型 长度 是否为空 描述
admin_id 管理员账号 varchar 10 否 主键
admin_name 管理员姓名 varchar 30 否
admin_password 管理员登录密码 varchar 30 否
admin_idcard 个人身份证号 varchar 30 是
admin_tele 联系方式 bigint 8 是
admin_type 管理员类型 varchar 30 是
表4.2 用户信息表
属性名 属性名描述 数据类型 长度 是否为空 描述
read_id 用户账号 varchar 30 否 主键
read_name 用户姓名 varchar 30 否
read_password 登录密码 varchar 30 否
read_type 用户类型 varchar 10 否 外键
read_idcard 个人身份证号 varchar 30 是
read_tele 联系方式 varchar 20 是
表4.3 图书信息表
属性名 属性名描述 数据类型 长度 是否为空 描述
book_id 书籍编号 varchar 30 否 主键
book_name 书籍名称 varchar 30 否
book_type 书籍类型 varchar 30 是
author 书籍作者 varchar 30 否
pubname 出版社名称 varchar 30 是
pubtime 出版时间 datetime 8 是
price 书籍价格 decimal 9 否
location 馆藏位置 varchar 30 是
totalnum 购入数量 int 4 否
stocknum 可借数量 int 4 否
grade 书籍评分 decimal 9 否
abstruct 图书简介 varchar 200 是
borrowcount 借阅次数 int 否
表4.4 图书借阅表
属性名 属性名描述 数据类型 长度 是否可为空 描述
book_id 书籍编号 varchar 30 否 主键,外键
read_id 用户账号 varchar 30 否 主键,外键
borrowtime 借阅时间 datetime 8 否 主键
rightbacktime 截止归还时间 datetime 8 否
realbacktime 实际归还时间 datetime 8 是
isback 是否已还 char 2 否 主键
表4.5 图书评价表
属性名 属性名描述 数据类型 长度 是否可为空 描述
book_id 图书编号 varchar 30 否 主键,外键
read_id 用户账号 varchar 30 否 主键,外键
grade 书籍评分 decimal 9 否
assess 书籍评论 varchar 200 是
count 评价次数 int 否
表4.6 历史借阅表
属性名 属性名描述 数据类型 长度 是否可为空 描述
book_id 图书编号 varchar 30 否 主键,外键
read_id 用户账号 varchar 30 否 主键,外键
borrowtime 借阅时间 datetime 8 否 主键
rightbacktime 截止归还时间 datetime 8 否
realbacktime 实际归还时间 datetime 8 是
isback 是否归还 char 2 否 主键
表4.7 推荐上传信息表
属性名 属性名描述 数据类型 长度 是否可为空 描述
book_name 书籍名称 varchar 30 否
book_type 书籍类型 varchar 30 是
author 书籍作者 varchar 30 否
pubname 书籍出版社 varchar 30 是
pubtime 书籍出版时间 datetime 8 是
reason 推荐理由 varchar 200 是
5 系统功能的实现及测试
5.1基础功能实现
(1)登录窗口
图5.1登录窗口
说明:连接数据库验证用户类型,用户名及密码,设置用户使用功能权限。
(2)系统主页
图5.2系统主页
说明:主界面集成系统所有功能,菜单栏实现三大功能模块,工具栏实现基础功能及部分个性化功能。
(3)人员添加
图5.3人员添加页面
说明:人员添加功能包括管理员和读者添加,实现系统向数据库新增人员信息。
(4)人员管理
图5.4人员管理页面
说明:人员管理功能包括管理员和读者信息的增、删、改基本功能,实现数据库数据的更新。
(5)图书添加
图5.5图书添加页面
说明:图书添加功能实现系统向数据库新增图书信息。
(6)书籍阅读推荐管理
图5.6书籍阅读推荐管理页面
说明:书籍阅读推荐管理功能图书的增、删、改基本功能,实现数据库图书数据的更新。
(7)图书查询
图5.7图书查询页面
说明:图书查询功能实现多方式查询,可以选择查询条件为书名、作者、图书编号查询,并且查询到书籍后可借阅。
(8)图书借阅
图5.8图书借阅页面
说明:借阅窗口自动读取登录用户账号,多种图书查询方便读者借阅操作。
(9)图书归还
图5.9图书归还页面
说明:归还动作由读者自助完成,降低管理员工作量,避免还书通道单一造成拥堵。
5.2个性化功能实现
本系统个性化功能设计突出表现在四个模块,如下:
5.2.1“看了还想看”模块
图5.9“看了还想看”页面
图5.10我要评价页面
此模块是整个系统重点开发的地方,其结合前文基于用户的协同推荐算法和个性化的推荐表现形式进行设计。“看了还想看”,首先引起读者对此推荐功能的兴趣,然后通过读者的亲身使用让读者慢慢感受到这样一个推荐功能真的可以做到读者看过什么书,对哪一些书籍有较高的喜爱度那么推荐功能就好像能够了解读者的心思一般将与读者兴趣度较吻合的另外一些书籍推荐给读者。这些被推荐的书籍来源于在书籍的评价方面与当前读者相似度较高的其他读者曾经借阅过的图书集合。本功能模块使用协同推荐算法中的余弦相似度算法实现读者间的相似度计算,为保证数据的有效性读者必须在借阅书籍时候显示地对图书进行评分,打分区间为[0-5],以下算法实现过程在所有图书和用户都有评分记录的前提下进行。
5.2.2 大众推荐模块
图5.11大众推荐
大众推荐模块作为“看了还想看”模块的补充功能,从前文算法面临的问题出发解决算法中新用户没有评分记录无法参与相似度计算,“看了还想看”模块无法推荐信息给此类用户的问题。算法实现的过程为:
5.2.3 新书上架模块
同样新书上架模块作为“看了还想看”模块的补充功能,从前文算法面临的问题出发解决算法中新添加的书籍没有评分记录无法参与相似度计算,“看了还想看”模块无法将此书推荐给任何一个用户问题。新书上架模块功能实现过程,从系统读取没有评分记录的书籍,按照添加的时间顺序排序,将时间最靠近当前日期的前10本书通过窗体推荐给读者,同时可点击书籍进行借阅操作。
图5.12新书上架
5.2.4我的图书馆模块
我的图书馆模块作为本系统个性化服务的重要表现模块,从读者心理需求出发开发出多种个性化的读者服务功能,模块功能模型图如下:
图5.13我的图书馆模型图
(1)基本信息
图5.14个人基本
说明:在本系统中读者可以自主查看个人信息,进行密码修改等操作。
(2)书籍评价
图5.15图书评价页面
说明:书籍评价在本系统中作为个性化推荐的评分数据的来源,其功能的有效对本系统有着非常重要的支持性。读者可以在个人图书馆自主进行评分操作,以保证获取系统推荐的优秀书籍。
(3)推荐上传
图5.16推荐上传页面
说明:此功能也为本系统中个性化服务的体现之处。当读者在图书馆未找到自己需要的书籍时,可以将其上传至书籍阅读推荐管理员处,帮助书籍阅读推荐管理人员了解读者需求,为其书籍采购给出一定的参考性。这种个性化的服务将会是图书馆与读者之间的联系更加紧密,长时间形成良性循环,使得图书资源的利用率大大提高。
(4)到期提醒
图5.17到期提醒页面
说明:在我的图书馆中添加到期提醒的功能,也是在用户需求分析阶段了解读者需求,方便读者对图书资源的借阅与归还有序进行,一面违反借阅规定造成不必要的损失,方便读者的同时保证书籍阅读推荐管理系统工作的高效性。
5.3本文个性化设计优势
本文系统个性化设计表现在四个功能模块中,这四个模块分别可以独立完成个性化服务,整体上又相互补充,完善总体个性化服务的质量。为读者提供优质的服务体验,增加他们的阅读兴趣,使图书资源充分被利用。
(1)设计突出重点
本文系统设计以个性化的协同推荐功能为重心功能,围绕着一项重点功能,设计辅助功能以及延伸功能。重点在学习及应用协同过滤算法,在系统设计实践的过程中发现重点功能的不足及需要优化的问题在对其进行功能拓展或完善。这样设计的好处是从一条主线出发,不会在设计过程中失去方向感,使得工作按时有序进行,开发效率更高。
(2)个性化服务关系明确,开发流程清晰
图5.18本文个性化服务关系图
图形最底层为基础服务,包括传统的书籍阅读推荐管理系统所提供的咨询及检索,借阅等基础服务,另外本系统中书籍评价服务需要读者自主进行图书评价以便为个性化图书推荐服务提供数据源,因此也作为基础服务进行设计工作。本系统重点实现的内容是中心服务部分,也就是基于用户的协同推荐服务。其在实现过程中从基础服务中获取数据,获得基础服务数据支持。同时中心服务实现后,因为算法本身的不足,造成功能不完善的问题。因此外围的大众推荐以及新书上架,推荐上传等服务作为帮助性功能补充中心服务的缺陷,以保证系统功能的完善性。
(3)不脱离读者需求的设计
本系统充分考虑读者对书籍阅读推荐管理系统各个方面的需求,从读者需求出发,设计推荐上传,到期提醒,个人信息维护等提升读者服务体验的功能。在设计中充分融入读者所思所想所需,是系统有较高的使用价值。
5.4推荐功能测试
(1)读者r00001与读者r00000的相似度计算
通过比较找到这两个读者共同借阅过的书籍的评分矩阵。借阅的相同书籍分别为b0000000、b0000001、b0000002,通过图书编号取得两个读者对这三本书分别给出的评分,构建评分矩阵a(4、5、5),b(5、5、5)。将评分矩阵的数据输入余弦计算公式计算得到余弦值为0.9,和相似度阈值0.8比较,大于阈值,因此将会把读者r000001所借阅过的全部书籍除去r00000没有借阅过的图书b000002,b000003,b000001全部推荐给读者r00000。
(2)读者r00001与读者r00002、r00003、r00004的相似度计算同上。
首先获得两个人共同借阅过的书籍的评分信息b0000000、b0000001、b0000002得到两个评分矩阵a(4、5、5),c(0、1、0),则根据余弦计算公式得到两位用户的相似度为0.91<0.8,因此不会产生推荐。系统测试结果如图5.18所示:
图5.19推荐功能测试
总 结
本文至此全部内容已经撰写完毕。个性化推荐,协同过滤是当下研究的热门课题,在撰写本文之前,搜集了大量的课题研究资料,在深入学习思考之后,确定本文题目及研究方向。通过查阅资料了解到推荐系统本是依托于海量数据挖掘基础上的,以帮助电子商务网站为其顾客购物提供完全个性化的决策支持和信息服务的商务智能平台。推荐系统可能使用基于内容的方法、协同过滤的方法或者结合这两种的混合方法。基于内容的方法借助商品的特征描述,向用户推荐感兴趣或者以前浏览过的类似物品;协同过滤的方法根据用户和其他用户之间产生相似兴趣爱好,将这些用户的兴趣商品推荐给该用户。推荐系统广泛采用信息检索、统计学、机器学习和数据挖掘技术在商品和用户兴趣中搜索相似的对象。在高校中图书馆作为信息资源的汇集地,信息量的急剧增长使得读者经常陷入选择什么样的书籍的困难中。那么推荐系统作为一种有力的工具是否可以帮助高校读者解决选书难的问题作为本文研究和分析的方向。本文针对当前高校图书馆个性化图书推荐服务发展滞后,缺乏创新点的问题之上,分析并设计基于个性化推荐的书籍阅读推荐管理系统。个性化推荐服务的核心点在于挖掘用户兴趣,了解用户最可能发生的兴趣点,从这个兴趣点出发,真正做到“用户想要什么就给他什么”向用户提供专属个性化服务,准确地满足其信息需求。结合当前主流个性化推荐系统,结合实际需求,在资源模型,用户模型,匹配算法和学习算法的基础上,建立了以高校教师和学生作为目标用户,以高校图书馆数据库为系统数据源,利用协同过滤中的余弦相似度算法,挖掘读者信息需求并构建读者兴趣模型,以该模型为基础借助推荐算法实现个性化推荐功能。系统实现了书籍查询,借阅,及产生个性化图书推荐信息等功能,在设计中充分考虑了易用性,友好性和交互性,更加适合对象用户的习惯。
参考文献
[1]肖鹂.浅议RS理念和高校读者服务工作[J];-《咸宁学院学报》-2006-08-30:609-612
[2]张春红.北京大学网络虚拟个人图书馆门户的构建与实施.http://wenku.baidu.com/view/
3983d96648d7c1c708a145e2.html
[3]杨现,孙平.My Library个性化图书馆的实现[J],情报资料工作2003年第3期
[4]刘燕平.网络虚拟个人图书馆个性化信息服务系统研究[J].图书情报工作,2006(3):6-29
[5]邢圆圆, 姚学颖.书籍阅读推荐管理系统[J]. 天津市电子学会 2013 年年会论文集, 2013.
[6]刘燕平.网络虚拟个人图书馆个性化信息服务系统研究.图书情报工作,2006,27(2):6.29
[7]T欣,江芸.国内外网络虚拟个人图书馆个性化信息服务系统剖析.图书馆工作与研究,2008,30(1 1):62—65
[8]侯延香,周秀霞.我国高校图书馆数字化资源整合现状调查.图书馆杂志,2005,24(1 1):34·38
[9]G.G Towell and J.WShavlik.Extracting refined rules from knowedge-based neural networks.Machine Learning,13:71-101 Oct.1993.
[10]郭艳红,邓贵仕.协同过滤的一种个性化推荐算法研究.计算机应用研究,2008,25(1):39-41
[11]赵亮,胡乃静,张守志.个性化推荐算法设计.计算机研究与发展,2002,8:986-991
[12]查文琴,梁昌勇,曹镭.基于用户聚类的协同过滤推荐方法.计算机技术与发展,2009,19(6):69 -71
[13]胡敏.书籍阅读推荐管理系统的设计与实现:华中科技大学硕士论文,2009,20(6):84 -91
[14]Powell A,French J,Callan J.Connell and C.L.Vilas.The impact of database
selection on distributed searching.In:Proceedings of 23rd Ann.Int’1 ACM SIGIR
[15]Conf.Research and Development in Information Retrival,2000,3:232.239
致 谢
毕业将至,在此借论文写作的机会感谢大学四年熟悉的,不熟悉的老师和同学,当然还有美丽的南审校园。大学生活自由,多彩。在校园里有这么多学识渊博的老师,与同学亦师亦友。到现在已经不记得老师讲过什么知识,却经常会记得老师在课堂中和我们交换心情的人生道理,或者各种领域的新技术,社会经验,人生选择等等(说白了就是只记得老师讲的“废话”;老师要哭晕,原来这些年备课都是白忙活)。总之因为课堂,生活过的自由却不散漫,每天学学知识,长长见识,充充电,努努力,就这么忙着,玩着大学就上完了。再次真诚的感谢大学给过我们指导和帮助的老师们,希望你们的大学教师生活简单,充实,快乐。