Effektivere Termextraktion aus TMX-Dateien
Im Rahmen eines Terminologieprojekts stand ich kürzlich u.a. vor der Aufgabe, eine bilinguale Termextraktion aus einem Translation-Memory bzw. aus einer TMX-Datei durchzuführen. Das Termextraktions-Tool war im konkreten Fall SDL MultiTerm Extract 7 und die TMX-Datei war ein Export aus dem TMS (Translation-Memory-System) across. Wie alle halbwegs modernen Termextraktions-Tools arbeitet MultiTerm Extract 7 mit statistischen Verfahren*. Wörter oder Phrasen, die häufig vorkommen, werden deshalb als Termkandidaten vorgeschlagen.Eine TMX-Datei enthält nun neben den eigentlichen Sprachpaaren auch jede Menge Metadaten und Informationen zur TMS-internen Verwaltung. Das sieht beispielsweise so aus:
<prop type=”user-defined”>customer id:00000000-0000-0000-0000</prop>
Die Dauer der bilingualen Termextraktion und vor allem die Qualität des Ergebnisses wurden dadurch stark beeinträchtigt. Die von mir verwendete TMX-Datei war übrigens 50 MB groß. Das ist noch ein relativ kleines Translation-Memory, aber das sind doch schon einige Millionen Zeichen, die da verarbeitet werden müssen. Kurzum: Ich habe die TMX-Datei erst einmal bereinigt. Dazu habe ich den kostenlosen Code-Editor PSPad verwendet. Nachfolgend eine Kurzanleitung:
- Voraussetzung: Sie haben PSPad gestartet und die TMX-Datei darin geöffnet.
- Klicken Sie in der Statusleiste auf “Text”.
Das Fenster “Syntax-Highlighter wählen …” wird geöffnet. - Doppelklicken Sie auf “XML”.
Das Fenster “Syntax-Highlighter wählen …” wird geschlossen. Die XML-Syntaxerkennung
wird aktiviert. - Wählen Sie in der Menüleiste “Suchen > Ersetzen”.
Das Fenster “Ersetzen” wird geöffnet. - Geben Sie in das Textfeld “Suchen” Folgendes ein: <prop.*prop>|<bpt.*bpt>|<ept.*ept>
(Das Feld “Ersetzen” bleibt leer.) - Markieren Sie in der Gruppe “Suchoptionen” das Kästchen “Regular Expressions”.
- Stellen Sie sicher, dass alle anderen Kästchen in der Gruppe “Suchoptionen” nicht markiert sind.
- Markieren in der Gruppe “Suchrichtung” die Option “Gesamt”.
- Klicken Sie auf “OK”.
PSPad löscht alle Tags namens prop, bpt und ept sowie deren Inhalt. - Wählen Sie in der Menüleiste “Datei > Speichern” unter und speichern Sie die bereinigte TMX-Datei unter einem anderen Namen.
Durch die Bereinigung wurde die Anzahl der Wörter aus der Sicht von MultiTerm Extract von 1,3 Mio. auf rund 290.000 reduziert, wie die Projektstatistik von MultiTerm Extract veranschaulicht:

Projektstatistik MultiTerm Extract vor der Bereinigung (oben) und danach
Die aus der Termextraktion resultierende Liste mit Termkandidaten war nach der Bereinigung wesentlich kürzer und “sauberer”. Außerdem lief die Termextraktion wesentlich schneller.
Und wenn wir schon dabei sind … In der von mir verwendeten TMX-Datei waren auch Ausgangs- und Zielsprache (DE -> EN) falsch angegeben. Auch das habe ich mit PSPad im Handumdrehen korrigiert:
- Überprüfen Sie ca. in Zeile 6 der TMX-Datei den Wert des Attributs “srclang”. Dieses Attribut legt die Ausgangssprache fest. Falls der Wert “en-US” lautet, die Ausgangssprache aber Deutsch sein soll, muss er im ganzen Dokument auf “de-DE” korrigiert werden.
- Voraussetzung: Sie haben PSPad gestartet und die TMX-Datei darin geöffnet.
- Wählen Sie in der Menüleiste “Suchen > Ersetzen”.
Das Fenster “Ersetzen” wird geöffnet. - Geben Sie in das Textfeld “Suchen” Folgendes ein: srclang=”en-US”
- Geben Sie in das Textfeld “Ersetzen” Folgendes ein: srclang=”de-DE”
- Entmarkieren Sie das Sie das Kästchen “Regular Expressions”.
- Klicken Sie auf “OK”.
PSPad erstetzt alle Vorkommen von “srclang=’en-US’” mit “srclang=’de-DE’”. - Wählen Sie in der Menüleiste “Datei > Speichern”.
Anmerkung: Die Bereinigung der TMX-Datei könnte bequemer mit einem XSL-Skript und einem XSL-Prozessor erledigt werden. Die aus across exportierten TMX-Dateien sind jedoch mit der Zeichenkodierung UTF-16 kodiert. Diese Kodierung wird von Saxon (Version 9.1.0.2), einem der wenigen kostenlosen XSL-Prozessoren, nicht unterstützt. Weil die TMX-Datei daher mindestens zum Umkodieren ohnehin in einem Code-Editor geöffnet werden muss, entschied ich mich dafür, dort auch die Bereinigung zu erledigen, um die Anzahl der Arbeitsschritte und der benötigten Programme möglichst gering zu halten. Bei entsprechendem Bedarf könnte also überprüft werden, ob die oben beschriebene Aufgabe durch einen geeigneten XSL-Prozessor effektiver erledigt werden könnte.
* In neueren Versionen von MultiTerm Extract kommen hybride Extraktionsverfahren zum Einsatz.
Du kannst alle Antworten zu diesem Eintrag via RSS 2.0 Feed erfolgen. Du kannst einen Kommentar hinterlassen, oder einen Trackback von deiner eigenen Seite.