Tutorial: Parallelkorpus verfügbar - mtuoc/tutorials GitHub Wiki
1. Einleitung
Um TAN-Systeme zu trainieren, benötigen wir ein paralleles Korpus von ausreichender Größe. Im Internet gibt es mehrere Repositorien, aus denen wir parallele Korpora für verschiedene Sprachpaare und Fachgebiete erhalten können. Es gibt mehrere Repositorien, die parallele Korpora zum kostenlosen Download haben. Wie wir sehen werden, gibt es eine, die unter ihnen alle hervorhebt: Opus Corpus, aber es gibt auch andere interessante Optionen.
In diesem Tutorial sehen wir auch die wichtigsten Formate, in denen diese parallelen Korpus verteilt werden.
2. Empfohlenes Lesen
3. Opus Corpus
Ein Repository sticht dabei besonders hervor: Opus Corpora. Greifen Sie auf diese Ressource zu und prüfen Sie sie sorgfältig. Wie ihr seht, gibt es einen Suchenden, wo ihr die Original- und die Zielsprache hinlegen könnt. Wenn Sie Englisch und Spanisch ankommen, und beobachten Sie, wie viele Corpus herauskommen. Es erscheint eine Tabelle mit grundlegenden Statistiken über die Anzahl der Segmente und Token. Wichtig ist, dass jeder Korpusname ein Link ist, und wenn Sie darauf klicken, gelangen Sie zu einer Seite, auf der die Einzelheiten des angegebenen Korpus erläutert werden.
Ein sehr wichtiger Aspekt bei diesen Korpora ist, dass die Ausgangssprache des Korpus nicht unbedingt die eigentliche Originalsprache und die Zielsprache die Übersetzung sein muss. Zum Beispiel in einem englischen - spanischen Korpus, in einem Segment das Englische das Original und das Spanische die Übersetzung sein, während es in einem anderen Segment genau umgekehrt ist oder die beiden Sprachen in Wirklichkeit die Übersetzung einer dritten Sprache sind, die das Original wäre. Anhand der detaillierten Beschreibung des Korpus können wir erkennen oder besser gesagt erahnen, ob es sich tatsächlich um die Originale handelt oder nicht.
Ein weiterer Aspekt ist, dass einige der Korpora sehr groß sind und das Herunterladen sehr viel Zeit und Speicherplatz auf Ihrem Computer erfordert.
Laden Sie nun einen kleinen Korpus herunter, z. B. den EMEA-Korpus mit knapp über 1 Mio. Segmenten (laden Sie jetzt nicht den ELRC-EMEA herunter, der viel größer ist). Sie werden sehen, dass Sie es im Moses-Format und im TMX-Format herunterladen können. Laden Sie die beiden Formate herunter, dekomprimieren Sie die Dateien, wenn nötig, und beobachten Sie sie (in einem guten Text-Editor (ein wenig später lege ich einige Tipps, welche Text-Editoren geeignet sind). Im weiteren Verlauf dieses Tutorials erklären wir alle Details zu diesen Formaten und wie man von einem zum anderen wechselt.
3. ELRC-SHARE
ELRC-SHARE ist ein sprachliches Datenarchiv mit etwa 6.000 Datensätzen unterschiedlicher Größe. Es ist wichtig zu beachten, dass diese Ressourcen unterschiedliche Zugangslizenzen haben und nicht alle kostenlos sind. Es erforscht die NTEU-Korpora, die zum Training neuronaler maschineller Übersetzungssysteme verwendet wurden eTranslation.
4. Standardformate für parallele Korpus
4.1. Format Moses
Das Moses-Format ist sehr gebräuchlich und besteht aus zwei Textdateien, eine für jede Sprache, in denen jede Zeile ein Segment hat und diese Segmente zeilenweise ausgerichtet sind. Das heißt, die erste Zeile der Ausgangssprachdatei entspricht der ersten Zeile der Zielsprachdatei.
4.2. Tabuliertes Textformat
Dieses Format ist auch sehr üblich und es handelt sich um eine einzelne Textdatei mit zwei Feldern, die durch einen Tabulator getrennt sind. Das erste Feld entspricht dem Segment in der Ausgangssprache und das zweite Feld dem Segment in der Zielsprache.
4.3. TMX-Format
Dieses Format ist der Standard für den Austausch von Übersetzungsspeichern. Denken wir daran, dass parallele Übersetzungs- und Korpusspeicher sehr ähnliche Konzepte sind. Dieses Format ist für große parallele Korpora weniger praktikabel, da die Dateigröße aufgrund der vielen Auszeichnungsvorgänge viel größer ist als die Größe der entsprechenden Moses- oder Tabellentextdateien.
5. Konvertierung zwischen parallelen Korpusformaten
5.1. Konvertierung von Moses-Format zu Tabellarischem Text
Diese Konvertierung kann problemlos mit Unix Standardd-Anweisungen durchgeführt werden. Wenn wir die Moses-Dateien corpus.SL und corpus.TL haben, können wir sie in tabellarischen Text umwandeln, indem wir dies tun:
paste corpus.SL corpus.TL > corpus-SL-TL.txt
Wir können diese Operation nutzen, um wiederholte Segmente durch folgende Anweisung zu entfernen:
paste corpus.SL corpus.TL | sort | uniq | shuf > corpus-uniq-SL-TL.txt
Der Teil „sort | uniq“ entfernt Wiederholungen und führt zu einer alphabetisch sortierten Datei. Um diese alphabetische Reihenfolge zu beseitigen, verwenden wir shuf
, um die Segmente zufällig zu unsortieren. Beachten Sie die Fähigkeit von Unix, Anweisungen mit einer pipe (|) zu verketten.
In diesem Zusammenhang ist daran zu erinnern, dass jede Operation an einem parallelen Korpus, die die Eliminierung eines Segments beinhaltet, wie z. B. die soeben beschriebene Eliminierung von Wiederholungen, an einem tabellarischen Korpus und nicht an den beiden Moses-Dateien vorgenommen werden muss, denn wenn wir eine der Moses-Dateien ändern und die andere nicht, geht die Ausrichtung verloren.
Es ist sehr wichtig zu beachten, dass wir in den vorherigen Anweisungen davon ausgegangen sind, dass die Korpussegmente keine Tabulatoren enthalten. Wenn ein Segment ein Tabulatorzeichen enthält, das mit dem Feldtrennzeichen übereinstimmt, wäre das Ergebnis von „Einfügen“ ein Segment mit mehr als zwei Feldern und einer falschen Ausrichtung. Wenn wir nicht sicher sind, ob die Segmente Tabulatoren enthalten, können wir sicherstellen, dass alle möglichen Tabulatoren durch Leerzeichen ersetzt werden. Dies kann mit dem folgenden Befehl erreicht werden:
sed 's/\t/ /g' file.txt > filemod.txt
oder mit:
expand -t 1 file.txt > filemod.txt
5.2. Umwandeln von Tabellarischem Text in Moses-Format
Wenn wir eine tabellarische Textdatei, corpus-SL-TL.txt, haben und sie in die entsprechenden zwei Moses-Dateien umwandeln wollen, können wir sie in einem Linux-Terminal eingeben:
cut -f 1 corpus-SL-TL.txt > corpus.SL
cut -f 2 corpus-SL-TL.txt > corpus.TL
5.3. Konvertierung von TMX-Datei in tabellierten Text
Für diese Konvertierung können wir die Programme aus dem folgenden Repository verwenden: https://github.com/mtuoc/MTUOC-TMX2tabtxt. Eine ausführliche Erklärung, wie man diese Konvertierung durchführt, finden Sie im Tutorial: TMX to Tabular Text Conversion.