| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 人工智能 -> SIM: 阿里定向广告--基于搜索的超长用户行为序列 ctr 模型 -> 正文阅读 |
|
[人工智能]SIM: 阿里定向广告--基于搜索的超长用户行为序列 ctr 模型 |
最近两年大公司在推荐系统的研究热点,当属是用户行为建模。 阿里在最近三年内不断的升级用户序列的建模方式,从最早只使用了attention 的 Deep Interest Network,?到兴趣进化网络 DIEN,再到session 兴趣网络DSIN,一步步的深入挖掘用户行为的兴趣价值。而这些模型也只是利用了用户上百量级的短期行为,用户的浏览序列长度可能达到上千甚至上万个,怎么高效且有效的利用这种长序列信息呢? SIM?提供了 Lifelong 超长行为序列线上服务化的可行性方案。 ?背景用户的历史行为序列中蕴藏着丰富的用户”兴趣点“,用户的行为序列有巨大的价值。
阿里之前的一篇论文MIMN,首次把建模行为序列长度扩大到千级别,但是由于将所有用户历史行为编码到一个固定大小的记忆矩阵中,造成记忆单元中包含许多噪声,并且MIMN 放弃了候选target 与历史行为的交互,所以MIMN很难针对候选集捕获对应的用户兴趣。 模型结构SIM (search-based user interest modeling with lifelong sequential behavior data) 与DIN 思想相同,只关注与候选target 相关的行为。 SIM 采用两阶段检索结构。先经过 GSU (General Search Unit)?模块在上万量级的历史行为中筛选出与候选target 相关的上百量级的子序列,之后把子序列传递给 ESU (Exact Search Unit)模块做 ctr 预估。 General Search Unit第一阶段是利用GSU模块,从上万的长期序列中检索出与候选 target 相关的上百个行为。其中有 hard-search 和 soft-search 两种检索方式。 在电商场景下,category是一个很直接的商品相似度度量属性。hard-search 就是直接选出与候选 target ?类目相同的历史子序列。 soft-search 需要另外离线训练一个包含长期行为序列的DNN模型来得到用户行为及广告的embedding表达,然后线上计算候选广告和历史行为 embedding 的内积作为相似度,并利用近似最近邻检索方法来得到 topK 的子序列。 论文中对于soft-search 公式的介绍有些含糊,只是说Wb?和?Wa?是模型参数,这里有必要详细说明下。 由于长期序列和短期序列数据分布有差异,在soft-search中直接使用短期序列的模型中的embedding 会误导长期兴趣的检索,所以需要另外建立一个如下图的用长期序列训练得到的辅助 ctr 模型。soft-search?公式中的Wb、Wa?、ei、ea??都由该模型的参数导出的,ri??代表用户行为ei??和 target??ea?的相似度,辅助模型中 attention 相似度计算就是用的上面 soft-search 公式中的?ri?,通过辅助模型 attention 的训练保证了soft-search 检索的正确性。 ?理论上使用soft-search 的效果会更好一点,作者实践发现soft-search 与 hard-search 产生的topk 子序列非常相似,所以出于性能的考虑采用了hard-search这种规则式的方法。 Extract Search Unit第二阶段是进行点击率预估,同时会对长期和短期用户序列进行建模:
multi-head attention先明确符号含义,E*?= [e*1?,e*2?,......,e*k] 代表用户行为embedding,?Et?= [et1?,et2?,......,etk] 代表行为之间时间间隔对应的embedding。zb?= concat(e*b, etb),??e*b?和?etb??concat到一起作为用户行为最终的表达,引入了序列中的时间属性。 下图的公式论文中没有明确说明,我理解 Zb?是包含所有子序列行为的矩阵。整个attention 就是把候选target?ea??当做 query,历史行为相当是key 和 value, query 与不同的key 的相关度通过softmax 归一化。 针对不同的head, query 和 key 有不同的映射矩阵,单个head 就是 value 的加权求和。最后不同的head concat 到一起作为长期用户兴趣的表达,再进入多层mlp。 线上架构??阿里的预估系统需要在百万qps 的压力下延迟低于30ms,论文给出了如下图的上线方案: hard-search和soft-search选取的topk序列,非常相似,所以考虑到性能资源,就采用hard-search的方式上线。既然用hard-search,就要找与目标item相同category的序列,所以论文提出了user behavior tree(UBT),就是两层索引,第一层key为userid,第二层key为category,最后value为行为序列。UBT用分布式系统实现,占用了22TB空间。 评价指标?SIM 优异的表现真的是由于对于用户长期兴趣精确的建模?SIM真的更倾向于推荐符合用户长期兴趣的商品吗? 对于灵魂拷问,只用通过数据来验证。比较惊艳的是,论文提出了dcategory??(Days till Last Same Category Behavior)指标,该指标是对于点击样本计算距离上一次点击同类目商品的天数,统计点击样本在dcategory?上的分布可以验证模型对于长期 or 短期兴趣 推荐倾向程度。 如下图,可以看发现 SIM 相比于 DIEN 模型,在较长的兴趣间隔上点击数量有明显的提升,这说明我们的推荐系统的视野变得“开阔”起来,能够给用户推荐更符合长期兴趣的商品。并且对于短期行为的预估准确度SIM和DIEN是几乎一样的,因为SIM中包含了DIEN的建模。 参考 [1].Search-based User Interest Modeling with Lifelong Sequential Behavior Data for Click-Through Rate Prediction,2020. ? ? ? ? |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/27 16:25:17- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |