
    i                     Z    d dl mZmZ d dlmZ ddlmZ ddlmZ ddl	m
Z
  G d d	e
      Zy
)    )CallableOptional)Model   )lemmatizer_score)Vocab   )RussianLemmatizerc                   V     e Zd Z	 dddeddedee   dededed	ee	   d
df fdZ
 xZS )UkrainianLemmatizer	pymorphy3Fmode	overwritescorervocabmodelnamer   r   r   returnNc                .   |dv r#	 ddl m} t        | dd       5 |d      | _        n&|dv r"	 ddlm} t        | dd        |d      | _        t        |   ||||||
       y # t        $ r t        d      d w xY w# t        $ r t        d	      d w xY w)N>   	pymorphy2pymorphy2_lookupr   )MorphAnalyzerzThe Ukrainian lemmatizer mode 'pymorphy2' requires the pymorphy2 library and dictionaries. Install them with: pip install pymorphy2 pymorphy2-dicts-uk_morphuk)lang>   r   pymorphy3_lookupzThe Ukrainian lemmatizer mode 'pymorphy3' requires the pymorphy3 library and dictionaries. Install them with: pip install pymorphy3 pymorphy3-dicts-ukr   )r   r   ImportErrorgetattrr   r   super__init__)	selfr   r   r   r   r   r   r   	__class__s	           i/var/www/vps2.regionflexible.com/Desarrollo/venv/lib/python3.12/site-packages/spacy/lang/uk/lemmatizer.pyr!   zUkrainianLemmatizer.__init__   s     443 tXt,4+6663 tXt,4+65$TYv 	 	
'  !? 	  !? 	s   A% A> %A;>B)
lemmatizer)__name__
__module____qualname__r   r   r   r   strboolr   r!   __classcell__)r#   s   @r$   r   r   
   so    
 !	"
  %5"
"
 "
 	"
 "
 "
 ""
 
"
 "
    r   N)typingr   r   	thinc.apir   pipeline.lemmatizerr   r   r   ru.lemmatizerr
   r    r,   r$   <module>r2      s!    %  3  -#
+ #
r,   