mirror of
https://github.com/explosion/spaCy.git
synced 2024-11-14 13:47:13 +03:00
93 lines
1.4 KiB
Python
93 lines
1.4 KiB
Python
# coding: utf8
|
||
from __future__ import unicode_literals
|
||
from ...attrs import LIKE_NUM
|
||
MIM = 'م'
|
||
ZWNJ_O_MIM = 'ام'
|
||
YE_NUN = 'ین'
|
||
_num_words = set("""
|
||
صفر
|
||
یک
|
||
دو
|
||
سه
|
||
چهار
|
||
پنج
|
||
شش
|
||
شیش
|
||
هفت
|
||
هشت
|
||
نه
|
||
ده
|
||
یازده
|
||
دوازده
|
||
سیزده
|
||
چهارده
|
||
پانزده
|
||
پونزده
|
||
شانزده
|
||
شونزده
|
||
هفده
|
||
هجده
|
||
هیجده
|
||
نوزده
|
||
بیست
|
||
سی
|
||
چهل
|
||
پنجاه
|
||
شصت
|
||
هفتاد
|
||
هشتاد
|
||
نود
|
||
صد
|
||
یکصد
|
||
یکصد
|
||
دویست
|
||
سیصد
|
||
چهارصد
|
||
پانصد
|
||
پونصد
|
||
ششصد
|
||
شیشصد
|
||
هفتصد
|
||
هفصد
|
||
هشتصد
|
||
نهصد
|
||
هزار
|
||
میلیون
|
||
میلیارد
|
||
بیلیون
|
||
بیلیارد
|
||
تریلیون
|
||
تریلیارد
|
||
کوادریلیون
|
||
کادریلیارد
|
||
کوینتیلیون
|
||
""".split())
|
||
|
||
_ordinal_words = set("""
|
||
اول
|
||
سوم
|
||
سیام""".split())
|
||
|
||
_ordinal_words.update({num + MIM for num in _num_words})
|
||
_ordinal_words.update({num + ZWNJ_O_MIM for num in _num_words})
|
||
_ordinal_words.update({num + YE_NUN for num in _ordinal_words})
|
||
|
||
def like_num(text):
|
||
"""
|
||
check if text resembles a number
|
||
"""
|
||
text = text.replace(',', '').replace('.', '').\
|
||
replace('،', '').replace('٫','').replace('/', '')
|
||
if text.isdigit():
|
||
return True
|
||
if text in _num_words:
|
||
return True
|
||
if text in _ordinal_words:
|
||
return True
|
||
return False
|
||
|
||
|
||
LEX_ATTRS = {
|
||
LIKE_NUM: like_num
|
||
}
|