+
    ÖÇÜh¯  ã                   ó‚   € R t ^ RIt^ RIHt ^ RI5 ^ RI5 ^ RI5  ! R R4      t ! R R]4      t	 ! R R	]
4      tR
 tR# )a  
Read from the Senseval 2 Corpus.

SENSEVAL [http://www.senseval.org/]
Evaluation exercises for Word Sense Disambiguation.
Organized by ACL-SIGLEX [https://www.siglex.org/]

Prepared by Ted Pedersen <tpederse@umn.edu>, University of Minnesota,
https://www.d.umn.edu/~tpederse/data.html
Distributed with permission.

The NLTK version of the Senseval 2 files uses well-formed XML.
Each instance of the ambiguous words "hard", "interest", "line", and "serve"
is tagged with a sense identifier, and supplied with context.
N)ÚElementTree)Ú*c                   ó,   a € ] tR t^!t o R tR tRtV tR# )ÚSensevalInstancec                óJ   € Wn         \        V4      V n        W n        W0n        R # ©N)ÚwordÚtupleÚsensesÚpositionÚcontext)Úselfr   r   r   r
   s   &&&&&Ú=/usr/lib/python3/dist-packages/nltk/corpus/reader/senseval.pyÚ__init__ÚSensevalInstance.__init__"   s   € ØŒ	Ü˜F“mˆŒØ ŒØŽó    c           	     óx   € R V P                   : RV P                  : RV P                  : RV P                  : R2	# )zSensevalInstance(word=z, position=z
, context=z	, senses=Ú))r   r   r   r
   )r   s   &r   Ú__repr__ÚSensevalInstance.__repr__(   s(   � à�IŒIØ�MŒMØ�LŒLØ�KŒKð	
ð 	
r   )r   r   r
   r   N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r   r   Ú__static_attributes__Ú__classdictcell__©Ú__classdict__s   @r   r   r   !   s   ø‡ € ò÷
ð 
r   r   c                   ó0   a € ] tR t^1t o RR ltR tRtV tR# )ÚSensevalCorpusReaderNc           
     ó~   € \        V P                  VR 4       UUu. uF  w  r#\        W#4      NK  	  upp4      # u uppi )T)ÚconcatÚabspathsÚSensevalCorpusView)r   ÚfileidsÚfileidÚencs   &&  r   Ú	instancesÚSensevalCorpusReader.instances2   sC   € Üð &*§]¡]°7¸DÔ%Aôá%A‘M�Vô # 6Ö/Ù%Aòó
ð 	
ùós   ›9
c                ó4  € . pVP                  R 4       F{  pVP                  R4       Fc  pV^ ,          P                  R,          pV^,           Uu. uF!  qfP                  VP                  R,          3NK#  	  ppVP                  WW34       Ke  	  K}  	  V# u upi )ÚlexeltÚinstanceÚsenseidÚpos)ÚfindallÚattribÚtextÚappend)r   ÚtreeÚeltsr*   ÚinstÚsenseÚwr   s   &&      r   Ú_entryÚSensevalCorpusReader._entry:   s‚   € ØˆØ—l‘l 8Ö,ˆFØŸ™ zÖ2�Ø˜Q�Ÿ™ yÕ1�Ø>BÀ1¾gÓF¹g¸ŸF™F A§H¡H¨U¥OÓ4¹g�ÐFØ—‘˜UÐ,Ö-ó 3ñ -ð
 ˆùò Gs   Á'B© r   )r   r   r   r   r'   r7   r   r   r   s   @r   r   r   1   s   ø‡ € ô
÷ð r   r   c                   ó2   a € ] tR t^Dt o R tR tR tRtV tR# )r#   c                ór   € \         P                  WVR 7       \        4       V n        ^ .V n        R.V n        R# ))ÚencodingN)ÚStreamBackedCorpusViewr   ÚWhitespaceTokenizerÚ_word_tokenizerÚ_lexelt_startsÚ_lexelts)r   r%   r<   s   &&&r   r   ÚSensevalCorpusView.__init__E   s3   € Ü×'Ñ'¨¸xÐ'ÔHä2Ó4ˆÔØ ˜cˆÔØ˜ˆŽr   c                óø  € \         P                  V P                  VP                  4       4      ^,
          pV P                  V,          p. pRp VP                  4       pVR8X  d   V. 8X  g   Q h. # VP                  4       P                  R4      '       d³   V^,          p\        P                  ! RV4      pVf   Q hVP                  ^4      ^R	 pV\        V P                  4      8  d   W0P                  V,          8X  g   Q hMDV P                  P                  V4       V P                  P                  VP                  4       4       VP                  4       P                  R4      '       d   V. 8X  g   Q hRpV'       d   VP                  V4       VP                  4       P                  R4      '       g   EKk  RP                  V4      p\        V4      p\        P                   ! V4      p	V P#                  W“4      .# )
é   FTÚ z<lexeltzitem=("[^"]+"|'[^']+')z	<instancez
</instanceÚ
éÿÿÿÿ)ÚbisectÚbisect_rightr@   ÚtellrA   ÚreadlineÚlstripÚ
startswithÚreÚsearchÚgroupÚlenr1   ÚjoinÚ_fixXMLr   Ú
fromstringÚ_parse_instance)
r   ÚstreamÚ
lexelt_numr*   Úinstance_linesÚin_instanceÚlineÚmÚ	xml_blockr4   s
   &&        r   Ú
read_blockÚSensevalCorpusView.read_blockL   s�  € ä×(Ñ(¨×)<Ñ)<¸f¿k¹k»mÓLÈqÕPˆ
Ø—‘˜zÕ*ˆàˆØˆØØ—?‘?Ó$ˆDØ�rŒzØ%¨Ô+Ð+Ð+Ø�	ð �{‰{‹}×'Ñ'¨	×2Ò2Ø˜a•�
Ü—I’IÐ9¸4Ó@�Ø’}Ð$�}ØŸ™ › A bÐ)�Ø¤ D§M¡MÓ 2Ô2Ø!§]¡]°:Õ%>Ô>Ð>Ñ>à—M‘M×(Ñ(¨Ô0Ø×'Ñ'×.Ñ.¨v¯{©{«}Ô=ð �{‰{‹}×'Ñ'¨×4Ò4Ø%¨Ô+Ð+Ð+Ø"�÷ Ø×%Ñ% dÔ+ð �{‰{‹}×'Ñ'¨×5Õ5Ø ŸI™I nÓ5�	Ü# IÓ.�	Ü"×-Ò-¨iÓ8�Ø×,Ñ,¨TÓ:Ð;Ð;r   c                óô  € . p. pR pV EFà  pVP                   R8X  d%   VP                  VP                  R,          4       K9  VP                   R8X  Ed�   W@P                  P	                  VP
                  4      ,          pV EFK  pVP                   R8X  d
   V^ ,          pVP                   R8X  Edm   Ve   Q R4       hVP
                  P                  4       '       g   \        V4      ^8X  g   Q hVP
                  P                  4       '       d   \        V4      ^8X  d   Q h\        V4      pVP
                  P                  4       '       d,   VP                  VP
                  P                  4       4       EMV^ ,          P                   R8X  d‰   VP                  V^ ,          P
                  V^ ,          P                  R,          34       V^ ,          P                  '       d3   W@P                  P	                  V^ ,          P                  4      ,          pMvQ R	4       hVP                   R8X  d0   VP                  VP
                  VP                  R,          34       M/VP                   R
8X  d   M\        RVP                   4       Q R4       hVP                  '       g   EK   W@P                  P	                  VP                  4      ,          pEKN  	  EKË  Q RTP                   ,          4       h	  \        W%WC4      # )NÚanswerr,   r   ÚcompoundÚheadzhead specified twiceÚwfr-   zexpected CDATA or wf in <head>ÚsÚACKz expected CDATA or <wf> or <head>zunexpected tag %s)Útagr1   r/   r?   Útokenizer0   ÚstriprQ   ÚtailÚprintr   )r   r+   r*   r
   r   r   ÚchildÚcwords   &&&     r   rU   Ú"SensevalCorpusView._parse_instanceu   s.  € ØˆØˆØˆÜˆEØ�y‰y˜HÔ$Ø—‘˜eŸl™l¨9Õ5Ö6Ø—‘˜iÕ'Ø×/Ñ/×8Ñ8¸¿¹ÓDÕD�Ü"�EØ—y‘y JÔ.Ø % a¥˜à—y‘y FÕ*à'Ò/ÐGÐ1GÓGÐ/Ø$Ÿz™z×/Ñ/×1Ò1´S¸³ZÀ1´_ÐDÐDØ$)§J¡J×$4Ñ$4×$6Ò$6¼3¸u»:È¼?ÐKÐKä#& w£<˜à Ÿ:™:×+Ñ+×-Ò-Ø#ŸN™N¨5¯:©:×+;Ñ+;Ó+=Ö>Ø" 1�XŸ\™\¨TÔ1Ø#ŸN™N¨E°!­H¯M©M¸5À½8¿?¹?È5Õ;QÐ+RÔSØ$ Q�xŸ}Ÿ}˜}Ø '×+?Ñ+?×+HÑ+HÈÈqÍÏÉÓ+WÕ W øàJÐ*JÓJ 5ØŸ™ dÔ*ØŸ™¨¯
©
°E·L±LÀÕ4GÐ'HÕIØŸ™ cÔ)Øô ˜e U§Y¡YÔ/ØHÐ&HÓH˜uØ—z—z“zØ×#7Ñ#7×#@Ñ#@ÀÇÁÓ#LÕL›ô; #ð> >Ð1°E·I±IÕ=Ó=�uñI ôJ   °'ÓBÐBr   )r@   rA   r?   N)	r   r   r   r   r   r]   rU   r   r   r   s   @r   r#   r#   D   s   ø‡ € òò'<÷R)Cð )Cr   r#   c                óÖ  € \         P                  ! RRV 4      p \         P                  ! RRV 4      p \         P                  ! RRV 4      p \         P                  ! RRV 4      p \         P                  ! R	R
V 4      p \         P                  ! RRV 4      p \         P                  ! RRV 4      p \         P                  ! RRV 4      p \         P                  ! RRV 4      p \         P                  ! RRV 4      p \         P                  ! RRV 4      p \         P                  ! RRV 4      p \         P                  ! RRV 4      p \         P                  ! RRV 4      p \         P                  ! RRV 4      p V # )z2
Fix the various issues with Senseval pseudo-XML.
z	<([~\^])>z\1z(\s+)\&(\s+)z	\1&amp;\2z"""z'"'z(<[^<]*snum=)([^">]+)>z\1"\2"/>z<\&frasl>\s*<p[^>]*>ÚFRASLz
<\&I[^>]*>rE   z<{([^}]+)}>z	<(@|/?p)>z	<&\w+ \.>z<!DOCTYPE[^>]*>z<\[\/?[^>]+\]*>z
<(\&\w+;)>z&(?!amp|gt|lt|apos|quot)z'[ \t]*([^<>\s]+?)[ \t]*<p="([^"]*"?)"/>z <wf pos="\2">\1</wf>z\s*"\s*<p=\'"\'/>z <wf pos='"'>"</wf>)rN   Úsub)r0   s   &r   rS   rS   ¡   s$  € ô
 �6Š6�,  tÓ,€Dä�6Š6�/ <°Ó6€Dä�6Š6�&˜& $Ó'€Dä�6Š6Ð+¨[¸$Ó?€Dä�6Š6Ð)¨7°DÓ9€Dä�6Š6�-  TÓ*€Dä�6Š6�. %¨Ó.€Dä�6Š6�,  TÓ*€Dä�6Š6�,  TÓ*€Dä�6Š6Ð$ c¨4Ó0€Dä�6Š6Ð$ c¨4Ó0€Dä�6Š6�- ¨Ó-€Dä�6Š6Ð-¨s°DÓ9€Dä�6Š6Ø2Ð4LÈdó€Dô �6Š6Ð&Ð(?ÀÓF€DØ€Kr   )Ú__doc__rN   Ú	xml.etreer   Únltk.corpus.reader.apiÚnltk.corpus.reader.utilÚnltk.tokenizer   ÚCorpusReaderr   r=   r#   rS   r9   r   r   Ú<module>rw      sH   ðñó  
Ý !ä $Ü %Ü ÷
ñ 
ô ˜<ô ô&ZCÐ/ô ZCôz#r   