语言:
- 英语
标签:
- 问答系统
- 情感检测
- 摘要生成
许可证: Apache-2.0
数据集:
- CoQA
- SQuAD v2
- GoEmotions
- CNN/DailyMail
评估指标:
- F1分数
流水线标签: 文本到文本生成
示例输入:
- 文本: 'q: 埃隆·马斯克是谁? a: 企业家 q: 他何时出生? c: 埃隆·马斯克是1971年出生的企业家。'
- 文本: 'emotion: 希望这个能奏效!'
集成问答+摘要+情感功能的T5基础模型
依赖项
需安装transformers库(版本≥4.0.0)
模型描述
本模型基于CoQA、SQuAD 2、GoEmotions和CNN/DailyMail数据集进行微调。
在SQuAD 2开发集上取得F1 79.5分,在CoQA开发集上获得F1 70.6分。
摘要生成和情感检测功能尚未进行正式评估。
使用指南
问答功能
使用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("为什么月亮是黄色的?", "我不完全确定月亮为什么是黄色的。"))
context = "埃隆·马斯克离开OpenAI是为了避免未来可能与他作为特斯拉CEO的角色产生冲突。"
print(get_answer("为什么不呢?", [("埃隆·马斯克还在OpenAI工作吗", "不在")], context))
使用Kiri库
from kiri.models import T5QASummaryEmotion
context = "埃隆·马斯克离开OpenAI是为了避免未来可能与他作为特斯拉CEO的角色产生冲突。"
prev_qa = [("埃隆·马斯克还在OpenAI工作吗", "不在")]
model = T5QASummaryEmotion()
model.qa("为什么不呢?", context, prev_qa=prev_qa)
> "为避免未来可能与他作为特斯拉CEO的角色产生冲突"
摘要生成功能
使用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("待摘要的长文本内容")
> "长文本的简短摘要"
情感分析功能
使用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("希望这个能奏效!")
> "乐观"
关于我们
Kiri致力于让前沿模型的使用变得简单、可及且可扩展。
官网 | 自然语言引擎