基于个性化推荐的图书管理系统(毕业论文).doc_第1页
基于个性化推荐的图书管理系统(毕业论文).doc_第2页
基于个性化推荐的图书管理系统(毕业论文).doc_第3页
基于个性化推荐的图书管理系统(毕业论文).doc_第4页
基于个性化推荐的图书管理系统(毕业论文).doc_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

南 京 审 计 学 院本科生毕业设计(论文)报告 题目:基于个性化推荐的图书管理系统的分析与设计 姓名: 马 莉 学号: 11070314 二级学院: 工学院 班级: 11计算机3班 专业: 计算机科学与技术(计算机审计方向) 指导教师: 陈一飞 职称: 副教授 二0一五 年 五 月南京审计学院毕业设计(论文)诚信承诺书1.本人在毕业论文(设计)撰写过程中遵守学校有关规定,恪守学术规范,毕业论文(设计)是在指导教师的指导下独立完成;2论文所使用的相关资料、数据、观点等均真实可靠,文中所有引用他人观点、材料、数据、图表均已注释说明来源;3论文无抄袭、剽窃或不正当引用他人学术观点、思想和学术成果,伪造、篡改数据的情况;4. 本人知道学校对毕业论文(设计)中的抄袭、剽窃、弄虚作假等违反学术规范的行为将严肃处理,并可能导致开除学籍、取消学士学位资格或注销并被追回已发放毕业证书、学士学位证书的严重后果;5. 若在学校组织的毕业论文(设计)检查、评比中,被发现有抄袭、剽窃、弄虚作假等违反学术规范的行为,本人愿意接受学校按有关规定给予的处理,并承担相应责任。 承诺人签名:马 莉 2015 年 06 月 01 日 (签名日期为论文定稿日期) 基于个性化推荐的图书管理系统的分析与设计马莉 (11070314 11计算机3班)【摘要】随着信息量爆炸式的增长和现代信息技术的飞速发展,图书馆作为信息重要的汇集地,其现代化建设性问题越来越受到各地方及高校的重视。为了保证信息资源被高效,高质量传递,各大高校纷纷建立了藏书丰富的图书馆以及与其配套的数字图书馆。在规模较大的图书馆,信息资源数量非常庞大,这导致读者在寻找自己想要的图书信息时如大海捞针。假如信息可以像人一样可以比较智能地寻找真正想拥有它的主人,那么资源难以到达用户的问题将得到解决,由此催生了个性化推荐服务。本文针对当前高校图书馆个性化图书推荐服务发展滞后,缺乏创新点的问题之上,分析并设计基于个性化推荐的图书管理系统。个性化推荐服务的核心点在于挖掘用户兴趣,了解用户最可能发生的兴趣点,从这个兴趣点出发,真正做到“用户想要什么就给他什么”向用户提供专属个性化服务,准确地满足其信息需求。本系统利用协同过滤推荐算法中的余弦相似度算法,挖掘读者信息需求并构建读者兴趣模型,以该模型为基础借助推荐算法实现个性化推荐功能。同时运用新的设计方法解决算法存在问题点,从而让用户更准确,更容易地找到自己想要的信息资源。【关键词】个性化推荐;图书管理系统;协同过滤;数据挖掘Analysis and design of library management system based on Personalized RecommendationAbstract: 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目 录摘 要IAbstract: II目 录III1 绪论11.1 引 言11.2 研究背景和意义11.3 研究现状21.3.1 国外现状21.3.2 国内现状21.4 本文的主要工作32 个性化推荐服务的应用42.1 推荐系统简述42.2 推荐服务在图书管理系统中的应用42.3 图书管理系统推荐服务的个性化52.3.1 推荐内容的个性化52.2.2 推荐形式的个性化52.4 个性化服务系统结构62.5 典型的个性化推荐技术72.6 个性化推荐技术的发展83 协同过滤推荐技术的实践应用83.1 协同过滤算法推荐原理83.2 用户兴趣模型的表示93.3 用户相似度的计算93.4 如何产生推荐103.5 算法存在的问题及解决方法104 系统的分析与设计114.1系统需求分析114.1.1 用户特征114.1.2 功能需求114.1.3 技术需求124.1.4 性能需求124.1.5 系统目标124.2 系统模型设计124.2.1 功能模型设计124.2.2 详细功能描述134.3 数据库模型设计144.3.1 图书管理系统 E-R图设计144.3.2主要数据表设计155 系统功能的实现及测试185.1 基础功能实现185.2 个性化功能实现215.2.1“看了还想看”模块225.2.2 大众推荐模块235.2.3 新书上架模块245.2.4 我的图书馆模块255.3 本文个性化设计优势275.4 推荐功能测试28总 结29参考文献30致 谢311绪论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.1图书管理系统推荐形式示例2.4 个性化服务系统结构在个性化服务系统的实现中,一般情况下系统客户端负责读者信息收集任务,代理端完成评价模型的建立,以及向读者提供个性化服务。特别地在客户端个性化服务系统中,读者信息的收集、评价模型建立和个性化服务在客户端集中实现,读者的详细信息都在一个系统内进行收集和计算,不但能够保完整准确地建立优质的评价模型,而且可以有效地保护信息不泄露。但缺点是无法借鉴其他读者信息以实现合作式的个性化服务。本文个性化系统结构:本系统是CS结构,从上到下分别有三个层次,分别是用户界面层、应用程序层和数据存储层,如图2.2。 用户界面层 应用程序层 数据存储层图2.2 系统结构层次图 各层次详细说明: 用户界面层负责和用户的交互,包括人员管理,书籍管理,借阅管理,读者个人事务管理等读者模型的建立及读者信息相关部分。用户界面层表现为系统提供给用户的最终操作界面,读者可以通过书籍评价界面提供个性化推荐数据源,管理员可以通过书籍添加,人员添加等界面对书籍和读者进行管理,读者也可以通过个人信息,近期事务等界面对个人基本信息进行维护。 应用程序层主要实现界面层展示给用户的各项功能,包括推荐功能中的用户相似度的计算,结合关系数据库的查询计算最近邻居,根据匹配推送程序负责将书籍推送给相关用户,查询功能中的多条件查询,借还书籍功能,主动提出书籍需求等功能。 数据存储层包括数据收集上传和数据库连接,查询,数据抓取等。数据存储层就是数据库部分,包括负责系统各种相关数据的数据表集。2.5 典型的个性化推荐技术个性化推荐技术的应用不仅在社会经济发展中表现出重要作用,而且在科学研究中也具有比较高的研究价值。个性化推荐技术的出现改变了传统的被动服务方式,它根据用户的兴趣偏好主动地向其推荐各类信息,将被动式的服务转变为主动式的服务。在个性化推荐服务发展中逐渐出现了多种个性化推荐技术。典型的有基于数据挖掘的个性化推荐技术,基于内容过滤的个性化推荐技术和基于用户的协同过滤技术。对这三种推荐技术的综合实际应用进行比较可以发现以数据挖掘为基础的推荐中基于关联规则的挖掘方式可以实时地动态的进行,速度快,时效性较强。而基于分类挖掘的方式可以离线运行,计算速度较慢,但它较基于关联规则的挖掘方式性能更好,推荐精确度更高。基于内容过滤的个性化推荐,算法应用中对项目特征属性的描述依赖性较强,只有当用户兴趣单一而且不变,用户信息模型非常的完整的情况才能产生准确的推荐,这一特点使它的实际应用具有局限性。基于协同过滤的个性化推荐技术,处理思想来源于生活,“在日常生活中,人们往往会根据亲朋好友的推荐来做出一些选择(电影、CD、书籍、商品等等)。”人与人之间兴趣的相似为这种推荐方式的实现提供了可行性,这种方式也更符合我们的思维方式。而其中基于用户的协同过滤算法计算较为简单,实现过程清晰。只需要通建立用户兴趣模型,计算用户兴趣相似度、产生推荐这三个步骤即可完成推荐的全部过程,而且它计算结果精确度高,算法简单易实现,是目前运用最为广泛的个性化推荐技术之一。本文采用此算法实现推荐系统,并在实现过程中致力于完整实现推荐的全部过程并能够力所能及的解决此算法中存在的问题,提升自己实际解决问题及独立思考的能力。2.6个性化推荐技术的发展个性化推荐技术有着非常高的实际应用价值,有良好的发展前景。目前,走在最前列的A使用个性化的、基于数据挖掘的方法作为经营战略。而国内最先进的个性化引擎推荐服务系统发展也非常迅速,有百分点,百度等。在竞争激烈的市场环境,知名购物网站麦包包、凡客诚品、库巴网、红孩子等都率先选择了百分点这样的个性化引擎推荐服务,以提高用户忠诚度。作为消费者,我们已经习惯了网购,并且在购买过程中情不自禁的查看购物网站提供给我们的推荐商品,商家也总会采用各种促销方式吸引消费者对其购买的商品进行评价,以期实现对相似用户的精准化营销,习惯了个性化推荐围绕生活的方方面面。个性化推荐技术的成功,必须以数量庞大的用户行为数据分析即数据挖掘为发展基础。而数据挖掘大多数情况下是无形的,不可见的。因为用户也许并不知晓他们正在查看数据挖掘返回的结果,也不会意识到他们的浏览,查看,点击行为实际上已经作为数据挖掘数据收集的一部分被上传给系统。为了使数据挖掘这项技术进一步发挥其效用,研究人员在各个领域进行研究和开发。目前数据挖掘在电子商务应用领域已经取得了巨大的成功,人们最为熟知的推荐系统就是一个例证。个性化推荐技术改进了生活方式,提高了服务质量。 个性化推荐技术在发展途中遇到信任危机。随着越来越强大的数据挖掘工具的开发和投入使用,在无形中用户数据收集的过程中可能会涉及的用户隐私问题,想让用户真正理解这个过程是对其需求的满足而不是对隐私的侵犯还需要很长时间。既然存在这样的危机,那么个性化推荐技术发展过程中也需要加强数据安全性问题。3 协同过滤推荐技术的实践应用3.1 协同过滤算法推荐原理协同过滤算法实现资源推荐的依据是读者之间的兴趣相似性的大小。把当前读者与其他每一位读者的兴趣相似度量化为向量之间的夹角并做相似性计算,当计算结果满足系统设定的阈值,则认为其与当前读者兴趣相似,可以将相似用户感兴趣的内容推荐给当前读者。这种计算方式不仅可以避开资源的表现形式,也能够挖掘读者内在差异化需求。协同过滤推荐技术面向用户、项目、用户聚类、项目聚类等采用不同的数据挖掘手段和计算方法完成推荐。基于用户的协同过滤推荐技术其典型的推荐过程可分为4个阶段,如图:图3.1 协同推荐流程图3.2用户兴趣模型的表示 在协同过滤推荐算法中一般会用一个mn维的用户&项目评分矩阵(如表3.1所示)表示用户兴趣模型,m表示用户数,n表示项目数,Rij的含义是第i个用户对第j个项目的评分5。3.3用户相似度的计算 下面主要介绍系统实现相似度计算的余弦相似度算法: 用户兴趣被量化为对项目的评分后,进一步可以转化成n维项目空间上的向量。向量间的夹角余弦值可以表征两向量的相似程度。这里假设有一个用户i和用户j在n维的项目空间上的评分分别表示为向量,向量。则用户i和用户j之间的相似性sim(i,j)如公式(1)所示:(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 性能需求 l 保证推荐结果的准确及高效;l 保证操作的简洁和易用;l 保证系统运行的稳定性;l 保证系统和用户良好的交互性。 4.1.5 系统目标 本系统完整实现图书管理系统的基础功能,并着重开发个性化推荐功能。目标有:l 降低管理员工作量及维护费用;l 优化读者及图书信息管理;l 提升读者借阅服务及多样化查询服务;l 个性化图书推荐功能满足读者个性化需求;l 系统设计简洁、友好,功能个性化,多样化突出。 4.2系统模型设计4.2.1 功能模型设计依据上文功能需求分析的结果,本系统将图书管理系统各功能模块设计成如图5.1所示: 管理员管理 读者添加 图书添加 图书管理 基本信息 近期事务 读者管理 管理员管理 借阅管理 读者管理 借阅查询 人员管理图书管理系统 登录管理 图书管理 个人图书馆 查询借阅 管理员添加 在借图书 历史借阅 书籍评价 推荐上传 到期提醒图4.1图书管理系统功能模型图4.2.2 详细功能描述(1) 基础功能 实现人员管理,图书管理,图书查询,借阅,归还等功能。对各个功能模块进行细分,可完成系统人员信息及图书信息的增删改等图书管理系统基本功能。特别设置管理员与用户权限不同,对系统的功能要求不同。(2) 个性化推荐功能 以个人图书馆,大众推荐,新书上架,“看了还想看”的形式完成个性化推荐功能。各个功能模块细化可以实现读者个人信息维护,读者近期事务管理,查找书籍并借阅。大众推荐主要解决从未对任何一本书籍进行评价的读者无法实现依据其个人评分获得协同推荐书籍的问题。而新书上架,则解决某一本书籍从未被借阅或者有借阅记录却没有获得任何评分的书籍无法参与到协同推荐中完成推荐的问题。 “看了还想看” 功能则是本文的重点,也是本系统实现的重点功能。主要通过前文所述协同过滤推荐算法在读者正确登录到系统后主界面即时弹出“看了还想看”书籍推荐窗,读者可以及时查看推荐书籍,如果想要借阅则同时完成借阅功能。4.3 数据库模型设计4.3.1 图书管理系统 E-R 图设计 (1)用户实体属性图 图4.2 用户实体属性图 a 编号登录密码个人身份证号姓名 读者联系方式读者类型欠款金额 图4.2 用户实体属性图 b(2) 图书实体属性图图书编号图书类别作者图书名称出版社出版时间 价格总数量可借数评分简介图书图4.3 图书实体属性图 (3) 图书管理系统数据库E-R图设计:姓名出版时间编号身份证号登录密码价格 格联系方式出版社读者类型可借数欠款金额总数量 读者借还n简介推荐nnn管理评分图书n作者管理11编号管理员图书类别姓名图书名称图书编号登录密码管理类型联系方式身份证号图4.4 图书管理系统E-R图 4.3.2主要数据表设计根据E-R图模型,共建立7个数据表,并根据表之间的关系设立了相应的主键、外键以及约束。表4.1 管理人员信息表属性名属性名描述数据类型长度是否为空描述admin_id管理员账号varchar10否主键admin_name管理员姓名varchar30否admin_password管理员登录密码varchar30否admin_idcard个人身份证号varchar30是admin_tele联系方式bigint8是admin_type管理员类型varchar30是表4.2 用户信息表属性名属性名描述数据类型长度是否为空描述read_id用户账号varchar30否主键read_name用户姓名varchar30否read_password登录密码varchar30否read_type用户类型varchar10否外键read_idcard个人身份证号varchar30是read_tele联系方式varchar20是表4.3 图书信息表属性名属性名描述数据类型长度是否为空描述book_id书籍编号varchar30否主键book_name书籍名称varchar30否book_type书籍类型varchar30是author书籍作者varchar30否pubname出版社名称varchar30是pubtime出版时间datetime8是price书籍价格decimal9否location馆藏位置varchar30是totalnum购入数量int4否stocknum可借数量int4否grade书籍评分decimal9否abstruct图书简介varchar200是borrowcount借阅次数int否表4.4 图书借阅表属性名属性名描述数据类型长度是否可为空描述book_id书籍编号varchar30否主键,外键read_id用户账号varchar30否主键,外键borrowtime借阅时间datetime8否主键rightbacktime截止归还时间datetime8否realbacktime实际归还时间datetime8是isback是否已还char2否主键 表4.5 图书评价表属性名属性名描述数据类型长度是否可为空描述book_id图书编号varchar30否主键,外键read_id用户账号varchar30否主键,外键grade书籍评分decimal9否assess书籍评论varchar200是count评价次数int否 表4.6 历史借阅表属性名属性名描述数据类型长度是否可为空描述book_id图书编号varchar30否主键,外键read_id用户账号varchar30否主键,外键borrowtime借阅时间datetime8否主键rightbacktime截止归还时间datetime8否realbacktime实际归还时间datetime8是isback是否归还char2否主键表4.7 推荐上传信息表属性名属性名描述数据类型长度是否可为空描述book_name书籍名称varchar30否book_type书籍类型varchar30是author书籍作者varchar30否pubname书籍出版社varchar30是pubtime书籍出版时间datetime8是reason推荐理由varchar200是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,以下算法实现过程在所有图书和用户都有评分记录的前提下进行。 算法:以单个人评分为初值比较对象的余弦相似度计算。用于读者与读者间阅读兴趣相似度比较的计算。输入:a. 当前登录用户账号;b. (当前读者借阅书籍编号,对应书籍评分);c. 剩余m个用户账号;d. (剩余m个读者借阅书籍编号,对应书籍评分);输出:相似性阈值大于0.8的读者作为当前读者的最近邻居,推荐评分值在推荐集前10位的读者给当前读者。方法:1 将当前用户借阅的图书编号与剩余用户借阅的图书编号一一比较,找出和当前用户借阅过相同书籍的邻居读者。2 对当前用户的用户&评分矩阵与邻居读者的用户&评分矩阵进行n维空间上的余弦相似度计算。3 得到余弦值与相似性阈值进行比较,若大于0.8则将此用户的借阅记录写入推荐集。4 重复计算直到和所有其他用户比较完毕,获得完整的推荐的集合。对此集合中评分值进行选择排序,取评分值排在前10的读者进行推荐。 5.2.2 大众推荐模块图5.11大众推荐 大众推荐模块作为“看了还想看”模块的补充功能,从前文算法面临的问题出发解决算法中新用户没有评分记录无法

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论