ó
ù`]c           @  sP   d  d l  m Z m Z d  d l m Z d  d l m Z d e f d „  ƒ  YZ d S(   iÿÿÿÿ(   t   print_functiont   unicode_literals(   t   load(   t   StemmerIt   RSLPStemmerc           B  s2   e  Z d  Z d „  Z d „  Z d „  Z d „  Z RS(   uF  
    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():
        ...     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         C  s¼   g  |  _  |  j  j |  j d ƒ ƒ |  j  j |  j d ƒ ƒ |  j  j |  j d ƒ ƒ |  j  j |  j d ƒ ƒ |  j  j |  j d ƒ ƒ |  j  j |  j d ƒ ƒ |  j  j |  j d ƒ ƒ d  S(   Nu   step0.ptu   step1.ptu   step2.ptu   step3.ptu   step4.ptu   step5.ptu   step6.pt(   t   _modelt   appendt	   read_rule(   t   self(    (    s-   lib/python2.7/site-packages/nltk/stem/rslp.pyt   __init__8   s    	c         C  sY  t  d | d d ƒj d ƒ } | j d ƒ } g  | D] } | d k r5 | ^ q5 } g  | D] } | d d k rZ | ^ qZ } g  | D] } | j d	 d
 ƒ ^ qƒ } g  } x« | D]£ } g  } | j d
 ƒ } | j | d d d !ƒ | j t | d ƒ ƒ | j | d d d !ƒ | j g  | d j d ƒ D] } | d d !^ q*ƒ | j | ƒ q® W| S(   Nu   nltk:stemmers/rslp/t   formatu   rawu   utf8u   
u    i    u   #u   		u   	i   iÿÿÿÿi   i   u   ,(   R   t   decodet   splitt   replaceR   t   int(   R   t   filenamet   rulest   linest   linet   rulet   tokenst   token(    (    s-   lib/python2.7/site-packages/nltk/stem/rslp.pyR   C   s    %)%4c         C  sÞ   | j  ƒ  } | d d k r1 |  j | d ƒ } n  | d d k rV |  j | d ƒ } n  |  j | d ƒ } |  j | d ƒ } | } |  j | d ƒ } | | k rÚ | } |  j | d	 ƒ } | | k rÚ |  j | d
 ƒ } qÚ n  | S(   Niÿÿÿÿu   si    u   ai   i   i   i   i   i   (   t   lowert
   apply_rule(   R   t   wordt	   prev_word(    (    s-   lib/python2.7/site-packages/nltk/stem/rslp.pyt   stemd   s    c         C  sŽ   |  j  | } xz | D]r } t | d ƒ } | | | d k r t | ƒ | | d k r† | | d k rƒ | |  | d } Pqƒ q† q q W| S(   Ni    i   i   i   (   R   t   len(   R   R   t
   rule_indexR   R   t   suffix_length(    (    s-   lib/python2.7/site-packages/nltk/stem/rslp.pyR   ‚   s    (   t   __name__t
   __module__t   __doc__R	   R   R   R   (    (    (    s-   lib/python2.7/site-packages/nltk/stem/rslp.pyR   '   s
   		!	N(   t
   __future__R    R   t	   nltk.dataR   t   nltk.stem.apiR   R   (    (    (    s-   lib/python2.7/site-packages/nltk/stem/rslp.pyt   <module>!   s   