今天给大家带来一篇论文分享,KDD'21的Applied Data Science Track中,淘宝搜索发表的一篇EBR文章[9]:Embedding-based Product Retrieval in Taobao Search。论文要讨论的几大问题提前预览下:
下面按照Motivation,Solution,Evaluation和Summarization来介绍。 1. Motivation研究对象:电商平台的商品搜索引擎(product search engines)。 整体淘宝搜索系统包括四阶段:match-prerank-rank-rerank,召回,粗排,精排,重排。本文重点在于召回。 挑战:电商平台的文本通常较短,没有语法结构,因此要考虑海量的用户历史行为。基于词匹配(lexical matching)的搜索引擎(倒排索引),性能好、可控性强,尽管存在一些语义鸿沟问题,但仍被广泛的应用在现有的搜索引擎架构中。但是,这种搜索引擎无法有效区分相同query下, 不同用户的兴趣差异,无法捕捉用户个性化的特征。因此,如何高效地检索出【最相关】、【最能够满足用户需求】的商品,权衡【query语义】和【用户个性化历史行为】之间的关系,是电商平台主要的挑战。 工业界经典的EBR系统文章有, 电商平台:
其它:
作者指出上述大多数文章避重就轻,只强调在指标上提升很多,却没有说明向量召回会降低相关性,引入很多相关性的CASE。 作者也部署了向量检索系统在淘宝搜索中,观察了很长一段时间,有几个发现:
这篇文章的核心贡献总结如下:
2. Solution问题形式化:表示个用户集合;表示相应的queries,表示个物品的集合。同时,作者将用户的历史行为根据离当前的时间间隔划分为3个子集合,
任务:给定用户的历史行为序列,在时间发起了一次搜索请求,我们期望返回物品的集合来满足该用户的搜索需求。具体而言,目标是基于用户和物品items之间的得分,从中预测出Top-候选物品。即: 其中,是打分函数,是query/behaviors的编码器,是item编码器。作者也是采用了双塔的召回模型,用内积函数来表示。 先介绍下整体的网络框架结构: 典型的双塔结构,在user tower部分做的比较重,item tower部分做的比较轻量。user tower输出的用户表征向量和item tower输出的物品表征向量做点积得到预测值,再使用sampled softmax损失函数在全局item pool中进行优化。其中,
下面将分别围绕上述三个部分user tower, item tower和优化方法展开,最后介绍系统架构。 2.1 User Tower2.1.1 多粒度语义单元(Multi-Granular Semantic Unit)淘宝搜索的query通常是中文。经过query分词后,每个分词结果的长度通常小于3。因此,作者提出了一种【多粒度语义单元】来多粒度地挖掘query语义。具体而言,输入:
其中,词:,字:,,即:每个词、字、query整体的embedding维度数都设置为。可以获得如下6种粒度的表征,,
最终,由上述6种拼接而成。具体计算公式如下: 其中,即为Transformer,的计算同。 可以看到,作者从两个方面来充分地对query进行语义表征,由此可以回答开篇的第一个问题,query如何充分地进行语义表征?
当然,只讲结果,没有讲为什么这么做。有点过于经验性/实验性驱动,而不是问题/动机驱动。 2.1.2 用户行为注意力机制(User Behaviors Attention)用户行为包括:用户的实时、短期或长期的点击或者购买行为。用户在时刻点击item ,用来表示。对于物品的表征向量,首先使用ID和side information(叶子类目、一级类目、品牌和所属店铺)做嵌入,然后对得到的嵌入向量做pooling或者拼接在一起。 不同于广告和推荐场景中常用的target-item注意力机制(如DIN,DIEN等),此处使用query注意力机制来捕捉用户历史行为和当前query的语义相关性。目的是发现哪些历史行为和本次query相关,来丰富用户在当前query下的语义/意图表征。比如:历史购买行为,篮球鞋、裙子,此次搜索query是红裙,显然篮球鞋历史行为(可能送人的)对此次query毫无帮助,直接引入还会带来噪声,而裙子历史行为对此次query是有帮助的。 具体而言,在搜索场景中,用户的历史行为和当前query可能都无关,参考[6]的做法,作者加了一个全零的向量到用户的行为数据中,来消除潜在噪声和解决用户历史行为和当前query可能完全无关的情况。 个人认为这个优化点非常巧妙,如果不加全零向量,模型无论如何都会强制关注到至少一个行为,这在历史行为和当前query都无关的时候,显然是噪声。加了零向量后,在完全无关的时候,模型attend到这个零向量即可,不会引入额外的噪声。个人认为这个优化点在搜索场景中至关重要,也是和推荐场景差别较大的地方,鲜有论文会提到这点。 接下来介绍如何融合用户的实时行为、短期行为和长期行为。
每种属性行为使用用户的点击、购买、收藏行为来表示。例如:物品ID序列包含了用户的物品点击序列,购买序列和收藏序列,全部拼接在一起,形成长期行为序列, 同理,对shop ID序列、叶子节点类目ID序列、品牌ID序列执行上述过程得到长期行为表征,最终融合起来的长期行为表征向量为: 由此可以回答开篇的第二个问题,query注意力机制而非target-item注意力机制以及引入零向量,能够保证捕捉和query相关的历史行为信息。 2.1.3 语义表征和个性化行为表征融合 (Fusion of Semantics and Personalization)输入:
使用自注意力机制来捕捉二者的关系。特别的,作者添加了 token在首位,形成输入: 输出: 然后将self自注意力机制的输出作为user tower的表征, 我理解是指用单头自注意力机制即可。模仿BERT中的结构,可学习的向量,浓缩信息。 2.2 Item Tower根据作者的实验经验,使用Item ID和Item的Title来获得Item的表征。具体而言,给定item 的ID,其嵌入为:。给定title的分词结果,得到物品的表征,,即: 其中,是可学习的变换矩阵。作者表示,通过实验发现,使用LSTM、Transformer等来捕捉title上下文感知的表征,其效果还不如上述简单的mean-pooling。给出的理由是:大部分的title由关键词堆叠而成,且缺乏语法结构。个人理解,可能想说字面上的语义信息足够凸显,上下文信号较弱,不需要复杂的模型来捕捉语义。 2.3 Loss Function为了保证训练时的样本空间和在线推理时的样本空间一致,大部分工作会使用随机负采样的方法。但是这些工作都采用了pairwise hinge loss作为损失函数,只能进行局部的比较,和在线推理时需要的全局比较不一致。为此,作者使用了softmax交叉熵损失函数,具体而言,给定正样本, 是全部的item集合。实际上就是softmax交叉熵损失,然后因为的数量很大,使用sampled softmax来优化即可。此处没有太大的创新点。在sampled softmax中,仍然需要负样本,参考[2]京东的做法,作者使用同一个batch内的其它样本作为当前正样本的负样本对,这个效果和使用随机任意的样本作为负样本差不多,而前者还能省不少计算资源。 接着,为了提高EBR系统的相关性,增加更多相关性的样本进入后续的排序阶段。作者提出了两种优化策略,
由此可以回答开篇的第三个问题,通过引入温度参数进行噪声平滑以及生成困难负样本来保证EBR系统的相关性。 2.4 系统架构最后,我们来欣赏下淘宝搜索引擎的系统架构。 搜索的整个过程如下:
本文重点在基于向量的检索:
还有个很重要的相关性模块还没有介绍。开篇提到过,EBR检索系统在个性化和模糊匹配方面做的很好,但是相关性上缺点也很大。归根结底在于,EBR不是完全匹配的方式,在搜索里,其实就是指不是Term Query。也即,结构化检索,比如品牌,颜色,类型等结构化字段,这些结构化字段能够很大程度上保证相关性。但是EBR却做不到这点。 比如:用户检索阿迪达斯运动鞋,那么完全匹配查询能够去检索品牌:阿迪达斯,类目:运动鞋;但是EBR可能在embedding空间检索到耐克运动鞋,这显然是不相关的,会影响用户的体验。 因此,作者在ANN结果的后面,又加了层相关性控制模块,对query进行了查询理解,识别出品牌、类目等意图,然后对item的title中也挖掘出品牌、类目等结构化字段,然后用这些查询理解的意图对item做term query,过滤掉未命中这些结构化字段取值的item。 作者还提到,Facebook[3]的文章是通过EBR系统来弥补基于完全匹配的检索系统在个性化、模糊匹配上的不足;而淘宝搜索相关性控制模块的出发点相反,是通过基于完全匹配的检索系统来提升EBR系统的相关性。总之,二者相辅相成。 3. Evaluation离线实验以及实现细节也是工业界文章的核心亮点,值得大家好好品。 3.1 Settings
3.2 离线对比实验
提升还是挺大的,尤其是相关性样本的占比,以及进入粗排的相关性item的数量,说明EBR提前考虑了相关性后,在相关性控制模块中不会被过滤太多不相关的ITEM,有更多的相关ITEM进入后续的排序环节。 3.3 消融实验几大组件,唯一没说清楚的是,不使用mgs, trm等时,用的什么做baseline?拼接?
看了消融实验,对召回指标帮助大的是mgs和trm;对相关性指标帮助大的是温度参数和困难负样本。 3.4 Online A/B Test有挺大的线上指标提升。 其它的分析实验比较常规,总结下来就是:
4.Summarization总体而言,这篇文章干货很多,细读会发现很多细节。有几大亮点,
个人认为还有几个疑问没解释清楚:
不过总的来说,同以往的EBR文章一样,值得细读和实践! 这是KDD 21工业界文章的第一篇分享,更多KDD 21 工业界文章参见下文,KDD2021| 工业界搜推广nlp论文整理。 一起交流想和你一起学习进步!『NewBeeNLP』目前已经建立了多个不同方向交流群(机器学习 / 深度学习 / 自然语言处理 / 搜索推荐 / 图网络 / 面试交流 / 等),名额有限,赶紧添加下方微信加入一起讨论交流吧!(注意一定要备注信息才能通过) References[1] Priyanka Nigam, Yiwei Song, Vijai Mohan, Vihan Lakshman, Weitian Ding, Ankit Shingavi, Choon Hui Teo, Hao Gu, and Bing Yin. 2019. Semantic product search. In Proceedings of the 25th ACM SIGKDD International Conference on Knowledge Discovery & Data Mining. 2876–2885. [2] Han Zhang, Songlin Wang, Kang Zhang, Zhiling Tang, Yunjiang Jiang, Yun Xiao, Weipeng Yan, and Wen-Yun Yang. 2020. Towards Personalized and Semantic Retrieval: An End-to-End Solution for E-commerce Search via Embedding Learning. arXiv preprint arXiv:2006.02282 (2020). [3] Jui-Ting Huang, Ashish Sharma, Shuying Sun, Li Xia, David Zhang, Philip Pronin, Janani Padmanabhan, Giuseppe Ottaviano, and Linjun Yang. 2020. Embedding-based retrieval in facebook search. In Proceedings of the 26th ACM SIGKDD International Conference on Knowledge Discovery & Data Mining. 2553–2561. [4] Miao Fan, Jiacheng Guo, Shuai Zhu, Shuo Miao, Mingming Sun, and Ping Li. 2019. MOBIUS: towards the next generation of query-ad matching in baidu’s sponsored search. In Proceedings of the 25th ACM SIGKDD International Conference on Knowledge Discovery & Data Mining. 2509–2517. [5] Tao Wu, Ellie Ka-In Chio, Heng-Tze Cheng, Yu Du, Steffen Rendle, Dima Kuzmin, Ritesh Agarwal, Li Zhang, John Anderson, Sarvjeet Singh, et al. 2020. Zero-Shot Heterogeneous Transfer Learning from Recommender Systems to Cold-Start Search Retrieval. In Proceedings of the 29th ACM International Conference on Information & Knowledge Management. 2821–2828. [6] Qingyao Ai, Daniel N Hill, SVN Vishwanathan, and W Bruce Croft. 2019. A zero attention model for personalized product search. In Proceedings of the 28th ACM International Conference on Information & Knowledge Management. 379–388. [7] Fuyu Lv, Taiwei Jin, Changlong Yu, Fei Sun, Quan Lin, Keping Yang, and Wilfred Ng. 2019. SDM: Sequential deep matching model for online large-scale recommender system. In Proceedings of the 28th ACM International Conference on Information & Knowledge Management. 2635–2643. [8] Thanh V Nguyen, Nikhil Rao, and Karthik Subbian. 2020. Learning Robust Models for e-Commerce Product Search. arXiv preprint arXiv:2005.03624 (2020). [9] Embedding-based Product Retrieval in Taobao Search: https:///abs/2106.09297 - END - NLP文本分类大杀器:PET范式 2021-09-15 有关胶囊网络你所应知道的一切 2021-09-13 NLP文本分类 落地实战五大利器! 2021-09-10 |
|