mirror of
				https://github.com/explosion/spaCy.git
				synced 2025-11-04 01:48:04 +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}
 |