
    sg                     ~    d Z ddlZddlmZ ddlmZmZ  ej                  e      Z G d de      Z	d	e	iZ
d	d
iZd	diZy)z+XNLI utils (dataset loading and evaluation)    N   )logging   )DataProcessorInputExamplec                   *    e Zd ZdZddZd Zd Zd Zy)XnliProcessorz
    Processor for the XNLI dataset. Adapted from
    https://github.com/google-research/bert/blob/f39e881b169b9d53bea03d2d341b31707a6c052b/run_classifier.py#L207
    Nc                      || _         || _        y N)languagetrain_language)selfr   r   s      T/var/www/html/venv/lib/python3.12/site-packages/transformers/data/processors/xnli.py__init__zXnliProcessor.__init__!   s     ,    c           	         | j                   | j                  n| j                   }| j                  t        j                  j                  |d| d            }g }t        |      D ]  \  }}|dk(  rd| }|d   }|d   }	|d   dk(  rdn|d   }
t        |t              st        d	| d
      t        |	t              st        d	|	 d
      t        |
t              st        d|
 d
      |j                  t        |||	|
              |S )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_examplesz XnliProcessor.get_train_examples%   s    "119T]]t?R?Rrww||H8\]_\``d6efg ' 	`GAtAvA3<D!WF!WF'+Aw/'AOtAwEfc*/&9I JKKfc*/&9I JKKeS)/%8H IJJOOLd6&X]^_	` r   c           	         | j                  t        j                  j                  |d            }g }t	        |      D ]  \  }}|dk(  r|d   }|| j
                  k7  r!d| }|d   }|d   }	|d   }
t        |t              st        d| d      t        |	t              st        d|	 d      t        |
t              st        d	|
 d      |j                  t        |||	|

              |S )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,   r-   r   r   r   r   r   s              r   get_test_exampleszXnliProcessor.get_test_examples:   s   rww||H6NOP ' 	`GAtAvAwH4==(1#;D!WF!WFGEfc*/&9I JKKfc*/&9I JKKeS)/%8H IJJOOLd6&X]^_!	`" r   c                 
    g dS )r   )r   
entailmentneutral )r   s    r   
get_labelszXnliProcessor.get_labelsQ   s    99r   r   )__name__
__module____qualname____doc__r   r.   r2   r7   r6   r   r   r	   r	      s    
-*.:r   r	   xnliclassification)r;   r    utilsr   r   r   
get_loggerr8   loggerr	   xnli_processorsxnli_output_modesxnli_tasks_num_labelsr6   r   r   <module>rD      sa     2 	  . 
		H	%8:M 8:x M
  
 A r   