o
    Ni                     @   s   d Z ddlmZ ddlmZ ddlmZ ddlZddlZddlm  m	Z
 ddlmZ dZdZdZd	Zejd
ZG dd dejjZG dd dejjZdS )z)Commonsense Explanations (CoS-E) Dataset.    )absolute_import)division)print_functionNaN  
@inproceedings{Nie2019AdversarialNA,
    title = "Adversarial NLI: A New Benchmark for Natural Language Understanding",
    author = "Nie, Yixin and
      Williams, Adina and
      Dinan, Emily  and
      Bansal, Mohit and
      Weston, Jason and
      Kiela, Douwe",
      year="2019",
    url ="https://arxiv.org/abs/1910.14599"
}
z
Adversarial NLI (ANLI) is a large-scale NLI benchmark dataset, collected via an
iterative, adversarial human-and-model-in-the-loop procedure.
z1https://dl.fbaipublicfiles.com/anli/anli_v0.1.zipz	anli_v0.1z0.1.0c                       s*   e Zd ZdZejjd fdd	Z  ZS )
AnliConfigzBuilderConfig for Anli.Nc                    s$   t t| jddti| || _dS )zBuilderConfig for Anli.

    Args:
      round_dir: str. The directory for the Anli round to read.
      **kwargs: keyword arguments forwarded to super.
    versionN )superr   __init__VERSION	round_dir)selfr   kwargs	__class__r   Q/home/ubuntu/.local/lib/python3.10/site-packages/tensorflow_datasets/text/anli.pyr	   :   s   
zAnliConfig.__init__)N)	__name__
__module____qualname____doc__tfdscoredisallow_positional_argsr	   __classcell__r   r   r   r   r   7   s    r   c                   @   sP   e Zd ZdZeddddedddded	d
ddgZdd Zdd Zdd ZdS )AnlizANLI: Adversarial NLI corpus.r1z	Round OneR1)namedescriptionr   r2z	Round TwoR2r3zRound ThreeR3c                 C   sJ   t jj| tt jt j t j t j t jjg dddd dtdS )N)enc)namesuidcontext
hypothesislabelz(https://github.com/facebookresearch/anli)builderr   featuressupervised_keyshomepagecitation)	r   r   DatasetInfo_DESCRIPTIONr,   FeaturesDictText
ClassLabel	_CITATION)r   r   r   r   _info]   s   z
Anli._infoc                 C   s   | t}tjjtjjdtj	|t
| jjdidtjjtjjdtj	|t
| jjdidtjjtjjdtj	|t
| jjdidgS )zReturns SplitGenerators.filepathz
test.jsonl)r   
gen_kwargsz	dev.jsonlztrain.jsonl)download_and_extract	_ANLI_URLr   r   SplitGeneratorSplitTESTospathjoinEXTRACT_PATH_TOKEN_builder_configr   
VALIDATIONTRAIN)r   
dl_managerdl_dirr   r   r   _split_generatorsl   s2   



zAnli._split_generatorsc                 c   sr    t jj|'}|D ]}t|}|d |d |d |d |d dfV  qW d   dS 1 s2w   Y  dS )zYields examples.r'   r(   r)   r*   r&   N)tfiogfileGFilejsonloads)r   r7   flineelementr   r   r   _generate_examples   s   
"zAnli._generate_examplesN)	r   r   r   r   r   BUILDER_CONFIGSr6   rG   rQ   r   r   r   r   r   H   s*    r   )r   
__future__r   r   r   rL   r>   tensorflow.compat.v2compatv2rH   tensorflow_datasets.public_api
public_apir   r5   r1   r:   rA   r   Versionr
   BuilderConfigr   GeneratorBasedBuilderr   r   r   r   r   <module>   s   