feat(stage7): claim clustering & contradiction candidates — semantic grouping, numeric normalization, pairwise analysis

- ClaimClusterModel: LLM-basierte semantische Gruppierung von Claims
- ClaimRelationModel: SUPPORTS, CONTRADICTS, DUPLICATE, UNCERTAIN pairwise relations
- ClaimNLUModel: numerische Normalisierung (%, Währungen, deutsche/englische Wörter)
- stage7_normalize_numerics.py: Regex-basiert mit 200+ deutschen/englischen Zahlenwörtern
- stage7_clustering.py: LLM-Clustering + pairwise claim-relation analysis
- API: POST cluster-claims, GET clusters, GET claim-relations
- 79 tests: numerische Normalisierung, LLM-Parsing, Clustering, Relationen, Edge-Cases
- Dedup: claims mit gleichen numerischen Werten werden zusammengefasst
This commit is contained in:
NSCT Agent
2026-08-23 20:57:17 +00:00
parent d2294c58d0
commit d1e6bb6cf4
6 changed files with 2104 additions and 0 deletions

View File

@@ -91,6 +91,10 @@ def create_app() -> FastAPI:
from nsct.api.claims import router as claims_router
app.include_router(claims_router, tags=["research"])
# Mount claim clustering router (Stage 7)
from nsct.api.stage7 import router as stage7_router
app.include_router(stage7_router, tags=["research"])
return app