UNBERT论文阅读笔记
UNBERT: User-News Matching BERT for News Recommendation论文阅读笔记
Abstract
现存的问题:
现有的推荐方法仅仅是从原始新闻数据中学习文本表示,这限制了它们对冷启动场景中常见的新新闻的泛化能力。同时,这些方法中有许多通过将历史浏览的新闻聚合为一个向量,然后计算与候选新闻向量的匹配得分,这可能会丢失底层的匹配信号。
解决方案
在本文中,提出了一种基于BERT的用户-新闻匹配模型,称为UNBERT。与现有的研究相比,我们的UNBERT模型不仅利用具有丰富语言知识的预训练模型来增强文本表示,而且还在单词级和新闻级捕获多粒度的用户新闻匹配信号。
Introduction
新闻推荐的质量在很大程度上取决于对新闻文章中丰富的文本内容的理解。如何精确匹配用户的兴趣和候选新闻是新闻推荐的另一个关键因素。在本文中,我们提出了一种新闻推荐的用户新闻匹配BERT(即UNBERT)模型,该模型不仅利用了强大的预训练BERT模型,还在新闻级和单词级捕获用户新闻匹配信号。我们的工作贡献总结如下:
- 据我们所知,UNBERT是第一个引入预先训练过的BERT的工作,以捕获新闻推荐的用户新闻匹配信号,充分利用域外知识。
- UNBERT提出了直接用浏览新闻的原始文本表示用户的思想,并在单词级和新闻级学习用户新闻匹配表示,通过两个匹配模块捕获多粒度的用户新闻匹配信号。
Method
在本节中,我们首先阐述了新闻推荐的问题,然后详细阐述了我们的UNBERT,包括输入和输出以及模型架构。
UNBERT的框架如下:
UNBERT的输入表示如下:
模型的整体架构分为三个模型,包括嵌入层、单词级模块、新闻级模块和单击预测器。
嵌入层
对于给定的输入令牌,生成相应的嵌入,包括令牌、段、位置和新闻段,并通过对这些嵌入的累加来构造输入表示。这种结构的可视化情况如图2所示。
通过随机屏蔽每个序列中所有词片标记的 15%,并预测屏蔽词,使用屏蔽 LM 对标记、词段和位置嵌入进行预训练。新闻分段嵌入是随机初始化的,并在微调任务中进一步更新。UNBERT 中的最终输入标记表示 Et 是由其相应的标记、词片段、位置和新闻片段嵌入相加而成的:
\(E_t=E_{token}+E_{seg}+E_{pos}+E_{nseg}\)
单词级模块
字级模块(WLM)迭代应用多个变换层(TL)计算每个字的隐藏表示,并同时在字级传播匹配信号。每个TL包含两个子层:一个多头自注意子层和一个位置级前馈网络
多头注意力子层和位置级前馈网络就不多解释了
新闻级别模块
我们将WLM中每个新闻的隐藏表示聚合到新闻表示,然后实现其他多个变压器层,在新闻级模块(NLM)中捕获新闻级匹配信号。
将从 WLM 中得到的第 i 个单词的隐藏表示记为 wi,nj 是由其单词序列 Sj(其中 i ∈ Sj)聚合而成的第 j 个新闻表示。在此,我们使用以下三种聚合器从单词表示 wi 中获得新闻表示 nj:
- NESP聚合:直接使用特殊令牌[NSEP]来表示新闻,由于该令牌对应的最终隐藏状态被设计为表示令牌序列
- 平均聚合:平均取单词“直接嵌入”,形成新闻嵌入
- 注意力聚合:使用一个注意力网络来进行聚合
\(f=\tanh\left(wW_h+b_h\right)W_o+b_o\\n_j=\sum_{i\in S_j}f_iw_i/\sum_{i\in S_j}f_i\)
然后,我们堆叠与WLM相同的转换器层,以收集从这些新闻嵌入中传播的信息,并探索NLM中的新闻级匹配表示
点击预测
点击预测模块用于预测用户点击候选新闻的概率。我们将单词级匹配表示向量 ew 和新闻级匹配表示向量 en 分别表示为多粒度匹配表示向量,然后再应用全连接层:
\(y=\text{softmax}([e_w;e_n]W^c+b^c)\)
总结
整理一下,这篇文章的整体思路还是比较简单的。首先是先把不同的输入令牌累加起来构造输入表示,这里是把候选新闻和用户交互过的新闻标题统统连接在一起,然后过一层Transformer获取词嵌入以及CLS的词级嵌入,然后进行聚合获取新闻嵌入,之后再过一层Transformer获取CLS的新闻级嵌入,最后将两个CLS的嵌入结合起来用于预测感兴趣的概率。



浙公网安备 33010602011771号