英文

基于T5-base的情绪识别 ?????

emotion recognition 数据集上对T5-base进行了fine-tuning,用于情绪识别的下游任务。

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 年提出的。其中摘要如下:

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

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

Elvis Saravia 为情感识别收集了一份很棒的数据集。它可以将文本分类为以下6种情感:

  • sadness ?
  • joy ?
  • love ?
  • anger ?
  • fear ?
  • surprise ?

模型fine-tuning?️‍

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

测试集指标?

precision recall f1-score support
anger 0.93 0.92 0.93 275
fear 0.91 0.87 0.89 224
joy 0.97 0.94 0.95 695
love 0.80 0.91 0.85 159
sadness 0.97 0.97 0.97 521
surpirse 0.73 0.89 0.80 66
accuracy 0.93 2000
macro avg 0.89 0.92 0.90 2000
weighted avg 0.94 0.93 0.93 2000

模型展示?

from transformers import AutoTokenizer, AutoModelWithLMHead

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

model = AutoModelWithLMHead.from_pretrained("mrm8488/t5-base-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

西班牙制造♥