nlp-demo / app.py
batufano's picture
Update app.py
10bf6a9
from transformers import AutoTokenizer, AutoModelForQuestionAnswering
import torch
tokenizer = AutoTokenizer.from_pretrained("lserinol/bert-turkish-question-answering")
model = AutoModelForQuestionAnswering.from_pretrained("lserinol/bert-turkish-question-answering")
text = r"""
Sanığın iş yerinde önceki tarihte yapılan aramada ele geçirilen bandrolsüz materyallerin tümüne el konulduğu,
sonraki tarihte yapılan aramada sanığın suç işleme kararını yenileyerek iş yerinde satmak amacıyla bandrolsüz
materyalleri temin ederek iş yerinde yeniden satışa hazır vaziyette bulundurduğu iddia edilse de; önceki tarihli
arama tutanağı ve dosya kapsamına göre sanığın sadece iş yerinde arama yapılarak suça konu materyallerin ele geçirildiği,
sanığa ait suç eşyasını saklaması için iş yerinden bağımsız bir depo bulunup bulunmadığına dair tespit yapılmadığı gibi
sanığın ikametinde veya mevcut olması hâlinde depo vb. alanlarda herhangi bir arama işlemi yapılmadığından önceki arama
zamanında bu materyallerin kalmış olabileceği, sanığın aynı suç işleme kararı altında ikinci suçu işlediğinin kanıtlar herhangi
bir delilin mevcut olmadığı hukuki kesinti oluşmadan bir suç işleme kararıyla, aynı mağdura karşı ve değişik zamanlarda sanığın
5846 sayılı Kanun’un 81/4. maddesinde düzenlenen suçu işlediğinden sanık hakkında zincirleme suç hükümlerinin uygulanması gerektiği gözetilmelidir.
"""
questions = [
"Sanığın iş yerinde aramada ne ele geçirilmiştir?",
"Sanığın suçu işlediğine sair kanıtlar bulunmuş mudur?",
]
for question in questions:
inputs = tokenizer(question, text, add_special_tokens=True, return_tensors="pt")
input_ids = inputs["input_ids"].tolist()[0]
text_tokens = tokenizer.convert_ids_to_tokens(input_ids)
answer_start_scores, answer_end_scores = model(**inputs)
answer_start = torch.argmax(
answer_start_scores
) # Get the most likely beginning of answer with the argmax of the score
answer_end = torch.argmax(answer_end_scores) + 1 # Get the most likely end of answer with the argmax of the score
answer = tokenizer.convert_tokens_to_string(tokenizer.convert_ids_to_tokens(input_ids[answer_start:answer_end]))
print(f"Question: {question}")
print(f"Answer: {answer}\n")