File size: 5,688 Bytes
9d99e6c
 
 
 
 
 
 
 
 
 
 
 
 
47a9966
9d99e6c
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
---
language: 
- fa
- multilingual
tags:
- question-answering
- xlm-roberta
- roberta
- squad
datasets:
- SajjadAyoubi/persian_qa
metrics:
- squad_v2
widget:
- text: "نام دیگر شب یلدا؟"
  context: "شب یَلدا یا شب چلّه یکی از کهن‌ترین جشن‌های ایرانی است. در این جشن، طی شدن بلندترین شب سال و به دنبال آن بلندتر شدن طول روزها در نیم‌کرهٔ شمالی، که مصادف با انقلاب زمستانی است، گرامی داشته می‌شود. نام دیگر این شب «چِلّه» است، زیرا برگزاری این جشن، یک آیین ایرانی‌است."
- text: "کهن تریج جشن ایرانی‌ها چه است؟"
  context: "شب یَلدا یا شب چلّه یکی از کهن‌ترین جشن‌های ایرانی است. در این جشن، طی شدن بلندترین شب سال و به دنبال آن بلندتر شدن طول روزها در نیم‌کرهٔ شمالی، که مصادف با انقلاب زمستانی است، گرامی داشته می‌شود. نام دیگر این شب «چِلّه» است، زیرا برگزاری این جشن، یک آیین ایرانی‌است."
- text: "شب یلدا مصادف با چه پدیده‌ای است؟"
  context: "شب یَلدا یا شب چلّه یکی از کهن‌ترین جشن‌های ایرانی است. در این جشن، طی شدن بلندترین شب سال و به دنبال آن بلندتر شدن طول روزها در نیم‌کرهٔ شمالی، که مصادف با انقلاب زمستانی است، گرامی داشته می‌شود. نام دیگر این شب «چِلّه» است، زیرا برگزاری این جشن، یک آیین ایرانی‌است."
model-index:
- name: XLM-RoBERTa large for QA (PersianQA - 🇮🇷)
  results:
  - task: 
      type: question-answering
      name: Question Answering
    dataset:
      type: SajjadAyoubi/persian_qa
      name: PersianQA
      args: fa
    metrics:
      - type: squad_v2
        value: 83.46
        name: Eval F1
        args: max_order
      - type: squad_v2
        value: 66.88
        name: Eval Exact
        args: max_order
---

# XLM-RoBERTa large for QA (PersianQA - 🇮🇷) 

This model is a fine-tuned version of [xlm-roberta-large](https://huggingface.co/xlm-roberta-large) on the [PersianQA](https://github.com/sajjjadayobi/PersianQA) dataset.



## Hyperparameters

The following hyperparameters were used during training:
- learning_rate: 2e-05
- train_batch_size: 8
- eval_batch_size: 8
- seed: 42
- gradient_accumulation_steps: 4
- optimizer: Adam with betas=(0.9,0.999) and epsilon=1e-08
- lr_scheduler_type: linear
- lr_scheduler_warmup_ratio: 0.1
- num_epochs: 20.0
- mixed_precision_training: Native AMP

## Performance

Evaluation results on the eval set with the official [eval script](https://worksheets.codalab.org/rest/bundles/0x6b567e1cf2e041ec80d7098f031c5c9e/contents/blob/).

### Evalset

```text
"HasAns_exact": 58.678955453149,
"HasAns_f1": 82.3746683591845,
"HasAns_total": 651,
"NoAns_exact": 86.02150537634408,
"NoAns_f1": 86.02150537634408,
"NoAns_total": 279,
"exact": 66.88172043010752,
"f1": 83.46871946433232,
"total": 930
```


## Usage

```python
from transformers import AutoModelForQuestionAnswering, AutoTokenizer, pipeline

model_name_or_path = "m3hrdadfi/xlmr-large-qa-fa"
nlp = pipeline('question-answering', model=model_name_or_path, tokenizer=model_name_or_path)

context = """
شب یَلدا یا شب چلّه یکی از کهن‌ترین جشن‌های ایرانی است. 
در این جشن، طی شدن بلندترین شب سال و به دنبال آن بلندتر شدن طول روزها
 در نیم‌کرهٔ شمالی، که مصادف با انقلاب زمستانی است، گرامی داشته می‌شود. 
نام دیگر این شب «چِلّه» است، زیرا برگزاری این جشن، یک آیین ایرانی‌است.
"""
# Translation [EN]
# context = [
  # Yalda night or Cheleh night is one of the oldest Iranian celebrations. 
  # The festival celebrates the longest night of the year, followed by longer days in the Northern Hemisphere, 
  # which coincides with the Winter Revolution. 
  # Another name for this night is "Chelleh", because holding this celebration is an Iranian ritual.
# ]


questions = [
    "نام دیگر شب یلدا؟",
    "کهن تریج جشن ایرانی‌ها چه است؟",
    "شب یلدا مصادف با چه پدیده‌ای است؟"
]
# Translation [EN]
# questions = [
  # Another name for Yalda night?
  # What is the ancient tradition of Iranian celebration?
  # What phenomenon does Yalda night coincide with?
# ]


kwargs = {}

for question in questions:
    r = nlp(question=question, context=context, **kwargs)
    answer = " ".join([token.strip() for token in r["answer"].strip().split() if token.strip()])
    print(f"{question} {answer}")
```

**Output**

```text
نام دیگر شب یلدا؟ «چِلّه»
کهن تریج جشن ایرانی‌ها چه است؟ شب یَلدا یا شب چلّه
شب یلدا مصادف با چه پدیده‌ای است؟ انقلاب زمستانی

# Translation [EN]
# Another name for Yalda night? Cheleh night
# What is the ancient tradition of Iranian celebration? Yalda night or Chele night
# What phenomenon does Yalda night coincide with? Winter revolution
```

## Authors
- [Mehrdad Farahani](https://github.com/m3hrdadfi)

## Framework versions
- Transformers 4.12.0.dev0
- Pytorch 1.9.1+cu111
- Datasets 1.12.1
- Tokenizers 0.10.3