美团外卖智能陪伴型导购的探索与实践
- 1 背景介绍
- 1.1 什么是外卖搜索导购?
- 1.2 为什么要做智能陪伴型的外卖搜索导购?
- 2 问题与挑战
- 3 主要工作
- 3.1 框内词智能刷新
- 3.1.1 智能刷新推荐框架
- 3.1.2 智能刷新推荐策略
- 3.2 导购Query推荐全场景统一模型
- 3.2.1 特征建设
- 3.2.2 样本建设
- 3.2.3 用户实时异构行为序列建模
- 3.2.4 导购联动搜索结果页多链路多目标效率优化
- 3.2.5 基于自监督学习的全场景统一模型
- 4 总结与展望
1 背景
| 1.1 什么是外卖搜索导购?
搜索导购是外卖搜索中的个性化搜索词建议模块的统称,在搜索路径中的各处为用户提供引导,提升用户的选购效率。下面按照用户使用外卖搜索的路径来介绍搜索导购的各个模块: ① 用户进入外卖首页,美团在顶部搜索框的内部和下方分别提供搜索建议,即 框内词 和 框下词 ; ② 用户点击搜索框会进入到搜索引导页中,我们在历史搜索下方的 搜索发现 中提供搜索建议; ③ 用户在搜索框中主动输入搜索词后,将会唤起搜索词联想功能,即 搜索SUG ,为用户提供补全搜索词的建议; ④ 用户发起搜索后将进入到搜索结果页。 整体流程如下图1所示,其中红框部分即为本文讨论的重点:框内词、框下词以及搜索发现模块。| 1.2 为什么要做智能陪伴型的外卖搜索导购?
在餐饮领域,用户体验永远是线下商家优化的重点。其中,导购服务直接影响着用户的购前决策,对商家的转化率和营业额有着重大的意义。像海底捞等商家甚至主打极致的用户体验,通过无微不至的店员服务让用户感到“时时刻刻被关怀”。外卖服务将餐饮消费场景从线下搬到了线上,用户通过搜索/推荐场景找到自己感兴趣的商家和菜品,但相较于线下环境中有“时刻关怀着”的店员,线上这个过程显得较为“被动和冰冷”。 基于以上灵感,我们决定从2022年开始着力打造 智能陪伴型导购 。在用户使用搜索/推荐时,我们围绕用户表现出的兴趣主动提供更智能的搜索建议,更好地承接用户实时变化的意图和被激发出的灵感。同时,我们也解决了用户打字输入成本高、不知道附近的供给能否满足他们的需求以及不知道如何清晰表达他们的需求等三个方面的痛点。2 问题与挑战
如何将智能陪伴型导购这一充满“赛博朋克”感的构想在美团外卖场景进行落地呢?我们遇到了以下的挑战:- 挑战1 :线下的导购追求一对一的极致实时的个性化体验,而外卖搜索的导购如何由被动导购( 用户手动刷新才会触发导购系统的刷新 )变为主动导购( 智能感知和判断用户在什么时间、什么场景需要针对性的刷新导购 ),强化用户实时的个性化体验,智能感知和判断用户每一个需要服务的场景?解决方案:借助美团自研的Alita端智能 [1][2] 的意图感知能力,智能判断何时需要针对性地刷新。同时,对模型引入实时异构行为序列进行建模,打造端云结合排序模型,感知用户实时多变的兴趣。
- 挑战2 :导购的优化除了满足用户体验之外,还需要为整体的转化目标负责,如何让导购的优化与下游场景/整体场景的优化目标保持一致?解决方案:对全场景数据进行统一建模,打造基于自监督学习的统一模型,在对样本进行“无效”过滤以及归因的基础上,同时联动搜索结果页进行全链路的多目标效率优化。
- 挑战3 :如何像ChatGPT一样将用户在物理世界的行为转化为机器/算法可以理解的信息,并像真人导购一样和用户“对话”?解决方案:我们后续计划通过对用户行为的理解,尝试在适当时机主动将用户引导到ChatGPT的对话入口,满足其深度对话的需求。
3 主要工作
我们将以上提到的问题和挑战作为主线,分为两个章节进行详细介绍。其中在3.1章节介绍框内词智能刷新,3.2章节介绍导购Query推荐全场景统一模型。| 3.1 框内词智能刷新
3.1.1 智能刷新推荐框架
整体链路 上文提到,要实现框内词智能刷新,搭建出一套适用于外卖的、基于端智能框架的Query推荐系统非常重要。搭建思路可以用4W1H来总结:- Where/How :框内词智能刷新的Query展示在哪?框内词智能刷新的Query的展现形式是什么?( 涉及产品形态 )
- Who/When :框内词智能刷新需要对什么样的用户触发?在什么时机下触发?( 涉及用户意图感知 )
- What :框内词智能刷新需要展示什么?( 涉及算法策略 )
- 实时性更好,从“准实时”到“超实时”的交互;
- 维度更细,从“交互Item”进化到“Item交互的Micro-粒度” [3] 。
- 搜索UV_RPM = 搜索实付交易额/ 搜索曝光人数(DAU)* 1000
- 搜索UV_CXR = 搜索交易用户数 / 搜索曝光人数(DAU)
- 框内词UV_CTR = 框内词点击用户数 / 框内词曝光用户数
- 端云联动的Trigger实时性优化 :通过将端上Alita的特征透传到用户兴趣中心Tribe中,在Tribe中实现端特征解析加工,使Tribe拥有更加实时的用户特征信息。我们融合了在端侧收集到的实时信号以及云侧用户兴趣中心收集到的实时点击序列,将最近一个商家作为我们的触发Trigger。
- 新增POI2Query召回 :根据商家历史30天搜索成单数据,聚合搜索场景下单到当前POI的Top Query集合,得到搜索成单商家Query召回;通过挖掘过去30天用户在点击对应POI后搜索的Top Query集合,得到点击商家后搜索Query召回。
- 新增SPU2Query召回 :利用端上获取到的触发框内词智能刷新的点击和加购SPU信息作为Trigger,根据SPU历史30天搜索成单数据,聚合搜索场景下单到当前SPU的Top Query集合。
- 新增POI2Query2Query召回 :早期的优化验证了POI2Query的有效性,所以我们通过Swing CF的方式理解计算了Query之间的相似性,将用户触发端智能的POI泛化的Top1的Query作为Trigger,泛化出相似的相关Query。
| 3.2 导购Query推荐全场景统一模型
随着端智能在导购场景的应用,词服务场景已经扩展到了如图1所示的五个场景( 框内词、框下词、搜索发现、框内词智能刷新以及猜你想搜 )。然而,如果每个场景都单独迭代一个模型,这将耗费大量时间和精力。此外,单场景模型无法利用多个场景的共性进行辅助学习。对于新场景或小场景等训练数据较少的场景,直接使用单个场景的数据进行训练,很容易导致过拟合问题。因此,我们尝试统一导购的五个Query推荐场景的模型。 下面,本文将从特征建设、样本建设、用户实时异构行为序列建模、导购联动搜索结果页全链路多目标效率优化以及基于自监督学习的全场景统一模型等五个模块分别介绍我们的工作。3.2.1 特征建设
特征在排序的效果中,起到非常重要的作用,基于外卖搜索导购的实际场景,结合外卖推搜特征Matrix规范及特征重要度分析,如下图6所示,我们从User、POI、Query、Context以及组合等5个维度 [4] 入手来构建外卖导购特征Matrix,特征数量共120+。- User维度 :该维度包括用户在不同时间窗口内的不同行为统计特征,比如时间窗口可以选择1天/7天/30天/60天/180天等,行为特征主要有搜索行为、点击行为以及购买行为等,以此来表征用户的兴趣。
- POI维度 :主要是POI在不同时间窗口的行为统计特征来表征POI的热度,时间窗口和行为类型参考User维度的设定,除此之外,还包括POI的商家分类等基础属性信息。
- Query维度 :主要包括Query的搜索量、点击率以及成单率等统计特征,此外还包括Query的商家分类及分词信息。
- Context维度 :主要是时间,如时段、星期几、节假日;场景特征,如当前所处场景( 框内、框下、搜索发现 )等等。
- 组合维度 :Context-Item组合维度,组合Areaid_x_item以及Period_x_item的交叉维度,挖掘不同时段下Item的曝光点击率等特征;User-Item组合维度,User在不同时间窗口内对Item搜索、点击等行为次数等。
3.2.2 样本建设
“无效”样本过滤 在用户点外卖时,打开美团外卖App会默认访问外卖首页,同时会默认曝光词服务。因此,无论用户是否想浏览词服务,前端都会对其进行曝光,同时在引导页的搜索发现也是同理。而传统的点击率模型的样本标注会将曝光未点击Item标注为负样本,因此对那些并不是想浏览词服务的用户( 如进入App就直接去了主列表或者金刚页 ),就会引入有偏负样本,即把用户可能只是因为没注意到词服务而没点击的样本,都算成了用户不想点击的负样本,从而使得训练与评估样本集不能精确反映用户的兴趣偏好。 为了消除上面提到的有偏负样本的影响,我们基于搜索导购词服务的实际场景特点( 框内词、框下词在首页默认曝光及搜索发现在引导页默认曝光 ),我们进行了“无效”样本过滤,对于是否“无效”的定义,我们进行了以下尝试和探索:- User维度的“无效”样本过滤 :通过统计用户在过去的历史7天内对导购有无行为,如果有过点击行为,我们认为这部分用户是可以感知到导购功能的,保留其所有的请求数据,而对7天在导购无行为的用户,如果本次请求中用户没有任何点击,我们会将本条请求的样本全部过滤掉。具体的,在首页如果用户在当前请求对框内词和框下词都没有点击,我们会将本次请求的样本全部过滤,同理该策略也会使用在引导页的搜索发现样本上。
- Session维度的“无效”样本过滤 :如果当前Session内用户在导购内有点击行为,我们会将Session内所有请求样本都保留,反之我们会认为本次Session用户没有感知到导购,会将本次Session内所有请求样本视为“无效”样本。
- QV维度的“无效”样本过滤 :如果当前请求用户没有任何点击行为,我们会将本次请求的样本视作“无效”样本。具体的,在首页如果当前请求框内词和框下词都没有点击的样本,我们会将本次请求的样本过滤,同理该策略也会使用在引导页的搜索发现样本上。
3.2.3 用户实时异构行为序列建模
用户兴趣建模一直被业界认为是实现排序结果“千人千面”的关键,是个性化排序系统中必不可少的一个模块。虽然用户兴趣建模已有诸多研究,但结合外卖搜索业务本身的LBS特色进行用户兴趣建模,仍是一项不小的挑战。目前,词服务模块在用户行为兴趣向量上的探索还处于空白阶段,于是我们决定对词服务模型进行用户兴趣建模,以此来提升模型捕获用户兴趣的能力。 搭建导购用户兴趣建模五维体系 :如图8所示,我们搭建了理想版的导购用户兴趣建模五维体系,形成了“行为周期、行为情景、行为模式、行为表示、兴趣抽取”用户兴趣五维建模体系迭代认知 [5] 。3.2.4 导购联动搜索结果页全链路多目标效率优化
导购场景作为引流入口,外卖用户在导购的成单路径可以抽象为[1]导购Query曝光->[2]导购Query点击->[3]搜索结果页曝光->[4]搜索结果页点击->[5]搜索结果页加购->[6]搜索结果页成单。如果优化目标仅考虑导购场景内的信号“场景内的CTR作为目标”,却并未直接面向搜索场景的整体效率,即联动搜索结果页的用户反馈来优化,存在局部最优的问题。为此,我们引入词服务下游场景,即搜索结果页的用户反馈信号,并进行词服务PV维度的归因,构建CXR目标并进行建模。 基于以上背景,我们将单目标的导购精排模型升级为多目标模型,增加搜索结果页成单的目标,基于Share-Bottom的结构进行多目标联合建模。为了建模两个目标的共性,同时考虑到CXR是在CTR条件下发生的行为,于是我们采用了Bayesian的思想,将CTR网络的最后一层的输出Concat到CXR的上面,再计算CXR的Logit。模型结构如图10所示:3.2.5 基于自监督学习的全场景统一模型
随着“陪伴型”导购场景在搜索各个模块的不断落地,Query推荐场景已经扩展到了五个。然而,单独迭代每个场景的模型面临着如下挑战:- 小场景和新场景训练数据不足 。多个Query推荐场景中,对于新场景( 例如框内词智能刷新、猜你想搜 )训练数据比较少,直接用单个场景反馈数据训练,会导致过拟合问题;
- 多个场景统一建模 。能否同时利用多个场景的数据,建模多个场景的共同点、不同点,提升多场景排序模型的效率呢?
- 反馈闭环问题 [8] 。目前这种偏向效率的训练方式,会导致排序系统展示出来的item通常具有高频的特点,很多长尾的item没有曝光的机会,马太效应严重,不利于生态的长期健康成长;
- 降本增效 。对于多个相似场景,如果每个场景都单独迭代一个模型耗时耗力,同时也需要大量的机器资源。
- 样本构建 :我们使用SUG以及主动搜索场景内数据,采用类似于3.2.2的思想。例如,当用户输入“和府捞面”时,SUG曝光了该Query,但是用户没有点击,而是直接点击搜索按钮主动搜索“和府捞面”,对于这类SUG曝光未点击,但是发生了主动搜索的情况,我们将主动搜索的点击数据归因到SUG数据中。
- 特征Matrix :在Pre-Train的模型中,挑选出SUG和词服务共用的特征进行预训练,包括用户兴趣建模方面的序列特征以及用户画像特征等。在Fine-Tune阶段,我们会预加载Pre-Train的特征,然后增加了Dense Features和Scenario Features。
- 预训练流程 :我们设计的预训练任务是基于用户历史行为,预测下一个用户主动输入的Query,因为用户主动输入的Query正是Query推荐排序模型理想的结果。由于简单地随机采样会使得负样本过于简单,因此我们采样用户主动搜索Query时SUG曝光未点击的Query作为困难负例[7]。
4 总结与展望
本文介绍了我们在外卖智能陪伴型导购的探索与尝试,其中主要包括:- 借助Alita端智能的意图感知能力,智能判断何时需要针对性的刷新,将被动型导购变成主动型导购。
- 为了追求和线下导购一样一对一极致的实时性的个性化体验,我们在对模型引入实时异构行为序列进行建模的同时,打造端云结合排序模型,捕获用户实时多变的兴趣。
- 导购的优化除了满足用户体验之外,还需要为整体的转化目标负责,我们对全场景数据进行统一建模,打造基于自监督学习的统一模型,在对样本进行“无效”过滤以及归因的基础上,同时联动搜索结果页进行全链路的多目标效率优化。
- 搜索DAU +1.02%、搜索UV_RPM +1.70%。
- 搜索框内词UV_CTR +187%、搜索框下词UV_CTR +141%、搜索发现词UV_CTR +121%。
- 智能刷新赋能更多场景 :在搜索结果页以及外卖首页Feed页,利用端智能的意图感知能力,判断用户兴趣发生收敛的时机,利用导购Query推荐的能力,响应用户更细粒度的需求表达,满足用户找同类商家、找同品牌商家、找用户感兴趣的商品或者品类的需求。
- 借助大模型的能力赋能导购模型 :结合大模型预训练的全场景统一模型,借助大模型更强大的表征和泛化能力,我们计划后续利用大模型对Query的Embedding进行预训练,然后利用本场景内的数据进行Fine-tuning,从而提高模型在导购全场景的推荐效果和泛化能力。
5 本文作者
翔锟、营飞、关璐、泽钰、张聪、晓鹏、北海等,来自美团到家研发平台/搜索推荐技术部。 运祥、周全、张晶等,来自到美团外卖事业部/产品部。6 参考文献
[1] Gong Y, Jiang Z, Feng Y, et al. EdgeRec: recommender system on edge in Mobile Taobao[C]//Proceedings of the 29th ACM International Conference on Information & Knowledge Management. 2020: 2477-2484. [2] 端智能在大众点评搜索重排序应用实践 [3] 交互式推荐在外卖场景的应用 [4] 美团外卖推荐情境化智能流量分发的实践与探索 [5] Zhou G, Zhu X, Song C, et al. Deep interest network for click-through rate prediction- [C]//Proceedings of the 24th ACM SIGKDD international conference on knowledge discovery & data mining. 2018: 1059-1068. [6] Wenlong Sun, Sami Khenissi, Olfa Nasraoui, and Patrick Shafto. 2019. Debiasing the human-recommender system feedback loop in collaborative filtering. In WWW’19. 645–651. [7] Gu Y, Bao W, Ou D, et al. Self-Supervised Learning on Users' Spontaneous Behaviors for Multi-Scenario Ranking in E-commerce[C]//Proceedings of the 30th ACM International Conference on Information & Knowledge Management. 2021: 3828-3837. [8] Devlin, Jacob, Ming-Wei Chang, Kenton Lee, and Kristina Toutanova. "Bert: Pre-training of deep bidirectional transformers for language understanding." arXiv preprint arXiv:1810.04805 (2018). [9] Radford, Alec, Karthik Narasimhan, Tim Salimans, and Ilya Sutskever. "Improving language understanding by generative pre-training." (2018). ---------- END ---------- 招聘信息 搜索推荐算法工程师1. 了解大规模深度学习、图学习等技术,利用注意力机制、记忆网络、关系网络等模块,从跨多个时空VV场景的海量数据中理解用户需求、发掘用户兴趣,优化点击率、转化率模型,为用户展示更合适、更感兴趣的美食和商品。 2. 了解强化学习、可解释深度学习、多模态学习、多目标优化等技术,优化重排、混排模型,智能调控流量分发,优化平台生态,实现消费者和商家共赢。 3. 能够使用知识图谱、计算视觉、自然语言生成等技术,面向用户兴趣,帮助商家自动化智能生成展示内容和文案,提升推广效率。 4. 追踪并研究人工智能前沿技术,探索技术在零售、医疗电商场景的应用。
感兴趣的同学可以将简历发送至: [email protected] 。期待与大家一起共事,共创未来。 推荐阅读
| 端智能在大众点评搜索重排序的应用实践 | 交互式推荐在外卖场景的探索与应用 | 美团外卖推荐智能流量分发的实践与探索