🚀 基于mT5-small的土耳其语摘要系统
本项目基于 Google的多语言T5-small 模型,使用Pytorch Lightning⚡ 在 MLSUM土耳其新闻数据集 上进行微调,以完成 摘要生成 这一下游任务。
mT5小模型拥有3亿个参数,模型大小约为1.2GB,因此微调该模型需要花费大量时间。本模型训练了10个轮次,批次大小为8,学习率为10e - 4,训练耗时近4小时。新闻的最大长度设置为784,摘要的最大长度设置为64。
⚠️ 重要提示
mT5仅在 mC4 上进行了预训练,未进行任何有监督训练。因此,在将mT5模型用于下游任务之前,必须对其进行微调。
📦 安装指南
文档未提供安装步骤,故跳过此章节。
✨ 主要特性
- 模型基础:基于Google的多语言mT5-small模型,具有强大的多语言处理能力。
- 微调训练:在MLSUM土耳其新闻数据集上进行微调,适用于土耳其语新闻的摘要生成任务。
📚 详细文档
数据集
MLSUM数据集包含超过25万条土耳其语新闻及其相关摘要。由于mT5模型规模和词汇量较大,本项目使用2万条数据进行训练,4千条数据进行验证。有关该数据集的更多信息,请阅读这篇 优秀论文。
模型训练
- 参数设置:模型训练了10个轮次,批次大小为8,学习率为10e - 4。
- 耗时情况:训练耗时近4小时。
- 长度限制:新闻的最大长度设置为784,摘要的最大长度设置为64。
💻 使用示例
基础用法
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= "Final etabının üçüncü karşılaşması 29 Nisan Pazartesi günü saat 18.00 ’ de Burhan Felek Voleybol Salonu ’ nda oynanacak . Sezonu FIVB Kulüpler Dünya Şampiyonluğu ile açan ve CEV Avrupa Şampiyonlar Ligi'ni üçüncü olarak tamamlayan VakıfBank Kadın Voleybol Takımı , Vestel Venus Sultanlar Ligi final serisi ikinci maçında Eczacıbaşı VitrA'yı VakıfBank Spor Sarayı'nda 16-25 , 25-10 , 25-18 ve 25-17'lik setlerle 3-1 mağlup ederek seride durumu 1-1 ' e getirdi . İlk setini 25-16 kaybettiği karşılaşmanın ikinci setinde etkili servisler kullanan sarı-siyahlılar , teknik molasına 12-5 önde girdiği seti 25-10 almayı başardı . Etkili servis performansını üçüncü sette de sürdüren VakıfBank , teknik molasına 12-5 önde girdiği seti 25-18 alarak , karşılaşmada 2-1 öne geçti . Dördüncü sette rakibinin geri dönüşüne izin vermeyen VakıfBank , seti 25-17 , maçı da 3-1 kazanarak seride durumu eşitledi."
generate_summary(main_news)
示例 2
main_news="2023'te yerli tank motoru : Bir taraftan da tankın motorunu yerlileştirmeye çalıştıklarını ifade eden Öztürk , şu değerlendirmelerde bulundu : `` Bin 500 beygirlik , şanzımanıyla beraber motoru yerlileştirmeye çalışıyoruz . Bu da bir aksilik çıkmazsa ilk tankımızın üzerine 2023'te koyacağız . Bundan sonra hiçbir ülkeye bağımlılığımız kalmadan bu araçları üretmeye devam edeceğiz . Sorumluluğumuzun ağır olduğunu biliyoruz . Ülkemize hizmet etmeye çalışıyoruz . Bunu daha da ileriye götürmek için elimizden gelen çabayı sarf ediyoruz . Ama bu tek başınıza yapılan bir operasyon değil . Türkiye'deki yerli firmalarla beraber ortaklaşa bu işi yürütmeye çalışıyoruz."
generate_summary(main_news)
🔧 技术细节
文档未提供足够的技术实现细节,故跳过此章节。
📄 许可证
本项目采用MIT许可证。
Created by Özcan Gündeş ✌️
Twitter:
Linkedin:
Medium:
Github: 