Skip to main content

bengali transformer bengali language processing state of the art transformer

Project description

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

bntransformer-2.1.0.tar.gz (4.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

bntransformer-2.1.0-py3-none-any.whl (6.2 kB view details)

Uploaded Python 3

File details

Details for the file bntransformer-2.1.0.tar.gz.

File metadata

  • Download URL: bntransformer-2.1.0.tar.gz
  • Upload date:
  • Size: 4.7 kB
  • Tags: Source
  • Uploaded using 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

File hashes

Hashes for bntransformer-2.1.0.tar.gz
Algorithm Hash digest
SHA256 6737d9a53fe00ebc00e2b2b2465e5e4084d62ef20b9127d4608950c60fe37bd9
MD5 a4039471d845975bc6501dc12da8481d
BLAKE2b-256 e60e1db4cabe45e6d0cc54d2dcac04f9ffd94f255393e1a195fa702ffcba7f24

See more details on using hashes here.

File details

Details for the file bntransformer-2.1.0-py3-none-any.whl.

File metadata

  • Download URL: bntransformer-2.1.0-py3-none-any.whl
  • Upload date:
  • Size: 6.2 kB
  • Tags: Python 3
  • Uploaded using 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

File hashes

Hashes for bntransformer-2.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 65c7382d0dec5524208f6c18d69349dfebdcc6b489b56eff383e999d56706b25
MD5 9b980589dce7a0d707ef5b64eb925a42
BLAKE2b-256 fa978629992f184f78d75d5651b4978588c5aa0078e86abafecbd3798064fa36

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page