🚀 T5 Base 模型:问答 + 摘要 + 情感分析
本模型融合了问答、文本摘要和情感检测功能,在多个权威数据集上进行微调训练,能为文本处理任务提供高效准确的解决方案。
🚀 快速开始
依赖项
需要 transformers>=4.0.0
✨ 主要特性
- 多任务支持:支持问答、文本摘要和情感检测三种任务。
- 微调训练:在 CoQa、Squad 2、GoEmotions 和 CNN/DailyMail 数据集上进行微调。
- 优秀表现:在 Squad 2 开发集上达到 F1 79.5 的分数,在 CoQa 开发集上达到 F1 70.6 的分数。
📦 安装指南
确保安装 transformers
库,版本需大于等于 4.0.0:
pip install transformers>=4.0.0
💻 使用示例
基础用法
问答任务
使用 Transformers 库
from transformers import T5ForConditionalGeneration, T5Tokenizer
model = T5ForConditionalGeneration.from_pretrained("kiri-ai/t5-base-qa-summary-emotion")
tokenizer = T5Tokenizer.from_pretrained("kiri-ai/t5-base-qa-summary-emotion")
def get_answer(question, prev_qa, context):
input_text = [f"q: {qa[0]} a: {qa[1]}" for qa in prev_qa]
input_text.append(f"q: {question}")
input_text.append(f"c: {context}")
input_text = " ".join(input_text)
features = tokenizer([input_text], return_tensors='pt')
tokens = model.generate(input_ids=features['input_ids'],
attention_mask=features['attention_mask'], max_length=64)
return tokenizer.decode(tokens[0], skip_special_tokens=True)
print(get_answer("Why is the moon yellow?", "I'm not entirely sure why the moon is yellow."))
context = "Elon Musk left OpenAI to avoid possible future conflicts with his role as CEO of Tesla."
print(get_answer("Why not?", [("Does Elon Musk still work with OpenAI", "No")], context))
使用 Kiri 库
from kiri.models import T5QASummaryEmotion
context = "Elon Musk left OpenAI to avoid possible future conflicts with his role as CEO of Tesla."
prev_qa = [("Does Elon Musk still work with OpenAI", "No")]
model = T5QASummaryEmotion()
model.qa("Why not?", context, prev_qa=prev_qa)
> "to avoid possible future conflicts with his role as CEO of Tesla"
文本摘要任务
使用 Transformers 库
from transformers import T5ForConditionalGeneration, T5Tokenizer
model = T5ForConditionalGeneration.from_pretrained("kiri-ai/t5-base-qa-summary-emotion")
tokenizer = T5Tokenizer.from_pretrained("kiri-ai/t5-base-qa-summary-emotion")
def summary(context):
input_text = f"summarize: {context}"
features = tokenizer([input_text], return_tensors='pt')
tokens = model.generate(input_ids=features['input_ids'],
attention_mask=features['attention_mask'], max_length=64)
return tokenizer.decode(tokens[0], skip_special_tokens=True)
使用 Kiri 库
from kiri.models import T5QASummaryEmotion
model = T5QASummaryEmotion()
model.summarise("Long text to summarise")
> "Short summary of long text"
情感检测任务
使用 Transformers 库
from transformers import T5ForConditionalGeneration, T5Tokenizer
model = T5ForConditionalGeneration.from_pretrained("kiri-ai/t5-base-qa-summary-emotion")
tokenizer = T5Tokenizer.from_pretrained("kiri-ai/t5-base-qa-summary-emotion")
def emotion(context):
input_text = f"emotion: {context}"
features = tokenizer([input_text], return_tensors='pt')
tokens = model.generate(input_ids=features['input_ids'],
attention_mask=features['attention_mask'], max_length=64)
return tokenizer.decode(tokens[0], skip_special_tokens=True)
使用 Kiri 库
from kiri.models import T5QASummaryEmotion
model = T5QASummaryEmotion()
model.emotion("I hope this works!")
> "optimism"
📚 详细文档
描述
该模型在 CoQa、Squad 2、GoEmotions 和 CNN/DailyMail 数据集上进行了微调。
在 Squad 2 开发集上达到了 F1 79.5 的分数,在 CoQa 开发集上达到了 F1 70.6 的分数。
文本摘要和情感检测功能尚未进行评估。
📄 许可证
本项目采用 Apache-2.0 许可证。
关于我们
Kiri 让使用最先进的模型变得简单、便捷且可扩展。
官网 | 自然语言引擎
📦 相关信息
属性 |
详情 |
模型类型 |
文本到文本生成 |
训练数据 |
CoQa、Squad 2、GoEmotions、CNN/DailyMail |
评估指标 |
F1 |