🚀 印度尼西亚基础微调版Pegasus模型
本模型是基于Transformer架构的文本摘要模型,在多个印尼语数据集上微调,能有效对新闻文本进行摘要提取,为信息获取提供便利。
🚀 快速开始
如果你想快速试用该模型,可前往 此笔记本。
Github 链接:PEGASUS TPU 训练器
本模型是 pegasus_indonesian_base-pretrain 在 Indosum、Liputan6 和 XLSum 数据集上的微调版本。
✨ 主要特性
适用范围与局限性
本模型不区分大小写,除逗号和句号外无法识别特殊字符,对于非新闻类文章文本的处理效果可能不佳。
性能表现
数据集 |
Rouge-1 |
Rouge-2 |
Rouge-L |
BERTScore |
Indosum |
52.43 |
41.23 |
48.18 |
80.68 |
Liputan6 |
38.27 |
20.22 |
31.26 |
76.31 |
XLSum |
26.97 |
9.99 |
21.70 |
73.62 |
📦 安装指南
文档未提及安装步骤,故跳过此章节。
💻 使用示例
基础用法
from transformers import TFPegasusForConditionalGeneration, PegasusTokenizerFast
model_name = "thonyyy/pegasus_indonesian_base-finetune"
model = TFPegasusForConditionalGeneration.from_pretrained(model_name)
tokenizer = PegasusTokenizerFast.from_pretrained(model_name)
import re
import unicodedata
def text_cleaning(input_string):
lowercase = input_string.lower()
remove_link = re.sub(r'(https?:\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w\.-]*)', '', lowercase).replace("&","&")
remove_bullet = "\n".join([T for T in remove_link.split('\n') if '•' not in T and "baca juga:" not in T])
remove_accented = unicodedata.normalize('NFKD', remove_bullet).encode('ascii', 'ignore').decode('utf-8', 'ignore')
remove_parentheses = re.sub("([\(\|]).*?([\)\|])", "\g<1>\g<2>", remove_accented)
remove_punc = re.sub(r"[^\w\d.\s]+",' ', remove_parentheses)
remove_num_dot = re.sub(r"(?<=\d)\.|\.(?=\d)|(?<=#)\.","", remove_punc)
remove_extra_whitespace = re.sub(r'^\s*|\s\s*', ' ', remove_num_dot).strip()
return ".".join([s for s in remove_extra_whitespace.strip().split('.') if len(s.strip())>10]).replace("_","")
sample_article="""
Dana Moneter Internasional (IMF) menilai Indonesia telah menunjukkan pemulihan ekonomi yang baik pasca pandemi melalui kinerja makroekonomi yang kuat, didukung penerapan kebijakan moneter dan fiskal secara berhati-hati. Kebijakan forward looking dan sinergi telah berhasil membawa Indonesia menghadapi tantangan global pada tahun 2022 dengan pertumbuhan yang sehat, tekanan inflasi yang menurun, dan sistem keuangan yang stabil. Bank Indonesia menyambut baik hasil asesmen IMF atas perekonomian Indonesia dalam laporan Article IV Consultation tahun 2023 yang dirilis hari ini (26/6).
Dewan Direktur IMF menyampaikan apresiasi dan catatan positif terhadap berbagai kebijakan yang ditempuh otoritas Indonesia selama tahun 2022. Pertama, keberhasilan otoritas untuk kembali kepada batas maksimal defisit fiskal 3%, lebih cepat dari yang diperkirakan dan komitmen otoritas untuk menerapkan disiplin fiskal. Kedua, penerapan kebijakan moneter yang memadai untuk menjaga stabilitas harga. Ketiga, ketahanan sektor keuangan yang tetap terjaga. Keempat, penerapan UU Cipta Kerja serta UU Pengembangan dan Penguatan Sektor Keuangan, dengan memastikan implementasi yang tepat dan keberlanjutan momentum reformasi untuk mendorong kemudahan berinvestasi, meningkatkan pendalaman pasar keuangan, dan memitigasi dampak scarring dari pandemi. Kelima, strategi diversifikasi Indonesia yang fokus pada upaya hilirisasi dalam rangka meningkatkan nilai tambah ekspor. Keenam, komitmen otoritas untuk mengurangi emisi gas rumah kaca dan deforestasi.
"""
x = tokenizer(text_cleaning(sample_article), return_tensors = 'tf')
y = model.generate(**x)
suummary = tokenizer.batch_decode(y, skip_special_tokens=True)
print(summary)
📚 详细文档
训练数据
微调数据集:
- Indosum
- Liputan6
- XLSum
训练流程
如需复现训练过程,请访问 GitHub 页面。
训练超参数
训练过程中使用了以下超参数:
- 优化器:
{'name': 'Adafactor', 'weight_decay': None, 'clipnorm': None, 'global_clipnorm': None, 'clipvalue': None, 'use_ema': False, 'ema_momentum': 0.99, 'ema_overwrite_frequency': None, 'jit_compile': False, 'is_legacy_optimizer': False, 'learning_rate': 0.00013661868, 'beta_2_decay': -0.8, 'epsilon_1': 1e-30, 'epsilon_2': 0.001, 'clip_threshold': 1.0, 'relative_step': True}
- 训练精度:
float32
训练结果
训练损失 |
训练准确率 |
验证损失 |
验证准确率 |
训练学习率 |
轮数 |
2.3484 |
0.0859 |
1.6304 |
0.1080 |
0.00013661868 |
1 |
1.6196 |
0.1079 |
1.4097 |
0.1153 |
0.00013661868 |
2 |
框架版本
- Transformers 4.30.2
- TensorFlow 2.12.0
- Datasets 2.13.1
- Tokenizers 0.13.3
特别感谢
本研究得到了 Google 的 TPU 研究云(TRC)的 Cloud TPU 支持。
📄 许可证
本项目采用 Apache-2.0 许可证。