完整版基于知识库的礼品推荐系统的设计与实现毕业论文.docx

上传人:b****8 文档编号:27957411 上传时间:2023-07-06 格式:DOCX 页数:35 大小:203.14KB
下载 相关 举报
完整版基于知识库的礼品推荐系统的设计与实现毕业论文.docx_第1页
第1页 / 共35页
完整版基于知识库的礼品推荐系统的设计与实现毕业论文.docx_第2页
第2页 / 共35页
完整版基于知识库的礼品推荐系统的设计与实现毕业论文.docx_第3页
第3页 / 共35页
完整版基于知识库的礼品推荐系统的设计与实现毕业论文.docx_第4页
第4页 / 共35页
完整版基于知识库的礼品推荐系统的设计与实现毕业论文.docx_第5页
第5页 / 共35页
点击查看更多>>
下载资源
资源描述

完整版基于知识库的礼品推荐系统的设计与实现毕业论文.docx

《完整版基于知识库的礼品推荐系统的设计与实现毕业论文.docx》由会员分享,可在线阅读,更多相关《完整版基于知识库的礼品推荐系统的设计与实现毕业论文.docx(35页珍藏版)》请在冰豆网上搜索。

完整版基于知识库的礼品推荐系统的设计与实现毕业论文.docx

完整版基于知识库的礼品推荐系统的设计与实现毕业论文

 

硕士研究生学位论文

 

题目:

基于知识库的礼品推荐系统的设计与实现

学号:

085707

姓名:

路卫杰

专业:

计算机科学与技术

导师:

孟祥武

学院:

计算机学院

年月日

 

独创性(或创新性)声明

本人声明所呈交的论文是本人在导师指导下进行的研究工作及取得的研究成果。

尽我所知,除了文中特别加以标注和致谢中所罗列的内容以外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含为获得北京邮电大学或其他教育机构的学位或证书而使用过的材料。

与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示了谢意。

申请学位论文与资料若有不实之处,本人承担一切相关责任。

本人签名:

日期:

 

关于论文使用授权的说明

学位论文作者完全了解北京邮电大学有关保留和使用学位论文的规定,即:

研究生在校攻读学位期间论文工作的知识产权单位属北京邮电大学。

学校有权保留并向国家有关部门或机构送交论文的复印件和磁盘,允许学位论文被查阅和借阅;学校可以公布学位论文的全部或部分内容,可以允许采用影印、缩印或其它复制手段保存、汇编学位论文。

(保密的学位论文在解密后遵守此规定)

非保密论文注释:

本学位论文不属于保密范围,适用本授权书。

本人签名:

日期:

导师签名:

日期:

 

基于知识库推理的礼品推荐系统的设计与实现

摘要

当今,个性化推荐系统已经在很多领域得到了应用,如网络商品推荐、音乐推荐、影视推荐等。

推荐技术包括协同过滤、内容过滤、知识发现等,但是这些推荐技术并没有考虑推荐领域的知识对推荐结果的影响,或者推荐结果没有通过与用户的交互过程中得到完善和改进。

鉴于以上问题,本文针对礼品推荐领域提出了基于知识库的推荐方法。

首先在调研了礼品信息和礼品赠送知识后构建礼品知识库,然后礼品专家通过人工方式对礼品知识库进行初始化,最后系统根据礼品的基本信息计算出礼品综合相似度对礼品知识库进一步完善。

本文采用AJAX等技术设计并实现具有良好用户体验的知识库推荐用户接口,采用全文检索引擎工具包Lucene对礼品信息构建索引并根据用户的日志设计个性化的礼品搜索功能。

本文第一章介绍了推荐系统的研究背景和国内外的研究现状以及本文的研究路线方法和研究内容。

第二章介绍了主要的推荐算法和本系统所涉及的关键技术。

第三章描述了系统的需求分析,包括任务概述、需求规定以及运行环境的规定。

第四章阐述了系统设计,包括系统整体功能设计和系统整体架构设计。

第五章详细描述了系统实现中的关键问题和解决方案。

第六章对系统进行功能测试和性能测试。

第七章是工作总结和进一步的展望。

关键词:

礼品推荐知识库相似度个性化搜索

Knowledge-based Gifts RecommendationSystem DesignandImplementation

 

ABSTRACT

Personalizedrecommendationsystemwidelyusedinmanyfields,suchasnetworkproductsrecommendation,musicrecommendation,movierecommendation,etc.Recommendationtechniquesincludecollaborativefiltering,contentfiltering,knowledgediscovery,etc.However,theserecommendationsdonotconsidertheinfluencesthattheknowledgesinrecommendedareastotheresults,ortherecommendedresultsisn'tperfectedorimprovedthroughtheprocessofinteractionwithusers.

Inviewoftheaboveproblems,thispaperproposedarecommendationmethodbasedonknowledgebaseforgiftrecommendation.First,knowledgebaseforgiftisbuiltafteraseriesofresearches,theninitializedbygiftspecialistsmanually,andfinallyajustedaccordingtosimilaritywhichiscalculatedonthebasicinformationofgifts.AJAXtechniqueisintroducedtoachievetheuserinterfaceinordertosupplygooduserexperience,andLucene,thefull-textsearchenginetoolkitisalsousedtoconstructindexforthegiftsinformationanddesignpersonalizedsearchfunctioninaccordancewiththeuser'slog.

InChapter1,thebackgroundofrecommendationsystem,thesignificanceofthestudy,andthemethodsandcontentsofthestudyisintroduced.InChapter2,wedescribethemainalgorithmsandkeytechnologiesthatinvolved.Requirementsanalysis,includesoverviewofthework,thedemandofrequirementandenvironmentisdescribedinChapter3.ThemaincontentinChapter4isthesystemdesign,whichisdividedintotwoparts,thefunctionpartandtheconstructionpart.Chapter5isthedetaileddescriptionofthekeyproblemsandsolutionsintheprocessofsystemconstruction.InChapter6,functionaltestingandperformancetestingofthesystemisoperated.ThelastChapterisasummaryofourworkandfurtherprospects.

KEYWORDS:

giftsrecommendation,knowledgebase,similarity,personalized,search

第一章绪论

1.1研究背景

随着互联网和电子商务的迅速发展,人类己步入网络信息时代。

随着信息技术特别是网络技术的发展,信息系统的规模越来越大,数量越来越多,信息获取的工具和方法越来丰富,在更方便的为用户提供越来越多信息和服务的同时,其结构和内容越来越复杂,在海量信息中,用户及时、准确地获得所需要的信息也更加困难[1]。

海量信息的同时呈现,一方面使用户很难从中发现自己感兴趣的部分,另一方面也使得大量少人问津的信息成为网络中的“暗信息”,无法被一般用户获取[2]。

面对网络信息量呈指数增长,如何从这浩瀚的海洋中取得所需要的、真正有用的信息,已成为广大网络用户共同面临的问题。

首先,由于很难准确描述出需要的信息的特征,用户常常会面对大量的信息而束手无策,迷失在大量的信息空间中;其次,信息系统单纯依靠提供的检索方式,往往不能满足用户描述检索条件的需求,找不到描述信息需求的方式。

另外,用户每次获取信息,都要输入大量、烦琐的检索条件,而信息系统不能通过服务历史和服务过程掌握用户需求,信息系统不能产生对用户持久的吸引力。

在这种背景下个性化智能推荐服务(PersonalizedRecommenderServices)应运而生并迅速发展起来,它通过与用户交互过程中获取的信息推测用户的兴趣偏好,并根据用户的兴趣偏好推荐符合用户兴趣偏好的信息。

个性化智能推荐服务不仅可以帮助用户找到所需信息,而且通过个性化智能推荐服务,可以有效保留用户,提高信息系统的吸引力和用户的忠诚度[3]。

1.2研究现状

1.2.1国外研究现状

在推荐用户模型方面,常用的用户建模技术有向量空间模型[4]、用户评价矩阵[5],以及机器学习技术[6]。

在推荐算法方面,协同过滤是应用最广泛的个性化推荐技术。

协同过滤首先计算用户之间的相似度,然后将相似度最高的用户作为最近邻居,最后通过最近邻居用户产生推荐结果。

KuoRJ,LiaoJL和TuC提出了一个利用神经网络和遗传K-means算法通过分析用户在电子商务网站的浏览路径来获取用户偏好的方法。

各种挖掘技术如关联规则挖掘、聚类挖掘等被应用于Web日志的分析中,以提高推荐系统的精度[7]。

Amazon推荐系统是由GeryLinden,BrentSmith和JeremyYork主导开发的集研究与应用于一体的推荐系统,采用项目-项目协同过滤算法,根据用户己购买和己评分项目寻找相似项目,将相似度高的项目列入到推荐列表中。

通过比较相似项目表与每个用户已购买和己评分的项目,系统整合比较结果将关联度最高和最畅销的项目推荐给用户。

根据用户己购买和己评分项目寻找相似项目的计算较快,它只依赖于用户已购买和已评分的项目数量,采用在线方式进行。

因此,即使是面对大规模数据集也有较快的运行速度[8]。

由于基于项目协同过滤推荐算法高度的关联性,推荐质量也比较高[9]。

MovieLens是由美国明尼苏达大学计算机科学与工程系开发的研究型自动协同过滤推荐系统,用于推荐电影。

MovieLens是一个基于Web的推荐,系统通过浏览器方式进行用户评分数据收集与推荐结果显示,用户使用更方便。

用户对网站提供的电影进行评分,用户可在notseen和0.5-5.0共11个选项中进行选择,网站根据每个用户的评分计算并分析用户的偏好,并据此向用户进行电影推荐。

MovieLens采用了基于用户的协同过滤和关联规则相结合的技术,计算用户的相似度并根据相似度分析用户的“邻居”,这些“邻居”是具有相似兴趣爱好的“邻居区”,“邻居”们对电影的评分数据被用来为目标用户生成个性化推荐项目[10]。

该系统既是一个个性化推荐研究的实验平台,也是向人们推荐感兴趣电影的应用系统,其不定期推出的用户评分数据为世界各国推荐领域研究人员提供了原始的实验数据[11]。

Ringo是由MIT媒体实验室开发的研究型协同过滤推荐系统,用于提供音乐推荐服务。

Ringo系统可以向用户推荐他们喜欢的音乐,预测用户不喜欢的音乐,也可以预测用户对特定音乐的评分。

FAB:

Stanford大学数字图书馆项目组开发的基于内容过滤和协同过滤的推荐系统,用于推荐Web页面。

其特点是综合了基于内容过滤的推荐和协同过滤推荐的优点,同时支持两种类型的推荐服务。

GoogleNews是一个为新闻领域开发的个性化资讯平台。

该平台采用基于MinHash聚类的协同过滤、统计隐含语义标引(ProbabilisticLatentSemanticIndexing,PLSI)和访问计数三种方法来产生推荐,使用一个线性模型将不同算法产生的推荐结合起来[12]。

GiftIdeas()是一个专业的个性化礼品推荐网站,网站的礼品知识库非常专业,推荐页面用户体验性非常好。

网站从收礼人信息,送礼场合,个性化定制,礼品分类等多方面向用户进行礼品推荐。

1.2.2国内研究现状

复旦大学的邓爱林等针对用户评分数据极端稀疏情况下传统相似性度量方法的不足,提出了一种基于项目评分预测的协同过滤推荐算法,根据项目之间的相似性初步预测用户对未评分项目的评分,在此基础上,采用一种新颖的相似性度量方法计算目标用户的最近邻居[13]。

浙江大学的孙小华针对协同过滤在无法得到项目的内容信息和用户个人信息的情况下,在数据稀疏和冷启动情况下提高预测准确性方面采用了属于特征递增型的PearAfter_SVD方法和属于转换型的LCMSTI方法。

针对新用户和新项目的冷启动问题采用了基于统计的众数法阻及信息熵法来解决[14]。

清华大学的邢春晓和高凤荣等人针对传统协同过滤算法不能及时反映用户兴趣变化的问题,提出了两种改进度量:

基于时间的数据权重和基于资源相似度的数据权重,在此基础上将它们有机结合,将这两种权重引入基于资源的协作过滤算法的生成推荐过程中,通过实验证明改进后的算法比传统协作过滤算法在推荐准确度上有明显提高[15]。

北京航空航天大学的张光卫等人针对传统相似度度量方法存在的不足,利用云模型在定性知识表示以及定性、定量知识转换时的桥梁作用,提出一种在知识层面比较用户相似度的方法,克服了传统基于向量的相似度比较方法严格匹配对象属性的不足。

以该方法为核心,在全面分析传统方法的基础上,提出一种新的协同过滤推荐算法。

实验结果表明,算法在用户评分数据极端稀疏的情况下,仍能取得较理想的推荐质量[16]。

国内推荐系统的应用现状如下:

豆瓣网()是一个以图书,影视和音乐数字产品推荐为目的的网站。

注册用户可以对所喜欢的数字产品进行1-5分的评分,豆瓣后台通过一定的推荐算法向用户进行推荐,同时,用户可以对数字产品进行评论,并可以参考其他用户的评论作为推荐依据。

最后用户还可以加入豆瓣的兴趣小组,这样同兴趣小组成员的推荐更加精准,更加符合用户的兴趣。

淘宝礼物(Data-base-KDD)

知识发现是从数据库中提取隐含的、先前未知的、潜在有用的知识或信息模式的决策支持方法。

知识发现需要提取发现用户和产品的特征,所采用的方法是分类、聚类、关联规则等数据挖掘方法。

知识发现将用户请求视作一个查询,然后基于用户需求和偏好进行推荐。

这个方法需要了解产品用户之间的关系和特征。

这些知识的获取有赖于知识库的建立,使得数据挖掘的方法得到了巨大的应用[21]。

1.数据挖掘技术的应用 

数据挖掘就是从大量的、不完全的、有噪声的、模糊的、随机的实际应用数据中,提取隐含在其中的但又是潜在有用的信息和知识的过程[22]。

随着信息技术的高速发展,人们积累的数据量急剧增长,动辄以TB计,如何从海量的数据中提取有用的知识成为当务之急。

数据挖掘就是为顺应这种需要应运而生发展起来的数据处理技术。

数据挖掘是知识发现的关键步骤。

电子商务推荐系统中的数据挖掘主要包括关联规则挖掘和分类挖掘两类,因此基于数据挖掘的知识发现方法又分为关联规则推荐和分类挖掘推荐两种。

关联规则推荐方法是先根据销售数据发现不同商品在销售过程中的相关性,然后基于生成的关联规则模型和用户的购买行为产生推荐结果;分类挖掘推荐方法是通过聚类、Bayesia网络、神经网络等多种机器学习方法产生分类挖掘模型,再根据用户输入信息和产品的特征信息,预测是否向用户推荐该产品[23]。

2.知识发现的优缺点 

优点:

知识发现可以利用电子商务网站的交易数据、日志数据等信息提高推荐系统的推荐质量和推荐效率。

缺点:

一种知识发现的算法只能适应某一领域的数据,而更换领域后知识发现的算法就不太适用了,因此需要重新定义规则或算法。

2.4系统实现关键技术介绍

2.4.1正则表达式

正则表达式(RegularExpression)在计算机科学中,是指一个用来描述或者匹配一系列符合某个句法规则的字符串的单个字符串。

在很多文本编辑器或其他工具里,正则表达式通常被用来检索和替换那些符合某个模式的文本内容。

许多程序设计语言都支持利用正则表达式进行字符串操作[24]。

一个正则表达式通常被称为一个模式(pattern)[25],就是用某种模式去匹配一类字符串的一个公式,由普通字符(例如字符a到z)以及特殊字符(称为元字符)组成,用来描述或者匹配一系列符合某个句法规则的字符串。

简单的说,正则表达式就是用一个“字符串”来描述一个特征,然后去验证另一个“字符串”是否符合这个特征。

比如表达式“ab+”描述的特征是“一个'a'和任意个'b'”,那么'ab','abb','abbbbbbbbbb'都符合这个特征。

正则表达式可以用来:

(1)验证字符串是否符合指定特征,比如验证是否是合法的邮件地址。

(2)用来查找字符串,从一个长的文本中查找符合指定特征的字符串,比查找固定字符串更加灵活方便。

(3)用来替换,比普通的替换更强大。

JAVA对正则表达式提供了强大的支持[26],本系统正是借助于JAVA中对正则表达式的强力支持来实现在JAVA源文件中对类之间依赖关系的扫描。

在JAVA中使用正则表达式匹配字符串的典型调用语句是

Patternp=Patternpile("a*b");

Matcherm=p.matcher("aaaaab");

booleanb=m.matches();

Java.util.regex.Pattern是正则表达式的编译表示形式,指定为字符串的正则表达式必须首先被编译为此类的实例。

然后,可将得到的模式用于创建java.util.regex.Matcher对象,依照正则表达式,该对象可以与任意字符序列匹配。

执行匹配所涉及的所有状态都驻留在匹配器中,所以多个匹配器可以共享同一模式。

最后可通过Matcher.matches()方法验证字符序列与所编译的正则表达式是否相匹配。

在JAVA中使用正则表达式查找字符串的典型调用语句是

booleanb=Patternpile(regEx).matcher(str).find()

其中regEx是需要编译的正则表达式,str为需要进行查找的文本或字符串,通过Matcher.matches()方法可以查找文本或字符串str中是否存在符合正则表达式规则regEx的字符串[27]。

2.4.2Lucene

Lucene是一个apache软件基金会jakarta项目组的一个子项目[28],Lucene是用Java写的全文检索引擎工具包,可以方便地嵌入到各种应用中实现针对应用的全文索引检索功能,Lucene有两个主要的服务,索引和检索,两者任务是相互独立的。

这使得开发人员可以根据需要对它们进行扩展。

Lucene提供了丰富的API,可以与存储在索引中的信息方便的交互[29]。

需要说明的是它并不是一个完整的全文检索应用,而是为应用程序提供索引和搜索功能。

即若想让Lucene真正起作用,还需在其基础上做一些必要的二次开发[30]。

Lucene的目的是为软件开发人员提供一个简单易用的工具包,以方便的在目标系统中实现全文检索的功能,或者是以此为基础建立起完整的全文检索引擎。

Lucene的原作者是DougCutting,他是一位资深全文索引检索专家,曾经是V-Twin搜索引擎的主要开发者,后在Excite担任高级系统架构设计师,目前从事于一些Internet底层架构的研究。

早先发布在作者自己的,后来发布在SourceForge,2001年年底成为apache软件基金会jakarta的一个子项目:

.bupt.page包中的类的描述如表5-1。

表5-1edu.bupt.page包类结构清单

类名

描述

Page

页面的参数类,记录页面的基本信息

PageUtil

页面对象生成类,用于生成Page对象

Result

页面返回结果封装类

●edu.bupt.service包

edn.bupt.service包中的类的描述如表5-2。

表5-2edu.bupt.service包类结构清单

类名

描述

BehaviorService

用户行为记录业务逻辑类,用于记录用户的行为

GiftInfoService

查看礼品详细信息业务逻辑类,用户查看礼品的详细信息

GiftSimilarityService

礼品相似度推荐业务逻辑类,用户礼品相似度推荐的业务逻辑实现

OccationService

节日场合推荐业务逻辑类,节日场合推荐的业务逻辑实现

PersonalService

收礼人描述推荐业务逻辑类,收礼人描述推荐的业务逻辑实现

RecipientService

收礼人信息推荐业务逻辑类,收礼人信息推荐的业务逻辑实现

SimilarityService

礼品关联度推荐业务逻辑类,礼品关联度推荐的业务逻辑实现

●edu.bupt.struts.action包

edn.bupt.struts.action包中的类的描述如表5-3。

表5-3edu.bupt.struts.action包类结构清单

类名

描述

BehaviorAction

用户行为记录控制类

GiftInfoAction

查看礼品详细信息控制类

GiftSimilarityAction

礼品相似度推荐控制类

OccationAction

节日场合推荐控制类

PersonalAction

收礼人描述推荐控制类

RecipientAction

收礼人信息推荐控制类

SimilarityAction

礼品关联度推荐控制类

SearchAction

礼品搜索控制类

UserAction

用户注册登录控制类,用于处理用户的注册和登录

●edu.bupt.vo包

edn.bupt.vo包中的类的描述如表5-4。

清单中只列出了POJO对象,每个POJO

对象都有一个对应的DAO对象,DAO对象不再赘述。

表5-4edu.bupt.vo包类结构清单

类名

描述

Age

年龄表对应的POJO类

Business

商家表对应的POJO类

Classes

礼品类别表对应的POJO类

Clickgift

用户行为表对应的POJO类

Gifts

礼品表对应的POJO类

GiftSimilarity

礼品相似度表对应的POJO类

Interest

兴趣爱好表对应的POJO类

Occation

节日场合表对应的POJO类

OccationGift

节日场合礼品表对应的POJO类

Recipients

收礼人信息表对应的POJO类

RecipientGift

收礼对象礼品表对应的POJO类

Relation

关系表对应的POJO类

Similarity

礼品关联度表对应的POJO类

Users

用户表对应的POJO表

●org.json包

由于org.json是第三方开源的包,故在此不再描述。

4.3小结

本章主要从系统整体功能和系统整体架构两方面对系统设计进行了阐述。

系统整体功能描述了系统整体模块图和系统推荐模块图。

系统整体模块图从系统整体方面对系统的功能模块进行划分和描述。

系统推荐模块图主要从推荐功能对系统的模块进行了划分和描述。

系统整体架构描述了系统整体架构设计图,系统整体架构设计图从系统架构和流程对系统进行了描述。

第五

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1