o
    Ni                     @   sp   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Zddl	m
Z dZdZdZG d	d
 d
ejjZdS )zThe Winogrande Challenge.    )absolute_import)division)print_functionNa  @article{sakaguchi2019winogrande,
    title={WinoGrande: An Adversarial Winograd Schema Challenge at Scale},
    author={Sakaguchi, Keisuke and Bras, Ronan Le and Bhagavatula, Chandra and Choi, Yejin},
    journal={arXiv preprint arXiv:1907.10641},
    year={2019}
}
zThe  WinoGrande, a large-scale dataset of 44k problems, inspired by the original
 Winograd Schema Challenge design, but adjusted to improve both the scale and
 the hardness of the dataset.
zNhttps://storage.googleapis.com/ai2-mosaic/public/winogrande/winogrande_1.1.zipc                   @   s4   e Zd ZdZejdZdd Zdd Z	dd Z
d	S )

WinograndezThe Winogrande challenge.z1.1.0c                 C   sJ   t jj| tt jt j t j t j t jjddgddd dtdS )N12)namessentenceoption1option2labelzhttp://winogrande.allenai.org/)builderdescriptionfeaturessupervised_keyshomepagecitation)	tfdscoreDatasetInfo_DESCRIPTIONr   FeaturesDictText
ClassLabel	_CITATION)self r   W/home/ubuntu/.local/lib/python3.10/site-packages/tensorflow_datasets/text/winogrande.py_info3   s   zWinogrande._infoc                 C   s   | t}tj|d}g d}g }|D ]}|tjjt	d
|dtj|d
|id q|tjjtj	jdtj|didtjjtj	jdtj|didg S )	Nzwinogrande_1.1)xssmlxlztrain_{}filepathztrain_{}.jsonl)name
gen_kwargsz
test.jsonlz	dev.jsonl)download_and_extract	_DATA_URLospathjoinappendr   r   SplitGeneratorSplitformatTEST
VALIDATION)r   
dl_managerdl_dirdata_dir
data_sizestrain_splitssizer   r   r   _split_generatorsD   s.   
zWinogrande._split_generatorsc              
   c   sv    t jj|)}|D ]}t|}|d |d |d |d |dddfV  qW d   dS 1 s4w   Y  dS )	z:This function returns the examples in the raw (text) form.qIDr
   r   r   answerr	   N)tfiogfileGFilejsonloadsget)r   r%   frow
row_fieldsr   r   r   _generate_examples]   s   

"zWinogrande._generate_examplesN)__name__
__module____qualname____doc__r   r   VersionVERSIONr   r9   rG   r   r   r   r   r   .   s    r   )rK   
__future__r   r   r   rA   r*   
tensorflowr=   tensorflow_datasets.public_api
public_apir   r   r   r)   r   GeneratorBasedBuilderr   r   r   r   r   <module>   s   	