File size: 3,916 Bytes
6f77601
 
b74d201
 
 
 
6f77601
 
 
 
 
 
 
 
 
b74d201
 
 
 
6f77601
b74d201
 
 
 
 
 
 
 
 
6f77601
b74d201
 
 
6f77601
b74d201
 
 
 
 
 
 
6f77601
b74d201
6f77601
b74d201
6f77601
b74d201
6f77601
b74d201
 
 
 
 
 
6f77601
b74d201
6f77601
b74d201
6f77601
b74d201
 
6f77601
b74d201
 
6f77601
b74d201
6f77601
b74d201
6f77601
b74d201
 
 
 
 
6f77601
b74d201
 
 
 
 
 
 
 
 
 
6f77601
b74d201
6f77601
b74d201
6f77601
 
b74d201
 
 
 
 
 
 
 
 
 
 
6f77601
b74d201
6f77601
b74d201
6f77601
b74d201
6f77601
b74d201
 
 
 
 
 
 
6f77601
 
b74d201
6f77601
97763a9
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
---
library_name: transformers
language:
- tr
metrics:
- bleu
---

# Model Card for Model ID

<!-- Provide a quick summary of what the model is/does. -->



## Model Details
<p>
This model has been trained with the dataset
        <a href="https://github.com/okanvk/Turkish-Reading-Comprehension-Question-Answering-Dataset">Turkish-Reading-Comprehension-Question-Answering-Dataset </a>for Turkish question-answering
</p>

<h1>Usage</h1>
  <h2>install package</h2>
  <ul> 
          <li>!pip install transformers</li>
          <li>!pip install evaluate</li>
          <li>!pip install rouge</li>
    
  </ul>
  <h2>Codes</h2>

  <h3>Imports</h3>
  
```python

import torch
import nltk
import string
import evaluate  # Bleu
import pandas as pd
import numpy as np
from transformers import T5Tokenizer, MT5Model, MT5ForConditionalGeneration, MT5TokenizerFast

import warnings

```

```python

TOKENIZER = MT5TokenizerFast.from_pretrained("msbayindir/sample-mt5-small")
MODEL = MT5ForConditionalGeneration.from_pretrained("msbayindir/sample-mt5-small", return_dict=True)
DEVICE = "cuda:0"
MODEL = MODEL.to(device=DEVICE)
Q_LEN = 256   # Question Length
T_LEN = 32  

```

```python

def predict_answer(context, question, ref_answer=None):
    inputs = TOKENIZER(question, context, max_length=Q_LEN, padding="max_length", truncation=True, add_special_tokens=True)

    input_ids = torch.tensor(inputs["input_ids"], dtype=torch.long).to(DEVICE).unsqueeze(0)
    attention_mask = torch.tensor(inputs["attention_mask"], dtype=torch.long).to(DEVICE).unsqueeze(0)

    outputs = MODEL.generate(input_ids=input_ids, attention_mask=attention_mask)

    predicted_answer = TOKENIZER.decode(outputs.flatten(), skip_special_tokens=True)

    if ref_answer:
        # Load the Bleu metric
        bleu = evaluate.load("google_bleu")
        score = bleu.compute(predictions=[predicted_answer],
                            references=[ref_answer])

        print("Context: \n", context)
        print("\n")
        print("Question: \n", question)
        return {
            "Reference Answer: ": ref_answer,
            "Predicted Answer: ": predicted_answer,
            "BLEU Score: ": score
        }
    else:
        return predicted_answer

```

###Samples


```python
context = """Katmandu Büyükşehir Şehri (KMC),
 uluslararası ilişkileri teşvik etmek amacıyla Uluslararası İlişkiler Sekreterliği (IRC) kurmuştur. 
 KMC'nin ilk uluslararası ilişkisi 1975 yılında Eugene, Oregon, Amerika Birleşik Devletleri ile kurulmuştur. 
 Bu etkinlik, diğer 8 şehirle resmi ilişkiler kurarak daha da geliştirilmiştir:
Motsumoto City of Japan, Rochester, Myanmar Yangon (eski adıyla Rangoon), 
Çin Halk Cumhuriyeti'nden Xi'an, Belarus Minsk ve Kore Demokratik Cumhuriyeti'nden Pyongyang. KMC'nin sürekli çabası, 
Katmandu için daha iyi kentsel yönetim ve gelişim programları elde etmek için SAARC ülkeleri, diğer Uluslararası ajanslar ve 
dünyanın diğer birçok büyük şehirleri ile etkileşimini geliştirmektir."""
answer = "Katmandu ilk uluslararası ilişkisini hangi yılda yarattı?"
predict_answer(context,answer)

'1975'

```

```python

context = """Yapay zeka (YZ), modern dünyada hızla gelişen bir teknoloji alanıdır. YZ, sağlık, finans ve eğitim gibi birçok sektörde kullanılmaktadır. 
Sağlık alanında, YZ algoritmaları hastalık teşhislerinde yardımcı olabilir. Finans sektöründe, YZ, piyasa analizleri yaparak yatırım kararlarını destekler. 
Eğitimde ise, öğrenci performansını izler ve bireyselleştirilmiş öğrenme programları oluşturur. 
Ancak, YZ'nin kullanımı etik ve gizlilik konularında endişeler doğurur.
Veri güvenliği ve algoritmik önyargılar, dikkatle ele alınması gereken önemli meselelerdir."""
answer = "Yapay zeka hangi sektörlerde kullanılmaktadır?"
predict_answer(context,answer)


'sağlık, finans ve eğitim'

```