
    i                     F    d dl mZmZmZ ddlmZ ddlmZ  G d de      Zy)    )DictListTuple   )
Lemmatizer)Tokenc            	            e Zd Zededeee   ee   f   f fd       Zdedee   fdZ	dede
deeef   dee   fd	Zdede
deeef   dee   fd
Zdede
deeef   dee   fdZ xZS )PolishLemmatizermodereturnc                 <    |dk(  rg d}|g fS t         |   |      S )N
pos_lookup)	lemma_lookup_adjlemma_lookup_adplemma_lookup_advlemma_lookup_auxlemma_lookup_nounlemma_lookup_numlemma_lookup_partlemma_lookup_pronlemma_lookup_verb)superget_lookups_config)clsr   required	__class__s      i/var/www/vps2.regionflexible.com/Desarrollo/venv/lib/python3.12/site-packages/spacy/lang/pl/lemmatizer.pyr   z#PolishLemmatizer.get_lookups_config   s.    <H b>!7-d33    tokenc                    |j                   }|j                  }|j                  j                         }|j	                         }|dk(  rd}| j
                  j                  d|z   i       }|dk(  r| j                  |||      S |dk7  r|j	                         }|dk(  r| j                  |||      S |dk(  r| j                  |||      S |j                  ||j	                               gS )NPROPNnounlemma_lookup_NOUNADJVERB)textpos_morphto_dictlowerlookups	get_tablelemmatize_nounlemmatize_adjlemmatize_verbget)selfr   stringuniv_pos
morphology
lookup_poslookup_tables          r   pos_lookup_lemmatizez%PolishLemmatizer.pos_lookup_lemmatize   s    ::[[((*
^^%
wJ||--o
.JBOv&&vz<HHw\\^Fu%%fj,GG&&vz<HH  899r   r3   r5   r7   c                     |d d dk(  r&|dd  }|d d dk(  r|dd  }||v r||   gS ||v r||   gS |d d dk(  r|dd  }||v r||   gS |j                  ||      gS )Nr   nienajr1   )r2   r3   r5   r7   search_stringnaj_search_strings         r   r/   zPolishLemmatizer.lemmatize_adj-   s    
 "1:"12JMRa E)$1!"$5!$4():;<<,$]344"1: &qr
 L0$%6788  011r   c                 V    |d d dk(  r|dd  }||v r||   gS |j                  ||      gS )Nr   r:   r<   )r2   r3   r5   r7   r=   s        r   r0   zPolishLemmatizer.lemmatize_verb@   sI    
 "1:"12JM,$]344  011r   c                     ||j                         k7  rA|j                         |v r||j                            gS ||v r||   gS |j                         gS |j                  ||      gS )N)r+   r1   )r2   r3   r5   r7   s       r   r.   zPolishLemmatizer.lemmatize_nounK   so    
 V\\^#||~-$V\\^455<'$V,--LLN##  011r   )__name__
__module____qualname__classmethodstrr   r   r   r   r8   dictr   r/   r0   r.   __classcell__)r   s   @r   r
   r
      s     4c 4eDItCy4H.I 4 4:% :DI :$22'+2;?S>2	c2&	2	2'+	2;?S>	2	c	222'+2;?S>2	c2r   r
   N)	typingr   r   r   pipeliner   tokensr   r
    r   r   <module>rL      s    $ $ " O2z O2r   