batufano commited on
Commit
72cc589
1 Parent(s): 38d4a44

Create app.py

Browse files
Files changed (1) hide show
  1. app.py +49 -0
app.py ADDED
@@ -0,0 +1,49 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from transformers import pipeline
2
+ nlp = pipeline('question-answering', model='lserinol/bert-turkish-question-answering', tokenizer='lserinol/bert-turkish-question-answering')
3
+ nlp({
4
+ 'question': "Ankara'da kaç ilçe vardır?",
5
+ 'context': r"""Türkiye'nin başkenti Ankara'dır. Ülkenin en büyük idari birimleri illerdir ve 81 il vardır. Bu iller ilçelere ayrılmıştır, toplamda 973 ilçe mevcuttur."""
6
+ })
7
+
8
+ from transformers import AutoTokenizer, AutoModelForQuestionAnswering
9
+ import torch
10
+
11
+ tokenizer = AutoTokenizer.from_pretrained("lserinol/bert-turkish-question-answering")
12
+ model = AutoModelForQuestionAnswering.from_pretrained("lserinol/bert-turkish-question-answering")
13
+ text = r"""
14
+ Ankara'nın başkent ilan edilmesinin ardından (13 Ekim 1923) şehir hızla gelişmiş ve Türkiye'nin ikinci en kalabalık ili olmuştur.
15
+ Türkiye Cumhuriyeti'nin ilk yıllarında ekonomisi tarım ve hayvancılığa dayanan ilin topraklarının yarısı hâlâ tarım amaçlı
16
+ kullanılmaktadır. Ekonomik etkinlik büyük oranda ticaret ve sanayiye dayalıdır. Tarım ve hayvancılığın ağırlığı ise giderek
17
+ azalmaktadır. Ankara ve civarındaki gerek kamu sektörü gerek özel sektör yatırımları, başka illerden büyük bir nüfus göçünü
18
+ teşvik etmiştir. Cumhuriyetin kuruluşundan günümüze, nüfusu ülke nüfusunun iki katı hızda artmıştır. Nüfusun yaklaşık dörtte
19
+ üçü hizmet sektörü olarak tanımlanabilecek memuriyet, ulaşım, haberleşme ve ticaret benzeri işlerde, dörtte biri sanayide,
20
+ %2'si ise tarım alanında çalışır. Sanayi, özellikle tekstil, gıda ve inşaat sektörlerinde yoğunlaşmıştır. Günümüzde ise en çok
21
+ savunma, metal ve motor sektörlerinde yatırım yapılmaktadır. Türkiye'nin en çok sayıda üniversiteye sahip ili olan Ankara'da
22
+ ayrıca, üniversite diplomalı kişi oranı ülke ortalamasının iki katıdır. Bu eğitimli nüfus, teknoloji ağırlıklı yatırımların
23
+ gereksinim duyduğu iş gücünü oluşturur. Ankara'dan otoyollar, demir yolu ve hava yoluyla Türkiye'nin diğer şehirlerine ulaşılır.
24
+ Ankara aynı zamanda başkent olarak Türkiye Büyük Millet Meclisi (TBMM)'ye de ev sahipliği yapmaktadır.
25
+ """
26
+
27
+ questions = [
28
+ "Ankara kaç yılında başkent oldu?",
29
+ "Ankara ne zaman başkent oldu?",
30
+ "Ankara'dan başka şehirlere nasıl ulaşılır?",
31
+ "TBMM neyin kısaltmasıdır?"
32
+ ]
33
+
34
+ for question in questions:
35
+ inputs = tokenizer(question, text, add_special_tokens=True, return_tensors="pt")
36
+ input_ids = inputs["input_ids"].tolist()[0]
37
+
38
+ text_tokens = tokenizer.convert_ids_to_tokens(input_ids)
39
+ answer_start_scores, answer_end_scores = model(**inputs)
40
+
41
+ answer_start = torch.argmax(
42
+ answer_start_scores
43
+ ) # Get the most likely beginning of answer with the argmax of the score
44
+ answer_end = torch.argmax(answer_end_scores) + 1 # Get the most likely end of answer with the argmax of the score
45
+
46
+ answer = tokenizer.convert_tokens_to_string(tokenizer.convert_ids_to_tokens(input_ids[answer_start:answer_end]))
47
+
48
+ print(f"Question: {question}")
49
+ print(f"Answer: {answer}\n")