模型:

mrm8488/t5-small-finetuned-emotion

英文

使用T5-small对情感识别进行微调 ?????

在情感识别的下游任务中,使用T5-small模型在 emotion recognition 数据集上进行了微调。

T5的详细信息

T5模型是由Colin Raffel, Noam Shazeer, Adam Roberts, Katherine Lee, Sharan Narang, Michael Matena, Yanqi Zhou, Wei Li, Peter J. Liu在 Exploring the Limits of Transfer Learning with a Unified Text-to-Text Transformer 中提出的。摘要如下:

转移学习在自然语言处理(NLP)中被证明是一种强大的技术,其中模型首先在数据丰富的任务上进行预训练,然后在下游任务上进行微调。转移学习的有效性导致了各种方法、方法论和实践的出现。在本文中,我们通过引入一个统一的框架,将每个语言问题转化为文本到文本的格式,来探索NLP转移学习技术的领域。我们的系统研究比较了预训练目标、架构、无标签数据集、转移方法和其他因素在数十个语言理解任务上的表现。通过将我们的探索结果与规模和我们的新的“巨大干净爬取语料库”的结合,我们在许多涵盖摘要、问答、文本分类等基准测试上取得了最先进的结果。为了促进未来在NLP转移学习方面的工作,我们发布了我们的数据集、预训练模型和代码。

下游任务(情感识别)的详细信息 - 数据集 ?

dataset 为情感识别收集了大量数据。它可以将文本分类为以下6种情感之一:

  • 悲伤 ?
  • 快乐 ?
  • 爱 ?
  • 愤怒 ?
  • 害怕 ?
  • 惊讶 ?

模型微调 ?️‍

训练脚本是由 Suraj Patil 创建的 this Colab Notebook 的稍微修改版本,所有的功劳归于他!

测试集指标 ?

precision recall f1-score support
anger 0.92 0.93 0.92 275
fear 0.90 0.90 0.90 224
joy 0.97 0.91 0.94 695
love 0.75 0.89 0.82 159
sadness 0.96 0.97 0.96 581
surpirse 0.73 0.80 0.76 66
accuracy 0.92 2000
macro avg 0.87 0.90 0.88 2000
weighted avg 0.93 0.92 0.92 2000

混淆矩阵

模型展示 ?

from transformers import AutoTokenizer, AutoModelWithLMHead

tokenizer = AutoTokenizer.from_pretrained("mrm8488/t5-small-finetuned-emotion")

model = AutoModelWithLMHead.from_pretrained("mrm8488/t5-small-finetuned-emotion")

def get_emotion(text):
  input_ids = tokenizer.encode(text + '</s>', return_tensors='pt')

  output = model.generate(input_ids=input_ids,
               max_length=2)
  
  dec = [tokenizer.decode(ids) for ids in output]
  label = dec[0]
  return label
  
 get_emotion("i feel as if i havent blogged in ages are at least truly blogged i am doing an update cute") # Output: 'joy'
 
 get_emotion("i have a feeling i kinda lost my best friend") # Output: 'sadness'

Manuel Romero/@mrm8488 创建 | LinkedIn

在西班牙用 ♥ 制作