英文

BanglaT5

该代码库包含了 BanglaT5 模型的预训练检查点。这是一个使用 "Span Corruption" 目标进行预训练的序列到序列转换器模型。使用该检查点进行微调的模型在许多孟加拉语的自然语言生成任务中取得了最先进的结果。

若要对不同的下游任务(如机器翻译、摘要文本总结、问答等)进行微调,请参考官方 GitHub 中的脚本 repository

注意:该模型是使用特定规范化流程 here 进行预训练的。官方 GitHub 仓库中的所有微调脚本都默认使用此规范化。如果您需要将预训练模型适应于其他任务,请确保在对文本进行分词之前使用此规范化流程对文本单位进行规范化,以获得最佳结果。以下是一个基本示例:

在 transformers 中使用该模型(在4.11.0.dev0上测试通过)

from transformers import AutoModelForSeq2SeqLM, AutoTokenizer
from normalizer import normalize # pip install git+https://github.com/csebuetnlp/normalizer

model = AutoModelForSeq2SeqLM.from_pretrained("csebuetnlp/banglat5")
tokenizer = AutoTokenizer.from_pretrained("csebuetnlp/banglat5", use_fast=False)

input_sentence = ""
input_ids = tokenizer(normalize(input_sentence), return_tensors="pt").input_ids
generated_tokens = model.generate(input_ids)
decoded_tokens = tokenizer.batch_decode(generated_tokens)[0]

print(decoded_tokens)

基准测试

  • 监督微调
Model Params MT (SacreBLEU) TS (ROUGE-2) QA (EM/F1) MD (SacreBLEU-1) NHG (ROUGE-2) XLS (ROUGE-2) BNLG score
1236321 582M 36.6/22.5 10.3 59.0/65.3 17.5 9.6 2.7/0.7 24.9
1237321 616M 23.3/16.4 7.8 53.0/57.3 20.0 9.5 6.2/2.7 21.8
1238321 611M 23.6/16.7 10.4 53.4/58.9 18.5 11.2 5.4/3.7 22.4
1239321 244M 22.7/13.1 8.1 53.3/58.8 14.8 7.9 6.3/2.5 20.8
12310321 247M 38.8/25.2 13.7 68.5/74.8 19.0 13.8 6.4/4.0 29.4

基准测试数据集如下:

引用

如果您使用了这个模型,请引用以下论文:

@article{bhattacharjee2022banglanlg,
  author    = {Abhik Bhattacharjee and Tahmid Hasan and Wasi Uddin Ahmad and Rifat Shahriyar},
  title     = {BanglaNLG: Benchmarks and Resources for Evaluating Low-Resource Natural Language Generation in Bangla},
  journal   = {CoRR},
  volume    = {abs/2205.11081},
  year      = {2022},
  url       = {https://arxiv.org/abs/2205.11081},
  eprinttype = {arXiv},
  eprint    = {2205.11081}
}

如果您使用了规范化模块,请引用以下论文:

@inproceedings{hasan-etal-2020-low,
    title = "Not Low-Resource Anymore: Aligner Ensembling, Batch Filtering, and New Datasets for {B}engali-{E}nglish Machine Translation",
    author = "Hasan, Tahmid  and
      Bhattacharjee, Abhik  and
      Samin, Kazi  and
      Hasan, Masum  and
      Basak, Madhusudan  and
      Rahman, M. Sohel  and
      Shahriyar, Rifat",
    booktitle = "Proceedings of the 2020 Conference on Empirical Methods in Natural Language Processing (EMNLP)",
    month = nov,
    year = "2020",
    address = "Online",
    publisher = "Association for Computational Linguistics",
    url = "https://www.aclweb.org/anthology/2020.emnlp-main.207",
    doi = "10.18653/v1/2020.emnlp-main.207",
    pages = "2612--2623",
    abstract = "Despite being the seventh most widely spoken language in the world, Bengali has received much less attention in machine translation literature due to being low in resources. Most publicly available parallel corpora for Bengali are not large enough; and have rather poor quality, mostly because of incorrect sentence alignments resulting from erroneous sentence segmentation, and also because of a high volume of noise present in them. In this work, we build a customized sentence segmenter for Bengali and propose two novel methods for parallel corpus creation on low-resource setups: aligner ensembling and batch filtering. With the segmenter and the two methods combined, we compile a high-quality Bengali-English parallel corpus comprising of 2.75 million sentence pairs, more than 2 million of which were not available before. Training on neural models, we achieve an improvement of more than 9 BLEU score over previous approaches to Bengali-English machine translation. We also evaluate on a new test set of 1000 pairs made with extensive quality control. We release the segmenter, parallel corpus, and the evaluation set, thus elevating Bengali from its low-resource status. To the best of our knowledge, this is the first ever large scale study on Bengali-English machine translation. We believe our study will pave the way for future research on Bengali-English machine translation as well as other low-resource languages. Our data and code are available at https://github.com/csebuetnlp/banglanmt.",
}