1 textCNN or Bert
1.1 简介
(1)环境
tensorflow 1.x
pytorch
(2)作者博客和github
天池分享:https://tianchi.aliyun.com/forum/postDetail?postId=132518 Github:https://github.com/Warrenheww/rank6_NLP_newstextclassification?spm=5176.12282029.0.0.23e119a2fcw3vx
1.2 textcnn
使用 TextCNN 模型的代码。讲解文章:阿里天池 NLP 入门赛 TextCNN 方案流程讲解
1.3 bert
使用 Bert 模型的代码。讲解文章分为 3 篇:
2 Bert
2.1 简介
(1)环境
Tensorflow == 1.14.0
Keras == 2.3.1
bert4keras == 0.8.4
(2)github
github:https://github.com/kangyishuai/NEWS-TEXT-CLASSIFICATION?spm=5176.12282029.0.0.36fa49f5LKRyZl
2.2 文件说明
EDA
:用于探索性数据分析。data_utils
:用于预训练语料的构建。pretraining
:用于Bert的预训练。train
:用于新闻文本分类模型的训练。pred
:用于新闻文本分类模型的预测。3 LSTM or CNN or Transformer
3.1 简介
(1)环境
(2)GithubKeras==2.3.1
tensorflow==1.15.0
3.2 模型得分
模型 | 线下 | 线上 |
---|---|---|
LSTM | 0.9485614776 | 0.9563 |
CNN | 0.9436911692 | 0.9532 |
Transformer | 0.9363675328 | 0.9465 |
4 Rank4分享多模型
4.1 简介
(1)环境
pytorch
sklearn
gensim
Tensorflow2.0+
xgboost
lightgbm
tqdm
huggingface/transformers
(2)博客和Github
知乎:https://zhuanlan.zhihu.com/p/231180925 github: https://github.com/MM-IR/rank4_NLP_textclassification?spm=5176.12282029.0.0.6f4c3248NQr9vk
4.2 模型得分
tfidf_lightgbm_cv | 0.943~0.945 |
---|---|
textbirgru+pl | 0.959 |
textcnn-FC | 0.943 |
bertbilstmattn | 0.9597 |
bert系列没有特别多的记录 | 0.955+ |
bert_mini系列 | 0.951~0.952 |
bert_small系列没有特别多的记录 | 0.955+ |
fasttext-text retrieval | 0.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
https://tianchi.aliyun.com/notebook-ai/detail?spm=5176.12282027.0.0.4123379ck0xtJg&postId=118259