mirror of
				https://github.com/explosion/spaCy.git
				synced 2025-10-31 16:07:41 +03:00 
			
		
		
		
	
		
			
				
	
	
		
			128 lines
		
	
	
		
			4.1 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			128 lines
		
	
	
		
			4.1 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| from ...attrs import LIKE_NUM
 | |
| 
 | |
| # reference 1: https://en.wikibooks.org/wiki/Sanskrit/Numbers
 | |
| 
 | |
| _num_words = [
 | |
|     "एकः",
 | |
|     "द्वौ",
 | |
|     "त्रयः",
 | |
|     "चत्वारः",
 | |
|     "पञ्च",
 | |
|     "षट्",
 | |
|     "सप्त",
 | |
|     "अष्ट",
 | |
|     "नव",
 | |
|     "दश",
 | |
|     "एकादश",
 | |
|     "द्वादश",
 | |
|     "त्रयोदश",
 | |
|     "चतुर्दश",
 | |
|     "पञ्चदश",
 | |
|     "षोडश",
 | |
|     "सप्तदश",
 | |
|     "अष्टादश",
 | |
|     "एकान्नविंशति",
 | |
|     "विंशति",
 | |
|     "एकाविंशति",
 | |
|     "द्वाविंशति",
 | |
|     "त्रयोविंशति",
 | |
|     "चतुर्विंशति",
 | |
|     "पञ्चविंशति",
 | |
|     "षड्विंशति",
 | |
|     "सप्तविंशति",
 | |
|     "अष्टाविंशति",
 | |
|     "एकान्नत्रिंशत्",
 | |
|     "त्रिंशत्",
 | |
|     "एकत्रिंशत्",
 | |
|     "द्वात्रिंशत्",
 | |
|     "त्रयत्रिंशत्",
 | |
|     "चतुस्त्रिंशत्",
 | |
|     "पञ्चत्रिंशत्",
 | |
|     "षट्त्रिंशत्",
 | |
|     "सप्तत्रिंशत्",
 | |
|     "अष्टात्रिंशत्",
 | |
|     "एकोनचत्वारिंशत्",
 | |
|     "चत्वारिंशत्",
 | |
|     "एकचत्वारिंशत्",
 | |
|     "द्वाचत्वारिंशत्",
 | |
|     "त्रयश्चत्वारिंशत्",
 | |
|     "चतुश्चत्वारिंशत्",
 | |
|     "पञ्चचत्वारिंशत्",
 | |
|     "षट्चत्वारिंशत्",
 | |
|     "सप्तचत्वारिंशत्",
 | |
|     "अष्टाचत्वारिंशत्",
 | |
|     "एकोनपञ्चाशत्",
 | |
|     "पञ्चाशत्",
 | |
|     "एकपञ्चाशत्",
 | |
|     "द्विपञ्चाशत्",
 | |
|     "त्रिपञ्चाशत्",
 | |
|     "चतुःपञ्चाशत्",
 | |
|     "पञ्चपञ्चाशत्",
 | |
|     "षट्पञ्चाशत्",
 | |
|     "सप्तपञ्चाशत्",
 | |
|     "अष्टपञ्चाशत्",
 | |
|     "एकोनषष्ठिः",
 | |
|     "षष्ठिः",
 | |
|     "एकषष्ठिः",
 | |
|     "द्विषष्ठिः",
 | |
|     "त्रिषष्ठिः",
 | |
|     "चतुःषष्ठिः",
 | |
|     "पञ्चषष्ठिः",
 | |
|     "षट्षष्ठिः",
 | |
|     "सप्तषष्ठिः",
 | |
|     "अष्टषष्ठिः",
 | |
|     "एकोनसप्ततिः",
 | |
|     "सप्ततिः",
 | |
|     "एकसप्ततिः",
 | |
|     "द्विसप्ततिः",
 | |
|     "त्रिसप्ततिः",
 | |
|     "चतुःसप्ततिः",
 | |
|     "पञ्चसप्ततिः",
 | |
|     "षट्सप्ततिः",
 | |
|     "सप्तसप्ततिः",
 | |
|     "अष्टसप्ततिः",
 | |
|     "एकोनाशीतिः",
 | |
|     "अशीतिः",
 | |
|     "एकाशीतिः",
 | |
|     "द्वशीतिः",
 | |
|     "त्र्यशीतिः",
 | |
|     "चतुरशीतिः",
 | |
|     "पञ्चाशीतिः",
 | |
|     "षडशीतिः",
 | |
|     "सप्ताशीतिः",
 | |
|     "अष्टाशीतिः",
 | |
|     "एकोननवतिः",
 | |
|     "नवतिः",
 | |
|     "एकनवतिः",
 | |
|     "द्विनवतिः",
 | |
|     "त्रिनवतिः",
 | |
|     "चतुर्नवतिः",
 | |
|     "पञ्चनवतिः",
 | |
|     "षण्णवतिः",
 | |
|     "सप्तनवतिः",
 | |
|     "अष्टनवतिः",
 | |
|     "एकोनशतम्",
 | |
|     "शतम्",
 | |
| ]
 | |
| 
 | |
| 
 | |
| def like_num(text):
 | |
|     """
 | |
|     Check if text resembles a number
 | |
|     """
 | |
|     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 in _num_words:
 | |
|         return True
 | |
|     return False
 | |
| 
 | |
| 
 | |
| LEX_ATTRS = {LIKE_NUM: like_num}
 |