Skip to content

Releases: sagorbrur/bnlp

BNLP 3.2.0

10 Nov 12:08
Compare
Choose a tag to compare

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

BNLP 3.1.2

11 Sep 15:25
Compare
Choose a tag to compare
  • 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 with Accuracy score.
  • Update NER and POS inference for passing token list for custom token passing

BNLP 3.1.0

24 Apr 13:42
5d34e0a
Compare
Choose a tag to compare

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

20 Oct 17:19
242dee5
Compare
Choose a tag to compare

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

23 Jul 02:07
edc5c26
Compare
Choose a tag to compare

New Feature

  • Added CRF based Bengali Name Entity Recognition System

Improvements

  • Bugs fixed(typos, poor code)
  • POS tag code remodified

Present Feature in Nutshell

  • Bengali Tokenizer
  • Bengali Word Embedding
  • Bengali POS Tagging
  • Bengali NER

v2.0.0

16 Dec 19:18
a8d642d
Compare
Choose a tag to compare

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

14 Dec 12:53
d021d4b
Compare
Choose a tag to compare

Improvements

  • NLTK word tokenizer punctuation problem solved
  • fasttext training epoch number option added

Addition

  • Glove Bengali Word Vector and Testing added

bnlp_toolkit_v1.1.0

01 Dec 07:09
38dee89
Compare
Choose a tag to compare

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

26 Nov 12:45
274fdac
Compare
Choose a tag to compare

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