o
    sh                     @   s0   d dl Z d dlZddlmZ G dd deZdS )    N   )InputExamplec                   @   s>   e Zd ZdZdd ZdddZedd Zd	d
 Zdd Z	dS )NLIDataReaderz@Reads in the Stanford NLI dataset and the MultiGenre NLI datasetc                 C   s
   || _ d S N)dataset_folder)selfr    r   i/var/www/html/alpaca_bot/venv/lib/python3.10/site-packages/sentence_transformers/readers/NLIDataReader.py__init__
   s   
zNLIDataReader.__init__r   c              	   C   s   t jtj| jd| ddd }t jtj| jd| ddd }t jtj| jd| ddd }g }d}t|||D ].\}}	}
d||f }|d	7 }|t	|||	g| 
|
d
 d|  k rlt|krn |S  q@q@|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   r   r   r	   get_examples   s$   $$zNLIDataReader.get_examplesc                   C   s   ddddS )Nr   r      )contradiction
entailmentneutralr   r   r   r   r	   
get_labels%   s   zNLIDataReader.get_labelsc                 C   s   t |  S r   )r   r)   )r   r   r   r	   get_num_labels)   s   zNLIDataReader.get_num_labelsc                 C   s   |   |   S r   )r)   striplower)r   r   r   r   r	   r   ,   s   zNLIDataReader.map_labelN)r   )
__name__
__module____qualname____doc__r
   r$   staticmethodr)   r*   r   r   r   r   r	   r      s    

r   )r   r    r   objectr   r   r   r   r	   <module>   s    