Collaborative filtering is the de facto standard for analyzing users' activities and building recommendation systems for items. In this work we develop Sliced Anti-symmetric Decomposition (SAD), a new model for collaborative filtering based on implicit feedback. In contrast to traditional techniques where a latent representation of users (user vectors) and items (item vectors) are estimated, SAD introduces one additional latent vector to each item, using a novel three-way tensor view of user-item interactions. This new vector extends user-item preferences calculated by standard dot products to general inner products, producing interactions between items when evaluating their relative preferences. SAD reduces to state-of-the-art (SOTA) collaborative filtering models when the vector collapses to 1, while in this paper we allow its value to be estimated from data. Allowing the values of the new item vector to be different from 1 has profound implications. It suggests users may have nonlinear mental models when evaluating items, allowing the existence of cycles in pairwise comparisons. We demonstrate the efficiency of SAD in both simulated and real world datasets containing over 1M user-item interactions. By comparing with seven SOTA collaborative filtering models with implicit feedbacks, SAD produces the most consistent personalized preferences, in the meanwhile maintaining top-level of accuracy in personalized recommendations. We release the model and inference algorithms in a Python library https://github.com/apple/ml-sad.
翻译:协同过滤是分析用户行为并构建物品推荐系统的事实标准。本文提出了切片反对称分解(SAD)——一种基于隐式反馈的协同过滤新模型。与传统方法中估计用户潜在表示(用户向量)和物品潜在表示(物品向量)不同,SAD为每个物品引入了一个额外的潜在向量,采用新颖的三维张量视角来刻画用户-物品交互。这个新向量将标准点积计算的用户-物品偏好扩展为广义内积,在评估物品相对偏好时产生物品间的交互作用。当该额外向量退化为1时,SAD简化为最先进的协同过滤模型;然而本文允许其值从数据中估计。允许新物品向量取值不为1具有深远意义:它表明用户评估物品时可能存在非线性心理模型,允许成对比较中出现循环偏好。我们在包含超过100万条用户-物品交互的模拟数据集和真实数据集上验证了SAD的效率。通过与七种基于隐式反馈的最先进协同过滤模型比较,SAD在保持个性化推荐顶级精度的同时,生成了最一致的个性化偏好。我们将模型及推理算法开源在Python库中:https://github.com/apple/ml-sad。