对于电商平台而言,商品搜索服务已经是人们日常购物中重中之重的服务了,商品的召回决定了搜索系统的质量。商品搜索需要从一个巨大的语料库中找到最相关的商品,同时还要保证个性化。目前很多论文都在探讨基于embedding的召回(EBR),这篇论文<Embedding-based Product Retrieval in Taobao Search>也不例外。EBR系统的表现主要受到搜索query和召回商品相关性,还有训练和预估不一致的影响。这篇论文就提出了一种多粒度的深度语义召回系统,保证了训练预估一致性,并使用softmax cross-entropy loss作为训练目标,使得最终召回效果更好,模型收敛速度更快。
MGDSPR
我们先看下淘宝商品搜索系统的全貌,每个环都是一个阶段:
我们可以看到retrieval阶段有亿级别的商品,通过我们的深度语义召回系统最终召回上万个相关商品。接下来开始介绍深度语义商品召回模型,我们有用户全集U={u1,u2,...,UN},还有query集合Q={q1, q2, ..., qN},同时还有商品集合I={i1, i2, ..., iM}。我们把用户历史行为序列参照时间区间分到3个子集,实时集合R = {i1, i2, ..., iT},短期集合 S = {i1, i2, ..., iT},长期集合L = {i1, i2, ..., iT},所以任务就是给定一个用户u的(R,S,L),以及query,返回top-K items:
用户塔:淘宝中的query多为中文,在切词后平均长度小于3,因此我们提出了多粒度的语义单元,从不同的语义粒度挖掘query含义,提升query的表达精度。给定一个query的切词q={w1, ..., wn}(e.g. {红色,连衣裙}),每个单词可以拆成字粒度w = {c1, ..., cm},同时我们还能拿到历史query qhis= {q1, ..., qk},所以我们可以得到6种粒度的表达: