capstone
capstone copied to clipboard
基于CNN、RNN、GCN、BERT的中文文本分类
Readme
数据来源
THUNews的一个子集,从10类新闻中随机抽取了20万条新闻标题,每类各2万条。按照18:1:1划分训练、验证、测试集。
Performance
| Model | Test Acc |
|---|---|
| Naive Bayes | 90.93% |
| fastText (3-gram) | 92.54% |
| TextCNN | 91.48% |
| DPCNN | 92.00% |
| BiLSTM | 91.58% |
| BiLSTM with Attention | 91.60% |
| TextRCNN | 91.79% |
| BERT-wwm-ext (来源) | 94.61% |
| RoBERTa-wwm-ext | 94.89% |
内存有限,GCN的测试仅取数据集的十分之一进行,即20000训练/验证集,1000测试集。
| Model | Acc |
|---|---|
| Naive Bayes | 85.60% |
| TextGCN | 83.30% |
Usage
在src文件夹下运行脚本。
bash test.sh
改变json文件中的load和num_epochs,可以选择是否加载已训练模型和训练的epoch数。
对于gcn,在text_gcn文件夹下运行
python train.py r8
进行训练和测试。
文件结构
data/ 各种数据
config/ 模型超参数
src/ 源代码
model/ 保存模型和日志
word2vec预训练词向量,生成的词表已经保存在data文件夹下。