搜寻相关性用于掂量 Query 和 Doc 的相干水平,是搜索引擎的重要环节,本文次要讲述公众点评搜寻团队在相关性计算上的技术摸索和实际,通过多相似矩阵模型构造、多阶段训练等办法晋升预训练模型在相关性问题上的成果,同时解决基于交互的模型在线预测的性能问题,心愿为从事相干工作的同学可能带来一些启发或者帮忙。
1. 背景
点评搜寻是公众点评 App 的外围入口之一,用户通过搜寻来满足不同场景下对生存服务类商户的找店需要。搜寻的长期指标是继续优化搜寻体验,晋升用户的搜寻满意度,这须要咱们了解用户搜寻用意,精确掂量搜索词与商户之间的相干水平,尽可能展现相干商户并将更相干的商户排序靠前。因而,搜索词与商户的相关性计算是点评搜寻的重要环节。
公众点评搜寻场景面临的相关性问题简单多样,用户的搜索词比拟多样,例如搜寻商户名、菜品、地址、类目以及它们之间的各种简单组合,同时商户也有多种类型的信息,包含商户名、地址信息、团单信息、菜品信息以及其余各种设施和标签信息等,导致 Query 与商户的匹配模式异样简单,容易滋生出各种各样的相关性问题。具体来说,能够分为如下几种类型:
- 文本误匹配 :在搜寻时,为保障更多商户被检索和曝光,Query 可能会被拆分成更细粒度的词进行检索,因而会带来 Query 谬误匹配到商户不同字段的问题,如图 1(a) 所示的用户搜“生蚝火锅”应该想找汤底中蕴含生蚝的火锅,而“生蚝”和“火锅”别离匹配到商户的两个不同菜品。
- 语义偏移 :Query 与商户字面匹配,但商户与 Query 的次要用意在语义上不相干,如“奶茶”-“黑糖珍珠奶茶包”,如图 1(b) 所示。
- 类目偏移:Query 与商户字面匹配且语义相干,但主营类目与用户需要不符,例如用户搜寻“水果”时一家提供“果盘”的 KTV 商户显著与用户的需要不相干。
基于字面匹配的相关性办法无奈有效应对上述问题,为了解决搜寻列表中的各类不合乎用户用意的不相干问题,须要更精确地刻画搜索词与商户的深度语义相关性。本文在基于美团海量业务语料训练的 MT-BERT 预训练模型的根底上,在公众点评搜寻场景下优化 Query 与商户(POI,对应通用搜索引擎中的 Doc)的深度语义相关性模型,并将 Query 与 POI 的相关性信息利用在搜寻链路各环节。
本文将从搜寻相关性现有技术综述、点评搜寻相关性计算计划、利用实战、总结与瞻望四个方面对点评搜寻相关性技术进行介绍。其中点评搜寻相关性计算章节将介绍咱们如何解决商户输出信息结构、使模型适配点评搜寻相关性计算及模型上线的性能优化等三项次要挑战,利用实战章节将介绍点评搜寻相关性模型的离线及线上成果。
2. 搜寻相关性现有技术
搜寻相关性旨在计算 Query 和返回 Doc 之间的相干水平,也就是判断 Doc 中的内容是否满足用户 Query 的需要,对应 NLP 中的语义匹配工作(Semantic Matching)。在公众点评的搜寻场景下,搜寻相关性就是计算用户 Query 和商户 POI 之间的相干水平。
文本匹配办法:晚期的文本匹配工作仅思考了 Query 与 Doc 的字面匹配水平,通过 TF-IDF、BM25 等基于 Term 的匹配特色来计算相关性。字面匹配相关性线上计算效率较高,但基于 Term 的关键词匹配泛化性能较差,短少语义和词序信息,且无奈解决一词多义或者多词一义的问题,因而漏匹配和误匹配景象重大。
传统语义匹配模型:为补救字面匹配的缺点,语义匹配模型被提出以更好地了解 Query 与 Doc 的语义相关性。传统的语义匹配模型次要包含基于隐式空间的匹配:将 Query 和 Doc 都映射到同一个空间的向量,再用向量间隔或类似度作为匹配分,如 Partial Least Square(PLS)[1];以及基于翻译模型的匹配:将 Doc 映射到 Query 空间后进行匹配或计算 Doc 翻译成 Query 的概率[2]。
随着深度学习和预训练模型的倒退,深度语义匹配模型也被业界广泛应用。深度语义匹配模型从实现办法上分为基于示意(Representation-based)的办法及基于交互(Interaction-based)的办法。预训练模型作为自然语言解决畛域的无效办法,也被宽泛应用在语义匹配工作中。
基于示意的深度语义匹配模型 :基于示意的办法别离学习 Query 及 Doc 的语义向量示意,再基于两个向量计算类似度。微软的 DSSM 模型[3] 提出了经典的双塔构造的文本匹配模型,即别离应用互相独立的两个网络构建 Query 和 Doc 的向量示意,用余弦类似度掂量两个向量的相干水平。微软 Bing 搜寻的 NRM[4]针对 Doc 表征问题,除了根底的 Doc 题目和内容,还思考了其余多源信息(每类信息被称为一个域 Field),如外链、用户点击过的 Query 等,思考一个 Doc 中有多个 Field,每个 Field 内又有多个实例(Instance),每个 Instance 对应一个文本,如一个 Query 词。模型首先学习 Instance 向量,将所有 Instance 的示意向量聚合起来就失去一个 Field 的示意向量,将多个 Field 的示意向量聚合起来失去最终 Doc 的向量。SentenceBERT[5]将预训练模型 BERT 引入到双塔的 Query 和 Doc 的编码层,采纳不同的 Pooling 形式获取双塔的句向量,通过点乘、拼接等形式对 Query 和 Doc 进行交互。
公众点评的搜寻相关性晚期模型就借鉴了 NRM 和 SentenceBERT 的思维,采纳了图 2(a)所示的基于示意的多域相关性模型构造,基于示意的办法能够将 POI 的向量提前计算并存入缓存,线上只需计算 Query 向量与 POI 向量的交互局部,因而在线上应用时计算速度较快。
基于交互的深度语义匹配模型 :基于交互的办法不间接学习 Query 和 Doc 的语义示意向量,而是在底层输出阶段就让 Query 和 Doc 进行交互,建设一些根底的匹配信号,再将根底匹配信号交融成一个匹配分。ESIM[6] 是预训练模型引入之前被业界宽泛应用的经典模型,首先对 Query 和 Doc 进行编码失去初始向量,再用 Attention 机制进行交互加权后与初始向量进行拼接,最终分类失去相关性得分。
引入预训练模型 BERT 进行交互计算时,通常将 Query 和 Doc 拼接作为 BERT 句间关系工作的输出,通过 MLP 网络失去最终的相关性得分 [7],如图 2(b) 所示。CEDR[8]在 BERT 句间关系工作取得 Query 和 Doc 向量之后,对 Query 和 Doc 向量进行拆分,进一步计算 Query 与 Doc 的余弦相似矩阵。美团搜寻团队 [9] 将基于交互的办法引入美团搜寻相关性模型中,引入商户品类信息进行预训练,并引入实体辨认工作进行多任务学习。美团到店搜寻广告团队 [10] 提出了将基于交互的模型蒸馏到基于示意的模型上的办法,实现双塔模型的虚构交互,在保障性能的同时减少 Query 与 POI 的交互。
3. 点评搜寻相关性计算
基于示意的模型重在示意 POI 的全局特色,不足线上 Query 与 POI 的匹配信息,基于交互的办法能够补救基于示意办法的有余,加强 Query 和 POI 的交互,晋升模型表达能力,同时,鉴于预训练模型在文本语义匹配工作上的强劲体现,点评搜寻相关性计算确定了基于美团预训练模型 MT-BERT[11]的交互式计划。将基于预训练模型的交互式 BERT 利用在点评搜寻场景的相关性工作中时,仍存在诸多挑战:
- 如何更好地结构 POI 侧模型输出信息:Doc 侧模型输出信息的结构是相关性模型中的重要环节。在通用网页搜索引擎中,Doc 的网页题目对相关性的判断极为重要,但在点评搜寻场景下,POI 信息具备字段多、信息简单的特点,不存在能提供相似“网页题目”信息量的字段,每个商户都通过商户名、类目、地址、团单、商户标签等多种结构化信息来表白。在计算相关性分数时,大量多源商户信息无奈全副输出到模型中,而仅应用商户名和类目等根底信息又会因为信息缺失无奈达到称心的成果,因而如何更好地结构具备丰盛信息量的 POI 侧模型输出是咱们要解决的首要问题。
- 如何优化模型来更好地适配点评搜寻相关性计算:公众点评搜寻场景中的文本信息与通用的预训练模型语料信息有肯定差别,例如通用语义场景下“开心”和“快乐”同义,但在点评搜寻的场景下“开心烧烤”和“快乐烧烤”却是两家齐全不同的品牌。同时,Query 和 POI 的相关性断定逻辑与通用 NLP 场景的语义匹配工作也不完全相同,Query 和 POI 的匹配模式非常复杂,当 Query 匹配到 POI 的不同字段时,相关性的断定后果也有所不同,例如 Query“水果”匹配到“水果店”商户类目时相关性较高,而命中 KTV 的“水果拼盘”标签时则相关性较弱。因而,相比通用的基于交互的 BERT 句间关系语义匹配工作,相关性计算还须要关注 Query 和 POI 两局部之间的具体匹配状况。如何优化模型来适配点评搜寻的场景,并能解决简单多样的相关性判断逻辑,尽可能地解决各种不相干问题,是咱们面临的次要挑战;
- 如何解决预训练相关性模型的在线性能瓶颈:基于示意的模型虽计算速度较快但表达能力无限,基于交互的模型能够加强 Query 和 POI 的交互从而晋升模型成果,但在线上应用时存在较大的性能瓶颈。因而,在线上应用 12 层 BERT 的基于交互的模型时,如何在保障模型计算成果的同时保障整个计算链路的性能,使其在线上稳固高效运行,是相关性计算线上利用的最初一道关卡。
通过一直摸索与尝试,咱们针对 POI 侧的简单多源信息,结构了适配点评搜寻场景的 POI 文本摘要;为了让模型更好地适配点评搜寻相关性计算,采纳了两阶段训练的办法,并依据相关性计算的特点革新了模型构造;最初,通过优化计算流程、引入缓存等措施,胜利升高了模型实时计算和整体利用链路的耗时,满足了线上实时计算 BERT 的性能要求。
3.1 如何更好地结构 POI 侧模型输出信息
在断定 Query 与 POI 的相干水平时,POI 侧有十几个参加计算的字段,某些字段下的内容特地多(例如一个商户可能有上百个举荐菜),因而须要找到适合的形式抽取并组织 POI 侧信息,输出到相关性模型中。通用搜索引擎(如百度),或常见垂类搜索引擎(如淘宝),其 Doc 的网页题目或商品题目信息量丰盛,通常是相关性断定过程中 Doc 侧模型输出的次要内容。
如图 3(a)所示,在通用搜索引擎中,通过搜寻后果的题目能够一眼看出对应网站的要害信息及是否与 Query 相干,而在图 3(b)的搜寻后果中,仅通过商户名字段无奈失去短缺的商户信息,须要联合商户类目(奶茶果汁)、用户举荐菜品(奥利奥利奶茶)、标签(网红店)、地址(武林广场)多个字段能力判断该商户与 Query“武林广场网红奶茶”的相关性。
标签抽取是业界比拟通用的抽取主题信息的路径,因而咱们首先尝试了通过商户标签来结构 POI 侧模型输出的办法,依据商户的评论、根底信息、菜品、商户对应的头部搜寻点击词等抽取出具备代表性的商户关键词来作为商户标签。在线上应用时,将已抽取的商户标签,及商户名和类目根底信息一起作为模型的 POI 侧输出信息,与 Query 进行交互计算。然而,商户标签对商户信息的笼罩仍不够全面,例如用户搜寻菜品“鸡蛋羹”时,某个距用户很近的韩式料理店有鸡蛋羹售卖,但该店的招牌菜、头部点击词等均与“鸡蛋羹”无关,导致该店所抽取的标签词也与“鸡蛋羹”相关性较低,因而模型会将该店判断为不相干,从而对用户体验带来挫伤。
为了获取最全面的 POI 表征,一种计划是不抽取关键词,间接将商户的所有字段拼接到模型输出中,然而这种形式会因为模型输出长度过长而重大影响线上性能,且大量冗余信息也会影响模型体现。
为结构更具信息量的 POI 侧信息作为模型输出,咱们提出了 POI 匹配字段摘要抽取 的办法,即联合线上 Query 的匹配状况实时抽取 POI 的匹配字段文本,并结构匹配字段摘要作为 POI 侧模型输出信息。POI 匹配字段摘要抽取流程如图 4 所示,咱们基于一些文本类似度特色,将与 Query 最相干且最具信息量的文本字段提取进去,并交融字段类型信息构建成匹配字段摘要。线上应用时,将已抽取的 POI 匹配字段摘要、商户名及类目根底信息一起作为 POI 侧模型输出。
在确定 POI 侧模型输出信息后,咱们采纳 BERT 句间关系工作,先用 MT-BERT 对 Query 侧和 POI 侧匹配字段摘要信息进行编码,而后应用池化后的句向量计算相干分。采纳 POI 匹配字段摘要的计划结构 POI 侧模型输出信息后,配合样本迭代,相比基于标签的办法,模型的成果有了极大的晋升。
3.2 如何优化模型来更好地适配点评搜寻相关性计算
让模型更好地适配点评搜寻相关性计算工作蕴含两层含意:公众点评搜寻场景下的文本信息与 MT-BERT 预训练模型应用的语料在散布上存在着肯定的差别;预训练模型的句间关系工作与 Query 和 POI 的相关性工作也略有不同,须要对模型构造进行革新。通过一直摸索,咱们采纳 基于畛域数据的两阶段训练 计划,联合训练样本结构,使预训练模型更适配点评搜寻场景的相关性工作;并提出了 基于多相似矩阵的深度交互相关性模型,增强 Query 和 POI 的交互,晋升模型对简单的 Query 和 POI 信息的表达能力,优化相关性计算成果。
3.2.1 基于畛域数据的两阶段训练
为了无效利用海量用户点击数据,并使预训练模型 MT-BERT 更适配点评搜寻相关性工作,咱们借鉴百度搜寻相关性 [12] 的思维,引入多阶段训练方法,采纳用户点击和负采样数据进行第一阶段畛域适配的预训练(Continual Domain-Adaptive Pre-training),采纳人工标注数据进行第二阶段训练(Fine-Tune),模型构造如下图 5 所示:
基于点击数据的第一阶段训练
引入点击数据作为第一阶段训练任务的间接起因是在点评搜寻场景下存在着一些特有的问题,例如“开心”和“快乐”两个词在通用场景下是简直齐全同义的词,然而在点评搜寻的场景下“开心烧烤”和“快乐烧烤”却是两家齐全不同的品牌商户,因而点击数据的引入可能帮忙模型学习到搜寻场景下的一些特有常识。然而间接将点击样本用于相关性判断会存在较大噪声,因为用户点击某个商户可能是因为排序较为靠前导致的误点击,而未点击某个商户也可能仅仅是因为商户间隔较远,而并不是因为相关性问题,因而咱们引入了多种特色和规定来进步训练样本主动标注的准确率。
在结构样本时,通过统计是否点击、点击位次、最大点击商户距用户的间隔等特色筛选候选样本,将曝光点击率大于肯定阈值的 Query-POI 对作为正例,并依据业务特点对不同类型商户调整不同的阈值。在负例的结构上,Skip-Above 采样策略将位于点击商户之前且点击率小于阈值的商户才做为负样本。此外,随机负采样的形式能够为训练样本补充简略负例,但思考随机负采样时也会引入一些噪声数据,因而咱们利用人工设计的规定对训练数据进行降噪:当 Query 的类目用意与 POI 的类目体系较为统一时或者与 POI 名高度匹配时,则将其从负样本中剔除。
基于人工标注数据的第二阶段训练
通过第一阶段训练后,思考到无奈齐全革除掉点击数据中的乐音,以及相关性工作的特点,因而须要引入基于人工标注样本的第二阶段训练来对模型进行纠偏。除了随机采样一部分数据交给人工去标注外,为了尽可能晋升模型的能力,咱们通过难例开掘和比照样本加强形式生产大量高价值样本交给人工去标注。具体如下:
1)难例开掘
- 特定类型样本开掘:通过设计一种基于 Query 和 POI 的特色和两者的匹配状况来刻画 BadCase 类型的办法,自动化从候选数据集中筛选出特定 BadCase 类型的样本进行送标。
- 用户点击过但线上旧版模型断定为不相干的:该办法能够挖掘出当火线上模型预测谬误及语义靠近的用户难以辨别的难例。
- 边缘采样:通过边缘采样的形式开掘具备较高不确定性的样本,如抽取模型预测得分在阈值左近的样本。
- 模型或人工辨认艰难的样本:用以后模型预测训练集,将模型预测后果与标注标签不统一的样本,及人工标注标签有抵触的样本类型从新送标。
2)比照样本加强:借鉴比照学习的思维,为一些高度匹配的样本生成比照样本进行数据加强,并进行人工标注确保样本标签的准确率。通过比照样本之间的差别,模型能够关注到真正有用的信息,同时晋升对同义词的泛化能力,从而失去更好的成果。
- 针对菜品词较容易呈现的跨菜品匹配的相关性问题(例如搜“鹅肝汉堡”匹配到售卖“牛肉汉堡”和“鹅肝寿司”的商家),别离用菜品的各个子成分与举荐菜字段进行匹配,生产大量比照样本,增强模型对于跨菜品匹配问题的辨认能力。
- 针对菜品词命中举荐菜前缀的问题,通过革新齐全匹配到举荐菜的状况(搜“榴莲蛋糕”匹配到售卖“榴莲蛋糕”的商家),仅保留搜索词中的前缀,结构出匹配举荐菜前缀的比照样本(搜 ” 榴莲 ” 和售卖 ” 榴莲蛋糕 ” 的商家),使模型能更好的辨别匹配举荐菜前缀时的状况。
以跨菜品匹配的相关性问题为例,如上图 6 所示,同样是 Query 拆开后与商户的多个举荐菜字段匹配的状况,Query“榴莲蛋糕”与举荐菜“榴莲千层、黑森林蛋糕”是相干的,但 Query“鹅肝汉堡”与“铁板鹅肝、芝士牛肉汉堡”是不相干的,为了加强模型对这类高度匹配但后果相同的 Case 的辨认能力,咱们结构了“榴莲蛋糕”与“榴莲千层”、“鹅肝汉堡”与“铁板鹅肝”这两组比照样本,去掉了与 Query 在文本上匹配但对模型判断没有帮忙的信息,让模型学到真正决定是否相干的要害信息,同时晋升模型对“蛋糕”和“千层”这类同义词的泛化能力。相似地,其余类型的难例同样能够用这种样本加强形式来晋升成果。
3.2.2 基于多相似矩阵的深度交互模型
BERT 句间关系是一个通用的 NLP 工作,用于判断两个句子的关系,而相关性工作是计算 Query 和 POI 的相干水平。在计算过程中,句间关系工作不仅计算 Query 与 POI 的交互,还计算 Query 外部和 POI 外部的交互,而相关性计算更关注 Query 与 POI 的交互。此外,在模型迭代过程中,咱们发现局部类型的艰难 BadCase 对模型的表达能力有更高要求,例如文本高度匹配但不相干的类型。因而,为进一步晋升模型对简单的 Query 和 POI 在相关性工作上的计算成果,咱们对第二阶段训练中的 BERT 句间关系工作进行革新,提出了基于多相似矩阵的深度交互模型,通过引入多相似矩阵来对 Query 和 POI 进行深度交互,引入 indicator 矩阵以更好地解决艰难 BadCase 问题,模型构造如下图 7 所示:
受 CEDR[8]的启发,咱们将通过 MT-BERT 编码后的 Query 和 POI 向量进行拆分,用于显式地计算两局部的深度交互关系,将 Query 和 POI 拆分并进行深度交互,一方面能够专门用于学习 Query 与 POI 的相干水平,另一方面,减少的参数量能够晋升模型的拟合能力。
参考 MatchPyramid[13]模型,深度交互相关性模型计算了四种不同的 Query-Doc 相似矩阵并进行交融,包含 Indicator、Dot-product、余弦间隔及欧氏间隔,并与 POI 局部的输入进行 Attention 加权。其中 Indicator 矩阵用来形容 Query 与 POI 的 Token 是否统一,计算形式如下:
Indicator 矩阵能够较好地刻画 Query 和 POI 的匹配关系,该矩阵的引入次要思考到断定 Query 和 POI 相干水平时的一个难点:有时即便文本高度匹配,两者也不相干。基于交互的 BERT 模型构造更容易将文本匹配水平高的 Query 和 POI 断定为相干,然而在点评搜寻场景中,有些难例却未必如此。比方“豆汁”和“绿豆汁”尽管高度匹配,但并不相干。“猫空”和“猫的天空之城”尽管是拆开匹配,但因为前者是后者的缩写而相干。因而,将不同的文本匹配状况通过 Indicator 矩阵间接输出给模型,让模型显式地接管“蕴含”、“拆开匹配”等文本匹配状况,在帮忙模型晋升对难例判断能力的同时,也不会影响大部分失常的 Case 的体现。
基于多相似矩阵的深度交互相关性模型将 Query 和 POI 拆分后计算相似矩阵,相当于让模型对 Query 和 POI 进行显式交互,使模型更加适配相关性工作。多个相似矩阵则减少了模型对 Query 和 POI 相干水平计算的表征能力,而 Indicator 矩阵则是针对相关性工作中简单的文本匹配状况做的非凡设计,让模型对不相干后果的判断更加精确。
3.3 如何解决预训练相关性模型的在线性能瓶颈
将相关性计算部署在线上时,现有计划通常会采纳常识蒸馏的双塔构造 [10,14] 以保障线上计算效率,但此种解决形式或多或少对于模型的成果是有损的。点评搜寻相关性计算为保障模型成果,在线上应用了基于交互的 12 层 BERT 预训练相关性模型,须要对每个 Query 下的数百个 POI 通过 12 层 BERT 的模型预测。为保障线上计算效率,咱们从模型实时计算流程和利用链路两个角度登程,通过引入缓存机制、模型预测减速、引入前置黄金规定层、将相关性计算与外围排序并行化等措施优化相关性模型在线上部署时的性能瓶颈,使得 12 层基于交互的 BERT 相关性模型在线上稳固高效运行,保障能够反对数百个商户和 Query 间的相关性计算。
3.3.1 相关性模型计算流程性能优化
点评搜寻相关性模型的线上计算流程如图 8 所示,通过缓存机制及 TF-Serving 模型预测减速来优化模型实时计算的性能。
为无效利用计算资源,模型线上部署引入缓存机制,将高频 Query 的相关性得分写入缓存。后续调用时会优先读取缓存,若命中缓存则间接输入打分,未命中缓存的则进行线上实时计算。缓存机制大大节俭了计算资源,无效缓解在线计算的性能压力。
对未命中缓存的 Query,将其解决为 Query 侧模型输出,通过图 4 所述的流程获取每个 POI 的匹配字段摘要,并解决为 POI 侧模型输出格局,再调用线上相关性模型输入相干分。相关性模型部署在 TF-Serving 上,在模型预测时,采纳美团机器学习平台的模型优化工具 ART 框架(基于 Faster-Transformer[15]改良)进行减速,在保障精度的同时极大地提高了模型预测速度。
3.3.2 利用链路性能优化
相关性模型在搜寻链路中的利用如上图 9 所示,通过引入前置黄金规定、将相关性计算与外围排序层并行化来优化整体搜寻链路中的性能。
为了进一步对相关性调用链路减速,咱们引入了前置黄金规定对 Query 分流,对局部 Query 通过规定间接输入相干分,从而缓解模型计算压力。在黄金规定层中利用文本匹配特色对 Query 和 POI 进行判断,例如,若搜索词跟商户名完全一致,则通过黄金规定层间接输入“相干”的断定,而无需通过相关性模型计算相干分。
在整体计算链路中,相关性计算过程与外围排序层进行并发操作,以保障相关性计算对搜寻链路的整体耗时根本无影响。在应用层,相关性计算被用在搜寻链路的召回和排序等多个环节。为升高搜寻列表的首屏不相干商户占比,咱们将相干分引入到 LTR 多指标交融排序中进行列表页排序,并采纳多路召回交融策略,利用相关性模型的后果,仅将补充召回路中的相干商户交融到列表中。
4. 利用实战
4.1 离线成果
为精准反映模型迭代的离线成果,咱们通过多轮人工标注形式结构了一批 Benchmark,思考到当火线上理论应用时次要指标为升高 BadCase 指标,即对不相干商户的精确辨认,咱们采纳负例的准确率、召回率、F1 值作为掂量指标。通过两阶段训练、样本结构及模型迭代带来的收益如下表 1 所示:
初始办法(Base)采纳 Query 拼接 POI 匹配字段摘要信息的 BERT 句对分类工作,Query 侧模型输出采纳用户输出的原始 Query,POI 侧采纳商户名、商户类目及匹配字段摘要文本拼接形式。引入基于点击数据的两阶段训练后,负例 F1 指标相比 Base 办法晋升 1.84%,通过引入比照样本、难例样本继续迭代训练样本并配合第二阶段的模型输出结构,负例 F1 相比 Base 显著晋升 10.35%,引入基于多相似矩阵的深度交互办法后,负例 F1 相比 Base 晋升 11.14%。模型在 Benchmark 上的整体指标也达到了 AUC 为 0.96,F1 为 0.97 的高值。
4.2 线上成果
为无效掂量用户搜寻满意度,点评搜寻每天对线上理论流量进行抽样并人工标注,采纳列表页首屏 BadCase 率作为相关性模型成果评估的外围指标。相关性模型上线后,点评搜寻的月均匀 BadCase 率指标相比上线前显著降落了 2.9pp(Percentage Point,百分比相对点),并在后续几周 BadCase 率指标稳固在低点左近,同时,搜寻列表页的 NDCG 指标稳固晋升 2pp。能够看出相关性模型能够无效辨认不相干商户,显著升高了搜寻的首屏不相关性问题占比,从而晋升了用户的搜寻体验。
下图 10 列举了局部线上 BadCase 解决示例,小标题是该示例对应的 Query,右边为利用了相关性模型的实验组,左边为对照组。图 10(a)中当搜索词为“佩姐”时,相关性模型将商户外围词蕴含“佩姐”的商户“佩姐名品”判断为相干,并将用户可能想找但输错的高质指标商户“珮姐老火锅”也判断为相干,同时,通过引入地址字段标识,将地址中位于“珮姐”旁边的商户判断为不相干;图 10(b)中用户通过 Query“柚子日料自助”想找一家名为“柚子”的日料自助店,相关性模型将拆词匹配到有柚子相干商品售卖的日料自助店“竹若金枪鱼”正确判断为不相干并将其排序靠后,保障展现在靠前的均为更合乎用户次要需要的商户。
5. 总结与瞻望
本文介绍了公众点评搜寻相关性模型的技术计划及利用实战。为了更好地结构商户侧模型输出信息,咱们引入了实时抽取商户匹配字段摘要文本的办法来结构商户表征作为模型输出;为了优化模型来更好地适配点评搜寻相关性计算,应用了两阶段训练的形式,采纳基于点击和人工标注数据的两阶段训练计划来无效利用公众点评的海量用户点击数据,并依据相关性计算的特点提出了基于多相似矩阵的深度交互构造,进一步晋升相关性模型的成果;为缓解相关性模型的线上计算压力,在线上部署时引入缓存机制和 TF-Serving 预测减速,引入黄金规定层对 Query 分流,将相关性计算与外围排序层并行化,从而满足了线上实时计算 BERT 的性能要求。通过将相关性模型利用在搜寻链路各环节,显著升高了不相干问题占比,无效改善了用户的搜寻体验。
目前,点评搜寻相关性模型在模型体现及线上利用上仍有晋升空间,在模型构造方面,咱们将摸索更多畛域先验常识的引入形式,例如辨认 Query 中实体类型的多任务学习、融入内部常识优化模型的输出等;在理论利用方面,将进一步细化为更多档位,以满足用户对于精细化找店的需要。咱们还会尝试将相关性的能力利用到非商户模块中,优化整个搜寻列表的搜寻体验。
6. 参考文献
- [1] Rosipal R, Krämer N. Overview and recent advances in partial least squares[C]//International Statistical and Optimization Perspectives Workshop” Subspace, Latent Structure and Feature Selection”. Springer, Berlin, Heidelberg, 2005: 34-51.
- [2] Gao J, He X, Nie J Y. Clickthrough-based translation models for web search: from word models to phrase models[C]//Proceedings of the 19th ACM international conference on Information and knowledge management. 2010: 1139-1148.
- [3] Huang P S, He X, Gao J, et al. Learning deep structured semantic models for web search using clickthrough data[C]//Proceedings of the 22nd ACM international conference on Information & Knowledge Management. 2013: 2333-2338.
- [4] Zamani, H., Mitra, B., Song, X., Craswell, N., & Tiwary, S. (2018, February). Neural ranking models with multiple document fields. In Proceedings of the eleventh ACM international conference on web search and data mining(WSDM) (pp. 700-708).
- [5] Reimers N, Gurevych I. Sentence-bert: Sentence embeddings using siamese bert-networks[J]. arXiv preprint arXiv:1908.10084, 2019.
- [6] Chen Q, Zhu X, Ling Z H, et al. Enhanced LSTM for Natural Language Inference[C]//Proceedings of the 55th Annual Meeting of the Association for Computational Linguistics (Volume 1: Long Papers). 2017: 1657-1668.
- [7] Nogueira R, Yang W, Cho K, et al. Multi-stage document ranking with bert[J]. arXiv preprint arXiv:1910.14424, 2019.
- [8] MacAvaney S, Yates A, Cohan A, et al. CEDR: Contextualized embeddings for document ranking[C]//Proceedings of the 42nd International ACM SIGIR Conference on Research and Development in Information Retrieval. 2019: 1101-1104.
- [9] 李勇, 佳昊等. BERT 在美团搜寻外围排序的摸索和实际.
- [10] 邵雯, 杨扬等. 预训练技术在美团到店搜寻广告中的利用.
- [11] 杨扬, 佳昊等. 美团 BERT 的摸索和实际.
- [12] Zou L, Zhang S, Cai H, et al. Pre-trained language model based ranking in Baidu search[C]//Proceedings of the 27th ACM SIGKDD Conference on Knowledge Discovery & Data Mining. 2021: 4014-4022.
- [13] Pang L, Lan Y, Guo J, et al. Text matching as image recognition[C]//Proceedings of the AAAI Conference on Artificial Intelligence. 2016, 30(1).
- [14] 阿里娱乐深度语义搜寻相关性摸索. https://mp.weixin.qq.com/s/1a…
- [15] Faster Transformer. https://github.com/NVIDIA/Dee…
7. 本文作者
校娅 、沈元 、朱迪、汤彪、张弓等,均来自美团 / 点评事业部搜寻技术核心。
- 本文独特一作。
招聘信息
美团 / 点评事业部 - 搜寻技术核心,致力于打造一流的搜寻零碎和搜寻体验,满足公众点评用户的多样搜寻需要,撑持各业务在公众点评 App 上的搜寻需要。欢送感兴趣的同学发送简历至:edp.itu.zhaopin@meituan.com。
浏览美团技术团队更多技术文章合集
前端 | 算法 | 后端 | 数据 | 平安 | 运维 | iOS | Android | 测试
| 在公众号菜单栏对话框回复【2021 年货】、【2020 年货】、【2019 年货】、【2018 年货】、【2017 年货】等关键词,可查看美团技术团队历年技术文章合集。
| 本文系美团技术团队出品,著作权归属美团。欢送出于分享和交换等非商业目标转载或应用本文内容,敬请注明“内容转载自美团技术团队”。本文未经许可,不得进行商业性转载或者应用。任何商用行为,请发送邮件至 tech@meituan.com 申请受权。