
    eTh                     ~    S r SSKrSSKJr  SSKJrJr  \R                  " \5      r " S S\5      r	S	\	0r
S	S
0rS	S0rg)z+XNLI utils (dataset loading and evaluation)    N   )logging   )DataProcessorInputExamplec                   4    \ rS rSrSrS	S jrS rS rS rSr	g)
XnliProcessor   z
Processor for the XNLI dataset. Adapted from
https://github.com/google-research/bert/blob/f39e881b169b9d53bea03d2d341b31707a6c052b/run_classifier.py#L207
Nc                     Xl         X l        g Nlanguagetrain_language)selfr   r   s      Y/var/www/auris/envauris/lib/python3.13/site-packages/transformers/data/processors/xnli.py__init__XnliProcessor.__init__!   s     ,    c           
      :   U R                   c  U R                  OU R                   nU R                  [        R                  R                  USU S35      5      n/ n[        U5       H  u  pVUS:X  a  M  SU 3nUS   nUS   n	US   S:X  a  SOUS   n
[        U[        5      (       d  [        S	U S
35      e[        U	[        5      (       d  [        S	U	 S
35      e[        U
[        5      (       d  [        SU
 S
35      eUR                  [        XxXS95        M     U$ )See base class.z$XNLI-MT-1.0/multinli/multinli.train.z.tsvr   ztrain-r      contradictorycontradictionTraining input  is not a stringTraining label guidtext_atext_blabel)r   r   	_read_tsvospathjoin	enumerate
isinstancestr	TypeErrorappendr   )r   data_dirlglinesexamplesiliner   r   r    r!   s              r   get_train_examples XnliProcessor.get_train_examples%   s   "119T]]t?R?Rrww||H8\]_\``d6efg 'GAAvA3<D!WF!WF'+Aw/'AOtAwEfc**/&9I JKKfc**/&9I JKKeS))/%8H IJJOOLd&^_ ( r   c           
         U R                  [        R                  R                  US5      5      n/ n[	        U5       H  u  pEUS:X  a  M  US   nX`R
                  :w  a  M#  SU 3nUS   nUS   n	US   n
[        U[        5      (       d  [        SU S35      e[        U	[        5      (       d  [        SU	 S35      e[        U
[        5      (       d  [        S	U
 S35      eUR                  [        XxXS
95        M     U$ )r   zXNLI-1.0/xnli.test.tsvr   ztest-      r   r   r   r   r   )r"   r#   r$   r%   r&   r   r'   r(   r)   r*   r   )r   r+   r-   r.   r/   r0   r   r   r   r    r!   s              r   get_test_examplesXnliProcessor.get_test_examples:   s    rww||H6NOP 'GAAvAwH==(1#;D!WF!WFGEfc**/&9I JKKfc**/&9I JKKeS))/%8H IJJOOLd&^_! (" r   c                 
    / SQ$ )r   )r   
entailmentneutral )r   s    r   
get_labelsXnliProcessor.get_labelsQ   s    99r   r   r   )
__name__
__module____qualname____firstlineno____doc__r   r1   r6   r<   __static_attributes__r;   r   r   r	   r	      s    
-*.:r   r	   xnliclassification)rB   r#   utilsr   r   r   
get_loggerr>   loggerr	   xnli_processorsxnli_output_modesxnli_tasks_num_labelsr;   r   r   <module>rL      s_     2 	  . 
		H	%8:M 8:x M
  
 A r   