APP下载

主题网站推荐系统概要设计

2017-05-30王子安

科技尚品 2017年2期
关键词:个性化推荐

王子安

摘 要:本文探讨当一个主题网站积累了足够多的用户数据量时。结合基于用户和物品的协同过滤算法,对网站信息进行筛选,准确的推荐给用户感兴趣的内容。

关键词:个性化推荐;推荐引擎;热度推荐;协同算法

1 前言

随着信息技术和互联网的发展。人们逐渐从信息匮乏走到了信息泛滥的时代。在这个时代,无论是信息消费者还是信息生产者都遇到了很大的挑战。推荐系统联系用户和信息,一方面帮助用户发现对自己有价值的信息,一方面能够让信息自动展现在对它有兴趣的用户面前,从而实现信息消费者和信息生产者双赢。

2 推荐系统概要

2.1 推荐系统和其他系统的关系

推荐系统要发挥强大的作用,除了推荐系统本身,主要还依赖于两个条件——界面展示和用户行为数据。好的推荐界面共性有:通过一定方式展示物品,主要包括物品的标题、缩略图和介绍等。很多推荐界面都提供了推荐理由,理由可以增加用户对推荐结果的信任度。推荐界面还需要提供一些按钮让用户对推荐结果进行反馈,这样才能让推荐算法不断改善用户的个性化推荐体验。

2.2 推荐系统基本架构

设置引擎的好处:

(1)可以方便的应用于其他系统

(2)可以方便地增加/删除引擎,控制不同引擎对推荐结果的影响。对于绝大多数需求,只需要通过不同的引擎组合实现。

(3)可以实现推荐引擎级别的用户反馈。每一个推荐引擎其实代表了一种推荐策略,而不同的用户可能喜欢不同的推荐策略。

3 算法说明

个性化推荐算法选择:

协同过滤系统分为基于用户(user)和基于物品(item)两种。基于用户的算法主要是依据寻找和该用户近似的用户,通过近似用户的兴趣爱好进行推荐。基于物品的算法主要是寻找到近似的物品进行推荐。

基于用户的协同过滤算法特点是,推荐内容的种类会比较丰富,缺点是多数为热门物品,长尾物品可能不会出现在推荐内容中,另外就是用户过少的前提下会失去精准度。基于物品的协同过滤算法特点是,推荐的内容种类会比较单一,但不会漏掉长尾物品。所以,这点上来看,这两种算法从一定程度上是互补的。

根据统计,使用用户协同算法和使用物品协同算法从最终结果上来看,会有50%的一致性,另外50%可能是毫不相干的。

基于主题网站的情况,选择用户协同算法较为合适,就目前情况而言,可以使用用户和物品协同过滤的混搭。

3.1 基于用户的算法

(1)寻找近似用户

把目标用户和数据库的用户进行比较,找出和目标用户最近似的N个用户。实际操作过程中,我们会发现,当用户数量级较大的时候,计算时间会非常长。但实际情况是,数据库的大部分用户可能是没有交集的,所以没必要计算所有用户,只计算和目标用户有交集的用户。

(2)选取有交集的用户

我们可以通过有过相同行为(例如关注过同一个话题)的用户来进行筛选。这里筛选的条件需要推敲,筛选条件太简单还是会造成运算量太大,筛选条件太过严格会使得目标用户得到推荐的门槛变得较高。所以,推荐以下方式进行筛选,条件间为逻辑或关系,即满足其一即可:

优先级说明:优先级表示优先判断的条件,如果满足,无需判断条件2,如果不满足,继续判断条件2。条件不宜过多,会导致初筛运算量巨大。条件亦不宜过少,过少会导致初筛力度不够,后期运算量巨大。

(3)计算用户相似度

用户相似度计算方法一般采用余弦或者杰卡德,这边推荐使用杰卡德(jaccard)算法,因为根据用户行为的那些量并不是特别好余弦化,而且两者结果很接近。杰卡德算法一般应用于网页去重,过滤相似度很高的新闻,算法也比较好理解,就是两个集合的交集除以两个集合的并集,所得结果就是两个集合的相似度,数学表达式就是:|S ∩ T|/|S ∪ T|(相似度集合见“用户偏好”)。这里算出用户相似度后,要从高到低排序,并且设定一个阀值。例如,我们将阀值设定为5,那么就是按相似度由高到低排序取前5名用户作为最相似的5个用户,并且列出相似度值,如下图“表1”所示:

(4)推荐好友、话题、文章

首先对于推荐的用户、话题、文章都要设置上限,假设用户设定为3、话题设定为5、文章设定为5。

①推荐好友

根据“表1”,由高到低的顺序,依次推荐用户1~用户3。

②推荐话题、文章

我们假设有如下数据:

那么话题推荐度的算法如下,

话题1推荐度 = 用户1相似度 + 用户3相似度 = 0.7+ 0.6 = 1.3。

话题2推荐度 = 用户1相似度 + 用户2相似度 + 用户4相似度 + 用户5相似度 = 2.42。

以此类推得到,话题3推荐度是0.7,话题4推荐度是1.3,话题5推荐度是0.65,话题6推荐度是1.07,话题7推荐度是0.57。由高到低排序依次选取5个,分别是话题2、话题1、话题4、话题6和话题3。如下:

话题 推荐度

话题2 2.42

话题1 1.3

话题4 1.3

话题6 1.07

话题3 0.7

3.2 基于物品的算法

一些准备工作同基于用戶的算法,这里不再重复。

计算物品相似度公式说明:

果变的不准确。这样的话,可以修改公式为,惩罚物品j的权重。相似度值肯定小于等于1。

3.3 两者结合的算法

根据统计,使用用户协同算法和使用物品协同算法从最终结果上来看,会有50%的一致性,另外50%可能是毫不相干的。这里可以使用2种算法結果的并集,并且将交集作为重点推荐。

例如,基于用户的推荐列表为 a,b,c,d,e,f

基于物品的推荐列表为,a,x,y,b,f,z

重点推荐:a,b,f

推荐:c,d,e,x,y,z

参考文献

[1]项亮.推荐系统实践[M].人民邮电出版社,2012.

[2](奥地利)詹尼士.推荐系统[M].人民邮电出版社,2013.

(作者单位:贵阳市第一中学)

猜你喜欢

个性化推荐
基于用户相似度加权的Slope One算法
基于远程教育的个性化知识服务研究
基于链式存储结构的协同过滤推荐算法设计与实现
个性化推荐系统关键算法探讨
基于协同过滤算法的个性化图书推荐系统研究
文本数据挖掘在电子商务网站个性化推荐中的应用
国内外错题管理研究综述
一种基于协同过滤技术的个性化移动学习资源推荐策略
基于协同过滤算法在图书馆学的应用
社会化标签系统中基于本体的个性化推荐方法研究