图表示学习在美团推荐中的应用

2021 年 12 月 24 日 图与推荐


分享嘉宾:黄祥洲博士 美团 算法工程师

编辑整理:Matrix 中国人民大学

出品平台:DataFunTalk


导读:在深度神经网络技术兴起的前几年,图像、语音、文本等形式的数据都能在深度学习中被很好地应用。近年来作为一类主要用来描述关系的通用数据表示方法——图数据,也在产业界产生日趋广阔的影响力。作为一项新兴图数据学习技术,图神经网络自2018年开始在顶会论文中崭露头角。其中,图表征学习法指的是通过神经网络计算方法,根据节点属性、边和边的属性生成一个向量作为图的表征,并基于图表征进行图的预测。今天向大家分享下美团关于图表征学习在美团推荐中的应用。

今天的介绍主要围绕两大点展开:

  • 图表征学习在美团推荐场景落地的挑战

  • 图表征学习在美团推荐场景中的应用举例

01
图表征学习在美团推荐场景落地的挑战

1.  美团推荐——产品形态多样

首先介绍一下美团的产品形态。

(1)  美团APP综合信息流

美团猜你喜欢,给用户推POI,SPU,或者是其他一些广告。

(2)  点评APP内容信息流

比如点评内容,feed推送。

(3)  频道内附近POI推荐

在频道内,推荐一些附近的相关的兴趣点。

(4)  商品详情页面相关推荐

到达某个指定POI或SPU之后,会有商详页的相关推荐。

可以看到美团产品线还是很多种多样的。

2. 美团推荐搜索中的引导推荐

除了单纯的推荐以外,在搜索中也会有一些引导的推荐,比如

(1)  默认词,推荐给用户一些搜索词

(2)  热门搜索

3. 美团推荐建模方案多样

前面介绍了场景,下面来介绍建模。

上面提到的那些场景里面的用户、商户、餐品,其实都可以在建模的时候把它们考虑进来。我们要将图学习应用到下游任务时,第一步就是构图。我们通过分析下游任务的实际需求,选择场景中的实体作为图中节点,选择实体和实体之间的关系构成图中的边,然后在建模时,考虑把场景上下文作为节点和边的属性。实际建模构图的时要考虑很多因素,举个实际例子,我们将商品作为节点来构图建模,会考虑其是否标品。同样是500毫升的可口可乐,在不同的店里面会有不同的商品ID。我们实际构图时,怎么对这个商品进行建模,是我们需要考虑的问题。又例如对同一个菜品,像宫保鸡丁,在不同商家里有不同的菜品ID,在点外卖和去店里也会是不同的实体,我们如何针对不同场景设计不同的建模方式,是我们构图时的一个重要挑战。

4. 美团推荐场景差异

接下来介绍一下美团LBS (Location-based service) 推荐和其它推荐,比如电商推荐、新闻推荐、短视频推荐等场景上的差异。

  • 在主目标上,LBS推荐主要是关注订单,还有新客的订单,电商也是类似的,但是新闻推荐和短视频推荐,可能会更关注日活跃用户数量和时长。

  • 在场景化和位置约束上,LBS推荐的场景化配置约束是比较高的,用户需要在他指定的时间、指定的地点,选择自己想要的商品。

  • 在供给方面,LBS推荐的供给是有区域性的,而电商推荐、新闻推荐和短视频推荐的供给可能是全国化的。

  • 从复购来看,LBS推荐复购程度较新闻推荐和短视频推荐低。

  • 在时间粘性和社交粘性上,LBS推荐是比较弱的。

5. 美团推荐场景特点

整体来看,美团推荐有如下场景特点:

  • 第一,  业务跨度大,且差异巨大,分布在吃、住、行、游、购、娱等各个方面。比如可能会想点外卖,可能出行需要订机票、酒店、门票等等;

  • 第二,  时空场景复杂,我们会分本地异地、时间、地点等。比如外卖可能会是北京订北京收,而酒店类产品可能是异地订异地收等等。

  • 第三,  数据稀疏,一些新业务会比较低频,订单也会比较少,但是这些业务也是比较重要的,我们如何拿高频的一些业务构成了图去补充低频业务的推荐,也是我们的一个挑战。

  • 第四,  供给约束,供给数量受LBS约束。

接下来,主要讲一下在时空场景复杂这个问题上,我们做的一些图表征学习的工作。

02
图表征学习在美团推荐场景中的应用举例

1. 时空图表征推荐

这是我们发表在ICDM上的一个工作,结合了时空的图表征学习推荐。

(1)用户在不同时间段内感兴趣的区域不同

首先介绍一下我们做这个工作的动机。

用户在不同的时间段内,感兴趣的区域是不一样的。

POI推荐里面时间和空间其实是相互作用的,共同影响着用户的决策。左边这张图,不同的颜色表示用户在不同时间段对区域的一些偏好性。蓝色表示的是早上6点到12点的用户偏好,绿色表示的是用户在下午的偏好,晚上则是用黑色来表示。首先,从时间上,可以看到不同用户在相同时间的倾向性不同。然后,从空间上,用户会对特定空间有所偏好,同时POI的影响范围也不同。再看稀疏性,用户在特定时空环境下交互行为是稀疏的。比如像早上蓝色时间段,倾向的POI数量是比较少的,而晚上和下午则相对比较稠密。

(2)相关工作

在时空相关的表征建模研究已有很多工作。

空间相关的工作,有把整个大图按照空间做划分,或者把空间当作时间的节点。时间上面的工作,是把大图按照时间分成几个组,独立地训练。或者把时间当作节点的特征,或者把时间当做一个独立的节点,在图上面做表示。缺乏一个把时间和空间联合起来进行建模的有效方案。

(3)用户访问POI的时间间隔示例

其实从一些采样的数据可以看到,用户访问的POI的时间隔其实是各不相同的。左边这张图是表示同个用户访问同个POI的时间间隔的分布。对于这个用户而言,他倾向于在短时间内连续访问这个POI。右图中,我们把访问这个POI的用户定义成相似用户, 对这些用户访问这个POI的时间间隔的分布进行统计。可以看到,有些用户偏向于在比较短的时间内访问POI,也有些用户访问POI是经过比较长的时间间隔。所以每个用户访问POI会有自己的时间上的倾向。

(4)结合用户所在区域和时间段推荐合适的POI

综合来看,我们要做时空的推荐,应该结合用户所在的区域和时间段进行推荐。上下文场景是对于用户在某个时间段我们给他推一些候选POI,然后由候选POI的位置,以及用户所在的位置,在这种情况下我们怎么结合上下文给用户推荐到合适的POI,是我们建模要解决的。

(5)时空多图

这里介绍一下我们的构图方案。这是一个多图。首先,看用户和POI的连接,我们对用户和POI连接的边分成了多个时间段,每个时间段会有一条边,这就构成了多边。POI和POI之间的连边,主要是考虑贡献的关系,比如用户共同的点击、共同的下单行为。其次,是POI和区域AOI的从属关系,以及用户和AOI的从属关系。AOI和AOI之间可能也有自己的一个相邻的连边。这些整体构成了我们整个STGCN构图的一个全景的框架。

(6)模型框架

接下来介绍一下我们时空图表征学习的模型框架。

  • 首先,我们构造了一个用户到POI再到区域的一个多图

  • 然后进行采样,会得到一个子图

  • 再根据各个节点不同的特征,以及它本身的一些可以初始化的ID特征,得到一个节点,最初始化的embedding,通过这边聚合成得到它的一个表征

  • 最后再做一个多层融合,算一个多方面的loss。

(7)时间平滑的子图采样

采样部分,我们构造出来是一个多图,一个用户可能在多个时间段都对同一个POI进行了访问。首先,我们会以时间作为因子,去对全图进行一个子图的采样。每条边采样的权重,是根据当前采样的时间节点,以时间偏差作为采样的因子。上图中的公式代表与目标的时间相差越小,也就是距离这个时间越近的一条边,被采选的概率会越大。这样就可以解决有一些边上交互起来比较稀疏的一个问题,使得采样出来的数量比较平滑。

(8)图卷积层

采样完成后,获取每个节点在当前时间t的embedding。

在某种关系下,所有采样出来的节点,和自己中心节点做一个聚合,再做一个非线性的函数,得到它下一层的节点的表征。

最后得到的表征,还用了多层的表征的结合。

对当前关系下面的归一化系数。

这样就得到了每个节点在当前t时间下的一个节点的表征。

(9)预测层

预测适当的POI,有四个需要优化的目标。

首先是在t这个时刻,用户对POI的兴趣。然后是在这一时刻,用户对区域的兴趣。还有在这个时刻下用户与POI所在区域的距离,以及这些区域对POI的从属。我们还会有一个加权的系数。

(10)优化目标

优化方面有两个Loss。第一个是优化图本身经常用的一个Loss,比如节点之间,相连节点的embedding,以及它复采样出来一些节点embedding,希望相连节点变得尽可能的相似,复采样出来的节点embedding尽可能的远。第二个,就是对预测层的一个Loss。样本是用户在t时刻交获的POI,副样本就是用户在t时刻以前没有交的POI采样作为副样本。最后一个整的Loss就是上面这两部分Loss,再加上对系数的一个正则化。

(11)实验

对两类数据集——点评和Gowalla的实验,采取了大概一个月的时间,用户对POI的点击。可以看到,相比传统的GOF、LINE,加上时空考虑的模型取得了更好的效果。

(12)消融实验

上图可以看到消融实验的结果。篇幅有限,在此不展开说。但可以看到,加上时间因素和空间因素后,会对整个模型起到一定的提升。

(13)case分析

首先,我们想回答这样一个问题,STGCN能不能捕捉到用户POI的一些周期性模版。左上图表示的是一个用户对POI在时间上的偏好。可以看到他对0、1、2、3这四个不同POI在不同时间是一个缓慢变化的过程。这也符合我们前面的一个假设,因为我们前面时间采样是比较平滑的。右上图表示的是不同的用户,对同个POI偏好的时间段是不一样的。

第二个问题就是STGCN能不能捕捉到用户和区域上面的一些周期性模版。前面我们假设用户在不同的时间段里会对不同的区域感兴趣。右下图也可以看到,在不同的时间段,用户attention高的区域也是会分布在不同的区域范围内。早上可能是在上面的红色区域,晚上可能是在下面的蓝色区域。

2. 图学习在美团推荐场景的落地

前面讲了我们在针对时空场景上的一些特殊的建模。

我们将图表征学习应用到下游任务时,在美食频道、酒店频道、相关搜索和推荐广告中都做了一些尝试,部分场景上效果得到了显著提升。

03
总结和展望

综上,我们看到了图表征学习在美团推荐中的不同场景、不同时空下的应用。当然,未来,我们还有很多问题要解决。比如业务场景跨度大,和部分业务低频但很重要等问题。为了解决这些问题,我们现在在做的是跨域图表征的一些预训练。整合我们外卖、酒店、美食、旅游、优选、娱乐、买菜的数据,要去训一个大图,训练出大图之后,怎么再进行反复的操作,或是联合下游的一些排序模型,或者一些召回模型进行联合训练,这都是我们继续要做的工作。未来我们还会面临一个千亿边规模的快速稳定训练的挑战。我们现在最大规模的图可能也只有80多亿,未来跨域之后,可能把更多的交互行为考虑进去,图会越来越大,要如何稳定地训练,并且训练出来的图有效果,这也是我们未来要继续做的事情。

最后再来介绍一下我们的团队,欢迎大家加入。

04
精彩问答

Q:GCN(图卷积网络)用在大规模图存在性能问题吗?目前实践的图规模有多大?

A:目前我们实践中广告上的图会比较多比较大,大概3亿多节点,80多亿条边。性能上,在实际在线用的时候,我们用离线ebedding计算好了,在线做比如索引的召回、点击召回,这样还是比较快的。训练的时候,大多数情况下80多亿边的图在几百G的内存下是可以训练出来的。分布式就更加简单了。如果大家资源不够,那可以图像切割后再进行训练。把图切分,然后每个work上面做自己领域的采样,然后互相训练,最后再做一个整体梯度的回传。

Q:有考虑在POI中加入社交关系吗?

A:我们拿到的社交关系数据比较少。目前能构成边的关系还是点击、交易、收藏行为,但是社交在美团场景中还是很少的。所以目前还没有尝试。

Q:针对于用户不同行为设计的多关系图,关系数量是什么样的量级?可否把物品的属性类别也当作关系来做?如果关系数很多,怎么处理?

A:第一个问题,这边可能想问的是刚才“时空多图”这个地方吧?首先我们这里的多图并不是指多关系,而是指用户在不同的时间段里面都访问这个POI,每一个时间段一个访问,我们可能会构出一条边来。这边的访问已经结合了我们可能会给不同的交互一个不同的权重,形成同一种关系。比如可能点击行为,给了权重是一,下单可能是三,支付可能是五,这样多关系做一个聚合。

第二个问题,能不能把物品的属性类别当作关系来做。比如像我们这边物品的属性和类别,举个例子,常用的属性是一级类目,二级类目,三级类目,或者是平均价格,这种离散特征的枚举数量是比较少的,不好当关系来做。可能在每种关系做一条不同的边,其实这种你要得到不同的embedding应该也是可以的。

Q:时间信息如何表示?

A:基于时间采样,用户在这个时间段上或相邻时间段的交互行为,做一些节点和聚合操作。

Q:针对尾部关注度较低的商家、商品怎么做?

A:冷门商品在图里的交互节点会比较少。我们会对图进行裁剪,做稠密平滑处理,从而避免特别热或特别冷的节点。

Q:对于每种行为的学习不同向量最后如何融合?

A:多层embedding进行融合,用户在某个时间段只有一个表征。时间片上不会融合。

Q:采样考虑重要性吗?

A:会有平滑策略。假设这个时间片下交互少,那么会用其他时间片。不过,距离这个时间间隔越长,采样越少。不会有某个时间片上有太热的点。尾部冷门点我们也会采和它接近的点来进行工作。

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


在文末分享、点赞、在看,给个3连击呗~


分享嘉宾:


登录查看更多
1

相关内容

在机器学习中,表征学习或表示学习是允许系统从原始数据中自动发现特征检测或分类所需的表示的一组技术。这取代了手动特征工程,并允许机器学习特征并使用它们执行特定任务。在有监督的表征学习中,使用标记的输入数据来学习特征,包括监督神经网络,多层感知器和(监督)字典学习。在无监督表征学习中,特征是与未标记的输入数据一起学习的,包括字典学习,独立成分分析,自动编码器,矩阵分解和各种形式的聚类。
王晓伟:图神经网络在快手推荐召回中的应用和挑战
专知会员服务
24+阅读 · 2022年3月23日
个性化学习推荐研究综述
专知会员服务
57+阅读 · 2022年2月2日
图神经网络前沿进展与应用
专知会员服务
143+阅读 · 2022年1月24日
IJCAI2021 | 课程对比图表示学习
专知会员服务
21+阅读 · 2021年11月7日
专知会员服务
23+阅读 · 2021年8月3日
【WWW2021】 大规模组合K推荐
专知会员服务
42+阅读 · 2021年5月3日
专知会员服务
33+阅读 · 2020年11月18日
专知会员服务
29+阅读 · 2020年9月13日
基于旅游知识图谱的可解释景点推荐
专知会员服务
89+阅读 · 2020年9月4日
【图神经网络(GNN)结构化数据分析】
专知会员服务
114+阅读 · 2020年3月22日
图谱实战 | 李翔:美团到店综合知识图谱的构建与应用
美团到店综合知识图谱的构建与应用
专知
1+阅读 · 2022年3月28日
Embedding技术在商业搜索与推荐场景的实践
机器学习与推荐算法
0+阅读 · 2022年2月15日
图表征学习在美团推荐中的应用
专知
1+阅读 · 2021年12月23日
图神经网络适合做推荐系统吗?
机器学习与推荐算法
1+阅读 · 2021年12月15日
SIGIR'21 | 推荐系统中的多关系图神经网络
图与推荐
3+阅读 · 2021年10月10日
领域应用 | 美团商品知识图谱的构建及应用
开放知识图谱
3+阅读 · 2021年8月3日
快手类推荐系统实践
机器学习算法与Python学习
17+阅读 · 2018年2月7日
国家自然科学基金
7+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
1+阅读 · 2014年12月31日
国家自然科学基金
5+阅读 · 2014年12月31日
国家自然科学基金
3+阅读 · 2013年12月31日
国家自然科学基金
0+阅读 · 2013年12月31日
国家自然科学基金
2+阅读 · 2012年12月31日
国家自然科学基金
3+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2011年12月31日
Pre-Training on Dynamic Graph Neural Networks
Arxiv
1+阅读 · 2022年4月18日
Arxiv
38+阅读 · 2020年12月2日
Principal Neighbourhood Aggregation for Graph Nets
Arxiv
17+阅读 · 2020年6月7日
Heterogeneous Deep Graph Infomax
Arxiv
12+阅读 · 2019年11月19日
Efficiently Embedding Dynamic Knowledge Graphs
Arxiv
14+阅读 · 2019年10月15日
Domain Representation for Knowledge Graph Embedding
Arxiv
14+阅读 · 2019年9月11日
VIP会员
相关VIP内容
王晓伟:图神经网络在快手推荐召回中的应用和挑战
专知会员服务
24+阅读 · 2022年3月23日
个性化学习推荐研究综述
专知会员服务
57+阅读 · 2022年2月2日
图神经网络前沿进展与应用
专知会员服务
143+阅读 · 2022年1月24日
IJCAI2021 | 课程对比图表示学习
专知会员服务
21+阅读 · 2021年11月7日
专知会员服务
23+阅读 · 2021年8月3日
【WWW2021】 大规模组合K推荐
专知会员服务
42+阅读 · 2021年5月3日
专知会员服务
33+阅读 · 2020年11月18日
专知会员服务
29+阅读 · 2020年9月13日
基于旅游知识图谱的可解释景点推荐
专知会员服务
89+阅读 · 2020年9月4日
【图神经网络(GNN)结构化数据分析】
专知会员服务
114+阅读 · 2020年3月22日
相关资讯
图谱实战 | 李翔:美团到店综合知识图谱的构建与应用
美团到店综合知识图谱的构建与应用
专知
1+阅读 · 2022年3月28日
Embedding技术在商业搜索与推荐场景的实践
机器学习与推荐算法
0+阅读 · 2022年2月15日
图表征学习在美团推荐中的应用
专知
1+阅读 · 2021年12月23日
图神经网络适合做推荐系统吗?
机器学习与推荐算法
1+阅读 · 2021年12月15日
SIGIR'21 | 推荐系统中的多关系图神经网络
图与推荐
3+阅读 · 2021年10月10日
领域应用 | 美团商品知识图谱的构建及应用
开放知识图谱
3+阅读 · 2021年8月3日
快手类推荐系统实践
机器学习算法与Python学习
17+阅读 · 2018年2月7日
相关基金
国家自然科学基金
7+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
1+阅读 · 2014年12月31日
国家自然科学基金
5+阅读 · 2014年12月31日
国家自然科学基金
3+阅读 · 2013年12月31日
国家自然科学基金
0+阅读 · 2013年12月31日
国家自然科学基金
2+阅读 · 2012年12月31日
国家自然科学基金
3+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2011年12月31日
相关论文
Pre-Training on Dynamic Graph Neural Networks
Arxiv
1+阅读 · 2022年4月18日
Arxiv
38+阅读 · 2020年12月2日
Principal Neighbourhood Aggregation for Graph Nets
Arxiv
17+阅读 · 2020年6月7日
Heterogeneous Deep Graph Infomax
Arxiv
12+阅读 · 2019年11月19日
Efficiently Embedding Dynamic Knowledge Graphs
Arxiv
14+阅读 · 2019年10月15日
Domain Representation for Knowledge Graph Embedding
Arxiv
14+阅读 · 2019年9月11日
Top
微信扫码咨询专知VIP会员