|
|
--- |
|
|
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' |
|
|
|
|
|
``` |