零基础入门NLP之新闻分类
分类:
文章
•
2024-10-26 16:45:28
基于textcnn+word2vec的分类
- 之前试验了fasttext进行文本分类的方法,最终效果并不是特别理想,比之前传统机器学习的得分稍低,这次试用textcnn+word2vec的方式进行训练
- word2vec是采用n-gram或CBOW的方式对输入数据进行编码,不同于one-hot编码,word2vec文本向量小(不再是词典大小),也不具有稀疏性,同时还考虑到了每个单词前后文的信息
- 这里使用gensim库进行词向量的训练
- 因为最终词向量是应用至embedding层,因此需要保存模型并建立对应转化表,得到最终导入embedding层的权重矩阵
- 和fasttext一样,还需要对数据进行长度统一,同时需要将输入数据转化成新词表的对应值
- textcnn的网络结构主要是有三个不同大小卷积核的cnn加上全连接层构建而成
- 之后便可以使用该网络进行训练,同样是10个epoch,textcnn最终线上分数可到93.59,优于之前模型
- 另外用word2vec加上fasttext发现效果并没有明显提升,不知道是哪里出现了错误
- 除textcnn外还搭了textrnn,但是可能是数据处理不当,gpu显存不够,训练不起来