NeuralClassifier是腾讯开源的一款基于pytorch的深度学习文本分类工具,该框架的特色是提供了一种层次多标签分类方法,同时也支持文本的二分类、多分类、多标签分类。框架自带的数据集为英文的层次多标签分类数据集。如何跟换自带数据集进行我们自己的数据集的训练和测试呢?下面以文本二分类为例进行说明:

(1)首先,将数据集转化为框架支持的json格式。这里选用酒店评论数据,部分数据格式如下:
在这里插入图片描述
(2)框架自带的数据为英文数据集,若要进行中文文本的训练和测试,要注意编码问题,需要将所有涉及文件读入的地方添加encoding=‘utf-8’
(3)下面需要修改配置文件参数:这里需要注意的一个问题,框架中配置文件也是json格式,json格式文件是不支持注释的,否则程序在读取json配置文件时候会出现错误。
(4)除了修改配置文件中的"label_type"、“hierarchical”、“data”、"model_name"等,还需要特别注意的地方有如下:
(5)“num_worker”: 4,修改为 “num_worker”: 0
(6)损失函数问题:选择适合single_label的损失函数,否则会出现以下错误:

ValueError: Target size (torch.Size([64])) must be the same as input size (torch.Size([64, 2]))

(7)最后注意层次结构:.taxonomy文件,这里只有二分类,所以文件只有根标签
Root pos ner

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐