mirror of
				https://github.com/explosion/spaCy.git
				synced 2025-10-25 05:01:02 +03:00 
			
		
		
		
	* Use isort with Black profile * isort all the things * Fix import cycles as a result of import sorting * Add DOCBIN_ALL_ATTRS type definition * Add isort to requirements * Remove isort from build dependencies check * Typo
		
			
				
	
	
		
			79 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			79 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| from .char_classes import (
 | ||
|     ALPHA,
 | ||
|     ALPHA_LOWER,
 | ||
|     ALPHA_UPPER,
 | ||
|     COMBINING_DIACRITICS,
 | ||
|     CONCAT_QUOTES,
 | ||
|     CURRENCY,
 | ||
|     HYPHENS,
 | ||
|     LIST_CURRENCY,
 | ||
|     LIST_ELLIPSES,
 | ||
|     LIST_ICONS,
 | ||
|     LIST_PUNCT,
 | ||
|     LIST_QUOTES,
 | ||
|     PUNCT,
 | ||
|     UNITS,
 | ||
| )
 | ||
| 
 | ||
| TOKENIZER_PREFIXES = (
 | ||
|     ["§", "%", "=", "—", "–", r"\+(?![0-9])"]
 | ||
|     + LIST_PUNCT
 | ||
|     + LIST_ELLIPSES
 | ||
|     + LIST_QUOTES
 | ||
|     + LIST_CURRENCY
 | ||
|     + LIST_ICONS
 | ||
| )
 | ||
| 
 | ||
| 
 | ||
| TOKENIZER_SUFFIXES = (
 | ||
|     LIST_PUNCT
 | ||
|     + LIST_ELLIPSES
 | ||
|     + LIST_QUOTES
 | ||
|     + LIST_ICONS
 | ||
|     + ["'s", "'S", "’s", "’S", "—", "–"]
 | ||
|     + [
 | ||
|         r"(?<=[0-9])\+",
 | ||
|         r"(?<=°[FfCcKk])\.",
 | ||
|         r"(?<=[0-9])(?:{c})".format(c=CURRENCY),
 | ||
|         r"(?<=[0-9])(?:{u})".format(u=UNITS),
 | ||
|         r"(?<=[0-9{al}{e}{p}(?:{q})])\.".format(
 | ||
|             al=ALPHA_LOWER, e=r"%²\-\+", q=CONCAT_QUOTES, p=PUNCT
 | ||
|         ),
 | ||
|         r"(?<=[{au}][{au}])\.".format(au=ALPHA_UPPER),
 | ||
|     ]
 | ||
| )
 | ||
| 
 | ||
| TOKENIZER_INFIXES = (
 | ||
|     LIST_ELLIPSES
 | ||
|     + LIST_ICONS
 | ||
|     + [
 | ||
|         r"(?<=[0-9])[+\-\*^](?=[0-9-])",
 | ||
|         r"(?<=[{al}{q}])\.(?=[{au}{q}])".format(
 | ||
|             al=ALPHA_LOWER, au=ALPHA_UPPER, q=CONCAT_QUOTES
 | ||
|         ),
 | ||
|         r"(?<=[{a}]),(?=[{a}])".format(a=ALPHA),
 | ||
|         r"(?<=[{a}])(?:{h})(?=[{a}])".format(a=ALPHA, h=HYPHENS),
 | ||
|         r"(?<=[{a}0-9])[:<>=/](?=[{a}])".format(a=ALPHA),
 | ||
|     ]
 | ||
| )
 | ||
| 
 | ||
| 
 | ||
| # Some languages e.g. written with the Cyrillic alphabet permit the use of diacritics
 | ||
| # to mark stressed syllables in words where stress is distinctive. Such languages
 | ||
| # should use the COMBINING_DIACRITICS... suffix and infix regex lists in
 | ||
| # place of the standard ones.
 | ||
| COMBINING_DIACRITICS_TOKENIZER_SUFFIXES = list(TOKENIZER_SUFFIXES) + [
 | ||
|     r"(?<=[{a}][{d}])\.".format(a=ALPHA, d=COMBINING_DIACRITICS),
 | ||
| ]
 | ||
| 
 | ||
| COMBINING_DIACRITICS_TOKENIZER_INFIXES = list(TOKENIZER_INFIXES) + [
 | ||
|     r"(?<=[{al}][{d}])\.(?=[{au}{q}])".format(
 | ||
|         al=ALPHA_LOWER, au=ALPHA_UPPER, q=CONCAT_QUOTES, d=COMBINING_DIACRITICS
 | ||
|     ),
 | ||
|     r"(?<=[{a}][{d}]),(?=[{a}])".format(a=ALPHA, d=COMBINING_DIACRITICS),
 | ||
|     r"(?<=[{a}][{d}])(?:{h})(?=[{a}])".format(
 | ||
|         a=ALPHA, d=COMBINING_DIACRITICS, h=HYPHENS
 | ||
|     ),
 | ||
|     r"(?<=[{a}][{d}])[:<>=/](?=[{a}])".format(a=ALPHA, d=COMBINING_DIACRITICS),
 | ||
| ]
 |