
    si                     >    d dl Z d dlZddlmZ  G d de          ZdS )    N   )InputExamplec                   B    e Zd ZdZd Zd	dZed             Zd Zd Z	dS )
NLIDataReaderz@Reads in the Stanford NLI dataset and the MultiGenre NLI datasetc                     || _         d S N)dataset_folder)selfr	   s     ^/var/www/icac/venv/lib/python3.11/site-packages/sentence_transformers/readers/NLIDataReader.py__init__zNLIDataReader.__init__
   s    ,    r   c           
         t          j        t          j                            | j        d|z             dd                                          }t          j        t          j                            | j        d|z             dd                                          }t          j        t          j                            | j        d|z             dd                                          }g }d}t          |||          D ]k\  }}	}
d||fz  }|d	z  }|                    t          |||	g| 
                    |
          
                     d|cxk     rt          |          k    rn i nl|S )a  
        data_splits specified which data split to use (train, dev, test).
        Expects that self.dataset_folder contains the files s1.$data_split.gz,  s2.$data_split.gz,
        labels.$data_split.gz, e.g., for the train split, s1.train.gz, s2.train.gz, labels.train.gz
        zs1.rtzutf-8)modeencodingzs2.zlabels.r   z%s-%dr   )guidtextslabel)gzipopenospathjoinr	   	readlineszipappendr   	map_labellen)r
   filenamemax_exampless1s2labelsexamplesid
sentence_a
sentence_br   r   s               r   get_exampleszNLIDataReader.get_examples   sr    Yrw||D$79IJJQU`ghhhrrttYrw||D$79IJJQU`ghhhrrttGLL,i(.BCC$Y`
 
 

)++ 	 -0R-@-@ 	 	)J
Eh^+D!GBOOLd:z:RZ^ZhZhinZoZopppqqq<00003x==00000 1 r   c                      ddddS )Nr   r      )contradiction
entailmentneutral r.   r   r   
get_labelszNLIDataReader.get_labels%   s    !"!BBBr   c                 D    t          |                                           S r   )r   r/   )r
   s    r   get_num_labelszNLIDataReader.get_num_labels)   s    4??$$%%%r   c                 ~    |                                  |                                                                         S r   )r/   striplower)r
   r   s     r   r   zNLIDataReader.map_label,   s+      !4!4!6!677r   N)r   )
__name__
__module____qualname____doc__r   r(   staticmethodr/   r1   r   r.   r   r   r   r      sy        JJ- - -   0 C C \C& & &8 8 8 8 8r   r   )r   r    r   objectr   r.   r   r   <module>r<      s]     				      &8 &8 &8 &8 &8F &8 &8 &8 &8 &8r   