diff --git a/README.md b/README.md index abefefa5cf5c7e9f0b9f3cfe1a96729d91c9f6e9..a6edceafddff73aa47d30ac736dcc8184d3b6496 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,62 @@ -# Bachelorarbeit +# Sense Comparison + +Hier befinden sich die Python-Skripte, die ich für meine Bachelorarbeit _Diskursvergleich im Vektorraum. +Entwicklung einer Methode zur datengeleiteten Exploration eines Vektorraumes mittels Sense Embeddings_ +erstellt habe. + +### Inhalte des Repositories + +- **cluster_senses.py**: clustert Vektoren im Input. Kann verwendet werden, um den Output von +compare_senses.py gruppiert darzustellen. + +- **compare_senses.py**: vergleicht die Anzahl Senses von zwei Sense Embedding Modellen (vom Shared- +und Referenzkorpus) im Input. + +- **count_types.py**: gibt die Anzahl types im Input aus. + +- **get_SE_NN.py**: gibt die 10 Nearest Neighbors aller Senses einer Wortform aus, die sich in zwei +Modellen befinden. + +- **get_sense_vecs.py**: schreibt die Vektorwerte von Sense-Tags im Input in eine eigene Datei + +- **get_types.py**: schreibt alle Senses (nur den tag, ohne Vektorwerte) aus einem Modell in eine neue Datei. + +- **tsv2txt.py**: extrahiert den Rohtext aus einem .tsv-file, das von Swissdox@LiRI heruntergeladen wurde. + + +### Workflow + +Die genauen Angaben zu Input und Output befinden sich als Kommentare in den ersten Zeilen der Skripts. + +1. **tsv2txt.py**: Um Rohdaten von Swissdox@LirI von tsv zu txt-Format zu konvertieren. + +2. den Shared-Korpus aus den beiden zu vergleichenden Korpora (zwei .txt-Dateien) erstellen + +3. mit der Software von **sense-gram**[^1] für alle drei Korpora Word- und Sense Embedding Modelle erstellen +⚠Es kann zu Fehlermeldungen kommen, weil einige Libraries inzwischen veraltet sind. Um das zu +lösen, müssen lokal einige Zeilen angepasst werden. +[^1]:Panchenko, Alexander (2017–2021): sense-gram. Online unter: https://github.com/uhh-lt/sensegram <11.05.2022>. + +4. **compare_senses.py**: Nun werden Wortformen, die im Shared und Referenzmodell unterschiedliche Anzahl +Senses aufweisen, herausgefiltert. + +5. **get_sense_vecs.py**: die Vektoren, die zu den herausgefilterten Wortformen gehören, werden nun aus dem +Modell geholt, das zu dem zu vergleichenden Korpus gehört. + +Für eine darauffolgende Analyse bietet das Repository folgende Möglichkeiten: + +- Clustern von Vektoren mit **cluster_senses.py** + +- Ausgabe von Nearest Neighbors aller Senses einer Wortform aus zwei Modellen mit **get_SE_NN.py** + + + +Für Visualisierungen wurden in der Arbeit das Skript _we_pca_vis.py_ von KoDuP[^2] verwendet. +[^2]: Lehrstuhl Bubenhofer UZH (2021–2022): KoDuP-Germanistik. Online unter: https://gitlab.uzh.ch/noah.bubenhofer/kodup-germanistik <12.05.2022>. + + + + +----- + -Hier befinden sich die Python-Skripte, die ich für meine Bachelorarbeit zum Einsatz von Word Embeddings und insbesondere Sense-Grams in der korpusgestützten Diskurslinguistik erstellt habe. \ No newline at end of file