一、背景简介
本文为阅读项目记录,项目地址为:https://github.com/kk7nc/Text_Classification
目的:
- 了解文本分类的实现方法
- 传统机器学习是如何实现文本分类的?
- 深度学习有哪些算法支持文本分类?
- 文本特征如何提取?
二、特征提取方法
该项目使用两种方法提取文本特征:
- 方法一:TF-IDF
- 方法二:字典向量化+glove序列
三、模型组合
使用TF-IDF提取文本特征,使用传统机器学习算法,如KNN,XGBoost等。深度学习特征提取方面使用字典法,把文本转换为数值,同时使用了Glove序列。
涉及组合模式如下:
- TF-IDF + 传统机器学习算法
- 字典+glove+深度学习(CNN,RCNN,RNN)
- TF-IDF + DNN
四、补充
1、glove
glove 下载得到的数据内容为:每个词汇对应一串数据,长度有50/100/200/300,根据所选文件决定
GloVe file which could be download here
2、embedding
使用weight参数把字典法和glove组合起来
Embedding(len(word_index),
weights=[glove_matrix],
input_length=500,
trainable=True)
3、字典法
keras tokenizer可以实现文本到数字向量的转换,pad_sequence实现首位填充功能,填充值为0。
五、问题待处理
- 深度学习文本分类的文本向量化方法有哪些?应该如何使用?(例如word2vec、one-hot、…)
- 文本分类方面,可以使用哪些具体的深度学习算法,优缺点是什么?