ASV-Label
Login

16px-feed-icon Course Diese Seite auf deutsch anzeigen

Textdatenbanken - Lecture Exercise

Summer term 2020  •  Module: Textdatenbanken (10-202-2322)  •  Friday, 09:15   •  SG 3-14

Lecturer:  Prof. Dr. Uwe Quasthoff

Additional informations:

Die Vorlesungen beginnen am 8.5.2020 mit einer Hörsaalübung zum Inhalt der ersten 4 Veranstaltungen.

Bis dahin werden wöchentlich Folien und weitere Materialien zum Selbststudium unter den untenstehenden Links angeboten.

Es ist kein zusätzliches Login nötig.

2020-04-10   Vorlesung 1: Material für E-Learning

1)
Benutzen Sie das Wortschatz-Portal: https://corpora.uni-leipzig.de/

Schlagen Sie im deutschen Korpus https://corpora.uni-leipzig.de/de?corpusId=deu_newscrawl-public_2018 einige deutsche Wörter nach:

  • Versuchen Sie, die drei häufigsten Wörter zu finden (d.h. mit Rang 1, 2 und 3)
  • Versuchen Sie, das häufigste deutsche Substantiv zu finden.
  • Versuchen Sie, den häufigsten Vornamen zu finden.
  • Suchen Sie (ohne Zuhilfenahme der Datenbanktabelle) nach extrem seltenen Wörtern mit Anzahl 1 oder 2.
  • Welches ist das längste wohlgeformte deutsche Wort, dass Sie finden können?
  • Was für Beispielsätze finden Sie, wenn Sie nach fremdsprachigen Wörtern wie “the” oder “jest” suchen?

Sie können die dahinterliegenden MySQL-Datenbanken herunterladen unter https://wortschatz.uni-leipzig.de/de/download. Die Wörter finden Sie in der Tabelle words.

2)
Textextraktion aus HTML

Angehängt finden Sie eine WARC-Datei, wie sie nach einem typischen Crawl entstanden sein könnte. Versuchen Sie sich an der Extraktion des Textes. Mögliche empfohlene Tools sind Beautiful Soup (Python), oder JSoup (Java). Ziehen Sie deren Dokumentationen zur Extraktion von Text heran (es benötigt nur wenige Zeilen Code).

Begutachten Sie die Ergebnisse: was hat gut funktioniert? Wo liegen Schwachstellen? Wie könnten diese bereinigt/abgeschwächt werden? Wie könnten die nächsten Verarbeitungsschritte aussehen?

Files: Folien - Teil 1    Beispiel-WARC-Datei   

2020-04-17   Vorlesung 2: Material für E-Learning

1)
Satzextraktion

Nach der Extraktion des Textes aus der HTML-Quelle soll dieser nun in Sätze zerlegt werden. Sie können dafür das Tool angehängt in der Archivdatei segmentizer.zip verwenden. Das Archiv enthält die entsprechende jar, sowie einen Ordner resources mit Regeln und Entitätslisten. Ausführbar ist das Tool nach Extraktion via:

java -jar sentence-segmentizer.jar -i=INPUTFILE -o=OUTPUTFILE -a=resources/preList.txt -b=resources/postList.txt -r=resources/preRules.txt -s=resources/postRules.txt -bf=resources/boundariesFile.txt

Betrachten Sie die Ergebnisse der Satzextraktion, sowie die verwendeten Regeln/Listen: Gibt es Fälle, in denen das Tool versagt (False Positives + False Negatives)? Fallen Ihnen weitere Kurztexte ein, mit denen das Tool “überlistet” werden kann? Welche zusätzlichen Regeln könnten einer solchen “Überlistung” entgegnen?

2)
Sprachseparierung

Da wir einsprachige Korpora konstruieren wollen, müssen die Sätze weiterhin nach Sprachen separiert werden. Sie finden im Anhang zwei JSON-Dateien mit häufigen Trigrammen für Englisch und Deutsch (basierend auf Referenzkorpora). Mit diesen können Sie eine vereinfachte Spracherkennung der Sätze durchführen. Folgen Sie dabei dem in den Vorlesungsfolien (Folien – Teil 2) geschilderten Ansatz!

Funktioniert dies mit allen Sätzen? Finden Sie weitere Beispiele, denen eine falsche Sprache zugewiesen werden könnte?

Files: Folien - Teil 2    Sentence Segmentizer    trigrams-eng.json    trigrams-deu.json   

2020-04-24   Vorlesung 3: Material für E-Learning

Tokenisierung

Nach der Auftrennung in Sätze folgt nun die Tokenisierung. Im Anhang finden Sie eine Datei sentences.txt mit Sätzen wie sie aus der Satzseparierung hervorgegangen sein könnten. Die Archivdatei tokenizer.zip enthält eine JAR zur Tokenisierung (sowie einen dafür benötigten Ordner mit Ressourcen). Ausführbar ist das Programm via:

java -cp tokenizer.jar de.uni_leipzig.asv.tools.medusa.tokenizer.input.TokenizerApp INPUTFILE OUTPUTFILE COLUMNNUMBER

Das Programm erwartet eine tab-separierte Liste von Daten, wobei COLUMNNUMBER die Spalte angibt, welche tokenisiert werden soll. Dies ist hauptsächlich bedingt durch interne Verarbeitungsketten, in der neben den Sätzen auch zusätzliche Informationen in der Datei abgelegt sein können. Eine einfache Textdatei mit einem Satz pro Zeile kann mit einer “0” als Spaltennummer tokenisiert werden.

Betrachten Sie die Ergebnisse: Gibt es ersichtliche Fehler? Falls ja, können Sie diese filtern (via kleinem Skript, regex, etc.)?

Weitere Satzdaten zum Ausprobieren können auch auf dem Wortschatz-Portal gefunden werden:
https://wortschatz.uni-leipzig.de/de/download

Files: tokenizer    sentences    Folien - Teil 3   

2020-05-08   Vorlesung 4: Material für E-Learning

Qualitätssicherung Sätze

Satzseparierung allein führt leider nicht immer auch zu ausreichend qualitativen Sätzen. Eine nachträgliche qualitative Filterung ist deshalb notwendig. Versuchen Sie, mithilfe eines kleinen Skriptes die beigefügte Satzliste nach “schönen” Kandidaten zu filtern (z.B. mit Regex-basierten Regeln). Hinweise für sinnvolle Regeln können der Vorlesung entnommen werden. Können Sie alle “problematischen” Sätze abfangen? Wird eventuell manchmal zu viel gefiltert? Statt einer binären Filterung ist auch ein Ranking-System möglich: überlegen Sie, welche Kriterien welche Gewichtungen zur Folge haben könnten!

Files: Folien - Teil 4    sentences.txt   

2020-05-15   Vorlesung 5: Material für E-Learning

Suche in Korpora

Verwenden Sie die ASV-Instanz der NoSketch-Engine zur Suche in Korpora:
http://cql.corpora.uni-leipzig.de/

Hierbei hilft besonders die Anfragesprache CQL. Hinweis: Die “Simple Query” der NoSketchEngine akzeptiert kein CQL – stattdessen dafür auf zunächst auf Query_typesCQL).
Dokumentation zu CQL finden Sie in den Vorlesungsfolien, sowie hier:
https://www.sketchengine.eu/documentation/corpus-querying/

Beachten Sie, dass sich die verwendeten Attributsnamen tlw. von der denen der offiziellen Dokumentation unterscheiden können. Hier unterstützte Attribute sind:
word, lemma, pos, lc (lowercase word), lemma_lc (lowercase lemma)

Die Kürzel der verwendeten POS-Tags finden Sie hier:
https://www.cis.uni-muenchen.de/~schmid/tools/TreeTagger/data/STTS-Tagset.pdf

Versuchen Sie, die folgenden Anfragen an das Korpus deu-newscrawl_2011 zu stellen:

- Welche 1-3 Worte tauchen zwischen den Token “Kuchen” und “Sahne” auf?
- Jedes Wort das folgendem Muster entspricht: “H” als Anfangsbuchstabe, dann ein beliebiger Buchstabe, dann “nd”, gefolgt von mindestens einem weiteren beliebigen Buchstaben.
- Ausdrücke der Form “(Nomen) und (Nomen)”, wobei ersteres Nomen auf “-bau” enden soll.
- Vornamen und Nachnamen von Bürgermeistern.
- Vornamen und Nachnamen von Bürgermeistern deren Nachname fälschlicherweise als Nomen getaggt wurde.
- Alle Varianten von “große X und kleine Y”, inklusive anderer Beugungen der Adjektive.
- Zwei bis drei beliebige Worte, welche positioniert sind zwischen einem optionalen beliebigen vorausgehenden Artikel + “Feuerwehr” auf der linken Seiten und “Brand” + einem beliebigen Verb auf der rechten Seite.
- Beispiele für Nagetiere (Tipp: überlegen Sie, wie eine solche Nennung in einem Satz formuliert werden würde)?
- Jahreszahlen, in denen jemand oder etwas in Berlin geboren wurde oder gestorben ist.
- Alle Beugungen von “fahren”, sofern in den folgenden 4 Worten irgendwo das Token “Bus” auftaucht.
- Die Resultate der vorherigen Anfrage oder Verben die mit “z” beginnen und höchstens 2 Wortpositionen von “Vogel” bzw. dessen Beugungen entfernt sind.

Files: Folien - Teil 5   

2020-05-22   Vorlesung 6: Material für E-Learning
Files: Folien - Teil 6   

2020-05-29   Vorlesung 7: Material für E-Learning
Files: Folien - Teil 7   

2020-06-05   Vorlesung 8: Material für E-Learning (demnächst)

2020-06-12   Vorlesung 9: Material für E-Learning (demnächst)

2020-06-19   Vorlesung 10: Material für E-Learning (demnächst)

2020-06-26   Vorlesung 11: Material für E-Learning (demnächst)

2020-07-03   Vorlesung 12: Material für E-Learning (demnächst)

2020-07-10   Vorlesung 13: Material für E-Learning (demnächst)

2020-07-17   Vorlesung 14: Material für E-Learning (demnächst)