transformers pytorch mt5 text2text-generation question-generation answer-extraction question-answering text-generation tr dataset:tquad1 dataset:tquad2 dataset:xquad arxiv:2111.06476 license:cc-by-4.0 autotrain_compatible endpoints_compatible region:us
---
datasets:
- tquad1
- tquad2
- xquad
language: tr
license: cc-by-4.0
pipeline_tag: text2text-generation
tags:
- text2text-generation
- question-generation
- answer-extraction
- question-answering
- text-generation
widget:
- text: 'generate question: Legendary Entertainment, 2016 yılında bilimkurgu romanı
    Dune''un <hl> film ve TV haklarını <hl> satın aldı. Geliştirme kısa bir süre sonra
    başladı. Villeneuve projeye olan ilgisini dile getirdi ve resmi olarak yönetmen
    olarak imza attı. Roth ve Spaihts ile birlikte çalışarak senaryoyu iki bölüme
    ayırdı ve 1965 romanının 21. yüzyıla güncellenmiş bir uyarlamasını ekledi.'
  example_title: Question Generation (Movie)
- text: 'generate question: Fatih Sultan Mehmet, Cenevizlilerin önemli üslerinden
    Amasra’yı aldı. 1479’da <hl> bir antlaşma yaparak <hl> Venedik''le  16 yıllık
    savaşa son verdi.'
  example_title: Question Generation (History)
- text: 'generate question: Cenevizlilerin önemli üslerinden Amasra’yı aldı. 1479’da
    bir antlaşma yaparak <hl> Venedik''le <hl> 16 yıllık savaşa sona verdi.'
  example_title: Question Generation (History 2)
- text: 'extract answers: Cenevizlilerin önemli üslerinden Amasra’yı aldı. <hl> 1479’da
    bir antlaşma yaparak Venedik''le 16 yıllık savaşa sona verdi. <hl>'
  example_title: Answer Extraction (History)
- text: 'question: Bu model ne ise yarar? context: Çalışmada sunulan yöntemle, Türkçe
    metinlerden otomatik olarak soru ve cevap üretilebilir. Bu proje ile paylaşılan
    kaynak kodu ile Türkçe Soru Üretme / Soru Cevaplama konularında yeni akademik
    çalışmalar yapılabilir. Projenin detaylarına paylaşılan Github ve Arxiv linklerinden
    ulaşılabilir.'
  example_title: Answer Extraction (Open Domain)
---

# mt5-small for Turkish Question Generation
Automated question generation and question answering using text-to-text transformers by OBSS AI.
```python
from core.api import GenerationAPI
generation_api = GenerationAPI('mt5-small-3task-highlight-combined3')
```

##  Citation 📜
```
@article{akyon2022questgen,
    author = {Akyon, Fatih Cagatay and Cavusoglu, Ali Devrim Ekin and Cengiz, Cemil and Altinuc, Sinan Onur and Temizel, Alptekin},
    doi = {10.3906/elk-1300-0632.3914},
    journal = {Turkish Journal of Electrical Engineering and Computer Sciences},
    title = {{Automated question generation and question answering from Turkish texts}},
    url = {https://journals.tubitak.gov.tr/elektrik/vol30/iss5/17/},
    year = {2022}
}
```

## Overview ✔️
**Language model:** mt5-small  
**Language:** Turkish  
**Downstream-task:** Extractive QA/QG, Answer Extraction  
**Training data:** TQuADv2-train, TQuADv2-val, XQuAD.tr  
**Code:**  https://github.com/obss/turkish-question-generation  
**Paper:**  https://journals.tubitak.gov.tr/elektrik/vol30/iss5/17/ 

## Hyperparameters
```
batch_size = 256
n_epochs = 15
base_LM_model = "mt5-small"
max_source_length = 512
max_target_length = 64
learning_rate = 1.0e-3
task_lisst = ["qa", "qg", "ans_ext"]
qg_format = "highlight"
``` 

## Performance
Refer to [paper](https://arxiv.org/abs/2111.06476).

## Usage 🔥
```python
from core.api import GenerationAPI

generation_api = GenerationAPI('mt5-small-3task-highlight-combined3')

context = """
Bu modelin eğitiminde, Türkçe soru cevap verileri kullanılmıştır.
Çalışmada sunulan yöntemle, Türkçe metinlerden otomatik olarak soru ve cevap
üretilebilir. Bu proje ile paylaşılan kaynak kodu ile Türkçe Soru Üretme
/ Soru Cevaplama konularında yeni akademik çalışmalar yapılabilir.
Projenin detaylarına paylaşılan Github ve Arxiv linklerinden ulaşılabilir.
"""

# a) Fully Automated Question Generation
generation_api(task='question-generation', context=context)

# b) Question Answering
question = "Bu model ne işe yarar?"
generation_api(task='question-answering', context=context, question=question)

# b) Answer Extraction
generation_api(task='answer-extraction', context=context)
```
