Installation
Tokenizer
Remove punctuation from Bangla text
Remove foreign words from Bangla text
Remove stopwords from Bangla text
Find Bangla numbers from Bangla text
Remove Bangla numbers from Bangla text
Bangla to English Number Conversion
English to Bangla Number Conversion
Number to Bangla Word Conversion



Project description

Installation

Use the following command to install the bangla-python package.
pip install bangla-python

Use !(exclamation mark) before the command to install in notebooks such as, google colab or jupyter notebook.
!pip install bangla-python

How to use

Use the following command to use the bangla-python package in your python project.
import bn

Main Features

Here are some main features of the package.

Tokenizer:::
tokenizer(text,level='word',delimiter='all')
text:: A block of Bangla text
level::{'sentence','word','character'} 'sentence' for sentence-wise tokenization , 'word' for word-wise tokenization, 'character' for character-wise tokenization. Default: 'word'
delimiter::{'all','few'} 'all' for all delimiters, 'few' for all delimiters. Default: 'all'
import bn
text = 'যুক্তরাষ্ট্রে দুটি ব্যাংক বন্ধ হওয়ার পর বিশ্বের ব্যাংক খাতে অস্থিরতা বাড়ছে? তারই প্রমাণ মেলে ক্রেডিট সুসির তারল্যসংকটে পড়ার ঘটনা! আর্থিক সংকটের প্রেক্ষাপটে পদ্ধতিগতভাবে ব্যাংক খাতের অবস্থা।'
bn.tokenizer(text,'sentence','all')
#Output 1:
['যুক্তরাষ্ট্রে দুটি ব্যাংক বন্ধ হওয়ার পর বিশ্বের ব্যাংক খাতে অস্থিরতা বাড়ছে',
'তারই প্রমাণ মেলে ক্রেডিট সুসির তারল্যসংকটে পড়ার ঘটনা',
'আর্থিক সংকটের প্রেক্ষাপটে পদ্ধতিগতভাবে ব্যাংক খাতের অবস্থা']


It can distinguish between delimiter inside quoted dialogue and general statements during tokenization.
import bn
text = 'কি আশ্চর্য! তিনি 'আমাদের এতে কিছুই করার নেই।' বলেই চলে গেলেন। এখন পর্যন্ত ইফতার মাহফিল আয়োজন না করার নির্দেশ দিয়েছেন তিনি।'
bn.tokenizer(text,'sentence','all')
#Output 2:
['কি আশ্চর্য',
"তিনি 'আমাদের এতে কিছুই করার নেই।' বলেই চলে গেলেন",
'এখন পর্যন্ত ইফতার মাহফিল আয়োজন না করার নির্দেশ দিয়েছেন তিনি']


import bn
text = 'যুক্তরাষ্ট্রে দুটি ব্যাংক বন্ধ হওয়ার পর বিশ্বের ব্যাংক খাতে অস্থিরতা বাড়ছে।'
bn.tokenizer(text) # or bn.tokenizer(text,'word')
#Output 3:
['যুক্তরাষ্ট্রে',
'দুটি',
'ব্যাংক',
'বন্ধ',
'হওয়ার',
'পর',
'বিশ্বের',
'ব্যাংক',
'খাতে',
'অস্থিরতা',
'বাড়ছে।']


import bn
text = 'ইফতার মাহফিল।'
bn.tokenizer(text,'character','all')
#Output 4:
['ই', 'ফ', 'ত', 'া', 'র', 'ম', 'া', 'হ', 'ফ', 'ি', 'ল']


Remove Bangla Punctuations From Text:::
remove_punctuation(text)
text:: A block of Bangla text
import bn
text = '-সুইজারল্যান্ডের তারল্যসংকটে পড়া ব্যাংক ক্রেডিট সুসিকে, ‘মাত্র’ ১০০ কোটি মার্কিন ডলারে কিনে নিতে চায়, দেশটির বৃহত্তম ব্যাংক ইউবিএস। এ প্রস্তাবে ক্রেডিট সুসি এখনো সায় দেয়নি।'
bn.remove_punctuation(text)
#Output:
'সুইজারল্যান্ডের তারল্যসংকটে পড়া ব্যাংক ক্রেডিট সুসিকে মাত্র ১০০ কোটি মার্কিন ডলারে কিনে নিতে চায় দেশটির বৃহত্তম ব্যাংক ইউবিএস এ প্রস্তাবে ক্রেডিট সুসি এখনো সায় দেয়নি'



Remove Any Foreign Language From Bangla Text:::
remove_foreign(text)
text:: A block of Bangla text
import bn
text = 'হিন্দিতে লেখা আছে व्यवहार এবং ইংরেজিতে লেখা ছিল behavior কিন্তু আমরা พฤติกรรม দেখে বুজলাম।'
bn.remove_foreign(text)
#Output:
'হিন্দিতে লেখা আছে এবং ইংরেজিতে লেখা ছিল কিন্তু আমরা দেখে বুজলাম।'



Remove Bangla Stopwords From Text:::
remove_stopwords(text)
text:: A block of Bangla text
import bn
text='করিম অনেক ভালো ছেলে কিন্তু রহিম খুব খারাপ ছেলে।'
bn.remove_stopwords(text)
#Output:
'করিম ভালো ছেলে রহিম খারাপ ছেলে।'



Find Bangla Numbers From Text:::
find_numbers(text,alphanumeric)
text:: A block of Bangla text
alphanumeric::{'True','False'} 'True' to find alphanumeric numbers as well, 'False' to find pure numbers only. Default: 'True'
import bn
text = 'তাদের ৩৯তম ব্রাঞ্চে ৭৪০.৬৮ কোটি সুইস ফ্রাঁ বা ৮০০ কোটি ডলারের বাজারমূল্যের তুলনায় ইউবিএস ব্যাংকের এ অফার খুবই নগণ্য।'
bn.find_numbers(text)
#Output 1:
['৩৯তম', '৭৪০.৬৮', '৮০০']


import bn
text = 'তাদের ৩৯তম ব্রাঞ্চে ৭৪০.৬৮ কোটি সুইস ফ্রাঁ বা ৮০০ কোটি ডলারের বাজারমূল্যের তুলনায় ইউবিএস ব্যাংকের এ অফার খুবই নগণ্য।'
bn.find_numbers(text,alphanumeric=False)
#Output 2:
['৭৪০.৬৮', '৮০০']



Remove Bangla Numbers From Text:::
remove_numbers(text,alphanumeric)
text:: A block of Bangla text
alphanumeric::{'True','False'} 'True' to remove alphanumeric numbers as well, 'False' to remove pure numbers only. Default: 'True'
import bn
text='তাদের ৩৯তম ব্রাঞ্চে ৭৪০.৬৮ কোটি সুইস ফ্রাঁ বা ৮০০ কোটি ডলারের বাজারমূল্যের তুলনায় ইউবিএস ব্যাংকের এ অফার খুবই নগণ্য।'
bn.remove_numbers(text)
#Output 1:
'তাদের ব্রাঞ্চে কোটি সুইস ফ্রাঁ বা কোটি ডলারের বাজারমূল্যের তুলনায় ইউবিএস ব্যাংকের এ অফার খুবই নগণ্য।'


import bn
text='তাদের ৩৯তম ব্রাঞ্চে ৭৪০.৬৮ কোটি সুইস ফ্রাঁ বা ৮০০ কোটি ডলারের বাজারমূল্যের তুলনায় ইউবিএস ব্যাংকের এ অফার খুবই নগণ্য।'
bn.remove_numbers(text,alphanumeric=False)
#Output 2:
'তাদের ৩৯তম ব্রাঞ্চে কোটি সুইস ফ্রাঁ বা কোটি ডলারের বাজারমূল্যের তুলনায় ইউবিএস ব্যাংকের এ অফার খুবই নগণ্য।'



Bangla to English Number Conversion:::
ban_to_eng_num(number)
text:: A block of Bangla text
import bn
bn.ban_to_eng_num('৭৪০.৬৮')
#Output:
'740.68'



English to Bangla Number Conversion:::
eng_to_ban_num(number)
text:: A block of Bangla text
import bn
bn.eng_to_ban_num('98.263')
#Output:
'৯৮.২৬৩'



Bangla/English Number to Bangla Word Conversion:::
number_to_word(number)
text:: A block of Bangla text
import bn
bn.number_to_word('98.26')
#Output 1:
'আটানব্বই দশমিক দুই ছয়'

import bn
bn.number_to_word('১৮৬৫৭.৩৯')
#Output 2:
'আঠারো হাজার ছয় শত সাতান্ন দশমিক তিন নয়'


Next Version

With other features, next version of bangla-python will include the followings: