【NLP-新闻文本分类】处理新闻文本分类所有开源解决方案汇总

本文介绍了在NLP新闻文本分类任务中,作者对比了TextCNN和BERT模型的实现,并分享了rank1选手的Bert模型详解,涉及环境配置、模型训练与预处理。同时探讨了LSTM、CNN和Transformer的性能,以及多模型融合策略,包括融合BERT、TF-IDF和深度学习模型的高分解决方案。
摘要由CSDN通过智能技术生成

引言

赛题参考【NLP-新闻文本分类】1 数据分析和探索

1 textCNN or Bert

1.1 简介

(1)环境

tensorflow 1.x
pytorch

(2)作者博客和github
天池博客分享
Github源码

1.2 textcnn

使用 TextCNN 模型的代码。讲解文章:阿里天池 NLP 入门赛 TextCNN 方案流程讲解

1.3 bert

使用 Bert 模型的代码。讲解文章分为 3 篇:

2 Bert

rank1第一名分享

2.1 简介

(1)环境

Tensorflow == 1.14.0
Keras == 2.3.1
bert4keras == 0.8.4

(2)github
github源码

2.2 文件说明

  • EDA:用于探索性数据分析。
  • data_utils:用于预训练语料的构建。
  • pretraining:用于Bert的预训练。
  • train:用于新闻文本分类模型的训练。
  • pred:用于新闻文本分类模型的预测。

3 LSTM or CNN or Transformer

3.1 简介

(1)环境

Keras==2.3.1
tensorflow==1.15.0

(2)Github
Github源码

3.2 模型得分

模型线下线下
LSTM0.94856147760.9563
CNN0.94369116920.9532
Transformer0.93636753280.9465

4 多模型融合

Rank4分享

4.1 简介

(1)环境

pytorch
sklearn
gensim
Tensorflow2.0+
xgboost
lightgbm
tqdm
huggingface/transformers

(2)博客和Github
知乎-博客
github源码

4.2 模型得分

模型得分
tfidf_lightgbm_cv0.943~0.945
textbirgru+pl0.959
textcnn-FC0.943
bertbilstmattn0.9597
bert系列没有特别多的记录0.955+
bert_mini系列0.951~0.952
bert_small系列没有特别多的记录0.955+
fasttext-text retrieval0.93

融合测试
基本上textbigru_cv+bertbilstmattn (无pl) 此时也有0.969的成绩 加上pl其实就比较接近0.97了 后来我尝试了加上几个bert系列(后悔没有加上pl,否则可能还会提高) 结合tfidf做了一下对应lr, lightgbm, xgboost的stacking-B榜分数达到0.9702 总结: 其实我在线下验证集上达到了0.971, 但是我觉得可能B榜的类别分布与训练集不一样,所以我只有0.9702。

5 TextRNN

(1)github
GitHub源码

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Better Bench

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值