2020 Google开发者大会重磅开幕 了解详情

阿里巴巴提出基于异构内容流的动态排序模型,提升用户点击和购买率

2018 年 7 月 09 日

题目(中英文):一种端到端的模型:基于异构内容流的动态排序 / An End-to-end Model of Predicting Diverse Ranking On Heterogeneous Feeds

主要作者(中英文):高子喆, 高正, 黄恒, 蒋卓人, 严玉良 / Zizhe Gao,Zheng Gao,Heng Huang,Zhuoren Jiang,Yuliang Yan

研究背景:

搜索引擎在电商领域扮演着极其重要的作用,其可以很好的引导用户的潜在购买行为。传统电商搜索引擎通常指商品搜索引擎,用户输入一个 query,返回一个商品列表。然而,随着自媒体的发展,越来越多的用户更愿意分享自己的购物体验,他们以文章、评价和视频等形式将自己的观点展示出来。在这篇文章中,这些统称为内容流。为了给用户提供更多的购物帮助,内容搜索引擎应运而生。在用户搜索商品的时候,给用户推荐高质量的内容流,帮助用户选择自己中意的以及用户可能喜欢的商品。

目前,对于异构数据的排序还存在很多的挑战。首先,商品搜索引擎和内容搜索引擎所提供的跨领域知识要被充分利用,使用户在商品搜索引擎中的行为偏好应用到内容搜索引擎中。其次,现有的算法需要支持多媒体内容的排序。

本文中,我们的目标是解决商品搜索引擎和内容搜索引擎中异构数据排序的问题,给用户推荐丰富的个性化的内容流。我们把算法分成了两部分:1)异构内容流类型排序,即决定每个坑位展示何种类型的内容流,文章、视频还是商品列表;2)同构的内容流内容排序,第二个步骤使用广为人知的DSSM 模型,在这个内容流类型下,对内容流的内容进行排序,选择相似度最高的内容插入。本文主要聚焦在第一个步骤。

所提出的算法:

本文提出两种算法用于内容流类型的排序,独立多臂老虎机算法和个性化马尔科夫深度神经网络算法。

在独立多臂老虎机算法中,我们需要计算一个比例\(\theta \),由ipv 和pv 计算而来,如果\(\theta \) 更高,表示当用户在搜索列表中看到这个内容流的时候,更有可能点击。对于每一个搜索坑位,我们先会计算一个\(\theta \) 的先验分布,这里我们使用Beta 分布\(\theta _i\sim B(\alpha _i,\beta _i)\), 其中i 表示post, list, video. \(\alpha _i\) 代表类型i 的历史ipv 点击数据,\(\beta _i\) 表示历史浏览数据。\(B(\alpha _i,\beta _i)\) 的期望是\(\frac{\alpha _i}{\alpha _i+\beta _i}\),后验概率分布通过一个实时的流数据任务来更新。表示为如下的概率公式:

通过这种方式,所有坑位的内容流类型都是独立的,伪代码如下:

有依赖的异构数据流类型选择由三种因素决定:用户,query 和前一个坑位类型。首先,在同一个query 下,用户可以表示出不同的偏好。比如用户搜索“连衣裙”,某个用户可能更偏好介绍的文章,另一个用户可能会更喜欢视频的介绍。而且,没有用户喜欢单一的类型展示,或多或少都喜欢多元化的内容流类型的排列。针对同一个query,应该给不同的用户展示不同的排序结果。我们提出的个性化马尔科夫深度神经网络算法包含两个步骤,包括对用户和query 的表示任务学习和坑位类型的预测学习。

用户和query 的低维表示 我们构建了一个graph,包含用户,query 和内容。使用node2vec 学习用户和query 的embedding,如下图:

图中的中间部分是训练节点的embedding 表示。输入层是节点的独热编码。权重矩阵W 是所有节点的embedding,其将节点独热编码映射到一个D 维的空间中。

坑位类型预测 我们的目标函数定义为

其中X 表示输入第i 个坑位的特征,为了简化我们pMDNN 模型并且加速运行的速度,我们只使用跟当前预测的坑位前一个坑位的信息。然而这带来了一个问题,如何预测第一个坑位的类型,这里我们使用到了跨领域知识,我们从用户最近在商品搜索引擎中浏览的宝贝信息中抽取将其映射为内容搜索坑位特征,使其满足当前模型的输入要求。我们的模型输入层为用户的embedding,query embedding 和前一个坑位的embedding。可以表示为

三个全连接层接入输入层中。每一层使用一个线性分类器和交叉熵作为loss function。激活函数选择Relu,输出层应用Softmax 为激活函数。

实验结果:

我们将提出的模型部署到A/B 测试分桶环境中,选择了5 个主要的指标来对比两个模型iMAB 和pMDNN. pv 代表展示内容的个数;pv click 表示展示的内容多少被点击;uv 是多少个用户使用了内容搜索引擎,uv click 表示多少用户点击了内容流;至于uv ctr,表示用户是否点击内容流的比率。

下表展示了实验结果,其中pMDNN 的实验结果优于iMAB。尤其是uv click 和uv ctr,这对于我们的场景非常重要,因为uv click 的增长表示更多的用户倾向于内容搜索引擎因为其能帮助他们更好的购物。同时,uv ctr 的增长展示出使用内容搜索引擎的用户对我们推荐的内容流是认可的。至于pv click 的提高也代表了我们提出的模型更加的符合用户的个性化需求。

基于pv click 和uv ctr,我们可以认为pMDNN 应用了跨领域知识并且全局优化多坑位类型确实要优于坑位独立的iMAB.

参考文献:

[1] Róbert Busa-Fekete and Eyke Hüllermeier. A survey of preference-based online learning with bandit algorithms.
[2] Ali Mamdouh Elkahky, Yang Song, and Xiaodong He. 2015. A multi-view deep learning approach for cross domain user modeling in recommendation systems. In Proceedings of the 24th International Conference on World Wide Web. International World Wide Web Conferences Steering Committee, 278–288.

2018 年 7 月 09 日 16:11 1351

评论

发布
暂无评论
发现更多内容

智能汽车安全风险及防护技术分析

几维安全

移动应用安全

有限数据量如何最大化提升模型效果?百度工程师构建数据增强服务

百度大脑

人工智能 数据 模型训练 百度大脑

《深度工作》学习笔记(6)

石云升

读书笔记 专注 深度工作

解析中美数字货币竞争战略 | 构建属于“人类命运共同体”的货币体系

CECBC区块链专委会

数字货币 人民币

DSN 主流项目调研 2——Sia和SAFE Network

AIbot

区块链 分布式存储 分布式文件存储 Sia SAFENetwork

安卓移动应用代码安全加固系统设计及实现

几维安全

android 安全评估 移动应用安全

SpringBoot系列(二):如何灵活使用SpringBoot

xcbeyond

Java 微服务 springboot

SpringBoot系列(三):SpringBoot特性_SpringApplication类(自定义Banner)

xcbeyond

Java 微服务 springboot Banner

奋斗在一线大城市的年轻人的生活工作实录(工厂蓝领篇)

Learun

程序员 软件开发 故事 企业信息化 短片小说

Week10作业1

熊威

神经网络的学习为何要设定损失函数?

王坤祥

神经网络 机器学习 损失函数

SpringBoot 系列(一):SpringBoot项目搭建

xcbeyond

Java 微服务 springboot

普通工程师简史

郭华

JAVA位运算

彭阿三

Java 位运算

Week10总结

熊威

看前谷歌工程师是如何副业赚钱的?

非著名程序员

程序员 个人成长 副业赚钱 提升认知

致远互联A6+Cloud C位出道 赋能中小企业乘风破浪

爱极客侠

易观CTO郭炜:如何构建企业级大数据Ad-hoc查询引擎

易观大数据

架构师训练营 第 10 周 作业&总结

Jam

核心稳定、易扩展——开放关闭原则(The Open-Closed Principle)

晃来晃去的萨麦尔

编程习惯 架构分析 软件设计原则

关于微服务架构的一些思考

俊俊哥

微服务

DSN 主流项目调研 3——Orbit数据库的故事

AIbot

区块链 分布式存储 IPFS 分布式文件 Orbit

HTML5CSS3前端入门教程---从0开始通过一个商城实例手把手教你学习PC端和移动端页面开发第10章有路网PC端主页实战整合

Geek_8dbdc1

HTML5+CSS3前端入门教程---从0开始通过一个商城实例手把手教你学习PC端和移动端页面开发第11章有路网移动端主页实战

Geek_8dbdc1

微软看上的Rust 语言,安全性真的很可靠吗

华为云开发者社区

数据库 开源 rust 安全 代码

Windows AD日志分析告警平台—WatchAD安装教程

Young先生

监控 windows 日志 AD 告警

作业

Jeff先生

云图说丨手把手教你为容器应用配置弹性伸缩策略

华为云开发者社区

Docker 云计算 Kubernetes 容器 云容器引擎

Django中的session的使用

Young先生

django session Cookie

Django查看操作数据库的执行命令

Young先生

数据库 django 操作

《深度工作》学习笔记(完)

石云升

读书笔记 时间管理 专注 深度工作

微服务治理平台化探索

微服务治理平台化探索

阿里巴巴提出基于异构内容流的动态排序模型,提升用户点击和购买率-InfoQ