语言: tr
数据集:
基于mT5-small的土耳其语摘要系统
谷歌的多语言T5-small通过使用Pytorch Lightning在MLSUM土耳其新闻数据集上进行了微调,用于摘要下游任务。⚡
mT5 small模型拥有3亿参数,模型大小约为1.2GB。因此,微调它需要相当长的时间。模型训练了10个周期,批次大小为8,学习率为10e-4。耗时近4小时。新闻最大长度设为784,摘要最大长度设为64。
重要提示:mT5仅在mC4上进行了预训练,不包括任何监督训练。因此,mT5模型在下游任务使用前必须进行微调。
数据集
MLSUM数据集包含超过25万条土耳其新闻及其相关摘要。由于mT5模型大小和词汇量庞大,训练使用了2万条数据,验证使用了4千条数据。更多关于数据集的信息,请阅读这篇优秀论文。
使用 🚀
from transformers import AutoTokenizer, AutoModelForSeq2SeqLM
tokenizer = AutoTokenizer.from_pretrained("ozcangundes/mt5-small-turkish-summarization")
model = AutoModelForSeq2SeqLM.from_pretrained("ozcangundes/mt5-small-turkish-summarization")
def generate_summary(main_news):
source_encoding=tokenizer(
main_news,
max_length=784,
padding="max_length",
truncation=True,
return_attention_mask=True,
add_special_tokens=True,
return_tensors="pt")
generated_ids=model.generate(
input_ids=source_encoding["input_ids"],
attention_mask=source_encoding["attention_mask"],
num_beams=2,
max_length=120,
repetition_penalty=2.5,
length_penalty=2.0,
early_stopping=True,
use_cache=True
)
preds=[tokenizer.decode(gen_id, skip_special_tokens=True, clean_up_tokenization_spaces=True)
for gen_id in generated_ids]
return "".join(preds)
示例1
main_news= "决赛阶段第三场比赛将于4月29日星期一18:00在Burhan Felek排球馆举行。赛季以FIVB世界俱乐部锦标赛开局的VakıfBank女子排球队,在CEV欧洲冠军联赛中获得第三名,在Vestel Venus Sultanlar联赛决赛系列赛第二场比赛中,主场以16-25、25-10、25-18和25-17的比分3-1击败Eczacıbaşı VitrA,将系列赛比分扳为1-1。首局以16-25失利后,黄黑军团在第二局利用有效发球,技术暂停时以12-5领先,最终以25-10拿下该局。第三局继续保持高效发球表现,技术暂停时12-5领先,以25-18获胜,总比分2-1反超。第四局未给对手反扑机会,以25-17拿下,总比分3-1获胜,将系列赛扳平。"
generate_summary(main_news)
示例2
main_news="2023年国产坦克发动机:Öztürk表示他们正致力于坦克发动机国产化,并做出如下评估:``我们正在尝试国产化1500马力的发动机及变速箱。如无意外,2023年将首次装配到我们的坦克上。此后我们将能独立生产这些车辆,不再依赖任何国家。我们深知责任重大,努力为国家服务。为更进一步,我们全力以赴。但这并非单打独斗,我们正与土耳其本土企业合作推进此事。"
generate_summary(main_news)
由Özcan Gündeş创建 ✌️
Twitter:
Linkedin:
Medium:
Github: 