mirror of
				https://github.com/explosion/spaCy.git
				synced 2025-10-31 16:07:41 +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
		
			
				
	
	
		
			56 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			56 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| from typing import Callable, Optional
 | |
| 
 | |
| from thinc.api import Model
 | |
| 
 | |
| from ...language import BaseDefaults, Language
 | |
| from ..tokenizer_exceptions import BASE_EXCEPTIONS
 | |
| from .lemmatizer import PolishLemmatizer
 | |
| from .lex_attrs import LEX_ATTRS
 | |
| from .punctuation import TOKENIZER_INFIXES, TOKENIZER_PREFIXES, TOKENIZER_SUFFIXES
 | |
| from .stop_words import STOP_WORDS
 | |
| 
 | |
| TOKENIZER_EXCEPTIONS = {
 | |
|     exc: val for exc, val in BASE_EXCEPTIONS.items() if not exc.endswith(".")
 | |
| }
 | |
| 
 | |
| 
 | |
| class PolishDefaults(BaseDefaults):
 | |
|     tokenizer_exceptions = TOKENIZER_EXCEPTIONS
 | |
|     prefixes = TOKENIZER_PREFIXES
 | |
|     infixes = TOKENIZER_INFIXES
 | |
|     suffixes = TOKENIZER_SUFFIXES
 | |
|     lex_attr_getters = LEX_ATTRS
 | |
|     stop_words = STOP_WORDS
 | |
| 
 | |
| 
 | |
| class Polish(Language):
 | |
|     lang = "pl"
 | |
|     Defaults = PolishDefaults
 | |
| 
 | |
| 
 | |
| @Polish.factory(
 | |
|     "lemmatizer",
 | |
|     assigns=["token.lemma"],
 | |
|     default_config={
 | |
|         "model": None,
 | |
|         "mode": "pos_lookup",
 | |
|         "overwrite": False,
 | |
|         "scorer": {"@scorers": "spacy.lemmatizer_scorer.v1"},
 | |
|     },
 | |
|     default_score_weights={"lemma_acc": 1.0},
 | |
| )
 | |
| def make_lemmatizer(
 | |
|     nlp: Language,
 | |
|     model: Optional[Model],
 | |
|     name: str,
 | |
|     mode: str,
 | |
|     overwrite: bool,
 | |
|     scorer: Optional[Callable],
 | |
| ):
 | |
|     return PolishLemmatizer(
 | |
|         nlp.vocab, model, name, mode=mode, overwrite=overwrite, scorer=scorer
 | |
|     )
 | |
| 
 | |
| 
 | |
| __all__ = ["Polish"]
 |