论文地址:http://www.thuir.cn/group/~mzhang/publications/SIGIR2020-ShiShaoyun.pdf
摘要:在这项工作中,提出了一种称为 Preference Hash (PreHash) 的新型用户偏好表示,用来表示行为少的用户的表达。在 PreHash 中,一系列的桶是根据用户的历史交互生成。具有相似偏好的用户会被自动分配到相同的存储桶中,包括行为多的用户和行为少的用户。只存储有限的参数,节省了大量内存,更高效的建模。此外,当新的交互出现时,他的桶和表示将是动态的更新,可以更有效地理解和建模用户。
介绍:
每个用户的个性化偏好特征向量是推荐系统的关键。 之前提出的大多数模型为每个用户生成一个偏好特征向量并存储它们,一起作为特征矩阵。 例如,矩阵分解 (MF)、基于协同过滤 (CF) 的方法通常代表每个用户作为特定向量 [16, 22, 23]。 最近的一些深度推荐模型还使用嵌入层将每个用户映射到一个偏好向量 [14, 25, 39](特征矩阵在嵌入中
层)。 他们中的大多数都取得了优异的成绩
然而,由于用户数量庞大,这些方法很难应用于现实世界的推荐系统。 不同的从研究中提出的CF模型来看,目前大部分深度大规模真实世界推荐系统中的神经模型是基于特征的模型,如谷歌提出的 Wide&Deep [5]和华为的 DeepFM [8]。 原因是存储这样的用户嵌入矩阵的参数太多,带来不可接受的内存成本并显着降低模型速度。 另一方面,总是有很少交互的用户(冷启动问题)。 冷用户的特征向量可能导致较差有效性,对于大多数算法,我们无法更新用户的除非重新训练整个模型
在以往的研究中,考虑到效率,一些模型,如作为 FISM [20] 和 AutoRec [33],将每个用户交互的一组项目表达为他的embedding。 例如sum。 但是在cold场景中,互动有限。为了解决这个问题,一些研究人员尝试利用一些辅助信息,例如内容特征 [34] 和社会信息 [18],以学习表示用户的。 然而,辅助信息并不总是可用的,并且不能完全显示他/她的个人喜好。 一些混合算法将内容特征与个性化用户向量相结合(通常存储在用户偏好矩阵中),而他们仍然有无法接受的内存和时间成本。
我们提出了一种称为偏好哈希(PreHash)的用户偏好表示方法来一起解决这两个问题。它不是一个独立的而是一个灵活的模块,可以代替模型中的user-embedding矩阵。PreHash 以一种新的方式学习用户的偏好向量,它具有两部分:历史部分和哈希部分。使用两部分数据代表用户偏好比使用特征矩阵更有效。历史部分使用attention网络查找用户历史交互中的与目标项目相关的item,然后形成用户历史偏好向量,它动态捕获用户不同方面的偏好。在哈希部分,有一些桶,每个桶都存储了相似用户的偏好。散列部分最重要的功能是对于每个输入用户,它试图找到一些行为多 + 与之有着相似行为 的相似用户
此外,PreHash 存储了一个小得多的偏好向量矩阵,而不是整个用户向量矩阵。 另外,通过用户交互过的历史item、相似用户来表达用户的embedding,所以可以在线更新(无需重新训练模型),这也显示了我们模型的效率