Explorer
/proc/127/root/tmp/aa045f4_reclassify.py
← Zurück ↓ Download
"""AA-045-F4: Neuklassifizierung aktueller Signale mit dem gefixten Classifier.
Nur Signale des aktuellen Zeitraums; bestehende Briefings bleiben erhalten."""
import sys
sys.path.insert(0, "/opt/struktur/social-media-radar")
import sqlite3

conn = sqlite3.connect("/var/lib/sma-data/signals.db")
conn.row_factory = sqlite3.Row
from classification.signal_classifier import score_signal

rows = conn.execute("""
    SELECT * FROM signals WHERE created_at > '2026-08-16'""").fetchall()
print("zu pruefen:", len(rows))

changes = []
for r in rows:
    sig = dict(r)
    text = f"{sig['topic'] or ''} {sig['short_summary'] or ''}"
    lang = sig["language"] or "de"
    sd = score_signal(text, language=lang)
    if sd["signal_category"] != sig["signal_category"]:
        changes.append((sig["signal_id"], sig["signal_category"], sd["signal_category"], (sig["topic"] or "")[:50]))
        conn.execute("UPDATE signals SET signal_category=? WHERE signal_id=?",
                     (sd["signal_category"], sig["signal_id"]))
conn.commit()
print(f"\nNeu klassifiziert: {len(changes)}")
for sid, alt, neu, topic in changes:
    print(f"  {alt:>18} -> {neu:<18} | {topic}")