文章目录
- 任务4:论文种类分类
- 4.1 任务说明
- 4.2 数据处理步骤
- 4.3 文本分类思路
- 4.4 具体代码实现以及讲解
- 4.4.1 思路1
- 4.4.2 思路2
任务4:论文种类分类
4.1 任务说明
- 学习主题:论文分类(数据建模任务),利用已有数据建模,对新论文进行类别分类;
- 学习内容:使用论文标题完成类别分类;
- 学习成果:学会文本分类的基本方法、
TF-IDF
等;
4.2 数据处理步骤
在原始arxiv论文中论文都有对应的类别,而论文类别是作者填写的。在本次任务中我们可以借助论文的标题和摘要完成:
- 对论文标题和摘要进行处理;
- 对论文类别进行处理;
- 构建文本分类模型;
4.3 文本分类思路
- 思路1:TF-IDF+机器学习分类器
直接使用TF-IDF对文本提取特征,使用分类器进行分类,分类器的选择上可以使用SVM、LR、XGboost等
- 思路2:FastText
FastText是入门款的词向量,利用Facebook提供的FastText工具,可以快速构建分类器
- 思路3:WordVec+深度学习分类器
WordVec是进阶款的词向量,并通过构建深度学习分类完成分类。深度学习分类的网络结构可以选择TextCNN、TextRnn或者BiLSTM。
- 思路4:Bert词向量
Bert是高配款的词向量,具有强大的建模学习能力。
4.4 具体代码实现以及讲解
为了方便大家入门文本分类,我们选择思路1和思路2给大家讲解。首先完成字段读取:
为了方便数据的处理,我们可以将标题和摘要拼接一起完成分类。
由于原始论文有可能有多个类别,所以也需要处理:
然后将类别进行编码,这里类别是多个,所以需要多编码:
4.4.1 思路1
思路1使用TFIDF提取特征,限制最多4000个单词:
由于这里是多标签分类,可以使用sklearn的多标签分类进行封装:
验证模型的精度:
4.4.2 思路2
思路2使用深度学习模型,单词进行词嵌入然后训练。首先按照文本划分数据集:
将数据集处理进行编码,并进行截断:
定义模型并完成训练: