Ë
    S^(h´Z  ã                   óÐ  — d Z ddlZddlZddlmZ ddlmZ ddlmZm	Z	m
Z
 ddlmZ ddlmZmZ d	d
lmZmZmZ  e«       rddlZ ej*                  e«      ZdZ	 	 	 	 d/de
ee   df   dede	e   fd„Z e«       r:edfdej8                  j:                  dede	e   dej8                  j:                  fd„Z	 	 	 	 d/dee   dede	e   fd„Z G d„ de«      Z  G d„ de«      Z! G d„ de«      Z" G d„ de"«      Z# G d„ de«      Z$ G d„ de«      Z% G d „ d!e«      Z& G d"„ d#e«      Z' G d$„ d%e«      Z( G d&„ d'e«      Z) G d(„ d)e«      Z*d*dd*d*d	d*d*d*d*d+œ	Z+e$e"e#e!e%e&e'e(e)e*d,œ
Z,d-d-d-d-d-d.d-d-d-d-d,œ
Z-y)0zGLUE processors and helpersé    N)Úasdict)ÚEnum)ÚListÚOptionalÚUnioné   )ÚPreTrainedTokenizer)Úis_tf_availableÚloggingé   )ÚDataProcessorÚInputExampleÚInputFeaturesu  This {0} will be removed from the library soon, preprocessing should be handled with the ðŸ¤— Datasets library. You can have a look at this example script for pointers: https://github.com/huggingface/transformers/blob/main/examples/pytorch/text-classification/run_glue.pyÚexamplesztf.data.DatasetÚ	tokenizerÚ
max_lengthc                 ó  — t        j                  t        j                  d«      t        «       t        «       r@t        | t        j                  j                  «      r|€t        d«      ‚t        | |||¬«      S t        | |||||¬«      S )a=  
    Loads a data file into a list of `InputFeatures`

    Args:
        examples: List of `InputExamples` or `tf.data.Dataset` containing the examples.
        tokenizer: Instance of a tokenizer that will tokenize the examples
        max_length: Maximum example length. Defaults to the tokenizer's max_len
        task: GLUE task
        label_list: List of labels. Can be obtained from the processor using the `processor.get_labels()` method
        output_mode: String indicating the output mode. Either `regression` or `classification`

    Returns:
        If the `examples` input is a `tf.data.Dataset`, will return a `tf.data.Dataset` containing the task-specific
        features. If the input is a list of `InputExamples`, will return a list of task-specific `InputFeatures` which
        can be fed to the model.

    ÚfunctionzWWhen calling glue_convert_examples_to_features from TF, the task parameter is required.©r   Útask)r   r   Ú
label_listÚoutput_mode)ÚwarningsÚwarnÚDEPRECATION_WARNINGÚformatÚFutureWarningr
   Ú
isinstanceÚtfÚdataÚDatasetÚ
ValueErrorÚ%_tf_glue_convert_examples_to_featuresÚ"_glue_convert_examples_to_features)r   r   r   r   r   r   s         ú_/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/transformers/data/processors/glue.pyÚ!glue_convert_examples_to_featuresr&   )   st   € ô2 ‡M�MÔ%×,Ñ,¨ZÓ8¼-ÔHÜÔœZ¨´"·'±'·/±/ÔBØˆ<ÜÐvÓwÐwÜ4°X¸yÐU_ÐfjÔkÐkÜ-Ø�)¨
¸È*Ðbmôð ó    Úreturnc                 ó$  ‡
— t        |   «       }| D �cg c]"  }|j                  |j                  |«      «      ‘Œ$ } }t        | |||¬«      Š
|dk(  rt        j
                  nt        j                  }ˆ
fd„}|j                  }t        j                  j                  j                  |t        j                  |t        j                  «      |f|D �	ci c]  }	|	t	        j                  dg«      “Œ c}	t	        j                  g «      f«      S c c}w c c}	w )zb
        Returns:
            A `tf.data.Dataset` containing the task-specific features.

        r   ústs-bc               3   ó´   •K  — ‰D ]H  } t        | «      j                  «       D ��ci c]  \  }}|€Œ	||“Œ }}}|j                  d«      }||f–— ŒJ y c c}}w ­w)NÚlabel)r   ÚitemsÚpop)ÚexÚkÚvÚdr,   Úfeaturess        €r%   Úgenz2_tf_glue_convert_examples_to_features.<locals>.gen^   s\   øè ø€ Øò !�Ü&,¨R£j×&6Ñ&6Ó&8×J™d˜a ¸A¹M�Q˜‘TÐJ�ÑJØŸ™˜g›�Ø˜%�jÓ ñ!ùÛJùs   ƒ"A¥
A°Aµ#AN)Úglue_processorsÚtfds_mapÚget_example_from_tensor_dictr&   r   Úfloat32Úint64Úmodel_input_namesr    r!   Úfrom_generatorÚdictÚfromkeysÚint32ÚTensorShape)r   r   r   r   Ú	processorÚexampleÚ
label_typer4   Úinput_namesr0   r3   s             @r%   r#   r#   N   sá   ø€ ô $ DÑ)Ó+ˆ	ØgoÖpÐ\c�I×&Ñ& y×'MÑ'MÈgÓ'VÕWÐpˆÐpÜ4°X¸yÐU_ÐfjÔkˆØ#'¨7¢?”R—Z’Z¼¿¹ˆ
ô	!ð  ×1Ñ1ˆä�w‰w�‰×-Ñ-ØÜ�]‰]˜;¬¯©Ó1°:Ð>Ø1<Ö=¨Aˆa”—‘  Ó'Ñ'Ò=¼r¿~¹~ÈbÓ?QÐRó
ð 	
ùò qùò >s   “'DÃDc                 ó–  ‡‡— |€|j                   }|�`t        |   «       }|€+|j                  «       }t        j	                  d|› d|› �«       ‰€$t
        |   Št        j	                  d‰› d|› �«       t        |«      D ��ci c]  \  }}||“Œ
 c}}Šdt        dt        t        t        d f   fˆˆfd„}	| D �
cg c]
  }
 |	|
«      ‘Œ }}
 || D �
cg c]  }
|
j                  |
j                  f‘Œ c}
|dd¬	«      }g }t        t        | «      «      D ];  }|D �ci c]  }|||   |   “Œ }}t        di |¤d
||   i¤Ž}|j!                  |«       Œ= t        | d d «      D ]W  \  }}
t        j	                  d«       t        j	                  d|
j"                  › �«       t        j	                  d||   › �«       ŒY |S c c}}w c c}
w c c}
w c c}w )NzUsing label list z
 for task zUsing output mode rA   r(   c                 ó�   •— | j                   €y ‰dk(  r‰| j                      S ‰dk(  rt        | j                   «      S t        ‰«      ‚)NÚclassificationÚ
regression)r,   ÚfloatÚKeyError)rA   Ú	label_mapr   s    €€r%   Úlabel_from_examplez>_glue_convert_examples_to_features.<locals>.label_from_exampleƒ   sJ   ø€ Ø�=‰=Ð ØØÐ*Ò*Ø˜WŸ]™]Ñ+Ð+Ø˜LÒ(Ü˜Ÿ™Ó'Ð'Ü�{Ó#Ð#r'   r   T)r   ÚpaddingÚ
truncationr,   é   z*** Example ***zguid: z
features: © )Úmodel_max_lengthr5   Ú
get_labelsÚloggerÚinfoÚglue_output_modesÚ	enumerater   r   ÚintrH   Útext_aÚtext_bÚrangeÚlenr   ÚappendÚguid)r   r   r   r   r   r   r@   Úir,   rK   rA   ÚlabelsÚbatch_encodingr3   r0   ÚinputsÚfeaturerJ   s        `           @r%   r$   r$   m   så  ù€ ð ÐØ×/Ñ/ˆ
àÐÜ# DÑ)Ó+ˆ	ØÐØ"×-Ñ-Ó/ˆJÜ�K‰KÐ+¨J¨<°zÀ$ÀÐHÔIØÐÜ+¨DÑ1ˆKÜ�K‰KÐ,¨[¨M¸ÀDÀ6ÐJÔKä*3°JÓ*?×@™h˜a �˜‘Ó@€Ið$¤Lð $´U¼3ÄÀtÐ;KÑ5Lö $ð :BÖB¨gÑ  Õ)ÐB€FÐBáØ9AÖB¨gˆ'�.‰.˜'Ÿ.™.Ò	)ÒBØØØô	€Nð €HÜ”3�x“=Ó!ò !ˆØ3AÖB¨a�!�^ AÑ& qÑ)Ñ)ÐBˆÐBäÑ: &Ñ:°°q±	Ò:ˆØ�‰˜Õ ð	!ô   ¨¨! Ó-ò 0‰
ˆˆ7Ü�‰Ð%Ô&Ü�‰�f˜WŸ\™\˜NÐ+Ô,Ü�‰�j ¨!¡ Ð.Õ/ð0ð
 €OùóA Aùò Cùò 	Cùò Cs   ÂF6Â7F<ÃGÄGc                   ó   — e Zd ZdZdZy)Ú
OutputModerF   rG   N)Ú__name__Ú
__module__Ú__qualname__rF   rG   rO   r'   r%   rc   rc   ¤   s   „ Ø%€NØ�Jr'   rc   c                   óF   ‡ — e Zd ZdZˆ fd„Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
ˆ xZS )	ÚMrpcProcessorz/Processor for the MRPC data set (GLUE version).c                 ó~   •— t        ‰| �  |i |¤Ž t        j                  t        j                  d«      t        «       y ©Nr@   ©ÚsuperÚ__init__r   r   r   r   r   ©ÚselfÚargsÚkwargsÚ	__class__s      €r%   rm   zMrpcProcessor.__init__¬   ó/   ø€ Ü‰Ñ˜$Ð) &Ò)Ü�‰Ô)×0Ñ0°Ó=¼}ÕMr'   c           	      óô   — t        |d   j                  «       |d   j                  «       j                  d«      |d   j                  «       j                  d«      t        |d   j                  «       «      «      S ©úSee base class.ÚidxÚ	sentence1úutf-8Ú	sentence2r,   ©r   ÚnumpyÚdecodeÚstr©ro   Útensor_dicts     r%   r7   z*MrpcProcessor.get_example_from_tensor_dict°   ón   € äØ˜Ñ×$Ñ$Ó&Ø˜Ñ$×*Ñ*Ó,×3Ñ3°GÓ<Ø˜Ñ$×*Ñ*Ó,×3Ñ3°GÓ<Ü�˜GÑ$×*Ñ*Ó,Ó-ó	
ð 	
r'   c                 óì   — t         j                  dt        j                  j	                  |d«      › �«       | j                  | j                  t        j                  j	                  |d«      «      d«      S )rv   zLOOKING AT ú	train.tsvÚtrain)rR   rS   ÚosÚpathÚjoinÚ_create_examplesÚ	_read_tsv©ro   Údata_dirs     r%   Úget_train_examplesz MrpcProcessor.get_train_examples¹   sQ   € ä�‰�k¤"§'¡'§,¡,¨x¸Ó"EÐ!FÐGÔHØ×$Ñ$ T§^¡^´B·G±G·L±LÀÈ;Ó4WÓ%XÐZaÓbÐbr'   c                 ó€   — | j                  | j                  t        j                  j	                  |d«      «      d«      S ©rv   zdev.tsvÚdev©rˆ   r‰   r…   r†   r‡   rŠ   s     r%   Úget_dev_exampleszMrpcProcessor.get_dev_examples¾   ó.   € à×$Ñ$ T§^¡^´B·G±G·L±LÀÈ9Ó4UÓ%VÐX]Ó^Ð^r'   c                 ó€   — | j                  | j                  t        j                  j	                  |d«      «      d«      S ©rv   ztest.tsvÚtestr�   rŠ   s     r%   Úget_test_exampleszMrpcProcessor.get_test_examplesÂ   ó.   € à×$Ñ$ T§^¡^´B·G±G·L±LÀÈ:Ó4VÓ%WÐY_Ó`Ð`r'   c                 ó
   — ddgS ©rv   Ú0Ú1rO   ©ro   s    r%   rQ   zMrpcProcessor.get_labelsÆ   ó   € à�SˆzÐr'   c           	      ó²   — g }t        |«      D ]F  \  }}|dk(  rŒ|› d|› �}|d   }|d   }|dk(  rdn|d   }	|j                  t        ||||	¬«      «       ŒH |S )ú5Creates examples for the training, dev and test sets.r   ú-r   é   r•   N©r\   rW   rX   r,   ©rU   r[   r   ©
ro   ÚlinesÚset_typer   r]   Úliner\   rW   rX   r,   s
             r%   rˆ   zMrpcProcessor._create_examplesÊ   s~   € àˆÜ  Ó'ò 	`‰GˆAˆtØ�AŠvØØ�Z˜q  Ð$ˆDØ˜!‘WˆFØ˜!‘WˆFØ$¨Ò.‘D°D¸±GˆEØ�O‰OœL¨d¸6È&ÐX]Ô^Õ_ð	`ð ˆr'   ©rd   re   rf   Ú__doc__rm   r7   rŒ   r‘   r–   rQ   rˆ   Ú__classcell__©rr   s   @r%   rh   rh   ©   s-   ø„ Ù9ôNò
òcò
_òaòör'   rh   c                   óF   ‡ — e Zd ZdZˆ fd„Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
ˆ xZS )	ÚMnliProcessorz3Processor for the MultiNLI data set (GLUE version).c                 ó~   •— t        ‰| �  |i |¤Ž t        j                  t        j                  d«      t        «       y rj   rk   rn   s      €r%   rm   zMnliProcessor.__init__Û   rs   r'   c           	      óô   — t        |d   j                  «       |d   j                  «       j                  d«      |d   j                  «       j                  d«      t        |d   j                  «       «      «      S )rv   rw   Úpremisery   Ú
hypothesisr,   r{   r   s     r%   r7   z*MnliProcessor.get_example_from_tensor_dictß   sn   € äØ˜Ñ×$Ñ$Ó&Ø˜	Ñ"×(Ñ(Ó*×1Ñ1°'Ó:Ø˜Ñ%×+Ñ+Ó-×4Ñ4°WÓ=Ü�˜GÑ$×*Ñ*Ó,Ó-ó	
ð 	
r'   c                 ó€   — | j                  | j                  t        j                  j	                  |d«      «      d«      S ©rv   rƒ   r„   r�   rŠ   s     r%   rŒ   z MnliProcessor.get_train_examplesè   ó.   € à×$Ñ$ T§^¡^´B·G±G·L±LÀÈ;Ó4WÓ%XÐZaÓbÐbr'   c                 ó€   — | j                  | j                  t        j                  j	                  |d«      «      d«      S )rv   zdev_matched.tsvÚdev_matchedr�   rŠ   s     r%   r‘   zMnliProcessor.get_dev_examplesì   s/   € à×$Ñ$ T§^¡^´B·G±G·L±LÀÐK\Ó4]Ó%^Ð`mÓnÐnr'   c                 ó€   — | j                  | j                  t        j                  j	                  |d«      «      d«      S )rv   ztest_matched.tsvÚtest_matchedr�   rŠ   s     r%   r–   zMnliProcessor.get_test_examplesð   s/   € à×$Ñ$ T§^¡^´B·G±G·L±LÀÐK]Ó4^Ó%_ÐaoÓpÐpr'   c                 ó
   — g d¢S )rv   )ÚcontradictionÚ
entailmentÚneutralrO   rœ   s    r%   rQ   zMnliProcessor.get_labelsô   s   € â9Ð9r'   c           	      óÐ   — g }t        |«      D ]U  \  }}|dk(  rŒ|› d|d   › �}|d   }|d   }|j                  d«      rdn|d   }	|j                  t        ||||	¬«      «       ŒW |S )	rŸ   r   r    é   é	   r•   Néÿÿÿÿr¢   )rU   Ú
startswithr[   r   r¤   s
             r%   rˆ   zMnliProcessor._create_examplesø   sˆ   € àˆÜ  Ó'ò 	`‰GˆAˆtØ�AŠvØØ�Z˜q  a¡ 	Ð*ˆDØ˜!‘WˆFØ˜!‘WˆFØ$×/Ñ/°Ô7‘D¸TÀ"¹XˆEØ�O‰OœL¨d¸6È&ÐX]Ô^Õ_ð	`ð ˆr'   r¨   r«   s   @r%   r­   r­   Ø   s-   ø„ Ù=ôNò
òcòoòqò:ör'   r­   c                   ó.   ‡ — e Zd ZdZˆ fd„Zd„ Zd„ Zˆ xZS )ÚMnliMismatchedProcessorz>Processor for the MultiNLI Mismatched data set (GLUE version).c                 ó~   •— t        ‰| �  |i |¤Ž t        j                  t        j                  d«      t        «       y rj   rk   rn   s      €r%   rm   z MnliMismatchedProcessor.__init__	  rs   r'   c                 ó€   — | j                  | j                  t        j                  j	                  |d«      «      d«      S )rv   zdev_mismatched.tsvÚdev_mismatchedr�   rŠ   s     r%   r‘   z(MnliMismatchedProcessor.get_dev_examples  s/   € à×$Ñ$ T§^¡^´B·G±G·L±LÀÐK_Ó4`Ó%aÐcsÓtÐtr'   c                 ó€   — | j                  | j                  t        j                  j	                  |d«      «      d«      S )rv   ztest_mismatched.tsvÚtest_mismatchedr�   rŠ   s     r%   r–   z)MnliMismatchedProcessor.get_test_examples  s/   € à×$Ñ$ T§^¡^´B·G±G·L±LÀÐK`Ó4aÓ%bÐduÓvÐvr'   )rd   re   rf   r©   rm   r‘   r–   rª   r«   s   @r%   rÃ   rÃ     s   ø„ ÙHôNòuöwr'   rÃ   c                   óF   ‡ — e Zd ZdZˆ fd„Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
ˆ xZS )	ÚColaProcessorz/Processor for the CoLA data set (GLUE version).c                 ó~   •— t        ‰| �  |i |¤Ž t        j                  t        j                  d«      t        «       y rj   rk   rn   s      €r%   rm   zColaProcessor.__init__  rs   r'   c           	      ó´   — t        |d   j                  «       |d   j                  «       j                  d«      dt        |d   j                  «       «      «      S ©rv   rw   Úsentencery   Nr,   r{   r   s     r%   r7   z*ColaProcessor.get_example_from_tensor_dict  óU   € äØ˜Ñ×$Ñ$Ó&Ø˜
Ñ#×)Ñ)Ó+×2Ñ2°7Ó;ØÜ�˜GÑ$×*Ñ*Ó,Ó-ó	
ð 	
r'   c                 ó€   — | j                  | j                  t        j                  j	                  |d«      «      d«      S r³   r�   rŠ   s     r%   rŒ   z ColaProcessor.get_train_examples&  r´   r'   c                 ó€   — | j                  | j                  t        j                  j	                  |d«      «      d«      S rŽ   r�   rŠ   s     r%   r‘   zColaProcessor.get_dev_examples*  r’   r'   c                 ó€   — | j                  | j                  t        j                  j	                  |d«      «      d«      S r”   r�   rŠ   s     r%   r–   zColaProcessor.get_test_examples.  r—   r'   c                 ó
   — ddgS r™   rO   rœ   s    r%   rQ   zColaProcessor.get_labels2  r�   r'   c           	      óº   — |dk(  }|r|dd }|rdnd}g }t        |«      D ]8  \  }}|› d|› �}||   }	|rdn|d   }
|j                  t        ||	d|
¬«      «       Œ: |S )rŸ   r•   r   Nr   r    r¢   r£   )ro   r¥   r¦   Ú	test_modeÚ
text_indexr   r]   r§   r\   rW   r,   s              r%   rˆ   zColaProcessor._create_examples6  sˆ   € à Ñ&ˆ	ÙØ˜!˜"�IˆEÙ#‘Q¨ˆ
ØˆÜ  Ó'ò 	^‰GˆAˆtØ�Z˜q  Ð$ˆDØ˜*Ñ%ˆFÙ%‘D¨4°©7ˆEØ�O‰OœL¨d¸6È$ÐV[Ô\Õ]ð		^ð
 ˆr'   r¨   r«   s   @r%   rÊ   rÊ     s-   ø„ Ù9ôNò
òcò_òaòör'   rÊ   c                   óF   ‡ — e Zd ZdZˆ fd„Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
ˆ xZS )	ÚSst2Processorz0Processor for the SST-2 data set (GLUE version).c                 ó~   •— t        ‰| �  |i |¤Ž t        j                  t        j                  d«      t        «       y rj   rk   rn   s      €r%   rm   zSst2Processor.__init__H  rs   r'   c           	      ó´   — t        |d   j                  «       |d   j                  «       j                  d«      dt        |d   j                  «       «      «      S rÍ   r{   r   s     r%   r7   z*Sst2Processor.get_example_from_tensor_dictL  rÏ   r'   c                 ó€   — | j                  | j                  t        j                  j	                  |d«      «      d«      S r³   r�   rŠ   s     r%   rŒ   z Sst2Processor.get_train_examplesU  r´   r'   c                 ó€   — | j                  | j                  t        j                  j	                  |d«      «      d«      S rŽ   r�   rŠ   s     r%   r‘   zSst2Processor.get_dev_examplesY  r’   r'   c                 ó€   — | j                  | j                  t        j                  j	                  |d«      «      d«      S r”   r�   rŠ   s     r%   r–   zSst2Processor.get_test_examples]  r—   r'   c                 ó
   — ddgS r™   rO   rœ   s    r%   rQ   zSst2Processor.get_labelsa  r�   r'   c           	      óº   — g }|dk(  rdnd}t        |«      D ]A  \  }}|dk(  rŒ|› d|› �}||   }|dk(  rdn|d   }	|j                  t        ||d|	¬«      «       ŒC |S )rŸ   r•   r   r   r    Nr¢   r£   )
ro   r¥   r¦   r   rÖ   r]   r§   r\   rW   r,   s
             r%   rˆ   zSst2Processor._create_examplese  s„   € àˆØ" fÒ,‘Q°!ˆ
Ü  Ó'ò 	^‰GˆAˆtØ�AŠvØØ�Z˜q  Ð$ˆDØ˜*Ñ%ˆFØ$¨Ò.‘D°D¸±GˆEØ�O‰OœL¨d¸6È$ÐV[Ô\Õ]ð	^ð ˆr'   r¨   r«   s   @r%   rØ   rØ   E  s-   ø„ Ù:ôNò
òcò_òaòör'   rØ   c                   óF   ‡ — e Zd ZdZˆ fd„Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
ˆ xZS )	ÚStsbProcessorz0Processor for the STS-B data set (GLUE version).c                 ó~   •— t        ‰| �  |i |¤Ž t        j                  t        j                  d«      t        «       y rj   rk   rn   s      €r%   rm   zStsbProcessor.__init__v  rs   r'   c           	      óô   — t        |d   j                  «       |d   j                  «       j                  d«      |d   j                  «       j                  d«      t        |d   j                  «       «      «      S ru   r{   r   s     r%   r7   z*StsbProcessor.get_example_from_tensor_dictz  r�   r'   c                 ó€   — | j                  | j                  t        j                  j	                  |d«      «      d«      S r³   r�   rŠ   s     r%   rŒ   z StsbProcessor.get_train_examplesƒ  r´   r'   c                 ó€   — | j                  | j                  t        j                  j	                  |d«      «      d«      S rŽ   r�   rŠ   s     r%   r‘   zStsbProcessor.get_dev_examples‡  r’   r'   c                 ó€   — | j                  | j                  t        j                  j	                  |d«      «      d«      S r”   r�   rŠ   s     r%   r–   zStsbProcessor.get_test_examples‹  r—   r'   c                 ó   — dgS )rv   NrO   rœ   s    r%   rQ   zStsbProcessor.get_labels�  s	   € àˆvˆr'   c           	      ó¸   — g }t        |«      D ]I  \  }}|dk(  rŒ|› d|d   › �}|d   }|d   }|dk(  rdn|d   }	|j                  t        ||||	¬«      «       ŒK |S )	rŸ   r   r    é   r¾   r•   NrÀ   r¢   r£   r¤   s
             r%   rˆ   zStsbProcessor._create_examples“  ó‚   € àˆÜ  Ó'ò 	`‰GˆAˆtØ�AŠvØØ�Z˜q  a¡ 	Ð*ˆDØ˜!‘WˆFØ˜!‘WˆFØ$¨Ò.‘D°D¸±HˆEØ�O‰OœL¨d¸6È&ÐX]Ô^Õ_ð	`ð ˆr'   r¨   r«   s   @r%   rá   rá   s  s-   ø„ Ù:ôNò
òcò_òaòör'   rá   c                   óF   ‡ — e Zd ZdZˆ fd„Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
ˆ xZS )	ÚQqpProcessorz.Processor for the QQP data set (GLUE version).c                 ó~   •— t        ‰| �  |i |¤Ž t        j                  t        j                  d«      t        «       y rj   rk   rn   s      €r%   rm   zQqpProcessor.__init__¤  rs   r'   c           	      óô   — t        |d   j                  «       |d   j                  «       j                  d«      |d   j                  «       j                  d«      t        |d   j                  «       «      «      S )rv   rw   Ú	question1ry   Ú	question2r,   r{   r   s     r%   r7   z)QqpProcessor.get_example_from_tensor_dict¨  r�   r'   c                 ó€   — | j                  | j                  t        j                  j	                  |d«      «      d«      S r³   r�   rŠ   s     r%   rŒ   zQqpProcessor.get_train_examples±  r´   r'   c                 ó€   — | j                  | j                  t        j                  j	                  |d«      «      d«      S rŽ   r�   rŠ   s     r%   r‘   zQqpProcessor.get_dev_examplesµ  r’   r'   c                 ó€   — | j                  | j                  t        j                  j	                  |d«      «      d«      S r”   r�   rŠ   s     r%   r–   zQqpProcessor.get_test_examples¹  r—   r'   c                 ó
   — ddgS r™   rO   rœ   s    r%   rQ   zQqpProcessor.get_labels½  r�   r'   c           	      óô   — |dk(  }|rdnd}|rdnd}g }t        |«      D ]G  \  }}|dk(  rŒ|› d|d   › �}		 ||   }
||   }|rdn|d	   }|j                  t        |	|
||¬
«      «       ŒI |S # t        $ r Y ŒWw xY w)rŸ   r•   r   r   é   r¡   r   r    NrN   r¢   )rU   Ú
IndexErrorr[   r   )ro   r¥   r¦   rÕ   Úq1_indexÚq2_indexr   r]   r§   r\   rW   rX   r,   s                r%   rˆ   zQqpProcessor._create_examplesÁ  s´   € à Ñ&ˆ	Ù!‘1 qˆÙ!‘1 qˆØˆÜ  Ó'ò 
	`‰GˆAˆtØ�AŠvØØ�Z˜q  a¡ 	Ð*ˆDðØ˜h™�Ø˜h™�Ù )™¨t°A©w�ð �O‰OœL¨d¸6È&ÐX]Ô^Õ_ð
	`ð ˆøô ò Ùðús   ¶A+Á+	A7Á6A7r¨   r«   s   @r%   rì   rì   ¡  s-   ø„ Ù8ôNò
òcò_òaòör'   rì   c                   óF   ‡ — e Zd ZdZˆ fd„Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
ˆ xZS )	ÚQnliProcessorz/Processor for the QNLI data set (GLUE version).c                 ó~   •— t        ‰| �  |i |¤Ž t        j                  t        j                  d«      t        «       y rj   rk   rn   s      €r%   rm   zQnliProcessor.__init__Ø  rs   r'   c           	      óô   — t        |d   j                  «       |d   j                  «       j                  d«      |d   j                  «       j                  d«      t        |d   j                  «       «      «      S )rv   rw   Úquestionry   rÎ   r,   r{   r   s     r%   r7   z*QnliProcessor.get_example_from_tensor_dictÜ  sn   € äØ˜Ñ×$Ñ$Ó&Ø˜
Ñ#×)Ñ)Ó+×2Ñ2°7Ó;Ø˜
Ñ#×)Ñ)Ó+×2Ñ2°7Ó;Ü�˜GÑ$×*Ñ*Ó,Ó-ó	
ð 	
r'   c                 ó€   — | j                  | j                  t        j                  j	                  |d«      «      d«      S r³   r�   rŠ   s     r%   rŒ   z QnliProcessor.get_train_exampleså  r´   r'   c                 ó€   — | j                  | j                  t        j                  j	                  |d«      «      d«      S rŽ   r�   rŠ   s     r%   r‘   zQnliProcessor.get_dev_examplesé  r’   r'   c                 ó€   — | j                  | j                  t        j                  j	                  |d«      «      d«      S r”   r�   rŠ   s     r%   r–   zQnliProcessor.get_test_examplesí  r—   r'   c                 ó
   — ddgS ©rv   r»   Únot_entailmentrO   rœ   s    r%   rQ   zQnliProcessor.get_labelsñ  ó   € àÐ.Ð/Ð/r'   c           	      ó¸   — g }t        |«      D ]I  \  }}|dk(  rŒ|› d|d   › �}|d   }|d   }|dk(  rdn|d   }	|j                  t        ||||	¬«      «       ŒK |S ©	rŸ   r   r    r   rö   r•   NrÀ   r¢   r£   r¤   s
             r%   rˆ   zQnliProcessor._create_examplesõ  rê   r'   r¨   r«   s   @r%   rû   rû   Õ  s-   ø„ Ù9ôNò
òcò_òaò0ör'   rû   c                   óF   ‡ — e Zd ZdZˆ fd„Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
ˆ xZS )	ÚRteProcessorz.Processor for the RTE data set (GLUE version).c                 ó~   •— t        ‰| �  |i |¤Ž t        j                  t        j                  d«      t        «       y rj   rk   rn   s      €r%   rm   zRteProcessor.__init__  rs   r'   c           	      óô   — t        |d   j                  «       |d   j                  «       j                  d«      |d   j                  «       j                  d«      t        |d   j                  «       «      «      S ru   r{   r   s     r%   r7   z)RteProcessor.get_example_from_tensor_dict
  r�   r'   c                 ó€   — | j                  | j                  t        j                  j	                  |d«      «      d«      S r³   r�   rŠ   s     r%   rŒ   zRteProcessor.get_train_examples  r´   r'   c                 ó€   — | j                  | j                  t        j                  j	                  |d«      «      d«      S rŽ   r�   rŠ   s     r%   r‘   zRteProcessor.get_dev_examples  r’   r'   c                 ó€   — | j                  | j                  t        j                  j	                  |d«      «      d«      S r”   r�   rŠ   s     r%   r–   zRteProcessor.get_test_examples  r—   r'   c                 ó
   — ddgS r  rO   rœ   s    r%   rQ   zRteProcessor.get_labels  r  r'   c           	      ó¸   — g }t        |«      D ]I  \  }}|dk(  rŒ|› d|d   › �}|d   }|d   }|dk(  rdn|d   }	|j                  t        ||||	¬«      «       ŒK |S r  r£   r¤   s
             r%   rˆ   zRteProcessor._create_examples#  rê   r'   r¨   r«   s   @r%   r	  r	    s-   ø„ Ù8ôNò
òcò_òaò0ör'   r	  c                   óF   ‡ — e Zd ZdZˆ fd„Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
ˆ xZS )	ÚWnliProcessorz/Processor for the WNLI data set (GLUE version).c                 ó~   •— t        ‰| �  |i |¤Ž t        j                  t        j                  d«      t        «       y rj   rk   rn   s      €r%   rm   zWnliProcessor.__init__4  rs   r'   c           	      óô   — t        |d   j                  «       |d   j                  «       j                  d«      |d   j                  «       j                  d«      t        |d   j                  «       «      «      S ru   r{   r   s     r%   r7   z*WnliProcessor.get_example_from_tensor_dict8  r�   r'   c                 ó€   — | j                  | j                  t        j                  j	                  |d«      «      d«      S r³   r�   rŠ   s     r%   rŒ   z WnliProcessor.get_train_examplesA  r´   r'   c                 ó€   — | j                  | j                  t        j                  j	                  |d«      «      d«      S rŽ   r�   rŠ   s     r%   r‘   zWnliProcessor.get_dev_examplesE  r’   r'   c                 ó€   — | j                  | j                  t        j                  j	                  |d«      «      d«      S r”   r�   rŠ   s     r%   r–   zWnliProcessor.get_test_examplesI  r—   r'   c                 ó
   — ddgS r™   rO   rœ   s    r%   rQ   zWnliProcessor.get_labelsM  r�   r'   c           	      ó¸   — g }t        |«      D ]I  \  }}|dk(  rŒ|› d|d   › �}|d   }|d   }|dk(  rdn|d   }	|j                  t        ||||	¬«      «       ŒK |S r  r£   r¤   s
             r%   rˆ   zWnliProcessor._create_examplesQ  rê   r'   r¨   r«   s   @r%   r  r  1  s-   ø„ Ù9ôNò
òcò_òaòör'   r  rö   )	ÚcolaÚmnliÚmrpcússt-2r*   ÚqqpÚqnliÚrteÚwnli)
r  r  zmnli-mmr  r  r*   r  r  r   r!  rF   rG   )NNNN).r©   r…   r   Údataclassesr   Úenumr   Útypingr   r   r   Útokenization_utilsr	   Úutilsr
   r   r   r   r   Ú
tensorflowr   Ú
get_loggerrd   rR   r   rV   r&   r~   r    r!   r#   r$   rc   rh   r­   rÃ   rÊ   rØ   rá   rì   rû   r	  r  Úglue_tasks_num_labelsr5   rT   rO   r'   r%   ú<module>r*     s  ðñ  "ã 	Û Ý Ý ß (Ñ (å 5ß -ß =Ñ =ñ ÔÛà	ˆ×	Ñ	˜HÓ	%€ðmð ð !%Ø	ØØñ Ø�D˜Ñ&Ð(9Ð9Ñ:ð à"ð ð ˜‘ó ñF Ôð
 Ø$(ñ	
Ø—'‘'—/‘/ð
à&ð
ð ˜S‘Mð	
ð
 
�‰�‰ó
ðD !%Ø	ØØñ4Ø�<Ñ ð4à"ð4ð ˜‘ó4ôn�ô ô
,�Mô ,ô^+�Mô +ô\w˜mô wô ,�Mô ,ô^+�Mô +ô\+�Mô +ô\1�=ô 1ôh+�Mô +ô\+�=ô +ô\+�Mô +ð^ ØØØØØØØØñ
Ð ð ØØ&ØØØØØØØñ€ð ØØØØØØØØØñÑ r'   