AMM论文阅读笔记

AMM: Attentive Multi-field Matching for News Recommendation论文阅读笔记

Abstract

现存的问题:

​ 个性化新闻推荐是帮助用户找到感兴趣新闻的关键技术,而如何精确匹配用户兴趣和候选新闻是新闻推荐的核心。现有研究一般通过聚合用户浏览过的新闻来学习用户的兴趣向量,然后将其与候选新闻向量进行匹配,这可能会失去文本语义匹配的推荐信号。

提出方法:

​ 在本文中,我们提出了一种用于新闻推荐的多字段匹配(AMM)框架,该框架捕捉每条浏览新闻与候选新闻之间的语义匹配表征,然后将其聚合为最终的用户-新闻匹配信号。此外,我们的方法还结合了多领域信息,设计了领域内和跨领域匹配机制,利用不同领域(如标题、摘要和正文)的互补信息,获得多领域匹配表征。为了实现全面的语义理解,我们采用了最流行的语言模型 BERT 来学习每个浏览-候选新闻配对的匹配表征,并在聚合过程中加入关注机制,以表征每个匹配表征对于最终用户-新闻匹配信号的重要性。

Introduction

​ 再次强调问题,现有的方法大多将每个用户和新闻表示为单一向量,可能会丢失文本匹配信号(如词级关系)。

​ 因此,我们的方法不是简单地将用户浏览的新闻作为一个整体来建模,而是重点关注每一对浏览-候选新闻之间的关系,以捕捉细粒度的语义匹配表示。此外,这种配对设计便于在线服务,匹配表示可以离线存储,避免重复计算。在此,我们首先利用 BERT 学习每个浏览-候选新闻配对在不同语义层次上的匹配表征,然后将它们汇总为最终的用户-新闻匹配信号。

​ 此外,上述方法基于单视角新闻信息或多视角信息来学习新闻之间的语义相关性,这些方法只利用了字段内的语义相关性(如标题-标题、正文-正文)。但有时,跨字段信息(如标题-摘要、标题-正文)可能对新闻匹配有益。例如,𝑛𝑒𝑤𝑠𝑎 的标题信息丰富,而𝑛𝑒𝑤𝑠𝑏 的标题只是吸引人,在这种情况下,𝑛𝑒𝑤𝑠𝑎 的标题和𝑛𝑒𝑤𝑠𝑏 的正文之间的匹配可能更好。因此,与每条新闻相关的多个字段可能包含互补信息,这促使我们学习多字段(字段内和字段间)匹配表征。

​ 在本文中,我们提出了一种 "多领域匹配"(AMM)框架,该框架可以捕捉每一对浏览-候选新闻的多领域语义匹配表征,然后将这些表征聚合起来,作为最终的用户-新闻匹配信号,用于新闻推荐。这项工作的主要贡献概述如下:

  • 我们提出了一种新的分离浏览候选新闻对匹配方法来捕获文本语义匹配信号,有利于在线搜索。
  • 我们设计了 AMM 框架,以场内和跨场方式提取多场匹配表征,从而深入挖掘用户兴趣。

Method

​ 下图显示了 AMM 的整体架构。首先,我们为每条浏览过的候选新闻构建多字段配对输入。然后,使用匹配编码器提取每个配对输入的匹配表示。最后,我们将所有配对的匹配表征汇总到用户-新闻信号中,以估计点击概率。我们将在下面的小节中介绍每个组件。

pkcwgE9.png

多领域匹配

​ 不同领域的新闻通常可以相互补充。为了更好地对浏览过的候选人进行匹配编码,我们将字段内匹配和跨字段匹配作为多字段信息加以利用,以增强匹配表示。

​ 给定用户浏览的新闻\([N_1,N_2,\ldots,N_i]\)和候选新闻 𝑁𝑥,对于每个浏览-候选新闻对(𝑁𝑖 , 𝑁𝑐),我们构建多字段对输入为\([N_i^m,N_c^n]\)其中 𝑚 ∈ {𝑡, 𝑎, 𝑏}, 𝑛 ∈ {𝑡, 𝑎, 𝑏} 和 𝑡, 𝑎 和 𝑏 分别是新闻标题、摘要和正文。我们将新闻标题 𝑁𝑡 命名为词序列\([w_1^t,w_2^t,\ldots,w_{|N^t|}^t]\),新闻摘要 𝑁𝑎 命名为\([w_1^a,w_2^a,\ldots,w_{|N^a|}^a]\),新闻正文𝑁𝑏命名为\([w_1^b,w_2^b,\ldots,w_{|N^t|}^b]\),其中 |𝑁𝑡 | 和 |𝑁𝑎 | 和 |𝑁𝑏 | 分别是标题、摘要和正文的长度。

​ 如图 1 所示,在本研究中,不仅获得了\([N_i^t,N_c^t]\)(标题和题目)这样的字段内配对输入,还获得了 \([N_i^t,N_c^b]\)(标题和正文)这样的跨字段配对输入。最后,我们将这些表示法合并成该浏览-候选新闻对的多字段匹配表示法。

匹配编码器

​ 该模块用于学习每条浏览新闻与候选新闻之间的语义匹配。我们将多字段匹配中的浏览-候选多字段对作为输入,然后将其输入双向变换器编码器表征(BERT),进行匹配表征学习。

​ 给定多字段对\([N_i^m,N_c^n]\),其中 𝑚, 𝑛 ∈ {𝑡, 𝑎, 𝑏} 和相应的词序列\(N_i^m=[w_1^i,w_2^i,\ldots,w_{|N^m|}^i]\)\(N_c^n=[w_1^c,w_2^c,\ldots,w_{|N^n|}^c].\)我们将这两个序列连接起来,配对输入为:

\(inp=[[\mathrm{CLS}],w_1^i,\ldots,w_{|N^m|}^i,[\mathrm{SEP}],w_1^c,\ldots,w_{|N^n|}^c]\)

​ 通过添加特殊标记[CLS]作为语义匹配的聚合序列表示,[SEP]作为序列分离的聚合表示,我们以𝑖𝑛𝑝为例详细说明编码过程。

多头自注意层

​ 该子层旨在捕捉句子的语境感知语义匹配。有了多头,来自不同位置的不同语义子空间的信息就可以被联合学习,这将非常有助于捕捉不同词块之间的匹配信号

\(\operatorname{Attn}(Q,K,\mathbf{V})=\operatorname{softmax}\left(\frac{QK^T}{\sqrt{d_k}}\right)V\)

​ 多头自我注意层(MH)将并行应用迭代注意函数来生成输出表征,这些输出表征被串联起来,并捕捉来自多个视图的交互信息。

\(\mathrm{MH}(\mathrm{Q},\mathrm{K},\mathrm{V})=\left[\mathrm{head}_1;\ldots;\mathrm{head}_h\right]\mathrm{W}^O\\\mathrm{head}_i=\mathrm{Attn}\left(\mathrm{QW}_i^Q,\mathrm{KW}_i^K,\mathrm{VW}_i^V\right)\)

位置感知的前馈网络

​ 该子层旨在赋予模型非线性和不同维度之间的相互作用,是一个全连接的前馈网络(FFN),由两个线性变换和中间的 ReLU 激活组成:

\(\mathrm{FFN}(x)=\mathrm{ReLU}\left(xW_1+b_1\right)W_2+b_2\)

​ 此外,还对每个子层进行了残差连接和层归一化处理。最后,我们可以通过匹配编码器获得每个浏览-候选新闻多字段对的匹配表示

匹配聚合器

​ 匹配聚合器用于聚合每条浏览新闻和候选新闻的匹配表示,以获得最终的用户-新闻匹配信号。

​ 用\(M\in\mathbb{R}^{n\times d^{\prime}}\)表示配对匹配表示矩阵,其中 n 是浏览过的候选新闻配对数,𝑑 ′ 表示多场配对匹配表示的维度。在此,我们使用以下三种聚合器获得最终的用户-新闻匹配表示\(\tilde{M}\)

  • 平均/最大聚合:直接最大化或平均新闻对的匹配嵌入作为用户-新闻匹配嵌入
  • 注意力聚合:\(\tilde{M}=\text{ Aggregate }(M)=\mathbf{r}^\top M\\r=\mathrm{softmax}(\tanh\left(\tilde{E}W_h+b_h\right)W_o+b_o)\)

点击预测

​ 最后,我们介绍点击预测模块。将用户新闻匹配表示记为\(\tilde{M}\),点击概率𝑦 是通过应用全连接层计算得出的:

\(y=\mathrm{softmax}(\tilde{M}W^o+b^o)\)

总结

​ 总结一下,这个是一篇短文,整体的框架还是比较清晰的,核心的思路就是多领域的匹配。按照图所示,就是浏览过的新闻的三个元素(标题,摘要,正文)与候选新闻的三个元素两两组合,组合的结果就是所谓的配对。

​ 然后是匹配编码器的部分,两两的组合已经获取到了,那么怎么连接起来呢,实际上也就是将刚刚获取的配对按单词连接在一起,前面用CLS,中间用SEP分隔。做好连接以后就要进行编码了,这里就是采用传统的多头自注意力和位置编码。最后获取了多字段对的匹配表示。

​ 最后就是聚合部分,因为获取了多个配对组合,最后也需要将这些组合表示聚合起来,然后就提出了两种不同的聚合方法。最后用聚合后的表示对新闻点击进行预测。

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

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

相关文章

没有MAC电脑,如何申请苹果开发证书、上架APP Store?

【引言】 使用uni-app进行跨平台APP开发时,苹果ios平台最终还是要通过APP Store渠道发布,调试时uni-app基座也必须使用开发者证书签名后才能安装。对于使用MAC电脑的开发者,倒也不存在什么大障碍,照着文档操作就行,但是对于不使用MAC电脑,身边也没有MAC电脑,采购预算又紧…

知网文献下载助手 ——油猴脚本推荐

知网文献下载收费太贵了,只能逼我去找脚本来下载了。 在Greasyfork尝试了很多个脚本,坑爹的比较多,对比下来,我觉得这个“知网下载助手”比较容易用, 当然是纯免费的,需要的可以试试:知网下载助手https://greasyfork.org/zh-CN/scripts/492511

类人型自主机器人会打太极拳,但功夫很弱-斯坦福HumanPlus机器人

原文链接:https://newatlas.com/robotics/autonomous-humanoid-robot-shadows-humans/ The HumanPlus, with a 0-0 record, lands a 1, 2 left, right punch Stanford Humanplus HumanPlus以0比0的战绩,命中了1次左、右两拳。 斯坦福…

Rougamo、Fody 实现静态Aop

最近在看项目,看到别人使用Rougamo框架,好奇花了点时间仔细研究了,在这里记录一下。 0. 静态编织 Aop 首先,我们先了解什么是Aop? Aop 是指面向切面编程 (Aspect Oriented Programming),而所谓的切面,可以认为是具体拦截的某个业务点。 我们常用的aop框架是 AspectCore,…

WhaleStudio 2.6正式发布,WhaleTunnel同步性能与连接器数量再创新高!

在这个数据驱动的大模型时代,数据集成的作用和意义愈发重要。数据不仅仅是信息的载体,更是推动企业决策和创新的关键因素。作为全球最流行的批流一体数据集成工具,WhaleTunnel随着WhaleStudio 2.6版本正式发布,带来了多项功能增强和新特性,性能大幅提升,连接器和功能方面…

代码随想录算法训练营第四十二天 | 1049最后一块石头的重量II 494.目标和 474.一和零

1049.最后一块石头的重量 题目链接 文章讲解 视频讲解解题思路:将石头尽量分为相等的两堆,两堆最差即为所求结果石头的重量就是石头的价值动规五部曲:dp[j]:表示背包容量为j时可以装的石头的总价值 递推公式:dp[j] = max(dp[j], dp[j-stones[i]] + stones[i] 初始化:均初…

Apache DolphinScheduler社区又一PMC获推选通过!

PROFILE姓名:程鑫 公司:阿里云 职位:开发工程师 Github ID: rickchengx 从事领域:大数据调度系统开发 兴趣爱好:健身推举理由 他于2022年8月2日开始了他的DolphinScheduler之旅,在社区工作了将近两年,并于2023年5月12日成为Committer。成为Committer后的一年里,他继续保…

BOSHIDA 探讨DC/AC电源模块为绿色能源应用提供可靠的转换解决方案

BOSHIDA 探讨DC/AC电源模块为绿色能源应用提供可靠的转换解决方案 DC/AC电源模块是一种能够将直流电源转换为交流电源的装置。随着绿色能源的不断发展和应用,DC/AC电源模块在可再生能源、电动车辆、太阳能发电等领域中扮演着重要的角色。本文将着重探讨DC/AC电源模块为绿色能源…

Centos7 安装Rabbitmq3.9.11

安装erlang 安装依赖包yum -y install gcc glibc-devel make ncurses-devel openssl-devel xmlto perl wget gtk2-devel binutils-devel下载wget https://github.com/erlang/otp/releases/download/OTP-24.1.7/otp_src_24.1.7.tar.gz解压tar -zxvf otp_src_24.1.7.tar.gz转移到…

mysql数据库简介

一、数据库介绍 1.数据库基本概念 数据(Data) 描述事物的符号记录 包括数字,文字、图形、图像、声音、档案记录等 以“记录”形式按统一的格式进行存储 表 将不同的记录组织在一起 用来存储具体数据 数据库 表的集合,是存储数据的仓库 以一定的组织方式存储的相互有关的数据…

mac 电脑查看已安装的谷歌插件

1、打开谷歌浏览器 地址栏上面输入  chrome://version/ 2、找到 个人资料路径: /Users/admin/Library/Application Support/Google/Chrome/Default3、打开个新窗口 地址了上输入:个人资料路径 ,并找到 Extensions/ 文件夹 4、里面都是已安装的谷歌插件, 想要哪个插件…

Nordic nRF Connect SDK(NCS) VS Code 安装记录

1.Nordic SDK Nordic有2套并存的SDK:老的nRF5 SDK和新的nRF Connect SDK(NCS),两套SDK相互独立,大家选择其中一套进行开发即可。 一般而言,如果你选择的芯片是nRF51或者nRF52系列,那么推荐使用nRF5 SDK。 如果你选择的是Nordic最新产品系列,比如nRF53或者nRF9160,那么…

浅谈 K8s Service 网络机制

浅谈 K8s Service 网络机制 云原生运维圈 2024-07-01 12:03 上海 1人听过以下文章来源于腾讯云原生 ,作者王成腾讯云原生. 云原生技术交流阵地,汇聚云原生最新技术资讯、文章、活动,以及云原生产品及用户最佳实践内容。王成,腾讯云研发工程师,Kubernetes member,从事数据…

全新升级!中央集中式架构功能测试为新车型保驾护航

目前,文中所述功能测试新方案均已应用于国内多款新架构车型的研发,得到了广泛认可。 “软件定义汽车”新时代下,整车电气电气架构向中央-区域集中式发展已成为行业共识,车型架构的变革带来更复杂的整车功能定义、更多的新技术的应用(如SOA服务化、智能配电等)和更…

江门MES制造执行系统:助力工厂实现智能化管理

江门MES制造执行系统(MES)在工厂实现智能化管理方面发挥着重要作用,以下是它的一些助力方面: 实时监控与控制:江门MES系统可以实时监控生产过程中的各个环节,包括设备状态、生产进度、质量指标等,帮助工厂管理人员及时了解生产情况并做出相应的调整和控制。生产计划与排程…

搭建微信小程序

在开发小程序之前,您需要先注册微信小程序。进入小程序页面,单击前往注册,根据指引填写信息和提交相应的资料,点击注册,完成账号申请。使用申请的微信公众平台账号登录小程序后台,单击开发管理> 开发设置,可以看到小程序的AppID,请记录AppID,后续操作中需要使用。 …

《从零开始学Python》(第二版) PDF读书分享

Python 是一种面向对象、解释型计算机程序设计语言,由 Guido van Rossum 于 1989 年底发明,第一个公开发行版发行于 1991 年。Python 语法简洁而清晰,具有丰富和强大的类库。它常被昵称为胶水语言,能够把用其他语言制作的各种模块(尤其是 C/C++)很轻松地联结在一起。 Pyt…

记一次 .NET某网络边缘计算系统 卡死分析

一:背景 1. 讲故事 早就听说过有什么 网络边缘计算,这次还真给遇到了,有点意思,问了下 chatgpt 这是干嘛的 ?网络边缘计算是一种计算模型,它将计算能力和数据存储位置从传统的集中式数据中心向网络边缘的用户设备、传感器和其他物联网设备移动。这种模型的目的是在接近数…

Cannot load from short array because sun.awt.FontConfiguration.head is null

新服务器,部署项目,使用easyExcel功能导出文件时,报错提示:Cannot load from short array because "sun.awt.FontConfiguration.head" is null,可以看到是字体文件配置引发的空指针异常; 解决方法:登录服务器,执行命令 yum install fontconfigfc-cache --for…

heap

堆块: chunk 堆是以一个个的堆块构成的,这些堆块就叫chunk chunk的大小是8字节对齐,但是一个堆块的具体大小是16字节对齐的,比如一个堆块只能是 0x40,0x50,0x60 不会是0x48这样的数据 其中一个堆块的header头部字节占16字节大小,也就是0x10字节 64位程序下的最小长度是3…