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.
Main Features
Here are some main features of the package.
- 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
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:::
text:: A block of Bangla text
import bn
text = '-সুইজারল্যান্ডের তারল্যসংকটে পড়া ব্যাংক ক্রেডিট সুসিকে, ‘মাত্র’ ১০০ কোটি মার্কিন ডলারে কিনে নিতে চায়, দেশটির বৃহত্তম ব্যাংক ইউবিএস। এ প্রস্তাবে ক্রেডিট সুসি এখনো সায় দেয়নি।'
bn.remove_punctuation(text)
|
#Output:
'
সুইজারল্যান্ডের তারল্যসংকটে পড়া ব্যাংক ক্রেডিট সুসিকে মাত্র ১০০ কোটি মার্কিন ডলারে কিনে নিতে চায় দেশটির বৃহত্তম ব্যাংক ইউবিএস এ প্রস্তাবে ক্রেডিট সুসি এখনো সায় দেয়নি'
Remove Any Foreign Language From Bangla Text:::
text:: A block of Bangla text
import bn
text = 'হিন্দিতে লেখা আছে व्यवहार এবং ইংরেজিতে লেখা ছিল behavior কিন্তু আমরা พฤติกรรม দেখে বুজলাম।'
bn.remove_foreign(text)
|
#Output:
'
হিন্দিতে লেখা আছে এবং ইংরেজিতে লেখা ছিল কিন্তু আমরা দেখে বুজলাম।'
Remove Bangla Stopwords From 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:::
text:: A block of Bangla text
import bn
bn.ban_to_eng_num('৭৪০.৬৮')
|
#Output:
'740.68'
English to Bangla Number Conversion:::
text:: A block of Bangla text
import bn
bn.eng_to_ban_num('98.263')
|
#Output:
'৯৮.২৬৩'
Bangla/English Number to Bangla Word Conversion:::
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:
- Bangla Stemming and Lemmatization
- Bangla POS tagger