mirror of
				https://github.com/explosion/spaCy.git
				synced 2025-10-30 23:47:31 +03:00 
			
		
		
		
	* Auto-format code with black * Update spacy/lang/hsb/lex_attrs.py Co-authored-by: explosion-bot <explosion-bot@users.noreply.github.com> Co-authored-by: Adriane Boyd <adrianeboyd@gmail.com>
		
			
				
	
	
		
			107 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			107 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| from ...attrs import LIKE_NUM
 | |
| 
 | |
| _num_words = [
 | |
|     "nul",
 | |
|     "jedyn",
 | |
|     "jedna",
 | |
|     "jedne",
 | |
|     "dwaj",
 | |
|     "dwě",
 | |
|     "tři",
 | |
|     "třo",
 | |
|     "štyri",
 | |
|     "štyrjo",
 | |
|     "pjeć",
 | |
|     "šěsć",
 | |
|     "sydom",
 | |
|     "wosom",
 | |
|     "dźewjeć",
 | |
|     "dźesać",
 | |
|     "jědnaće",
 | |
|     "dwanaće",
 | |
|     "třinaće",
 | |
|     "štyrnaće",
 | |
|     "pjatnaće",
 | |
|     "šěsnaće",
 | |
|     "sydomnaće",
 | |
|     "wosomnaće",
 | |
|     "dźewjatnaće",
 | |
|     "dwaceći",
 | |
|     "třiceći",
 | |
|     "štyrceći",
 | |
|     "pjećdźesat",
 | |
|     "šěsćdźesat",
 | |
|     "sydomdźesat",
 | |
|     "wosomdźesat",
 | |
|     "dźewjećdźesat",
 | |
|     "sto",
 | |
|     "tysac",
 | |
|     "milion",
 | |
|     "miliarda",
 | |
|     "bilion",
 | |
|     "biliarda",
 | |
|     "trilion",
 | |
|     "triliarda",
 | |
| ]
 | |
| 
 | |
| _ordinal_words = [
 | |
|     "prěni",
 | |
|     "prěnja",
 | |
|     "prěnje",
 | |
|     "druhi",
 | |
|     "druha",
 | |
|     "druhe",
 | |
|     "třeći",
 | |
|     "třeća",
 | |
|     "třeće",
 | |
|     "štwórty",
 | |
|     "štwórta",
 | |
|     "štwórte",
 | |
|     "pjaty",
 | |
|     "pjata",
 | |
|     "pjate",
 | |
|     "šěsty",
 | |
|     "šěsta",
 | |
|     "šěste",
 | |
|     "sydmy",
 | |
|     "sydma",
 | |
|     "sydme",
 | |
|     "wosmy",
 | |
|     "wosma",
 | |
|     "wosme",
 | |
|     "dźewjaty",
 | |
|     "dźewjata",
 | |
|     "dźewjate",
 | |
|     "dźesaty",
 | |
|     "dźesata",
 | |
|     "dźesate",
 | |
|     "jědnaty",
 | |
|     "jědnata",
 | |
|     "jědnate",
 | |
|     "dwanaty",
 | |
|     "dwanata",
 | |
|     "dwanate",
 | |
| ]
 | |
| 
 | |
| 
 | |
| 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
 | |
|     return False
 | |
| 
 | |
| 
 | |
| LEX_ATTRS = {LIKE_NUM: like_num}
 |