第一章 绪论
1.1 研究背景和意义
随着互联网行业的日渐兴盛,人们从信息匮乏时代进入了信息过载[1]时代,信息过载问题不可避免地产生了,人们越来越感觉面对海量的信息不知从何下手。从用户的角度来说,怎样在以指数增长的信息量中迅速且精确地找到用户需要的信息是一个尤其重要且极具挑战的事情。
面对海量的信息,需要理解信息内容才能更好的匹配给用户,仅靠人力来理解这些信息变得越来越繁重,所以缓解信息超载难题的一个简单有效的方法就是推荐系统[2]。解决信息过载的另一种技术是搜索引擎[3],两者的区别在于推荐系统更倾向于用户是没有明确的目的的,或者说他们的目的是模糊的,直白的说,用户他们自己都不知道自己想要什么,这时候就是推荐系统的用武之地了。推荐系统是通过用户的历史行为、用户特征等信息构成用户的兴趣图谱,将符合用户偏好的信息等内容推送给用户,用户每次产生行为之后,更新用户的偏好模型,模型在使用过程中越来越贴合用户偏好,产生精确率高的推荐列表。
推荐系统经过多年的发展现在已经越发成熟。它改变了没有生机的网络以及其用户之间交流的方法。不需要根据用户的静态体验,就可以使用户进行搜索且有购买物品的概率。推荐系统增强了与用户之间的交流,为用户提供更优质的搜索结果。它依据用户以往的购买及搜索记录,并且考虑周围用户的行为记录,自动地为每个用户鉴别待推荐的项目。推荐系统已经被应用在很多领域了,例如Amazon,
Netflix 等大型的电子商务网站都有量身定造的推荐系统。
机器学习[4]算法的高效性及其对多样庞大数量的特征提取方式日渐完善,导致目前国内著名的公司如阿里和今日头条[5],都在积极利用机器学习算法来搭建推荐系统。单一的基于协同过滤的推荐算法或者基于规则甚至物理学的传统推荐方式已经不再受到人们的青睐。这个现象在进行信息资讯的推荐时特别明显,因为这类原始的推荐方法都会有严重的长尾问题及热度穿透问题,并且推荐效果上也远不及机器学习算法。
............................
1.2 国内外研究现状
信息资讯的推荐[6]现在已经成为新媒体研究中的热门。在互联网没有发展的时期,人们获取信息的渠道主要是从报纸、广播、电视等传统媒体,这类方式直接导致了推荐功能微乎及微;互联网处于发展的萌芽期时,信息资讯的推荐引起人们的重视并被应用在雅虎这类大型资讯网站中;眼下,大数据的热门使得个性化的推荐算法成为了互联网的主流。
当下,信息资讯推荐中使用最频繁的是协同过滤算法,该算法的优越性使其受到学者们的关注。Ha T[7]等人先将用户的评分项目构建用户评分项目网络,再进行评分预测。Wu X[8]等人和 Garcin F[9]等人都利用协同过滤思想来进行信息资讯的推荐,首先获取用户的兴趣偏好模型,将该用户偏好与其余用户的进行相似度对比,根据其余用户的评分情况对目标用户进行推荐。[10]在协同过滤的基础上结合了频繁队列计算预测评分,缓解了数据稀疏性,从而进行信息推荐。Lu Z 等人[11]将基于内容的推荐与协同过滤算法相结合,使用前者检查待推荐信息的上下文,使用后者预测长尾用户的偏好。
随着机器学习的盛行,除了以上使用传统的协同过滤算法的信息推荐以外,研究者们将机器学习中的算法应用到协同过滤中来。Ortega F[12]等人在协同过滤的基础上引用矩阵分解,使用基于 KNN 的协同过滤算法将用户组进行划分,实现分组的精准预测。Hsieh C K[13]等人将度量学习与协同过滤相联系,提出了协作度量学习,在计算用户之间的相似性时进行编码。Nilashi M[14]等人使用分类和回归树来提高传统的协同过滤算法的准确性,利用多标准评级来代替单个评级。以上各算法都以用户评分矩阵为基础,所以本文研究的是机器学习中可以模拟用户评分轨迹的隐马尔可夫模型。
............................
第二章 研究相关的基础知识介绍
2.1 推荐算法
2.1.1 传统协同过滤推荐算法
协同过滤推荐算法(Collaborative Filtering,CF)是最传统且使用最频繁的推荐算法,其原理是通过已有用户群体之前的行为记录和反馈推荐此刻的用户感兴趣的项目,该原理成立的先决条件是用户若在过去有相同的喜好,则他们在将来很有可能会有相似的喜好。以电商平台举例,若用户 1 和用户 2 曾经的购买历史重合度非常高,而用户 1 最近新买了一本图书,则此时系统就会把这本图书推荐给用户 2。因为推荐用户也许会感兴趣的图书是从大量备选集合中过滤出可能性最高的图书,并且是通过用户与周围用户之间的相互协作,所以这种算法被称为协同过滤。基于协同过滤推荐的系统在业界使用广泛,尤其是在电商系统中对用户需求进行个性化定制时,可以显著提升商品销售额。以科研的角度看,因为该算法问世已久,人们对于它的研究已经很多了,熟知它的性能、优点以及弊端。
基于用户的协同过滤算法(User-based Collaborative Filtering,UserCF)的原理是输入用户 ID 及提供其评分数据集,找到目标用户以往偏好相似的领居用户,若目标用户对项目 A 没有产生过行为,则通过其邻居用户对项目 A 的评分预测其对项目 A 的喜爱程度。如图 2.1 所示,用户 1 喜爱项目 1、项目 2、项目 3 及项目 4,用户 2 喜爱项目 2,用户 3 喜爱项目 2 和项目 3,那我们认为用户 1 和用户 3 的偏好相似,他们都喜爱项目 2 和项目 3,此时可以将用户 1 喜爱而用户3 不曾关注的项目 1 和项目 4 推荐给用户 3。这种算法成立有两个前提:第一,若用户以前的喜好相似,则他们未来的喜好也将相似;第二,用户的喜好与时间无关,不会随着时间而改变。
...........................
2.2 隐马尔可夫模型
2.2.1 马尔可夫模型简介
马尔可夫过程(Markov process)是一类随机过程[33]。其原始模型马尔可夫链[34],是俄国数学家马尔可夫在 1907 年发明的。马尔可夫过程在状态及时间都是离散的情况下就是马尔可夫链。该过程具有如下特性:在已知现在状态的前提下,它将来的演变与过去无关。在实际生活中,其实许多现象都是马尔可夫过程,例如微粒的运动、疾病被传染的人数、地铁的等车人数等,都可视为马尔可夫过程。一个马尔可夫过程意味着当中的所有状态的转移都仅依赖于之前的 个状态,故其被称为 1 个 阶的模型,其中 表示为转移状态的数量。最普遍的马尔可夫过程为一阶,每个状态的转移都仅依赖于它前一个的状态。
基于项目的协同过滤算法的简要步骤如下: Step1:通过收集用户历史行为记录,根据用户对已有项目的评分,建立用户-项目评分矩阵; Step2:根据用户-项目评分矩阵,计算目标项目与其余项目的相似度,得到目标项目的邻居项目; Step3:由目标用户对邻居项目的加权评分总和获得对目标项目的预测评分值,按预测评分值大小关系推荐给目标用户。
结合本文研究,通过分析发现该算法存在以下几点问题:
(1)用户产生过评分行为的项目相对于未评分过的项目比例较小,导致用户-项目评分矩阵过于稀疏。
(2)在计算项目之间的相似度时,过分依赖初始评分矩阵,导致相似度计算偏差,影响推荐质量。
(3)该算法在对用户进行个人偏好建模时,将用户过去的行为同等对待,却没有考虑到用户最近的行为对用户偏好的影响应该比很久之前的行为更加重要。
(4)基于项目的协同过滤算法是一个静态的算法,随着使用过程中评分数据量增多,计算复杂。
............................
第三章 基于二阶隐马尔可夫模型的改进协同过滤算法.................... 19
3.1 问题描述 ......................... 19
3.2 二阶隐马尔可夫模型 ............................. 20
3.3 算法描述 ......................... 21
第四章 融合评分轨迹的用户聚类算法.................................. 31
4.1 基于 K-Means 用户聚类的 CF-2HMM 算法 ...................... 31
4.2 融合评分轨迹的用户聚类算法(UCST) ........................ 33
第五章 信息资讯推荐原型系统设计与实现.............................. 42
5.1 系统需求分析 .............................. 42
5.2 系统架构设计 ......................... 43
第五章 信息资讯推荐原型系统设计与实现
5.1 系统需求分析
高校头条信息推荐系统需求按照角色的不同分为三部分:
(1)普通用户:普通用户指的是大学生们,占有用户群体的大比例,也是我们系统主要的服务对象。普通用户的需求是可以在我们系统中快速、有效的获得自己感兴趣的信息资源。可以对信息资源采取点击、评论、收藏等功能,同时可以与自媒体用户交流提问。
(2)自媒体用户:自媒体用户是构成系统的主要成员,也是使系统能够运行下去的主要提供者。自媒体用户可以在系统中发布自己专业领域的信息与见解,回答普通用户的提问,并且大部分的信息资讯可以通过自媒体在系统中发布,这可以增加系统中文章的创新性,自媒体用户的身份可以是与大学生群体相关的一些专业人士,可以是高校老师、学生会工作者、学者专家或者已毕业的知名校友等。
(3)管理员:管理员是维持系统的正常运行的工作者,主要负责用户的信息管理,个人资料审核以及信息分类等。
根据高校头条系统按照角色的不同,在前台展示子系统和后台管理子系统的功能作用如图 5.1 所示。
................................
6.1 本文总结
随着互联网的发展和数据的爆炸式增长,人们已经难以从海量的数据中找到自己需要的信息,传统的信息推送方式越来越难以满足用户的需要。针对这一问题,本文在现有的协同过滤算法的基础上,提出了基于二阶隐马尔可夫模型的改进协同过滤算法以及其经过聚类优化之后的算法。最后,根据本文提出的推荐算法设计并实现了一套为大学生群体服务的信息资讯推荐原型系统,使得本文研究的数据、算法有了实际应用。
本文的研究工作如下:
(1)提出了基于二阶隐马尔可夫模型的改进协同过滤算法(CF-2HMM)。针对现有的协同过滤算法中的数据稀疏性和过度依赖评分矩阵等问题,该算法利用二阶隐马尔可夫模型中状态之间转移的随机性来模拟用户的兴趣变迁,根据用户的评分轨迹,找到用户下一时刻评分概率最高的项目候选集,缓解了数据稀疏性;并将获得的概率与余弦相似度加权融合,提出了一种新的相似度计算方法,削弱了评分矩阵对相似度计算的影响。MovieLens 数据集上的实验表明,CF-2HMM 算法在准确率上比基于一阶隐马尔可夫模型的改进协同过滤算法(CF-HMM)提高了 4.7%,比经典的基于矩阵分解的协同过滤算法(SVD)提高了 6.2%,比传统的协同过滤算法(CF)提高了 8.9%;CF-2HMM 算法在 F1 指标上比 CF-HMM 算法提高了 5.9%,比 SVD 算法提高了 5.6%,比 CF 算法提高了 9.2%。
(2)提出了融合评分轨迹的用户聚类算法(UCST)。针对 CF-2HMM 算法中需要为单个用户训练模型参数而用户又不断累积所面临的可扩展问题,该算法通过融合用户的评分轨迹对用户进行聚类,优化了聚类样本的距离度量和初始簇中心选取,然后再使用 CF-2HMM 算法进行推荐,提升了推荐算法的可扩展性以及计算效率。MovieLens 数据集上的实验结果表明,经过聚类之后的 CF-2MHM算法比原有的 CF-2HMM 算法在运行时间上明显缩短,且综合考虑算法的准确性和运行效率之间的平衡,用户组的最优规模为 20。
(3)专为大学生群体而服务的信息资讯推荐系统的设计与实现。针对目前大学生难以快速而准确获取想要知道的信息资讯的问题,应用本文提出的推荐算法设计并实现了一套专为大学生群体而服务的信息资讯推荐系统,该系统充分迎合大学生的喜好与特性,提高了他们的阅读效率。同时,本章还分析了该系统的特点和体系结构,介绍了数据库中的设计以及系统的工作流程,并逐模块说明了设计的细节。
参考文献(略)