Press "Enter" to skip to content

KDD Cup 2022 | 文本相关性的多任务预训练解法

本站内容均来自兴趣收集,如不慎侵害的您的相关权益,请留言告知,我们将尽快删除.谢谢.

 

 

 

作者 | 崔轩阁

 

整理 | NewBeeNLP

 

 

 

大家好,这里是NewBeeNLP。KDD除了正常论文投稿之外,还会召一些业界公司协办KDD Cup比赛,如果能在KDD Cup数据竞赛中获得Top 10,就能中稿KDD Cup Workshop会议,所以KDD Cup还是挺值得参加的。今天我们分享来自一份文本相关性赛题的Top方案。

 

0.赛题介绍

 

KDD Cup 2022,Amazon Product Search。Query-SKU相关性识别赛题。今年是Amazon文本相关性,Baidu风电预测两道赛题。

 

然而从Google H5-Index指标来看,”数据挖掘和分析”领域的会议引用量偏低。猜测是因为很多工作都不放源码,让其他人根本没法Follow 🙂

 

Google H5-Index @ DataMining

这篇文章,分为三个部分:数据描述,介绍个人方案,摘录Top3方案。内容会比较简略,直接展现有效、核心的策略。

 

1. Amazon Product Search赛题描述

 

ProductSearch 赛题数据介绍

输入数据Query: 分词后,99%长度小于20;

 

输入数据Product: 包含标题、品牌、颜色、卖点介绍、商品描述。bulletpoint,desc字段分词后的数据较长

 

评估数据集: 没有在训练集中出现过的Queries,以及部分没有出现过的Products数据。

 

Task1: NDCG排序任务

 

Task2: 4分类任务。识别为Exact、Substitute(可替代的商品)、Complement(配件类型商品)、Irrelevanct

 

Task3: 2分类任务。识别Query-Prodcut是否构成可替代商品。举例: Query=毛衣 SKU=羊毛

 

Amazon提供的数据量级在200w,包含三种语言,英语、日语、西班牙语,访问连接在[1]。

 

2. 个人方案

 

这是传统的文本匹配问题,在我们看来,这场比赛主要有两个挑战点:

 

Q1. 如何提高那些训练集中”看不见”的Queries的搜索质量?

 

A1: 我们需要更加 “通用” 的Embedding表征。

 

Q2.商品侧,products拥有非常丰富的文本信息,如何才能充分表征这些信息?

 

A2:对于Bert-Like的模型,随着max_length参数增长,训练耗时快速增长到难以承受。我们需要一个额外的语义单元来捕捉所有的文本信息。

 

+-----------+---------------------------+-------------------+-----------+
|  SubTask  |         Methods           |       Metric      |  Ranking  |
+-----------+---------------------------+-------------------+-----------+
|   task1   |  ensemble 6 large models  |    ndcg=0.9025    |    5th    |
+-----------+---------------------------+-------------------+-----------+
|   task2   |    only 1 large model     |  micro f1=0.8194  |    7th    |
+-----------+---------------------------+-------------------+-----------+
|   task3   |    only 1 large model     |  micro f1=0.8686  |    8th    |
+-----------+---------------------------+-------------------+-----------+

 

A1-方案设计

 

受到一些多任务预训练工作的启发[2],我们采用的MLM Task,分类Task,对比学习Task。

 

预训练策略 & 效果;最有价值策略: Product2Query

最主要的收益的来源于Product2Query任务,核心思路: 从商品侧截取一部分文本作为Query,此类样本作为正样本,负样本则是随机构造。这个策略是检索比赛中的常见策略之一[2],这里我们拿来作为预训练任务。

 

备注: 我们借鉴Span-Bert论文截取策略,使得Query长度满足泊松分布(数据真实分布)。其中日语单独设置泊松分布的参数,详细步骤参见论文Appendix部分。

 

A2-方案设计

 

Tri-gram分词粒度的思路来源于,KDD’21 两篇的业界论文[3,4]

 

微调阶段策略 & 效果;最有价值策略: 细粒度分词EmbeddingLayer

在微调阶段,我们使用Poly1-Loss,FGM、R-Drop、EMA等等策略,提升了模型训练的稳定性。由于本次比赛的数据量较大,我们没有采用PGD、FreeLB、Smart更复杂的对抗训练策略,不过这些有效策略的代码实现可以在这里[5]找到。

 

置信学习效果。Task1胜出,Task2、Task3落败

值得一提的是,我们使用”置信学习”[6],来尝试剔除~4%的噪声数据,在Task1取到正向效果。在论文Experiments部分,我们使用数据集的”困难度”角度对此进行解释。

 

段落总结:

 

我们使用数据增强、多任务预训练和几种微调方法来提高我们模型的泛化性和鲁棒性。

 

3. 其它Top方案

 

方案来源:

 

比赛讨论区:https://www.aicrowd.com/challenges/esci-challenge-for-improving-product-search/discussion
[1]

 

Papers录取结果:ESCI Challenge for Improving Product Search
[2]

 

4.论文+代码

 

Paper:ESCI Challenge for Improving Product Search
[3]
(TBD)

 

Code:https://github.com/cuixuage/KDDCup2022-ESCI
[4]

 

Discussion:https://discourse.aicrowd.com/t/solution-zhichunroad-5th-task1-7th-task2-and-8th-task3/8006
[5]

 

Video: TBD

一起交流

想和你一起学习进步!『NewBeeNLP』
目前已经建立了多个不同方向交流群(
机器学习 / 深度学习 / 自然语言处理 / 搜索推荐 / 图网络 / 面试交流 /
等),名额有限,赶紧添加下方微信加入一起讨论交流吧!(注意一定o要备注信息
才能通过)

 

 

 

本文参考资料

[1]

https://www.aicrowd.com/challenges/esci-challenge-for-improving-product-search/discussion:https://link.zhihu.com/?target=https%3A//www.aicrowd.com/challenges/esci-challenge-for-improving-product-search/discussion

[2]

ESCI Challenge for Improving Product Search:https://link.zhihu.com/?target=https%3A//amazonkddcup.github.io/

[3]

ESCI Challenge for Improving Product Search:https://amazonkddcup.github.io/

[4]

https://github.com/cuixuage/KDDCup2022-ESCI:https://github.com/cuixuage/KDDCup2022-ESCI

[5]

https://discourse.aicrowd.com/t/solution-zhichunroad-5th-task1-7th-task2-and-8th-task3/8006:https://discourse.aicrowd.com/t/solution-zhichunroad-5th-task1-7th-task2-and-8th-task3/8006

[6]

Shopping Queries Dataset: A Large-Scale ESCI Benchmark for Improving Product Search:https://arxiv.org/abs/2206.06588

[7]

阿里灵杰电商搜索召回2022比赛:https://github.com/muyuuuu/E-commerce-Search-Recall

[8]

蘑菇先生:KDD’21 | 淘宝搜索中语义向量检索技术:https://zhuanlan.zhihu.com/p/409390150

[9]

蘑菇先生:KDD’21 | 揭秘Facebook升级版语义搜索技术:https://zhuanlan.zhihu.com/p/415516966

[10]

Poly1-Loss 分类损失函数:https://aijishu.com/a/1060000000321354

[11]

[SemEval 2022比赛,SemEval 2022 Task2: 对抗训练和对比学习:https://zhuanlan.zhihu.com/p/488455448

 

 

Be First to Comment

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注