diff --git a/README.rst b/README.rst index 21373ba73..0e830db1a 100644 --- a/README.rst +++ b/README.rst @@ -198,6 +198,7 @@ Features ar Arabic be Belarusian + bn Bengali bg Bulgarian da Danish de German diff --git a/docs/index.rst b/docs/index.rst index 111ae633b..bff562ea3 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -195,6 +195,7 @@ Features ar Arabic be Belarusian + bn Bengali bg Bulgarian da Danish de German diff --git a/docs/user_guide/quickstart.rst b/docs/user_guide/quickstart.rst index 24fe07b62..4c402d2ef 100644 --- a/docs/user_guide/quickstart.rst +++ b/docs/user_guide/quickstart.rst @@ -291,3 +291,4 @@ of popular news source urls.. In case you need help choosing a news source! ja Japanese be Belarusian lt Lithuanian + bn Bengali diff --git a/newspaper/resources/text/stopwords-bn.txt b/newspaper/resources/text/stopwords-bn.txt new file mode 100644 index 000000000..9dc1bfcb2 --- /dev/null +++ b/newspaper/resources/text/stopwords-bn.txt @@ -0,0 +1,398 @@ +অতএব +অথচ +অথবা +অনুযায়ী +অনেক +অনেকে +অনেকেই +অন্তত +অন্য +অবধি +অবশ্য +অর্থাত +আই +আগামী +আগে +আগেই +আছে +আজ +আদ্যভাগে +আপনার +আপনি +আবার +আমরা +আমাকে +আমাদের +আমার +আমি +আর +আরও +ই +ইত্যাদি +ইহা +উচিত +উত্তর +উনি +উপর +উপরে +এ +এঁদের +এঁরা +এই +একই +একটি +একবার +একে +এক্ +এখন +এখনও +এখানে +এখানেই +এটা +এটাই +এটি +এত +এতটাই +এতে +এদের +এব +এবং +এবার +এমন +এমনকী +এমনি +এর +এরা +এল +এস +এসে +ঐ +ও +ওঁদের +ওঁর +ওঁরা +ওই +ওকে +ওখানে +ওদের +ওর +ওরা +কখনও +কত +কবে +কমনে +কয়েক +কয়েকটি +করছে +করছেন +করতে +করবে +করবেন +করলে +করলেন +করা +করাই +করায় +করার +করি +করিতে +করিয়া +করিয়ে +করে +করেই +করেছিলেন +করেছে +করেছেন +করেন +কাউকে +কাছ +কাছে +কাজ +কাজে +কারও +কারণ +কি +কিংবা +কিছু +কিছুই +কিন্তু +কী +কে +কেউ +কেউই +কেখা +কেন +কোটি +কোন +কোনও +কোনো +ক্ষেত্রে +কয়েক +খুব +গিয়ে +গিয়েছে +গিয়ে +গুলি +গেছে +গেল +গেলে +গোটা +চলে +চান +চায় +চার +চালু +চেয়ে +চেষ্টা +ছাড়া +ছাড়াও +ছিল +ছিলেন +জন +জনকে +জনের +জন্য +জন্যওজে +জানতে +জানা +জানানো +জানায় +জানিয়ে +জানিয়েছে +জে +জ্নজন +টি +ঠিক +তখন +তত +তথা +তবু +তবে +তা +তাঁকে +তাঁদের +তাঁর +তাঁরা +তাঁাহারা +তাই +তাও +তাকে +তাতে +তাদের +তার +তারপর +তারা +তারৈ +তাহলে +তাহা +তাহাতে +তাহার +তিনঐ +তিনি +তিনিও +তুমি +তুলে +তেমন +তো +তোমার +থাকবে +থাকবেন +থাকা +থাকায় +থাকে +থাকেন +থেকে +থেকেই +থেকেও +দিকে +দিতে +দিন +দিয়ে +দিয়েছে +দিয়েছেন +দিলেন +দু +দুই +দুটি +দুটো +দেওয়া +দেওয়ার +দেওয়া +দেখতে +দেখা +দেখে +দেন +দেয় +দ্বারা +ধরা +ধরে +ধামার +নতুন +নয় +না +নাই +নাকি +নাগাদ +নানা +নিজে +নিজেই +নিজেদের +নিজের +নিতে +নিয়ে +নিয়ে +নেই +নেওয়া +নেওয়ার +নেওয়া +নয় +পক্ষে +পর +পরে +পরেই +পরেও +পর্যন্ত +পাওয়া +পাচ +পারি +পারে +পারেন +পি +পেয়ে +পেয়্র্ +প্রতি +প্রথম +প্রভৃতি +প্রযন্ত +প্রাথমিক +প্রায় +প্রায় +ফলে +ফিরে +ফের +বক্তব্য +বদলে +বন +বরং +বলতে +বলল +বললেন +বলা +বলে +বলেছেন +বলেন +বসে +বহু +বা +বাদে +বার +বি +বিনা +বিভিন্ন +বিশেষ +বিষয়টি +বেশ +বেশি +ব্যবহার +ব্যাপারে +ভাবে +ভাবেই +মতো +মতোই +মধ্যভাগে +মধ্যে +মধ্যেই +মধ্যেও +মনে +মাত্র +মাধ্যমে +মোট +মোটেই +যখন +যত +যতটা +যথেষ্ট +যদি +যদিও +যা +যাঁর +যাঁরা +যাওয়া +যাওয়ার +যাওয়া +যাকে +যাচ্ছে +যাতে +যাদের +যান +যাবে +যায় +যার +যারা +যিনি +যে +যেখানে +যেতে +যেন +যেমন +র +রকম +রয়েছে +রাখা +রেখে +লক্ষ +শুধু +শুরু +সঙ্গে +সঙ্গেও +সব +সবার +সমস্ত +সম্প্রতি +সহ +সহিত +সাধারণ +সামনে +সি +সুতরাং +সে +সেই +সেখান +সেখানে +সেটা +সেটাই +সেটাও +সেটি +স্পষ্ট +স্বয়ং +হইতে +হইবে +হইয়া +হওয়া +হওয়ায় +হওয়ার +হচ্ছে +হত +হতে +হতেই +হন +হবে +হবেন +হয় +হয়তো +হয়নি +হয়ে +হয়েই +হয়েছিল +হয়েছে +হয়েছেন +হল +হলে +হলেই +হলেও +হলো +হাজার +হিসাবে +হৈলে +হোক +হয় \ No newline at end of file diff --git a/newspaper/text.py b/newspaper/text.py index 23b4c6b1e..14605f324 100644 --- a/newspaper/text.py +++ b/newspaper/text.py @@ -207,3 +207,16 @@ def candidate_words(self, stripped_input): import pythainlp tokens = pythainlp.word_tokenize(stripped_input) return tokens + + +class StopWordsBengali(StopWords): + """Bengali segmentation + """ + def __init__(self, language='bn'): + super(StopWordsBengali, self).__init__(language='bn') + + def candidate_words(self, stripped_input): + from cltk.tokenize.sentence import TokenizeSentence + tokenizer = TokenizeSentence('bengali') + tokens = tokenizer.tokenize(stripped_input) + return tokens diff --git a/newspaper/utils.py b/newspaper/utils.py index bfa441482..eaf85d960 100644 --- a/newspaper/utils.py +++ b/newspaper/utils.py @@ -357,6 +357,7 @@ def print_available_languages(): language_dict = { 'ar': 'Arabic', 'be': 'Belarusian', + 'bn': 'Bengali', 'bg': 'Bulgarian', 'da': 'Danish', 'de': 'German', diff --git a/requirements.txt b/requirements.txt index 619746017..3e58cd5fa 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,4 +1,5 @@ beautifulsoup4>=4.4.1 +cltk>=0.1.111 cssselect>=0.9.2 feedfinder2>=0.0.4 feedparser>=5.2.1