使用xlnet实现中文文本分类 超详细(附代码)

本文指导如何使用xlnet实现中文文本分类,包括下载代码和预训练模型,处理训练数据,编辑run_classifier.py文件创建新任务类,修改main函数,设置输出文件,并提供运行脚本的步骤。通过实例展示了训练过程,强调了在非TPU环境下调整参数的重要性。
摘要由CSDN通过智能技术生成

**

使用xlnet实现中文文本分类

**

1、下载xlnet代码
https://github.com/zihangdai/xlnet
2、下载xlnet中文预训练模型
https://github.com/ymcui/Chinese-PreTrained-XLNet
3、训练数据的处理
新建一个文件夹,文件夹名字随意。在此处放置三个单独的文件:train.tsv dev.tsv和test.tsv。在train.tsv,dev.tsv没有标题,如下所示:第1列:行的ID(可以是计数,或者如果你不希望跟踪每个人,则每行甚至可以是相同的数字或字母),第2列:该行的标签为int。这些是分类器旨在预测的分类标签。第3列:所有字母均相同的列,因此您需要包括一个一次性的列。第4栏:您要分类的文本示例。
train.tsv和dev.tsv的示例:
在这里插入图片描述
test.tsv格式略有不同。它具有第1列:每个示例的ID,类似于train和dev文件中的第1列,以及第2列:要分类的文本。另外,test.tsv应该有一个标题行(而train和dev没有)。这是test.tsv的示例:
在这里插入图片描述
4、打开xlnet-master中的run_classifier.py文件,进行两处修改
1)新建一个mytask类,此类与已有的类并列即可;标签可以根据需要自定义。

class MyTaskProcessor(DataProcessor):
    def __init__(self):
        self.train_file = "train.tsv"
        self.dev_file = "dev.tsv"
        self.test_file = "test.tsv"
        self.label_column = 1
        self.text_a_column = 3
        self.text_b_column = None
        self.contains_header = True
        self.test_text_a_column = None
        self.test_text_b_column = None
        self.test_contains_header = True

    def get_train_examples(self, data_dir):
        """See base class."""
        return self._create_examples(
            self._read_tsv(os.path.join(data_dir, self.train_file)), "train")

    def get_dev_examples(self, data_dir):
        """See base class."""
        return self._create_examples(
            self._read_t
  • 0
    点赞
  • 39
    收藏
    觉得还不错? 一键收藏
  • 13
    评论
评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值