o
    i                     @   sT   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	 d	e
Zd
S )    )CallableOptional)Model   )lemmatizer_score)Vocab   )RussianLemmatizerc                       sP   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dZ
  ZS )UkrainianLemmatizer
lemmatizer	pymorphy3Fmode	overwritescorervocabmodelnamer   r   r   returnNc                   s   |dv r(zddl m} W n ty   tdd w t| dd d u r'|dd| _n'|dv rOzddlm} W n ty@   td	d w t| dd d u rO|dd| _t j||||||d
 d S )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__ L/home/ubuntu/.local/lib/python3.10/site-packages/spacy/lang/uk/lemmatizer.pyr      s8   

zUkrainianLemmatizer.__init__)r   )__name__
__module____qualname__r   r   r   r   strboolr   r   __classcell__r#   r#   r!   r$   r
   
   s*    	r
   N)typingr   r   	thinc.apir   pipeline.lemmatizerr   r   r   ru.lemmatizerr	   r
   r#   r#   r#   r$   <module>   s    