
    Ng                     :    d dl mZ d dlmZ  G d de          ZdS )    )load)StemmerIc                   *    e Zd ZdZd Zd Zd Zd ZdS )RSLPStemmerug  
    A stemmer for Portuguese.

        >>> from nltk.stem import RSLPStemmer
        >>> st = RSLPStemmer()
        >>> # opening lines of Erico Verissimo's "Música ao Longe"
        >>> text = '''
        ... Clarissa risca com giz no quadro-negro a paisagem que os alunos
        ... devem copiar . Uma casinha de porta e janela , em cima duma
        ... coxilha .'''
        >>> for token in text.split(): # doctest: +NORMALIZE_WHITESPACE
        ...     print(st.stem(token))
        clariss risc com giz no quadro-negr a pais que os alun dev copi .
        uma cas de port e janel , em cim dum coxilh .
    c                    g | _         | j                             |                     d                     | j                             |                     d                     | j                             |                     d                     | j                             |                     d                     | j                             |                     d                     | j                             |                     d                     | j                             |                     d                     d S )Nzstep0.ptzstep1.ptzstep2.ptzstep3.ptzstep4.ptzstep5.ptzstep6.pt)_modelappend	read_rule)selfs    J/var/www/html/ai-engine/env/lib/python3.11/site-packages/nltk/stem/rslp.py__init__zRSLPStemmer.__init__5   s    4>>*556664>>*556664>>*556664>>*556664>>*556664>>*556664>>*5566666    c                 x   t          d|z   d                              d          }|                    d          }d |D             }d |D             }d |D             }g }|D ]}g }|                    d	          }|                    |d
         dd                    |                    t	          |d                              |                    |d         dd                    |                    d |d                             d          D                        |                    |           |S )Nznltk:stemmers/rslp/raw)formatutf8
c                     g | ]
}|d k    |S )  .0lines     r   
<listcomp>z)RSLPStemmer.read_rule.<locals>.<listcomp>D   s    666$42:::::r   c                 *    g | ]}|d          dk    |S )r   #r   r   s     r   r   z)RSLPStemmer.read_rule.<locals>.<listcomp>E   s!    :::$47c>>>>>r   c                 :    g | ]}|                     d d          S )z			)replacer   s     r   r   z)RSLPStemmer.read_rule.<locals>.<listcomp>H   s&    >>>fd++>>>r   r   r         c                 "    g | ]}|d d         S )r    r!   r   )r   tokens     r   r   z)RSLPStemmer.read_rule.<locals>.<listcomp>Z   s     GGGqtGGGr      ,)r   decodesplitr	   int)r   filenameruleslinesr   ruletokenss          r   r
   zRSLPStemmer.read_rule@   sM   *X5eDDDKKFSSD!!66%666::%::: ?>>>>  	 	DDZZ%%F KKq	!B$((( KKF1I''' KKq	!B$((( KKGG&)//#2F2FGGGHHH LLr   c                    |                                 }|d         dk    r|                     |d          }|d         dk    r|                     |d          }|                     |d          }|                     |d          }|}|                     |d          }||k    r4|}|                     |d	          }||k    r|                     |d
          }|S )Nr!   sr   ar    r%   r"            )lower
apply_rule)r   word	prev_words      r   stemzRSLPStemmer.stema   s    zz|| 8s????4++D 8s????4++D tQ'' tQ'' 	tQ''9I??4++Dy  tQ//r   c                     | j         |         }|D ]h}t          |d                   }|| d          |d         k    r<t          |          ||d         z   k    r ||d         vr|d |          |d         z   } ni|S )Nr   r    r%   r"   )r   len)r   r7   
rule_indexr+   r-   suffix_lengths         r   r6   zRSLPStemmer.apply_rule   s    J' 	 	DQLLM]NOO$Q//t99Q 77747**#Om^O4tAw>r   N)__name__
__module____qualname____doc__r   r
   r9   r6   r   r   r   r   r   $   s[          	7 	7 	7  B  <
 
 
 
 
r   r   N)	nltk.datar   nltk.stem.apir   r   r   r   r   <module>rD      sj   @       " " " " " "e e e e e( e e e e er   