1 textCNN or Bert

1.1 简介

(1)环境

  1. tensorflow 1.x
  2. 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

rank1第一名分享

2.1 简介

(1)环境

  1. Tensorflow == 1.14.0
  2. Keras == 2.3.1
  3. 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)环境
    1. Keras==2.3.1
    2. tensorflow==1.15.0
    (2)Github

    https://github.com/LogicJake/tianchi_nlp

3.2 模型得分

模型 线下 线上
LSTM 0.9485614776 0.9563
CNN 0.9436911692 0.9532
Transformer 0.9363675328 0.9465

4 Rank4分享多模型

4.1 简介

(1)环境

  1. pytorch
  2. sklearn
  3. gensim
  4. Tensorflow2.0+
  5. xgboost
  6. lightgbm
  7. tqdm
  8. 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