satzreduktion.satzreduktion

Dokumentation zur Praktikumsaufgabe Satzreduktion.

Module Contents

main(text_input, output_textname)

Führt die Funktionen des Programms aus.

eingabe_textdatei(pfad)

Lädt die zu reduzierende Textdatei ein.

Parameters:
  • pfad – Pfad zu der Textdatei
  • data – Data speichert die Textdatei als String
Returns:

eingelesene Textdatei als String

ner_tagger(data)

Lädt den NER-Tagger und tagged den gegebenen Text damit.

Parameters:
  • data – Text als String eingelesen
  • text_tagged_ner – Enthält den Text mit ner-Tags
Returns:

Text mit NER Tags

pos_tagger(data)

Lädt den POS-Tagger und tagged den gegebenen Text damit.

Parameters:
  • data – Text als String eingelesen
  • text_tagged_pos – Enthält den Text mit pos-Tags
Returns:

Text mit POS Tags

zeitpunkt_ersetzen(text)

Ersetzt Zeitpunkte im Text.

Parameters:text – Text wird auf von Zeitpunkte überprüft und dann durch

irgendwann ersetzt :return: Text mit ersetzten Zeitpunkten

relativsaetze_ersetzen(text)

Ersetzt Relativsätze.

Parameters:text – Text wird der Funktion übergeben
Returns:Text ohne Relativsätze
pos_tags_entfernen(text)

Entfernt POS-Tags und noch vorhandene MISC-Tags.

Parameters:text – Text wird der Funktion übergeben
Returns:Text ohne jegliche Tags
praepositionalphrasen_entfernen(text)

Entfernt Präpositionalphrasen.

Parameters:text – Text wird der Funktion übergeben
Returns:Text ohne Präpositionalphrasen
replace_ner(data)

Ersetzt NER Tags.

Die Funktion liest eine getaggte Datei ein, macht aus ihr eine Liste bestehend aus Strings, ruft die jeweiligen Ersetzungs-Funktionen auf und fängt den ‘letzten’ Ersetzungsfall auf, abschließend wird der ersetzte Text in eine neue Datei geschrieben.

Parameters:data – Die einzulesende txt-Datei
Returns:Text reduziert
to_replace(ersetzung, praeposition, count, words)

Hilfsfunktion.

Die Funktion to_replace(ersetzung, praeposition, count, words) geht den getaggten Text Wort für Wort durch und ruft, abhängig vom gefundenen Tag, die jeweilige Funktion zum Ersetzen auf wird kein Tag gefunden, wird der Count um 1 erhöht wird ein I- oder E-Tag gefunden (Inside, End), wird das getaggte Wort auf “Reset” gesetzt

Parameters:String (ersetzung) – Das Wort, mit dem ersetzt werden soll

(z.B. “irgendwo”) :param praeposition Liste von Präpositionen, die jeweils einem Ersetzungswort zugeordnet werden kann :param count Zähler (int), der anzeigt, an welcher Stelle im Text (words)

sich die Iteration befindet

:param words Getaggter Text als Liste

replace_loc(ersetzung, praeposition, words, count)

Funktion ersetzt Locations.

Die Funktion replace_loc(ersetzung,praeposition,words,count) wird aufgerufen, wenn ein LOCATION-Tag entdeckt wurde Sie überprüft, ob das Wort vor dem getaggten Wort (bzw. das Wort davor) in der entsprechenden Liste von Präpositionen enthalten ist ist dies der Fall, wird das TAG ersetzt und das getaggte Wort sowie die Präposition auf “Reset” gesetzt (alle auf “Reset” gesetzten Worte werden nicht in die neue Datei mit eingeschrieben) :param ersetzung String: Das Wort, mit dem ersetzt werden soll (z.B. “irgendwo”) :param praeposition: Liste von Präpositionen, die jeweils einem Ersetzungswort zugeordnet werden kann :param count Zähler (int), der anzeigt, an welcher Stelle im Text (words) sich die Iteration befindet :param words: Getaggter Text als Liste

replace_org_per(ersetzung, praeposition, words, count)

Funktion ersetzt Personen und Organisationen.

Die Funktion replace_org_per(ersetzung,praeposition,words,count) wird aufgerufen, wenn ein ORGANIZATION- oder ein PERSON-Tag entdeckt wurde siehe Funktion replace_loc, der Unterschied ist, dass die überprüften Präpositionen nicht gelöscht werden, da sie grammatikalisch benötigt werden

Parameters:String (ersetzung) – Das Wort, mit dem ersetzt werden soll

(z.B. “irgendwo”) :param praeposition: Liste von Präpositionen, die jeweils einem Ersetzungswort zugeordnet werden kann :param count: Zähler (int), der anzeigt, an welcher Stelle im Text (words) sich die Iteration befindet :param words: Getaggter Text als Liste

praelist_irgendwo = ['in', 'um', 'ums', 'ab', 'bei', 'beim', 'gegenüber', 'nächst', 'nahe', 'vis-à-vis', 'abseits', 'außer', 'außerhalb', 'ausgangs', 'beidseits', 'beiderseits', 'diesseits', 'eingangs', 'entlang', 'fern', 'fernab', 'inmitten', 'innerhalb', 'jenseits', 'längs', 'längsseits', 'links', 'nördlich', 'nordöstlich', 'nordwestlich', 'oberhalb', 'östlich', 'rechts', 'seitlich', 'seitwärts', 'südlich', 'südöstlich', 'südwestlich', 'unfern', 'unterhalb', 'unweit', 'vis-à-vis', 'westlich', 'weitab', 'zunächst', 'zuseiten']
praelist_irgendwohin = ['nach', 'zu', 'zum', 'zur', 'bis', 'durch', 'entlang', 'gegen', 'gen', 'lang']
praelist_irgendwoher = ['aus', 'von', 'vom']
praelist_wechsel = ['am', 'an', 'auf', 'hinter', 'in', 'In', 'neben', 'über', 'unter', 'Vor', 'vor', 'zwischen', 'im']
praelist_irgendeine = ['um', 'ums', 'ab', 'bei', 'beim', 'gegenüber', 'nächst', 'nahe', 'vis-à-vis', 'abseits', 'außer', 'außerhalb', 'ausgangs', 'beidseits', 'beiderseits', 'diesseits', 'eingangs', 'entlang', 'fern', 'fernab', 'inmitten', 'innerhalb', 'jenseits', 'längs', 'längsseits', 'links', 'nördlich', 'nordöstlich', 'nordwestlich', 'oberhalb', 'östlich', 'rechts', 'seitlich', 'seitwärts', 'südlich', 'südöstlich', 'südwestlich', 'unfern', 'unterhalb', 'unweit', 'westlich', 'weitab', 'zunächst', 'zuseiten']
praelist_irgendeiner = ['aus', 'von', 'vom', 'nach', 'zu', 'zum', 'zur', 'bis', 'durch', 'entlang', 'gegen', 'gen', 'lang']
praelist_irgendwer = []
praelist_irgendwem = ['mit', 'bei', 'zu', 'von']
praelist_irgendwen = ['auf', 'an', 'für']
praelist_kausal = ['angesichts', 'anlässlich', 'aufgrund', 'ob', 'betreffs', 'bezüglich', 'dank', 'mangels', 'trotz', 'wegen', 'zwecks', 'unter', 'durch', 'für']
praelist_modal = ['abzüglich', 'anhand', 'anstatt', 'anstelle', 'exklusive', 'hinsichtlich', 'in puncto', 'inklusive', 'minus', 'mittels', 'seitens', 'statt', 'vorbehaltlich', 'zufolge', 'zugunsten', 'zuhanden', 'zulasten', 'zuungunsten', 'zuzüglichum']
artikel = ['der', 'die', 'das', 'ein', 'eine', 'des', 'dem', 'den', 'eines', 'einer', 'einem']
text_ausgabe(neue_textdatei, ersetzter_text)

Speichert den Output in einer neuen Textdatei.

Parameters:neue_textdatei – Name der neuen Textdatei