大数据文摘出品
如何选择合适的模型上手进行中文文本分类呢?
别慌,福利来了,GitHub上一位名为“huwenxing”(胡文星)的用户上传了一个项目,里面包含了7个基于Pytorch的文本分类模型,并提供了一个样本数据集,这对新手党来说,简直不要太方便!
GitHub链接:
https://github.com/649453932/Chinese-Text-Classification-Pytorch
项目中,作者对7个模型都进行了训练和测试,最终得出了一个效果的对比列表,可以让大家更快的使用各种模型来搭建baseline,也能很快的对各个模型在该任务上的表现有大概了解,之后决定用哪个模型。
作者从THUCNews中抽取了20万条新闻标题,文本长度在20到30之间。一共10个类别,每类2万条。类别是:财经、房产、股票、教育、科技、社会、时政、体育、游戏、娱乐。
其中,作者用了18万条作为训练集,一万作为验证集,一万作为测试集。
预训练词向量下载:
https://pan.baidu.com/s/14k-9jsspp43ZhMxqPmsWMQ
而如果要替换自己的数据集的话:
作者主要测试了TextCNN,TextRNN,FastText,TextRCNN,BiLSTM_Attention, DPCNN, Transformer,这七个文本分类模型。
得出的结果如下:
这七个模型都放在了项目的“models”文件夹中:
直接按以下代码调用即可:
# 训练并测试:# TextCNNpython run.py --model TextCNN
# TextRNNpython run.py --model TextRNN
# TextRNN_Attpython run.py --model TextRNN_Att
# TextRCNNpython run.py --model TextRCNN
# FastText, embedding层是随机初始化的python run.py --model FastText --embedding random
# DPCNNpython run.py --model DPCNN
# Transformerpython run.py --model Transformer
如此方便的模型库在此,还不赶紧上手试试?