作者:手机用户2502906225 | 来源:互联网 | 2023-08-13 18:00
史上最简单、实际、通俗易懂的PyTorch实战系列教程!(新手友好、小白请进、建议收藏)
开源项目实战–新闻数据集文本分类
数据集及项目代码:
百度云盘链接:pan.baidu.com/s/1DJNP8sZ_ff1eXkkC7TRuMQ
链接:
提取码:1t3q
一、项目配置参数设置
这里我用的是pycharm去跑的,要做参数设置,指定参数模型设置好之后才能运行run.py。
pycharm导航栏的‘运行’–右键‘Run’–弹出来那里的run后点击它右边的小箭头然后再点击‘Edit’进入设置。在脚本参数输入:--model=TextRNN
然后点击运行即可运行。(也可以选择 TextCNN 的 model )
二、新闻数据读取与预处理方法
我们先来看下训练集,左边是标题,右边是标签。一个有18万个新闻的标题和标签。验证集的格式也如此。
词嵌入模型,搜狗和腾讯的,这里有每个词的实际向量,用别人训练好的来直接用,或者理解为迁移学习。
读数据进来后切分数据。
填充数据,PAD填充,填充到32维。
三、LSTM网络模块定义与参数解析
bidirectional=True,双向的LSTM。所以全连接层的config.hidden_size 要 * 2。
四、训练模块
详细的可以下载数据集及代码,代码里面有详细的中文解释。
五、用CNN来做文本分类
一般cnn卷积神经网络都被认为是做图像比较多,但是其实也可以用来做文本分类,只要输入是三维的数据即可,所以我们第一步要考虑怎么构建训练数据。
卷积核规格选择不同,选择长方形的卷积核进行卷积。
运行的时候只需要把之前我们 run.py 的 --model=TextRNN 参数改成 --model=TextCNN 就好了。
运行结束后我们可以看到效果其实和前面的RNN差不多的。
参考视频:https://www.bilibili.com/video/BV14V411r78j?p=54
https://www.bilibili.com/video/BV14V411r78j?p=57