add basic Bengali support

This commit is contained in:
Aniruddha Adhikary 2017-02-28 07:48:37 +06:00
parent cc9b2b74e3
commit 5a4fc09576
5 changed files with 70 additions and 0 deletions

View File

@ -32,6 +32,7 @@ PACKAGES = [
'spacy.nl', 'spacy.nl',
'spacy.sv', 'spacy.sv',
'spacy.fi', 'spacy.fi',
'spacy.bn',
'spacy.language_data', 'spacy.language_data',
'spacy.serialize', 'spacy.serialize',
'spacy.syntax', 'spacy.syntax',

View File

@ -14,6 +14,7 @@ from . import pt
from . import nl from . import nl
from . import sv from . import sv
from . import fi from . import fi
from . import bn
try: try:
basestring basestring
@ -32,6 +33,7 @@ set_lang_class(zh.Chinese.lang, zh.Chinese)
set_lang_class(nl.Dutch.lang, nl.Dutch) set_lang_class(nl.Dutch.lang, nl.Dutch)
set_lang_class(sv.Swedish.lang, sv.Swedish) set_lang_class(sv.Swedish.lang, sv.Swedish)
set_lang_class(fi.Finnish.lang, fi.Finnish) set_lang_class(fi.Finnish.lang, fi.Finnish)
set_lang_class(bn.Bengali.lang, bn.Bengali)

18
spacy/bn/__init__.py Normal file
View File

@ -0,0 +1,18 @@
# encoding: utf8
from __future__ import unicode_literals, print_function
from ..language import Language
from ..attrs import LANG
from .language_data import *
class Bengali(Language):
lang = 'bn'
class Defaults(Language.Defaults):
lex_attr_getters = dict(Language.Defaults.lex_attr_getters)
lex_attr_getters[LANG] = lambda text: 'bn'
tokenizer_exceptions = TOKENIZER_EXCEPTIONS
stop_words = STOP_WORDS

17
spacy/bn/language_data.py Normal file
View File

@ -0,0 +1,17 @@
# encoding: utf8
from __future__ import unicode_literals
from .. import language_data as base
from ..language_data import update_exc, strings_to_exc
from .stop_words import STOP_WORDS
STOP_WORDS = set(STOP_WORDS)
TOKENIZER_EXCEPTIONS = strings_to_exc(base.EMOTICONS)
update_exc(TOKENIZER_EXCEPTIONS, strings_to_exc(base.ABBREVIATIONS))
__all__ = ["TOKENIZER_EXCEPTIONS", "STOP_WORDS"]

32
spacy/bn/stop_words.py Normal file
View File

@ -0,0 +1,32 @@
# encoding: utf8
from __future__ import unicode_literals
STOP_WORDS = set("""
অতএব অথচ অথব অন অন অন অন অনতত অন অবধি অবশ অর
আই আগ আগ আগ আছ আজ আদযভ আপন আপনি আব আমর আম আম আম আমি আর আরও
ইতি ইহ উচি উনি উপর উপর
এই এক একই একজন একট একটি একব এক এখন এখনও এখ এখ এট এট এটি এত এতট এত এদ এব এব এমন এমনক এর এর এল এস এস
ওই ওক ওখ ওদ ওর ওর
কখনও কত কথ কব কয কযকটি করছ করছ করত করব করব করল করল কর কর কর কর করি করি করি করি কর কর করি কর কর কর উক রও রণ ি ি ি ি ি উই নও
ি ি ি
চল
ি ি
জন জনক জন জন জনযওজ নত ি ি
ি ি তখন তত তথ তব তব রপর হল িনঐ িি িি ি মন
কব কব
ি ি ি ি ি ি ি ি ওয ওয খত
ধর ধর
নয ি ি ি ি ি ি ি ি ওয ওয নয়
পক পর পর পর পর পরযন ওয ি রতি রভি
ফল ি
বছর বদল বর বলত বলল বলল বল বল বল বল বস বহ ি িি ি িষযি যবহ
মত মত মত মধযভ মধ মধ মধ মন যম
যখন যত যতট যথ যদি যদি ওয ওয িি মন
রকম রয
সঙ সঙ সব সব সমস সমরতি সময় সহ সহি তর ি পষ বয
হইত হইব হইয হওয হওয হওয হচ হত হত হত হন হব হব হয হয হযি হয হয হযি হয হয হল হল হল হল হল ি ি হয় হয় হয়
""".split())