Merge remote-tracking branch 'origin'
This commit is contained in:
4
.obsidian/app.json
vendored
4
.obsidian/app.json
vendored
@@ -1 +1,3 @@
|
|||||||
{}
|
{
|
||||||
|
"promptDelete": false
|
||||||
|
}
|
||||||
5
.obsidian/appearance.json
vendored
5
.obsidian/appearance.json
vendored
@@ -1 +1,4 @@
|
|||||||
{}
|
{
|
||||||
|
"cssTheme": "Typewriter",
|
||||||
|
"accentColor": "#805100"
|
||||||
|
}
|
||||||
4
.obsidian/community-plugins.json
vendored
4
.obsidian/community-plugins.json
vendored
@@ -1,3 +1,5 @@
|
|||||||
[
|
[
|
||||||
"obsidian-git"
|
"obsidian-git",
|
||||||
|
"obsidian-style-settings",
|
||||||
|
"obsidian-tasks-plugin"
|
||||||
]
|
]
|
||||||
69
.obsidian/graph.json
vendored
69
.obsidian/graph.json
vendored
@@ -3,20 +3,63 @@
|
|||||||
"search": "",
|
"search": "",
|
||||||
"showTags": true,
|
"showTags": true,
|
||||||
"showAttachments": false,
|
"showAttachments": false,
|
||||||
"hideUnresolved": true,
|
"hideUnresolved": false,
|
||||||
"showOrphans": true,
|
"showOrphans": true,
|
||||||
"collapse-color-groups": true,
|
"collapse-color-groups": false,
|
||||||
"colorGroups": [],
|
"colorGroups": [
|
||||||
"collapse-display": true,
|
{
|
||||||
|
"query": "file:Tasks",
|
||||||
|
"color": {
|
||||||
|
"a": 1,
|
||||||
|
"rgb": 14701138
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"query": "file:Fragen",
|
||||||
|
"color": {
|
||||||
|
"a": 1,
|
||||||
|
"rgb": 14725458
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"query": "path:Exposé ",
|
||||||
|
"color": {
|
||||||
|
"a": 1,
|
||||||
|
"rgb": 11657298
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"query": "path:Thesis ",
|
||||||
|
"color": {
|
||||||
|
"a": 1,
|
||||||
|
"rgb": 5431378
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"query": "path: Themen",
|
||||||
|
"color": {
|
||||||
|
"a": 1,
|
||||||
|
"rgb": 5431473
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"query": "path: Umsetzung ",
|
||||||
|
"color": {
|
||||||
|
"a": 1,
|
||||||
|
"rgb": 5419488
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"collapse-display": false,
|
||||||
"showArrow": false,
|
"showArrow": false,
|
||||||
"textFadeMultiplier": 0,
|
"textFadeMultiplier": 0.1,
|
||||||
"nodeSizeMultiplier": 1,
|
"nodeSizeMultiplier": 1.35052083333333,
|
||||||
"lineSizeMultiplier": 1,
|
"lineSizeMultiplier": 3.2390625,
|
||||||
"collapse-forces": true,
|
"collapse-forces": false,
|
||||||
"centerStrength": 0.518713248970312,
|
"centerStrength": 0.942708333333333,
|
||||||
"repelStrength": 10,
|
"repelStrength": 20,
|
||||||
"linkStrength": 1,
|
"linkStrength": 0.5625,
|
||||||
"linkDistance": 250,
|
"linkDistance": 30,
|
||||||
"scale": 1.0534979423868305,
|
"scale": 0.25972394690573425,
|
||||||
"close": false
|
"close": false
|
||||||
}
|
}
|
||||||
165
.obsidian/plugins/obsidian-style-settings/main.js
vendored
Normal file
165
.obsidian/plugins/obsidian-style-settings/main.js
vendored
Normal file
File diff suppressed because one or more lines are too long
10
.obsidian/plugins/obsidian-style-settings/manifest.json
vendored
Normal file
10
.obsidian/plugins/obsidian-style-settings/manifest.json
vendored
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
{
|
||||||
|
"id": "obsidian-style-settings",
|
||||||
|
"name": "Style Settings",
|
||||||
|
"version": "1.0.9",
|
||||||
|
"minAppVersion": "0.11.5",
|
||||||
|
"description": "Offers controls for adjusting theme, plugin, and snippet CSS variables.",
|
||||||
|
"author": "mgmeyers",
|
||||||
|
"authorUrl": "https://github.com/mgmeyers/obsidian-style-settings",
|
||||||
|
"isDesktopOnly": false
|
||||||
|
}
|
||||||
243
.obsidian/plugins/obsidian-style-settings/styles.css
vendored
Normal file
243
.obsidian/plugins/obsidian-style-settings/styles.css
vendored
Normal file
File diff suppressed because one or more lines are too long
504
.obsidian/plugins/obsidian-tasks-plugin/main.js
vendored
Normal file
504
.obsidian/plugins/obsidian-tasks-plugin/main.js
vendored
Normal file
File diff suppressed because one or more lines are too long
12
.obsidian/plugins/obsidian-tasks-plugin/manifest.json
vendored
Normal file
12
.obsidian/plugins/obsidian-tasks-plugin/manifest.json
vendored
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
{
|
||||||
|
"id": "obsidian-tasks-plugin",
|
||||||
|
"name": "Tasks",
|
||||||
|
"version": "7.22.0",
|
||||||
|
"minAppVersion": "1.4.0",
|
||||||
|
"description": "Track tasks across your vault. Supports due dates, recurring tasks, done dates, sub-set of checklist items, and filtering.",
|
||||||
|
"helpUrl": "https://publish.obsidian.md/tasks/",
|
||||||
|
"author": "Clare Macrae and Ilyas Landikov (created by Martin Schenck)",
|
||||||
|
"authorUrl": "https://github.com/obsidian-tasks-group",
|
||||||
|
"fundingUrl": "https://github.com/sponsors/claremacrae",
|
||||||
|
"isDesktopOnly": false
|
||||||
|
}
|
||||||
1
.obsidian/plugins/obsidian-tasks-plugin/styles.css
vendored
Normal file
1
.obsidian/plugins/obsidian-tasks-plugin/styles.css
vendored
Normal file
File diff suppressed because one or more lines are too long
8
.obsidian/themes/Prism/manifest.json
vendored
Normal file
8
.obsidian/themes/Prism/manifest.json
vendored
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
{
|
||||||
|
"name": "Prism",
|
||||||
|
"version": "3.7.0",
|
||||||
|
"minAppVersion": "1.9.0",
|
||||||
|
"author": "Damian Korcz",
|
||||||
|
"authorUrl": "https://github.com/damiankorcz",
|
||||||
|
"fundingUrl": "https://www.buymeacoffee.com/DamianKorcz"
|
||||||
|
}
|
||||||
11287
.obsidian/themes/Prism/theme.css
vendored
Normal file
11287
.obsidian/themes/Prism/theme.css
vendored
Normal file
File diff suppressed because one or more lines are too long
7
.obsidian/themes/Typewriter/manifest.json
vendored
Normal file
7
.obsidian/themes/Typewriter/manifest.json
vendored
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
{
|
||||||
|
"name": "Typewriter",
|
||||||
|
"version": "2.2.4",
|
||||||
|
"minAppVersion": "0.16.0",
|
||||||
|
"author": "crashmoney",
|
||||||
|
"authorUrl": "https://github.com/crashmoney"
|
||||||
|
}
|
||||||
636
.obsidian/themes/Typewriter/theme.css
vendored
Normal file
636
.obsidian/themes/Typewriter/theme.css
vendored
Normal file
File diff suppressed because one or more lines are too long
28
.obsidian/types.json
vendored
Normal file
28
.obsidian/types.json
vendored
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
{
|
||||||
|
"types": {
|
||||||
|
"aliases": "aliases",
|
||||||
|
"cssclasses": "multitext",
|
||||||
|
"tags": "tags",
|
||||||
|
"TQ_explain": "checkbox",
|
||||||
|
"TQ_extra_instructions": "text",
|
||||||
|
"TQ_short_mode": "checkbox",
|
||||||
|
"TQ_show_backlink": "checkbox",
|
||||||
|
"TQ_show_cancelled_date": "checkbox",
|
||||||
|
"TQ_show_created_date": "checkbox",
|
||||||
|
"TQ_show_depends_on": "checkbox",
|
||||||
|
"TQ_show_done_date": "checkbox",
|
||||||
|
"TQ_show_due_date": "checkbox",
|
||||||
|
"TQ_show_edit_button": "checkbox",
|
||||||
|
"TQ_show_id": "checkbox",
|
||||||
|
"TQ_show_on_completion": "checkbox",
|
||||||
|
"TQ_show_postpone_button": "checkbox",
|
||||||
|
"TQ_show_priority": "checkbox",
|
||||||
|
"TQ_show_recurrence_rule": "checkbox",
|
||||||
|
"TQ_show_scheduled_date": "checkbox",
|
||||||
|
"TQ_show_start_date": "checkbox",
|
||||||
|
"TQ_show_tags": "checkbox",
|
||||||
|
"TQ_show_task_count": "checkbox",
|
||||||
|
"TQ_show_tree": "checkbox",
|
||||||
|
"TQ_show_urgency": "checkbox"
|
||||||
|
}
|
||||||
|
}
|
||||||
89
.obsidian/workspace.json
vendored
89
.obsidian/workspace.json
vendored
@@ -4,17 +4,21 @@
|
|||||||
"type": "split",
|
"type": "split",
|
||||||
"children": [
|
"children": [
|
||||||
{
|
{
|
||||||
"id": "d80b160b5712acfe",
|
"id": "0a337572ddbe0554",
|
||||||
"type": "tabs",
|
"type": "tabs",
|
||||||
"children": [
|
"children": [
|
||||||
{
|
{
|
||||||
"id": "1d17ae8f1891c9da",
|
"id": "92b19ec62110b284",
|
||||||
"type": "leaf",
|
"type": "leaf",
|
||||||
"state": {
|
"state": {
|
||||||
"type": "graph",
|
"type": "markdown",
|
||||||
"state": {},
|
"state": {
|
||||||
"icon": "lucide-git-fork",
|
"file": "Themen/Recherche/Automated Essay Scoring.md",
|
||||||
"title": "Graph view"
|
"mode": "source",
|
||||||
|
"source": false
|
||||||
|
},
|
||||||
|
"icon": "lucide-file",
|
||||||
|
"title": "Automated Essay Scoring"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
@@ -74,7 +78,7 @@
|
|||||||
}
|
}
|
||||||
],
|
],
|
||||||
"direction": "horizontal",
|
"direction": "horizontal",
|
||||||
"width": 511.5
|
"width": 255.5
|
||||||
},
|
},
|
||||||
"right": {
|
"right": {
|
||||||
"id": "6a1960f01a2e810f",
|
"id": "6a1960f01a2e810f",
|
||||||
@@ -109,12 +113,12 @@
|
|||||||
"state": {
|
"state": {
|
||||||
"type": "outgoing-link",
|
"type": "outgoing-link",
|
||||||
"state": {
|
"state": {
|
||||||
"file": "Fragen.md",
|
"file": "Tasks.md",
|
||||||
"linksCollapsed": false,
|
"linksCollapsed": false,
|
||||||
"unlinkedCollapsed": true
|
"unlinkedCollapsed": true
|
||||||
},
|
},
|
||||||
"icon": "links-going-out",
|
"icon": "links-going-out",
|
||||||
"title": "Outgoing links from Fragen"
|
"title": "Outgoing links from Tasks"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -124,7 +128,7 @@
|
|||||||
"type": "tag",
|
"type": "tag",
|
||||||
"state": {
|
"state": {
|
||||||
"sortOrder": "frequency",
|
"sortOrder": "frequency",
|
||||||
"useHierarchy": true,
|
"useHierarchy": false,
|
||||||
"showSearch": false,
|
"showSearch": false,
|
||||||
"searchQuery": ""
|
"searchQuery": ""
|
||||||
},
|
},
|
||||||
@@ -152,21 +156,31 @@
|
|||||||
"state": {
|
"state": {
|
||||||
"type": "outline",
|
"type": "outline",
|
||||||
"state": {
|
"state": {
|
||||||
"file": "Fragen.md",
|
"file": "Themen/Orga/Quellen Architektur.md",
|
||||||
"followCursor": false,
|
"followCursor": false,
|
||||||
"showSearch": false,
|
"showSearch": false,
|
||||||
"searchQuery": ""
|
"searchQuery": ""
|
||||||
},
|
},
|
||||||
"icon": "lucide-list",
|
"icon": "lucide-list",
|
||||||
"title": "Outline of Fragen"
|
"title": "Outline of Quellen Architektur"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "48e5fb98d63b2d4f",
|
||||||
|
"type": "leaf",
|
||||||
|
"state": {
|
||||||
|
"type": "git-view",
|
||||||
|
"state": {},
|
||||||
|
"icon": "git-pull-request",
|
||||||
|
"title": "Source Control"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
]
|
],
|
||||||
|
"currentTab": 5
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"direction": "horizontal",
|
"direction": "horizontal",
|
||||||
"width": 300,
|
"width": 300
|
||||||
"collapsed": true
|
|
||||||
},
|
},
|
||||||
"left-ribbon": {
|
"left-ribbon": {
|
||||||
"hiddenItems": {
|
"hiddenItems": {
|
||||||
@@ -180,12 +194,45 @@
|
|||||||
"obsidian-git:Open Git source control": false
|
"obsidian-git:Open Git source control": false
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"active": "1d17ae8f1891c9da",
|
"active": "92b19ec62110b284",
|
||||||
"lastOpenFiles": [
|
"lastOpenFiles": [
|
||||||
"Fragen.md",
|
"Themen/Recherche/Kontext Checking.md",
|
||||||
"Methodologie.md",
|
"Themen/Recherche/Automated Essay Scoring.md",
|
||||||
"Untitled.canvas",
|
"Themen/Recherche/Natural Language Processing.md",
|
||||||
"Welcome.md",
|
"Themen/Orga/User Stories.md",
|
||||||
"Fragen"
|
"Themen/Orga/Epics.md",
|
||||||
|
"Themen/Recherche/Grammatik.md",
|
||||||
|
"Themen/assets/Architecture.png",
|
||||||
|
"Exposé/1_Ziele.md",
|
||||||
|
"Exposé/3_Verwendete_Methoden.md",
|
||||||
|
"Themen/Orga/Quellen Architektur.md",
|
||||||
|
"Themen/Orga/Architektur.md",
|
||||||
|
"Exposé/4_Zeitplan.md",
|
||||||
|
"Exposé/0_Problembeschreibung.md",
|
||||||
|
"Themen/Orga/Untitled",
|
||||||
|
"Umsetzung/1_Core_Layer/Explanation Engine.md",
|
||||||
|
"Themen/Recherche",
|
||||||
|
"Themen/Orga",
|
||||||
|
"Umsetzung/1_Core_Layer/Performance Metric Observator.md",
|
||||||
|
"Umsetzung/1_Core_Layer/Logger.md",
|
||||||
|
"0_Tools",
|
||||||
|
"Tasks.md",
|
||||||
|
"Ideen Vorgehensweise.md",
|
||||||
|
"Umsetzung/3_Service_Layer/Response Orchestrator.md",
|
||||||
|
"Umsetzung/3_Service_Layer/Scoring Model.md",
|
||||||
|
"Umsetzung/3_Service_Layer/API Endpoints.md",
|
||||||
|
"Umsetzung/1_Core_Layer/Plug-In-Manager.md",
|
||||||
|
"Umsetzung/3_Service_Layer/Socket Connector.md",
|
||||||
|
"Umsetzung/2.2_Extended_Analysis_Plugins/Hallucination Checker.md",
|
||||||
|
"Umsetzung/2.2_Extended_Analysis_Plugins/Fact Checker.md",
|
||||||
|
"Umsetzung/2.2_Extended_Analysis_Plugins/Context Checker.md",
|
||||||
|
"Umsetzung/2.1_Analysis_Orchestrator/Workflow.md",
|
||||||
|
"Umsetzung/3_Service_Layer",
|
||||||
|
"Umsetzung/2.2_Extended_Analysis_Plugins",
|
||||||
|
"Umsetzung/2.1_Analysis_Orchestrator",
|
||||||
|
"Umsetzung/2_Core_Analysis",
|
||||||
|
"Umsetzung/1_Core_Layer",
|
||||||
|
"Themen/assets",
|
||||||
|
"Untitled.canvas"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
12
Exposé/0_Problembeschreibung.md
Normal file
12
Exposé/0_Problembeschreibung.md
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
Als 2022 OpenAI ihr #Chatbot ChatGPT der Öffentlichkeit freistellte wurden neue Automatisierungsprozesse ermöglicht. Redundante Arbeit konnte von nun an durch ein Chat-Bot teilweise durchgeführt werden.
|
||||||
|
|
||||||
|
Diese Chat-bots jedoch können Fehler und Falschaussagen in generierte Texte hinzufügen, die schwerwiegende Probleme für Endnutzer:innen erzeugen können, die wir vorher so nicht gesehen hatten.
|
||||||
|
|
||||||
|
Bei der Verfassung und Generierung von Lernmaterial ist ein korrektes lernen von Fachvokabular und Kontext von besonderer Wichtigkeit, diese Thesis versucht eine Lösung für dieses Teilproblem zu lösen.
|
||||||
|
|
||||||
|
Ziel soll es sein eine Applikation zu entwickeln, welche sich zwischen einen Chat-Bot und den Endnutzer:innen schalten kann oder per Copy-Paste einen Text auf folgende Kriterien prüfen soll:
|
||||||
|
- Korrektheit von Kontext bei verwendeten Schlüsselwörtern
|
||||||
|
- Verwendete Grammatik
|
||||||
|
- Kohärenz von Informationen
|
||||||
|
|
||||||
|
Um dies zu erfüllen soll "natural language processing ( #NLP)" verwendet werden. Eine weitere KI würde nur neue Probleme bzw. bereits existierende Probleme nicht immer erfassen können.
|
||||||
17
Exposé/1_Ziele.md
Normal file
17
Exposé/1_Ziele.md
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
---
|
||||||
|
tags:
|
||||||
|
- Ziele
|
||||||
|
---
|
||||||
|
Für diese Thesis werden folgende Ziele definiert:
|
||||||
|
1. Erweiterbare #Architektur/PlugInArchitektur mit mehreren Ebenen #Architektur/Layered
|
||||||
|
1. Ebene für die #NLP
|
||||||
|
2. Ebene für die #API mit der Informationen von bspw. Wikipedia erhalten werden sollen
|
||||||
|
3. Prüfebene
|
||||||
|
2. Startbare #Applikation, mit der man die Übertragenen Informationen von bspw. Ollama an ein #Webinterface abhören kann.
|
||||||
|
1. Die Applikation ist getrennt von der Weboberfläche und von Ollama
|
||||||
|
2. Ist einzeln startbar
|
||||||
|
3. Eine #Webapplikation, die bei Bedarf auf eine #CLI Applikation reduziert werden kann. Bzw. Protokoll ( #JSON) oder #API zur Verfügung stellen.
|
||||||
|
|
||||||
|
Am Ende der Bearbeitungszeit soll eine Teil-Implementation vorliegen, mit der Informationen möglicherweise, die durch ein #Chatbot generiert wurden überprüft werden können.
|
||||||
|
|
||||||
|
Falschinformationen oder Informationen, die bspw. nicht im richtigen Kontext stehen sollen in einem Fenster kenntlich markiert werden.
|
||||||
65
Exposé/3_Verwendete_Methoden.md
Normal file
65
Exposé/3_Verwendete_Methoden.md
Normal file
@@ -0,0 +1,65 @@
|
|||||||
|
---
|
||||||
|
tags:
|
||||||
|
- Methoden
|
||||||
|
---
|
||||||
|
Für das Erstellen der Thesis werden folgende Werkzeuge, die mit folgendem Zweck verwendet werden.
|
||||||
|
|
||||||
|
| Werkzeug | Zweck |
|
||||||
|
| ---------------------------- | -------------------------------------------------------- |
|
||||||
|
| Obsidian | Knowledge Graph, Persönliche Dokumentation, Organisation |
|
||||||
|
| Gitea | Online Repository und Code Organisation, Management |
|
||||||
|
| LaTeX / Typst | Schreiben der Thesis / Exposé |
|
||||||
|
| Zotero | Dokumentation und Datenbank der verwendeten Quellen |
|
||||||
|
| DrawIO / Mermaid | Graphenerstellung |
|
||||||
|
| VSCode | Development Environment |
|
||||||
|
| Python | Ausgewählte Programmiersprache |
|
||||||
|
| Docker / Podman | Containerisierung |
|
||||||
|
| Gitea Actions, Woodpecker CI | CI / CD |
|
||||||
|
| NGINX | Hosting der Dokumentation |
|
||||||
|
| Sphinx | Generierung der Dokumentation |
|
||||||
|
| pylint, yapf, isort | Code Linting |
|
||||||
|
| pre-commit | Linting Überprüfung vor Pushes auf Branches |
|
||||||
|
|
||||||
|
# Repository Strategien
|
||||||
|
|
||||||
|
## Branching
|
||||||
|
Für Sicherheitserhöhung soll parallel zum `main` Branch ein `beta` Branch existieren. Arbeitspakete gehen vom `beta` Branch aus und werden bereits dort durch die CI/CD-Pipeline. Damit soll mehrfach geprüft werden, dass implementierte Module / Features vernünftig funktionieren und Probleme nicht direkt auf den `main` Branch veröffentlicht werden.
|
||||||
|
|
||||||
|
## CI / CD
|
||||||
|
Für die CI/CD Pipeline sind folgende Module von Interesse:
|
||||||
|
1. Linter
|
||||||
|
2. Modultests
|
||||||
|
3. Automatische Generierung der Dokumentation
|
||||||
|
|
||||||
|
Für die CI/CD Pipeline wurde Woodpecker verwendet, dieses lässt sich in die bereits existierende Gitea Instanz hinzufügen. Zusätzlich ermöglicht dies eine Erweiterung der Integration und Development Pipelines im Sinne, dass von dort ein Automatisiertes Prüfen des Code-Stils und anschließend die Dokumentation erneuert werden kann.
|
||||||
|
# Code Stil
|
||||||
|
Für den Code Stil wird sich an die Vorgaben durch Google gehalten, folgender [Styleguide](https://google.github.io/styleguide/pyguide.html) wird dafür verwendet. Dem Linter wird dieses Styleguide ebenfalls übergeben, sodass die Code-Architektur Einheitlich durchgeführt wird.
|
||||||
|
|
||||||
|
Der Code-Stil wird durch mehrere Tools automatisiert begutachtet und beim nicht-einhalten kann kein Merging in den `main` Branch durchgeführt werden. Diese Tools sind folgende: *pre-commit*, *pylint*, *yapf*, *isort*
|
||||||
|
|
||||||
|
## Code Dokumentation
|
||||||
|
Zur Bereitstellung der Dokumentation wird [Sphinx](https://www.sphinx-doc.org/en/master/) verwendet.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# Dokumentation
|
||||||
|
Zusätzlich zur Code-Dokumentation wird in der Thesis die Dokumentation für die Programmnutzung als Anhang hinzugefügt werden.
|
||||||
|
|
||||||
|
|
||||||
|
# Architektur
|
||||||
|
Die Architektur wird anhand mehrere Prinzipien gestützt.
|
||||||
|
## Hybride Plug-in Layer + Pattern Architektur
|
||||||
|
|
||||||
|
## Analysis Orchestrator
|
||||||
|
_"Advantages include decoupling with logic layers, collating many functions, and acting as a centralized controller"_ [gaurgaurav+1](https://www.gaurgaurav.com/patterns/orchestration-pattern/)
|
||||||
|
|
||||||
|
Anhand des Orchestrators wird die Logikschicht und deren Plug-Ins orchestriert, sodass ein zentraler Controller für die Grundfunktionen und Erweiterungen existiert.
|
||||||
|
|
||||||
|
## Core Analysis
|
||||||
|
_"Predefined linguistic rules are used to analyze and process textual data... deterministic in nature, not probabilistic"_ [geeksforgeeks](https://www.geeksforgeeks.org/nlp/rule-based-approach-in-nlp/)
|
||||||
|
|
||||||
|
Dabei wird folgende Regel verfolgt:
|
||||||
|
_"A rule-based model is deterministic in nature... Either a document satisfies a given rule completely or it doesn't"_ [sas](https://support.sas.com/resources/papers/proceedings17/SAS0587-2017.pdf)
|
||||||
|
|
||||||
|
Die Umsetzung erfolgt Algorithmisch anstelle von mit KI wegen folgender Problematik:
|
||||||
|
_"Rule-based approach produces fewer minor hallucinations than neural counterparts"_ [aclanthology](https://aclanthology.org/2024.inlg-main.48.pdf)
|
||||||
6
Exposé/4_Zeitplan.md
Normal file
6
Exposé/4_Zeitplan.md
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
---
|
||||||
|
tags:
|
||||||
|
- Zeitplan
|
||||||
|
- Arbeitspakete
|
||||||
|
- Ziele
|
||||||
|
---
|
||||||
9
Exposé/_Inhalt.md
Normal file
9
Exposé/_Inhalt.md
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
- Eindeutige ... der Arbeit definieren.
|
||||||
|
- Problembeschreibung
|
||||||
|
- Ziele
|
||||||
|
- verwendete Methoden
|
||||||
|
- Wissenschaftlicher und ingenieursmäßige Ansatz erkennbar
|
||||||
|
- Ausgedachte Lösung soll im Zeitrahmen umsetzbar sein. bspw. Zeitplan mit APs
|
||||||
|
- Anmeldung Bachelorthesis akademischen Grad des 2. Prüfers ebenfalls eintragen
|
||||||
|
- Auf dem Anmeldeformular benötigt man Bescheinigung mit genügend ECTS Punkten
|
||||||
|
- Nehmen Sie sich Zeit, die Arbeit vernünftig zu Besp. und zu planen.
|
||||||
20
Fragen.md
20
Fragen.md
@@ -1,13 +1,25 @@
|
|||||||
|
---
|
||||||
|
tags:
|
||||||
|
- Fragen
|
||||||
|
---
|
||||||
|
# Fragen zum Thema und zur Umsetzung
|
||||||
- [ ] Wie ermittel ich Fachgerecht die:
|
- [ ] Wie ermittel ich Fachgerecht die:
|
||||||
- [ ] #Grammatik?
|
- [ ] #Grammatik?
|
||||||
- [ ] #Rechtschreibung?
|
- [ ] #Rechtschreibung?
|
||||||
- [ ] dass sich der ChatBot sich nicht ständig #Wiederholt?
|
- [ ] dass sich der #ChatBot sich nicht ständig #Wiederholt?
|
||||||
- [ ] dass der #Kontext nicht stimmt?
|
- [ ] dass der #Kontext nicht stimmt?
|
||||||
- [ ] dass der #Chatbot keine #Halluzination hat?
|
- [ ] dass der #Chatbot keine #Halluzination hat?
|
||||||
- [ ] dass die #Fakten verdreht wurden?
|
- [ ] dass die #Fakten verdreht wurden?
|
||||||
- [ ] dass #Fakten falsch benannt / dargestellt wurden?
|
- [ ] dass #Fakten falsch benannt / dargestellt wurden?
|
||||||
|
- [ ] #PunktUndKommasetzung?
|
||||||
|
- [ ] Gibt es #Sprachlimitierungen und wenn ja, welche?
|
||||||
|
|
||||||
- [ ] Wie binde ich einen #Chatbot an? (API Schnittstelle)
|
- [ ] Wie binde ich einen #Chatbot an? (API Schnittstelle oder Listen on Port?)
|
||||||
- [ ] Welche #Architektur will ich bevorzugen?
|
- [ ] Welche #Architektur will ich bevorzugen?
|
||||||
- [ ] Wie kann ich meine Software #Testen?
|
- [ ] Wie kann ich meine #Software #Testen?
|
||||||
- [ ] Kann ich mit einem geeignetten #Datensatz fachgerecht #Testen?
|
- [ ] Kann ich mit einem geeigneten #Datensatz fachgerecht #Testen?
|
||||||
|
|
||||||
|
# Fragen zu den Zielen und dem daraus res. Zeitplan
|
||||||
|
- [ ] Welche #Ziele sind im Zeitrahmen einhaltbar?
|
||||||
|
- [ ] Welche #Arbeitspakete können anhand der Ziele Definiert werden?
|
||||||
|
- [ ] In welcher Form kann der #Zeitplan effizient umgesetzt werden
|
||||||
|
|||||||
12
Ideen Vorgehensweise.md
Normal file
12
Ideen Vorgehensweise.md
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
# Algorithmischer Ansatz
|
||||||
|
1. Herausarbeiten von Schlüsselwörtern
|
||||||
|
2. Internetquellen zu diesen Schlüsselwörter finden
|
||||||
|
3. Ermittlung auf korrekte Anwendung
|
||||||
|
4. Markierung korrekt oder falsch verwendet bzw. nicht ganz korrekter Kontext
|
||||||
|
|
||||||
|
Die [franz. Wikipediaseite](https://fr.wikipedia.org/wiki/Traitement_automatique_des_langues) zu #NLP bietet eine menge Verknüpfungen für das Erarbeiten der These.
|
||||||
|
Die Programmiersprache Python enthält ebenfalls eine Menge Ressourcen, die es ermöglichen keinen Boilerplate neu zu implementieren (Beispiel: #NLTK).
|
||||||
|
|
||||||
|
# Ansatz mit weiterer KI
|
||||||
|
Ein weiterer Ansatz mit einer weiter #KI kann durchaus interessant sein, bietet aber keine Nachvollziehbaren Ergebnisse, oder zumindestens Ergebnisse die "einfach" prüfbar sind.
|
||||||
|
Da #KI sich wie eine #Blackbox verhält wird dieser Ansatz nicht weiter durchgeführt.
|
||||||
32
Tasks.md
Normal file
32
Tasks.md
Normal file
@@ -0,0 +1,32 @@
|
|||||||
|
- [ ] #task Besprechung der Response Objekte aus 🔽
|
||||||
|
- [ ] Exposé
|
||||||
|
- [ ] Bearbeitung von [[0_Problembeschreibung]]
|
||||||
|
- [ ] Bearbeitung von [[1_Ziele]]
|
||||||
|
- [ ] Bearbeitung von [[3_Verwendete_Methoden]]
|
||||||
|
- [ ] Bearbeitung von [[4_Zeitplan]]
|
||||||
|
- [ ] Betrachtung der Einzelnen Module und ihrer Abhängigkeiten🔺
|
||||||
|
- [ ] Core Layer
|
||||||
|
- [ ] [[Plug-In-Manager]]
|
||||||
|
- [ ] [[Parser]]
|
||||||
|
- [ ] [[Logger]]
|
||||||
|
- [ ] [[CLI]]
|
||||||
|
- [ ] [[Port Listener]]
|
||||||
|
- [ ] [[Performance Metric Observator]]
|
||||||
|
- [ ] [[Documentation Tool]]
|
||||||
|
- [ ] Core Analysis
|
||||||
|
- [ ] [[Punctuation Checker]]
|
||||||
|
- [ ] [[Grammar Checker]]
|
||||||
|
- [ ] [[Repetition Checker]]
|
||||||
|
- [ ] [[Spelling Checker]]
|
||||||
|
- [ ] Analysis Orchestrator
|
||||||
|
- [ ] [[Pipeline]]
|
||||||
|
- [ ] [[Workflow]]
|
||||||
|
- [ ] Extended-Analysis-Plug-Ins
|
||||||
|
- [ ] [[Context Checker]]
|
||||||
|
- [ ] [[Fact Checker]]
|
||||||
|
- [ ] [[Hallucination Checker]]
|
||||||
|
- [ ] Service Layer
|
||||||
|
- [ ] [[API Endpoints]]
|
||||||
|
- [ ] [[Response Orchestrator]]
|
||||||
|
- [ ] [[Scoring Model]]
|
||||||
|
- [ ] [[Socket Connector]]
|
||||||
9
Themen/Orga/Architektur.md
Normal file
9
Themen/Orga/Architektur.md
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
---
|
||||||
|
tags:
|
||||||
|
- Architektur
|
||||||
|
---
|
||||||
|
Für die #Architektur kann eine #PlugInArchitektur verwendet werden. Diese Bietet das Erstellen von Modulen direkt womit man manche Module an bzw. ausschalten kann. Es ermöglicht zudem das vereinfachte erstellen von #Modultests.
|
||||||
|
|
||||||
|
#Architektur/ChannelsAndFilter bietet das erstellen einzelner Filter, welches im Rahmen der Thesis passen könnte. Problematisch wäre jedoch die Zeitversetzung und Umsetzung selbst. Da mehrere unterschiedliche Services (z.B. Wikipedia) zur Datenverifikation verwendet werden sollen wäre eine Nutzer-angepasste Architektur interessanter (siehe #Architektur/PlugInArchitektur)
|
||||||
|
|
||||||
|
![[Architecture.png]]
|
||||||
264
Themen/Orga/Epics.md
Normal file
264
Themen/Orga/Epics.md
Normal file
@@ -0,0 +1,264 @@
|
|||||||
|
---
|
||||||
|
tags:
|
||||||
|
- Architektur
|
||||||
|
- Epic
|
||||||
|
- Aufgaben
|
||||||
|
- "#UserStories"
|
||||||
|
---
|
||||||
|
|
||||||
|
|
||||||
|
|Epic|Beschreibung (Outcome)|Abgedeckte Personas|
|
||||||
|
|---|---|---|
|
||||||
|
|**Textqualität & Sprachkorrektheit**|Texte sollen sprachlich korrekt, verständlich und formal sauber sein|Chris, Emily, Franzi|
|
||||||
|
|**Kontextuelle Textanalyse**|Texte sollen inhaltlich zusammenhängend und logisch verständlich sein|Max, Emily|
|
||||||
|
|**Wissenschaftliche & faktenbasierte Validierung**|Inhalte sollen faktenbasiert, überprüfbar und quellenbelegt sein|Sascha, Emily|
|
||||||
|
|**Transparente Fehler- & Quellenkennzeichnung**|Fehler und Quellen sollen klar sichtbar und nachvollziehbar dargestellt werden|Franzi, Sascha|
|
||||||
|
|**KI-Textanalyse & Qualitätsverbesserung**|KI-generierte Texte sollen analysiert und qualitativ verbessert werden|Miriam|
|
||||||
|
|**Performante & effiziente Analyse**|Analysen sollen schnell und zuverlässig durchgeführt werden|Franzi|
|
||||||
|
|**Erweiterbare Analyseplattform**|Das System soll modular erweiterbar und wartbar sein|Tobias (Dev), Alex (Admin)|
|
||||||
|
|**Erklärbarkeit & Nachvollziehbarkeit**|Analyseergebnisse sollen erklärbar und auditierbar sein|Laura, Sascha|
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# Überblick: Epics → Architekturbezug
|
||||||
|
|
||||||
|
Zur Orientierung zuerst die Zuordnung:
|
||||||
|
|
||||||
|
|Epic|Hauptbetroffene Architekturteile|
|
||||||
|
|---|---|
|
||||||
|
|Textqualität & Sprachkorrektheit|Core Analysis, Analysis Orchestrator|
|
||||||
|
|Kontextuelle Textanalyse|Extended Analysis Plug-Ins|
|
||||||
|
|Wissenschaftliche & faktenbasierte Validierung|Extended Analysis Plug-Ins|
|
||||||
|
|Transparente Fehler- & Quellenkennzeichnung|Service Layer|
|
||||||
|
|KI-Textanalyse & Qualitätsverbesserung|Core + Extended Analysis|
|
||||||
|
|Performante & effiziente Analyse|Core Layer, Orchestrator|
|
||||||
|
|Erweiterbare Analyseplattform|Core Layer (Plugin-Manager)|
|
||||||
|
|Erklärbarkeit & Nachvollziehbarkeit|Service Layer, Core|
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# Epic 1: **Textqualität & Sprachkorrektheit**
|
||||||
|
|
||||||
|
## Ziel
|
||||||
|
|
||||||
|
Texte sollen sprachlich korrekt, konsistent und formal sauber sein.
|
||||||
|
|
||||||
|
### User Stories
|
||||||
|
|
||||||
|
|Story|
|
||||||
|
|---|
|
||||||
|
|Als Nutzer möchte ich Grammatikfehler automatisch erkennen lassen|
|
||||||
|
|Als Nutzer möchte ich Rechtschreibfehler erkennen lassen|
|
||||||
|
|Als Nutzer möchte ich Zeichensetzungsfehler erkennen lassen|
|
||||||
|
|Als Nutzer möchte ich Wiederholungen im Text erkennen lassen|
|
||||||
|
|
||||||
|
### Aufgaben (Tasks)
|
||||||
|
|
||||||
|
**Core Analysis**
|
||||||
|
|
||||||
|
- Grammatik-Checker implementieren
|
||||||
|
- Rechtschreib-Checker implementieren
|
||||||
|
- Punkt- & Komma-Checker implementieren
|
||||||
|
- Repetition-Checker implementieren
|
||||||
|
|
||||||
|
**Analysis Orchestrator**
|
||||||
|
|
||||||
|
- Reihenfolge der Checks definieren
|
||||||
|
- Ergebnisse aggregieren
|
||||||
|
- Einheitliches Ergebnisformat erzeugen
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# Epic 2: **Kontextuelle Textanalyse**
|
||||||
|
|
||||||
|
## Ziel
|
||||||
|
|
||||||
|
Inhaltliche Zusammenhänge und logische Konsistenz prüfen.
|
||||||
|
|
||||||
|
### User Stories
|
||||||
|
|
||||||
|
|Story|
|
||||||
|
|---|
|
||||||
|
|Als Nutzer möchte ich erkennen, ob mein Text inhaltlich konsistent ist|
|
||||||
|
|Als Nutzer möchte ich Hinweise auf Kontextbrüche erhalten|
|
||||||
|
|
||||||
|
### Aufgaben (Tasks)
|
||||||
|
|
||||||
|
**Extended Analysis Plug-Ins**
|
||||||
|
|
||||||
|
- Context-Checker-Plugin definieren
|
||||||
|
- Plugin-Interface implementieren
|
||||||
|
- Kontextbewertung (lokal / global)
|
||||||
|
|
||||||
|
**Analysis Orchestrator**
|
||||||
|
|
||||||
|
- Kontext-Check optional aktivierbar machen
|
||||||
|
- Abhängigkeit zu Core-Checks definieren
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# Epic 3: **Wissenschaftliche & faktenbasierte Validierung**
|
||||||
|
|
||||||
|
## Ziel
|
||||||
|
|
||||||
|
Texte sollen faktenbasiert, quellengeprüft und vertrauenswürdig sein.
|
||||||
|
|
||||||
|
### User Stories
|
||||||
|
|
||||||
|
|Story|
|
||||||
|
|---|
|
||||||
|
|Als Wissenschaftler möchte ich Fakten prüfen lassen|
|
||||||
|
|Als Nutzer möchte ich Aussagen mit Quellen belegt sehen|
|
||||||
|
|Als Nutzer möchte ich Halluzinationen erkennen|
|
||||||
|
|
||||||
|
### Aufgaben (Tasks)
|
||||||
|
|
||||||
|
**Extended Analysis Plug-Ins**
|
||||||
|
|
||||||
|
- Fact-Checker-Plugin implementieren
|
||||||
|
- Hallucination-Checker-Plugin implementieren
|
||||||
|
- Externe Quellenanbindung definieren
|
||||||
|
|
||||||
|
**Core Layer**
|
||||||
|
|
||||||
|
- Plugin-Lifecycle (Load / Unload)
|
||||||
|
- Timeout-Handling für externe Checks
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# Epic 4: **Transparente Fehler- & Quellenkennzeichnung**
|
||||||
|
|
||||||
|
## Ziel
|
||||||
|
|
||||||
|
Analyseergebnisse sollen klar sichtbar und nachvollziehbar sein.
|
||||||
|
|
||||||
|
### User Stories
|
||||||
|
|
||||||
|
|Story|
|
||||||
|
|---|
|
||||||
|
|Als Nutzer möchte ich Fehler im Text markiert sehen|
|
||||||
|
|Als Nutzer möchte ich Quellen per Hover einsehen|
|
||||||
|
|
||||||
|
### Aufgaben (Tasks)
|
||||||
|
|
||||||
|
**Service Layer**
|
||||||
|
|
||||||
|
- Response Orchestrator erweitern
|
||||||
|
- Markierungsformat definieren
|
||||||
|
- Hover-fähige Quellenstruktur erzeugen
|
||||||
|
|
||||||
|
**Core**
|
||||||
|
|
||||||
|
- Einheitliches Result-Model definieren
|
||||||
|
- Confidence / Severity berücksichtigen
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# Epic 5: **KI-Textanalyse & Qualitätsverbesserung**
|
||||||
|
|
||||||
|
## Ziel
|
||||||
|
|
||||||
|
KI-Texte gezielt analysieren und verbessern.
|
||||||
|
|
||||||
|
### User Stories
|
||||||
|
|
||||||
|
|Story|
|
||||||
|
|---|
|
||||||
|
|Als Forscherin möchte ich Wiederholungen in KI-Texten messen|
|
||||||
|
|Als Forscherin möchte ich Analyseergebnisse exportieren|
|
||||||
|
|
||||||
|
### Aufgaben (Tasks)
|
||||||
|
|
||||||
|
**Core Analysis**
|
||||||
|
|
||||||
|
- Wiederholungsmetriken definieren
|
||||||
|
|
||||||
|
**Service Layer**
|
||||||
|
|
||||||
|
- Exportformate (JSON)
|
||||||
|
- Analysehistorie ausgeben
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# Epic 6: **Performante & effiziente Analyse**
|
||||||
|
|
||||||
|
## Ziel
|
||||||
|
|
||||||
|
Analyse soll schnell, stabil und skalierbar sein.
|
||||||
|
|
||||||
|
### User Stories
|
||||||
|
|
||||||
|
|Story|
|
||||||
|
|---|
|
||||||
|
|Als Nutzer möchte ich schnelle Analyseergebnisse|
|
||||||
|
|Als Betreiber möchte ich Engpässe erkennen|
|
||||||
|
|
||||||
|
### Aufgaben (Tasks)
|
||||||
|
|
||||||
|
**Core Layer**
|
||||||
|
|
||||||
|
- Performance Metric Observer implementieren
|
||||||
|
- Latenz pro Plugin messen
|
||||||
|
|
||||||
|
**Analysis Orchestrator**
|
||||||
|
|
||||||
|
- Parallele Plugin-Ausführung
|
||||||
|
- Abbruchlogik bei Timeouts
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# Epic 7: **Erweiterbare Analyseplattform**
|
||||||
|
|
||||||
|
## Ziel
|
||||||
|
|
||||||
|
Neue Analyse-Plug-ins sollen einfach integrierbar sein.
|
||||||
|
|
||||||
|
### User Stories
|
||||||
|
|
||||||
|
|Story|
|
||||||
|
|---|
|
||||||
|
|Als Entwickler möchte ich neue Plugins einfach einbinden|
|
||||||
|
|Als Admin möchte ich Plugins konfigurieren|
|
||||||
|
|
||||||
|
### Aufgaben (Tasks)
|
||||||
|
|
||||||
|
**Core Layer**
|
||||||
|
|
||||||
|
- Plugin-Manager implementieren
|
||||||
|
- Plugin-Discovery
|
||||||
|
- Plugin-Konfiguration
|
||||||
|
|
||||||
|
**Dokumentation**
|
||||||
|
|
||||||
|
- Plugin-Interface dokumentieren
|
||||||
|
- Beispiel-Plugin bereitstellen
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# Epic 8: **Erklärbarkeit & Nachvollziehbarkeit**
|
||||||
|
|
||||||
|
## Ziel
|
||||||
|
|
||||||
|
Analyseergebnisse müssen erklärbar und auditierbar sein.
|
||||||
|
|
||||||
|
### User Stories
|
||||||
|
|
||||||
|
|Story|
|
||||||
|
|---|
|
||||||
|
|Als Nutzer möchte ich verstehen, warum etwas als Fehler markiert wurde|
|
||||||
|
|Als Compliance-Beauftragte möchte ich Analyseentscheidungen nachvollziehen|
|
||||||
|
|
||||||
|
### Aufgaben (Tasks)
|
||||||
|
|
||||||
|
**Service Layer**
|
||||||
|
|
||||||
|
- Erklärungstexte generieren
|
||||||
|
- Quellen & Gründe anzeigen
|
||||||
|
|
||||||
|
**Core**
|
||||||
|
|
||||||
|
- Logging der Analyseentscheidungen
|
||||||
|
- Analyse-Audit-Trail
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
228
Themen/Orga/Quellen Architektur.md
Normal file
228
Themen/Orga/Quellen Architektur.md
Normal file
@@ -0,0 +1,228 @@
|
|||||||
|
Basierend auf meiner Analyse habe ich **11 wissenschaftliche Quellen** identifiziert, die verschiedene Aspekte Ihrer hybriden Plug-in- und Layer-Architektur unterstützen. Hier ist die Übersicht:
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🎯 **KERNUNTERSTÜTZUNG DER ARCHITEKTUR**
|
||||||
|
|
||||||
|
## **1. Hybrid Plug-in + Layer Architektur**
|
||||||
|
|
||||||
|
**✅ Plugin Architecture Pattern**
|
||||||
|
|
||||||
|
- **Quelle:** University of Waterloo CS446 [uwaterloo](https://cs.uwaterloo.ca/~m2nagapp/courses/CS446/1195/Arch_Design_Activity/PlugIn.pdf)
|
||||||
|
- **Unterstützt:** Core Layer mit Plugin-Manager, Extended Analysis Plug-Ins
|
||||||
|
- **Zitat:** _"Application logic is divided between independent plug-in modules and the basic core system, providing extensibility, flexibility, and isolation"_
|
||||||
|
|
||||||
|
|
||||||
|
**✅ Pure Plug-in Architectures**
|
||||||
|
- **Quelle:** ACM Queue (Birsan, 2005)[queue.acm](https://queue.acm.org/detail.cfm?id=1053345)
|
||||||
|
- **Unterstützt:** Plugin-Registry, Runtime-Management, Extension Points
|
||||||
|
- **Zitat:** _"Plug-ins themselves become hosts to other plug-ins by providing well-defined hook points (extension points)"_
|
||||||
|
|
||||||
|
|
||||||
|
**✅ Layered Architecture**
|
||||||
|
- **Quelle:** ScienceDirect Topics, Philadelphia.edu[philadelphia+1](https://www.philadelphia.edu.jo/academics/lalqoran/uploads/layeredarchitecture-120625120536-phpapp01.pdf)
|
||||||
|
- **Unterstützt:** Service Layer, Core Layer Trennung
|
||||||
|
- **Zitat:** _"Each layer has strong cohesion and only relies on lower layers"_
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## **2. Analysis Orchestrator (Pipeline/Workflow)**
|
||||||
|
|
||||||
|
**✅ Orchestration Workflows in Distributed Systems**
|
||||||
|
|
||||||
|
- **Quelle:** IJFMR (Singhal, 2024)[ijfmr](https://www.ijfmr.com/papers/2024/6/30191.pdf)
|
||||||
|
- **Unterstützt:** Analysis Orchestrator, Task Sequencing
|
||||||
|
- **Zitat:** _"Workflow definitions serve as the blueprint for service interactions... Task sequencing mechanisms ensure proper ordering"_
|
||||||
|
- **Empirisch:** 47% Reduktion von Integration-Fehlern durch Orchestration
|
||||||
|
|
||||||
|
|
||||||
|
**✅ Orchestrator Pattern**
|
||||||
|
- **Quellen:** Gaur Gaurav, Kislay Verma[gaurgaurav+1](https://www.gaurgaurav.com/patterns/orchestration-pattern/)
|
||||||
|
- **Unterstützt:** Zentraler Controller für Analyse-Schritte
|
||||||
|
- **Zitat:** _"Advantages include decoupling with logic layers, collating many functions, and acting as a centralized controller"_
|
||||||
|
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## **3. Rule-Based Analysis (Core Analysis ohne KI)**
|
||||||
|
|
||||||
|
**✅ Rule-Based NLP Approach**
|
||||||
|
|
||||||
|
- **Quelle:** GeeksforGeeks[geeksforgeeks](https://www.geeksforgeeks.org/nlp/rule-based-approach-in-nlp/)
|
||||||
|
- **Unterstützt:** Grammar, Spelling, Punctuation Checker
|
||||||
|
- **Zitat:** _"Predefined linguistic rules are used to analyze and process textual data... deterministic in nature, not probabilistic"_
|
||||||
|
|
||||||
|
|
||||||
|
**✅ Best Practices in Rule-Based Models**
|
||||||
|
|
||||||
|
- **Quelle:** SAS[sas](https://support.sas.com/resources/papers/proceedings17/SAS0587-2017.pdf)
|
||||||
|
- **Unterstützt:** Algorithmen-basierte Textanalyse
|
||||||
|
- **Zitat:** _"A rule-based model is deterministic in nature... Either a document satisfies a given rule completely or it doesn't"_
|
||||||
|
|
||||||
|
**✅ Interpretable Rule-Based Systems**
|
||||||
|
|
||||||
|
- **Quelle:** ACL Anthology (Warczyński, 2024)[aclanthology](https://aclanthology.org/2024.inlg-main.48.pdf)
|
||||||
|
- **Unterstützt:** Regelbasierte Systeme ohne KI
|
||||||
|
- **Zitat:** _"Rule-based approach produces fewer minor hallucinations than neural counterparts"_
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## **4. Modular NLP Pipeline**
|
||||||
|
|
||||||
|
**✅ Modular Pipeline for NLP**
|
||||||
|
|
||||||
|
- **Quelle:** PMC[pmc.ncbi.nlm.nih](https://pmc.ncbi.nlm.nih.gov/articles/PMC12262768/)
|
||||||
|
- **Unterstützt:** Pipeline-Architektur, Modularität
|
||||||
|
- **Zitat:** _"Modular pipeline maximizes flexibility for future deployments... represents a practical middle ground"_
|
||||||
|
|
||||||
|
|
||||||
|
**✅ Scalable Architecture for Text Analysis**
|
||||||
|
- **Quelle:** Darmont et al. (ADMA 2016)[eric.univ-lyon2](https://eric.univ-lyon2.fr/jdarmont/publications/files/adma2016paper44-cr.pdf)
|
||||||
|
- **Unterstützt:** Skalierbare Textanalyse mit modularen Komponenten
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## **5. Explanation Engine (Epic 8)**
|
||||||
|
|
||||||
|
**✅ Four Principles of Explainable AI**
|
||||||
|
|
||||||
|
- **Quelle:** NIST IR 8312[nvlpubs.nist](https://nvlpubs.nist.gov/nistpubs/ir/2021/nist.ir.8312.pdf)
|
||||||
|
|
||||||
|
- **Unterstützt:** Explanation Engine im Core Layer
|
||||||
|
|
||||||
|
- **Zitat:** _"Systems must provide evidence, support, or reasoning for outputs... explanation must be accessible, understandable, and actionable"_
|
||||||
|
|
||||||
|
|
||||||
|
**✅ Cognitive Architecture for Explainable AI**
|
||||||
|
|
||||||
|
- **Quelle:** arXiv[arxiv](https://arxiv.org/html/2512.03072v1)
|
||||||
|
|
||||||
|
- **Unterstützt:** Audit Trail, Decision Tracing
|
||||||
|
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## **6. Service Layer & Response Orchestrator**
|
||||||
|
|
||||||
|
**✅ Service Layer Pattern**
|
||||||
|
|
||||||
|
- **Quelle:** Martin Fowler (2003)[martinfowler](https://martinfowler.com/eaaCatalog/serviceLayer.html)
|
||||||
|
|
||||||
|
- **Unterstützt:** Service Layer Rolle
|
||||||
|
|
||||||
|
- **Zitat:** _"A Service Layer defines an application's boundary... coordinates the application's response in each operation"_
|
||||||
|
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## **7. Separation of Concerns**
|
||||||
|
|
||||||
|
**✅ SoC Principle**
|
||||||
|
|
||||||
|
- **Quelle:** Dijkstra (1974), Wikipedia, GeeksforGeeks[wikipedia+1](https://en.wikipedia.org/wiki/Separation_of_concerns)
|
||||||
|
|
||||||
|
- **Unterstützt:** Layer-Trennung, Modularität
|
||||||
|
|
||||||
|
- **Zitat:** _"Module details can be addressed in isolation; module integration is treated as a separate concern"_
|
||||||
|
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 📊 **ARCHITEKTUR-KOMPONENTEN → WISSENSCHAFTLICHE QUELLEN**
|
||||||
|
|
||||||
|
|Komponente|Unterstützt durch|
|
||||||
|
|---|---|
|
||||||
|
|**Plugin-Manager (Core Layer)**|CS446[uwaterloo](https://cs.uwaterloo.ca/~m2nagapp/courses/CS446/1195/Arch_Design_Activity/PlugIn.pdf), ACM Queue[queue.acm](https://queue.acm.org/detail.cfm?id=1053345)|
|
||||||
|
|**Core Analysis (Grammar/Spelling/etc.)**|GeeksforGeeks[geeksforgeeks](https://www.geeksforgeeks.org/nlp/rule-based-approach-in-nlp/), SAS[sas](https://support.sas.com/resources/papers/proceedings17/SAS0587-2017.pdf), ACL[aclanthology](https://aclanthology.org/2024.inlg-main.48.pdf)|
|
||||||
|
|**Extended Analysis Plug-Ins**|CS446[uwaterloo](https://cs.uwaterloo.ca/~m2nagapp/courses/CS446/1195/Arch_Design_Activity/PlugIn.pdf), ACM Queue[queue.acm](https://queue.acm.org/detail.cfm?id=1053345)|
|
||||||
|
|**Analysis Orchestrator**|IJFMR[ijfmr](https://www.ijfmr.com/papers/2024/6/30191.pdf), Gaur[gaurgaurav](https://www.gaurgaurav.com/patterns/orchestration-pattern/), Verma[kislayverma](https://kislayverma.com/software-architecture/architecture-pattern-orchestration-via-workflows/)|
|
||||||
|
|**Response Orchestrator**|Martin Fowler[martinfowler](https://martinfowler.com/eaaCatalog/serviceLayer.html)|
|
||||||
|
|**Service Layer**|Fowler[martinfowler](https://martinfowler.com/eaaCatalog/serviceLayer.html), Philadelphia.edu[philadelphia](https://www.philadelphia.edu.jo/academics/lalqoran/uploads/layeredarchitecture-120625120536-phpapp01.pdf)|
|
||||||
|
|**Core Layer (Infrastruktur)**|Philadelphia[philadelphia](https://www.philadelphia.edu.jo/academics/lalqoran/uploads/layeredarchitecture-120625120536-phpapp01.pdf), Dijkstra[wikipedia](https://en.wikipedia.org/wiki/Separation_of_concerns)|
|
||||||
|
|**Explanation Engine**|NIST[nvlpubs.nist](https://nvlpubs.nist.gov/nistpubs/ir/2021/nist.ir.8312.pdf), arXiv[arxiv](https://arxiv.org/html/2512.03072v1)|
|
||||||
|
|**Performance Metric Observer**|IJFMR[ijfmr](https://www.ijfmr.com/papers/2024/6/30191.pdf)|
|
||||||
|
|**Modular Pipeline**|PMC[pmc.ncbi.nlm.nih](https://pmc.ncbi.nlm.nih.gov/articles/PMC12262768/), ADMA[eric.univ-lyon2](https://eric.univ-lyon2.fr/jdarmont/publications/files/adma2016paper44-cr.pdf)|
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## ✅ **FAZIT**
|
||||||
|
|
||||||
|
Ihre Architektur wird durch **11 akademische/wissenschaftliche Quellen** vollständig unterstützt:
|
||||||
|
|
||||||
|
1. **Hybrid Plug-in + Layer Pattern** → etabliert (CS446, ACM, ScienceDirect)
|
||||||
|
2. **Orchestrator Pattern** → dokumentiert (IJFMR, akademische Blogs)
|
||||||
|
3. **Rule-Based Analysis** → wissenschaftlich fundiert (ACL, SAS, GeeksforGeeks)
|
||||||
|
4. **Explainability** → NIST-Standard, Forschungsliteratur
|
||||||
|
5. **Service Layer** → Martin Fowler Pattern (Standardreferenz)
|
||||||
|
6. **Separation of Concerns** → Dijkstra (fundamentales Prinzip)
|
||||||
|
|
||||||
|
Die Architektur folgt etablierten Software-Engineering-Prinzipien und ist wissenschaftlich gut abgesichert. Die vollständige Dokumentation mit allen Zitaten habe ich in `scientific_sources_architecture.md` gespeichert.
|
||||||
|
|
||||||
|
1. [https://cs.uwaterloo.ca/~m2nagapp/courses/CS446/1195/Arch_Design_Activity/PlugIn.pdf](https://cs.uwaterloo.ca/~m2nagapp/courses/CS446/1195/Arch_Design_Activity/PlugIn.pdf)
|
||||||
|
2. [https://queue.acm.org/detail.cfm?id=1053345](https://queue.acm.org/detail.cfm?id=1053345)
|
||||||
|
3. [https://www.philadelphia.edu.jo/academics/lalqoran/uploads/layeredarchitecture-120625120536-phpapp01.pdf](https://www.philadelphia.edu.jo/academics/lalqoran/uploads/layeredarchitecture-120625120536-phpapp01.pdf)
|
||||||
|
4. [https://www.sciencedirect.com/topics/computer-science/layered-architecture](https://www.sciencedirect.com/topics/computer-science/layered-architecture)
|
||||||
|
5. [https://www.ijfmr.com/papers/2024/6/30191.pdf](https://www.ijfmr.com/papers/2024/6/30191.pdf)
|
||||||
|
6. [https://www.gaurgaurav.com/patterns/orchestration-pattern/](https://www.gaurgaurav.com/patterns/orchestration-pattern/)
|
||||||
|
7. [https://kislayverma.com/software-architecture/architecture-pattern-orchestration-via-workflows/](https://kislayverma.com/software-architecture/architecture-pattern-orchestration-via-workflows/)
|
||||||
|
8. [https://www.geeksforgeeks.org/nlp/rule-based-approach-in-nlp/](https://www.geeksforgeeks.org/nlp/rule-based-approach-in-nlp/)
|
||||||
|
9. [https://support.sas.com/resources/papers/proceedings17/SAS0587-2017.pdf](https://support.sas.com/resources/papers/proceedings17/SAS0587-2017.pdf)
|
||||||
|
10. [https://aclanthology.org/2024.inlg-main.48.pdf](https://aclanthology.org/2024.inlg-main.48.pdf)
|
||||||
|
11. [https://pmc.ncbi.nlm.nih.gov/articles/PMC12262768/](https://pmc.ncbi.nlm.nih.gov/articles/PMC12262768/)
|
||||||
|
12. [https://eric.univ-lyon2.fr/jdarmont/publications/files/adma2016paper44-cr.pdf](https://eric.univ-lyon2.fr/jdarmont/publications/files/adma2016paper44-cr.pdf)
|
||||||
|
13. [https://nvlpubs.nist.gov/nistpubs/ir/2021/nist.ir.8312.pdf](https://nvlpubs.nist.gov/nistpubs/ir/2021/nist.ir.8312.pdf)
|
||||||
|
14. [https://arxiv.org/html/2512.03072v1](https://arxiv.org/html/2512.03072v1)
|
||||||
|
15. [https://martinfowler.com/eaaCatalog/serviceLayer.html](https://martinfowler.com/eaaCatalog/serviceLayer.html)
|
||||||
|
16. [https://en.wikipedia.org/wiki/Separation_of_concerns](https://en.wikipedia.org/wiki/Separation_of_concerns)
|
||||||
|
17. [https://www.geeksforgeeks.org/software-engineering/separation-of-concerns-soc/](https://www.geeksforgeeks.org/software-engineering/separation-of-concerns-soc/)
|
||||||
|
18. [https://ppl-ai-file-upload.s3.amazonaws.com/web/direct-files/attachments/images/156908260/cabdc5b3-14a7-401c-88df-a1824a00f495/Architecture.jpg](https://ppl-ai-file-upload.s3.amazonaws.com/web/direct-files/attachments/images/156908260/cabdc5b3-14a7-401c-88df-a1824a00f495/Architecture.jpg)
|
||||||
|
19. [https://ppl-ai-file-upload.s3.amazonaws.com/web/direct-files/attachments/images/156908260/15ee988f-2a62-457e-b8e3-7c7d60bbdf1f/Architecture.jpg](https://ppl-ai-file-upload.s3.amazonaws.com/web/direct-files/attachments/images/156908260/15ee988f-2a62-457e-b8e3-7c7d60bbdf1f/Architecture.jpg)
|
||||||
|
20. [https://www.redhat.com/en/blog/hybrid-cloud-platform-layers](https://www.redhat.com/en/blog/hybrid-cloud-platform-layers)
|
||||||
|
21. [https://www.microsoft.com/en-us/research/publication/towards-modular-machine-learning-pipelines/](https://www.microsoft.com/en-us/research/publication/towards-modular-machine-learning-pipelines/)
|
||||||
|
22. [https://www.reddit.com/r/reactjs/comments/1hmk30p/how_to_design_a_pluginbased_architecture_in_react/](https://www.reddit.com/r/reactjs/comments/1hmk30p/how_to_design_a_pluginbased_architecture_in_react/)
|
||||||
|
23. [https://arxiv.org/pdf/2509.13487.pdf](https://arxiv.org/pdf/2509.13487.pdf)
|
||||||
|
24. [https://www.tencentcloud.com/techpedia/101584](https://www.tencentcloud.com/techpedia/101584)
|
||||||
|
25. [https://www.secoda.co/glossary/what-is-rule-based-classification](https://www.secoda.co/glossary/what-is-rule-based-classification)
|
||||||
|
26. [https://www.geeksforgeeks.org/nlp/natural-language-processing-nlp-pipeline/](https://www.geeksforgeeks.org/nlp/natural-language-processing-nlp-pipeline/)
|
||||||
|
27. [https://arxiv.org/abs/2510.04800](https://arxiv.org/abs/2510.04800)
|
||||||
|
28. [https://www.youtube.com/watch?v=wsPnnTMqEC4](https://www.youtube.com/watch?v=wsPnnTMqEC4)
|
||||||
|
29. [https://tnc-solutions.com/nlp-comment-fonctionne/](https://tnc-solutions.com/nlp-comment-fonctionne/)
|
||||||
|
30. [https://ionic.io/resources/articles/overcoming-the-challenges-of-mobile-app-architecture-with-hybrid-development](https://ionic.io/resources/articles/overcoming-the-challenges-of-mobile-app-architecture-with-hybrid-development)
|
||||||
|
31. [https://arxiv.org/html/2502.20609v1](https://arxiv.org/html/2502.20609v1)
|
||||||
|
32. [https://airbyte.com/data-engineering-resources/natural-language-processing-pipeline](https://airbyte.com/data-engineering-resources/natural-language-processing-pipeline)
|
||||||
|
33. [https://www.emergentmind.com/topics/hybrid-architecture-designs](https://www.emergentmind.com/topics/hybrid-architecture-designs)
|
||||||
|
34. [https://bookdown.org/valerie_hase/TextasData_HS2021/tutorial-12-rule-based-approaches-dictionaries.html](https://bookdown.org/valerie_hase/TextasData_HS2021/tutorial-12-rule-based-approaches-dictionaries.html)
|
||||||
|
35. [https://buildsimple.substack.com/p/extensibility-designing-for-future](https://buildsimple.substack.com/p/extensibility-designing-for-future)
|
||||||
|
36. [https://www.reddit.com/r/SoftwareEngineering/comments/rr8zp6/orchestrator_pattern_thoughts/](https://www.reddit.com/r/SoftwareEngineering/comments/rr8zp6/orchestrator_pattern_thoughts/)
|
||||||
|
37. [https://stackoverflow.com/questions/323202/how-to-design-extensible-software-plugin-architecture](https://stackoverflow.com/questions/323202/how-to-design-extensible-software-plugin-architecture)
|
||||||
|
38. [https://taylorandfrancis.com/knowledge/Engineering_and_technology/Computer_science/Separation_of_concerns/](https://taylorandfrancis.com/knowledge/Engineering_and_technology/Computer_science/Separation_of_concerns/)
|
||||||
|
39. [https://arxiv.org/abs/2510.00197](https://arxiv.org/abs/2510.00197)
|
||||||
|
40. [https://embeddedartistry.com/fieldmanual-terms/separation-of-concerns/](https://embeddedartistry.com/fieldmanual-terms/separation-of-concerns/)
|
||||||
|
41. [https://dl.acm.org/doi/full/10.1145/3698322.3698342](https://dl.acm.org/doi/full/10.1145/3698322.3698342)
|
||||||
|
42. [https://www.youtube.com/watch?v=JYb5pzcIimQ](https://www.youtube.com/watch?v=JYb5pzcIimQ)
|
||||||
|
43. [https://ris.utwente.nl/ws/files/5428452/Aksit01six.pdf](https://ris.utwente.nl/ws/files/5428452/Aksit01six.pdf)
|
||||||
|
44. [https://www.sciencedirect.com/science/article/abs/pii/S0045790616302026](https://www.sciencedirect.com/science/article/abs/pii/S0045790616302026)
|
||||||
|
45. [https://www.reddit.com/r/javahelp/comments/12wc0bf/building_an_extensible_plugin_system/](https://www.reddit.com/r/javahelp/comments/12wc0bf/building_an_extensible_plugin_system/)
|
||||||
|
46. [http://soft.vub.ac.be/Publications/2002/vub-prog-tr-02-16.pdf](http://soft.vub.ac.be/Publications/2002/vub-prog-tr-02-16.pdf)
|
||||||
|
47. [https://papers.ssrn.com/sol3/Delivery.cfm/SSRN_ID4042351_code4193475.pdf?abstractid=4042351&mirid=1](https://papers.ssrn.com/sol3/Delivery.cfm/SSRN_ID4042351_code4193475.pdf?abstractid=4042351&mirid=1)
|
||||||
|
48. [https://arobs.com/blog/plugin-based-architecture-in-modern-web-apps/](https://arobs.com/blog/plugin-based-architecture-in-modern-web-apps/)
|
||||||
|
49. [https://dev.to/tamerlan_dev/separation-of-concerns-the-simple-way-4jp2](https://dev.to/tamerlan_dev/separation-of-concerns-the-simple-way-4jp2)
|
||||||
|
50. [https://ink.library.smu.edu.sg/cgi/viewcontent.cgi?article=7580&context=sis_research](https://ink.library.smu.edu.sg/cgi/viewcontent.cgi?article=7580&context=sis_research)
|
||||||
|
51. [https://stackoverflow.com/questions/21339657/whats-the-difference-between-service-layer-and-domain-model-layer](https://stackoverflow.com/questions/21339657/whats-the-difference-between-service-layer-and-domain-model-layer)
|
||||||
|
52. [https://gerred.github.io/building-an-agentic-system/system-architecture-diagram.html](https://gerred.github.io/building-an-agentic-system/system-architecture-diagram.html)
|
||||||
|
53. [https://aclanthology.org/Y11-1026.pdf](https://aclanthology.org/Y11-1026.pdf)
|
||||||
|
54. [https://itnext.io/the-evolution-of-ddd-layered-architecture-6dd19b8dbc29](https://itnext.io/the-evolution-of-ddd-layered-architecture-6dd19b8dbc29)
|
||||||
|
55. [https://solace.com/event-driven-architecture-patterns/](https://solace.com/event-driven-architecture-patterns/)
|
||||||
|
56. [https://www.clevertype.co/post/the-science-behind-ai-grammar-correction](https://www.clevertype.co/post/the-science-behind-ai-grammar-correction)
|
||||||
|
57. [https://www.linkedin.com/pulse/layered-architecture-service-based-development-why-use-qicge](https://www.linkedin.com/pulse/layered-architecture-service-based-development-why-use-qicge)
|
||||||
|
58. [https://microservices.io/patterns/communication-style/messaging.html](https://microservices.io/patterns/communication-style/messaging.html)
|
||||||
|
59. [https://www.informatica.si/index.php/informatica/article/viewFile/368/369](https://www.informatica.si/index.php/informatica/article/viewFile/368/369)
|
||||||
|
60. [https://okenna.hashnode.dev/backend-communication-design-patterns-request-response-pattern](https://okenna.hashnode.dev/backend-communication-design-patterns-request-response-pattern)
|
||||||
|
61. [https://journal.esrgroups.org/jes/article/download/3611/2775/6494](https://journal.esrgroups.org/jes/article/download/3611/2775/6494)
|
||||||
|
62. [https://developer.android.com/topic/architecture/domain-layer](https://developer.android.com/topic/architecture/domain-layer)
|
||||||
|
63. [https://www.speakeasy.com/api-design/responses](https://www.speakeasy.com/api-design/responses)
|
||||||
|
64. [https://sparknlp.org/analyze_spelling_grammar](https://sparknlp.org/analyze_spelling_grammar)
|
||||||
|
65. [https://www.reddit.com/r/androiddev/comments/1c804jm/guide_to_app_architecture_what_is_the_domain_layer/](https://www.reddit.com/r/androiddev/comments/1c804jm/guide_to_app_architecture_what_is_the_domain_layer/)
|
||||||
|
66. [https://www.catchpoint.com/api-monitoring-tools/api-architecture](https://www.catchpoint.com/api-monitoring-tools/api-architecture)
|
||||||
|
67. [https://bagustris.github.io/nlp-python/09-gramatika/index.html](https://bagustris.github.io/nlp-python/09-gramatika/index.html)
|
||||||
|
68. [https://blog.stoplight.io/api-design-patterns-for-rest-web-services](https://blog.stoplight.io/api-design-patterns-for-rest-web-services)
|
||||||
35
Themen/Orga/User Stories.md
Normal file
35
Themen/Orga/User Stories.md
Normal file
@@ -0,0 +1,35 @@
|
|||||||
|
---
|
||||||
|
tags:
|
||||||
|
- UserStories
|
||||||
|
- Personas
|
||||||
|
---
|
||||||
|
|
||||||
|
# Quellen
|
||||||
|
[Atlassian - User Stories](https://www.atlassian.com/agile/project-management/user-stories)
|
||||||
|
|
||||||
|
# Methodik
|
||||||
|
Eine Vorversion wird anhand bereits existierenden wissen zur Erstellung mehrer Personas erstellt. Diese wird anschließend mit einer KI aufgebessert und final durch Eigenarbeit erneut überprüft. Die Personas sollen dabei alle Forderungen an das System darstellen, sodass das Erstellen von mehreren #Epic und spätere Bearbeitung und Planung in #OpenProject durchgeführt werden kann.
|
||||||
|
# Personas (Eigenarbeit)
|
||||||
|
|
||||||
|
| Persona | Forderungen | So what? |
|
||||||
|
| ------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- |
|
||||||
|
| Emily | Ich möchte als Studentin, nachvollziehen können ob meine Texte wissenschaftlichen Standards entsprechen. | - Kontext prüfen<br>- Quellen prüfen |
|
||||||
|
| Sascha | Ich möchte als Wissenschaftler Quellenbasierte Texte von generativen KIs erhalten und diese bereits überprüft zurückbekommen. Informationen und Fehler sollen mit Quellen versehen sein, damit ich sicher damit arbeiten kann. | - Quellen prüfen<br>- Fehlermarkierungen<br>- Quellen durch Hovering kenntlich machen |
|
||||||
|
| Max | Als Schüler fällt es mir schwer den Kontext in meinen Texten richtig rüberbringen. Eine Software, die den Kontext für mich prüft wäre sehr schön. | - Kontext prüfen |
|
||||||
|
| Franzi | Als Arbeitnehmerin möchte ich schnelle und überprüfbare Texte von bereits existierenden KIs erhalten, die mit Markierungen versehen sind. Ich will mögliche Fehler bereits kenntlich gemacht haben um selber (mit einer anderen Software) Korrekturen vornehmen zu können. | - Performanz<br>- Quellen durch Hovering kenntlich machen<br>- Fehlermarkierungen |
|
||||||
|
| Chris | Als Schüler möchte ich meine Texte auf Grammatik, Rechtschreibung und Punkt und Komma-Setzung automatisch prüfen lassen. | - Grammatik prüfen<br>- Rechtschreibung prüfen<br>- Punkt-und-Kommasetzung prüfen |
|
||||||
|
| Miriam | Als Wissenschaftlerin im Bereich KI möchte ich überprüfen und KI so verbessern, dass diese sich weniger Wiederholt. Ein Tool, welches dies Automatisiert darstellt würde dies helfen. | - Wiederholungen prüfen |
|
||||||
|
|
||||||
|
# Personas (KI verbessert)
|
||||||
|
| Persona | Forderungen | So what? |
|
||||||
|
| ---------- | ----------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------- |
|
||||||
|
| Emily | Als Studentin möchte ich erkennen können, ob mein Text wissenschaftlichen Standards entspricht. | - Sicherheit bei Abgaben- Vermeidung formaler Fehler |
|
||||||
|
| Sascha | Als Wissenschaftler möchte ich KI-generierte Texte mit geprüften Quellen und markierten Fehlern erhalten. | - Vertrauenswürdige Inhalte- Nachvollziehbarkeit |
|
||||||
|
| Max | Als Schüler möchte ich Feedback zum inhaltlichen Zusammenhang meines Textes erhalten. | - Verständlichkeit verbessern |
|
||||||
|
| Franzi | Als Arbeitnehmerin möchte ich schnelle, überprüfbare Texte mit klaren Markierungen erhalten. | - Zeitersparnis- Effiziente Nachbearbeitung |
|
||||||
|
| Chris | Als Schüler möchte ich meine Texte automatisch auf Grammatik, Rechtschreibung und Zeichensetzung prüfen lassen. | - Sprachlich korrekte Texte |
|
||||||
|
| Miriam | Als KI-Forscherin möchte ich Wiederholungen in KI-Texten automatisch erkennen. | - Modellverbesserung |
|
||||||
|
| **Alex** | Als Systemadministrator möchte ich Plugins überwachen, konfigurieren und bei Fehlern eingreifen können. | - Stabiler Betrieb- Fehlerkontrolle |
|
||||||
|
| **Nina** | Als Produktmanagerin möchte ich Analyse-Ergebnisse aggregiert auswerten können. | - Produktverbesserung- Priorisierung von Features |
|
||||||
|
| **Tobias** | Als Entwickler möchte ich neue Analysis-Plugins einfach integrieren und testen können. | - Erweiterbarkeit- Wartbarkeit |
|
||||||
|
| **Laura** | Als Datenschutz-/Compliance-Beauftragte möchte ich nachvollziehen können, wie Analyse-Ergebnisse zustande kommen. | - Rechtssicherheit- Transparenz |
|
||||||
4
Themen/Recherche/Automated Essay Scoring.md
Normal file
4
Themen/Recherche/Automated Essay Scoring.md
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
Automated Essay Scoring scheint eine Teilgebiet zu sein, welches noch eine Menge arbeit erfordert und dementsprechend möglicherweise nicht all zu anfassbar zu sein scheint.
|
||||||
|
|
||||||
|
KI könnte hier zwar helfen, aber das hinzufügen einer Blackbox kann zu unerwünschten Nebeneffekte führen (schwere Nachvollziehbarkeit, mögliche Beeinflussung durch übergebene Texte).
|
||||||
|
|
||||||
7
Themen/Recherche/Grammatik.md
Normal file
7
Themen/Recherche/Grammatik.md
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
---
|
||||||
|
tags:
|
||||||
|
- Grammatik
|
||||||
|
- NLTK
|
||||||
|
- NLP
|
||||||
|
---
|
||||||
|
Zur Überprüfung der Grammatik kann von #NLTK folgendes aus der Dokumentation verwendet werden: [nltk.grammar](https://www.nltk.org/api/nltk.grammar.html)
|
||||||
87
Themen/Recherche/Kontext Checking.md
Normal file
87
Themen/Recherche/Kontext Checking.md
Normal file
@@ -0,0 +1,87 @@
|
|||||||
|
---
|
||||||
|
tags:
|
||||||
|
- Webscraping
|
||||||
|
- NLP
|
||||||
|
- FactChecking
|
||||||
|
- ContextChecking
|
||||||
|
- ExplanationGeneration
|
||||||
|
- AES
|
||||||
|
---
|
||||||
|
|
||||||
|
You can combine web scraping with NLP by building a small “fact‑checking” pipeline: extract a claim, scrape relevant pages, then use retrieval and natural‑language inference models to decide whether the web evidence supports or contradicts the claim.[aclanthology+1](https://aclanthology.org/2025.knowledgenlp-1.26/)
|
||||||
|
|
||||||
|
## Overall idea
|
||||||
|
|
||||||
|
- Turn the text you want to verify into one or more clear, atomic claims (e.g. “X happened on date Y”).[mbzuai+1](https://mbzuai.ac.ae/news/new-resources-for-fact-checking-llms-presented-at-emnlp/)
|
||||||
|
- Use web scraping or search APIs to collect pages from trusted sources related to the claim.
|
||||||
|
- Use NLP models to rank, filter, and compare those pages against the claim, then output a verdict such as supported / contradicted / not enough info.[sciencedirect+1](https://www.sciencedirect.com/science/article/abs/pii/S0952197625002842)
|
||||||
|
|
||||||
|
## Step 1: Extract and normalize claims
|
||||||
|
|
||||||
|
Use NLP to make the input “checkable”:
|
||||||
|
- Sentence splitting and claim extraction to break long text into short, single‑fact claims.[aclanthology+1](https://aclanthology.org/2025.emnlp-main.1615/)
|
||||||
|
- Optionally generate clarifying questions about the claim (who, when, where) to guide retrieval and disambiguation.[aclanthology+1](https://aclanthology.org/2025.knowledgenlp-1.26/)
|
||||||
|
|
||||||
|
Useful keywords/approaches: “atomic fact decomposition”, “checkworthy claim detection”, and “JEDI fact decomposition for NLI”.[github+1](https://github.com/Cartus/Automated-Fact-Checking-Resources)
|
||||||
|
|
||||||
|
## Step 2: Web scraping for evidence
|
||||||
|
|
||||||
|
Use web scraping or search to gather potential evidence:
|
||||||
|
|
||||||
|
- Formulate search queries from the claim (or the generated questions), then fetch top results from selected domains (news, Wikipedia, official sites). FIRE and other systems iteratively refine queries until they get good evidence.[aclanthology+1](https://aclanthology.org/2025.findings-naacl.158.pdf)
|
||||||
|
- Parse the pages with BeautifulSoup, Firecrawl, or similar; DEFAME is one example that combines automated scraping with fact‑checking.[edam+1](https://edam.org.tr/Uploads/Yukleme_Resim/pdf-28-08-2023-23-40-14.pdf)
|
||||||
|
|
||||||
|
Key points:
|
||||||
|
|
||||||
|
- Restrict to trusted / whitelisted domains to reduce noise.
|
||||||
|
- Store page title, URL, and cleaned text paragraphs for later scoring.
|
||||||
|
|
||||||
|
## Step 3: Retrieve and rank relevant snippets
|
||||||
|
|
||||||
|
Rather than feeding whole pages to the model, use retrieval to find the most relevant passages:
|
||||||
|
|
||||||
|
- Split pages into passages (e.g. 2–3 sentences) and compute embeddings (e.g. sentence‑transformers) to rank them by similarity to the claim.[acm+1](https://dl.acm.org/doi/10.1145/3477495.3531827)
|
||||||
|
- Generative retrieval (GERE) and dual‑stage BM25 + dense retrieval (as in Fathom) are standard patterns you can replicate.[aclanthology+1](https://aclanthology.org/anthology-files/pdf/fever/2025.fever-1.20.pdf)
|
||||||
|
|
||||||
|
This gives you a small set of top‑k evidence snippets that actually talk about the claim.
|
||||||
|
|
||||||
|
## Step 4: Compare claim vs evidence with NLP
|
||||||
|
|
||||||
|
Use Natural Language Inference (NLI) or fact‑checking models:
|
||||||
|
|
||||||
|
- Treat the claim as hypothesis and each evidence snippet as premise, and run an NLI model to classify each pair as supported / contradicted / unrelated.[arxiv+1](https://arxiv.org/html/2407.18367v1)
|
||||||
|
- Aggregate scores across snippets to produce a final label like supported, contradicted, or not enough info (NEI), similar to FEVER‑style fact‑checking.[arxiv+1](https://arxiv.org/abs/2110.14532)
|
||||||
|
|
||||||
|
Patterns you can adapt:
|
||||||
|
|
||||||
|
- VERITAS‑NLI: scrapes news articles and uses NLI models to verify headlines in real time.[sciencedirect](https://www.sciencedirect.com/science/article/abs/pii/S0952197625002842)
|
||||||
|
- ClaimCheck and FIRE: decompose claims, retrieve web evidence, then use smaller LMs/NLI models to derive a verdict.[aclanthology+1](https://aclanthology.org/2025.findings-naacl.158.pdf)
|
||||||
|
|
||||||
|
## Step 5: Produce explanation and handle uncertainty
|
||||||
|
|
||||||
|
For practical use, you should return more than just a label:
|
||||||
|
|
||||||
|
- Return a short natural‑language explanation plus top evidence snippets and URLs (e.g. “According to [source], X happened in 2022, not 2020”). Systems like FacTeR‑Check and explanation‑oriented fact‑checking pipelines use this pattern.[sciencedirect+1](https://www.sciencedirect.com/science/article/pii/S0952197624016506)
|
||||||
|
- If evidence is weak or conflicting, mark the result as “uncertain / needs human review” instead of forcing a yes/no answer.[arxiv+1](https://arxiv.org/html/2412.15189v3)
|
||||||
|
|
||||||
|
|
||||||
|
1. [https://aclanthology.org/2025.knowledgenlp-1.26/](https://aclanthology.org/2025.knowledgenlp-1.26/)
|
||||||
|
2. [https://www.sciencedirect.com/science/article/abs/pii/S0952197625002842](https://www.sciencedirect.com/science/article/abs/pii/S0952197625002842)
|
||||||
|
3. [https://mbzuai.ac.ae/news/new-resources-for-fact-checking-llms-presented-at-emnlp/](https://mbzuai.ac.ae/news/new-resources-for-fact-checking-llms-presented-at-emnlp/)
|
||||||
|
4. [https://aclanthology.org/2025.emnlp-main.1615/](https://aclanthology.org/2025.emnlp-main.1615/)
|
||||||
|
5. [https://github.com/Cartus/Automated-Fact-Checking-Resources](https://github.com/Cartus/Automated-Fact-Checking-Resources)
|
||||||
|
6. [https://aclanthology.org/2025.findings-naacl.158.pdf](https://aclanthology.org/2025.findings-naacl.158.pdf)
|
||||||
|
7. [https://aclanthology.org/anthology-files/pdf/fever/2025.fever-1.20.pdf](https://aclanthology.org/anthology-files/pdf/fever/2025.fever-1.20.pdf)
|
||||||
|
8. [https://edam.org.tr/Uploads/Yukleme_Resim/pdf-28-08-2023-23-40-14.pdf](https://edam.org.tr/Uploads/Yukleme_Resim/pdf-28-08-2023-23-40-14.pdf)
|
||||||
|
9. [https://github.com/multimodal-ai-lab/DEFAME](https://github.com/multimodal-ai-lab/DEFAME)
|
||||||
|
10. [https://dl.acm.org/doi/10.1145/3477495.3531827](https://dl.acm.org/doi/10.1145/3477495.3531827)
|
||||||
|
11. [https://arxiv.org/html/2407.18367v1](https://arxiv.org/html/2407.18367v1)
|
||||||
|
12. [https://arxiv.org/abs/2110.14532](https://arxiv.org/abs/2110.14532)
|
||||||
|
13. [https://www.sciencedirect.com/science/article/pii/S0952197624016506](https://www.sciencedirect.com/science/article/pii/S0952197624016506)
|
||||||
|
14. [https://arxiv.org/html/2412.15189v3](https://arxiv.org/html/2412.15189v3)
|
||||||
|
15. [https://www.biz4group.com/blog/developing-ai-automated-fact-checking-system](https://www.biz4group.com/blog/developing-ai-automated-fact-checking-system)
|
||||||
|
16. [https://download.hrz.tu-darmstadt.de/pub/FB20/Dekanat/Publikationen/AIPHES/Andreas_Hanselowski_NIPS-WPOC-2017.pdf](https://download.hrz.tu-darmstadt.de/pub/FB20/Dekanat/Publikationen/AIPHES/Andreas_Hanselowski_NIPS-WPOC-2017.pdf)
|
||||||
|
17. [https://journals.itb.ac.id/index.php/jictra/article/view/24157](https://journals.itb.ac.id/index.php/jictra/article/view/24157)
|
||||||
|
18. [https://search.gesis.org/research_data/SDN-10.7802-2469](https://search.gesis.org/research_data/SDN-10.7802-2469)
|
||||||
|
19. [https://arxiv.org/abs/2504.18376](https://arxiv.org/abs/2504.18376)
|
||||||
|
20. [https://ui.adsabs.harvard.edu/abs/arXiv:2409.00061](https://ui.adsabs.harvard.edu/abs/arXiv:2409.00061)
|
||||||
2
Themen/Recherche/Natural Language Processing.md
Normal file
2
Themen/Recherche/Natural Language Processing.md
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
|
||||||
|
Das Modul #NLTK kann für #NLP verwendet werden.
|
||||||
BIN
Themen/assets/Architecture.png
Normal file
BIN
Themen/assets/Architecture.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 112 KiB |
4
Thesis/00_Einleitung/01_Motivation/_Inhalt.md
Normal file
4
Thesis/00_Einleitung/01_Motivation/_Inhalt.md
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
- Hintergrund / Problemstellung warum ist dieses Thema relevant
|
||||||
|
- Nicht von Interesse hier
|
||||||
|
- der verwaus auf eine Modulleistung oder Abschlussarbeit
|
||||||
|
- eigene Motivation, wie z.B. eine (fachliche) Interesse
|
||||||
3
Thesis/00_Einleitung/02_Aufgabenstellung/_Inhalt.md
Normal file
3
Thesis/00_Einleitung/02_Aufgabenstellung/_Inhalt.md
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
- Thema genauer spezifizieren
|
||||||
|
- Ziel des Projektes / Versuchs
|
||||||
|
- **Tipp: Einzelne Teilaufgaben nummerieren, dann können Sie im Kapitel syst. vorgehen und laufen nicht Gefahr etwas zu vergessen**
|
||||||
2
Thesis/00_Einleitung/03_Gliederung der Arbeit/_Inhalt.md
Normal file
2
Thesis/00_Einleitung/03_Gliederung der Arbeit/_Inhalt.md
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
- Kurze Beschreibung, was in den Kapiteln (Ab Kap. 2) dargestellt wird
|
||||||
|
- Kapitelnummer nennen (im nächsten Kapitel ist noch IO, übernächstes NIO)
|
||||||
7
Thesis/00_Einleitung/_Inhalt.md
Normal file
7
Thesis/00_Einleitung/_Inhalt.md
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
- Beginnt mit Seiter **1 (eins, mit arabischen Zahlen)**
|
||||||
|
- Neues Kapiter auf einer neuen Seite beginnen
|
||||||
|
- 1.1 braucht bspw. keine neue Seite
|
||||||
|
- Kurzer überblich, was im Kapitel dargestellt wird
|
||||||
|
- **Tipp: den kurzen Überblick jedes Kapitels zunächst in die Zusammenfassung kopieren**
|
||||||
|
- Einführen einer neuen Gliederungsebene nur dann, wenn es mindestens zwei Elemente auf der Gliederungsebene gibt
|
||||||
|
- bei Einf. einer neuen Gliederungseben immer ein kuryer überblick, warum die Gliederungsebene eingeführt wird
|
||||||
3
Thesis/01_Analyse der Aufgabenstellung/_Inhalt.md
Normal file
3
Thesis/01_Analyse der Aufgabenstellung/_Inhalt.md
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
- Definition / Festlegung eines planvollen Vorgehens: Methodik
|
||||||
|
- Erkennung von Abhängigkeiten
|
||||||
|
- *Zeitplanung*
|
||||||
12
Thesis/02_Versuchsbeschreibung/01_Theorie/_Inhalt.md
Normal file
12
Thesis/02_Versuchsbeschreibung/01_Theorie/_Inhalt.md
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
## Allgemeines
|
||||||
|
- *Wenn eine Unternehmensdarstellung erforderlich ist, dann hier als Unterabschnitt => optional je nach Prüfer / Unternehmen*
|
||||||
|
- Wenn es mehrere unterschiedliche Themen gibt, dürfen Sie auch mehrere Kapitel verwenden
|
||||||
|
- **Tipp: Seien Sie mit der Überschrift / den Überschriften kreativer als dieses Dokument**
|
||||||
|
|
||||||
|
## Was wird in der Theorie dargestellt
|
||||||
|
- Sie schreiben **kein** Lehrbuch
|
||||||
|
- kurz den Stand der Technik für Fachkräfte dar
|
||||||
|
- So wenig wie möglich, so viel wie nötig!
|
||||||
|
- 5 - 10, max. 15 Seiten
|
||||||
|
|
||||||
|
**Hier kann ich mich auf die #Fragen beruhen und sollte alle bestehenden Fragen mindestens geklärt haben**
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
- Lösungstrategie
|
||||||
|
- Auswahl der geeigneten Lösung mittel nachvollziehbarer Kriterien
|
||||||
|
- Darstellung wer die Bewertung durchgeführt hat
|
||||||
|
- Bei unabhängiger Arbeit müssen Bewertungskriterien an eine Prüfende Person übermittelt werden. **WIR SIND NICHT DAZU BEFÄHIGT EINE PROFESSIONELLE BEWERTUNG SELBSTSTÄNDIG ZU ÜBERNEHMEN!!!!**
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
- Darstellung der Versuchsreihen
|
||||||
|
- Auflistung der Ergebnisse
|
||||||
|
- **KEINE INTERPRETATION**
|
||||||
2
Thesis/02_Versuchsbeschreibung/_Inhalt.md
Normal file
2
Thesis/02_Versuchsbeschreibung/_Inhalt.md
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
- Beschreibung der eigenen Arbeit
|
||||||
|
- Gerne auf mehrere Kapitel verteilen
|
||||||
4
Thesis/03_Ergebnisse/_Inhalt.md
Normal file
4
Thesis/03_Ergebnisse/_Inhalt.md
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
- Interpretation der Versuchsauswertung
|
||||||
|
- Abgleich ggf. den Teilaufgaben
|
||||||
|
- ggf. bis hin zu Empfehlungen
|
||||||
|
- **Tipp: Hier dürfen wir erstmals eigene Bewertung treffen!**
|
||||||
2
Thesis/04_Ausblick/01_Zusammenfassung/_Inhalt.md
Normal file
2
Thesis/04_Ausblick/01_Zusammenfassung/_Inhalt.md
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
- Kurz darstellen was in jedem Kapitel behandelt wurde und
|
||||||
|
- das wesentliche Ergebnis jeden Kap. ausführen
|
||||||
2
Thesis/04_Ausblick/02_Ausblick/_Inhalt.md
Normal file
2
Thesis/04_Ausblick/02_Ausblick/_Inhalt.md
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
- Offen gebliebene Fragestellungen
|
||||||
|
- Erweiterungsmöglichkeiten
|
||||||
0
Umsetzung/1_Core_Layer/CLI.md
Normal file
0
Umsetzung/1_Core_Layer/CLI.md
Normal file
0
Umsetzung/1_Core_Layer/Documentation Tool.md
Normal file
0
Umsetzung/1_Core_Layer/Documentation Tool.md
Normal file
0
Umsetzung/1_Core_Layer/Explanation Engine.md
Normal file
0
Umsetzung/1_Core_Layer/Explanation Engine.md
Normal file
0
Umsetzung/1_Core_Layer/Logger.md
Normal file
0
Umsetzung/1_Core_Layer/Logger.md
Normal file
0
Umsetzung/1_Core_Layer/Parser.md
Normal file
0
Umsetzung/1_Core_Layer/Parser.md
Normal file
19
Umsetzung/1_Core_Layer/Performance Metric Observator.md
Normal file
19
Umsetzung/1_Core_Layer/Performance Metric Observator.md
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
Das Dokumentieren der Performanz ist von Interesse für weitere Iterationen. Hiermit kann in Zukunft folgendes geplant werden:
|
||||||
|
1. Performance Patches / Optimierungen
|
||||||
|
2. Issue-Detection
|
||||||
|
3. Scalability proaktiv unterstützen
|
||||||
|
4. Fehlerrate
|
||||||
|
|
||||||
|
# Anwendungsorientierung
|
||||||
|
Von Interesse sind #continuousMonitoring und #syntheticMonitoring aufgrund
|
||||||
|
folgender Kriterien:
|
||||||
|
|
||||||
|
- mimic real life scenarios
|
||||||
|
- key metric monitoring
|
||||||
|
- real-time observation
|
||||||
|
# Performance Baseline
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# Sources
|
||||||
|
[Middleware-python-performance-monitoring](https://middleware.io/blog/python-performance-monitoring/)
|
||||||
0
Umsetzung/1_Core_Layer/Plug-In-Manager.md
Normal file
0
Umsetzung/1_Core_Layer/Plug-In-Manager.md
Normal file
0
Umsetzung/1_Core_Layer/Port Listener.md
Normal file
0
Umsetzung/1_Core_Layer/Port Listener.md
Normal file
0
Umsetzung/2.1_Analysis_Orchestrator/Pipeline.md
Normal file
0
Umsetzung/2.1_Analysis_Orchestrator/Pipeline.md
Normal file
0
Umsetzung/2.1_Analysis_Orchestrator/Workflow.md
Normal file
0
Umsetzung/2.1_Analysis_Orchestrator/Workflow.md
Normal file
0
Umsetzung/2_Core_Analysis/Grammar Checker.md
Normal file
0
Umsetzung/2_Core_Analysis/Grammar Checker.md
Normal file
0
Umsetzung/2_Core_Analysis/Punctuation Checker.md
Normal file
0
Umsetzung/2_Core_Analysis/Punctuation Checker.md
Normal file
0
Umsetzung/2_Core_Analysis/Repetition Checker.md
Normal file
0
Umsetzung/2_Core_Analysis/Repetition Checker.md
Normal file
0
Umsetzung/2_Core_Analysis/Spelling Checker.md
Normal file
0
Umsetzung/2_Core_Analysis/Spelling Checker.md
Normal file
0
Umsetzung/3_Service_Layer/API Endpoints.md
Normal file
0
Umsetzung/3_Service_Layer/API Endpoints.md
Normal file
20
Umsetzung/3_Service_Layer/Response Orchestrator.md
Normal file
20
Umsetzung/3_Service_Layer/Response Orchestrator.md
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
Antworten sollen eine Verständliche und simple Struktur darstellen.
|
||||||
|
Beispielweise als JSON Objekt:
|
||||||
|
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
position: {
|
||||||
|
from: {
|
||||||
|
x: number,
|
||||||
|
y: number
|
||||||
|
},
|
||||||
|
to: {
|
||||||
|
x: number,
|
||||||
|
y: number
|
||||||
|
}
|
||||||
|
},
|
||||||
|
issue_type: ENUM_ISSUE_TYPE,
|
||||||
|
comment: string,
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
0
Umsetzung/3_Service_Layer/Scoring Model.md
Normal file
0
Umsetzung/3_Service_Layer/Scoring Model.md
Normal file
0
Umsetzung/3_Service_Layer/Socket Connector.md
Normal file
0
Umsetzung/3_Service_Layer/Socket Connector.md
Normal file
23
_Hinweise.md
Normal file
23
_Hinweise.md
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
- einfache Grammatik
|
||||||
|
- Füllwörter vermeiden
|
||||||
|
- Verwenden Sie passive Formulierungen: es gibt **kein** man, ich , wir etc.
|
||||||
|
- Vermeiden Sie den Konjunktiv
|
||||||
|
- Separieren Sie Ihre Gedanken und stellen Sie die Inh. in sich geschlossenen Formatierungsblöcken (z.B. Absätzen)
|
||||||
|
- Viel Fließtext ist unübersichtlich und ggf. anstrengend zu lesen / zu verstehen
|
||||||
|
- **Tipp Strukturierern Sie Ihren Text durch:**
|
||||||
|
- Absätze
|
||||||
|
- Aufzählungen
|
||||||
|
- Abbildungen
|
||||||
|
- Tabellen
|
||||||
|
- Abstände zu Aufzählungen, Tabellen und Abbildungen
|
||||||
|
- Sinnvolle Seitenumbrüche
|
||||||
|
- Prüfen Sie die Orthografie Ihres Berichts
|
||||||
|
- mittels Rechtschreibkorrektur, oder auch
|
||||||
|
- durch den Einsatz entsprechender (KI-)-Tools
|
||||||
|
- **Tipp: Lesen Sie Ihren Text durch, bevor Sie ihn einreichen!**
|
||||||
|
- Behauptungen müssen belegt sein (Quellen)
|
||||||
|
- Vermeiden Sie Bewertungen
|
||||||
|
- **Tipp: Sie werden nicht nach der Seitenzahl des Berichts bewertet, sondern nach:**
|
||||||
|
- dem Inhalt
|
||||||
|
- der Darstellungsform
|
||||||
|
- ggf. der praktischen Arbeit
|
||||||
Reference in New Issue
Block a user