LaraPr's picture
Update app.py
63c977a verified
raw
history blame
1.92 kB
import gradio as gr
# Positive Wörter laden
positive_woerter = {}
with open("SentiWS_v2.0_Positive.txt", encoding="utf-8") as f:
for zeile in f:
teile = zeile.strip().split("\t")
if len(teile) >= 2:
grundform = teile[0].split("\\")[0].lower() # Grundform des Wortes
wert = float(teile[1]) # Positiver Wert
positive_woerter[grundform] = wert
# Wenn es gebeugte Formen gibt, auch hinzufügen
if len(teile) > 2:
for form in teile[2].split(","):
positive_woerter[form.lower()] = wert
# Negative Wörter laden
negative_woerter = {}
with open("SentiWS_v2.0_Negative.txt", encoding="utf-8") as f:
for zeile in f:
teile = zeile.strip().split("\t")
if len(teile) >= 2:
grundform = teile[0].split("\\")[0].lower()
wert = float(teile[1])
negative_woerter[grundform] = wert
if len(teile) > 2:
for form in teile[2].split(","):
negative_woerter[form.lower()] = wert
# Funktion zur Analyse
def text_bewerten(text):
woerter = text.lower().split()
positiv_summe = sum(positive_woerter.get(w, 0) for w in woerter)
negativ_summe = sum(negative_woerter.get(w, 0) for w in woerter)
if positiv_summe > abs(negativ_summe):
return "✅ Positiv"
elif negativ_summe > abs(positiv_summe):
return "❌ Negativ"
else:
return "➖ Neutral"
# Oberfläche mit Gradio
with gr.Blocks() as demo:
gr.Markdown("# Textanalyse mit SentiWS")
gr.Markdown("Gib einen Satz ein und erfahre, ob er eher positiv, negativ oder neutral klingt.")
eingabe = gr.Textbox(label="Dein Text", placeholder="Schreibe hier...")
ausgabe = gr.Label(label="Ergebnis")
knopf = gr.Button("Analysieren")
knopf.click(text_bewerten, inputs=eingabe, outputs=ausgabe)
demo.launch()