IJCAI阿里论文 | JUMP: 一种点击和停留时长的协同预估器

简介: 小叽导读:在搜索和推荐场景中,基于会话的预测日益受到人们的兴趣和重视,大多这类算法都是基于递归神经网络(RNNs)技术或者它的变种。然而,已有的算法一方面会忽略“停留时长”在表达用户偏好程度上的重要性,另一方面在非常短或者有噪音的会话上会预估得不准。

小叽导读:在搜索和推荐场景中,基于会话的预测日益受到人们的兴趣和重视,大多这类算法都是基于递归神经网络(RNNs)技术或者它的变种。然而,已有的算法一方面会忽略“停留时长”在表达用户偏好程度上的重要性,另一方面在非常短或者有噪音的会话上会预估得不准。因此在该文章的的工作中,我们提出了一种联合预估算法JUMP,基于会话去同时预测用户的点击和停留时长。
▌摘要

JUMP使用一种新奇的三层RNN结构去编码用户的一次会话,包括使用一个“快慢层”去缓解短会话的问题,使用一个“注意力层”去解决会话噪音的问题。大量的实验表明JUMP算法能在点击率预估和停留时长预估上,超越最新的其他算法。

▌停留时长预估

对于停留时间的预估,我们借鉴了“生存分析”(SurvivalAnalysis)的思想,通过时间发生的时间去近似用户在一个内容上停留的时间;从概念上来说,停留时长被认为是“离开当前内容”这个事件的发生时间。如果我们记用户的停留时长的样本为O,假设存在一个函数,将O映射到一个简单的分布f上:

image

这里f可能是一个高斯分布,伽马分布等。可以证明的是:

image


其中F表示累计概率分布(CDF),T是对O的在线近似。那么有了上述公式后,我们就可以使用最大似然估计去预估样本的停留时间。我们分析了RecSys15数据及上的停留时间,原始分布如左下图,然而我们对停留时间取log后,得到了右下图。我们很高兴的发现在取log之后,停留时间是符合正态分布的。

image


于是我们取g为log函数,f为正态分布函数,最终我们能得到似然函数:

image

▌学习建模

我们记一个用户的会话为一个行为序列:image。其中i表示第j个点击的商品,image表示停留时间,而image是一个bool类型,表示是否是会话的最后一个商品(或者停留时间过长)。我们假设样本是从一个分布P(S)中采样出来,那么可以将分布分解为2项的积。
image
其中前一项表示点击率的似然,后一项表示停留时间的似然;image表示会话中第k次点击前的行为。为了从会话的行为中抽取更多的有效信息,我们提出了一种三层RNN模型去编码image

image


Attention Layer:我们设计注意力机制主要目的是去除会话中的噪音,保留真正有效的信息。表示fast-slow层的输出,a对应attention的权重,对应的计算方法如下面公式:

image
Fast-SlowLayer: fast-slow层提出了一种新奇的RNN网络。当我们处理第j个输入的时候,会进入一个F-S处理单元,其中包括一个慢元子和一个快元子序列,慢元子会记忆更多长期的记忆,而快元子会更多的获取当前的信息。F-S处理单元如下图所示:

image


EmbeddingLayer:网络的最底层是一个embedding层,该层将一个二元组 image映射到一个向量上,我们使用batch-normalizing对输入进行标准化:

image


▌实验

为了验证算法的性能,我们将JUMP算法对比了主流的基于会话的预估算法,验证在点击率预估和停留时长预估上的效果。对比的算法包括GRU、IGRU、NARM、DTGRU,RMTP、ATRP、NSR,使用的数据集是RecSys15、CIKM16和REDDIT。

点击率预估的结果如下表所示,我们可以看到在全部数据集上,JUMP算法都能超越其他算法,取得最好的Recall、MRR和NDCG指标。
image
同时我们观察了embedding维度对recall指标的影响,结果如下图。我们可以到看随着embedding维度的提升,recall指标都能得到一定的上升,但是基本都在100维左右达到最高;其次,我们仍然可以发现,JUMP算法取得的效果是优于其他算法的,蓝色曲线总是在其他曲线之上。
image
除了点击率外,我们观察了在时间预估这个任务上的效果,结果如下表所示。对比ATRP、RMTP和NSR算法,JUMP能明显提升预估的准度。

image


▌总结

本文提出了一种新奇的算法JUMP,同时预估一个会话中的点击率和停留时间。主要有3点重要贡献:1、使用生存分析的方法来建模用户的停留时间,建立在可靠的数据理论基础上;2、提出了一种三层的RNN结构,基于注意力机制能提升模型的鲁棒性,降低噪音的影响;3、使用了一种全新设计的fast-slow结构,加强对短会话的学习能力。大量实验验证了算法的有效性,在多个公开数据集上的结果,对比其他的算法都有大幅提升。

原文发布时间为:2018-07-09
本文作者:匿名
本文来自云栖社区合作伙伴“ 阿里技术”,了解相关信息可以关注“ 阿里技术”。

相关文章
|
人工智能 监控 中间件
魔搭开源版GPTS来啦!轻松搭建个人超级智能体!
Openai DEV day上推出了GPT Stores, 允许用户通过聊天、直接配置的方式进行GPT的定制
|
SQL 存储 分布式计算
【收藏】MongoDB 常用查询语句汇总
【收藏】MongoDB 常用查询语句汇总
1676 0
|
6月前
|
人工智能
MV-MATH:中科院开源多模态数学推理基准,多视觉场景评估新标杆
MV-MATH 是中科院自动化所推出的多模态数学推理基准数据集,旨在评估多模态大语言模型在多视觉场景中的数学推理能力。该数据集包含2009个高质量的数学问题,涵盖11个数学领域和3个难度级别,适用于智能辅导系统和多模态学习研究。
143 0
|
8月前
|
存储 Java
【潜意识Java】期末考试可能考的选择题(附带答案解析)
本文整理了 Java 期末考试中常见的选择题,涵盖数据类型、控制结构、面向对象编程、集合框架、异常处理、方法、流程控制和字符串等知识点。每道题目附有详细解析,帮助考生巩固基础,加深理解。通过这些练习,考生可以更好地准备考试,掌握 Java 的核心概念和语法。
372 1
|
10月前
|
自然语言处理 并行计算 数据可视化
免费开源法律文档比对工具:技术解析与应用
这款免费开源的法律文档比对工具,利用先进的文本分析和自然语言处理技术,实现高效、精准的文档比对。核心功能包括文本差异检测、多格式支持、语义分析、批量处理及用户友好的可视化界面,广泛适用于法律行业的各类场景。
466 1
|
缓存 负载均衡 Java
Nacos 集群部署时性能优化配置
Nacos 集群部署时性能优化配置
517 2
|
数据采集 数据挖掘 数据处理
探索“数据菜谱”无限可能:首届Data-Juicer大模型数据竞赛
数据是LLaMA、Alpaca等大语言模型(LLM) 的“食物” ,你心中的大模型米其林菜单会是什么样呢?
|
SQL 缓存 关系型数据库
API 接口性能优化管理
本文探讨了国内项目中常见的接口性能问题及其优化策略。面对紧张的工期与多样的编码习惯,文章系统地分析了性能需求、确立了性能标准,并详细列举了常见的性能瓶颈,如循环调用数据库、不当的SQL编写及数据处理方式等。针对这些问题,提出了包括配置调整、代码改进、数据库优化、引入缓存机制、利用异步处理等在内的多种解决方案,并强调了可观测性工具的重要性。通过这些方法,能有效提升接口性能和用户体验。
|
搜索推荐
淘宝粗排问题之引入未曝光样本和随机负样本对粗排模型有何影响,如何解决
淘宝粗排问题之引入未曝光样本和随机负样本对粗排模型有何影响,如何解决
|
存储 Java 数据库
序列化的 serialVersionUID 到底有什么用?
序列化的 serialVersionUID 到底有什么用?
251 3