模型:
Narrativa/byt5-base-tweet-hate-detection
ByT5 在 tweets hate speech detection 数据集上进行基于序列分类的微调。
ByT5是 Google's T5 的无标记版本,基本遵循 MT5 的架构。ByT5只是在 mC4 上进行了预训练,不包括任何有监督的训练,平均遮罩长度为20个UTF-8字符。因此,在使用该模型进行下游任务之前,需要进行微调。ByT5在处理噪声文本数据方面表现特别出色,例如google/byt5-base在 TweetQA 上明显优于 mt5-base 。论文: ByT5: Towards a token-free future with pre-trained byte-to-byte models 作者:Linting Xue,Aditya Barua,Noah Constant,Rami Al-Rfou,Sharan Narang,Mihir Kale,Adam Roberts,Colin Raffel
该任务的目标是检测推文中的仇恨言论。为了简单起见,我们说如果推文带有种族主义或性别歧视情绪,它就包含仇恨言论。因此,任务是将种族主义或性别歧视的推文与其他推文进行分类。
具体而言,给定一组推文和标签的训练样本,其中标签'1'表示推文是种族主义/性别歧视的,标签'0'表示推文不是种族主义/性别歧视的,您的目标是在给定的测试数据集上预测标签。
数据集包含一个标签,表示推文是否包含仇恨言论。
{'label': 0, # not a hate speech 'tweet': ' @user when a father is dysfunctional and is so selfish he drags his kids into his dysfunction. #run'}
label: 1-仇恨言论,0-非仇恨言论
tweet:推文的内容,以字符串形式呈现
数据包含31962个条目的训练数据
我们创建了一个有代表性的测试集,占所有条目的5%。
数据集非常不平衡,我们得到了79.8的F1分数
git clone https://github.com/huggingface/transformers.git pip install -q ./transformers
from transformers import AutoTokenizer, T5ForConditionalGeneration ckpt = 'Narrativa/byt5-base-tweet-hate-detection' tokenizer = AutoTokenizer.from_pretrained(ckpt) model = T5ForConditionalGeneration.from_pretrained(ckpt).to("cuda") def classify_tweet(tweet): inputs = tokenizer([tweet], padding='max_length', truncation=True, max_length=512, return_tensors='pt') input_ids = inputs.input_ids.to('cuda') attention_mask = inputs.attention_mask.to('cuda') output = model.generate(input_ids, attention_mask=attention_mask) return tokenizer.decode(output[0], skip_special_tokens=True) classify_tweet('here goes your tweet...')
创建者: Narrativa
Narrativa简介:自然语言生成(NLG)|基于机器学习的平台Gabriele构建和部署自然语言解决方案。#NLG #AI