NLP实战新闻分类
1、数据
国内的新闻数据主要是两种:一种是新浪新闻(长新闻),共分为14类,一种是今日头条(短新闻),分为15类。
dataset可以通过paddlepaddle的hub直接下载。更多数据:https://github.com/PaddlePaddle/PaddleHub/wiki/PaddleHub-API:-Dataset#class-hubdatasettnews。
#短新闻
import paddlehub as hub
dataset = hub.dataset.TNews()
#长新闻
import paddlehub as hub
dataset = hub.dataset.THUCNEWS()
2、数据清洗
如果是以上方式下载的数据,是清洗好的json格式,可以省去很多麻烦,稍微需注意,由于一些类别之间本身就存在很大的模糊性(如金融和股票两个类别),所以如果商用,可能需要按照自己的标注重新标注。
3、模型
现在主流的模型都是基于transformer,典型代表是GPT和berth,二者的区别在于一个单向一个双向,从直观上来说对于语言数据双向优于单项,即bert优于GPT,实际上还受具体模型结构的影响。现在用的比较多的模型:
这些是paddlepaddle里面的预训练模型,如果需要TensorFlow版本或者pytorch版本,可以来这里下载:https://github.com/ymcui/Chinese-BERT-wwm
4、模型选择
1、自己写模型?用现有的模型?在现有的模型上改?按照经验怎么改?
2、用现有的模型是pre trained还是fine tune?
3、现有的模型比较
对于前两个问题没有统一的答案,在比赛中baseline一般是用其中一个模型fine tune的结果。
5、实战代码
https://aistudio.baidu.com/aistudio/projectdetail/376460