# Themen für Abschlussarbeiten
Liebe Studierende,
seit einiger Zeit sind Abschlussarbeiten bei mir „defaultmäßig“ in den Themenbereichen *Textmining, Information Retrieval, Data Science, Semantic Web* angesiedelt. Wenn Sie ein Thema suchen, können Sie sich gerne auf dieser Seite inspirieren lassen. Und selbstverständlich freue ich mich auch über eigene Themenvorschläge!
* Wenn Sie eine Abschlussarbeit aus dem Bereich {ref}`ideen-logd` anfertigen wollen, empfehle ich eine Teilnahme (gerne ohne Klausur etc.) an der Veranstaltung , idealerweise am Kickoff
* Wenn Sie eine Abschlussarbeit aus dem Bereich {ref}`ideen-dsci-txt` anfertigen wollen, setze ich voraus, dass Sie den Stoff aus der Veranstaltung dsci-txt aus dem SS 2023 beherrschen.
## Rahmenbedingungen
Wichtig ist mir, dass Sie selbst ein fachliches Interesse haben. Ein solches müssen Sie selbst mitbringen - denn was *Sie* interessiert, kann *ich* ihnen nicht sagen. Idealerweise sind Sie Ihrem Interesse schon in Ihrer Studienzeit in einer Veranstaltung, einem Job, einem Hobby nachgekommen.
Bei einem Becher Kaffee in der ZH-Cafeteria berate ich Sie dann, wie aus Ihrem allgemeinen fachlichen Interesse eine konkrete, bearbeitbare, wahrheitsfähige Fragestellung werden kann:
* es gibt eine Fragestellung:
* die Fragestellung ist konkret, interessant, angewandt:
* die Fragestellung ist wahrheitsfähig:
Zur Methode wissenschaftlichen Arbeitens, Zitierweise etc. empfehle ich dringend die Leküre von
* Kornmeier, Martin: Wissenschaftlich schreiben leicht gemacht. Bern, UTB 2021.
Falls keine Ausnahme vorliegt, gilt für Abschlussarbeiten bei mir folgendes:
* WIF ist eine gestaltungs- und anwendungsorientierte Disziplin. Abschlussarbeiten lösen idealerweise ein konkretes anwendungsorientiertes Problem.
* WIF-Absolventen unterscheiden sich von Studierenden nicht-informatischer Fächer dadurch, dass sie programmieren können. In einer Abschlussarbeit muss auch auch etwas programmiert oder codiert werden (bei mir idealerweise in Python).
* Aufgabenstellungen sind idealerweise so beschaffen, dass sich im Prinzip nachprüfen lässt, ob eine Lösung ein Problem tatsächlich löst.
Die Anmeldung der Abschlussarbeit setzt ein kurzes Exposé im Umfang von ca. 100 Wörtern voraus.
## Betreuung
Für eine Bachelorarbeit werden einem Dozenten 0.2 SWS auf das Lehrdeputat angerechnet, also etwa 6 x 45 Minuten komplett incl. Definition, Orga, inhaltliche Betreuung und Feedback, Korrektur. Das ist nicht viel. Bereiten Sie also die Treffen mit Ihrem Dozenten so vor und nach, dass Ihre Zeit und die des Betreuers wertschätzung genießt.
# Themen und Ideen
(ideen-logd)=
## Linked Open Government Data (logd)
(aehnlichkeit-von-csv-dateien)=
### Ähnlichkeit von CSV-Dateien
Usecase: Uns interessieren Daten über die Belegung von Parkhäusern, z.B. *Parkhausbelegungsstände in Heidelberg* () > [ urn_ngsiv2_offstreetparking_p17_offstreetparking P17 - Stadtbücherei](https://ckan.datenplattform.heidelberg.de/de/dataset/mobility_main_parking/resource/ba8f8552-01b0-4606-a5a0-739706ad1784).
Auf sind run 90k Datensätze aus der Verwaltung öffentlich verfügbar. Das wollen wir wissen:
* Welche anderen Datensätze auf govdata.de enthalten ebenfalls Parkhausdaten?
Keine Lösung: Recherche über Verschlagwortung; denn die Erfahrung zeigt, dass die Verschlagwortung subjektiv und nicht treffgenau ist, und nicht alle interessanten Datensätze zurückgibt.
Aufgabe:
* Entwickle ein Konzept und ein Demo-Beispiel, wie man die *Ähnlichkeit* von CSV-Dateien feststellen kann.
Die Ähnlichkeit kann man dann nutzen, um
* zu einer gegebenen CSV-Datei eine andere ähnliche zu finden (obige Aufgabe)
* eine größere Menge von CSV-Dateien zu clustern (allgemeine Anwendung)
* ggf. Nebenprojekt: Lassen sich ggf. sogar Spaltenüberschriften aus den Spalteninhalten erschließen? Wie genau der Datentyp?
Wenn die Spaltenüberschriften ähnlich sind, ist die Sache einfach. Aber wenn nicht? Hypothesen:
* Je mehr ähnliche Spalten zwei CSV-Dateien haben, desto ähnlicher dürften sie auch insgesamt sein.
Also Lösungsansatz:
* Bestimme die Ahnlichkeit einzelner Spalten in verschiedenen CSV-Dateien
* Die Ähnlichkeit von zwei Dateien ergibt sich dann als Funktion der Ähnlichkeit ihrer einzelnen Spalten.
Vorgehen: Synthetische Konstruktion einiger dutzend CSV-Dateien von unterschiedlichem Typ, z.B.
* Adressen: Name, Vorname, Straße, PLZ, Ort
* Produkte: Produkt-Name, EAN-Nummer, Einkaufspreis, Verkaufspreis, Datum, Menge
* Klausuren: Name, Vorname, MatNr, ModulNr, Datum, Note
* Blitzer: PLZ, Ort, Straße, Datum, Zeit, Kennzeichen, Geschwindigkeit
Klar: Die Spaltenüberschriften seien jeweils *nicht* gegeben.
Literatur:
* Eine ähnliche Aufgabenstellung ist beschrieben unter
* interessantes Projekt:
## Themen um Myst-Markdown
Seit WS 2022 schreibt J.Busse alle seine Texte, Emails etc. möglichst in Myst-Markdown, auch die Homepage wurde neulich mit Jupytebook neu aufgesetzt. Myst-Markdown ist eine Variante von Commonmark-Markdown.
In einer Reihe von kleineren Abschlussarbeiten sollen Herausforderungen bei der Integration von Myst mit anderen Text-Technologien explorativ dokumentiert und im Einzelfall auch gelöst werden.
Aus meiner Sicht bahnbrechend neu, seit SS 2024 im Einsatz:
*
Bisher:
*
*
*
*
### Dokumentation einer Bibliothek mit Diataxis
gegeben:
* Ein einfaches Progrämmchen, wie man es an einem Nachmittag oder einer Woche zusammenschustern kann. Beispiel: ;
* ein modernes Framework, wie man eine Software-Dokumentation inhaltlich strukturieren sollte, nämlich ;
* ein modernes Framework, wie man eine Software-Dokumentation technisch basierend auf Markdown anlegen kann, nämlich .
gesucht: Eine möglichst professionelle Dokumentation des beliebigen, möglichst kleinen Progrämmchens gemäß Diataxis mit mystmd. Mit enthalten sind:
* Webfassung; Export nach MSWord, LaTeX; Herstellung pdf
* Literaturverwaltung mit Zotero
* Terminologiemanagement
* mindestens ein händisch erstelltes Glossar
* idealerweise aus einer Datenhaltung generiert, z.B.
* Link- und Label-Management, d.h. kanonisch gewählte Namen von Dateien, Überschriften, Tabellen, Code-Snippets etc.
* ausführliche Dokumentation der Dokumentations-Toolchain
Die meisten Konfigurationsprobleme von mystmd in Verbindung mit Zotero und LaTeX sind in unserem bereits gelöst. In der vorliegenden Bachelorarbeit geht es darum, mit dieser lauffähigen Technik eine vorzeigbare Muster-Dokumentation herzustellen. Rahmenbedingungen:
* natürlich verwenden wir das dsci-lab
* absolute Sicherheit bzgl Rechtschreibung und Grammatik; einwandfreie Deutschkenntnisse
Leitendes Ziel: Sie wollen sich in einer SW-Firma als *Head of Software Documentation* bewerben. Die vorliegende Bachelorarbeit ist ihre Visitenkarte.
### Markdown-Glossar aus SKOS
gegeben:
* eine Terminologie als RDF-Graph gemäß dem Schema |
gesucht:
* Ein Export der Terminologie in ein Glossar im Format Markdown.
Weg: Abfrage eines RDF-Graphen mit SPARQL ergibt einen Graph oder eine Tabelle. Beispiel für SPARQL: |
Auf diesen Ergebnissen der Graph-Abfrage aufbauen eine schöne (und insbesondere auch mit Links vernetzte) textuelle Darstellung in Markdown erzeugen.
Das gibt es schon, z.B.
* (Java)
* (Python)
Warum nochmal machen?
* Wir benötigen Markdown als Output -- aber das könnte man auch erreichen durch eine Erweiterung oder Parametrisierung bestehender Lösungen.
* Eigentlich geht es um eine didaktische Demo, wie man aus einem (einfachen) RDF-Graphen mit SPARQL etc. wieder einen (nicht so komplizierten) Text erstellt.
Ziel ist eine minimale, einfache, selbstgemachte Lösung. Mithin eine kleine Programmier-Aufgabe, eine Bachelorarbeit eben.
### Myst-Markdown Präprozessor
Gegeben:
* ein Aufsatz in Myst-Markdown, der auf externe Links verweist, insbesondere auf Wikipedia
Gesucht:
* z.B. eine Rolle {wikipedia}`...`, die den Link in html und später auch pdf geignet anzeigt
Ziel der Arbeit:
* Explorativ ausprobieren und dokumentieren, wie man mit dem Myst-Parser arbeitet
Idee: Baue ähnlich dem [C-Präprozessor cpp](https://de.wikipedia.org/wiki/C-Pr%C3%A4prozessor) einen Myst-Markdown Präprozessor ... unter Verwendung des Python Myst Parser, siehe resp. .
### Working with the MyST AST
Gegeben: Ein Markdown-Dokument.
Aufgabe:
* Erkenne Terminologie in deutschsprachigem Markdown Prosatext
Weg:
* analysiere Absatz-Text mit spaCy, um named Entities zu entdecken.
Problem zu lösen:
* Es sollen wirklich nur Text-Passagen analysiert werden, die in Markdown geschrieben sind, aber nicht Code, Metadaten etc.
Lösungsansatz: Es wird nicht die gesamte Markdown-Datei auf Named Entities analysiert, sondern nur die reinen Textpassagen:
* Wir werfen den Markdown-Parser an und identifizieren im Abstract Syntax Tree (AST) die Text-Sbippets, die sich problemlos mit spaCY analysieren lassen.
* Wir updaten die entsprechenden Text-Snippets
* und schreiben das Ergebnis als Markdown zurück.
Quellen
* Markdown Parser, AST:
* Text-Snippets mit spaCy analysieren:
### Roundtrip Myst - MSWord
Seit SS 2024 mit mystmd.org weitgehen gelöst.
Gegeben:
* ein Aufsatz in Myst-Markdown
* eine Word-Vorlage, mit der man auf einer Konferenz einreichen muss
Gesucht:
* ein möglichst automatisierter Weg von Myst nach Word
### Myst und Zotero
Seit SS 2024 mit mystmd.org gelöst!
Gegeben:
* Ein Aufsatz mit Litertaurnachweisen (Müller 2018, S.17ff)
* der in Myst-Markdown geschrieben ist
Gesucht:
* eine Literaturliste am Ende des Aufsatzes
* die gemäß den Angaben des Journals aufbereitet ist, bei dem man einreicht.
Ziel der Arbeit: Zusammenspiel von Zotero und Jupterbook in Bezug auf Literaturverweise
* explorativ untersuchen und dokumentieren
* eine Problemlösung finden, die in Jupyterbook Zitate und Lit.-Vrzeichnis konfigurierbar einfügen lässt.
(ideen-dsci-txt)=
## Textmining (dsci-txt)
Im Sommer 2023 hat das [FWPF Text Mining](http://jbusse.de/dsci-txt/start.html) stattgefunden.
Im Rahmen dieses Faches gibt es bereits einige Problemlösungen, siehe
*
Einige dieser Notebooks lassen sich zu Abschlussarbeiten ausbauen. Voraussetzung ist eine (ggf. auch erneute) Teilnahme im FWPF ohne Klausur, Vorteile:
* Sie haben ein Fach als Grundlage der Bachelorarbeit.
* Ich muss die selben Dinge nicht jedes mal einzeln erklären.
* Sie haben einen kleinen Forschungskontext, Gesprächspartner etc.
### Ähnlichkeit Mindmap
Gegeben:
* 20 Studierende erhalten den Auftrag, einen vorgegebenen Text in einer Mindmap zusammenzufassen.
* Gruppenarbeit wird empfohlen. *Kopieren und überarbeiten etc.* wird nicht empfohlen, *ist aber explizit erlaubt*.
* Jeder muss einzeln abgeben.
Wir erhalten 20 Mindmaps. Aufgabe:
* Gruppiere die Mindmaps nach Ähnlichkeit
* lässt sich nachvollziehen und visualisieren, welchen Weg Teil-Äste oder Knoten in den verschiedenen nacheinander genommen haben?
Im Ansatz ist die Aufgabe technish gelöst:
Die Aufgabe besteht darin, viele andere Ähnlichkeiten zu erkennen und zu operationalisieren.
### Ähnlichkeit Jupyterbook
Gegeben
* ein Juyter Notebook, z.B. .
* Die Studierenden erhalten die Aufgabe, dieses Notebook mit eigenen Ideen zu erweitern.
Gesucht:
* Eine Markierung der Änderungen in den geändeten Notebooks.
Erforderlich: Teilnahme an dsci-txt
### spaCy
Gegeben:
* Ein Text, in dem gegendert wird.
Beispielfür gegenderten Rollen:
* Anwendende
* Anwender:innen, AnwenderInnen
* Anwender und Anwenderinnen
* auch Hermes Phettberg: Anwendery
Gesucht:
* spaCy *Regeln*, um die Rollen zu erkenne, hier: Anwender (m/w/d)
Erforderlich: Teilnahme an dsci-txt
### Obsidian
Gegeben:
* mehrere umfangreiche Jupyter Notebooks in Markdown
* eine inhaltliche Struktur für die Dokumentation von Software, nämlich
Gesucht:
* Wie kann man eine Sammlung von Markdown Notebooks in gut editieren?
* Zusammenhang mit Lit.-Verweisen, Links etc.?
Ziel: Ein existerendes Notebook - z.B. das aus dsci - als Abschlussarbeit nach Diataxis strukturieren.
Ergebnis:
* Teil 1: das existierende dsci-Abschlussarbeit
* Teil 2: eine kurze Anleitung, wie man das macht
## GenDifS
[GenDifS](http://jbusse.de/gendifs/) ist eine von J.Busse entwickelte Sprache zur Notation von Taxonomien. Die Sprache ist Gegenstand aktiver Forschung. Bei Interesse sind auch hier Abschlussarbeiten denkbar.
### Facettenklassifikation mit GenDifS
Gegeben:
* Die englische Seite beschreibt ca 100 Typen von Gewässern in form eines einfachen Glossars.
* Die deutsche Seite strukturiert Gewässer nach zahlreichen Dimensionen.
Gesucht:
* Finde einen Weg, wie ein Mensch alleine auf Basis des englischen Glossars eine Struktur entwicklen kann, wie die deutsche Seite sie aufbaut.
Ziel:
* Eine englische Gewässer-Ontolgie mit Hilfe der Software .
* Vorarbeit: