Files
meeting-lab/README.md
T
admin 90aa34d5d0 Implement Semantic Consolidator V0
- add deterministic canonicalization support for extraction items
- add facts-only semantic consolidation using local Ollama
- preserve source evidence and validate complete fact coverage
- add conservative merge rules and non-LLM tests
- record the first validated real-life consolidation benchmark
- document current scope, limitations and next evaluation step
2026-07-31 11:25:46 +02:00

172 lines
5.0 KiB
Markdown

# Meeting Lab
Experimentierumgebung zur Entwicklung eines lokalen Diskussionsanalyzers für Meetingtranskripte.
## Ziel
Das Meeting Lab dient dazu, Verfahren zur Analyse realer Meetingtranskripte zu entwickeln und zu evaluieren.
Im Mittelpunkt steht nicht die Softwarearchitektur, sondern die Frage:
> **Wie lässt sich aus einem realen Meeting möglichst zuverlässig strukturiertes Wissen extrahieren?**
Neue Ideen werden zunächst hier experimentell umgesetzt. Erst wenn sich ein Ansatz bewährt hat, wird er in den eigentlichen *Meeting Assistant* übernommen.
---
## Grundidee
Klassische Meeting-Zusammenfassungen versuchen, das gesamte Transkript in einem einzigen Schritt zu verstehen und zusammenzufassen.
Das funktioniert bei realen Diskussionen nur eingeschränkt, da Themen häufig
- begonnen,
- unterbrochen,
- später wieder aufgenommen,
- ergänzt oder
- relativiert
werden.
Deshalb verfolgt das Meeting Lab einen mehrstufigen Analyseansatz.
```text
Meeting
↓
Normalisierung
↓
Diskussionsblöcke
↓
Themensegmentierung
↓
Extraktion
↓
Deterministic Canonicalizer
↓
Semantic Consolidator
↓
Canonical Meeting Knowledge
↓
Arbeitsprotokoll / Verteilerprotokoll / Knowledge Objects
```
Jeder Verarbeitungsschritt löst genau eine klar definierte Aufgabe.
---
## Entwicklungsprinzipien
- Kleine, klar abgegrenzte Verarbeitungsschritte
- Ein Modul = eine Aufgabe
- Deterministische Vorverarbeitung
- Nachvollziehbare Ergebnisse
- Reproduzierbare Experimente
- Lokale Ausführung ohne Cloud-Abhängigkeit
---
## Repository-Struktur
```text
meeting-lab/
├── src/ # Quellcode
├── prompts/ # LLM-Prompts
├── experiments/ # Reproduzierbare Experimente
├── samples/ # Beispieltranskripte
├── tests/ # Tests
├── docs/ # Dokumentation
└── pyproject.toml
```
---
## Aktuelle Pipeline
```text
Whisper
↓
normalize_transcript.py
↓
chunk_transcript.py
↓
(segment_topics.py)
↓
Extraktoren
↓
Deterministic Canonicalizer
↓
Semantic Consolidator
↓
Canonical Meeting Knowledge
↓
Output-Ansichten
```
Der aktuelle Architekturmeilenstein trennt deterministische Kanonisierung der
Chunk-Extraktionen von semantischer Konsolidierung. Die Kanonisierung validiert
und normalisiert Extraktionsobjekte ohne LLM. Semantic Consolidator V0 nutzt
das lokale LLM nur fuer konservative facts-only Duplikaterkennung, erhaelt
Evidenz und erzeugt noch keine Canonical Meeting Knowledge.
Das Meeting Lab behandelt "das Protokoll" nicht mehr als ein einzelnes
Endprodukt. Das konsolidierte Meeting-Wissen ist die **Canonical Meeting
Knowledge**, also die kanonische semantische Repräsentation eines Meetings und
die Single Source of Truth für alle nachgelagerten Ausgaben.
Aus dieser Canonical Meeting Knowledge entstehen drei unabhängige
Output-Ansichten:
- Working Protocol (`working_protocol.md`, Arbeitsprotokoll): relativ vollständig, mit Kontext,
Begründungen, Entscheidungen, Aufgaben und offenen Fragen.
- Distribution Protocol (`distribution_protocol.md`, Verteilerprotokoll): deutlich kürzer,
ergebnisorientiert und für Kolleginnen, Management oder Stakeholder geeignet.
- Knowledge Objects, dargestellt zum Beispiel als Knowledge-base Entry
(`knowledge_entry.md`) oder später strukturiert gespeichert, zum Beispiel als
`knowledge_entry.json` (Wissensdatenbankeintrag).
Diese Ausgaben sind parallele Renderings desselben semantischen Modells. Das
Arbeitsprotokoll ist nicht die Quelle des Verteilerprotokolls, und das
Verteilerprotokoll ist nicht die Quelle der Knowledge Objects.
Gerenderte Protokolle sollen normalerweise in der dominanten Sprache des
Quelltranskripts beziehungsweise der konsolidierten Meeting Knowledge erstellt
werden, sofern keine explizite Ausgabesprache angefordert wurde.
---
## Projektstatus
Aktuell liegt der Schwerpunkt auf der Entwicklung eines modularen
Diskussionsanalyzers. Implementiert sind Vorverarbeitung, technisches Chunking,
lokale Chunk-Extraktion, Canonicalizer V1 als deterministische Vorbereitung der
Extraktionsergebnisse und Semantic Consolidator V0 fuer facts-only
Duplikaterkennung. Canonical Meeting Knowledge, breitere semantische Synthese
und finale Output-View-Renderer sind geplante nächste Schritte.
Canonicalizer V1 kann aus dem Repository heraus so ausgeführt werden:
```text
PYTHONPATH=src .venv/bin/python -m meeting_lab.consolidation.canonicalize \
samples/whisper/meeting_speech_cleaned_chunks \
-o /tmp/canonicalized_extractions.json
```
Semantic Consolidator V0 kann auf dem Canonicalizer-Output ausgefuehrt werden:
```text
PYTHONPATH=src .venv/bin/python -m meeting_lab.consolidation.consolidate_facts \
samples/benchmarks/canonicalizer_v1/canonicalized_extractions.json \
-o samples/benchmarks/semantic_consolidator_v0 \
--model qwen3.5:9B \
--endpoint http://127.0.0.1:11434/api/generate \
--no-think
```
Die eigentliche Ausgabeerzeugung ist bewusst der letzte Verarbeitungsschritt.
---
## Lizenz
Noch nicht festgelegt.