NIPS’20 Spotlight | 精准建模用户兴趣,广告CTR预估准确率大幅提升!

源 | 京东零售技术


在以人工智能技术为支持的推荐、搜索、广告等业务中,点击率预估(CTR)一直是技术攻坚的核心,同时也是人工智能技术在业务落地中最难实现的技术方向之一。第一期介绍了视觉信息使用帮助提高点击率预估的准确度(Category-Specific CNN for Visual-aware CTR Prediction at JD.com KDD2020)。本次介绍京东广告团队在用户行为建模中的工作:基于卡尔曼滤波的注意力机制——广告点击率预估中的用户行为建模。

此次工作《Kalman Filtering Attention for User Behavior Modeling in CTR Prediction》被机器学习领域中含金量最高的顶级国际会议NeurIPS 2020成功收录为Spotlight论文。本次会议的Oral+Spotlight共收录了385篇论文,占9454篇总投稿量的4%。

介绍之前,首先致谢京东零售数据算法通道委员会的支持。2020年京东零售建立数据算法通道委员会后,推出了适合算法工作特点的评价体系机制,算法技术氛围变的更浓厚,使得算法工作能朝向长期深入的方向去深耕,也为算法工程师去尝试风险较高的创新项目提供信心保障,将视野投向行业,敢于去挑战业界的难题。

任务背景

广告点击率(Click Through Rate, CTR)预测问题,即已知户信息()、商品信息()、和环境信息(),预测该用户点击该广告的概率,即:

CTR预测是广告领域的最根本问题之一。精准的广告点击率预测是整个广告系统的基石,直接关系到京东数亿活跃用户的使用体验与百万广告主的切身商业利益。

在电商场景下,用户在平台上产生了大量的浏览、点击、购买行为。相比于用户年龄、性别等静态属性,这些行为包含了更多、更细力度、更实时的用户偏好信息。因此,对用户行为建模,能有效挖掘用户兴趣偏好,从而为CTR预测提供强有力的支持。

本文的目标是:提出了一种用户行为建模方法,能从用户丰富的历史行为中,提取能精准地表达用户实时兴趣偏好的特征向量,从而助力后续的CTR预测。

现有方法

现有用户行为建模模块,均采用经典的注意力机制(Attention)来融合用户历史行为的特征表示。具体地建模过程都可以看成一种对用户行为序列的某种加权求和:给定特定用户的 1)当前搜索词,2)长度为的历史行为和,3)其对应历史搜索词,预估用户对当前搜索词的兴趣偏好。具体为:

其中,是历史行为的权重。以最基础的Vanilla Attention为例:

直观地,与当前搜索词相关的行为会被赋予更大的权重,是几乎所有现有注意力机制的共同设计理念。State-of-the-art的算法包括DIN [1]、DIEN[2]、Transformer[3]等。

然而这些现存的注意力机制都存在着两个缺点:

  • 传统的注意力机制大都假设用户此刻的兴趣一定被历史行为覆盖。然而实际的电商场景中,用户的当前兴趣,经常是与他们相关历史行为无关的新商品(图一,左)。在这种情况下,无论权重如何分配,都无法用历史行为的加权平均来刻画用户此刻的兴趣。

  • 传统的注意力机制将所有用户行为等价看待,而忽略电商领域中用户行为的严重的频次不均。所以,在加权求和的过程中,高频用户行为(复购周期很短的食品、消耗品)相比于低频用户行为(例如奢侈品、电器)会获得较大的总权重(图一,右),导致用户兴趣偏好预估有偏。

图一、电商场景下传统Attention结构的缺点。左:随着用户行为序列长度的加长,目标商品类别更可能在用户历史行为中有所体现。但即使序列长度高达400时,仍存在10%以上的行为属于新的诉求。右:绝大多数情况用户行为都被被高频行为占据,而高频行为有很大可能性与目标无关。当目标商品为复购率低的商品如手机、手表时,情况更加严峻。以上两个问题都限制了用户兴趣抽取的精度,影响后续CTR预估的准确性。

我们的算法原理

针对电商场景中,用户经常出现历史行为中没有表现过的新的兴趣,对不同品类商品行为频次严重不均衡这两个问题,我们提出了新的用户行为建模算法。该技术旨在克服已有基于Attention算法的不足,并基于卡尔曼滤波给出一套新的算法框架。在新框架中,算法一方面能做不局限于用户历史行为的兴趣抽取,另一方面能够克服用户行为中频次差异巨大的问题。相比于现有的用户行为建模算法,我们提取的用户兴趣更精准、无偏,从而提升CTR预估准确性。

1. 基于卡尔曼滤波注意力机制的用户行为建模

卡尔曼滤波是原本用于多传感器融合的算法:假设各传感器都存在一定测量误差(置信程度),融合得到误差更小、更精确的目标变量估计值。在这里我们借鉴卡尔曼滤波的思想,对传统的注意力机制进行改进。以下将方法命名为Kalman Filtering Attention,简称KFAtt。

给定当前搜索词,我们假设用户对当前搜索词的兴趣偏好服从高斯先验分布。这里的随机变量,刻画了不同的用户,在相同搜索词下的兴趣偏好。具体地,代表着用户兴趣偏好的平均值,即在搜索词下的爆款商品;代表着兴趣分布差异,即对于越具体的搜索词,兴趣分布差异越小。

同时,我们将用户历史行为看成当前兴趣偏好次独立的、不确定性不同的传感器的观测值。并假设这些观测值服从高斯分布:

其中不确定性可以认为是传感器和待测量量的距离,在用户行为建模场景下可以认为是当前搜索词和历史搜索词的距离。

因此对当前搜索词的兴趣偏好,就可以通过最大后验估计(MAP)得到:

其中表示高斯概率密度函数。该MAP存在解析解:

通过引入兴趣先验,对用户没有在历史行为中表现过的新诉求,KFAtt也都可以很好地建模。借助,KFAtt得以从其他用户的兴趣表达中学到当前用户的先验。借助,KFAtt得以在兴趣先验和用户行为后验之间折中。

实际操作中,都可以输入通过两层全连接层得到。可以通过的距离得到,例如取则最终得到的计算表达式和传统Attention的表达式非常类似。如果进一步让(在不考虑用户兴趣先验的情况),KFAtt将退化为传统Attention,也说明了本方法的合理性。

2. 带频次控制的卡尔曼滤波注意力机制

在KFAtt基础上,我们进一步针对用户行为中不同品类商品行为频次严重不均衡的问题做了方法改进:Kalman Filtering Attention with Frequency Capping,简称KFAtt-freq。

沿用KFAtt的假设,我们依然假设用户对当前搜索词的兴趣偏好服从高斯先验分布。不同的是,为了处理不同种类商品的频次不均问题。我们对历史搜索词进行去重,对历史行为按搜索词归并。

具体地,用户行为建模可以抽象为用个相互独立的传感器,对进行的测量。在传感器上,我们得到个测量值. 显然

每个测量值中的误差中,包含两个独立的部分:

  • 系统误差,由传感器本身带来的误差。传感器和目标的距离越远系统误差越大。

  • 测量误差,传感器精度带来的误差。这部分误差通过多次重复测量可以降低。

假设这两部分误差都服从高斯分布,那么:

其中是排除掉测量误差外的,传感器的测量值。而测量值:

因此和KFAtt类似,KFAtt-freq也可以通过最大似然估计(MAP),得到对目标对当前搜索词的兴趣偏好

该MAP存在解析解:

其中  ,表示同一个传感器下的多个测量值的均值。KFAtt-freq相比KFAtt,由于将用户同商品品类的多个行为当成同一个传感器的多次测量而多次重复测量只会降低测量误差,无法降低系统误差。因此这些行为对最终的总贡献会存在上限,进而可以解决行为中频次差异巨大带来的问题,做到精确、无偏的用户兴趣抽取。 

实验效果

我们首先在亚马逊商品推荐数据集上,测试KFAtt和KFAtt-freq算法的表现。如前文讨论,我们算法的收益来自 1)引入全局信息解决用户当前新兴趣不被历史行为覆盖的问题 2)通过频次控制解决不同种类行为频次不均带来的权重有偏的问题。为了证明这一点,我们从亚马逊数据集里额外抽取了两个挑战更大的子测试集New(都来自不同类别)和Infreq(与同类的极为低频,即). 实验结果如下:

我们的算法(最右两列)的AUC明显高于所有被比较State-of-the-art算法,并且在New和Infreq上的优势更为明显。这不但证明了我们算法的优越性,也验证了我们的两项Motivation的合理性。

我们的算法可以广泛适配于多种现存注意力机制,并获得一致性的提升。

我们的算法应用于京东具体搜索业务,在百亿样本的巨大工业数据集上,和在真实的线上流量里,获得了较大的效果提升。

我们的算法在线上系统中的耗时,远低于DIEN,与最高效的STOA算法平齐。 

结论

我们提出了一种基于卡尔曼滤波的注意力机制,用于工业级广告点击率预测系统中的用户行为建模任务。通过卡尔曼滤波建模,有效地引入特定搜索词的全局先验信息,并有效控制高频商品在用户行为中的权重,从而得到比现存注意力机制更适配用户行为建模任务的算法,有效提升用户行为建模及其后续广告点击率预估的准确性。

后台回复关键词【入群

加入卖萌屋NLP/IR/Rec与求职讨论群

有顶会审稿人、大厂研究员、知乎大V和妹纸

等你来撩哦~

 

[1] Dzmitry Bahdanau, Kyunghyun Cho, and Yoshua Bengio. 2014. Neural machine translation by jointly learning to align and translate.

[2] Guorui Zhou, Xiaoqiang Zhu, Chenru Song, Ying Fan, Han Zhu, Xiao Ma, Yanghui Yan, Junqi Jin, Han Li, and Kun Gai. 2018. Deep interest network for click-through rate prediction.

[3] Guorui Zhou, Na Mou, Ying Fan, Qi Pi, Weijie Bian, Chang Zhou, Xiaoqiang Zhu, and Kun Gai. 2019. Deep interest evolution network for click-through rate prediction.

[4] Feng, Y., Lv, F., Shen, W., Wang, M., Sun, F., Zhu, Y., & Yang, K. (2019). Deep session interest network for click-through rate prediction. arXiv preprint arXiv:1905.06482.

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

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

相关文章

史上最强大型分布式架构详解:高并发+数据库+缓存+分布式+微服务+秒杀

分布式架构设计是成长为架构师的必备技能,涵盖的内容很广,今天一次打包分享,文末有:最全分布式架构设计资料获取方式~ 负载均衡 负载均衡的原理和分类 负载均衡架构和应用场景 分布式缓存 常见分布式缓存比较:memcac…

论文浅尝 | 面向多语言语义解析的神经网络框架

论文笔记整理:杜昕昱,东南大学本科生。来源:ACL2017链接:https://aclweb.org/anthology/P17-2007论文训练了一个多语言模型,将现有的Seq2Tree模型扩展到一个多任务学习框架,该框架共享用于生成语义表示的解…

LeetCode 46. 全排列(回溯)

文章目录1. 题目信息2. 解题2.1 利用hash map解决2.2 改用bool数组判断是否出现过1. 题目信息 给定一个没有重复数字的序列,返回其所有可能的全排列。 示例:输入: [1,2,3] 输出: [[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1] ]来源:力扣&#xf…

谷歌师兄的刷题笔记分享!

高畅现在是谷歌无人车部门(Waymo)的工程师,从事计算机视觉和机器学习方向。他在美国卡内基梅隆大学攻读硕士学位时,为了准备实习秋招,他从夏天开始整理某 code 上的题目,几个月的时间,刷了几百道…

【深度揭秘】百度、阿里、腾讯内部岗位级别和薪资结构,附带求职建议!

“ 最近很忙,文章没有及时更新。。 最近被问得最多就是想进入BAT等一线互联网公司,应该怎么办? 我先从BAT等这样的公司看看他们的招聘需求谈起,再结合这样的公司需要对技术的要求是什么,最后结合我的建议&#xff0…

LeetCode 47. 全排列 II(回溯+搜索剪枝)

文章目录1. 题目信息2. 解题1. 题目信息 给定一个可包含重复数字的序列,返回所有不重复的全排列。 示例:输入: [1,1,2] 输出: [[1,1,2],[1,2,1],[2,1,1] ]来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problem…

会议 | 2019 全国知识图谱与语义大会 (CCKS 2019)

会议注册:http://www.ccks2019.cn/?page_id53会议地址与住宿:http://www.ccks2019.cn/?page_id366OpenKG开放知识图谱(简称 OpenKG)旨在促进中文知识图谱数据的开放与互联,促进知识图谱和语义技术的普及和广泛应用。点击阅读原文…

jieba分词太慢,怎么办?找jieba_fast

原文链接:https://www.rtnzero.com/archives/272.html 有时候感觉处理一个几十M的文本,要一分钟才能好,然后调试时各种心焦! 下面举个例子: 归零有一个11.9M的文本文件,是一些抓取到的Python长尾关键词&am…

DGL_图的打印

首先要安装 networkx import matplotlib.pyplot as plt import networkx as nx import dgl import numpy as np def build_karate_club_graph():src np.array([1, 2, 2, 3, 3])dst np.array([0, 0, 1, 0, 1])u np.concatenate([src, dst])v np.concatenate([dst, src])ret…

闲鱼账号被封怎么办?解封看这里!

怎样避免宝贝被屏蔽、限流解封账号?首先我们要学会规避封号的风险 不要频繁的更改账号,不要多账号单手机操作,一机一号才是正确。 不要连续给人商品点赞或是我想要,连续的操作容易被封 不要发布违禁品,违禁品具体可…

推荐系统顶会RecSys’20亮点赏析

文 | banana源 | 知乎RecSys 2020原计划是在南美洲巴西举办,因为疫情的原因不得不改到线上。虽说线上举办会议,参会效果会打折扣,但也为远在北京的我提供了参会便利。得益于各方的努力和软件的应用,整体来看此次参会的效果高于我对…

技术研讨会 | 2019 恒生技术开放日产业链知识图谱专场开始报名

知识图谱旨在采用图结构 (Graph Structure) 来建模和记录世界万物之间的关联关系和知识,是互联网时代的知识工程方法,能够对纷繁复杂、多源异构的金融资讯大数据进行加工整合,提升决策分析的效率,已经得到金融行业从业人士的普遍认…

01.神经网络和深度学习 W1.深度学习概论

文章目录1. 什么是神经网络2. 使用神经网络进行监督学习3. 神经网络的兴起4. 练习题1. 什么是神经网络 它是一个强大的学习算法,类似于人脑的工作方式。 例子1. 单个神经网络 给定房地产市场上房屋大小的数据,预测其价格。这是一个线性回归问题。 …

中文任务型对话系统中的领域分类

大规模跨领域中文任务导向多轮对话数据集及模型CrossWOZ:项目地址:https://gitee.com/yh14232988/CrossWOZ?_fromgitee_search 具体介绍:https://cloud.tencent.com/developer/article/1617197 北邮张庆恒:如何基于 rasa 搭建一…

互联网热门职位薪酬报告

“ 很多同学毕业后想进入互联网领域,当前有什么热门的互联网工作机会,薪资结构怎么样?看图说话,我简短给 大家做一个回报。 互联网职位需求最热的TOP20 mikechen:我个人比较看好旅游、金融板块、医疗健康板块&#x…

算法岗面试前怎样高效刷题?

如果不是为了面试AI工程师刷题有用吗?把时间都放在项目上不香嘛?作为一个战五渣,我特地去观察和询问了身边很多精通此道的大神,他们对于“刷题”还是保持着认可的态度:很清晰地理解问题的本质,并进行合理的…

征稿 | JIST 2019 Regular Technical Papers

JIST 2019: The 9th Joint International Semantic Technology ConferenceNov. 25-27, 2019, Hangzhou, China.http://jist2019.openkg.cn/第 9 届国际语义技术联合会议 JIST 2019 将于今年 11 月在美丽的杭州召开,投稿截止日期临近 (Abstract submission: 23:59 (H…

DGL_子图

用途一:数据集太大,无法画图,取子图看看是有向图/无向图 import dgl import matplotlib.pyplot as plt import networkx as nx G dgl.DGLGraph() G.add_nodes(5) # G.add_edges([0, 1, 2, 3, 4], [1, 2, 3, 4, 0]) # 有向图 G.add_edges(…

史上最全互联网八大技术岗位详解

“互联网技术岗位详解,涉及到前段开发、后端开发、移动端开发、大数据、项目管理、测试、运维、技术管理等八大领域。 架构师 每个产品线都有架构师,在技术平台部门也需要技术平台的架构师。 架构师负责设计系统整体架构,从需求到设计的每个…

什么?!“路由器”也会做信息抽取了?

文 | 雨城编 | QvQ前几周,一个“撞脸”路由器的联合抽取模型TPLinker横空出世,将NYT数据集的分数直接刷上了90,提高了2个百分点。卖萌屋邀请到作者雨城,来聊一聊他们在关系抽取上的工作。目前,该工作已经被COLING 2020…