mirror of
https://github.com/explosion/spaCy.git
synced 2024-12-25 17:36:30 +03:00
89 lines
2.0 KiB
Python
89 lines
2.0 KiB
Python
from ...attrs import LIKE_NUM
|
||
|
||
|
||
_num_words = [
|
||
"нула",
|
||
"едно",
|
||
"един",
|
||
"една",
|
||
"две",
|
||
"три",
|
||
"четири",
|
||
"пет",
|
||
"шест",
|
||
"седем",
|
||
"осем",
|
||
"девет",
|
||
"десет",
|
||
"единадесет",
|
||
"единайсет",
|
||
"дванадесет",
|
||
"дванайсет",
|
||
"тринадесет",
|
||
"тринайсет",
|
||
"четиринадесет",
|
||
"четиринайсет",
|
||
"петнадесет",
|
||
"петнайсет",
|
||
"шестнадесет",
|
||
"шестнайсет",
|
||
"седемнадесет",
|
||
"седемнайсет",
|
||
"осемнадесет",
|
||
"осемнайсет",
|
||
"деветнадесет",
|
||
"деветнайсет",
|
||
"двадесет",
|
||
"двайсет",
|
||
"тридесет",
|
||
"трийсет",
|
||
"четиридесет",
|
||
"четиресет",
|
||
"петдесет",
|
||
"шестдесет",
|
||
"шейсет",
|
||
"седемдесет",
|
||
"осемдесет",
|
||
"деветдесет",
|
||
"сто",
|
||
"двеста",
|
||
"триста",
|
||
"четиристотин",
|
||
"петстотин",
|
||
"шестстотин",
|
||
"седемстотин",
|
||
"осемстотин",
|
||
"деветстотин",
|
||
"хиляда",
|
||
"милион",
|
||
"милиона",
|
||
"милиард",
|
||
"милиарда",
|
||
"трилион",
|
||
"трилионa",
|
||
"билион",
|
||
"билионa",
|
||
"квадрилион",
|
||
"квадрилионa",
|
||
"квинтилион",
|
||
"квинтилионa",
|
||
]
|
||
|
||
|
||
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}
|