[论文解读] Semantic Product Search
本文提出了一种用于语义商品搜索的深度学习模型,通过利用用户行为数据,在检索性能上超越了词法匹配方法。该方法采用新颖的三段式合页损失(hinge loss)、n-gram池化、OOV词元的哈希编码,以及在8张GPU上进行的模型并行训练,使在商品搜索基准测试中,Recall@100提升4.7%,MAP提升14.5%,优于当前最先进基线方法。
We study the problem of semantic matching in product search, that is, given a customer query, retrieve all semantically related products from the catalog. Pure lexical matching via an inverted index falls short in this respect due to several factors: a) lack of understanding of hypernyms, synonyms, and antonyms, b) fragility to morphological variants (e.g. "woman" vs. "women"), and c) sensitivity to spelling errors. To address these issues, we train a deep learning model for semantic matching using customer behavior data. Much of the recent work on large-scale semantic search using deep learning focuses on ranking for web search. In contrast, semantic matching for product search presents several novel challenges, which we elucidate in this paper. We address these challenges by a) developing a new loss function that has an inbuilt threshold to differentiate between random negative examples, impressed but not purchased examples, and positive examples (purchased items), b) using average pooling in conjunction with n-grams to capture short-range linguistic patterns, c) using hashing to handle out of vocabulary tokens, and d) using a model parallel training architecture to scale across 8 GPUs. We present compelling offline results that demonstrate at least 4.7% improvement in Recall@100 and 14.5% improvement in mean average precision (MAP) over baseline state-of-the-art semantic search methods using the same tokenization method. Moreover, we present results and discuss learnings from online A/B tests which demonstrate the efficacy of our method.
研究动机与目标
- 解决词法匹配在商品搜索中的局限性,例如无法识别同义词、上下位词、词形变化及拼写错误。
- 利用用户行为数据(尤其是购买与点击行为)学习语义表征,捕捉超越关键词匹配的用户意图。
- 设计一种可扩展的深度学习架构,能够处理大规模商品目录,支持高维嵌入向量及未登录词(OOV)的处理。
- 在离线指标(Recall@100、MAP)与线上A/B测试中均提升检索性能,确保对用户满意度与业务关键指标的真实影响。
提出的方法
- 提出一种三段式合页损失函数,能够区分随机负样本、被用户关注但未购买的商品,以及实际购买的正样本,从而实现更优的信号区分能力。
- 通过n-gram上的平均池化操作,捕捉短距离语言模式,提升对词序与词形变化的鲁棒性。
- 对未登录词元(OOV tokens)应用哈希编码,减少词汇表规模,提升对罕见或未见词汇的泛化能力。
- 通过沿嵌入维度拆分嵌入矩阵,并对余弦相似度计算进行通信高效的分解,实现8张GPU上的模型并行训练,将每张GPU的通信开销降低至3个标量。
- 采用Siamese网络架构,共享查询与商品嵌入的权重,通过余弦相似度实现高效的相似度计算。
- 通过将梯度变量放置在与对应操作相同GPU上,优化训练过程,提升内存分布与计算效率。
实验结果
研究问题
- RQ1用户行为数据(尤其是购买与点击行为)是否可被有效利用,以训练出超越传统词法匹配方法的语义匹配深度学习模型?
- RQ2一种能区分未购买浏览与实际购买行为的三段式合页损失函数,如何提升模型泛化能力与检索性能?
- RQ3n-gram池化结合平均池化,在多大程度上增强了对词形变化与同义词的鲁棒性?
- RQ4在多GPU环境下,对大规模嵌入矩阵进行模型并行训练的权衡与可扩展特性如何?
- RQ5所提出的模型是否能在真实电商环境中实现离线指标与线上A/B测试的可测量性能提升?
主要发现
- 所提模型在使用相同分词方法的前提下,相较于当前最先进语义搜索基线,Recall@100至少提升4.7%,平均平均精度(MAP)提升14.5%。
- 三段式合页损失显著优于标准损失函数,能更准确地建模未购买浏览与实际购买之间的差异。
- 对未登录词元的哈希编码在不同分词策略下均提升了精度,增强了对罕见或未见词汇的鲁棒性。
- 通过通信高效的余弦相似度分解实现的模型并行训练,使每张GPU的训练时间随嵌入维度呈线性扩展,显著缩短了大模型的训练时间。
- 线上A/B测试验证了该模型在真实部署中的有效性,显著提升了关键业务指标与用户满意度。
- 尽管尝试了自注意力机制与位置编码,但未观察到精度提升,表明当前架构已充分适配商品搜索的独特特征。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。