# ARSXAI8 - Algorithmic Recursive Sequence Analysis with Explainable AI ## 📖 Inhaltsverzeichnis 1. [Einführung und Zielsetzung](#-einführung-und-zielsetzung) 2. [Hauptmerkmale](#-hauptmerkmale) 3. [Installation](#-installation) 4. [Integrierte Modelle](#-integrierte-modelle) 5. [XAI-Komponenten](#-xai-komponenten) 6. [Dateiformate](#-dateiformate) 7. [Benutzeroberfläche](#-benutzeroberfläche) 8. [Bedienungsanleitung](#-bedienungsanleitung) 9. [Beispiele](#-beispiele) 10. [Exportformate](#-exportformate) 11. [Fehlerbehebung](#-fehlerbehebung) 12. [Mitwirken](#-mitwirken) 13. [Lizenz](#-lizenz) --- ## 🎯 Einführung und Zielsetzung **ARSXAI8** ist eine universelle Analyseplattform für sequenzielle Daten mit Fokus auf **Explainable AI (XAI)**. Das Programm integriert sechs verschiedene Modellierungsansätze, um aus beliebigen Terminalzeichenketten (z.B. Dialogtranskripte, Prozessabläufe, Verhaltenssequenzen) automatisch strukturelle Regeln abzuleiten und diese für den Menschen **nachvollziehbar zu erklären**. ### Kernziele - **Universalität**: Analyse beliebiger Sequenzen, nicht nur vordefinierter Domänen - **Multi-Modell-Ansatz**: Sechs verschiedene Modelle für unterschiedliche Perspektiven - **Erklärbarkeit**: Transparente Darstellung der Ableitungsprozesse und Entscheidungen - **Vergleichbarkeit**: Konsens- und Diskrepanzanalyse zwischen Modellen - **Generierung**: Synthetische Erzeugung neuer Sequenzen aus gelernten Strukturen ### Hauptanwendungsgebiete | Bereich | Anwendung | |---------|-----------| | **Dialoganalyse** | Verkaufsgespräche, Beratungen, Therapiegespräche | | **Prozessanalyse** | Workflow-Muster, Produktionsabläufe, Geschäftsprozesse | | **Verhaltensanalyse** | Aktionssequenzen, Interaktionsmuster, Nutzerverhalten | | **Code-Analyse** | Programmabläufe, API-Aufrufsequenzen, Log-Analyse | | **Wissenschaft** | Sequenzmuster in beliebigen Domänen, Modellvergleiche | --- ## 🌟 Hauptmerkmale ### 📊 **Multi-Modell-Architektur** - **6 integrierte Modelle** mit einheitlichem XAI-Interface - Gleichzeitiges Training aller Modelle - Modellvergleich mit Konsensanalyse ### 🔍 **Mehrere Ableitungsstrategien** - Positionsbasierte Kodierung - Musterbasierte Kodierung - Statistisch basierte Kodierung - Konsensbildung über Mehrheitsentscheidung ### 💡 **XAI-Komponenten** - Interaktiver Erklärer ("Warum?") - Modellvergleich für beliebige Symbole - Konfidenzmetriken für alle Ableitungen - Was-wäre-wenn Simulationen ### 🎨 **Umfangreiche Visualisierungen** - Kodierungsvergleich als Heatmap - Modell-Konfidenzen im Vergleich - Automaten-Graph (mit Graphviz) - Textuelle Alternativen bei fehlender Grafik ### 📤 **Multi-Format Export** - JSON (maschinenlesbar) - CSV (Tabellenkalkulation) - HTML (interaktiver Bericht) - LaTeX (wissenschaftliche Publikationen) --- ## 💻 Installation ### Systemvoraussetzungen - **Python**: 3.8 oder höher - **RAM**: 4 GB (empfohlen) - **Festplatte**: 500 MB für Abhängigkeiten - **OS**: Windows, macOS, Linux ### Automatische Installation ```bash # Repository klonen git clone https://github.com/yourusername/ARSXAI8.git cd ARSXAI8 # Programm starten (Pakete werden automatisch installiert) python ARSXAI8.py ``` ### Manuelle Installation ```bash # Alle Abhängigkeiten installieren pip install numpy scipy matplotlib hmmlearn sklearn-crfsuite sentence-transformers networkx torch seaborn tabulate graphviz ``` ### Graphviz (für Automaten-Visualisierung) **Windows:** ```bash # Mit Chocolatey (als Administrator) choco install graphviz # Oder manuell: https://graphviz.org/download/ # Installationspfad muss im SYSTEM-PATH sein ``` **Linux:** ```bash sudo apt-get install graphviz # Ubuntu/Debian ``` **macOS:** ```bash brew install graphviz ``` --- ## 🧠 Integrierte Modelle | Modell | Klasse | Beschreibung | XAI-Fokus | |--------|--------|--------------|-----------| | **ARS 2.0** | `ARS20` | Einfache Bigramm-Übergangswahrscheinlichkeiten | Transparente Wahrscheinlichkeiten | | **ARS 3.0** | `GrammarInducer` | Hierarchische Grammatik mit Nonterminalen | Mustererkennung und Kompression | | **HMM** | `ARSHiddenMarkovModel` | Bayessche Netze für latente Phasen | Verborgene Zustände | | **CRF** | `ARSCRFModel` | Conditional Random Fields | Feature-Wichtigkeit | | **Petri-Netz** | `ARSPetriNet` | Ressourcen-basierte Prozessmodellierung | Token und Aktivierung | | **Generator** | `ChainGenerator` | Synthetische Ketten aus Modellen | Generierungserklärung | ### Modell-Vergleich ```python # Jedes Modell liefert einheitliche Erklärungen modell.explain(symbol) -> { 'model': "ARS 2.0", 'confidence': 0.85, 'content': ["Erklärung Zeile 1", "Erklärung Zeile 2"] } ``` --- ## 🔬 XAI-Komponenten ### 1. **Interaktiver Erklärer** (`InteractiveExplainer`) ```python # Warum wurde Symbol so kodiert? explainer.why_symbol("KBBd") >>> 🔍 Erklärung für Symbol 'KBBd': ============================================================ Konsens-Kodierung: 00100 Übereinstimmung: 67% Positionsbasiert: Kunde | Phase: Bedarf (Pos.3.2) | Basis Musterbasiert: Kunde | Phase: Bedarf (Nachbarn: VBBd) | Basis Statistisch: Kunde | Phase: Bedarf (Häufigkeit: 22%) | Basis ``` ### 2. **Modellvergleich** (`XAIModelManager`) ```python # Alle aktiven Modelle vergleichen manager.compare_models("KBBd") >>> ARS 2.0: Übergang KBBd→VBBd mit 85% ARS 3.0: KBBd ist Teil von NT_BEDARF HMM: KBBd in Phase 1 mit 78% ``` ### 3. **Konfidenzmetriken** Jede Ableitung wird mit einer Konfidenz versehen: | Konfidenz | Bedeutung | Darstellung | |-----------|-----------|-------------| | > 0.7 | Hohe Konfidenz | ★★★★☆ (grün) | | 0.4 - 0.7 | Mittlere Konfidenz | ★★★☆☆ (orange) | | < 0.4 | Niedrige Konfidenz | ★★☆☆☆ (rot) | ### 4. **Was-wäre-wenn Simulation** Simulation alternativer Kodierungen und deren Auswirkungen auf die Modelle. --- ## 📁 Dateiformate ### Eingabeformat (Transkriptdatei) ```txt # Kommentare beginnen mit # # Trennzeichen: Komma, Semikolon oder Leerzeichen # Transkript 1: Standard KBG, VBG, KBBd, VBBd, KBA, VBA, VAA, KAA, VAV, KAV # Transkript 2: Mit Wiederholung KBG, VBG, KBBd, VBBd, KBBd, VBBd, KBA, VBA, VAA, KAA, VAV, KAV # Leerzeilen werden ignoriert ``` **Formatregeln:** - Eine Kette pro Zeile - Kommentare mit `#` am Zeilenanfang - Symbole durch Trennzeichen getrennt - Leere Zeilen werden ignoriert ### Beispiel: Verkaufsgespräche Die Beispieltranskripte verwenden folgende Symbole: | Symbol | Bedeutung | |--------|-----------| | KBG | Kunden-Begrüßung | | VBG | Verkäufer-Begrüßung | | KBBd | Kunden-Bedarf (konkret) | | VBBd | Verkäufer-Nachfrage | | KBA | Kunden-Antwort | | VBA | Verkäufer-Reaktion | | KAE | Kunden-Erkundigung | | VAE | Verkäufer-Auskunft | | KAA | Kunden-Abschluss | | VAA | Verkäufer-Abschluss | | KAV | Kunden-Verabschiedung | | VAV | Verkäufer-Verabschiedung | --- ## 🖥️ Benutzeroberfläche ### Hauptfenster ``` ┌─────────────────────────────────────────────────────────────────┐ │ ARSXAI8 - Algorithmic Recursive Sequence Analysis with Explainable AI │ ├──────────────────────┬──────────────────────────────────────────┤ │ EINGABE │ AUSGABE (Notebook-Tabs) │ │ │ │ │ Trennzeichen: │ ┌─────────────────────────────────────┐ │ │ ○ Komma ○ Semikolon │ │ Kodierung | Modelle | Automat | XAI | │ │ ○ Leerzeichen ○ | │ └─────────────────────────────────────┘ │ │ │ │ │ Transkripte: │ Kodierungsergebnisse: │ │ ┌──────────────────┐ │ ╔═════════════════════════════════════╗ │ │ │ KBG, VBG, KBBd, │ │ ║ POSITIONSBASIERTE KODIERUNG ║ │ │ │ KBBd, VBBd, KBA, │ │ ║ Konfidenz: 78% ║ │ │ │ VAA, KAA, VAV │ │ ║ KBG: 00000 ║ │ │ └──────────────────┘ │ ║ VBG: 10000 ║ │ │ │ ║ KBBd: 00100 ║ │ │ [Datei laden] [Parsen]│ ╚═════════════════════════════════════╝ │ │ │ │ │ ✓ 15 Ketten geladen │ │ ├──────────────────────┴──────────────────────────────────────────┤ │ Status: Alle Modelle trainiert [=====▶ ] │ └─────────────────────────────────────────────────────────────────┘ ``` ### Tabs im Überblick | Tab | Funktion | Inhalt | |-----|----------|--------| | **Kodierung** | Ableitungsstrategien | Ergebnisse von Position, Muster, Statistik | | **Modelle** | Modellverwaltung | Checkboxen, Trainingsstatus, Konfidenzen | | **Automat** | Automaten-Lernen | Gelernte Regeln, Validierung | | **XAI** | Erklärungen | Interaktive Fragen, Modellvergleich | | **Generierung** | Synthese | Neue Ketten aus Modellen | | **Statistiken** | Kennzahlen | Verteilungen, Häufigkeiten | ### Menüstruktur ``` Datei ├── Transkripte laden ├── Beispiel laden ├── Exportieren │ ├── JSON │ ├── CSV │ ├── HTML (Bericht) │ └── LaTeX └── Beenden Analyse ├── Alle Strategien anwenden ├── Alle Modelle trainieren ├── Automaten lernen └── Validierung durchführen XAI ├── Erklärung für Symbol ├── Modellvergleich ├── Konfidenzen vergleichen └── Was-wäre-wenn Generierung ├── Mit ARS 2.0 generieren ├── Mit ARS 3.0 generieren └── Mit HMM generieren Visualisierung ├── Kodierungsvergleich ├── Modell-Konfidenzen └── Automaten-Graph Hilfe ├── Modulstatus └── Über ``` --- ## 📘 Bedienungsanleitung ### Schritt-für-Schritt #### 1. **Daten laden** **Option A - Datei:** - Klicken Sie auf "Datei laden" - Wählen Sie eine Textdatei mit Transkripten - Das Programm parst automatisch **Option B - Beispiel:** - Klicken Sie auf "Beispiel" - Lädt vordefinierte Verkaufsgespräche **Option C - Direkteingabe:** - Geben Sie Ketten direkt ins Textfeld ein - Eine Kette pro Zeile - Kommentare mit `#` möglich #### 2. **Trennzeichen wählen** Wählen Sie das in Ihrer Datei verwendete Trennzeichen: - **Komma (,)**: `KBG, VBG, KBBd` - **Semikolon (;)**: `KBG; VBG; KBBd` - **Leerzeichen**: `KBG VBG KBBd` - **Benutzerdefiniert**: z.B. `|` #### 3. **Analyse starten** Nach dem Laden startet die Analyse automatisch: 1. **Validierung** - Prüft Datenqualität 2. **Kodierungsstrategien** - Drei Strategien werden angewandt 3. **Modell-Training** - Alle sechs Modelle werden trainiert 4. **Konsensbildung** - Mehrheitsentscheidung über Kodierung #### 4. **Modelle erkunden** **Modelle-Tab:** - Sehen Sie alle registrierten Modelle - Aktivieren/deaktivieren Sie Modelle per Checkbox - Trainingsstatus und Konfidenzen werden angezeigt **Kodierung-Tab:** - Vergleichen Sie die drei Ableitungsstrategien - Sehen Sie den Konsens mit Übereinstimmungswerten - ⚠️ markiert unsichere Kodierungen #### 5. **XAI-Fragen stellen** **XAI-Tab:** - Geben Sie ein Symbol ein (z.B. "KBBd") - Klicken Sie "Warum?" für detaillierte Erklärung - Klicken Sie "Modelle vergleichen" für Multi-Perspektive **Was-wäre-wenn:** 1. Klicken Sie "Was-wäre-wenn" 2. Wählen Sie Symbol, alternativen Code und Modell 3. Sehen Sie simulierte Auswirkungen #### 6. **Generierung** **Generierung-Tab:** - Wählen Sie ein Quellmodell (ARS 2.0, ARS 3.0, HMM) - Stellen Sie die Anzahl ein - Klicken Sie "Generieren" - Neue Ketten werden basierend auf gelernten Strukturen erzeugt #### 7. **Visualisierungen** **Kodierungsvergleich:** - Menü: Visualisierung → Kodierungsvergleich - Zeigt Heatmap der 5-Bit-Codes aller Strategien **Modell-Konfidenzen:** - Menü: Visualisierung → Modell-Konfidenzen - Balkendiagramm aller Modell-Konfidenzen **Automaten-Graph:** - Menü: Visualisierung → Automaten-Graph - Zeigt Zustände und Übergänge (mit Graphviz) #### 8. **Exportieren** 1. Menü: Datei → Exportieren 2. Wählen Sie Format: - **JSON**: Für Weiterverarbeitung - **CSV**: Für Tabellenkalkulation - **HTML**: Interaktiver Bericht - **LaTeX**: Für wissenschaftliche Publikationen --- ## 💡 Beispiele ### Beispiel 1: Einfache Analyse **Eingabe:** ``` # Einfaches Gespräch KBG, VBG, KBBd, VBBd, KBA, VBA, VAA, KAA, VAV, KAV ``` **Erwartete Ausgabe:** - Alle Modelle werden trainiert - Hohe Konfidenz (>85%) für alle Ableitungen - Konsens-Kodierung wird gebildet ### Beispiel 2: Modellvergleich **Frage:** "Warum ist KBBd = 00100?" **ARS 2.0:** "KBBd geht zu 85% in VBBd über" **ARS 3.0:** "KBBd ist Teil des Musters KBBd→VBBd→KBA" **HMM:** "KBBd ist mit 92% in Phase 1 (Bedarf)" **CRF:** "Feature 'prefix_K' (+2.3) unterstützt diese Zuordnung" ### Beispiel 3: Generierung **Mit ARS 2.0 generiert:** ``` 1. KBG → VBG → KBBd → VBBd → KBA → VBA → VAA → KAA → VAV → KAV 2. KBG → VBG → KBBd → VBBd → KBBd → VBBd → KBA → VAA → KAA → VAV → KAV 3. KBG → VBG → KBBd → VBBd → KBA → VBA → KAE → VAE → VAA → KAA → VAV → KAV ``` --- ## 📊 Exportformate ### JSON (maschinenlesbar) ```json { "coding": { "KBG": { "code": "00000", "agreement": 1.0, "confidence": 0.95 } }, "model_comparison": { "ARS20": { "name": "ARS 2.0", "confidence": 0.85, "trained": true } } } ``` ### CSV (Tabellenkalkulation) ```csv Symbol,Code,Konfidenz,Modell KBG,00000,95%,ARS20 VBG,10000,92%,ARS20 ``` ### HTML (Interaktiver Bericht) - Kodierungstabellen mit farbigen Konfidenzen - Modell-Infoboxen mit Beschreibungen - Export-Datum und Statistiken ### LaTeX (Wissenschaftlich) ```latex \documentclass{article} \begin{document} \section{ARSXAI8 Analyseergebnisse} \begin{tabular}{lll} Symbol & Code & Konfidenz \\ KBG & 00000 & 95\% \\ \end{tabular} \end{document} ``` --- ## 🔧 Fehlerbehebung ### Häufige Probleme #### 1. **"Keine gültigen Ketten gefunden"** - **Ursache**: Falsches Trennzeichen oder leere Datei - **Lösung**: Trennzeichen überprüfen, Dateiformat kontrollieren #### 2. **Warnung: "Ähnliche Symbole"** - **Ursache**: Mögliche Tippfehler (z.B. "KBG" und "KBG ") - **Lösung**: Symbole auf Konsistenz prüfen #### 3. **Graphviz-Fehler** ``` failed to execute WindowsPath('dot') ``` - **Ursache**: Graphviz Systembibliothek fehlt - **Lösung**: Graphviz installieren und PATH setzen #### 4. **Niedrige Konfidenz bei Modellen** - **Ursache**: Zu wenige Daten oder inkonsistente Muster - **Lösung**: Mehr Daten sammeln oder Modelle deaktivieren ### Modul-Fehler | Fehler | Lösung | |--------|--------| | "hmmlearn nicht installiert" | `pip install hmmlearn` | | "sklearn-crfsuite nicht installiert" | `pip install sklearn-crfsuite` | | "sentence-transformers fehlt" | `pip install sentence-transformers` | --- ## 🤝 Mitwirken Beiträge sind willkommen! ### Entwicklungsumgebung ```bash # Repository forken git clone https://github.com/yourusername/ARSXAI8.git cd ARSXAI8 # Virtuelle Umgebung python -m venv venv source venv/bin/activate # Linux/Mac venv\Scripts\activate # Windows # Entwicklungspakete pip install -r requirements-dev.txt ``` ### Code-Stil - PEP 8 für Python-Code - Docstrings für alle öffentlichen Methoden - Typannotationen wo sinnvoll - Kommentare auf Deutsch oder Englisch ### Issue-Template ```markdown **Beschreibung:** Kurze Beschreibung des Problems **Schritte zu reproduzieren:** 1. ... 2. ... **Erwartetes Verhalten:** ... **Tatsächliches Verhalten:** ... **Umgebung:** - OS: ... - Python: ... - ARSXAI8 Version: ... ``` --- ## 📄 Lizenz ARSXAI8 ist unter der **MIT-Lizenz** veröffentlicht. ``` MIT License Copyright (c) 2024 Explainable AI Research Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files... ``` --- ## 📚 Zitation Wenn Sie ARSXAI8 in wissenschaftlichen Arbeiten verwenden, bitte wie folgt zitieren: ```bibtex @software{ARSXAI8, author = {Koop, Paul}, title = {ARSXAI8: Algorithmic Recursive Sequence Analysis with Explainable AI}, year = {2024}, url = {https://github.com/yourusername/ARSXAI8} } ``` --- ## 🙏 Danksagung - **hmmlearn** - Für die HMM-Implementierung - **sklearn-crfsuite** - Für die CRF-Implementierung - **Graphviz** - Für Automaten-Visualisierung - **Sentence-Transformers** - Für semantische Analysen --- **Entwickelt mit ❤️ für erklärbare Künstliche Intelligenz**