samet214 commited on
Commit
9c4c6ac
·
verified ·
1 Parent(s): a235a65

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +19 -42
app.py CHANGED
@@ -1,52 +1,29 @@
1
  import gradio as gr
2
  from transformers import pipeline
3
 
4
- # Türkçe dahil birçok dilde 3 sınıf (pozitif, negatif, nötr) duygu analizi yapabilen
5
- # güvenilir ve popüler bir model yükle.
6
- model_name = "cardiffnlp/twitter-xlm-roberta-base-sentiment-v2"
7
- sentiment_pipeline = pipeline("sentiment-analysis", model=model_name)
 
8
 
 
9
  def analyze_sentiment(text):
10
- """
11
- Verilen metnin duygu analizini yapar.
12
- Modelin çıktısını işleyerek Türkçe etiketlere dönüştürür.
13
- """
14
- # Pipeline'ı çalıştırarak sonucu al
15
- result = sentiment_pipeline(text)[0]
16
- label = result['label']
17
- score = result['score']
18
-
19
- # Bu modelin etiketleri: 'positive', 'negative', 'neutral' (veya baş harfleri büyük)
20
- # Gelen etiketi doğrudan Türkçe'ye çevirelim.
21
- turkish_label = "Bilinmiyor"
22
- label_lower = label.lower()
23
-
24
- if label_lower == 'positive':
25
- turkish_label = 'Pozitif'
26
- elif label_lower == 'neutral':
27
- turkish_label = 'Nötr'
28
- elif label_lower == 'negative':
29
- turkish_label = 'Negatif'
30
-
31
- # Sonucu etiket ve güven skoruyla birlikte daha anlaşılır bir formatta döndür
32
- return f"Sonuç: {turkish_label} (Güven Skoru: {score:.2f})"
33
-
34
- # Gradio arayüzünü ve API'yi oluştur
35
  iface = gr.Interface(
36
  fn=analyze_sentiment,
37
- inputs=gr.Textbox(lines=3, placeholder="Analiz edilecek metni buraya girin..."),
38
- outputs=gr.Textbox(label="Analiz Sonucu"),
39
- title="Türkçe Duygu Analizi (Alternatif Model)",
40
- description="Girilen cümlenin duygu durumunu analiz eder. Bu versiyon, kararlı ve çok dilli bir duygu analizi modeli kullanır.",
41
- examples=[
42
- ["Bu filmi çok beğendim, harikaydı!"],
43
- ["Yemekler fena değildi ama servis yavaştı."],
44
- ["Bugün uçağım rötar yaptı."],
45
- ["Arabanın rengi kırmızı."],
46
- ["Konu hakkında bir fikrim yok."]
47
- ]
48
  )
49
 
50
- # Arayüzü başlat
51
  iface.launch()
52
-
 
1
  import gradio as gr
2
  from transformers import pipeline
3
 
4
+ # Modeli yükle
5
+ classifier = pipeline(
6
+ "sentiment-analysis",
7
+ model="saribasmetehan/bert-base-turkish-sentiment-analysis"
8
+ )
9
 
10
+ # Fonksiyon
11
  def analyze_sentiment(text):
12
+ result = classifier(text)[0]
13
+ label_map = {
14
+ "LABEL_0": "Nötr",
15
+ "LABEL_1": "Pozitif",
16
+ "LABEL_2": "Negatif"
17
+ }
18
+ return label_map.get(result['label'], result['label'])
19
+
20
+ # Gradio arayüzü
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
21
  iface = gr.Interface(
22
  fn=analyze_sentiment,
23
+ inputs=gr.Textbox(lines=3, placeholder="Metni buraya yazın..."),
24
+ outputs="text",
25
+ title="Türkçe Duygu Analizi",
26
+ description="Bu uygulama verilen Türkçe metni Pozitif, Nötr veya Negatif olarak sınıflandırır."
 
 
 
 
 
 
 
27
  )
28
 
 
29
  iface.launch()