Baustelle: Diese Seite ist im Aufbau · noindex · Zugangscode erforderlich.
← Zurück zum Portfolio

Fallstudie · in Arbeit

CICERO — Rhetorik-Analyse für politische Debattentranskripte

Eine modulare Pipeline, die ein Debattentranskript liest, pro Redeblock die rhetorische Strategie benennt (Frage, Ausweichen, Angriff, Strohmann, Gish-Gallop, Whataboutism, Tu quoque, geladene Frage — plus konstruktive Marker) und die Aussagen zu einem typisierten, erkundbaren Graphen verknüpft.

TypeScript NLP / LLM Graph databases React / Cytoscape Pipeline architecture CI / Testing
CICERO — Rhetorik-Analyse für politische Debattentranskripte
Rolle
Concept by Jan Häusle · implementation solo by Ivo Häusle — architecture, NLP/LLM detectors, graph modelling, backend, React frontend, CI/deploy
Stack
TypeScript · Node/Fastify · Graph-DB (Apache AGE) · React/Cytoscape · LLM
Zeitraum
Jahr
2026
Status
In Arbeit (private Vorschau, passwortgeschützt)

Eine modulare Pipeline, die ein politisches Debattentranskript liest, pro Redeblock die rhetorische Strategie benennt — Frage, Ausweichen, Angriff, Strohmann, Gish-Gallop, Whataboutism, Tu quoque, geladene Frage, plus konstruktive Marker — und die Aussagen zu einem typisierten, erkundbaren Graphen verknüpft.

Die Herausforderung

Nach einer ursprünglichen Idee von Jan Häusle; Umsetzung durch Ivo Häusle. Der Gedanke: politische Debatten stecken voller Züge — einer Frage ausweichen, die Person angreifen, mit vielen schwachen Punkten fluten („Gish-Gallop"), das Thema wechseln —, die man als Zuhörer spürt, aber selten festmacht. Die Herausforderung war, diese Intuition in etwas zu verwandeln, das eine Maschine ehrlich sichtbar macht: ein rohes Transkript segmentieren, die kommunikative Funktion jedes Redeblocks benennen, ohne moralisch zu urteilen, und verknüpfen, wer wem antwortet, widerspricht oder zustimmt — und die ganze Struktur erkundbar machen statt als Textwand zu belassen. Glaubwürdig geht das nur durchgängig über mehrere Disziplinen: eine Ingestion, die unsaubere Echtdaten übersteht, NLP/LLM-Detektoren, die präzise statt vorschnell sind, ein Graph-Datenmodell und ein Frontend, das die Analyse lesbar macht.

Das Vorgehen

  • Eine fünfstufige Pipeline hinter sauberen Nahtstellen. Ingestion → Segmentierung → Strategie-Erkennung → Beziehungsanalyse → Export, als TypeScript-Monorepo (shared / pipeline / web). Externe Systeme (Graph-DB, Embedding-Modell, LLM, HTTP-Framework) liegen hinter Adaptern — ein Anbieterwechsel trifft den Adapter, nicht den Kern.
  • Eine Plugin-Architektur für Detektoren. Neue rhetorische Detektoren kommen über ein einziges StrategyPlugin-Interface hinzu, ohne den Kern zu berühren. Der Frage-Detektor ist regelbasiert; die übrigen laufen auf einem Open-Weight-, Ollama-kompatiblen LLM mit Confidence-Werten und Kontext-Regeln — bewusst auf Präzision getrimmt (Guards gegen Falsch-Positive) statt auf eifriges Etikettieren.
  • Ein wachsendes, quellenbelegtes Label-Set. Über die ersten fünf Strategien (Frage, Ausweichen, Angriff, Strohmann, Gish-Gallop) hinaus deckt das Set nun Whataboutism, Tu quoque und geladene Frage / voreingenommenes Framing ab — plus die ersten konstruktiven Marker (Evidenz-Bezug, Zugeständnis, Anerkennung), damit die Analyse nicht nur Bad-Faith-Züge zeigt.
  • Ein typisierter Beziehungsgraph. Aussagen werden mit Content-Verifikation und typisierten Kanten verknüpft (antwortet-auf, widerspricht, stützt, Themenwechsel) und in einem Graph-Store persistiert; embedding-basierte Themenwechsel-Erkennung (BGE-M3) treibt Segmentierung und Beziehungs-Neuzuordnung.
  • Ein Explorer, kein Report. Eine React-+-Cytoscape-GUI stellt die annotierte Debatte als interaktiven Graphen dar — mit Farb-Legende, quellenbelegter Theorie-&-Methodik-Seite, In-App-Pflege von Sprechern und Beispielen und kraftbasierter Entzerrung dichter Graphen.
  • Rechtlich saubere Daten by Design. Der Demo-Korpus basiert auf gemeinfreien Bundestags-Plenarprotokollen (§ 5 UrhG) plus einer US-Präsidentschaftsdebatte — bewusst so gewählt, dass das ausgelieferte Produkt keinen Rechte-Ballast trägt; Quellen benannt, nur analysierte Auszüge committet.
  • Echte Test- und CI-Disziplin. CI läuft Typecheck, Unit-Tests, Integrationstests gegen eine echte Graph-Datenbank und ein Lizenz-Gate (nur permissive Lizenzen, Funde in ADRs dokumentiert); die Pipeline wurde end-to-end gegen ein echtes lokales LLM ausgeführt, nicht nur statisch geprüft.

Das Ergebnis

  • Ein funktionierendes End-to-End-System: eine Debatte geht rein, ein annotierter typisierter Graph kommt raus, im Browser als interaktive Cytoscape-Ansicht — alle Detektoren gegen ein echtes Open-Weight-LLM.
  • Deployt und hinter Review-Login. Das Frontend ist unter einer privaten URL hinter HTTP Basic Auth live; das Fastify-Backend läuft auf einem eigenen Rechner, erreichbar über einen Tailscale-Funnel, mit einer end-to-end verifizierten Login-Kette (Browser → Vercel-Edge → Backend).
  • Substanzielle, ehrliche Engineering-Doku: ein PRD (~35 User Stories), 16+ ADRs, die Entscheidungen samt verworfener Alternativen festhalten, und ein dokumentierter Satz realer Eingabe-Limitationen (Diarisierungs-Rauschen, fehlende Sprecher-Labels), den die Ingestion als Warnungen-als-Daten abfängt statt zu crashen.
  • Eine wahrhaftige „heute vs. Roadmap"-Trennung: ausgeliefert sind heute Kern-Pipeline, Detektor-Set und Explorer; auf der Roadmap stehen ein gold-annotierter Genauigkeits-Korpus, weitere GUI-Ansichten (Qualitätsachse, Konvergenz-Ansicht), Debatten-Vergleich und Englisch als vollwertige zweite Sprache.

Was das zeigt

  • Interdisziplinäre Bandbreite, durchgängig verantwortet: angewandtes NLP/LLM (präzisionsgetrimmte Detektoren, Prompt-Engineering), Graph-Datenmodellierung, eine saubere Pipeline-Architektur, ein React/Cytoscape-Frontend und CI/Deployment.
  • Sicherheit bei echt schwierigen, unscharfen Problemen — rhetorische Funktion benennen ohne zu moralisieren, unsaubere Echt-Transkripte überstehen — nicht nur CRUD.
  • Architektur zuerst, entscheidungsgetrieben: Adapter- und Plugin-Nahtstellen, Konfiguration statt Verdrahtung, und eine ADR-Spur, die das Warum zeigt, nicht nur das Was.
  • Rechts- und Lizenz-Sorgfalt passend zu einem Verkaufsprodukt: gemeinfreie Quelldaten, ein Gate nur für permissive Dependencies, Quellen benannt.
  • Moderne, KI-gestützte Umsetzung, vom Menschen gesteuert und kuratiert — die starke Idee eines anderen in ein poliertes, dokumentiertes, deploytes Produkt verwandelt.

Technik auf einen Blick

TypeScript · Node / Fastify · Apache AGE (Graph-DB) · Embedded Graph-Store · LLM (Ollama-kompatibel, Open-Weight) · BGE-M3-Embeddings · React · Cytoscape · Vite · Docker · CI (GitHub Actions) · Tailscale-Funnel