mirror of
https://github.com/explosion/spaCy.git
synced 2024-12-24 17:06:29 +03:00
103 lines
2.1 KiB
Python
103 lines
2.1 KiB
Python
from ...attrs import LIKE_NUM
|
|
|
|
_num_words = [
|
|
"įį®",
|
|
"į įįµ",
|
|
"įįįµ",
|
|
"į¶įµįµ",
|
|
"į į«įµ",
|
|
"į įįµįµ",
|
|
"įµįµįµįµ",
|
|
"į°į£įµ",
|
|
"įµįįµ",
|
|
"įį į",
|
|
"į įµį",
|
|
"į įµį« į įįµ",
|
|
"į įµį« įįįµ",
|
|
"į įµį« į¶įµįµ",
|
|
"į įµį« į į«įµ",
|
|
"į įµį« į įįµįµ",
|
|
"į įµį« įµįµįµįµ",
|
|
"į įµį« į°į£įµ",
|
|
"į įµį« įµįįįµ",
|
|
"į įµį« įį į",
|
|
"įį«",
|
|
"į°įį³",
|
|
"į įį£",
|
|
"įįį³",
|
|
"įµįį³",
|
|
"į°į£",
|
|
"į°įįį«",
|
|
"įį į",
|
|
"įį¶",
|
|
"įŗį
",
|
|
"įįį®į",
|
|
"į¢įį®į",
|
|
"įµįŖįį®į",
|
|
"į³įµįŖįį®į",
|
|
"įį
įį®į",
|
|
"į£įįį®į",
|
|
]
|
|
|
|
_ordinal_words = [
|
|
"į įį°į",
|
|
"įįį°į",
|
|
"į¶įµį°į",
|
|
"į į«į°į",
|
|
"į įįµį°į",
|
|
"įµįµįµį°į",
|
|
"į°į£į°į",
|
|
"įµįįį°į",
|
|
"įį įį",
|
|
"į įµįØį",
|
|
"į įµį« į įį°į",
|
|
"į įµį« įįį°į",
|
|
"į įµį« į¶įµį°į",
|
|
"į įµį« į į«į°į",
|
|
"į įµį« į įįµį°į",
|
|
"į įµį« įµįµįµį°į",
|
|
"į įµį« į°į£į°į",
|
|
"į įµį« įµįįį°į",
|
|
"į įµį« įį įį",
|
|
"įį«į",
|
|
"į°įį³į" "į įį£į",
|
|
"į įį³į",
|
|
"įµįµį³į",
|
|
"į°į£į",
|
|
"į°įįį«į",
|
|
"įį įį",
|
|
"įį¶į",
|
|
"įŗį",
|
|
"įįį®įį",
|
|
"į¢įį®įį",
|
|
"įµįŖįį®įį",
|
|
]
|
|
|
|
|
|
def like_num(text):
|
|
if text.startswith(("+", "-", "Ā±", "~")):
|
|
text = text[1:]
|
|
text = text.replace(",", "").replace(".", "")
|
|
if text.isdigit():
|
|
return True
|
|
if text.count("/") == 1:
|
|
num, denom = text.split("/")
|
|
if num.isdigit() and denom.isdigit():
|
|
return True
|
|
|
|
text_lower = text.lower()
|
|
if text_lower in _num_words:
|
|
return True
|
|
|
|
# Check ordinal number
|
|
if text_lower in _ordinal_words:
|
|
return True
|
|
if text_lower.endswith("į"):
|
|
if text_lower[:-2].isdigit():
|
|
return True
|
|
|
|
return False
|
|
|
|
|
|
LEX_ATTRS = {LIKE_NUM: like_num}
|