region:us
---
dataset_info:
  features:
  - name: premise
    dtype: string
  - name: hypothesis
    dtype: string
  - name: label
    dtype:
      class_label:
        names:
          '0': entailment
          '1': neutral
          '2': contradiction
  splits:
  - name: train
    num_bytes: 101417430
    num_examples: 392702
  - name: test
    num_bytes: 1190217
    num_examples: 5010
  - name: validation
    num_bytes: 590680
    num_examples: 2490
  download_size: 57688285
  dataset_size: 103198327
---
# XNLI

- Source: https://huggingface.co/datasets/xnli
- Num examples: 
  - 392,702 (train)
  - 2,490 (validation)
  - 5,010 (test)
- Language: Vietnamese

```python
from datasets import load_dataset

load_dataset("tdtunlp/xnli_vi")
```

- Format for NLI task

```python
import random

def preprocess(
    sample,
    sep_key="<|endofprompt|>",
    end_key="<|endoftext|>",
):
    premise = sample['premise']
    hypothesis = sample['hypothesis']
    label = sample['label']

    template_idx = random.randint(0, 3)
    if template_idx == 0:
        answer_choices = ["Đúng", "Không kết luận", "Sai"]
        return {'text': """Hãy coi những điều sau đây là sự thật: "{premise}"
Vậy phát biểu sau đây: "{hypothesis}" là Đúng hay Sai, hay Không kết luận?
{sep_key}
{label}
{end_key}""".format(
        premise=premise,
        hypothesis=hypothesis,
        sep_key=sep_key,
        label=answer_choices[label],
        end_key=end_key,
    )}
    elif template_idx == 1:
        answer_choices = ["Đúng", "Không kết luận", "Sai"]
        return {'text': """{premise}
Câu hỏi: Điều này có nghĩa là "{hypothesis}"? Đúng hay Sai, hay Không kết luận?
{sep_key}
{label}
{end_key}""".format(
        premise=premise,
        hypothesis=hypothesis,
        sep_key=sep_key,
        label=answer_choices[label],
        end_key=end_key,
    )}
    elif template_idx == 2:
        answer_choices = ["Đúng", "Không kết luận", "Sai"]
        return {'text': """{premise}
Câu hỏi: {hypothesis} là Đúng hay Sai, hay Không kết luận?
{sep_key}
{label}
{end_key}""".format(
        premise=premise,
        hypothesis=hypothesis,
        sep_key=sep_key,
        label=answer_choices[label],
        end_key=end_key,
    )}
    elif template_idx == 3:
        answer_choices = ["Yes", "Maybe", "No"]
        return {'text': """Cho rằng {premise}, nó có tuân theo giả thiết {hypothesis} không? Trả lời Có hay Không, hay Có thể.
{sep_key}
{label}
{end_key}""".format(
        premise=premise,
        hypothesis=hypothesis,
        sep_key=sep_key,
        label=answer_choices[label],
        end_key=end_key,
    )}

"""
Cho rằng Bạn biết trong mùa giải và tôi đoán ở mức độ của bạn , bạn sẽ mất chúng đến mức độ tiếp theo nếu họ quyết định nhớ lại đội ngũ cha mẹ các chiến binh quyết định gọi để nhớ lại một người từ ba a sau đó một người đàn ông đi lên đến thay thế anh ta và một người đàn ông nào đó đi lên để thay thế anh ta ., nó có tuân theo giả thiết Anh sẽ mất mọi thứ ở mức độ sau nếu người dân nhớ lại . không? Trả lời Có hay Không, hay Có thể.
<|endofprompt|>
Yes
<|endoftext|>
"""
```