yavuzkomecoglu commited on
Commit
d03fa96
1 Parent(s): d3b3d50

added application

Browse files
Files changed (4) hide show
  1. app.py +43 -0
  2. requirements.txt +3 -0
  3. utils/__init__.py +0 -0
  4. utils/huggingface_qa.py +20 -0
app.py ADDED
@@ -0,0 +1,43 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+
2
+ import gradio as gr
3
+ from utils.huggingface_qa import QuestionAnswering
4
+
5
+ qa = QuestionAnswering()
6
+
7
+ def prediction_answer(question, context):
8
+ result = qa.prediction(question, context)
9
+
10
+ return result["answer"], str(round(result["score"], 5)), result["start"], result["end"]
11
+
12
+
13
+ article = "<p style='text-align: center'>This is the model for <a href='https://huggingface.co/patrickvonplaten/wav2vec2-common_voice-tr-demo' target='_blank'>patrickvonplaten/wav2vec2-common_voice-tr-demo</a>, a fine-tuned <a href='https://huggingface.co/facebook/wav2vec2-large-xlsr-53' target='_blank'>facebook/wav2vec2-large-xlsr-53</a> model on the <a href='https://commonvoice.mozilla.org/en/datasets' target='_blank'>Turkish Common Voice dataset</a>.<br/>When using this model, make sure that your speech input is sampled at 16kHz.<br/><a href='https://github.com/yavuzKomecoglu' target='_blank'>Contact me</a></p>"
14
+ gradio_ui = gr.Interface(
15
+ fn=prediction_answer,
16
+ title="Turkish Question Answering",
17
+ description=f"Enter context and question",
18
+ examples=[
19
+ [
20
+ 'son 24 saatte pozitif vaka sayısı kaçtır?',
21
+ 'Sağlık Bakanlığı, Günlük Koronavirüs Tablosu\'nu "covid19.saglik.gov.tr" adresinden paylaştı.\n\nBuna göre, son 24 saatte 354 bin 580 Kovid-19 testi yapıldı, 25 bin 528 kişinin testi pozitif çıktı, 229 kişi yaşamını yitirdi, iyileşenlerin sayısı ise 27 bin 651 oldu.\n\n18 yaş üstü nüfusta ikinci doz aşı uygulananların oranı yüzde 78,15, birinci doz aşı yapılanların oranı yüzde 89,15 olarak kayıtlara geçti.\n\nTürkiye\'de bugüne kadar uygulanan aşı sayısı 116 milyon 23 bin 796\'ya yükseldi. Kovid-19 salgınıyla mücadele kapsamında son 24 saatte 161 bin 935 doz aşı uygulandı.\n\nEn az iki doz aşı uygulananların oranının en yüksek olduğu 10 il Ordu, Muğla, Amasya, Kırklareli, Çanakkale, Osmaniye, Eskişehir, Balıkesir, Edirne ve Zonguldak oldu.\n\nEn az iki doz aşı yapılanların oranının en düşük olduğu iller ise Şanlıurfa, Batman, Diyarbakır, Siirt, Muş, Mardin, Bingöl, Bitlis, Ağrı ve Bayburt olarak sıralandı.\n\nSağlık Bakanı Fahrettin Koca, sosyal medya hesabından yaptığı paylaşımda, "25 bin 528 test pozitif çıktı. Hastalığı ağır geçirenlerden 229 kişi hayatını kaybetti. İkinci doz aşı oranı yüzde 75\'in altında olan 42 ilimizde aşılanma düşük hızla ilerliyor. Aşının riski azalttığını biliyoruz. Aşınızı bir an önce yaptırın. Size değer verenler adına, lütfen." ifadesini kullandı.'
22
+ ],
23
+ [
24
+ 'Robot şair Deniz Yılmaz\'ın kaç şiiri bulunuyor?',
25
+ 'Bager Akbay\'ın 2015 yılında tasarladığı Deniz Yılmaz robot bir şair ve hafızasında Aşık Veysel\'den Baki\'ye 12 bin şiir bulunuyor. Robot şairin tek bir derdi var; o da sıradan bir vatandaş olmak, yazdığı şiirlerin gazetelerin şiir köşelerinde yayımlanması... Kendine özgü şiirler kaleme alan Deniz Yılmaz\'ın “Diğerleri Gibi” adlı bir şiir kitabı da bulunuyor.'
26
+ ]
27
+ ],
28
+ inputs=[
29
+ gr.inputs.Textbox(lines=1, label="Paste some question here"),
30
+ gr.inputs.Textbox(lines=10, label="Paste some context here"),
31
+ ],
32
+ outputs=[
33
+ gr.outputs.Textbox(label="Answer"),
34
+ gr.outputs.Textbox(label="Score"),
35
+ gr.outputs.Textbox(label="Start"),
36
+ gr.outputs.Textbox(label="End"),
37
+ ],
38
+ article = article,
39
+ theme="huggingface",
40
+
41
+ )
42
+
43
+ gradio_ui.launch()
requirements.txt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ gradio
2
+ transformers
3
+ torch
utils/__init__.py ADDED
File without changes
utils/huggingface_qa.py ADDED
@@ -0,0 +1,20 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+
2
+ from transformers import AutoTokenizer, AutoModelForQuestionAnswering, pipeline
3
+ import torch
4
+
5
+
6
+ class QuestionAnswering:
7
+ def __init__(self):
8
+ self.device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
9
+ self.tokenizer = AutoTokenizer.from_pretrained("savasy/bert-base-turkish-squad")
10
+ if self.device == "cuda":
11
+ self.model = AutoModelForQuestionAnswering.from_pretrained("savasy/bert-base-turkish-squad").cuda()
12
+ else:
13
+ self.model = AutoModelForQuestionAnswering.from_pretrained("savasy/bert-base-turkish-squad")
14
+
15
+ self.pipe = pipeline("question-answering", model=self.model, tokenizer=self.tokenizer)
16
+
17
+ def prediction(self, question, context):
18
+ result = self.pipe(question=question, context=context)
19
+
20
+ return result