0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

天池公益赛“新冠疫情相似句对判定大赛”NLP赛道top指南

深度学习自然语言处理 来源:深度学习自然语言处理 作者:Giant 2021-02-10 17:15 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

2020年初,新冠疫情席卷全球。除了“待在家,不乱跑”,我想还能从哪为抗击疫情出点微薄之力呢?

碰巧室友推送了一个天池公益赛“新冠疫情相似句对判定大赛”,秉持“重在参与”的心态参加了比赛。经过半个月的努力,最终结果勉强不错(第6),收割了一台Kindle。

2021年1月,疫情形势依然严峻,幸运的是国家不仅及时稳住了疫情,还研发出了有效的疫苗。借助疫情主题的比赛,我希望帮助更多读者,入门自然语言处理的基本任务——文本匹配。

开源代码:

https://github.com/yechens/COVID-19-sentence-pair

01 数据分析

任务背景非常直观,主办方给定了“肺炎”、“支气管炎”、“上呼吸道感染”等医疗背景下的用户真实提问,要求选手通过算法识别任意2个问题,是否表达同一个意思。举例:

问题1:“轻微感冒需不需要吃药?”

问题2:“轻微感冒需要吃什么药?”

问题1关心“是否得吃药”,问题2关心“该吃什么药”,侧重点不同所以意思不同。

数据集样本都是三元组(query1, query2, label)。为了降低难度,每一个问题的长度被控制在20字以内。

c331baa2-603d-11eb-8b86-12bb97331649.png

比赛的训练集、验证集分别包含8746、2001条三元组。我们从dev中随机保留了800条样本作为最终dev,其余均加入训练。

数据增强

拿到数据简单分析后,我发现数据集已经过清洗,竟然异常的干净整齐(没有杂乱的符号、不通顺的句子),label分布几乎也接近1:1。

再观察数据,相同的query1总是按顺序排列在一起,随后跟着不同的query2。这种分布很容易想到一种数据增强策略:相似传递性。

c6750660-603d-11eb-8b86-12bb97331649.png

A <-> B 相似 and A <-> C 相似 => B <-> C 相似

最终我额外获得了5000条高质量的数据,比赛准确率因此提升了0.5%。

实体替换

此外,我们也尝试了训练一个NER模型挖掘文本中的医疗实体,如“胸膜炎”、“肺气肿”,再通过word2vec查找最接近的实体进行替换。

但这种方式并没有提升最终结果。我觉得原因有2个:

1W条样本规模偏小,NER模型识别误差较大

词向量没有针对医疗场景训练,包含的医疗实体很少

02匹配方法实现

文本匹配有非常多简单又实用的方法,例如:

基于字符统计:字符串匹配、编辑距离、Jaccards距离

基于语言模型:word2vec/glove词向量、BERT

基于神经网络:孪生网络、TextCNN、DSSM、FastText等

由于比赛需要尽可能获得高分,这里主要介绍基于神经网络和BERT的文本匹配算法。

BERT[1]是一种预训练语言模型,通过海量文本、Transformer架构和MLM训练任务在众多NLP任务上取得了优异成果。对BERT不了解的读者,可以参考我之前的文章“从BERT、XLNet到MPNet,细看NLP预训练模型发展变迁史”[2]。

比赛中我们测试了5-6种不同的神经网络方法,并最终选择了3种在dev上表现最好的模型加权融合。具体可以参考文件。

文本CNN(TextCNN)

TextCNN是Yoon Kim[3]在2014年提出的用于句子分类的卷积神经网络。文本匹配任务本质上可以理解成二分类任务(0:不相似,1:相似),所以一般的分类模型也能满足匹配需求。

c738a11a-603d-11eb-8b86-12bb97331649.png

与图像中的二维卷积不同,TextCNN采用的是一维卷积,每个卷积核的大小为(h为卷积核窗口,k为词向量维度)。文中采用了不同尺寸的卷积核,来提取不同文本长度的特征。

然后,作者对于卷积核的输出进行最大池化操作,只保留最重要的特征。各个卷积核输出经MaxPooling后拼接形成一个新向量,最后输出到全连接层分类器(Dropout + Linear + Softmax)实现分类。

我们知道,文本中的关键词对于判断2个句子是否相似有很大影响,而CNN局部卷积的特效能很好的捕捉这种关键特征。同时TextCNN还具有参数量小,训练稳定等优点。

文本RNN(TextRCNN)

相比TextCNN,TextRCNN的模型结构看起来复杂一些。

c7774c80-603d-11eb-8b86-12bb97331649.png

简单浏览论文后,会发现它的思路其实简单,粗暴。

首先通过词向量获得字符编码,随后将其通过双向RNN学习上下文特征,编码得到两个方向的特征。

再将词向量和、拼接得到新向量,输入经tanh函数激活的全连接网络。最后,将网络的输出最大池化,并输入另一个全连接分类器完成分类。

RNN模型对于长文本有较好的上下文“记忆”能力,更适合处理文本这种包含时间序列的信息。

BERT+MLP(fine-tune)

最后一种方法,直接用语言模型BERT最后一层Transformer的输出,接一层Dense实现文本匹配。

c8824ee0-603d-11eb-8b86-12bb97331649.png

实验中我们发现,对最终输出的每个token特征取平均(MeanPooling)效果好于直接使用首字符“[CLS]”的特征。

模型权重上,崔一鸣等人[5]发布的中文roberta_wwm_ext_large模型效果要好于BERT_large。

c97a8a6a-603d-11eb-8b86-12bb97331649.png

最后,我们根据这三种模型在dev上的准确率设置了不同比重,通过自动搜索找到最优权重组合,在线上测试集取得了96.26%的准确率。

读者可以在“NLP情报局”后台回复“文本匹配”直接下载模型论文。

03涨分trick

做一个深度学习主导的算法比赛,除了分析数据与模型,一些trick也是获得高分的重要因素。这里罗列了一些常用策略。

数据增强[6]

标签平滑

自蒸馏

文本对抗训练[7]

模型融合

特征筛选

使用多个学习率[8]

针对这次文本匹配任务,数据增强、标签平滑、模型融合、多学习率都被证明是有效的。

04总结

过去将近1年的天池“新冠疫情相似句对判定大赛”,任务并不复杂,是入门NLP项目实战,提升编程能力的很好锻炼机会。

比赛虽然结束了,疫情犹在。大家一定要保护好自己哦!

[1] BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding.‍

[2] 从BERT、XLNet到MPNet,细看NLP预训练模型发展变迁史: https://zhuanlan.zhihu.com/p/166013414

[3]Convolutional Neural Networks for Sentence Classification.

[4]Recurrent Convolutional Neural Networks for Text Classification.

[5] Chinese-BERT-wwm:https://github.com/ymcui/Chinese-BERT-wwm

[6]一文了解NLP中的数据增强方法:https://zhuanlan.zhihu.com/p/145521255

[7]【炼丹技巧】功守道:NLP中的对抗训练 + PyTorch实现: https://zhuanlan.zhihu.com/p/91269728

[8]称霸Kaggle的十大深度学习技巧:https://zhuanlan.zhihu.com/p/41379279

责任编辑:xj

原文标题:天池NLP赛道top指南

文章出处:【微信公众号:深度学习自然语言处理】欢迎添加关注!文章转载请注明出处。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 自然语言
    +关注

    关注

    1

    文章

    292

    浏览量

    13926
  • nlp
    nlp
    +关注

    关注

    1

    文章

    491

    浏览量

    23198

原文标题:天池NLP赛道top指南

文章出处:【微信号:zenRRan,微信公众号:深度学习自然语言处理】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    东软斩获2025“数据要素X”大赛医疗保障赛道多项大奖

    近日,由国家数据局联合19个部门共同举办2025年“数据要素×”大赛圆满结束。东软凭借在医保数字化转型领域的深厚积累与领先优势,与客户联合申报的项目在医疗保障赛道获得全国总决赛二等奖1个,省级决赛中获得一、二、三等及优秀奖11个,成为该
    的头像 发表于 12-05 10:25 192次阅读

    深演智能荣获2025“数据要素×”大赛广东分商贸流通赛道二等奖

    近日,在国家数据局指导下举办的2025年“数据要素×”大赛广东分决赛获奖名单正式公示。由深演智能与中国移动联合申报的“中国移动梧桐智投赋能企业品牌营销推广新模式”AI解决方案,凭借卓越的人工智能创新能力和行业应用价值,荣获大赛
    的头像 发表于 11-24 17:05 621次阅读

    高鸿信安荣获2025鲲鹏创新大赛金融赛道三等奖

    近期,由大唐高鸿信安(浙江)信息科技有限公司(简称“高鸿信安”)申报的《安全计算平台方案》荣获鲲鹏创新大赛2025北京赛区总决赛企业赛道(金融)三等奖。
    的头像 发表于 11-17 09:24 366次阅读

    第二届中国研究生操作系统开源创新大赛总决赛圆满落幕

    近日,第二届中国研究生操作系统开源创新大赛(以下简称“大赛”)总决赛在杭州圆满落幕。作为本次大赛的核心题之一,开源鸿蒙赛道共吸引了全国22
    的头像 发表于 10-30 09:53 388次阅读
    第二届中国研究生操作系统开源创新<b class='flag-5'>大赛</b>总决赛圆满落幕

    2025全国大学生嵌入式芯片与系统设计竞赛应用赛道全国总决赛圆满闭幕-飞凌嵌入式

    8月13日2025全国大学生嵌入式芯片与系统设计竞赛应用赛道全国总决赛圆满闭幕,飞凌嵌入式作为大赛协办单位之一,携手瑞芯微在应用赛道设立专属题并承担评审工作,积极为高校学子搭建高水平
    的头像 发表于 08-15 08:02 2091次阅读
    2025全国大学生嵌入式芯片与系统设计竞赛应用<b class='flag-5'>赛道</b>全国总决赛圆满闭幕-飞凌嵌入式

    题知多少】 紫光同创题答疑专场|2025年全国大学生嵌入式芯片与系统设计竞赛FPGA赛道

    紫光同创赛道答疑专场来啦!2025年全国大学生嵌入式芯片与系统设计竞赛报名已拉开帷幕,FPGA赛道的挑战与创新并存。近期,我们收到许多关于题的咨询,小眼睛科技团队第一时间整理了大家的疑问,并带来
    的头像 发表于 08-06 11:02 3268次阅读
    【<b class='flag-5'>赛</b>题知多少】 紫光同创<b class='flag-5'>赛</b>题答疑专场|2025年全国大学生嵌入式芯片与系统设计竞赛FPGA<b class='flag-5'>赛道</b>

    第九届集创“法动杯”燃爆七大赛

    盛夏创新热潮涌动,“法动杯”燃爆集创大赛区。第九届全国大学生集成电路创新创业大赛(简称“集创”)正如火如荼进行中,集创七大分赛区决赛
    的头像 发表于 07-23 16:45 1124次阅读

    TPU编程竞赛系列|2025中国国际大学生创新大赛产业命题赛道,算能11项命题入选!

    参赛者使用和选择,我们诚挚邀请广大开发者前来挑战!算能命题2025中国国际大学生创新大赛产业命题赛道——算能命题序号题名称2453基于RISC-V架构的AI计算
    的头像 发表于 06-05 17:03 1288次阅读
    TPU编程竞赛系列|2025中国国际大学生创新<b class='flag-5'>大赛</b>产业命题<b class='flag-5'>赛道</b>,算能11项命题入选!

    第九届华为ICT大赛收官:AI赋能教育转型,助力ICT人才培养

    。经过国家、区域层层比拼,最终48个国家和地区的179支队伍成功晋级全球总决赛。 本届ICT大赛是华为公司举办的第九届赛事,经过在实践、创新
    的头像 发表于 05-26 17:05 1001次阅读

    2025电子发烧友开发板评测大赛开启!三大赛道火力全开,顶级开发板等你来战!

    技术人的狂欢,开发者的盛宴! 2025年最值得期待的硬核赛事——电子发烧友开发板评测大赛正式启动!无论你是开源生态的探索者、芯片架构的极客,还是物联网领域的创新达人,本次大赛大赛道
    发表于 05-15 15:09

    梦之墨助力2025年中国大学生工程实践与创新能力大赛

    2025年3月,2025年中国大学生工程实践与创新能力大赛选拔在全国各省市陆续开赛,本次大赛以“交叉融合工程创新育新质,立德树人强国建设勇担当”为主题,设置新能源车、“智能+”和虚拟仿真三个
    的头像 发表于 04-08 09:50 860次阅读

    第九届华为ICT大赛中国总决赛圆满落幕

    第九届华为ICT大赛中国总决赛各赛道的获奖名单,其中获得实践、创新、编程的84支队伍将晋级5月在深圳举办的全球总决赛,与来自世界其他国
    的头像 发表于 04-03 14:16 964次阅读

    题发布】2025集创中科亿海微赛道正式启动!

    近日,由工信部人才交流中心主办的第九届全国大学生集成电路创新创业大赛(简称“集创”)现已正式拉开帷幕!集创是国内集成电路领域最大规模、最高档次的全国性高校赛事。中科亿海微公司作为行业内的知名企业
    的头像 发表于 01-24 10:36 8798次阅读
    【<b class='flag-5'>赛</b>题发布】2025集创<b class='flag-5'>赛</b>中科亿海微<b class='flag-5'>赛道</b>正式启动!

    TPU编程竞赛|2024 CCF BDCI大赛圆满结束!算能赛道“常务副SOTA”团队荣获最佳算法能力奖

    ”团队脱颖而出,荣获大赛最佳算法能力奖。本届CCFBDCI大赛中,算能赛道推出了“基于TPU平台的OCR模型性能优化”的题,旨在探索如何通过高效的TPU硬件平台
    的头像 发表于 01-08 08:33 973次阅读
    TPU编程竞赛|2024 CCF BDCI<b class='flag-5'>大赛</b>圆满结束!算能<b class='flag-5'>赛道</b>“常务副SOTA”团队荣获最佳算法能力奖

    昇腾AI创新大赛2024总决赛圆满落幕

    12月19日,昇腾AI创新大赛2024全国总决赛在福建厦门成功举办。本届赛事历时8个月,吸引了全国25个赛区的开发者踊跃报名参赛。经过层层遴选,来自企业赛道和高校赛道的83支队在总决
    的头像 发表于 12-24 17:08 1422次阅读
    昇腾AI创新<b class='flag-5'>大赛</b>2024总决赛圆满落幕