mirror of
https://github.com/explosion/spaCy.git
synced 2024-12-27 18:36:36 +03:00
db55577c45
* Remove unicode declarations * Remove Python 3.5 and 2.7 from CI * Don't require pathlib * Replace compat helpers * Remove OrderedDict * Use f-strings * Set Cython compiler language level * Fix typo * Re-add OrderedDict for Table * Update setup.cfg * Revert CONTRIBUTING.md * Revert lookups.md * Revert top-level.md * Small adjustments and docs [ci skip]
67 lines
1.5 KiB
Python
67 lines
1.5 KiB
Python
from ...attrs import LIKE_NUM
|
|
|
|
|
|
_num_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
|
|
if text.lower() in _num_words:
|
|
return True
|
|
return False
|
|
|
|
|
|
LEX_ATTRS = {LIKE_NUM: like_num}
|