§
    'ê[fÌ?  ã                   óî   — d dl Z d dlZd dlZd dlZd dlmZ d dlmZmZ d„ Z	 G d„ de¦  «        Z
 G d„ de¦  «        Z G d	„ d
¦  «        Z G d„ de¦  «        Z G d„ de¦  «        Z G d„ de¦  «        ZdS )é    N©Úconcat)ÚXMLCorpusReaderÚXMLCorpusViewc                 óH   ‡ — t          j        ‰ ¦  «        dˆ fd„	¦   «         }|S )zj
    Wraps function arguments:
    if fileids not specified then function set NKJPCorpusReader paths.
    Nc                 ó*   •— |s| j         } ‰| |fi |¤ŽS ©N)Ú_paths)ÚselfÚfileidsÚkwargsÚfuns      €úK/var/www/piapp/venv/lib/python3.11/site-packages/nltk/corpus/reader/nkjp.pyÚ	decoratorz_parse_args.<locals>.decorator   s,   ø€ àð 	"Ø”kˆGØˆs�4˜Ð+Ð+ FÐ+Ð+Ð+ó    r	   )Ú	functoolsÚwraps)r   r   s   ` r   Ú_parse_argsr      s@   ø€ õ „_�SÑÔð,ð ,ð ,ð ,ð ,ñ Ôð,ð
 Ðr   c                   ó¸   — e Zd ZdZdZdZdZdd„Zd„ Zd„ Z	dd
„Z
d„ Zedd„¦   «         Zedd„¦   «         Zedd„¦   «         Zedd„¦   «         Zedd„¦   «         Zd	S )ÚNKJPCorpusReaderr   é   é   é   ú.*c                 óÖ   — t          |t          ¦  «        rt          j        | ||dz   ¦  «         n t          j        | |d„ |D ¦   «         ¦  «         |                      ¦   «         | _        dS )aN  
        Corpus reader designed to work with National Corpus of Polish.
        See http://nkjp.pl/ for more details about NKJP.
        use example:
        import nltk
        import nkjp
        from nkjp import NKJPCorpusReader
        x = NKJPCorpusReader(root='/home/USER/nltk_data/corpora/nkjp/', fileids='') # obtain the whole corpus
        x.header()
        x.raw()
        x.words()
        x.tagged_words(tags=['subst', 'comp'])  #Link to find more tags: nkjp.pl/poliqarp/help/ense2.html
        x.sents()
        x = NKJPCorpusReader(root='/home/USER/nltk_data/corpora/nkjp/', fileids='Wilk*') # obtain particular file(s)
        x.header(fileids=['WilkDom', '/home/USER/nltk_data/corpora/nkjp/WilkWilczy'])
        x.tagged_words(fileids=['WilkDom', '/home/USER/nltk_data/corpora/nkjp/WilkWilczy'], tags=['subst', 'comp'])
        z.*/header.xmlc                 ó   — g | ]}|d z   ‘ŒS )z/header.xml© )Ú.0Úfileids     r   ú
<listcomp>z-NKJPCorpusReader.__init__.<locals>.<listcomp><   s   € ÐJÐJÐJ¸˜V mÑ3ÐJÐJÐJr   N)Ú
isinstanceÚstrr   Ú__init__Ú	get_pathsr
   )r   Úrootr   s      r   r#   zNKJPCorpusReader.__init__&   su   € õ$ �g�sÑ#Ô#ð 	ÝÔ$ T¨4°¸?Ñ1JÑKÔKÐKÐKåÔ$Ø�dÐJÐJÀ'ÐJÑJÔJñô ð ð —n’nÑ&Ô&ˆŒˆˆr   c                 ó*   ‡ — ˆ fd„‰ j         D ¦   «         S )Nc                 ó¦   •— g | ]M}t           j                             t          ‰j        ¦  «        |                     d ¦  «        d         ¦  «        ‘ŒNS ©ú
header.xmlr   )ÚosÚpathÚjoinr"   Ú_rootÚsplit)r   Úfr   s     €r   r    z.NKJPCorpusReader.get_paths.<locals>.<listcomp>A   sR   ø€ ð 
ð 
ð 
àõ ŒG�LŠL�˜TœZ™œ¨!¯'ª'°,Ñ*?Ô*?ÀÔ*BÑCÔCð
ð 
ð 
r   ©Ú_fileids©r   s   `r   r$   zNKJPCorpusReader.get_paths@   s0   ø€ ð
ð 
ð 
ð 
à”]ð
ñ 
ô 
ð 	
r   c                 ó$   — d„ | j         D ¦   «         S )zf
        Returns a list of file identifiers for the fileids that make up
        this corpus.
        c                 óD   — g | ]}|                      d ¦  «        d         ‘ŒS r(   ©r.   )r   r/   s     r   r    z,NKJPCorpusReader.fileids.<locals>.<listcomp>K   s)   € Ð@Ð@Ð@¨Q�—’˜Ñ%Ô% aÔ(Ð@Ð@Ð@r   r0   r2   s    r   r   zNKJPCorpusReader.fileidsF   s   € ð
 AÐ@°$´-Ð@Ñ@Ô@Ð@r   Nc                 ón  — |                      dt          j        ¦  «        }|t          j        u rt          ||¬¦  «        S |t          j        u rt          ||¬¦  «        S |t          j        u rt          ||¬¦  «        S |t          j        u rt          ||t          j        ¬¦  «        S t          d¦  «        ‚)zQ
        Returns a view specialised for use with particular corpus file.
        Úmode)Útags)r8   r7   zNo such mode!)Úpopr   Ú
WORDS_MODEÚNKJPCorpus_Morph_ViewÚ
SENTS_MODEÚNKJPCorpus_Segmentation_ViewÚHEADER_MODEÚNKJPCorpus_Header_ViewÚRAW_MODEÚNKJPCorpus_Text_ViewÚ	NameError)r   Úfilenamer8   r   r7   s        r   Ú_viewzNKJPCorpusReader._viewM   sÂ   € ð �zŠz˜&Õ"2Ô"=Ñ>Ô>ˆØÕ#Ô.Ð.Ð.Ý(¨¸Ð=Ñ=Ô=Ð=ØÕ%Ô0Ð0Ð0Ý/°¸tÐDÑDÔDÐDØÕ%Ô1Ð1Ð1Ý)¨(¸Ð>Ñ>Ô>Ð>ØÕ%Ô.Ð.Ð.Ý'Ø˜tÕ*>Ô*Gðñ ô ð õ
 ˜OÑ,Ô,Ð,r   c                 ó,   — | j         |v r|S | j         |z   S )z<
        Add root if necessary to specified fileid.
        )r%   )r   r   s     r   Úadd_rootzNKJPCorpusReader.add_root`   s#   € ð Œ9˜ÐÐØˆMØŒy˜6Ñ!Ð!r   c                 ó>   ‡ ‡— t          ˆˆ fd„|D ¦   «         ¦  «        S )z9
        Returns header(s) of specified fileids.
        c                 óŽ   •— g | ]A} ‰j         ‰                     |¦  «        fd t          j        i‰¤Ž                     ¦   «         ‘ŒBS ©r7   )rD   rF   r   r>   Úhandle_query©r   r   r   r   s     €€r   r    z+NKJPCorpusReader.header.<locals>.<listcomp>n   si   ø€ ð ð ð ð ð �”
Ø—M’M &Ñ)Ô)ðð Ý0@Ô0LðØPVðð ç’,‘.”.ðð ð r   r   ©r   r   r   s   ` `r   ÚheaderzNKJPCorpusReader.headerh   óE   øø€ õ
 ðð ð ð ð ð &ð	ñ ô ñ
ô 
ð 	
r   c                 ó>   ‡ ‡— t          ˆˆ fd„|D ¦   «         ¦  «        S )z9
        Returns sentences in specified fileids.
        c                 óŽ   •— g | ]A} ‰j         ‰                     |¦  «        fd t          j        i‰¤Ž                     ¦   «         ‘ŒBS rI   )rD   rF   r   r<   rJ   rK   s     €€r   r    z*NKJPCorpusReader.sents.<locals>.<listcomp>|   ói   ø€ ð ð ð ð ð �”
Ø—M’M &Ñ)Ô)ðð Ý0@Ô0KðØOUðð ç’,‘.”.ðð ð r   r   rL   s   ` `r   ÚsentszNKJPCorpusReader.sentsv   rN   r   c                 ó>   ‡ ‡— t          ˆˆ fd„|D ¦   «         ¦  «        S )ú5
        Returns words in specified fileids.
        c                 óŽ   •— g | ]A} ‰j         ‰                     |¦  «        fd t          j        i‰¤Ž                     ¦   «         ‘ŒBS rI   ©rD   rF   r   r:   rJ   rK   s     €€r   r    z*NKJPCorpusReader.words.<locals>.<listcomp>‹   rQ   r   r   rL   s   ` `r   ÚwordszNKJPCorpusReader.words„   sE   øø€ õ ðð ð ð ð ð &ð	ñ ô ñ
ô 
ð 	
r   c                 ón   ‡ ‡‡— ‰                      dg ¦  «        Št          ˆˆ ˆfd„|D ¦   «         ¦  «        S )z…
        Call with specified tags as a list, e.g. tags=['subst', 'comp'].
        Returns tagged words in specified fileids.
        r8   c                 ó�   •— g | ]B} ‰j         ‰                     |¦  «        ft          j        ‰d œ‰¤Ž                     ¦   «         ‘ŒCS ))r7   r8   rV   )r   r   r   r   r8   s     €€€r   r    z1NKJPCorpusReader.tagged_words.<locals>.<listcomp>›   sp   ø€ ð ð ð ð ð �”
Ø—M’M &Ñ)Ô)ðå)Ô4Øðð ð ð	ð ÷
 ’,‘.”.ðð ð r   )r9   r   )r   r   r   r8   s   ` `@r   Útagged_wordszNKJPCorpusReader.tagged_words“   s^   øøø€ ð �zŠz˜& "Ñ%Ô%ˆÝðð ð ð ð ð ð &ðñ ô ñ

ô 

ð 
	
r   c                 ó>   ‡ ‡— t          ˆˆ fd„|D ¦   «         ¦  «        S )rT   c                 óŽ   •— g | ]A} ‰j         ‰                     |¦  «        fd t          j        i‰¤Ž                     ¦   «         ‘ŒBS rI   )rD   rF   r   r@   rJ   rK   s     €€r   r    z(NKJPCorpusReader.raw.<locals>.<listcomp>¬   si   ø€ ð ð ð ð ð �”
Ø—M’M &Ñ)Ô)ðð Ý0@Ô0IðØMSðð ç’,‘.”.ðð ð r   r   rL   s   ` `r   ÚrawzNKJPCorpusReader.raw¦   rN   r   )r   r	   )Ú__name__Ú
__module__Ú__qualname__r:   r<   r>   r@   r#   r$   r   rD   rF   r   rM   rR   rW   rZ   r]   r   r   r   r   r       s   € € € € € Ø€JØ€JØ€KØ€Hð'ð 'ð 'ð 'ð4
ð 
ð 
ðAð Að Að-ð -ð -ð -ð&"ð "ð "ð ð
ð 
ð 
ñ „[ð
ð ð
ð 
ð 
ñ „[ð
ð ð
ð 
ð 
ñ „[ð
ð ð
ð 
ð 
ñ „[ð
ð$ ð
ð 
ð 
ñ „[ð
ð 
ð 
r   r   c                   ó    — e Zd Zd„ Zd„ Zd„ ZdS )r?   c                 óP   — d| _         t          j        | |dz   | j         ¦  «         dS )zƒ
        HEADER_MODE
        A stream backed corpus view specialized for use with
        header.xml files in NKJP corpus.
        z.*/sourceDesc$r)   N)Útagspecr   r#   ©r   rC   r   s      r   r#   zNKJPCorpus_Header_View.__init__¶   s-   € ð (ˆŒÝÔ˜t X°Ñ%<¸d¼lÑKÔKÐKÐKÐKr   c                 óä   — |                       ¦   «          g }	 t          j        | | j        ¦  «        }t	          |¦  «        dk    rn|                     |¦  «         ŒD|                      ¦   «          |S ©NTr   )Ú_openr   Ú
read_blockÚ_streamÚlenÚextendÚclose)r   rM   Úsegms      r   rJ   z#NKJPCorpus_Header_View.handle_query¿   sj   € Ø�
Š
‰ŒˆØˆð	 Ý Ô+¨D°$´,Ñ?Ô?ˆDÝ�4‰yŒy˜AŠ~ˆ~ØØ�MŠM˜$ÑÔÐð		 ð
 	�
Š
‰ŒˆØˆr   c                 ó´  — |                      d¦  «        }g }|rd                     d„ |D ¦   «         ¦  «        }|                      d¦  «        }g }|rd                     d„ |D ¦   «         ¦  «        }|                      d¦  «        }g }|rd                     d„ |D ¦   «         ¦  «        }|                      d¦  «        }	g }
|	rd                     d	„ |	D ¦   «         ¦  «        }
|                      d
¦  «        }g }|rd                     d„ |D ¦   «         ¦  «        }|                      d¦  «        }g }|rd                     d„ |D ¦   «         ¦  «        }||||
||dœS )Nz
bibl/titleÚ
c              3   óH   K  — | ]}|j                              ¦   «         V — Œd S r	   ©ÚtextÚstrip)r   Útitles     r   ú	<genexpr>z4NKJPCorpus_Header_View.handle_elt.<locals>.<genexpr>Î   s0   è è € ÐEÐE°U˜eœj×.Ò.Ñ0Ô0ÐEÐEÐEÐEÐEÐEr   zbibl/authorc              3   óH   K  — | ]}|j                              ¦   «         V — Œd S r	   rq   )r   Úauthors     r   ru   z4NKJPCorpus_Header_View.handle_elt.<locals>.<genexpr>Ó   s0   è è € ÐIÐI°v˜vœ{×0Ò0Ñ2Ô2ÐIÐIÐIÐIÐIÐIr   z	bibl/datec              3   óH   K  — | ]}|j                              ¦   «         V — Œd S r	   rq   )r   Údates     r   ru   z4NKJPCorpus_Header_View.handle_elt.<locals>.<genexpr>Ø   ó.   è è € ÐAÐA°4˜TœYŸ_š_Ñ.Ô.ÐAÐAÐAÐAÐAÐAr   zbibl/publisherc              3   óH   K  — | ]}|j                              ¦   «         V — Œd S r	   rq   )r   Ú	publishers     r   ru   z4NKJPCorpus_Header_View.handle_elt.<locals>.<genexpr>Ý   s0   è è € Ð!UÐ!U¸Y )¤.×"6Ò"6Ñ"8Ô"8Ð!UÐ!UÐ!UÐ!UÐ!UÐ!Ur   z	bibl/idnoc              3   óH   K  — | ]}|j                              ¦   «         V — Œd S r	   rq   )r   Úidnos     r   ru   z4NKJPCorpus_Header_View.handle_elt.<locals>.<genexpr>â   rz   r   z	bibl/notec              3   óH   K  — | ]}|j                              ¦   «         V — Œd S r	   rq   )r   Únotes     r   ru   z4NKJPCorpus_Header_View.handle_elt.<locals>.<genexpr>ç   rz   r   )rt   rw   ry   r|   r~   r€   )Úfindallr,   )r   ÚeltÚcontextÚtitlesrt   Úauthorsrw   Údatesry   Ú
publishersr|   Úidnosr~   Únotesr€   s                  r   Ú
handle_eltz!NKJPCorpus_Header_View.handle_eltÊ   s   € Ø—’˜\Ñ*Ô*ˆØˆØð 	FØ—I’IÐEÐE¸fÐEÑEÔEÑEÔEˆEà—+’+˜mÑ,Ô,ˆØˆØð 	JØ—Y’YÐIÐIÀÐIÑIÔIÑIÔIˆFà—’˜KÑ(Ô(ˆØˆØð 	BØ—9’9ÐAÐA¸5ÐAÑAÔAÑAÔAˆDà—[’[Ð!1Ñ2Ô2ˆ
Øˆ	Øð 	VØŸ	š	Ð!UÐ!UÈ*Ð!UÑ!UÔ!UÑUÔUˆIà—’˜KÑ(Ô(ˆØˆØð 	BØ—9’9ÐAÐA¸5ÐAÑAÔAÑAÔAˆDà—’˜KÑ(Ô(ˆØˆØð 	BØ—9’9ÐAÐA¸5ÐAÑAÔAÑAÔAˆDð ØØØ"ØØð
ð 
ð 	
r   N)r^   r_   r`   r#   rJ   rŠ   r   r   r   r?   r?   µ   sD   € € € € € ðLð Lð Lð	ð 	ð 	ð&
ð &
ð &
ð &
ð &
r   r?   c                   ó$   — e Zd ZdZd„ Zd„ Zd„ ZdS )ÚXML_Toola  
    Helper class creating xml file to one without references to nkjp: namespace.
    That's needed because the XMLCorpusView assumes that one can find short substrings
    of XML that are valid XML, which is not true if a namespace is declared at top level
    c                 ó„   — t           j                             ||¦  «        | _        t	          j        d¬¦  «        | _        d S )NF)Údelete)r*   r+   r,   Ú	read_fileÚtempfileÚNamedTemporaryFileÚ
write_file)r   r%   rC   s      r   r#   zXML_Tool.__init__ú   s2   € ÝœŸš d¨HÑ5Ô5ˆŒÝ"Ô5¸UÐCÑCÔCˆŒˆˆr   c                 ó8  — 	 t          | j        ¦  «        }| j        }d}t          |¦  «        �r|                     ¦   «         }t          j        d|¦  «        }d                     |¦  «        }t          j        d|¦  «        }d                     |¦  «        }t          j        d|¦  «        }d                     |¦  «        }t          j        d|¦  «        }d                     |¦  «        }t          j        d|¦  «        }d                     |¦  «        }|                     |¦  «         t          |¦  «        �°| 	                    ¦   «          | 	                    ¦   «          | j        j
        S # t          $ r!}|                      ¦   «          t          |‚d }~ww xY w)NÚ znkjp:[^ ]* z<nkjp:paren>z</nkjp:paren>z<choice>z	</choice>)Úopenr�   r’   rj   ÚreadlineÚrer.   r,   Úwriterl   ÚnameÚ	ExceptionÚremove_preprocessed_file)r   ÚfrÚfwÚlineÚxÚretÚes          r   Úbuild_preprocessed_filez XML_Tool.build_preprocessed_fileþ   s\  € ð	#Ý�d”nÑ%Ô%ˆBØ”ˆBØˆDÝ�d‘)”)ñ Ø—{’{‘}”}�Ý”H˜^¨TÑ2Ô2�Ø—h’h˜q‘k”k�Ý”H˜^¨SÑ1Ô1�Ø—h’h˜q‘k”k�Ý”H˜_¨cÑ2Ô2�Ø—h’h˜q‘k”k�Ý”H˜Z¨Ñ-Ô-�Ø—h’h˜q‘k”k�Ý”H˜[¨#Ñ.Ô.�Ø—h’h˜q‘k”k�Ø—’˜‘”�õ �d‘)”)ñ ð �HŠH‰JŒJˆJØ�HŠH‰JŒJˆJØ”?Ô'Ð'øÝð 	#ð 	#ð 	#Ø×)Ò)Ñ+Ô+Ð+Ý Ð"øøøøð	#øøøs   ‚E+E. Å.
FÅ8FÆFc                 óB   — t          j        | j        j        ¦  «         d S r	   )r*   Úremover’   r™   r2   s    r   r›   z!XML_Tool.remove_preprocessed_file  s   € Ý
Œ	�$”/Ô&Ñ'Ô'Ð'Ð'Ð'r   N)r^   r_   r`   Ú__doc__r#   r¢   r›   r   r   r   rŒ   rŒ   ó   sN   € € € € € ðð ðDð Dð Dð#ð #ð #ð2(ð (ð (ð (ð (r   rŒ   c                   óB   — e Zd ZdZd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	„ Zd
S )r=   zm
    A stream backed corpus view specialized for use with
    ann_segmentation.xml files in NKJP corpus.
    c                 ó  — d| _         t          |t          j        ¬¦  «        | _        | j                             ¦   «          t          |d¦  «        | _        t          j        | | j         	                    ¦   «         | j         ¦  «         d S )Nz.*p/.*srI   zann_segmentation.xml)
rc   rA   r<   Ú	text_viewrJ   rŒ   Úxml_toolr   r#   r¢   rd   s      r   r#   z%NKJPCorpus_Segmentation_View.__init__!  s†   € Ø ˆŒå-ØÕ/Ô:ð
ñ 
ô 
ˆŒð 	Œ×#Ò#Ñ%Ô%Ð%å  Ð+AÑBÔBˆŒåÔØ�$”-×7Ò7Ñ9Ô9¸4¼<ñ	
ô 	
ð 	
ð 	
ð 	
r   c                 ój   — |                      d¦  «        d                               d¦  «        d         S )Nú(r   ú,r   r5   )r   Úexample_words     r   Úget_segm_idz(NKJPCorpus_Segmentation_View.get_segm_id/  s.   € Ø×!Ò! #Ñ&Ô& qÔ)×/Ò/°Ñ4Ô4°QÔ7Ð7r   c                 óR   — t          |                     d¦  «        d         ¦  «        S )Nr¬   r   )Úintr.   )r   Úbeg_words     r   Úget_sent_begz)NKJPCorpus_Segmentation_View.get_sent_beg2  s!   € å�8—>’> #Ñ&Ô& qÔ)Ñ*Ô*Ð*r   c                 ó´   — |                      d¦  «        d                               d¦  «        }t          |d         ¦  «        t          |d         ¦  «        z   S )Nú)r   r¬   r   r   )r.   r°   )r   Úend_wordÚsplitteds      r   Úget_sent_endz)NKJPCorpus_Segmentation_View.get_sent_end6  sI   € à—>’> #Ñ&Ô& qÔ)×/Ò/°Ñ4Ô4ˆÝ�8˜A”;ÑÔ¥# h¨q¤kÑ"2Ô"2Ñ2Ð2r   c                 óü   — |                       |d         ¦  «        }| j        j        |         }|                      |d         ¦  «        }|                      |t          |¦  «        dz
           ¦  «        }|||…         S )Nr   r   )r®   r¨   Ú	segm_dictr²   r·   rj   )r   Ú	sent_segmÚidrm   ÚbegÚends         r   Úget_sentencesz*NKJPCorpus_Segmentation_View.get_sentences;  sp   € à×Ò˜i¨œlÑ+Ô+ˆØŒ~Ô'¨Ô+ˆØ×Ò 	¨!¤Ñ-Ô-ˆØ×Ò 	­#¨i©.¬.¸1Ñ*<Ô =Ñ>Ô>ˆØ�C˜�GŒ}Ðr   c                 óâ   — g }d}d}|D ]e}|                       |¦  «        }|                      |¦  «        |dz
  k    s||k    r*|                     |¦  «         |                      |¦  «        }|}Œf|S )Néÿÿÿÿr   )r®   r²   Úappendr·   )r   rm   r    Úprev_txt_endÚprev_txt_nrÚwordÚtxt_nrs          r   Úremove_choicez*NKJPCorpus_Segmentation_View.remove_choiceC  sŒ   € ØˆØˆØˆØð 	!ð 	!ˆDØ×%Ò% dÑ+Ô+ˆFà× Ò  Ñ&Ô&¨¸Ñ)9Ò9Ð9¸[ÈFÒ=RÐ=RØ—
’
˜4Ñ Ô Ð Ø#×0Ò0°Ñ6Ô6�Ø ˆKˆKàˆ
r   c                 óØ  — 	 |                       ¦   «          g }	 t          j        | | j        ¦  «        }t	          |¦  «        dk    rnC|D ]?}|                      |¦  «        }|                     |                      |¦  «        ¦  «         Œ@Œq|                      ¦   «          | j	         
                    ¦   «          |S # t          $ r&}| j	         
                    ¦   «          t          |‚d }~ww xY wrf   )rg   r   rh   ri   rj   rÆ   rÁ   r¾   rl   r©   r›   rš   )r   Ú	sentencesrº   rm   r¡   s        r   rJ   z)NKJPCorpus_Segmentation_View.handle_queryQ  sö   € ð	#Ø�JŠJ‰LŒLˆLØˆIð?Ý)Ô4°T¸4¼<ÑHÔH�	Ý�y‘>”> QÒ&Ð&ØØ%ð ?ð ?�DØ×-Ò-¨dÑ3Ô3�DØ×$Ò$ T×%7Ò%7¸Ñ%=Ô%=Ñ>Ô>Ð>Ð>ð?ð �JŠJ‰LŒLˆLØŒM×2Ò2Ñ4Ô4Ð4ØÐøÝð 	#ð 	#ð 	#ØŒM×2Ò2Ñ4Ô4Ð4Ý Ð"øøøøð	#øøøs   ‚B6B9 Â9
C)Ã!C$Ã$C)c                 ód   — g }|D ]*}|                      |                     d¦  «        ¦  «         Œ+|S )NÚcorresp)rÁ   Úget)r   r‚   rƒ   r    Úsegs        r   rŠ   z'NKJPCorpus_Segmentation_View.handle_eltc  s<   € ØˆØð 	+ð 	+ˆCØ�JŠJ�s—w’w˜yÑ)Ô)Ñ*Ô*Ð*Ð*Øˆ
r   N)r^   r_   r`   r¥   r#   r®   r²   r·   r¾   rÆ   rJ   rŠ   r   r   r   r=   r=     s–   € € € € € ðð ð

ð 
ð 
ð8ð 8ð 8ð+ð +ð +ð3ð 3ð 3ð
ð ð ðð ð ð#ð #ð #ð$ð ð ð ð r   r=   c                   ó:   — e Zd ZdZdZdZd„ Zd„ Zd
d„Zd„ Z	d	„ Z
dS )rA   za
    A stream backed corpus view specialized for use with
    text.xml files in NKJP corpus.
    r   r   c                 óþ   — |                      dd¦  «        | _        d| _        t          ¦   «         | _        t          |d¦  «        | _        t          j        | | j         	                    ¦   «         | j        ¦  «         d S )Nr7   r   z	.*/div/abztext.xml)
r9   r7   rc   Údictr¹   rŒ   r©   r   r#   r¢   rd   s      r   r#   zNKJPCorpus_Text_View.__init__s  sp   € Ø—J’J˜v qÑ)Ô)ˆŒ	Ø"ˆŒÝ™œˆŒå  ¨:Ñ6Ô6ˆŒåÔØ�$”-×7Ò7Ñ9Ô9¸4¼<ñ	
ô 	
ð 	
ð 	
ð 	
r   c                 ó$  — 	 |                       ¦   «          |                      | j        ¦  «        }|                      ¦   «          | j                             ¦   «          |S # t          $ r&}| j                             ¦   «          t          |‚d }~ww xY wr	   )rg   rh   ri   rl   r©   r›   rš   )r   rŸ   r¡   s      r   rJ   z!NKJPCorpus_Text_View.handle_query~  sˆ   € ð	#Ø�JŠJ‰LŒLˆLØ—’ ¤Ñ-Ô-ˆAØ�JŠJ‰LŒLˆLØŒM×2Ò2Ñ4Ô4Ð4ØˆHøÝð 	#ð 	#ð 	#ØŒM×2Ò2Ñ4Ô4Ð4Ý Ð"øøøøð	#øøøs   ‚AA Á
BÁ)!B
Â
BNc                 óÐ   — g }	 t          j        | |¦  «        }t          |¦  «        dk    rn|D ]}|                     |¦  «         ŒŒDd                     d„ |D ¦   «         ¦  «        gS )z6
        Returns text as a list of sentences.
        Tr   r”   c                 ó   — g | ]}|‘ŒS r   r   )r   rm   s     r   r    z3NKJPCorpus_Text_View.read_block.<locals>.<listcomp>•  s   € Ð/Ð/Ð/ 4˜$Ð/Ð/Ð/r   )r   rh   rj   rÁ   r,   )r   Ústreamrc   Úelt_handlerÚtxtrm   Úparts          r   rh   zNKJPCorpus_Text_View.read_block‰  s�   € ð ˆð	!Ý Ô+¨D°&Ñ9Ô9ˆDÝ�4‰yŒy˜AŠ~ˆ~ØØð !ð !�Ø—
’
˜4Ñ Ô Ð Ð ð	!ð —’Ð/Ð/¨3Ð/Ñ/Ô/Ñ0Ô0Ð1Ð1r   c                 ór   — |j         D ].}|                     d¦  «        r|                     |¦  «        c S Œ/d S )Nr»   )ÚattribÚendswithrË   )r   r‚   Úattrs      r   r®   z NKJPCorpus_Text_View.get_segm_id—  sL   € Ø”Jð 	%ð 	%ˆDØ�}Š}˜TÑ"Ô"ð %Ø—w’w˜t‘}”}Ð$Ð$Ð$ð%ð	%ð 	%r   c                 óz   — | j         t          j        u r"|j        | j        |                      |¦  «        <   |j        S r	   )r7   rA   r<   rr   r¹   r®   )r   r‚   rƒ   s      r   rŠ   zNKJPCorpus_Text_View.handle_eltœ  s6   € àŒ9Õ,Ô7Ð7Ð7Ø47´HˆDŒN˜4×+Ò+¨CÑ0Ô0Ñ1ØŒxˆr   )NN)r^   r_   r`   r¥   r<   r@   r#   rJ   rh   r®   rŠ   r   r   r   rA   rA   j  sz   € € € € € ðð ð
 €JØ€Hð	
ð 	
ð 	
ð	#ð 	#ð 	#ð2ð 2ð 2ð 2ð%ð %ð %ð
ð ð ð ð r   rA   c                   ó$   — e Zd ZdZd„ Zd„ Zd„ ZdS )r;   zm
    A stream backed corpus view specialized for use with
    ann_morphosyntax.xml files in NKJP corpus.
    c                 óØ   — |                      dd ¦  «        | _        d| _        t          |d¦  «        | _        t          j        | | j                             ¦   «         | j        ¦  «         d S )Nr8   z	.*/seg/fszann_morphosyntax.xml)r9   r8   rc   rŒ   r©   r   r#   r¢   rd   s      r   r#   zNKJPCorpus_Morph_View.__init__©  sf   € Ø—J’J˜v tÑ,Ô,ˆŒ	Ø"ˆŒÝ  Ð+AÑBÔBˆŒÝÔØ�$”-×7Ò7Ñ9Ô9¸4¼<ñ	
ô 	
ð 	
ð 	
ð 	
r   c                 óŒ  — 	 |                       ¦   «          g }	 t          j        | | j        ¦  «        }t	          |¦  «        dk    rn|D ]}|�|                     |¦  «         ŒŒK|                      ¦   «          | j                             ¦   «          |S # t          $ r&}| j                             ¦   «          t          |‚d }~ww xY wrf   )
rg   r   rh   ri   rj   rÁ   rl   r©   r›   rš   )r   rW   rm   rÖ   r¡   s        r   rJ   z"NKJPCorpus_Morph_View.handle_query±  sÔ   € ð	#Ø�JŠJ‰LŒLˆLØˆEð+Ý$Ô/°°d´lÑCÔC�Ý�t‘9”9 ’>�>ØØ ð +ð +�DØÐ'ØŸš TÑ*Ô*Ð*øð+ð �JŠJ‰LŒLˆLØŒM×2Ò2Ñ4Ô4Ð4ØˆLøÝð 	#ð 	#ð 	#ØŒM×2Ò2Ñ4Ô4Ð4Ý Ð"øøøøð	#øøøs   ‚BB Â
CÂ!B>Â>Cc                 ó‚  — d}d}d}| j         €d}|D �]#}d|                     ¦   «         v r)|j        d         dk    r|D ]}|j        dk    r|j        }ŒŒBd|                     ¦   «         v rË|j        d         dk    rº|D ]·}d|                     ¦   «         v rŸ|j        d         d	k    rŽ|D ]‹}d|                     ¦   «         v rs|j        d         d
k    rb|D ]_}	d|	                     ¦   «         v r| j         �|	j        d         | j         v rd}Œ6d|	                     ¦   «         v r|	j        d         dk    rd}Œ`ŒŒŒ¸�Œ%|r|r|S d S d S )NÚ FTr™   ÚorthÚstringÚinterpsÚtypeÚlexÚctagÚvalueÚinterp)r8   ÚkeysrØ   Útagrr   )
r   r‚   rƒ   rÄ   ÚflagÚis_not_interpÚchildÚsymbolÚsymbol2Úsymbol3s
             r   rŠ   z NKJPCorpus_Morph_View.handle_eltÃ  s¤  € ØˆØˆØˆàŒ9ÐØˆDàð 	>ñ 	>ˆEð ˜Ÿš™œÐ%Ð%¨%¬,°vÔ*>À&Ò*HÐ*HØ#ð +ð +�FØ”z XÒ-Ð-Ø%œ{˜øð+ð ˜5Ÿ:š:™<œ<Ð'Ð'¨E¬L¸Ô,@ÀIÒ,MÐ,MØ#ð >ð >�FØ §¢¡¤Ð.Ð.°6´=ÀÔ3HÈEÒ3QÐ3QØ'-ð >ð >˜Gà &¨'¯,ª,©.¬.Ð 8Ð 8Ø$+¤N°6Ô$:¸fÒ$DÐ$Dà/6ð !>ð !> Gà(/°7·<²<±>´>Ð(AÐ(AØ,0¬IÐ,AØ,3¬N¸7Ô,CÀtÄyÐ,PÐ,Pà/3¨¨à(/°7·<²<±>´>Ð(AÐ(AØ,3¬N¸7Ô,CÀxÒ,OÐ,Oà8=¨øøøùØð 	�Mð 	ØˆKð	ð 	ð 	ð 	r   N)r^   r_   r`   r¥   r#   rJ   rŠ   r   r   r   r;   r;   £  sK   € € € € € ðð ð

ð 
ð 
ð#ð #ð #ð$$ð $ð $ð $ð $r   r;   )r   r*   r—   r�   Únltk.corpus.reader.utilr   Únltk.corpus.reader.xmldocsr   r   r   r   r?   rŒ   r=   rA   r;   r   r   r   ú<module>ró      sŠ  ðð Ð Ð Ð Ø 	€	€	€	Ø 	€	€	€	Ø €€€à *Ð *Ð *Ð *Ð *Ð *Ø EÐ EÐ EÐ EÐ EÐ EÐ EÐ Eðð ð ðR
ð R
ð R
ð R
ð R
�ñ R
ô R
ð R
ðj;
ð ;
ð ;
ð ;
ð ;
˜]ñ ;
ô ;
ð ;
ð|%(ð %(ð %(ð %(ð %(ñ %(ô %(ð %(ðPLð Lð Lð Lð L =ñ Lô Lð Lð^6ð 6ð 6ð 6ð 6˜=ñ 6ô 6ð 6ðrDð Dð Dð Dð D˜Mñ Dô Dð Dð Dð Dr   