- 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
172 lines
5.0 KiB
Markdown
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.
|