🚀 T5-base 微调用于情感识别 😂😢😡😃😯
本项目基于 Google 的 T5 基础模型,在 情感识别 数据集上进行微调,以完成 情感识别 下游任务。
🚀 快速开始
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")
get_emotion("i have a feeling i kinda lost my best friend")
✨ 主要特性
- 基于 Google 的 T5 基础模型,在情感识别数据集上进行微调,可有效完成情感识别下游任务。
- 能够将文本分类为 6 种不同的情感:悲伤 😢、喜悦 😃、爱 🥰、愤怒 😡、恐惧 😱、惊讶 😯。
📚 详细文档
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 迁移学习技术的领域。我们的系统研究比较了预训练目标、架构、无标签数据集、迁移方法和其他因素在数十个语言理解任务上的表现。通过将我们的探索见解与规模和新的“Colossal Clean Crawled Corpus”相结合,我们在许多涵盖摘要、问答、文本分类等的基准测试中取得了最先进的结果。为了促进未来 NLP 迁移学习的研究,我们发布了数据集、预训练模型和代码。

下游任务(情感识别)详情 - 数据集 📚
Elvis Saravia 收集了一个很棒的 情感识别数据集,该数据集可以将文本分类为以下 6 种情感之一:
- 悲伤 😢
- 喜悦 😃
- 爱 🥰
- 愤怒 😡
- 恐惧 😱
- 惊讶 😯
模型微调 🏋️
训练脚本是 Suraj Patil 创建的 Colab 笔记本 的略微修改版本,所有功劳归他!
测试集指标 🧾
情感 |
精确率 |
召回率 |
F1 分数 |
样本数 |
愤怒 |
0.93 |
0.92 |
0.93 |
275 |
恐惧 |
0.91 |
0.87 |
0.89 |
224 |
喜悦 |
0.97 |
0.94 |
0.95 |
695 |
爱 |
0.80 |
0.91 |
0.85 |
159 |
悲伤 |
0.97 |
0.97 |
0.97 |
521 |
惊讶 |
0.73 |
0.89 |
0.80 |
66 |
准确率 |
|
|
0.93 |
2000 |
宏平均 |
0.89 |
0.92 |
0.90 |
2000 |
加权平均 |
0.94 |
0.93 |
0.93 |
2000 |
📄 许可证
文档未提及相关许可证信息。
由 Manuel Romero/@mrm8488 创建 | 领英
于西班牙用心打造 ♥