IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> RcSys - Bootstrapping Recommendations at Chrome Web Store(KDD2021) -> 正文阅读

[人工智能]RcSys - Bootstrapping Recommendations at Chrome Web Store(KDD2021)

Google: Bootstrapping Recommendations at Chrome Web Store(KDD2021)

1. Introduction

业务场景:
??Google Chrome 中 Chrome Web Store,推荐浏览器第三方插件(以下以item代称)

任务:
??在现实数据中,从零开始搭建大规模推荐系统

困难:
??不同于学术研究中已处理好的数据,现实中通常面临隐私限制、数据分布不均、数据稀疏等问题

contributions:
??1.设计了快速可解释非个性化神经网络排序模型(non-personalized recommendation),有助于从零开始的推荐系统进行数据和特征分析,从而实现快速训练和推断,为后续更先进的模型快速迭代铺路
??2.设计了相关推荐模型(related extension recommendations),利用新的item-item based算法,解决现实数据问题
??3.结合前两种模型,设计了个性化推荐模型(personalized recommen- dations),有效缩短开发周期,并规避了业务面临的困难

2. non-personalized recommendation

目的:快速构建打通pipeline,帮助端到端推荐更快实现,并更易分析解决机器学习模型问题
负责业务:面向未登录用户推荐猜喜

2.1 模型架构

数据:
(input)每个item构建为k-dim向量 x
(input)简单的上下文特征 q,如浏览器设置的地区、语言
(label)对当前item的操作(1-点击,2-安装,0-otherwise)

模型:
??Neural RankGAM:从零开始搭建推荐系统过程中,为了方便迭代,选择训练可解释的generalized additive models (GAMs)。为每个特征单独构建子模型,再将子模型输出的和作为预测结果 y ^ = f ( x ) = ∑ j f j ( x j ) \hat{y}=f(\bold{x})=\sum_{j}f_{j}(x_{j}) y^?=f(x)=j?fj?(xj?)
??Neural RankGAM+:引入简单的上下文特征 y ^ = f ( q , x ) = ∑ j w j ( q ) f j ( x j ) \hat{y}=f(\bold{q,x})=\sum_{j}w_{j}(\bold{q})f_{j}(x_{j}) y^?=f(q,x)=j?wj?(q)fj?(xj?)

2.2 改进

case:线上落败
原因:线上线下数据分布差异,线上候选集为整个item空间,而训练主要针对最热item
可选方案:对训练数据加权等;增加候选filter,对线上item只推荐训练数据中高频出现的item

3. related extension recommendations

面向业务:推荐当前item的相似扩展item

3.1 尝试1:pointwise mutual information (PMI)

??对于任意两个item,计算其pointwise mutual information (PMI)(类似于item共现分)

?? P M I ( e 1 , e 2 ) = N # ( e 1 , e 2 ) # ( e 1 ) # ( e 2 ) PMI(e_1,e_2) = \frac{N \#(e_1, e_2)}{\#(e_1)\#(e_2)} PMI(e1?,e2?)=#(e1?)#(e2?)N#(e1?,e2?)?,给定 e 1 e_1 e1?下, P M I ( e 1 , ? ) ∝ # ( e 1 , e 2 ) # ( e 2 ) PMI(e_1, \cdot)\propto\frac{ \#(e_1, e_2)}{\#(e_2)} PMI(e1?,?)#(e2?)#(e1?,e2?)?

面临困难:
??1.冷启动问题:当前item没有任何交互数据
??2.PMI一直在尝试推荐相关但罕见的item(极端情况可以考虑 e 2 e_2 e2?仅和 e 1 e_1 e1?共现,其余情况均不安装)

3.2 尝试2: learning to rank formulation

对于共现数据 { e 1 , e 2 , e 3 } \{e_1,e_2,e_3\} {e1?,e2?,e3?},相互作为正样例,从整个空间中采样负样例

case1:所有相似推荐结果同质化(对于不同item推荐列表不变)
原因:安装item的分布是高度不均的,热度集中在少数item上

case2:针对case1优化,如加权,启发式负采样,更通用的特征(如文本类特征),但线上落败
原因:从一个极端(最热)到另一个极端(相关但不流行),单纯使用基于学习的方法在最热和相关之间取舍很难

3.3 A new hybrid item-item recommendation method

3.3.1 Mixture model解决流行度偏差

??假设given e 1 e_1 e1?下, e 2 e_2 e2?安装的概率由 P i n s t a l l e d ( e 2 ∣ e 1 ) = ( 1 ? λ ) P r e l a t e d ( e 2 ∣ e 1 ) + λ P ( e 2 ) P_{installed} (e_2|e_1)=(1-\lambda)P_{related}(e_2|e_1)+\lambda P(e_2) Pinstalled?(e2?e1?)=(1?λ)Prelated?(e2?e1?)+λP(e2?)给出

??用共现计数定义最大似然问题 L = ∑ e 2 l o g ( P i n s t a l l e d ( e 2 ∣ e 1 ) ) L= \sum_{e_2}log(P_{installed} (e_2|e_1)) L=e2??log(Pinstalled?(e2?e1?))

??从而求出相似度 P r e l a t e d ( e 2 ∣ e 1 ) P_{related}(e_2|e_1) Prelated?(e2?e1?)

3.3.2 Hybrid method

mixture model给出更流行的item,与PMI互补,因此采用加权和 P M I ( e 1 , e 2 ) + w P r e l a t e d ( e 2 ∣ e 1 ) , w = 5.0 PMI(e_1,e_2) + wPrelated(e_2|e_1), w=5.0 PMI(e1?,e2?)+wPrelated(e2?e1?),w=5.0

然而mixture model 和hybird method都没能解决冷启动问题,因此引入额外信息,用bert获得item的文本embedding,以此作为base score,进而基于流行度重排。

4. personalized recommendation

负责业务:面向登录用户推荐猜喜
面临困难:涉及隐私限制

4.1 尝试1:采用序列建模用户安装item

将用户的安装历史item按序排列,预测下一个,但最终落败
原因:数据稀疏、分布不均、时序很短

4.2 A bootstrapping approach

  • 利用前两种推荐模型,对用户安装历史(len=n)中所有item构建其相似集(共n个)
  • 新增一个non-personalized recommendation 结果(有助于多样性)
  • 每次取这n + 1个集合中的第 i 个 按流行度排列接在之前列表(前i - 1个生成的结果哦)后

5. future work

  1. non-personalized recommendation:尝试更复杂的机器学习模型
  2. related extension recommendations:在保障隐私的同时获得session数据;微调bert更好解决长尾问题;用统一的机器学习方法均衡流行度和相似度
  3. personalized recommendation:针对数据高度分布不均构建统一模型;提升前两种模型能力;探索其他方法,包括引入其他业务数据
  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2021-08-28 09:00:22  更:2021-08-28 09:22:04 
 
开发: 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/1 10:30:43-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码