Releases: sagorbrur/bnlp
Releases · sagorbrur/bnlp
BNLP 3.2.0
New Feature
- Added document embedding module
- Added doc2vec-based document embedding, document similarity finder, and doc2vec training with custom text files
- Doc2vec Bengali model trained with newspaper datasets datasets. I randomly selected 8 JSON files from 21 JSON containing a total of 400013 articles. The training hyper-parameter was: epochs: 40, vector_size: 100, min_count:2.
Get document vector from input document
from bnlp import BengaliDoc2vec
bn_doc2vec = BengaliDoc2vec()
model_path = "bangla_news_article_doc2vec.model" # keep other .npy model files also in same folder
document = "রাষ্ট্রবিরোধী ও উসকানিমূলক বক্তব্য দেওয়ার অভিযোগে গাজীপুরের গাছা থানায় ডিজিটাল নিরাপত্তা আইনে করা মামলায় আলোচিত ‘শিশুবক্তা’ রফিকুল ইসলামের বিরুদ্ধে অভিযোগ গঠন করেছেন আদালত। ফলে মামলার আনুষ্ঠানিক বিচার শুরু হলো। আজ বুধবার (২৬ জানুয়ারি) ঢাকার সাইবার ট্রাইব্যুনালের বিচারক আসসামছ জগলুল হোসেন এ অভিযোগ গঠন করেন। এর আগে, রফিকুল ইসলামকে কারাগার থেকে আদালতে হাজির করা হয়। এরপর তাকে নির্দোষ দাবি করে তার আইনজীবী শোহেল মো. ফজলে রাব্বি অব্যাহতি চেয়ে আবেদন করেন। অন্যদিকে, রাষ্ট্রপক্ষ অভিযোগ গঠনের পক্ষে শুনানি করেন। উভয় পক্ষের শুনানি শেষে আদালত অব্যাহতির আবেদন খারিজ করে অভিযোগ গঠনের মাধ্যমে বিচার শুরুর আদেশ দেন। একইসঙ্গে সাক্ষ্যগ্রহণের জন্য আগামী ২২ ফেব্রুয়ারি দিন ধার্য করেন আদালত।"
vector = bn_doc2vec.get_document_vector(model_path, text)
print(vector)
Find document similarity between two document
from bnlp import BengaliDoc2vec
bn_doc2vec = BengaliDoc2vec()
model_path = "bangla_news_article_doc2vec.model" # keep other .npy model files also in same folder
article_1 = "রাষ্ট্রবিরোধী ও উসকানিমূলক বক্তব্য দেওয়ার অভিযোগে গাজীপুরের গাছা থানায় ডিজিটাল নিরাপত্তা আইনে করা মামলায় আলোচিত ‘শিশুবক্তা’ রফিকুল ইসলামের বিরুদ্ধে অভিযোগ গঠন করেছেন আদালত। ফলে মামলার আনুষ্ঠানিক বিচার শুরু হলো। আজ বুধবার (২৬ জানুয়ারি) ঢাকার সাইবার ট্রাইব্যুনালের বিচারক আসসামছ জগলুল হোসেন এ অভিযোগ গঠন করেন। এর আগে, রফিকুল ইসলামকে কারাগার থেকে আদালতে হাজির করা হয়। এরপর তাকে নির্দোষ দাবি করে তার আইনজীবী শোহেল মো. ফজলে রাব্বি অব্যাহতি চেয়ে আবেদন করেন। অন্যদিকে, রাষ্ট্রপক্ষ অভিযোগ গঠনের পক্ষে শুনানি করেন। উভয় পক্ষের শুনানি শেষে আদালত অব্যাহতির আবেদন খারিজ করে অভিযোগ গঠনের মাধ্যমে বিচার শুরুর আদেশ দেন। একইসঙ্গে সাক্ষ্যগ্রহণের জন্য আগামী ২২ ফেব্রুয়ারি দিন ধার্য করেন আদালত।"
article_2 = "রাষ্ট্রবিরোধী ও উসকানিমূলক বক্তব্য দেওয়ার অভিযোগে গাজীপুরের গাছা থানায় ডিজিটাল নিরাপত্তা আইনে করা মামলায় আলোচিত ‘শিশুবক্তা’ রফিকুল ইসলামের বিরুদ্ধে অভিযোগ গঠন করেছেন আদালত। ফলে মামলার আনুষ্ঠানিক বিচার শুরু হলো। আজ বুধবার (২৬ জানুয়ারি) ঢাকার সাইবার ট্রাইব্যুনালের বিচারক আসসামছ জগলুল হোসেন এ অভিযোগ গঠন করেন। এর আগে, রফিকুল ইসলামকে কারাগার থেকে আদালতে হাজির করা হয়। এরপর তাকে নির্দোষ দাবি করে তার আইনজীবী শোহেল মো. ফজলে রাব্বি অব্যাহতি চেয়ে আবেদন করেন। অন্যদিকে, রাষ্ট্রপক্ষ অভিযোগ গঠনের পক্ষে শুনানি করেন। উভয় পক্ষের শুনানি শেষে আদালত অব্যাহতির আবেদন খারিজ করে অভিযোগ গঠনের মাধ্যমে বিচার শুরুর আদেশ দেন। একইসঙ্গে সাক্ষ্যগ্রহণের জন্য আগামী ২২ ফেব্রুয়ারি দিন ধার্য করেন আদালত।"
similarity = bn_doc2vec.get_document_similarity(
model_path,
article_1,
article_2
)
print(similarity)
Updates
- Moved all the pre-trained models into the Huggingface model hub for free hub spaces and easy downloading method.
https://huggingface.co/sagorsarker
BNLP 3.1.2
- removed automatic train test splitting option from NER and POS module
- Update NER and POS module for passing both train and test data while training
- Added
F1
score calculation for evaluation withAccuracy
score. - Update NER and POS inference for passing token list for custom token passing
BNLP 3.1.0
New Features
- Updated word2vec for gensim 4.0 from gensim 3.8.3
- Updated word2vec training modules with gensim identical parameter passing while training
- Added new word2vec pre-trained model with vector size 100
- Added pre-training function for resume training of word2vec
- Updated fasttext training module with fasttext identical parameter passing while training
- Added bin2vec function in fasttext for generating vector file from fasttext bin model
- Updated corpus class with bengali letter, punctuation, digits
- added stale app
Bug fixed
- fixed Bengali nltk sentence tokenizer issue.
PR-19 Bengali NLTK sentence tokenizer was wrongly tokenizing for.
punctuation.
New Contributor
BNLP 3.0.0
BNLP 3.0.0
After a long time we are releasing our bnlp new verison called 3.0.
New Features
- Corpus Class
- BNLP Corpus class contains bengali stopwords, punctuations, in future we will release different corpus through this class
- Code refactor with elegant looking. Now it quit easy for calling bnlp modul. But previous was quit messy.
from bnlp import BasicTokenizer
basic_tokenizer = BasicTokenizer()
basic_tokenizer.tokenize('আমি বাংলায় গান গাই।")
Bug Fixed
- Fixed
fasttext
dependency problem for initial building.
Now you can install bnlp in linux, windows, mac os. in previous it only install in linux
v2.3
v2.0.0
Improvements
- This is the initial best final version of BNLP
- Bugs free
- Support python 3.5, 3.6, 3.7
- Documentation added
Features in Nutshell
- Bengali Tokenizer
- SentencePiece Tokenizer
- Basic Tokenizer
- NLTK Tokenizer
- Bengali Word Embedding
- Word2Vec
- Fasttext
- GloVe
- Bengali POS Tagging
v1.2.0
bnlp_toolkit_v1.1.0
Improvement
- NLTK Sentence Tokenization bengali punctuation problem improved
Addition
- Version Checking Added
>>import bnlp
>>bnlp.__version__
- Basic Tokenizer Tool Added
from bnlp.basic_tokenizer import BasicTokenizer
basic_t = BasicTokenizer(False)
raw_text = "আমি বাংলায় গান গাই।"
tokens = basic_t.tokenize(raw_text)
print(tokens)
bnlp_toolkit_v1.0.0
BNLP Toolkit
BNLP is a natural language processing toolkit for Bengali Language.
Features
-
Bengali Tokenization
- This toolkit help you to tokenize bengali text into word or sentences using popular tokenization tools.
-
Bengali Word Embedding
- This toolkit help you to generate vector from bengali words or text.
- You can train word embedding model with your own also.
Installation
pip install bnlp_toolkit