双曲面嵌入技术提升商品检索效果

本文介绍了一种基于双曲面嵌入的商品检索方法ANTHEM,通过将查询映射为双曲面空间中的超曲面体,在保留层次结构信息的同时实现高效检索。实验表明该方法在多项指标上优于传统向量嵌入方法,最高提升达33%。

双曲面嵌入技术提升商品检索效果

许多机器学习模型依赖于嵌入的概念,即将数据映射到表示空间,以便以有用的方式操作或测量数据。通常,数据嵌入是空间中的一个点——一个向量。近年来,某中心等机构的研究人员一直在研究双曲线嵌入的概念,即不是将数据嵌入为空间中的点,而是嵌入为曲面上矩形的高维类似物。这具有许多优点,其中之一是能够捕获数据点之间的层次关系。

在今年的国际网络搜索与数据挖掘会议(WSDM)上,我们和同事发表了一篇关于使用双曲线嵌入进行产品检索的论文。由于产品目录通常按层次结构组织,单个产品属于一系列越来越通用的类别(例如平板电脑/计算机/电子产品),双曲线嵌入特别适合这项任务。

在该方法中,我们将查询(例如“Fire TV”)表示为双曲线空间中的一个矩形,称为双曲面。查询匹配是那些向量嵌入位于双曲面边界内的产品。

双曲面嵌入的优势

双曲线空间相对于欧几里得空间的一个优势在于表示层次结构。双曲线空间本质上是弯曲的,这意味着您可以免费获得弯曲的表征能力。例如,分层树可以映射到一个球体上,使得树的根位于球体的中心,叶节点位于表面,而树的其他层则位于中间等距的位置。在欧几里得空间中,表示该球体需要三个维度,但在双曲线空间中,只需要两个维度。这种降维使得双曲面能够有效地模拟层次关系,即使分层树非常庞大。

在论文中,我们使用两个向量定义双曲面:一个向量表示双曲面的中心(质心),另一个表示从质心到双曲面边缘的距离。这种紧凑的表示进一步提高了在双曲线空间中计算的效率。

模型架构

机器学习模型将产品查询和候选产品标题作为输入。所有输入文本被分解为重叠的三字符块(三元组)。编码器将查询和产品的三元组映射到双曲线空间。查询映射是双曲面,而产品映射是双曲线向量。然后,交集层通过查找查询中每对三元组嵌入的交集来生成一组新的双曲面。

查询三元组及其交集然后传递到注意力层,该层在训练期间学习哪些查询元素与哪些产品标题最相关。每个产品标题的嵌入也传递到自注意力层,该层学习哪些标题元素往往与产品检索查询最相关。

从注意力值中,模型计算出一组新的向量,表示新查询嵌入双曲面的质心和新产品标题的嵌入,所有这些都偏向于注意力模型识别为最重要的特征。双曲面和产品向量的交集决定了哪些产品以什么顺序呈现给客户。

实验结果

在实验中,使用五个指标测量了模型和十个基线的性能。其中三个指标是归一化折损累积增益(NDCG)的变体,该指标不仅考虑前N个中包含多少相关结果,还考虑它们的排名高度。测量了前三个结果(NDCG@3)、前五个(NDCG@5)和前十个(NDCG@10)的NDCG。还使用了平均精度均值(测量相关结果的比例)和平均倒数排名(根据相关结果在列表中的位置分配固定分数)。

实验结果显示,在公共数据集和私有数据集上,在所有五个指标上,该模型(称为ANTHEM,即注意力双曲线实体模型)都产生了最佳结果。在私有数据集上,相对于性能最佳的向量嵌入模型(BERT)的增益始终约为30%。在公共数据集上,增益始终约为9%。

相对于使用欧几里得框嵌入的模型(E-ANTHEM),最大的增益出现在NDCG@10上——私有数据集为21%,公共数据集为8%。这可能是由于ANTHEM捕获的层次信息。也就是说,欧几里得嵌入可能在找到顶级匹配方面做得很好,但ANTHEM在探索这些匹配所属的层次产品类别方面做得更好。

模型可解释性

该方法还有助于模型的可解释性,因为使用注意力机制来确定查询字符串的哪些元素与产品的哪些属性最相关。给定查询的注意力值提供了一种简单的方法来可视化模型选择某些产品的理由。

例如,一项实验表明,当查询包含短语“日常保湿霜”时,模型在选择标题中含有“乳液”一词的产品时会关注“保湿霜”一词。注意力机制计算的权重提供了一种可视化产品检索模型决策理由的方法。有时,该机制会找到词汇匹配,例如第一个网格中的“leatherer”与“leatherer”。但通常,匹配是语义的,例如“lotion”与“moisturizer”或“driver”与“clubs”。

注意:模型不直接基于数据层次结构的表示进行训练。在某种程度上,它使用层次关系,只是从训练数据中学习它们。

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计