利用上下文信息推荐

上下文包括用户访问推荐系统的时间地点、心情等。

一、时间上下文信息

1.  时间效应简介

用户兴趣是变化的。因为用户自身原因发生的变化。如小时候、长大了;工作时间增加等。若要准确用户现在的兴趣,应更关注用户最近的行为。这样只针对渐变的用户兴趣,对突变的用户兴趣很难起作用

物品有生命周期。如电影,受上映时间影响,受新闻事件影响。需考虑物品在该时刻是否已过时。

季节效应。反映时间本身对用户兴趣的影响。节日本身也有季节效应。

2.  系统时间特性的分析

推荐系统变成了时变系统,用户的行为数据会变成时间序列。含时间信息的用户行为数据集由三元组(u,i,t)构成,表示用户u在时刻t对物品i产生过行为。

1)物品的生存周期和系统的时效性

   如新闻网站中新闻的生存周期较短。可用如下指标度量物品的生存周期。

   (1)物品平均在线天数:和物品的流行度成正比。若用户经常查询该物品,则有较长的生存周期。

   (2)相隔T天系统物品流行度向量的平均相似度。去系统中相邻T天的两天,计算两天的物品流行度,得到两个流行度向量。计算这两个向量的相似度,若相似性大,说明系统的时效性不强,物品的平均在线时间较长。所有数据集中相似度都随T的增加而下降,但下降速率是不同的。

3.  推荐系统的实时性

用户兴趣的变化体现在用户不断增加的新行为中。亚马逊并非每几十秒刷新随机展示推荐列表,只在有了新显性行为时,推荐列表才发生变化。

4.  推荐算法的时间多样性

推荐系统每天推荐结果的变化程度为推荐算法的时间多样性。主要的问题是如何在不损失精度的情况下提高推荐结果的时间多样性。

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

对于2),有以下三种解决思路:在生成推荐结果时加入一定的随机性,如从推荐列表前20个结果中随机挑选10个结果展示给用户,或按推荐物品的权重采样10个结果展示给用户;记录用户每天看到的推荐结果,然后在每天给用户进行推荐时,对他前几天看到过很多次的推荐结果进行适当的降权;每天给用户使用不同的推荐算法。

推荐系统需首先保证推荐的精度,在此基础上适当考虑时间多样性

5.  时间上下文推荐算法

1)最近最热门

2)时间上下文相关的ItemCF算法

对于物品相似度,用户在相隔很短时间内喜欢的物品有更高的相似度。对于在线推荐,家中用户近期行为的权重,优先给用户推荐那些和他近期喜欢的物品相似的物品。

3)时间上下文相关的UserCF算法

若两个用户同时喜欢相同的物品,则用户应有更大的兴趣相似度。给用户推荐和他兴趣相似的用户最近喜欢的物品。

6.  时间段图模型

将时间信息建模到图模型中


二、地点上下文信息

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

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

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

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



猜你喜欢

转载自blog.csdn.net/u011630575/article/details/80261314