Improving News Recommendation via Bottlenecked Multi-task Pre-training论文阅读笔记

Improving News Recommendation via Bottlenecked Multi-task Pre-training论文阅读笔记

Abstract

现存的问题:

​ 现有的 PLM 大多是在大规模通用语料库上预先训练的,并没有专门用于捕捉新闻文章中的丰富信息。因此,它们生成的新闻嵌入信息可能不足以表示新闻内容或描述新闻之间的关系。

提出方法:

为 了解决这个问题,我们提出了一种瓶颈多任务预训练方法,它依赖于信息瓶颈编码器-解码器架构,将有用的语义信息压缩到新闻嵌入中。具体来说,我们设计了三个预训练任务,以强制新闻嵌入恢复自身的新闻内容、频繁出现的相邻新闻以及主题相似的新闻。

Introduction

​ 尽管取得了成功,但基于 PLM 的新闻推荐模型仍存在两大缺陷,会影响其性能。首先,现有的 PLM 大多是在一般语料库(如维基百科)上预先训练的。这种预训练数据与新闻文章不同,后者通常包含丰富的实体(如国家和名人姓名)和最新内容。因此,现有 PLM 的输出表示可能无法完全捕捉和理解新闻文章中的上述基本信息,尽管它们在新闻中发挥着吸引用户的关键作用。其次,这些 PLM 大多采用掩码语言模型(MLM)任务作为预训练任务,其重点是根据上下文标记恢复掩码标记(而非[CLS]标记)。这样,常用的新闻嵌入(即[CLS] 标记的表示)可能无法很好地训练来表示新闻文章中的有用信息。因此,以往的研究表明,这些 PLM 需要大量的训练数据才能适应下游的检索任务。因此,有必要专门针对新闻推荐任务设计更有效的预训练方法。

​ 为了解决这些问题,我们考虑对现有的新闻文章 PLM 进行持续的预训练,并为新闻推荐任务设计特定的预训练任务。为了有效地完成这项任务,PLM 输出的新闻嵌入应该能够很好地表现新闻文章本身,并集中表现出对推荐有用的特征和关系。

​ 在此,我们考虑了新闻之间的两个重要关系,即共同出现和主题相似性(这个与WG4Rec的观点好像),因为与用户历史互动新闻频繁共同出现或主题相似的新闻通常是用户首选的新闻。在此基础上,我们设计了三个预训练目标,依靠 PLM 输出的新闻嵌入来恢复自身、其频繁共现和主题相似的新闻文章。受瓶颈掩码自动编码器方法的启发,我们将三个目标统一为类似的格式,并设计了三个预训练任务,即掩码新闻恢复、掩码共现新闻恢复和掩码主题相似新闻恢复

​ 在这项工作中,我们提出了一种瓶颈多任务预训练方法,用于持续预训练 PLM 骨干,以改进基于 PLM 的新闻推荐模型。在我们的方法中,我们采用了瓶颈编码器-解码器架构进行预训练,其中编码器是 PLM,解码器是三个浅层变换器。给定一篇新闻文章,我们首先通过基于 PLM 的编码器获得其新闻嵌入,然后从新闻文章、其频繁出现的邻近文章和话题相似的文章中积极地屏蔽标记(例如屏蔽 50%),并利用新闻嵌入分别在三个 Transformer 中进行恢复。这样,我们就构建了三个信息瓶颈,强制编码器(即 PLM)将新闻中的有用信息压缩到新闻嵌入中。经过预训练后,新闻嵌入就能高效地适应新闻推荐任务。

​ 请注意,我们的方法只改进了 PLM 的训练,与新闻推荐模型的架构无关。因此,它适用于各种基于 PLM 的新闻推荐方法。

Method

​ 我们的目标是专门针对新闻推荐任务提出一个多任务预训练框架,以迫使 PLM 学习将更多有用信息压缩到新闻嵌入中,并利用这些嵌入生成用户嵌入和估计用户新闻偏好。在我们的方法中,我们采用了瓶颈编码器-解码器架构,该架构由作为编码器的 PLM 和多个浅层解码器组成。在此基础上,我们设计了三个预训练任务,以增强 PLM 编码器产生的新闻嵌入效果。图 1 显示了我们的方法概览。

pk5cojO.png

瓶颈式编码器-解码器架构

​ 为了将有用的特定任务信息压缩到 PLM 输出的新闻嵌入中,我们借鉴了 Masked AutoEncoder ,它采用了瓶颈编码器-解码器结构。编码器是对新闻标题和摘要进行编码并输出新闻嵌入的 PLM。在我们的方法中,我们采用了三个解码器来完成三个不同的预训练任务。每个解码器都是浅层Transformer,利用编码器的新闻嵌入和特殊掩码文本作为输入。然后,这些解码器将依靠新闻嵌入的语义信息来恢复掩码文本。这种方式可以构建一个信息瓶颈,有效地将有用信息注入新闻嵌入。

​ 具体来说,我们使用流行的 PLM BERT作为编码器,也可以用其他 PLM 代替。给定新闻文章的标题和摘要𝑣,编码器将对其进行编码,并在最后一层输出 [CLS] 表示作为新闻嵌入。为了将 BERT 应用到新闻数据中,我们沿用了现有的工作方法 ,采用掩码语言模型任务来训练编码器。形式上,标题和摘要串联后一定比例的标记将被屏蔽,得到\(\tilde{v}\),编码器需要将其恢复为:

\(L_{MLM}=\sum_{w_i\in W_{\tilde{v}}}-\log p(w_i|\tilde{v};\theta_E)\)

​ 其中\(W_{\tilde{v}}\)表示掩码的token,\(\theta_E\)表示编码器的参数。 我们的三个浅层解码器基于相同的单层变换器架构,彼此不共享参数。给定解码器的输入,我们还屏蔽了其中包含的部分标记,并将新闻嵌入输入解码器(即替换原始 [CLS] 嵌入),以帮助恢复这些标记。为了提高编码器新闻嵌入的信息量,我们对解码器的输入进行了积极的屏蔽(屏蔽率为 50%)。这样,新闻嵌入必须尽可能多地保留有用信息。

多任务训练

​ 基于上述瓶颈结构,我们设计了三个预训练任务来增强新闻嵌入的特定任务知识,即掩码新闻恢复、掩码共现新闻恢复和掩码主题相似新闻恢复。这三个任务分别在三个解码器上执行,并且都依赖于编码器的新闻嵌入作为输入。

掩码新闻恢复

​ 鉴于新闻的标题和摘要𝑣,掩码新闻恢复任务(MNR)的重点是从新闻本身捕捉更多的语义信息到新闻嵌入中。因此,我们积极屏蔽𝑣中的标记,得到不完整的输入\(\tilde{v}_{MN}\),并利用编码器\(𝒉_{\tilde{v}}\)中的新闻嵌入在解码器中进行恢复。这样,新闻嵌入将被强制存储新闻本身的更多语义信息,以帮助恢复被掩盖的标记。形式上,这项任务的预训练损失定义为:

\(L_{MNR}=\sum_{w_i\in W_{MN}}-\log p(w_i|\tilde{v}_{MN},\boldsymbol{h}_{\tilde{\boldsymbol{v}}};\theta_E,\theta_{MN})\)

​ 其中\(\theta_{MN}\)是MNR任务中解码器的参数,\(W_{MN}\)表示\(\tilde{v}_{MN}\)中掩码的tokens

掩码共现新闻恢复

​ 掩码共现新闻恢复任务(MCR)旨在描述频繁共现新闻之间的关系,因为共现新闻可以很好地反映用户对两篇不同新闻的潜在偏好。为此,我们首先通过计算训练数据中所有新闻对之间的共现频率来构建一个矩阵。然后,对于每条新闻,我们选取其共现频率最高的新闻组成共现新闻集V𝑐𝑜。在预训练过程中,给定新闻 𝑣,我们从V𝑐𝑜 中随机抽取一篇新闻,并对其标题和摘要的串联进行积极屏蔽,以获得\(\tilde{v}_{MC}\)。与 MNR 任务类似,我们也利用编码器中的新闻嵌入\(𝒉_{\tilde{v}}\)来恢复解码器中的屏蔽token,训练损失记为:

\(L_{MCR}=\sum_{w_i\in W_{MC}}-\log p(w_i|\tilde{v}_{MC},\boldsymbol{h}_{\tilde{v}};\theta_E,\theta_{MN})\)

​ 其中\(\theta_{MC}\)是MCR任务中解码器的参数,\(W_{MC}\)表示表示采样新闻中的掩码token

掩码主题相似新闻恢复

​ 通常,新闻文章可分为多个主题(如政治),这也是描述用户偏好的重要特征。一般来说,用户可能更喜欢阅读与自己感兴趣的话题相关的新闻。因此,我们设计了掩码主题相似新闻恢复任务(MTR)来捕捉这种关系。在这里,由于主题信息可以通过新闻文章中的实体反映出来,我们依靠一个简单的指标,即两篇新闻中被提及实体的重叠率来估计它们的主题相似性。具体来说,我们计算所有新闻中的实体重叠率,并选取排名靠前的𝑘 条新闻组成每条新闻的主题相似新闻集 V𝑡𝑠。在预训练中,我们还从 V𝑡𝑠 中随机抽样新闻,并对其标题和摘要进行积极的掩码处理,从而得到\(\tilde{v}_{MT}\) 。我们还利用新闻嵌入\(𝒉_{\tilde{v}}\),在解码器中恢复被掩码的标记:

\(L_{MTR}=\sum_{w_i\in W_{MT}}-\log p(w_i|\tilde{v}_{MT},\boldsymbol{h}_{\tilde{v}};\theta_E,\theta_{MT})\)

​ 其中\(W_{MT}\)\(\theta_{MT}\)分别表示掩码token和 MTR 任务的解码器参数

总结

​ 整体来说这篇文章描述的还是比较清晰的,看模型图就可以看明白大部分,这里贴一下原文的conclusion

​ 在本文中,我们提出了一种瓶颈多任务预训练方法来改进新闻推荐模型。我们采用了一种瓶颈编码器-解码器架构,并设计了三个预训练任务来增强新闻嵌入,以捕捉新闻中的语义信息、频繁共现新闻之间的关系以及主题相似新闻的知识。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/744008.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

uniapp 微信小程序阻止返回上一页

第一种:wx.enableAlertBeforeUnload在开发者工具中预览效果 微信小程序官网:点我onShow(() => {wx.enableAlertBeforeUnload({message: "返回上页时弹出对话框",success: function (res) {console.log("方法注册成功:", res);},fail: function (errM…

基于NXP i.MX 6ULL核心板的物联网模块开发案例(1)

目录 前 言 1 SDIO WIFI模块测试 1.1 STA模式测试 1.2 AP模式测试 1.3 SDIO WIFI驱动编译 前言 本文主要介绍基于创龙科技TLIMX6U-EVM评估板的物联网模块开发案例,适用开发环境: Windows开发环境:Windows 7 64bit、Windows 10 64bit 虚拟机:VMware15.1.0 Linux开发环境:Ub…

T113-i最新发布Tina5.0系统!支持3大新特性!

创龙科技全志T113-i双核Cortex-A7@1.2GHz全国产工业核心板(含税79元)一经面世,就以超高性价比受到全行业关注。而创龙科技再次为T113-i处理器平台进行软件系统完善,正式适配Tina5.0系统,大大满足了全志T113-i用户的不同场景需求,让工业应用更简单。 Tina5.0系统说明 Tina…

一文教你在华为云上部署Discuz论坛网站

在KooLabs云实验平台搭建Discuz论坛网站,Discuz基础架构采用流行的 Web 编程组合PHP+MySQL实现。本文分享自华为云社区《华为云之在Linux系统下部署Discuz 论坛网站【玩转华为云】》,作者:江湖有缘。 一、本次实践介绍 1.1 实践环境简介 1.本次实践环境使用华为KooLabs云实验…

6. 打印日志信息

6. 打印日志信息 在CMake中可以用用户显示一条消息,该命令的名字为message: message([STATUS|WARNING|AUTHOR_WARNING|FATAL_ERROR|SEND_ERROR] "message to display" ...)(无):重要信息 STATUS:非重要信息 WARNING:CMake 警告,会继续执行 AUTHOR_WARNING:CMa…

5. 库相关

5. 库相关 有些时候我们编写的源代码并不需要将他们编译生成可执行程序,而是生成一些静态库或动态库提供给第三方使用,下面来讲解在cmake中生成这两类库文件的方法。 5.1 什么是库 本部分介绍创建与使用静态库、动态库,知道静态库与动态库的区别,知道使用的时候如何选择。这…

Performance Monitoring检测camstar性能

InsiteXMLServer \ Provate Bytes使用内存的字节 InsiteXMLServer \ Working Set Peak 高峰 Process \ %Processor Time CPU占用时间 InsiteXMLServer \ Elapsed Time占用时间 Camstar.Security.LMServer \ Elapsed Time CamstarNotificatuionServer\Elapsed Time CIMSagent \ …

【Bug】拓展方法必须在非泛型静态类中定义

原文链接:https://blog.csdn.net/weixin_44231544/article/details/121752347 原: 修改: 拓展方法1.定义: (1)扩展方法能使你能够向现有类型添加“添加”方法,而无需创建新的派生类型,重新编译或以其他方式修改原始类型。 (2)扩展方法是一种特殊的静态方法,但可以像…

kettle从入门到精通 第七十五课 ETL之kettle血缘,数据血缘

在了解kettle血缘之前,咱们先来了解下什么是数据血缘? 1、数据血缘定义(来自gpt) 数据血缘(Data Lineage)是指在数据管理和数据分析中追踪数据的源头、流向和处理过程的能力。具体来说,数据血缘描述了数据如何被创建、变换和移动,以及这些过程中数据的路径和影响。它有…

kettle从入门到精通 第七五课 ETL之kettle血缘,数据血缘

在了解kettle血缘之前,咱们先来了解下什么是数据血缘? 1、数据血缘定义(来自gpt) 数据血缘(Data Lineage)是指在数据管理和数据分析中追踪数据的源头、流向和处理过程的能力。具体来说,数据血缘描述了数据如何被创建、变换和移动,以及这些过程中数据的路径和影响。它有…

如何实现元素的曝光监测

我们是袋鼠云数栈 UED 团队,致力于打造优秀的一站式数据中台产品。我们始终保持工匠精神,探索前端道路,为社区积累并传播经验价值。本文作者:霁明一些名词解释 曝光 页面上某一个元素、组件或模块被用户浏览了,则称这个元素、组件或模块被曝光了。 视图元素 将页面上展示的…