论文部分内容阅读
摘 要:本文探讨当一个主题网站积累了足够多的用户数据量时。结合基于用户和物品的协同过滤算法,对网站信息进行筛选,准确的推荐给用户感兴趣的内容。
关键词:个性化推荐;推荐引擎;热度推荐;协同算法
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.
(作者单位:贵阳市第一中学)
关键词:个性化推荐;推荐引擎;热度推荐;协同算法
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.
(作者单位:贵阳市第一中学)