KDD 2020 <A Dual Heterogeneous Graph Attention Network to Improve Long-Tail Performance for Shop Search in E-Commerce> 论文解读

简介: 店铺搜索是淘宝搜索的一个组成部分,目前淘宝有近千万的店铺,7日活跃店铺也达到百万级别。店铺搜索场景拥有日均千万级别UV,引导上亿的GVM。

新零售智能引擎事业群出品

背景

店铺搜索是淘宝搜索的一个组成部分,目前淘宝有近千万的店铺,7日活跃店铺也达到百万级别。店铺搜索场景拥有日均千万级别UV,引导上亿的GVM。
PC端和移动端可以通过如下图中的tab点击后可以进入。
image.png
image.png

在淘宝平台上,绝大多数被曝光的都是高频的查询词或者商品(店铺),这就会导致所谓的长尾现象。下图中我们统计了query和店铺的出现频次和rank的关系。其中纵坐标是一天内搜索query/曝光店铺数,横坐标是query/店铺的rank。
image.png
image.png

对于长尾的query和店铺,我们通过构建异构图网络,同时利用同构与异构邻居去增强query和店铺的向量表示,提高长尾的效果。

一些intuition

为什么引入异构信息效果可能会好呢?在训练和预测的过程中我们找到了如下一些例子:
image.png

上图中,用户搜索的query和目标店铺在训练数据中并没有共现,语义也无关联。但是可以通过query-item和item-shop将query和shop联系起来。
image.png

这是另一个更复杂的例子,上图中query和shop同样在训练数据中没有共现,但是可以通过异构信息联系起来。
上述两个例子单纯使用NCF baseline是无法预测成功的,而下面介绍的DHGAN模型能够预测成功。

异构图构建

我们针对店铺搜索场景,选取了query、shop、item三种结点,并将这三种结点进行组合形成异构边。
例如q2q连接点击同一个店铺的query,shop2item连接属于某个店铺的商品,详细数据统计如下图所示。其中edges为异构边的总数,weighted edges为聚合去重后异构边的总数。
image.png

模型

相关术语

异构图: 指拥有多种不同类型结点和多种边关系的图结构,相对应的是同构图,其中仅存在单一类型的节点和边。
图神经网络: 指将神经网络应用于无规则的图结构的一类算法,主要应用于对图节点学习一个语义化的向量,然后将学到的节点表示应用于下游任务,如节点分类,链路预测等。
注意力机制:广泛应用于自然语言处理与计算机视觉的一种模仿人类注意力的计算机制,其核心目标是从众多信息中选择出对当前任务目标更关键的信息。

模型概述

我们提出对偶图注意力网络(dual heterogeneous graph attention network (DHGAN))来解决长尾问题。模型首先通过用户在店铺搜索和商品搜索中的行为日志数据来构建异构图网络,然后同时挖掘并利用查询词/店铺在异构图中的同构与异构邻居,利用这些相邻结点来增强自身的向量化表达,接着通过迁移商品搜索中的知识与数据,利用商品标题来弥补用户搜索查询词与店铺名称之间的文本语义鸿沟,最后融入多种用户特征来实现搜索召回结果的个性化。

模型细节

总体框架

模型总体框架是一个双塔结构(two tower),如下图所示
image.png

其中双塔的左边输入是用户和query,包含同构与异构邻居、商品搜索的成交商品标题之后等信息,通过DHGAN和TKPS两个模块将聚合为一个向量(请参考下文的详细介绍),双塔右侧的输入是shop,与query用到的信息类似,也同样通过DHGAN和TKPS两个模块聚合为一个向量。最终在双塔架构的顶端利用向量内积(inner product)来衡量相关度,并以此作为召回店铺的分数依据。
image.png

DHGAN模块

DHGAN全称为dual heterogeneous graph attention network,如上图所示,该模块利用同构与异构邻居去增强query和店铺的向量表示。
以用户查询词(query)为例,我们首先挖掘到它的同构邻居(query neighbors)与异构邻居(shop neighbors),然后通过作用于两种邻居的层次图注意力网络(Attention Net),第一层注意力网络分别融合(fusing)同构信息(homogeneous information)与异构信息(heterogeneous information),其中同构信息的融合直接采用注意力网络,而异构信息的融合采用heterogeneous neighbor transformation matrix (HNTM)将query映射到shop所在的向量空间。第二层注意力网络进而对两种类型的信息进行融合(fusing homo-heterogeneous information),最终达到同时利用同构与异构邻居增强自身表达的效果。作用于店铺(shop)的层次图注意力网络结构与作用于查询词的完全相同,只是网络参数相异。

TKPS模块

image.png

如上图所示,同样以用户查询词为例,首先迁移商品搜索中的知识进来,即利用同样的查询词在商品搜索下的成交商品标题(item neighbors title),然后对查询词文本(target query text)和邻居商品标题进行文本向量化,通过一个池化(pooling)操作得到其向量表示,最后通过聚合(aggregation)商品标题,和查询词自身进行拼接&转换(concatenation & transformation)得到加强化的查询词文本向量表达。对于店铺(shop),则利用店铺中的商品文本信息来强化店铺的文本向量表达。

Loss定义

我们的模型的基础loss为传统的交叉熵,定义如下
image.png

直觉上,无论是query还是shop的邻居结点,都应该和query和shop有一定的相似性,因此除了交叉熵,我们还定义了一个Neighbor proximity loss,如下所示:
image.png

其中h_i为当前结点,h_j为h_i的邻居结点作为正样本,h_k为随机采样的结点作为负样本。
模型最终的loss是上述两个loss加上正则化,分别通过alpha和lamda参数进行控制。
image.png

实验

离线效果

离线数据集构建

为了证明DHGAN模型补充长尾数据信息的优势,我们除了对所有测试数据进行测试,还构造了hard和long tail两种特殊的数据集。其中hard数据集选取在训练数据中没有出现的query-shop对,而long tail数据集选取仅在训练数据集中出现一次的query和仅出现一次的shop。详细数据集统计如下图所示,其中interactions为训练/测试数据中正例的条数,queries、shops、items、users分别为训练/测试数据中的数量。需要注意的是,为了避免特征穿越的问题,我们在测试时并没有用到item信息。
image.png

总体效果

我们选取了11种baseline进行比较,并测试了DHGAN加入个信息化信息和未加入个性化信息(DHGAN_{NP})的版本,最终实验结果如下:
image.png

可以看出,DHGAN模型在测试全集中各项指标有1%的提升,而在hard和long tail两种模型专注优化的数据集各项指标上有4~8%的提升。

消融实验

下图中,w/o homo 表示去掉 q2q & s2s, w/o hete表示去掉 q2s & s2q, w/o item表示去掉 q2i & s2i,可以看出,不同种类的异构信息均对模型有一定提升,其中item异构信息对模型提升最明显。
image.png

超参数分析

我们也对邻居的个数和loss weight alpha进行了分析。下图可以看出,这两个参数需调整才能达到最好效果,最终模型邻居数目均设为6,alpha设为0.001
image.png

总结

店铺搜索召回面临长尾问题和语义鸿沟,为了解决该问题,我们在店铺搜索召回场景对偶图注意力网络(DHGAN),补充语义,取得更好的召回效果。目前模型user侧仅包含profile信息,未来尝试将user-item,user-shop等异构信息引入模型进一步提升效果。

更多数据挖掘内容查看:《KDD论文精华解读》

相关文章
|
1月前
|
人工智能 弹性计算 自然语言处理
2026年零基础OpenClaw(Clawdbot)集成WhatsApp保姆级教程
2026年,AI智能体已经全面融入日常沟通与跨境协作场景。OpenClaw(曾用名Clawdbot、Moltbot)凭借轻量化架构、多平台兼容、稳定可靠的特性,成为连接大模型与即时通讯工具的主流网关框架。对于个人用户、跨境团队、海外社群而言,将OpenClaw接入WhatsApp,等于把AI助手装进手机聊天框,实现自动回复、内容总结、代码生成、多语言翻译、文件解析等一站式能力。
1009 2
|
11月前
|
机器学习/深度学习 并行计算 PyTorch
英伟达新一代GPU架构(50系列显卡)PyTorch兼容性解决方案
本文记录了在RTX 5070 Ti上运行PyTorch时遇到的CUDA兼容性问题,分析其根源为预编译二进制文件不支持sm_120架构,并提出解决方案:使用PyTorch Nightly版本、更新CUDA工具包至12.8。通过清理环境并安装支持新架构的组件,成功解决兼容性问题。文章总结了深度学习环境中硬件与框架兼容性的关键策略,强调Nightly构建版本和环境一致性的重要性,为开发者提供参考。
7625 64
英伟达新一代GPU架构(50系列显卡)PyTorch兼容性解决方案
|
数据采集 存储 SQL
从零开始搭建大数据平台:屌丝逆袭指南
从零开始搭建大数据平台:屌丝逆袭指南
1241 1
|
Kubernetes 架构师 Java
史上最全对照表:大厂P6/P7/P8 职业技能 薪资水平 成长路线
40岁老架构师尼恩,专注于帮助读者提升技术能力和职业发展。其读者群中,多位成员成功获得知名互联网企业的面试机会。尼恩不仅提供系统化的面试准备指导,还特别针对谈薪酬环节给予专业建议,助力求职者在与HR谈判时更加自信。此外,尼恩还分享了阿里巴巴的职级体系,作为行业内广泛认可的标准,帮助读者更好地理解各职级的要求和发展路径。通过尼恩的技术圣经系列PDF,如《尼恩Java面试宝典》等,读者可以进一步提升自身技术实力,应对职场挑战。关注“技术自由圈”公众号,获取更多资源。
|
存储 数据管理 数据库
CRUD操作实战:从理论到代码实现的全面解析
【7月更文挑战第4天】在软件开发领域,CRUD代表了数据管理的四个基本操作:创建(Create)、读取(Read)、更新(Update)和删除(Delete)。这四个操作构成了大多数应用程序数据交互的核心。本文将深入讲解CRUD概念,并通过一个简单的代码示例,展示如何在实际项目中实现这些操作。我们将使用Python语言结合SQLite数据库来演示,因为它们的轻量级特性和易用性非常适合教学目的。
1661 2
|
机器学习/深度学习 算法 Python
LightGBM高级教程:时间序列建模
LightGBM高级教程:时间序列建模【2月更文挑战第7天】
1037 0
|
机器学习/深度学习 移动开发 算法
秒懂算法 | 基于图神经网络的推荐算法
图神经网络(Graph Neural Networks,GNN)是近几年兴起的学科,用来作推荐算法自然效果也相当好,但是要学会基于图神经网络的推荐算法之前,需要对图神经网络自身有个了解。
1358 0
秒懂算法 | 基于图神经网络的推荐算法
|
安全 算法 5G
了解 5G 安全标准,看这一篇就够了
了解 5G 安全标准,看这一篇就够了
1118 0

热门文章

最新文章