美图个性化推送的 AI 探索之路

栏目: IT技术 · 发布时间: 4年前

内容简介:分享嘉宾:周燕稳、蒋文瑞 美图文章整理:李元

美图个性化推送的 AI 探索之路

分享嘉宾:周燕稳、蒋文瑞 美图

文章整理:李元

内容来源:DataFunLive

出品平台:DataFun

注:欢迎转载,转载请在留言区留言。

导读: Push 作为一种有效的拉起 DAU 和召回用户的策略,近几年来被各类社交 App 广泛应用,随着深度神经网络在语音和图像识别上取得的巨大成功,AlphaGo 战胜人类围棋顶尖高手,以深度网络为基础的人工智能迎来第三次高潮。如何将深度模型应用于个性化 push 场景,从而减少无效 push 对用户的骚扰,是近年来一个关注的热点。本次分享将结合美图的实际业务场景从 Embedding、召回、 排序 、文案、内容池等多个方面介绍如何打造一个良好的 push 场景。

本次分享的内容概要如下:

美图个性化推送的 AI 探索之路

1. 业务背景

美图个性化推送的 AI 探索之路

Push 也就是推送通知,可以通过系统界面直接触达用户,当用户点击就会唤醒 APP,是提高 APP 的日活,留存等指指标重要的环节之一。

2. Embedding 演进

美图个性化推送的 AI 探索之路

首先,我们介绍 Embedding 的过程。从三个算法层面介绍 embedding:Word2Vec,Listing Embedding ( 参考 Airbnb ) 在个性化 push 的应用,以及近两年流行的图相关的算法 GCNs。

2.1 Word2Vec

美图个性化推送的 AI 探索之路

- Feed 也就是展示页的一个 item,对于美图秀秀来说就是用户发的一张图,对于电商来说就是一个商品,本文统一称为 feed。

- Embedding 就是把任何一个 Feed 转化为一个向量,服务于后面的召回和排序。Embedding 是比较基础的过程,在最开始阶段,我们尝试了最基础的 Work2Vec 中的 Skip-Gram 的模型,通过对于用户的点击序列模仿 Work2Vec 中的一个句子。如图所示,我们有序列之后,定义窗口大小,通过中心词,就会得到 Train Sample。紧接着 定义单侧窗口大小为2,就可以得到样本对,把样本对输入模型,就可以返回向量。

在实验中,我们采用了60天的点击序列,输出向量设置为100维。

2.2 Airbnb Listing Embedding

美图个性化推送的 AI 探索之路

Airbnb listing Embedding 是2018年 KDD 的最佳论文,这里和 Word2Vec 主要的区别在于损失函数,模型本身和 Word2Vec 是保持一致的,所以我们先看 Word2Vec 的损失函数:

损失函数由正负样本两部分组成,正样本对 D 来源于用户点击流生成的 item pair,负样本对 D n   通过当前的 item + 随机采样空间的其他 item ( 这里假设随机采样的样本不是当前 item 的邻居 ),ctx 表示上下文。这里需要注意的是在 log 里,正样本前面有负号,负样本没有负号。

美图个性化推送的 AI 探索之路

但是,之前的构造只用了用户的点击数据,实际上用户还有点赞、分享等行为数据可以利用。所以,在 Airbnb listing Embedding 中,加入了 Global Context 这样一个概念:通过用户历史的点赞、分享对应的 feed,与当前的 feed 构造出全局正样本对,使这些 feed 在点击序列上和当前的 feed 并不相邻, 加入到损失函数中。( 如公式中的紫色部分 )

美图个性化推送的 AI 探索之路

同理,我们可以通过用户的点击"不喜欢"的行为来构造负样本 ( 如公式中的红色部分 )。除此之外,用户的浏览过,但是没有点击的 feed 也可以随机采样之后当做负样本,加入到损失函数中 ( 如公式中的蓝色部分 )。

这样,就把 Airbnb listing Embedding 的策略引入到了美图秀秀的场景里。

2.3 Graph Embedding

美图个性化推送的 AI 探索之路

Graph Embedding 是近几年比较流行的 Embedding 方法,主要策略可以分为三类:Shallow Embedding,Neighborhood autoencoder methods 和 GCN 的方法。但是前两种方法涉及到不可拓展和直推式的缺陷,GCN 可以避免以上的缺陷。

美图个性化推送的 AI 探索之路

前面两种 Embedding 只对行为序列本身进行了建模,但是没有考虑节点本身的特征;另外,在之后的排序模型中,排序模型使用了 item 的自身属性进行排序。GCN 就是把用户行为和 item 本身的特征联合起来,既能用上图的拓扑结构,又可以把握属性特征,把信息融合起来做 Embedding。在上图中,假设我们要计算 A 的 Embedding,可以通过计算 A 的一阶近邻 BC 的信息聚合得到 Aggregate,而 BC 的信息可以由二阶近邻 DEC,EBFG 的信息计算卷积 ( Convolution ) 计算得到。

美图个性化推送的 AI 探索之路

具体来说,延展的过程中,主要包括对于高阶信息的汇总 Aggregate,以及当前阶和邻阶节点上一阶的卷积之间信息的结合 Combine。 其中,Combine 可以很多操作,比如拼接,求和等。 Aggregate 的过程中,需要注意的一点是采用了 Importance pooling,这里并不会对每个邻居节点都汇总,而是先计算一个Importance Factor ( 影响力因子 ),影响力因子小于阈值的不参与加权,最后根据权重去加权求和。

美图个性化推送的 AI 探索之路

构件图的不同形态:

- 二分图形态:两种类型 ( Feeds,User ) 内部之间没有边,不同类型之间才有边;

- 单体图形态:根据用户同一时间段的行为,将 Feeds 之间关联起来。

到此为止,我们介绍了 Embedding 所尝试的方法。

3. 召回模型

美图个性化推送的 AI 探索之路

召回主要采用了四个方面:全局召回 ( 热榜,热搜,热词 ),个性化召回 ( 根据用户的行为,兴趣进行召回 ),属性召回 ( 也就是画像召回,通过机型,性别,年龄等 ),最后是相关召回 ( 包括相似,关键词召回等 )。

3.1 个性化召回之 YoutubeNet

美图个性化推送的 AI 探索之路

YoutubeNet 是近两年比较流行的算法,它既可以做召回,也可以做排序。通过输入用户的行为序列得到用户和 item 的向量,然后就可以通过向量相似程度,对每个 user 相似的 topN 个 item 进行个性化召回,实验中到达点击率提升了1.661%。

3.2 个性化召回之聚类召回

美图个性化推送的 AI 探索之路

业务上,push 也包含一个任务是实现将"工具类用户"转化成"社交类用户",从而提高长期的 DAU。在聚类召回阶段,可以通过对于用户的 工具 偏好特征去构建 multi-hot 的向量,然后进行用户群聚类,对于每个特定的用户群召回对应的榜单。

3.3 相关召回之相似召回

美图个性化推送的 AI 探索之路

相关召回在美图秀秀中是输出用户近期的 item 点击流,获取了对应的 Embedding 之后,可以通过计算 Embedding 的均值然后找余弦距离最小的候选项;或者直接将每个候选项去找余弦距离最小的候选项,最后进行汇总。这里值得思考的一个问题是,何时利用好工具行为的特征,是在排序阶段,召回阶段,还是生成 Embedding 的阶段?经过实验,得到在 Embedding 阶段使用工具行为特征效果最好。

3.4 相关召回之聚类召回

美图个性化推送的 AI 探索之路

聚类召回主要是为了实现多样性,避免同质化的内容。通过对 item 的 Embedding 进行聚类,相当于每个 item 多了一个分类标签。通过统计用户对于每个类别的行为记录次数,按照倒叙进行排列。在召回阶段,按照排列好的顺序依次从每一个类别中抽取一个 item,如果所有类别都抽了一遍,召回的数量仍然不够多,可以继续再抽一轮,直到候选数目足够。这样就实现了召回源的多样性。

3.5 相关召回之文案相关召回

美图个性化推送的 AI 探索之路

当选取候选 item 之后,发送 push 仍需要一条文字信息触达用户,这里简称文案。文案一般由编辑生成,会有很多候选项,所以也需要对文案进行建模召回。主要有以下三个方案:

- 关键词召回:通过对于历史的文案进行分词,得到每条文案的关键词,然后把用户对于文案的点击映射到对于关键词的点击,这样就能得到用户对于不同关键词的偏好。当我们新需要发送一条文案时,可以得到用户对于每条候选文案偏好度,召回偏好大的文案。

- 热词召回:通过计算全局哪些关键词最受欢迎,召回的过程中直接召回带有热门关键词的文案。

- 文案相似度召回:通过 NLP 的模型,比如 BERT,生成每一条对应的 Embedding,然后召回与用户点击过的文案余弦距离最小的文案。

以上,就是所有的召回部分。

4. 排序模型

4.1 LR 逻辑回归模型

美图个性化推送的 AI 探索之路

在排序模型的初始迭代阶段,使用了最简单的 LR 模型,LR 的模型优点是模型浅,计算简单,解释性强,易于使用。但是缺点也显而易见,LR 对于非线性特征拟合程度差;除此之外,交叉特征的生成依赖于大量尝试以及人工经验,所以尝试成本很高。

4.2 xNFM 模型

美图个性化推送的 AI 探索之路

通过对于 LR,Wide&Deep,deepFM,NFM,DCN,xNFM,xDeepFM 模型的尝试与对比,最后选择的 xNFM 的模型。xNFM 优点是组合了一阶和二阶的特征的优点,性能上也可以达到工业落地的需求。

美图个性化推送的 AI 探索之路

xNFM 不是业界主流的模型,而是在落地中对于 NFM 的变种。主要区别在于:

- 模型的输入端为了降低模型参数规模,把 id 类特征和非 id 类特征分别进行 Embedding,可以大大减少参数规模。

- 在上层网络,主要区别在于右侧。传统的 NFM 的弊端是只考虑了一个显性的二阶信息,而忽略了一阶信息 ( 单特征 ),所以我们增加了右边的网络用来捕捉单特征的信息。相比于 LR,提升效果明显,到达点击率提升13.89%。

4.3 双塔模型

美图个性化推送的 AI 探索之路

随着用户量的增加,计算量飙升,笛卡尔积之后会有千亿级别的计算量,使得模型更新周期变长,时效性降低。为了解决这个问题,我们提出了双塔的结构。双塔的结构特别在,当 user 和 item 分别构建一个 DNN 的全连接的网络。这样设计优化主要体现在工程性能方面,存储量大大降低,预测阶段耗时也降低,从而实现了支持亿级别的用户高效计算。从最初的双塔之后接入到内积,再到上图的双塔接入 NFM,到最后再加入点击序列的信息,三个版本的迭代最终点击率累计提升23.9%。

4.4 三塔模型

美图个性化推送的 AI 探索之路

在之前也提到,我们有很多召回策略,但是召回源质量参差不齐,所以就需要解决对于召回源的选取。

- 最初的想法是根据每个召回源的转化对排序结果进行 socre reweight,但是弊端也很明显,因为召回源直接并不互斥,同个 item 会被多个召回源命中,所以 reweight 的规则也难以定义。

- 之后,为了个性化,直接把召回源信息加入到模型中。这里为什么不把召回源直接加入到 item 的特征中,而是单独的构造了一个塔呢?主要工程上的考虑,如果把召回源的信息加到 item 塔中,必须等 item 塔计算完成之后才能进行生产预测,会造成串行化,增加了延时。

增加了召回源信息之后,到达点击率提高了3.06%。

4.5 Field_wise 三塔模型

美图个性化推送的 AI 探索之路

最后一版就是对于 NFM 模型的改进,在 NFM 左边的 Bi-Interaction Layer 中,BI 是 Bi-linear 的缩写,这一层其实是一个pooling层操作,它把很多个向量转换成一个向量,形式化如下:

美图个性化推送的 AI 探索之路

输入是整个的嵌入向量,x i ,x 是特征取值,v i ,v u 是特征对应的嵌入向量。中间的操作表示对应位置相乘。所以原始的嵌入向量任意两个都进行组合,对应位置相乘结果得到一个新向量;然后把这些新向量相加,就得到了 Bi-Interaction 的输出。这个输出只有一个向量。这里参考 FM 到 FFM 的改进过程,引入 Field 的概念。由于 BI 层不同的类别特征所表达是权重不相同,而 BI 层捕捉不到这个信息,所以可以对于每个向量相乘前可以加上权重。但是,这样会导致参数过多,而同属于一个 field 的变量权重应该相近,所以对于 BI 层进行同类别的权重 w i,j  共享而会使用相同参数的点积来计算:

美图个性化推送的 AI 探索之路

从而得到了 Fieldwise 三塔模型。模型上线后最终得到了到达点击率5.68%的提升。

5.  文章小节

到此为止,我们分别介绍了 Embedding,召回,排序三部分。Embedding 作为底层的服务辅助召回和排序,总共涵盖了 word2vec,airbnb listing embedding,GCNs 等几种不同策略;在召回部分,从不同场景与目标介绍了不同的召回策略;排序部分主要是模型由 LR 到 Field_wise 三塔模型的迭代过程,重点是如何解决特征生产阶段中耗时的笛卡尔积运算,使得一些更具规模的模型得以在线上业务投入生产。

今天的分享就到这里,谢谢大家。

美图个性化推送的 AI 探索之路

如果您喜欢本文,欢迎点击右上角,把文章分享到朋友圈~~

欢迎加入DataFunTalk 推荐算法 交流群,跟同行零距离交流。如想进群,请加逃课儿同学的微信 ( 微信号: DataFunTalker ),回复: 推荐算法 ,逃课儿会自动拉你进群。

分享嘉宾

美图个性化推送的 AI 探索之路

周燕稳

美图 | 高级推荐算法工程师

毕业于厦门大学。曾就职于阿里巴巴、人人网,从事大数据、数据挖掘相关工作,现主要负责美图秀秀 push 推荐业务的召回和排序的相关算法设计及落地。

美图个性化推送的 AI 探索之路

蒋文瑞

美图 | 技术经理

从事 AI 与个性化推荐相关研究工作,毕业于武汉大学。研究方向为大规模机器学习、深度模型及监督/无监督训练,并于 NIPS 2015 Workshop 发表论文。曾就职于 HTC 大数据研发中心、秭云科技。

——END——

文章推荐:

深度学习技术在美图个性化推荐的应用实践

关于我们:

DataFunTalk 专注于 大数据、人工智能 技术应用分享与交流 。发起于2017.12,至今已在全国7个数据智能企业和人才聚集的城市 ( 北京、上海、深圳、杭州等 ) 举办超过100场线下技术分享和数场千人规模的行业论坛及峰会,邀请 300 余位工业界专家和 50 位知名学者参与分享, 30000+ 从业者参与线下交流。合作企业包括 BATTMDJ 等知名互联网公司和数据智能方向的独角兽公司,旗下DataFunTalk公众号共生产 原创文章300+,百万+阅读,5万+精准粉丝。

注: 左侧关 注" 社区小助手 "加入各种 技术交流群 ,右侧关注" DataFunTalk "公众号 最新干货文章 不错过 :point_down: :point_down:

一个 在看 ,一段 时光 :point_down:


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

MATLAB数值计算

MATLAB数值计算

莫勒 / 喻文健 / 机械工业出版社 / 2006-6 / 35.00元

《MATLAB数值计算》是关于数值方法、MATLAB软件和工程计算的教材,着重介绍数学软件的熟练使用及其内在的高效率算法。主要内容包括:MATLAB介绍、线性方程组、插值、方程求根、最小二乘法、数值积分、常微分方程、傅里叶分析、随机数、特征值与奇异值、偏微分方程。《MATLAB数值计算》配备大量MATLAB例子源代码及习题,其中涉及密码学、Google网页分级、大气科学和图像处理等前沿问题,可以帮......一起来看看 《MATLAB数值计算》 这本书的介绍吧!

在线进制转换器
在线进制转换器

各进制数互转换器

SHA 加密
SHA 加密

SHA 加密工具