读书笔记《推荐系统实战》| 利用上下文信息

《推荐系统实战》这本书的下载地址:《推荐系统实战》

第一章 好的推荐系统
第二章 利用用户行为数据
第三章 推荐系统冷启动问题
第四章 利用用户标签数据
第五章 利用上下文信息
第六章 利用社交网络数据
第七章 推荐系统
第八章 评分预测问题

无论是基于用户动作行为数据还是用户标签行为数据,都忽略了一个很重要的内容:用户当时所处的上下文。用户访问系统所处的时间、地点、心情等,对推荐结果影响很大。心情的获取,可以让用户登录系统的时候,让其选择,根据选择的心情为其进行推荐。本章主要考虑时间和地点上下文。

5.1 时间上下文信息

时间信息对用户兴趣的影响:用户兴趣是变化的(年龄段、职业等);物品也是有生命周期的(电影,新闻等);季节效应(夏天更爱吃冰淇淋,冬天吃火锅)。

系统的时间特性:在给定时间信息后,推荐系统从一个静态系统变成了一个时变的系统,而用户行为数据也变为时间序列。在给定一个系统的数据集后,可以通过统计一下信息研究系统的时间特性:数据集每天独立用户数的增长情况(确定系统的增长情况);系统的物品变化情况(确定物品的生命周期);用户访问情况(同一用户是否经常访问该网站);

度量物品的生命周期:物品平均在线天数(如果一个商品在一天内,被一个用户动作过,就算当天在线);相隔T天后物品流行度向量的平均相似度。

推荐系统的实时性:要求每个用户在访问系统时,都根据用户在这个时间点前的行为实时计算推荐列表;推荐算法需要平衡用户的近期行为和长期行为,即要让推荐列表反应出用户近期行为所体现的兴趣变化,又不能让推荐列表完全受用户近期行为的影响,要保证推荐列表对用户兴趣预测的延续性;

提高推荐结果的时间多样性需要分两步解决:首先,需要保证推荐系统能够在用户有了新的行为后及时调整推荐结果,使推荐结果满足用户最近的兴趣;其次,需要保证推荐系统在用户没有新的行为时也能够经常变化一下结果,具有一定的时间多样性。

时间上下文推荐算法—最近最热门:在获得用户行为的时间信息后,最简单的非个性化推荐算法就是给用户推荐最近最热门的物品。给定时间T,物品i最近的流行度Ni(t)=1 /(1+alpha(T-t))累加。其中t表示训练集中物品i被动作的时间,alpha是时间衰减参数。

时间上下文推荐算法—ItemCF和UserCF: 在之前的CF算法基础上,加上时间因素,具体公式看书去。

时间上下文推荐算法—时间段图模型:该模型定义了边的权重。

5.2 地点上下文信息

与地点相关的数据分为三种:(用户,用户位置,物品,评分);(用户,物品,物品位置,评分);(用户,用户位置,物品,物品位置,评分)。

基于只有用户位置信息的数据进行推荐:金字塔模型。位置信息是一个树状结构,从上到下可以为国家、省、市、县等。到了叶子节点,就是与目标用户u在同一个位置的用户。第一种做法就是根据叶子节点的用户进行ItemCF为目标用户进行推荐。但是这种方法会导致每一个用户的数据比较稀疏。第二种方法就是从根节点开始到目标用户u所在的叶子节点,每到一个节点就生成一个推荐列表,最后将所有列表加权。

对只有物品位置信息的数据进行推荐:先忽略商品的位置信息,通过ItemCF的方法计算用户u对商品i的分数,然后最位置做出惩罚。惩罚项就是:用户u历史评价过的商品距离商品i的位置的平均值(或者最小值)。让Pu(u,i)-Penalty(i)作为最后的分数。这里的位置不是欧式距离,而是经纬度距离,或者利用交通信息得到的实际路程。

对同时具有物品位置信息和用户位置信息的数据进行推荐:可以先忽略用户的位置信息,按照第二种方法进行推荐,然后给用户推荐距离其位置最近的物品。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值