本站内容均来自兴趣收集,如不慎侵害的您的相关权益,请留言告知,我们将尽快删除.谢谢.
作者 | 崔轩阁
整理 | 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