情境感知推荐系统

2025年3月17日 | 阅读 12 分钟
Context-Awareness Recommender System

个性化推荐系统随着情境感知推荐系统的发展而进步,情境感知推荐系统利用情境数据来提高推荐的相关性和准确性。与主要关注用户偏好和物品质量的标准推荐系统相比,情境感知推荐系统会考虑可能极大地影响用户行为和偏好的额外情境因素。

情境数据,包括时间、地点、天气和社会环境,被纳入推荐过程,这是情境感知推荐系统的基本思想。考虑一下用户如何根据天气选择不同类型的餐厅,或者根据一天中的时间欣赏不同类型的音乐。系统理解和整合这些情境因素的能力使其能够生成更精确、更复杂的建议。

情境感知推荐系统的工作原理

情境感知推荐系统的独特之处在于其将情境信息纳入推荐过程,从而提高了建议的相关性和准确性。情境建模,即查找和收集影响用户偏好的相关情境数据,是情境感知推荐系统的基石。情境可以通过传感器和行为模式隐式推断,或者通过用户输入当前地点或时间直接提供。例如,可以从移动设备获取 GPS 信息,活动时间戳可以揭示一天中特定时间点的偏好。

用户画像是一个重要组成部分,其中用户画像是根据他们如何与产品互动而生成的,通常通过明确的评分或点击、浏览或购买等隐式行为。本质上,用户的画像是这些事物特征的集合,并由情境数据增强。例如,用户喜欢的音乐可能因一天中的时间或他们正在做的事情而有所不同——例如,是正在锻炼还是只是休息。

物品画像应用于目录中的每个物品,考虑其特征和任何情境意义。例如,一部电影可以按其类型、导演、演员和关键词进行分类。它还可以考虑人们喜欢观看特定类型电影的通常情境。系统使用多种算法来计算物品之间的相似度,包括欧氏距离、余弦相似度,以及更复杂的算法,如词嵌入和 TF-IDF。情境变量通过允许识别与用户当前情境相关的物品(而不仅仅是共享相似特征的物品)为相似度计算增加了深度。

最后,推荐生成利用相似度得分和情境相关性,生成最符合用户画像和当前情境的推荐。例如,一个电子商务网站可能会根据用户的过去浏览活动、一天中的时间以及当前位置提供产品推荐。通过将情境知识纳入推荐过程,这些系统可以改善用户体验,并在智能家居和电子商务等各种应用中提高用户参与度。

导入库

读取数据集

输出

Context-Awareness Recommender System
Context-Awareness Recommender System

缺失值

此阶段涉及定位并删除坐标(经纬度)为 NA 或 null 值的行。

输出

Context-Awareness Recommender System

预过滤

我们尝试使用 DBSCAN 聚类来消除噪声坐标并识别可能被视为旅游目的地的潜在地点。

我们必须确定 DBSCAN 聚类的最佳性能参数。因此,我们通过反复试验的方法获得 eps 和 min_pts/min_samples 的正确值。

输出

Context-Awareness Recommender System
Context-Awareness Recommender System

我们为数据选择 eps = 120 和 min_sample = 10。

输出

Context-Awareness Recommender System

聚类分析

下面的图以两种地理和非地理视角展示了所有聚类及其质心。DBSCAN 生成一系列图像聚类,表示为 ?={?1,?2,...,??}。此组中的每个成员都是符合 ??={???,???} 定义的旅游目的地。在质心地理坐标为 ??? 的位置 ?? 收集的所有图像的集合称为 ???。

输出

Context-Awareness Recommender System
Context-Awareness Recommender System

输出

Context-Awareness Recommender System
Context-Awareness Recommender System
Context-Awareness Recommender System
Context-Awareness Recommender System

位置画像

在此阶段,我们提取上一步与每个旅游目的地相关的属性。每个位置都包含诸如地理位置、用户 ID、访问时长以及访问情境等信息。重要的是要理解,当用户访问一个地点时,他们可能会拍摄该区域的许多照片。因此,如果同一用户在同一地点拍摄的两张照片之间的时间间隔短于访问时长标准(阈值),我们可以假设它们来自同一地点。否则,可以通过取时间戳的中位数来确定具有新情境的访问时间。

输出

Context-Awareness Recommender System

推荐模型

上下文因素被包含在加载的 POI 数据集中。假设数据集是位置画像数据帧(LPD)。只有访问过至少四个不同地点的访客才被选中包含在推荐模型中。接下来,将数据划分为测试集和训练集。

输出

Context-Awareness Recommender System

为了生成评分矩阵,我们必须确定每个用户访问特定地点的频率。最小-最大归一化技术还用于归一化评分。

输出

Context-Awareness Recommender System

输出

Context-Awareness Recommender System

现在让我们创建用户-用户相似度矩阵。

输出

Context-Awareness Recommender System

下面的矩阵显示了不同情境下来自各个地点的访问次数。

输出

Context-Awareness Recommender System

输出

Context-Awareness Recommender System

最终推荐

通过使用基于用户的协同过滤,可以根据用户相似度和旅游地点画像预测用户尚未评估过的目的地。使用后过滤技术,根据情境数据调整预测评分。

为了预测初始评分,我们采用基于用户的协同过滤。



让我们以一个访问了伦敦市内几个地点的用户的评分预测结果为例。一系列建议的地点将包括评分最高的十大地点。

输出

Context-Awareness Recommender System

输出

Context-Awareness Recommender System

求值

在最后一步,我们使用推荐系统中的常见评估指标 MAP 和 RMSE 来评估所提出的方法。


输出

Context-Awareness Recommender System

该系统能够理解各种情境条件,如地点、访问时间、白天/黑夜、季节以及访问时地点的天气条件。