# TextClassification **Repository Path**: owen2266/TextClassification ## Basic Information - **Project Name**: TextClassification - **Description**: 深度学习大作业 - **Primary Language**: Unknown - **License**: GPL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 4 - **Created**: 2021-10-04 - **Last Updated**: 2021-10-04 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # TextClassification #### 介绍 深度学习大作业:文本分类任务 参考 - https://github.com/649453932/Chinese-Text-Classification-Pytorch - https://github.com/649453932/Bert-Chinese-Text-Classification-Pytorch 完成 Baseline ,实现了 TextCNN 、TextRNN 、TextRNN with Attention 、DPCNN 、FastText 、Transformer 、 BERT 和 XLNet ,数据集采用了参考原作者采用了 THUCNews 作为中文数据集,并增加了英文数据集 AGNews #### 数据集 - THUCNews 中文数据集,原作者从[THUCNews](http://thuctc.thunlp.org/)中抽取的20万条新闻标题。一共10个类别,每类2万条。 类别:财经、房产、股票、教育、科技、社会、时政、体育、游戏、娱乐。 数据集划分: | 数据集 | 数据量 | | ------ | ------ | | 训练集 | 18万 | | 验证集 | 1万 | | 测试集 | 1万 | - AGNews 英文数据集,来自文本分类经典数据集AG News,包含新闻的标题、内容和标签。使用中对数据进行了简单处理,将标题和内容进行了拼接作为一列,并将训练数据划分为了训练集和验证集。一共4个类别,每类13900条。 类别:世界、体育、商业、科技。 数据集划分: | 数据集 | 数据量 | | ------ | ------ | | 训练集 | 12万 | | 验证集 | 6千 | | 测试集 | 7.6千 | 注:英文是在word-level上处理的,中文实在char-level上处理的 #### 依赖环境 1. python 3 2. pytorch 3. tqdm 4. sklearn 5. tensorboardX 6. transformers #### 目录结构 > TextClassification > > >codes \# 代码及数据 > > > >>baselines \# 用于对比的baseline > >> > >>>datasets \# 数据集 > >>> > >>>> AGNews \# AGNews数据集 > >>>> > >>>> > processed \# 处理过的数据 > >>>> > > >>>> > raw \# 原始数据 > >>>> > > >>>> > vocab \# 生成的词表 > >>>> > >>>> THUCNews \# THUCNews数据集 > >>>> > >>>> > processed \# 处理过的数据 > >>>> > > >>>> > raw \# 原始数据 > >>>> > > >>>> > vocab \# 生成的词表 > >>>> > >>>> log \# 存放日志文件 > >>>> > >>>> models \# 各类模型 > >>>> > >>>> pre_trained \# 预训练模型参数和词表 > >>>> > >>>> saved_dict \# 最优模型参数 > > papers \# 相关论文 #### 使用说明 - Baselines 1. baseline运行方法:运行 `codes/baselines/run.py` , 用 `--model`参数指定需要运行的模型(必选),用 `--dataset` 参数指定数据集(可选,默认为AGNews) 2. baseline中各模型的超参数设置见各模型定义文件中 3. 预训练参数下载地址: 链接:https://pan.baidu.com/s/1wqxUAA4LpE3LIgF3kP-6QQ 提取码:gaw3 下载后放入 `codes/baselines/pre_trained` 中即可 #### 实验结果 - Baselines - AGNews | 模型 | loss | acc | | :---------: | :-----: | :--------: | | TextCNN | 0.31 | 89.61% | | TextRNN | 0.31 | 89.55% | | TextRNN_Att | 0.3 | 89.36% | | DPCNN | 0.33 | 88.53% | | FastText | 0.29 | 90.09% | | Transformer | 0.35 | 88.26% | | BERT | 0.2 | 92.95% | | **XLNet** | **0.2** | **93.54%** | - THUCNews | 模型 | loss | acc | | :---------: | :------: | :--------: | | TextCNN | 0.33 | 89.82% | | TextRNN | 0.3 | 90.39% | | TextRNN_Att | 0.3 | 90.49% | | DPCNN | 0.32 | 89.61% | | FastText | 0.26 | 92.16% | | Transformer | 0.4 | 89.31% | | BERT | 0.18 | 94.18% | | **ERNIE** | **0.18** | **94.49%** | 注:以上实验结果在未对文本进行预处理时取得,损失函数采用交叉熵损失,其中XLNet未在中文数据集上实验,ERNIE未在英文数据集上实验。 #### 参与贡献 1. Fork 本仓库 2. 新建 Feat_xxx 分支 3. 提交代码 4. 新建 Pull Request