🚀 基于mT5-small的土耳其语多任务(答案提取、问题生成和问答)系统
本项目基于 Google的多语言T5-small 模型,在 土耳其语问答数据集 上进行微调,以实现三个下游任务:答案提取、问题生成和问答。该模型将这三个任务集成于一体,同时mT5模型也可用于多种文本到文本的自然语言处理任务。
所有的数据处理、训练和管道代码均可在我的 GitHub 仓库中找到。我将尽快在仓库中分享训练细节。
mT5小模型拥有3亿个参数,模型大小约为1.2GB,因此微调该模型需要花费大量时间。
训练过程中采用了8个训练周期、1e-4的学习率以及0个热身步骤。这些超参数以及其他参数都可以进一步微调,以获得更好的结果。
🚀 快速开始
📦 安装指南
!pip install transformers==4.4.2
!pip install sentencepiece==0.1.95
!git clone https://github.com/ozcangundes/multitask-question-generation.git
%cd multitask-question-generation/
💻 使用示例
基础用法
from transformers import AutoTokenizer, AutoModelForSeq2SeqLM
tokenizer = AutoTokenizer.from_pretrained("ozcangundes/mt5-multitask-qa-qg-turkish")
model = AutoModelForSeq2SeqLM.from_pretrained("ozcangundes/mt5-multitask-qa-qg-turkish")
from pipelines import pipeline
multimodel = pipeline("multitask-qa-qg",tokenizer=tokenizer,model=model)
text="Özcan Gündeş, 1993 yılı Tarsus doğumludur. Orta Doğu Teknik Üniversitesi \
Endüstri Mühendisliği bölümünde 2011 2016 yılları arasında lisans eğitimi görmüştür. \
Yüksek lisansını ise 2020 Aralık ayında, 4.00 genel not ortalaması ile \
Boğaziçi Üniversitesi, Yönetim Bilişim Sistemleri bölümünde tamamlamıştır.\
Futbolla yakından ilgilenmekle birlikte, Galatasaray kulübü taraftarıdır."
高级用法
问题生成与问答示例
multimodel(text)
=> [{'answer': 'Tarsus', 'question': 'Özcan Gündeş nerede doğmuştur?'},
{'answer': '1993', 'question': 'Özcan Gündeş kaç yılında doğmuştur?'},
{'answer': '2011 2016',
'question': 'Özcan Gündeş lisans eğitimini hangi yıllar arasında tamamlamıştır?'},
{'answer': 'Boğaziçi Üniversitesi, Yönetim Bilişim Sistemleri',
'question': 'Özcan Gündeş yüksek lisansını hangi bölümde tamamlamıştır?'},
{'answer': 'Galatasaray kulübü',
'question': 'Özcan Gündeş futbolla yakından ilgilenmekle birlikte hangi kulübü taraftarıdır?'}]
从这段文本中,模型生成了5个问题并给出了相应的答案。
问答示例
需要将文本和相关问题同时传入管道。
multimodel({"context":text,"question":"Özcan hangi takımı tutmaktadır?"})
=> Galatasaray
multimodel({"context":text,"question":"Özcan, yüksek lisanstan ne zaman mezun oldu?"})
=> 2020 Aralık ayında
multimodel({"context":text,"question":"Özcan'ın yüksek lisans bitirme notu kaçtır?"})
=> 4.00
📚 详细文档
属性 |
详情 |
模型类型 |
基于mT5-small的多任务模型 |
训练数据 |
土耳其语问答数据集(TQUAD) |
📄 许可证
本项目采用Apache-2.0许可证。
🔗 致谢
本项目受到了 Suraj Patil的优秀仓库 的启发。感谢他提供的简洁代码,同时感谢 Okan Çiftçi 提供的土耳其语数据集。🙏