Skip to main content

bntransformer

Build Status PyPI version

bntransformer build with transformers for different transformer based inference task for Bengali language.

Installation

pip install bntransformer

or

pip install -U bntransformer

Dependency

  • pytorch(1.6+)

Usage

Usage Notes

  • All below task are using default model for Bengali tokenization, question answering, name entity recognition, translation, text generation. You can find default model link here.

  • You can pass your own trained local transformers model or huggingface model hub model. All you need to pass that model while calling the base class.

  • Example: while calling BanglaQA class you can simple use default model for inference as bnqa = BanglaQA() or you can pass another model like bnqa = BanglaQA("another_model")

  • You can find an example colab notebook under examples

Tokenization

from bntransformer import BanglaTokenizer

bntokenizer = BanglaTokenizer() 
# you can pass custom model path or other bengali huggingface model path
# example: bntokenizer = BanglaTokenizer("bert-base-multilingual-uncased")
# default it takes "sagorsarker/bangla-bert-base"
text = "আমি বাংলায় গান গাই ।"
tokens = bntokenizer.tokenize(text)
print(tokens)
# outputs: ['আমি', 'বাংলা', '##য', 'গান', 'গাই', '।']
encode_ids = bntokenizer.encode(text)
print(encode_ids)
decode_text = bntokenizer.decode(encode_ids)
print(decode_text)

Bangla Question Answering

from bntransformer import BanglaQA

bnqa = BanglaQA()
# you can pass custom QA model path or other bengali huggingface QA model path
# default it takes "sagorsarker/mbert-bengali-tydiqa-qa"
context = "সূর্য সেন ১৮৯৪ সালের ২২ মার্চ চট্টগ্রামের রাউজান থানার নোয়াপাড়ায় অর্থনৈতিক ভাবে অস্বচ্ছল পরিবারে জন্মগ্রহণ করেন। তাঁর পিতার নাম রাজমনি সেন এবং মাতার নাম শশী বালা সেন। রাজমনি সেনের দুই ছেলে আর চার মেয়ে। সূর্য সেন তাঁদের পরিবারের চতুর্থ সন্তান। দুই ছেলের নাম সূর্য ও কমল। চার মেয়ের নাম বরদাসুন্দরী, সাবিত্রী, ভানুমতী ও প্রমিলা। শৈশবে পিতা মাতাকে হারানো সূর্য সেন কাকা গৌরমনি সেনের কাছে মানুষ হয়েছেন। সূর্য সেন ছেলেবেলা থেকেই খুব মনোযোগী ভাল ছাত্র ছিলেন এবং ধর্মভাবাপন্ন গম্ভীর প্রকৃতির ছিলেন।"
question = "মাস্টারদা সূর্যকুমার সেনের বাবার নাম কী ছিল ?"

answers = bnqa.find_answer(context, question)
print(answers)
# output: {'score': 0.8070710301399231, 'start': 131, 'end': 141, 'answer': 'রাজমনি সেন'}

Bangla NER

from bntransformer import BanglaNER

bnner = BanglaNER()
# you can pass custom NER model path or other bengali huggingface NER model path
# default it takes "neuropark/sahajBERT-NER"
sentence = "আমি জাহিদ হাসান এবং আমি ঢাকায় বাস করি ।"
output = bnner.ner_tag(sentence)
print(output)

Bangla Mask Generation

from bntransformer import BanglaMaskGeneration

bnunmasker = BanglaMaskGeneration()
# you can pass custom mask generation model path or other bengali huggingface model path
# default it takes "sagorsarker/bangla-bert-base"
sentence = "আমি জাহিদ হাসান এবং আমি [MASK] বাস করি । "
output = bnunmasker.generate_mask(sentence)
print(output)

Bangla To English Translation

from bntransformer import BanglaTranslation

bntrans = BanglaTranslation()
# you can pass custom translation model path or other bengali huggingface translation model path
# default it takes "Helsinki-NLP/opus-mt-bn-en"
bn_sentence = "আমার নাম জাহিদ, আমি ঢাকায় বাস করি।"
output = bntrans.bn2en(bn_sentence)
print(output)
# output: My name is Zahid, I live in Dhaka.

Bangla Text Generation

from bntransformer import BanglaTextGeneration

bntrans = BanglaTextGeneration()
# you can pass custom text generation model path or other bengali huggingface Bengali text gen model path
# default it takes "flax-community/gpt2-bengali"
input_text = "আমি রতন এবং আমি"
output = bntrans.generate_text(input_text)
print(output)

Default Inference Models

NB: Or you can use custom model local model path or other huggingface model path while calling the base class

Metadata

Release files for bntransformer 2.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for bntransformer 2.1.0
File Size Uploaded
bntransformer-2.1.0.tar.gz 4.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for bntransformer 2.1.0
File Interpreter ABI Platform
bntransformer-2.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 10.9 kB

Release files / bntransformer-2.1.0.tar.gz

Download URL bntransformer-2.1.0.tar.gz
Size 4.7 kB
Tags Source
SHA-256 checksum
How to use checksums
6737d9a53fe00ebc00e2b2b2465e5e4084d62ef20b9127d4608950c60fe37bd9
BLAKE2b-256 checksum
How to use checksums
e60e1db4cabe45e6d0cc54d2dcac04f9ffd94f255393e1a195fa702ffcba7f24
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.4.1 importlib_metadata/4.3.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.6.13

Release files / bntransformer-2.1.0-py3-none-any.whl

Download URL bntransformer-2.1.0-py3-none-any.whl
Size 6.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
65c7382d0dec5524208f6c18d69349dfebdcc6b489b56eff383e999d56706b25
BLAKE2b-256 checksum
How to use checksums
fa978629992f184f78d75d5651b4978588c5aa0078e86abafecbd3798064fa36
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.4.1 importlib_metadata/4.3.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.6.13

Release history Release notifications | RSS feed

This release

2.1.0 This release

2 release files

2.0.1

2 release files

2.0.0

2 release files

1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page