mirror of https://github.com/explosion/spaCy.git
commit
f710fc3f2d
|
@ -0,0 +1 @@
|
||||||
|
# coding: utf-8
|
|
@ -0,0 +1,40 @@
|
||||||
|
# encoding: utf8
|
||||||
|
from __future__ import unicode_literals
|
||||||
|
|
||||||
|
import pytest
|
||||||
|
|
||||||
|
TESTCASES = []
|
||||||
|
|
||||||
|
PUNCTUATION_TESTS = [
|
||||||
|
(u'আমি বাংলায় গান গাই!', [u'আমি', u'বাংলায়', u'গান', u'গাই', u'!']),
|
||||||
|
(u'আমি বাংলায় কথা কই।', [u'আমি', u'বাংলায়', u'কথা', u'কই', u'।']),
|
||||||
|
(u'বসুন্ধরা জনসম্মুখে দোষ স্বীকার করলো না?', [u'বসুন্ধরা', u'জনসম্মুখে', u'দোষ', u'স্বীকার', u'করলো', u'না', u'?']),
|
||||||
|
(u'টাকা থাকলে কি না হয়!', [u'টাকা', u'থাকলে', u'কি', u'না', u'হয়', u'!']),
|
||||||
|
]
|
||||||
|
|
||||||
|
ABBREVIATIONS = [
|
||||||
|
(u'ডঃ খালেদ বললেন ঢাকায় ৩৫ ডিগ্রি সে.।', [u'ডঃ', u'খালেদ', u'বললেন', u'ঢাকায়', u'৩৫', u'ডিগ্রি', u'সে.', u'।'])
|
||||||
|
]
|
||||||
|
|
||||||
|
TESTCASES.extend(PUNCTUATION_TESTS)
|
||||||
|
TESTCASES.extend(ABBREVIATIONS)
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.parametrize('text,expected_tokens', TESTCASES)
|
||||||
|
def test_tokenizer_handles_testcases(bn_tokenizer, text, expected_tokens):
|
||||||
|
tokens = bn_tokenizer(text)
|
||||||
|
token_list = [token.text for token in tokens if not token.is_space]
|
||||||
|
assert expected_tokens == token_list
|
||||||
|
|
||||||
|
|
||||||
|
def test_tokenizer_handles_long_text(bn_tokenizer):
|
||||||
|
text = u"""নর্থ সাউথ বিশ্ববিদ্যালয়ে সারাবছর কোন না কোন বিষয়ে গবেষণা চলতেই থাকে। \
|
||||||
|
অভিজ্ঞ ফ্যাকাল্টি মেম্বারগণ প্রায়ই শিক্ষার্থীদের নিয়ে বিভিন্ন গবেষণা প্রকল্পে কাজ করেন, \
|
||||||
|
যার মধ্যে রয়েছে রোবট থেকে মেশিন লার্নিং সিস্টেম ও আর্টিফিশিয়াল ইন্টেলিজেন্স। \
|
||||||
|
এসকল প্রকল্পে কাজ করার মাধ্যমে সংশ্লিষ্ট ক্ষেত্রে যথেষ্ঠ পরিমাণ স্পেশালাইজড হওয়া সম্ভব। \
|
||||||
|
আর গবেষণার কাজ তোমার ক্যারিয়ারকে ঠেলে নিয়ে যাবে অনেকখানি! \
|
||||||
|
কন্টেস্ট প্রোগ্রামার হও, গবেষক কিংবা ডেভেলপার - নর্থ সাউথ ইউনিভার্সিটিতে তোমার প্রতিভা বিকাশের সুযোগ রয়েছেই। \
|
||||||
|
নর্থ সাউথের অসাধারণ কমিউনিটিতে তোমাকে সাদর আমন্ত্রণ।"""
|
||||||
|
|
||||||
|
tokens = bn_tokenizer(text)
|
||||||
|
assert len(tokens) == 84
|
|
@ -11,6 +11,7 @@ from ..nl import Dutch
|
||||||
from ..sv import Swedish
|
from ..sv import Swedish
|
||||||
from ..hu import Hungarian
|
from ..hu import Hungarian
|
||||||
from ..fi import Finnish
|
from ..fi import Finnish
|
||||||
|
from ..bn import Bengali
|
||||||
from ..tokens import Doc
|
from ..tokens import Doc
|
||||||
from ..strings import StringStore
|
from ..strings import StringStore
|
||||||
from ..lemmatizer import Lemmatizer
|
from ..lemmatizer import Lemmatizer
|
||||||
|
@ -24,7 +25,7 @@ import pytest
|
||||||
|
|
||||||
|
|
||||||
LANGUAGES = [English, German, Spanish, Italian, French, Portuguese, Dutch,
|
LANGUAGES = [English, German, Spanish, Italian, French, Portuguese, Dutch,
|
||||||
Swedish, Hungarian, Finnish]
|
Swedish, Hungarian, Finnish, Bengali]
|
||||||
|
|
||||||
|
|
||||||
@pytest.fixture(params=LANGUAGES)
|
@pytest.fixture(params=LANGUAGES)
|
||||||
|
@ -73,6 +74,11 @@ def sv_tokenizer():
|
||||||
return Swedish.Defaults.create_tokenizer()
|
return Swedish.Defaults.create_tokenizer()
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.fixture
|
||||||
|
def bn_tokenizer():
|
||||||
|
return Bengali.Defaults.create_tokenizer()
|
||||||
|
|
||||||
|
|
||||||
@pytest.fixture
|
@pytest.fixture
|
||||||
def stringstore():
|
def stringstore():
|
||||||
return StringStore()
|
return StringStore()
|
||||||
|
|
|
@ -31,7 +31,7 @@ def test_tokenizer_handles_punct(tokenizer):
|
||||||
|
|
||||||
|
|
||||||
def test_tokenizer_handles_digits(tokenizer):
|
def test_tokenizer_handles_digits(tokenizer):
|
||||||
exceptions = ["hu"]
|
exceptions = ["hu", "bn"]
|
||||||
text = "Lorem ipsum: 1984."
|
text = "Lorem ipsum: 1984."
|
||||||
tokens = tokenizer(text)
|
tokens = tokenizer(text)
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue