From d1d30b044294c7f3a7399ae59bd6efcd0ae3384c Mon Sep 17 00:00:00 2001 From: Muhammad Irfan Date: Sun, 4 Aug 2019 16:41:18 +0500 Subject: [PATCH] added missing punctuation following conventions. (#4066) --- spacy/lang/char_classes.py | 2 +- spacy/lang/ur/__init__.py | 1 + spacy/lang/ur/punctuation.py | 5 +---- spacy/tests/lang/ur/test_text.py | 7 ++----- 4 files changed, 5 insertions(+), 10 deletions(-) diff --git a/spacy/lang/char_classes.py b/spacy/lang/char_classes.py index fb320b2ff..9f6c3266e 100644 --- a/spacy/lang/char_classes.py +++ b/spacy/lang/char_classes.py @@ -214,7 +214,7 @@ _currency = r"\$ £ € ¥ ฿ US\$ C\$ A\$ ₽ ﷼ ₴" # used in Chinese (see #1333, #1340, #1351) – unless there are cross-language # conflicts, spaCy's base tokenizer should handle all of those by default _punct = ( - r"… …… , : ; \! \? ¿ ؟ ¡ \( \) \[ \] \{ \} < > _ # \* & 。 ? ! , 、 ; : ~ · । ، ؛ ٪" + r"… …… , : ; \! \? ¿ ؟ ¡ \( \) \[ \] \{ \} < > _ # \* & 。 ? ! , 、 ; : ~ · । ، ۔ ؛ ٪" ) _quotes = r'\' " ” “ ` ‘ ´ ’ ‚ , „ » « 「 」 『 』 ( ) 〔 〕 【 】 《 》 〈 〉' _hyphens = "- – — -- --- —— ~" diff --git a/spacy/lang/ur/__init__.py b/spacy/lang/ur/__init__.py index 46056e090..b0bc119a5 100644 --- a/spacy/lang/ur/__init__.py +++ b/spacy/lang/ur/__init__.py @@ -21,6 +21,7 @@ class UrduDefaults(Language.Defaults): tag_map = TAG_MAP stop_words = STOP_WORDS suffixes = TOKENIZER_SUFFIXES + writing_system = {"direction": "rtl", "has_case": False, "has_letters": True} class Urdu(Language): diff --git a/spacy/lang/ur/punctuation.py b/spacy/lang/ur/punctuation.py index 0d3b01bba..b8b1a1c83 100644 --- a/spacy/lang/ur/punctuation.py +++ b/spacy/lang/ur/punctuation.py @@ -4,7 +4,4 @@ from __future__ import unicode_literals from ..punctuation import TOKENIZER_SUFFIXES -_suffixes = TOKENIZER_SUFFIXES + ["۔"] - - -TOKENIZER_SUFFIXES = _suffixes +_suffixes = TOKENIZER_SUFFIXES diff --git a/spacy/tests/lang/ur/test_text.py b/spacy/tests/lang/ur/test_text.py index 545e0fa9e..546e79182 100644 --- a/spacy/tests/lang/ur/test_text.py +++ b/spacy/tests/lang/ur/test_text.py @@ -5,12 +5,9 @@ import pytest def test_ur_tokenizer_handles_long_text(ur_tokenizer): - text = """اصل میں رسوا ہونے کی ہمیں - کچھ عادت سی ہو گئی ہے اس لئے جگ ہنسائی کا ذکر نہیں کرتا،ہوا کچھ یوں کہ عرصہ چھ سال بعد ہمیں بھی خیال آیا - کہ ایک عدد ٹیلی ویژن ہی کیوں نہ خرید لیں ، سوچا ورلڈ کپ ہی دیکھیں گے۔اپنے پاکستان کے کھلاڑیوں کو دیکھ کر - ورلڈ کپ دیکھنے کا حوصلہ ہی نہ رہا تو اب یوں ہی ادھر اُدھر کے چینل گھمانے لگ پڑتے ہیں۔""" + text = """اصل میں، رسوا ہونے کی ہمیں کچھ عادت سی ہو گئی ہے۔""" tokens = ur_tokenizer(text) - assert len(tokens) == 78 + assert len(tokens) == 14 @pytest.mark.parametrize("text,length", [("تحریر باسط حبیب", 3), ("میرا پاکستان", 2)])