最全中文文本分类模型库,上手即用,附链接

百家 作者:大数据文摘 2019-10-16 07:16:22

大数据文摘出品


如何选择合适的模型上手进行中文文本分类呢?


别慌,福利来了,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


而如果要替换自己的数据集的话:

  • 如果用字,按照我数据集的格式来格式化你的数据。
  • 如果用词,提前分好词,词之间用空格隔开,python run.py --model TextCNN --word True
  • 使用预训练词向量:utils.py的main函数可以提取词表对应的预训练词向量。


模型效果


作者主要测试了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

如此方便的模型库在此,还不赶紧上手试试?



实习/全职编辑记者招聘ing

加入我们,亲身体验一家专业科技媒体采写的每个细节,在最有前景的行业,和一群遍布全球最优秀的人一起成长。坐标北京·清华东门,在大数据文摘主页对话页回复“招聘”了解详情。简历请直接发送至zz@bigdatadigest.cn



点「在看」的人都变好看了哦!

关注公众号:拾黑(shiheibook)了解更多

[广告]赞助链接:

四季很好,只要有你,文娱排行榜:https://www.yaopaiming.com/
让资讯触达的更精准有趣:https://www.0xu.cn/

公众号 关注网络尖刀微信公众号
随时掌握互联网精彩
赞助链接