🚀 t5-qa_squad2neg-en
這是一個基於T5-small的問答模型,是QuestEval評估指標的一部分,也可獨立用於問答任務,為問答場景提供支持。
🚀 快速開始
安裝依賴
使用此模型前,你需要安裝transformers
庫。可以使用以下命令進行安裝:
pip install transformers
代碼示例
from transformers import T5Tokenizer, T5ForConditionalGeneration
tokenizer = T5Tokenizer.from_pretrained("ThomasNLG/t5-qa_squad2neg-en")
model = T5ForConditionalGeneration.from_pretrained("ThomasNLG/t5-qa_squad2neg-en")
你可以通過推理API來使用該模型,文本輸入格式應遵循以下模板(與模型訓練階段一致):
text_input = "{QUESTION} </s> {CONTEXT}"
✨ 主要特性
- 基於T5-small架構,具備良好的問答能力。
- 作為QuestEval指標的組件,也可獨立使用。
📦 安裝指南
使用pip
安裝所需的transformers
庫:
pip install transformers
💻 使用示例
基礎用法
from transformers import T5Tokenizer, T5ForConditionalGeneration
tokenizer = T5Tokenizer.from_pretrained("ThomasNLG/t5-qa_squad2neg-en")
model = T5ForConditionalGeneration.from_pretrained("ThomasNLG/t5-qa_squad2neg-en")
text_input = "Who was Louis 14? </s> Louis 14 was a French King."
input_ids = tokenizer(text_input, return_tensors="pt").input_ids
outputs = model.generate(input_ids)
answer = tokenizer.decode(outputs[0], skip_special_tokens=True)
print(answer)
高級用法
如果你需要處理多個問題和上下文,可以將上述代碼封裝成函數,批量處理輸入:
from transformers import T5Tokenizer, T5ForConditionalGeneration
tokenizer = T5Tokenizer.from_pretrained("ThomasNLG/t5-qa_squad2neg-en")
model = T5ForConditionalGeneration.from_pretrained("ThomasNLG/t5-qa_squad2neg-en")
def answer_questions(questions, contexts):
answers = []
for question, context in zip(questions, contexts):
text_input = f"{question} </s> {context}"
input_ids = tokenizer(text_input, return_tensors="pt").input_ids
outputs = model.generate(input_ids)
answer = tokenizer.decode(outputs[0], skip_special_tokens=True)
answers.append(answer)
return answers
questions = ["Who was Louis 14?", "What is the capital of France?"]
contexts = ["Louis 14 was a French King.", "Paris is the capital of France."]
results = answer_questions(questions, contexts)
print(results)
📚 詳細文檔
訓練數據
該模型在以下數據集上進行訓練:
- SQuAD-v2
- SQuAD-v2 neg:除了SQuAD-v2的訓練數據外,對於每個可回答的示例,還添加了一個標記為不可回答的負採樣示例,以幫助模型學習在給定上下文中問題不可回答的情況。更多詳細信息,請參閱論文。
引用信息
@article{scialom2020QuestEval,
title={QuestEval: Summarization Asks for Fact-based Evaluation},
author={Scialom, Thomas and Dray, Paul-Alexis and Gallinari, Patrick and Lamprier, Sylvain and Piwowarski, Benjamin and Staiano, Jacopo and Wang, Alex},
journal={arXiv preprint arXiv:2103.12693},
year={2021}
}
📄 許可證
本模型使用MIT許可證。