Commit Graph

1 Commits

Author SHA1 Message Date
Dotty Dotter
c5489eabaa #16/#17 match_answers.py und match_claims.py: Cross-Episode-Matching via Embeddings + Qwen
scripts/match_answers.py (#17):
- Laedt offene Fragen (genuine, follow_up; answered='no').
- Embedded jede Frage und sucht den besten Kandidat-Absatz aus einer anderen
  Episode (optional cross-podcast) per Cosinus-Aehnlichkeit ueber die paragraph-
  embeddings.
- Bei score >= 0.55: Qwen-Verifikation 'Beantwortet B die Frage in A?'
  (yes/partial/no), bei yes/partial wird answered + answered_by_* in der
  questions-Tabelle gesetzt.
- Hard-Budget 1,50 USD, --rerun setzt bestehende Matches neu.

scripts/match_claims.py (#16 Stufe 2):
- Analoge Mechanik fuer claims: Embedding, Cosinus-Suche, Qwen-Verifikation
  in der vier-stufigen Skala 'belegt' / 'widerspricht' / 'erweitert' / 'kein_bezug'.
- Schreibt Treffer (ohne 'kein_bezug') in neue Tabelle claim_matches.
- Default nur verifizierbare Claims (--include-non-verifiable kippt das),
  --cross-podcast erlaubt Cross-Podcast-Treffer.

Beide Skripte nutzen json_utils.parse_llm_json fuer robustes Parsing und sind
gegen NaN-Vektoren in den Embeddings abgesichert.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-28 02:21:49 +02:00