天池-基于预训练任务的泛化能力改进-基于cleanlab的数据处理

天池-基于预训练任务的泛化能力改进-基于cleanlab的数据处理

背景

本次是基于先前的baseline进行改进,刚好看到推荐的改进思路有cleanlab对文本处理的改进,鉴于对现实的工作可能会有帮助,本篇会偏向于记录使用cleanlab进行文本处理
相关资料链接
cleanlab的简介
cleanlab的博客
cleanlab的开源git

基于cleanlab的介绍

该开源框架涉及到了 置信学习的概念,用以筛选掉数据中错误的样本。根据官方给出的样例,目前是cv,nlp以及规范型的数据均可以使用。
(个人理解,对于置信学习,是根据模型的评估,得到预测概率与实际预测差距较大的样本)

  1. 工具的使用
    现在该工具已经开源,可以直接pip下载进行使用。
pip install cleanlab

配合tensorflow_hub使用cleanlab

相关资料
秋风梧的知乎大佬
基于bert的模型,建立一个基础的cleanlab对文本分类的数据筛选

环境:
pip install tensorflow==2.0
pip install tensorflow_hub
pip install bert-for-tf2
pip install sklearn

(若下载速度太慢,可以使用清华镜像,在后加上-i http://mirrors.aliyun.com/pypi/simple/ 即可)

demo

1、读取数据

import pandas as pd
df = pd.read_csv('tianchi_datasets/TNEWS/train.csv', error_bad_lines=False, sep = '\s',
                names=['index', 'text', 'label'])
print(df.head())

对应的数据结果:在这里插入图片描述

2、加载Bert的分词器

import tensorflow_hub as hub 
import tensorflow as tf
import tensorflow_hub as hub 
from tensorflow.keras import layers
import bert

BertTokenizer = bert.bert_tokenization.FullTokenizer
bert_layer = hub.KerasLayer("bert_zh_L-12_H-768_A-12_2",
                            trainable=False)
vocabulary_file = bert_layer.resolved_object.vocab_file.asset_path.numpy()
to_lower_case = bert_layer.resolved_object.do_lower_case.numpy()
tokenizer = BertTokenizer(vocabulary_file, to_lower_case)
print(tokenizer.tokenize("美商务部拟限制联发科等向华为供货"))

合理的创建标题,有助于目录的生成

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值