Views
No views yet
Sentiment classification, Named Entity Recognition, Natural Language Inference etc., refer to the scripts in the official GitHub repository.transformers (tested on 4.11.0.dev0)1from transformers import AutoModelForPreTraining, AutoTokenizer
2from normalizer import normalize # pip install git+https://github.com/csebuetnlp/normalizer
3import torch
4
5model = AutoModelForPreTraining.from_pretrained("csebuetnlp/banglabert_small")
6tokenizer = AutoTokenizer.from_pretrained("csebuetnlp/banglabert_small")
7
8original_sentence = "আমি কৃতজ্ঞ কারণ আপনি আমার জন্য অনেক কিছু করেছেন।"
9fake_sentence = "আমি হতাশ কারণ আপনি আমার জন্য অনেক কিছু করেছেন।"
10fake_sentence = normalize(fake_sentence) # this normalization step is required before tokenizing the text
11
12fake_tokens = tokenizer.tokenize(fake_sentence)
13fake_inputs = tokenizer.encode(fake_sentence, return_tensors="pt")
14discriminator_outputs = model(fake_inputs).logits
15predictions = torch.round((torch.sign(discriminator_outputs) + 1) / 2)
16
17[print("%7s" % token, end="") for token in fake_tokens]
18print("\n" + "-" * 50)
19[print("%7s" % int(prediction), end="") for prediction in predictions.squeeze().tolist()[1:-1]]
20print("\n" + "-" * 50)| Model | Params | SC (macro-F1) | NLI (accuracy) | NER (micro-F1) | QA (EM/F1) | BangLUE score |
|---|---|---|---|---|---|---|
| mBERT | 180M | 27.05 | 62.22 | 39.27 | 59.01/64.18 | 50.35 |
| XLM-R (base) | 270M | 42.03 | 72.18 | 45.37 | 55.03/61.83 | 55.29 |
| XLM-R (large) | 550M | 49.49 | 78.13 | 56.48 | 71.13/77.70 | 66.59 |
| BanglishBERT | 110M | 48.39 | 75.26 | 55.56 | 72.87/78.63 | 66.14 |
| Model | Params | SC (macro-F1) | NLI (accuracy) | NER (micro-F1) | QA (EM/F1) | BangLUE score |
|---|---|---|---|---|---|---|
| mBERT | 180M | 67.59 | 75.13 | 68.97 | 67.12/72.64 | 70.29 |
| XLM-R (base) | 270M | 69.54 | 78.46 | 73.32 | 68.09/74.27 | 72.82 |
| XLM-R (large) | 550M | 70.97 | 82.40 | 78.39 | 73.15/79.06 | 76.79 |
| sahajBERT | 18M | 71.12 | 76.92 | 70.94 | 65.48/70.69 | 71.03 |
| BanglishBERT | 110M | 70.61 | 80.95 | 76.28 | 72.43/78.40 | 75.73 |
| BanglaBERT (small) | 13M | 69.29 | 76.75 | 73.41 | 63.30/69.65 | 70.38 |
| BanglaBERT | 110M | 72.89 | 82.80 | 77.78 | 72.63/79.34 | 77.09 |
| BanglaBERT (large) | 335M | 71.94 | 83.41 | 79.20 | 76.10/81.50 | 78.43 |
@inproceedings{bhattacharjee-etal-2022-banglabert,
title = "{B}angla{BERT}: Language Model Pretraining and Benchmarks for Low-Resource Language Understanding Evaluation in {B}angla",
author = "Bhattacharjee, Abhik and
Hasan, Tahmid and
Ahmad, Wasi and
Mubasshir, Kazi Samin and
Islam, Md Saiful and
Iqbal, Anindya and
Rahman, M. Sohel and
Shahriyar, Rifat",
booktitle = "Findings of the Association for Computational Linguistics: NAACL 2022",
month = jul,
year = "2022",
address = "Seattle, United States",
publisher = "Association for Computational Linguistics",
url = "https://aclanthology.org/2022.findings-naacl.98",
pages = "1318--1327",
abstract = "In this work, we introduce BanglaBERT, a BERT-based Natural Language Understanding (NLU) model pretrained in Bangla, a widely spoken yet low-resource language in the NLP literature. To pretrain BanglaBERT, we collect 27.5 GB of Bangla pretraining data (dubbed {`}Bangla2B+{'}) by crawling 110 popular Bangla sites. We introduce two downstream task datasets on natural language inference and question answering and benchmark on four diverse NLU tasks covering text classification, sequence labeling, and span prediction. In the process, we bring them under the first-ever Bangla Language Understanding Benchmark (BLUB). BanglaBERT achieves state-of-the-art results outperforming multilingual and monolingual models. We are making the models, datasets, and a leaderboard publicly available at \url{https://github.com/csebuetnlp/banglabert} to advance Bangla NLP.",
}@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.",
}