Skip to content

bug-code/text_classification

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 

Repository files navigation

''' created by bug_code in 2020.11.1 '''

基于词嵌入方法的文本分类项目

数据集为自定义数据集,方法一样。

数据文本清洗

  1. datapretreat_1.py文件中进行初步的文件清洗。

  2. 读取训练集文件下的所有文件内容

  3. 将文本标签 [C、T、R、S、V] 分别用数字 [0、1、2、3] 表示

  4. 只读取其中英文字符,忽略数字、标点

  5. 以单个文件及该文件所属标签作为一条数据(没个文件表示数据集中的一条数据)

  6. 将一条数据中割裂的文本单词组合成一个字符串(形成初步清洗好的字符串文本)

  7. 使用 numpy 中的 np.savez() 函数保存文件,文件名为: train_dataset.npztest_dataset.npz 文件

数据文本向量化(词嵌入方法)

  1. 读取清洗好的 train_dataset.npztest_dataset.npz 文件

  2. 获取训练集文本词袋大小

  3. 获取最大文本文件的大小

  4. 将所有文本数据以词袋中唯一的编号表示

  5. 以最大文本文件大小作为基准,文本数据小于最大文本文件大小的填充至该大小

  6. 使用 numpy 中的 np.savez() 函数保存文件,文件名为: train_data_vec.npztest_data_vec.npz 文件

模型训练

  1. 读取处理好的训练集与测试集 train_data_vec.npztest_data_vec.npz 文件

  2. 将测试集与训练集进行切分与打乱

  3. 构建basic_model模型(基础全连接网络模型)、LSTM_model模型(基础lstm模型)、CNN_model(基础一维卷积神经网络模型)

  4. 训练与测试,计算平均准确率与loss

  5. 绘制图像

总结

无论是使用何种方式,其准确率和loss效果均不理想。关键在于数据集之中是否存在内在的逻辑性。在进行数据清洗后,采取的清洗策略会对最终效果稍有影响,但是如果数据集内部没有逻辑性,神经网络就无法学习到其中的关系。

生成的 train_data_vec.npztest_data_vec.npz 文件,如果不该变清洗策略,则可以直接导入使用,和标准库中的数据集使用方法类似。

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages