
    Ng                    H    d dl mZ d dlZd dlZddlmZ  G d d          ZdS )    )annotationsN   )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     g/var/www/html/ai-engine/env/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   r0   )r   s    r   get_num_labelszNLIDataReader.get_num_labels+   s    4??$$%%%r   c                ~    |                                  |                                                                         S r	   )r0   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)   staticmethodr0   r2   r   r/   r   r   r   r   	   sy        JJ- - -   0 C C \C& & &8 8 8 8 8r   r   )
__future__r   r   r    r   r   r/   r   r   <module>r=      sm    " " " " " "  				      &8 &8 &8 &8 &8 &8 &8 &8 &8 &8r   