他山之石 | 知识图谱在美团推荐场景中的应用实践

cde1432d6f7c1eaf81ff46886133ce2a.png

因为生活服务领域需要大量的知识,美团NLP中心从2018年开始就着手构建了生活娱乐领域超大规模的知识图谱——美团大脑。我们从餐饮图谱开始,后来逐渐扩展至标签图谱、场景图谱、商品图谱、到综图谱等。

8c9141faecde7b842e6c296b53b230d5.png

美团推荐属于LBS(基于位置的服务)推荐,它与电商推荐、新闻推荐、视频推荐等存在很大差异。LBS推荐中位置约束以及场景化的要求很高,供给约束是区域型的,其主目标是订单或者IPay(业务新客订单)而非Dau或者时长。此外,LBS推荐的社交粘性较弱。

f0556a9d3819d215f69522e6f2eab514.png

比如对于一个商务人士,他的搜索需求是“商务宴请”,若我们仅仅直接向他推荐“湘江宴”与标签“湘菜”,那么他无法得知商家是否能满足自己的宴请需求。如果我们将商家的“有大桌”,“包间”等知识信息展示给他时,那么他就可以轻松地判断出推荐的商家可以满足自己的需求。

8a57936085bebb29b8fa6da9b27e2d1a.png

除了利用知识图谱来向用户进行结构化信息展示之外,我们还利用图谱路径来引导推荐。如相关搜索-召回的业务场景,当一个用户输入一个query以后下滑了很久都没有进行点击,那么我们就会为其推荐一部分更好的query。一个简单的做法就是直接使用知识图谱路径召回,将query对应的实体在图谱中有连接的下位实体推荐给用户,如“奶茶”对应的“珍珠奶茶”、“香草奶茶”等。这一方法的优点在于其召回的相关性较好,这得益于知识图谱的质量很高,缺点是召回率低,因为用户的query含有噪声信息,而知识图谱的实体较为纯净。在实际业务中,我们更常用的做法是利用embedding进行召回,具体做法是将用户历史query以及点击poi进行构图,之后使用GNN模型来训练embedding。当用户输入一个query时,我们在训练好的向量空间中搜索query向量的近邻向量作为候选召回。这一做法的优点是召回率高,但是召回的bad case较多,且即便embedding的质量非常高也无法避免bad case的出现。

2b254a474f885d864d1de8150c40da56.png

基于上述embedding召回+图谱路径过滤的方法,美团推荐的默认词模块、热门搜索模块、相关搜索模块都得到显著的业务指标的提升,尤其是相关搜索模块,无结果率下降了10个百分点,点击QV提升了34%。

40b50085215950a723e6053a7e8b556e.png

基于图谱的推荐理由生成在线上也取得了很好的收益。与从UGC中挖掘的推荐理由相比,这一方法有两个优势。

  • 首先,这一方法不依赖商户评价数据,这对新店较为友好,我们可以使用用户交互行为和知识图谱来为用户提供个性化推荐理由。

  • 第二,由于生成的路径很灵活,我们可以轻松地为用户从个性化与多维度的角度生成推荐理由。

2. 领域多、差异大

e6bbd1e3b167ff20d4660d56458b1e0c.png

已有的工作使用用户item序列id作为输入,使用诸如多通道或者动态路由的结构来输出用户多个兴趣向量,但存在两个问题。首先,它们都以item为最小粒度,忽视了item蕴含的丰富语义信息,兴趣建模不精细。其次,这些模型的可解释性不强,它们无法回答用户的兴趣具体是什么以及item所从属的兴趣是什么。

4cd3a471b373dded7036da40e9e41333.png

我们想将概念图谱加入多兴趣建模中,使得兴趣建模更加精细。如上图所示,第一个点评内容包含了图谱中多个实体,每个实体都对应于多个兴趣集合。我们想要建模的可解释性更强,这就对应了三个目标:

  • items需要有一个整体的兴趣集合

  • 每个item对应一个兴趣分布

  • 每个user对应一个兴趣分布

4b91e6a354fc738f490995ba245fd4d5.png

模型的输入是用户对应的item序列,包含点击序列以及点击的item多关联的entity。

首先,输入序列会通过异质图神经网络模型(HGNN),将item与entity在统一的向量空间中进行建模。

之后,item和entity向量会输入至双重记忆网络(Dual Memory Networks),通过读写操作更新MI(储存item的兴趣分布)和MU(储存user的兴趣分布)。我们可以通过目标item,使用读操作得到对应的兴趣分布。

最后,我们使用聚合操作可以得到用户的兴趣分布。通过这一网络结构,可以满足提出的三个目标。

b9a775733702d96a4beeeeecfd909cbe.png

我们也进行了一些消融实验。当我们将网络结构中item memory去除后,模型效果下降得最明显;当我们将user interest去除后,模型效果也有所下降。为了保证item与对应的entity所学习到的分布的一致性,我们加入了KL散度损失函数进行约束。如果去除这一限制,模型效果也略有下降。消融实验有力地证明了双重记忆网络的有效性

d15252f13ea66ec172f3447c45b4e595.png

在美团的业务中,到餐/外卖这一业务交互量较大,但是如买菜业务的交互量就较小,只有部分用户与部分item进行交互。美团拥有丰富的图谱知识,我们发现买菜业务中的菜品其实与到餐/外卖业务中的菜品有一定关系。基于这一事实,我们考虑使用知识图谱与交互量较大的业务领域,使用跨域学习的方法来增强数据稀疏领域的业务效果。

981e9204e8faa6aa97fc3152a9667f8a.png

比如内容推荐场景包含的低频用户数量较多,他们的点击行为少,导致推荐效果较差。我们的解决方案是加入域外的知识图谱以及域外的交互行为。例如,用户在域外的点击、搜索行为,点击的poi在知识图谱中包含的知识(如属于的类目、商圈、标签等)都可以被用来构建一张更大的异构图,进而在这张图上学习节点表征。最后,我们在线上使用增强后的表征进行I2I/U2I的召回。

fc1cb30c179e19d34d6e5da2ace37ab9.png

所以,我们考虑使用美团首页搜索行为与休闲娱乐领域的行为构建一张异构图,使得我们可以利用美团首页搜索行为信息增强休闲娱乐领域的节点表征。更具体地,我们认为首页搜索行为仅在一个时间间隔内(过去一周或者过去一个月)对目标域有效,所以我们采用了基于时序的采样和聚合。最终实验结果显示,在原有模型中增加了跨域学习后,在点击ndcg的指标上提升了26BP。

04

总结与展望

知识图谱在美团推荐中是一个十分重要的信息输入源。知识图谱的应用可以分为显式应用和隐式应用。显式应用是指直接将知识图谱应用于推荐中的展示引导和结构召回(如知识展示、路径召回、图谱推荐理由),解决了可解释需求强烈的问题。隐式应用是指将知识图谱通过表征更容易、更广泛地嵌入下游任务。它可以通过引入概念性常识图谱解决用户多兴趣建模中领域差异大的问题,还可以通过知识跨域增强改善目标域的数据稀疏问题。

之后我们会在两个方向上继续探索知识图谱在推荐中的应用。首先,我们会继续聚焦于通用推荐场景建模,如继续优化用户多兴趣、引入物品多模态、对用户与物品交互行为进一步探索场景时空性等。其次,针对很多业务中面临的数据稀疏问题,我们会着重探索推荐公平性、跨域学习以及图预训练。 

05

精彩问答

Q1:知识图谱在图谱路径引导推荐中召回阶段和排序阶段是不是使用一个算法模型是一个模型将两个阶段的任务全部完成了br>

A:首先,我们在做图谱路径引导推荐时,召回阶段使用的是GNN模型,如同质图模型GraphSage或者异质图模型R-GAT、R-GCN等。图谱其实在召回中的作用是对召回候选集进行过滤,去掉不太相关的bad case。其次,在一般工业级应用中,不会在召回层和排序层使用同一个模型,这可以让不同业务的同学分开优化各自负责的部分。

Q2:图谱路径到推荐理由的转化是人工适配还是机器自动完成/p>

A:目前我们会通过人工提前确定一些模板。模型利用知识图谱得到路径分最高的路径后去填充模板中对应的槽。在工业级的产品中,因为基于模型的文本生成算法出现bad case的概率较高且不太可控,影响用户体验,实际业务场景中会比较慎重地使用。

Q3:双重记忆网络在线上使用性能如何/p>

A:双重记忆网络主要用于用户多兴趣建模的召回场景。我们目前的使用方式是t+1调度更新,定期离线训练模型得到模型参数和item向量,每天infer得到user向量。线上使用时,我们直接使用得到的向量作为user和item的兴趣向量表征,在向量空间中通过ANN算法索引,性能不是问题。

一起交流

想和你一起学习进步!『NewBeeNLP』目前已经建立了多个不同方向交流群(机器学习 / 深度学习 / 自然语言处理 / 搜索推荐 / 图网络 / 面试交流 / 等),名额有限,赶紧添加下方微信加入一起讨论交流吧!(注意一定o要备注信息才能通过)

8631ed3c543f6adca91604a32e6b5fa3.gif

文章知识点与官方知识档案匹配,可进一步学习相关知识Python入门技能树人工智能自然语言处理210534 人正在系统学习中

来源:kaiyuan_sjtu

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年4月17日
下一篇 2022年4月17日

相关推荐