大家好,我是对白。
在科学研究中,从方法论上来讲,都应“先见森林,再见树木”。
当前,人工智能学术研究方兴未艾,技术迅猛发展,可谓万木争荣,日新月异。对于AI从业者来说,在广袤的知识森林中,系统梳理脉络,才能更好地把握趋势。为此,我们精选国内外优秀的综述文章,开辟“综述专栏”,敬请关注。
01. UPRec: User-Aware Pre-training for Recommender Systems [submitted to TKDE]
先前的推荐系统里的预训练模型都只是专注于利用用户行为序列里面的通用序列模式,但是他们忽视了使用用户的信息来捕获个性化的兴趣。
在这篇文章里作者提出一个用异构用户信息来增强预训练模型,叫做 User-aware Pre-training for Recommendation (UPRec). UPRec利用用户属性和结构化的社交图来构建预训练阶段的自监督目标函数并提出两个用户感知的预训练任务。
与NLP领域的预训练的区别:NLP里面的预训练专注于学习通用的语言知识,而推荐系统不仅应该利用通用的序列模式,而且应该捕获每个用户的个性化的兴趣。因此在预训练的时候利用用户信息还是很有必要的。
这里主要定义了三个目标函数:
- Masked Item Prediction
- User Attribute Prediction
其中 是数值型特征的集合, 是离散型特征的集合。
- Social Relation Detection
这里就是用的对比学习范式,目的是想让query用户的表示和其朋友的表示相似度接近,和负样本的表示原理。
UPRec包含两步,首先通过上面的L来预训练encoder,而在微调阶段使用预训练好的参数来初始化encoder的参数来进行下游任务。对于序列化推荐的任务,首先将序列里最后一个一个物品给masked掉并采用masked target的negative log-likelihood来优化模型。对于用户属性预测的任务,我们使用 [CLS] 的hidden vector来表示用户,然后对于数值型特征用回归的目标函数,对离散型特征用分类的目标函数(这里设置和预训练阶段一样)。
02. U-BERT: Pre-training User Representations for Improved Recommendation [AAAI 21]
用户表示通常是从行为数据(点击、评论内容)里面学习。
但是,对于不那么流行的域,行为数据不足以让模型充分地学习到精确的用户表示。
为了解决这个问题,一个自然的想法就是用内容丰富的域来补全用户表示。
受最近NLP领域的Bert的启发,我们提出了一个新颖的预训练和微调为基础的方法U-BERT。不同于BERT,U-BERT是专门为推荐系统定制的。
在预训练阶段,U-BERT专注于内容丰富的域并引进一个用户编码器和评论编码器来建模用户的行为。两个预训练策略也被提出来学习通用的用户表示;
在微调阶段,U-BERT专注于目标内容不丰富的域,出了预训练阶段的两个编码器,U-BERT进一步引入了物品编码器来建模物品表示。
此外,一个review co-matching layer也被提出去从用户和物品的评论里面学习语义更丰富的交互。最终,U-BERT结合用户表示,物品表示和评论交互信息去提高推荐系统性能。
Review Encoder就是用一个Bert来学习评论的表示
User Encoder的表示学习如下
这里就是先将ID embedding和domain embedding相结合,得到一个新的用户embedding,然后将其和学习到的评论的表示做ATTN操作,做后再融合到一起。
预训练阶段两个任务:
任务一:Masked Opinion Token Prediction
与BERT相比做的修改:1)当预测masked word的时候,除了句子内容的表示,我们还添加了用户的表示来学习用户本质上的评论偏好;2)我们选择观点类的单词掩掉而不是随机掩单词,因为观点类的单词是不同域的评论共用的。
任务二:Opinion Rating Prediction
这里使用融合了文本观点信息和通用的用户偏好信息来作为最终的用户embedding来预测评分。
预训练
微调U-BERT来进行评分预测任务
这里除了预训练阶段的两个encoder,还引入了Item Encoder.
Review Co-Matching Layer
通过理解用户u的评论,我们可以知道他关心的点。而通过理解物品i的评论我们可以知道这个物品所有方面的细节并且所有用户对于该物品的general comments.
因此我们可以估计用户u对物品i各个方面的关心程度通过衡量他们的评论语义相似度。受阅读理解里相关的工作启发,这里使用co-matching机制来收集相似信息。
上面这里是将彼此的评论对齐,接下来就是引进匹配层来捕获原来的表示和注意力之后的表示的语义相似程度。
最后使用row-wise的max-pooling来融合所有位置的匹配信息来得到对用户评论和物品评论的充分理解。
预测层和训练:
实验设置:
- Amazonproduct review datasets:选了十个域的数据集,前五个用来进行预训练,后五个进行微调
- Yelp:选择了AZ metropolitan区域的餐厅的评论进行预训练,剩下的区域的餐厅的评论进行微调任务。