该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

Easy_Lstm_Cnn

Lstm+Cnn 预训练词向量 文本分类

数据集:

本实验是使用THUCNews的一个子集进行训练与测试,数据集请自行到THUCTC:一个高效的中文文本分类工具包下载,请遵循数据提供方的开源协议;

文本类别涉及10个类别:categories = ['体育', '财经', '房产', '家居', '教育', '科技', '时尚', '时政', '游戏', '娱乐'],每个分类6500条数据;

cnews.train.txt: 训练集(5000*10)

cnews.val.txt: 验证集(500*10)

cnews.test.txt: 测试集(1000*10)

训练所用的数据,以及训练好的词向量可以下载:链接: https://pan.baidu.com/s/1daGvDO4UBE5NVrcLaCGeqA 提取码: 9x3i

1.利用Lstm+Cnn进行文本分类

将LSTM与CNN连接在一起的关键:LSTM返回的值为[batch_size,seq_length,hidden_dim],而cnn需要的四维张量,故需要用到tf.expang_dims。

模型参数

parameters.py

预处理

预训练词向量进行embedding

对句子分词,去标点符号

去停用词

文字转数字

padding等

因为Cnn处理的是等长的序列,故在padding时,将所有句子padding到同一长度,本文指定最长序列max_length=300。

程序在data_processing.py

运行步骤

Training.py

由于小霸王运行非常吃力,因此只进行了3次迭代。但从迭代的效果来看,结果很理想。在训练集的batch中最好达到100%,同时测试集达到100%准确。

train and test result

predict.py 模型用来对验证文本进行预测

evalutaing result

验证结果表明,5000条文本准确率达97.7%,取前10条语句的测试结果与原标签对比。

空文件

简介

Lstm+Cnn 预训练词向量 文本分类 展开 收起
取消

发行版

暂无发行版

贡献者

全部

近期动态

不能加载更多了
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化