Spaces:
Runtime error
Runtime error
| import gradio as gr | |
| from transformers import pipeline | |
| print("Model yükleniyor: winvoker/bert-base-turkish-sentiment-analysis") | |
| # Daha dengeli sonuçlar verdiği ve nötr kategorisini daha iyi tespit ettiği bilinen bir model kullanıyoruz. | |
| sentiment_pipeline = pipeline( | |
| "sentiment-analysis", | |
| model="winvoker/bert-base-turkish-sentiment-analysis" | |
| ) | |
| print("Model başarıyla yüklendi.") | |
| def analyze_sentiment(text): | |
| """ | |
| Verilen metnin duygu analizini yapar ve sonucu basit bir formatta döndürür. | |
| """ | |
| if not text or not isinstance(text, str) or len(text.strip()) == 0: | |
| return {"label": "GEÇERSİZ GİRİŞ", "score": 0.0} | |
| try: | |
| result = sentiment_pipeline(text)[0] | |
| # Bu modelin etiketleri: 'positive', 'negative', 'neutral' | |
| # Kodun bu kısmı zaten bu etiketlerle uyumlu olduğu için değiştirmeye gerek yok. | |
| label = result['label'] | |
| if label.lower() == 'positive': | |
| simple_label = 'POZİTİF' | |
| elif label.lower() == 'negative': | |
| simple_label = 'NEGATİF' | |
| else: | |
| simple_label = 'NÖTR' | |
| return {"label": simple_label, "score": round(result['score'], 4)} | |
| except Exception as e: | |
| print(f"Analiz sırasında hata: {e}") | |
| return {"label": "ANALİZ HATASI", "score": 0.0} | |
| # Gradio arayüzünü oluşturup API olarak sunuyoruz. | |
| iface = gr.Interface( | |
| fn=analyze_sentiment, | |
| inputs=gr.Textbox(lines=3, placeholder="Analiz edilecek metni buraya yazın..."), | |
| outputs="json", | |
| title="Türkçe Duygu Analizi API", | |
| description="Girilen metnin duygu skorunu (Pozitif, Negatif, Nötr) döndürür." | |
| ) | |
| # Arayüzü ve API'yi başlatıyoruz. | |
| iface.launch() | |