Übung 2 – Computerlinguistische Analyse eines Korpus zur Untersuchung sprachlicher Phänomene
Diese Übung konzentriert sich auf NLP-Methoden, linguistische Modellierung und eine kritische Reflexion über die rechnergestützte Sprachverarbeitung.
Titel:
Computerlinguistische Analyse eines Korpus zur Untersuchung sprachlicher Phänomene
Lernziele:
- Anwendung von Methoden der natürlichen Sprachverarbeitung (Natural Language Processing, NLP) auf sprachliche Daten
- Aufbau und Abfrage eines annotierten Korpus
- Kritische Bewertung von NLP-Tools im Lichte linguistischer Theorien
Übungsabgabe
Wählen oder erstellen Sie ein Korpus (Mindestumfang: 50.000 Tokens), das hinsichtlich Domäne und Sprachvarietät kohärent ist (z. B. journalistisches Italienisch, literarische Texte, transkribierte gesprochene Sprache, soziale Medien usw.). Führen Sie die folgenden Aufgaben durch:
Vorbereitung und Annotation des Korpus
- Beschreiben Sie die Domäne, Sprachvarietät, Textsorte und Art der Daten.
- Führen Sie folgende Preprocessing-Schritte durch:
- Tokenisierung und Normalisierung
- POS-Tagging und Lemmatisierung (z. B. mit spaCy, UDPipe oder Stanza)
- Dependenz- oder Konstituenten-Parsing
Alternativ (oder zusätzlich) können Sie ein bereits annotiertes Korpus im CoNLL-U-Format verwenden (z. B. UD Treebanks) und es für Ihre Zwecke anpassen.
Computerlinguistische Analyse
Wählen Sie eine oder mehrere der folgenden Untersuchungsebenen:
- Morphosyntax: Verteilung grammatischer Kategorien, lexikalische Ambiguitäten, Tagging-Fehler
- Syntax: wiederkehrende Strukturen, Maße syntaktischer Komplexität, Dependenzen
- Lexikon: Dichte- und Diversitätsmaße, Lemmaverteilungen, TF-IDF-Analysen
- Semantik: Named Entity Recognition, Word Embeddings, Topic Modeling
- Pragmatik/Dialog (bei dialogischem Korpus): Sprecherwechsel, Diskursmarker, computergestützte Sprechakttypen
Modellierung und Visualisierung
- Implementieren Sie Skripte in Python oder R, um Muster zu extrahieren, Statistiken zu berechnen und Visualisierungen zu erstellen (z. B. mit matplotlib, seaborn, spaCy displaCy, networkx usw.).
- Erstellen Sie mindestens zwei aussagekräftige Visualisierungen (z. B. syntaktische Netzwerke, Histogramme, semantische Karten).
- Erläutern Sie den Analyseprozess und die methodischen Entscheidungen.
Kritische Diskussion
Verfassen Sie einen Essay (1.000–1.500 Wörter), in dem Sie:
- Die erzielten Ergebnisse aus linguistischer Perspektive interpretieren
- Die Grenzen und Verzerrungen der eingesetzten NLP-Tools reflektieren (z. B. Modellabdeckung, systematische Fehler, Abweichungen zwischen Theorie und Umsetzung)
- Erweiterungen oder Verbesserungen vorschlagen (z. B. Modelltraining, Einsatz lexikalischer Ressourcen, semantischer Netzwerke wie WordNet oder BabelNet)
Empfohlene Tools
- Python: NLTK, spaCy, Stanza, UDPipe, sklearn, matplotlib, seaborn
- Linguistische Korpora: Universal Dependencies, ItWac, TUT (Turin University Treebank), CORIS/CODIS
- Visualisierung: displaCy, seaborn, matplotlib, Gephi (für syntaktische Graphen)
Endabgabe
Ein komprimierter Ordner mit:
- Dem annotierten Korpus (oder einem Teilkorpus) und Dokumentation
- Analyse-Skripten oder kommentierten Jupyter Notebooks
- Den Visualisierungen (im PNG-/SVG-Format oder eingebettet)
- Dem kritischen Essay im PDF-Format
Bewertungskriterien
- Technische Genauigkeit und Reproduzierbarkeit (30 %)
- Sprachliche Kohärenz und Hypothesenqualität (30 %)
- Qualität der Visualisierungen und Interpretation (20 %)
- Kritisch-reflexive Kompetenz (20 %)
Beispiel: Python-Notebook mit spaCy [ITALIAN]
Beinhaltet einen Basis-Workflow zur Analyse eines italienischen Textes:
- Analyse der syntaktischen Struktur
- Visualisierung
- Extraktion der häufigsten Lemmata