mirror of
https://github.com/explosion/spaCy.git
synced 2024-11-16 14:47:16 +03:00
105 lines
2.2 KiB
Python
105 lines
2.2 KiB
Python
|
# coding: utf8
|
||
|
from __future__ import unicode_literals
|
||
|
|
||
|
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}
|