In Fortsetzung des Teils 2 will ich nun erläutern wie die unscharfe Suche - "Fuzzy Search" implementiert wird.
Ein paar Sätze allgemein zur unscharfen Suche in openTMS. Die unscharfe Suche findet in zwei Schritten (zwei Filter) statt. Zuerst wird in einem sogenannten KD-Tree eine Suche durchgeführt, die als Ergebnis ein Menge von potentiellen passenden Kandiaten liefert. Der KD-Tree wird im folgenden auch als Fuzzy-Baum (Index) bezeichnet.
In Fortsetzung des Teils 1 will ich hier die wichtigen Objekte MultiLingualObject (MUL) und MonoLingualObject (MOL) und ihre Methoden erläutern.
Im vorherigen Beitrag wurden diese Objekte mit
Vector targetmonos = new Vector();
MultiLingualObject multi = new MultiLingualObject();
MonoLingualObject sourceMono = new MonoLingualObject(); openTMS verwendet das Konzept der "Data Source" zum Übersetzen. Eine Data Source ist einfach ausgedrückt eine Klasse + Methoden, die Übersetzungsfunktionalität zur Verfügung stellt. Durch das Implementieren einer solchen Klasse kann openTMS sehr einfach um neue Übersetzungsmöglichkeiten erweitert werden.
In den folgenden Beiträgen zeige ich, wie verschiedene solche Data Sourcen - als erstes am Beispiel des Einsatzes des statistischen maschinellen Übersetzungssystems MOSES - implementiert werden kann.
openTMS ist Java basiert, dh. die Kernfunktionen sind alle in Java geschrieben und damit sollte openTMS auf allen Betriebssystem mit Java lauffähig sein. Java 6 sollte aber schon unterstüzt werden. Auf Windows und Linux kein Problem. Aber am Mac?
Die TEKOM 2009 ist vorbei und wir konnten OpenTMS vielen interessieren TEKOM Besuchern zeigen. Insbesondere der Prototype des neuen docliff XLIFF Editors fand großen Anklang. Er wird hier in Kürze als Prototyp zum Download bereitstehen. Wenn Sie eine oder einer der ersten sein wollen, die ihn testen und einsetzen wollen, schicken Sie mir eine E-Mail: klemens.waldhoer at opentms.de. Wir melden uns, wenn der Editor zum Download bereitsteht.
Nach der TEKOM sind nun neue Versionen von OpenTMS für Windows verfügbar:
Auch dieses Jahr wird sich openTMS wieder auf der tekom-Jahrestagung vom 4.-6. November in Wiesbaden präsentieren.
Die tekom-Jahrestagung ist der Treffpunkt für Fachleute und Unternehmensverantwortliche aus Industrie- und Dienstleistungsunternehmen, die sich mit Technischer Dokumentation, Informations- und Wissensmanagement, Softwarelokalisierung sowie Sprachtechnologie und Übersetzung beschäftigen.
Für unser Anliegen - der Weiterentwicklung von openTMS - gibt keine bessere Möglichkeit, als hier direkt mit Fachleuten und Interessierten ins Gespräch zu kommen.
Es gibt wieder ein OpenTMS-Update unter www.heartsome.de/arayatest/opentms-update.zip. Bitte die Datei entzippen und die in lib enthalten jar Dateien in das lib Verzeichnis kopieren. Falls Sie noch kein openTMS installiert haben, installieren Sie zuerst OpenTMS, z.B. www.heartsome.de/arayatest/opentmsserver.exe. In der aktuellen Version opentmsserver.exe ist dieses Update bereits enthalten.
Das Update behebt einen Bug beim Konvertieren von OpenOffice und WinWord Dokumenten
Der aktuelle Quellcode ist wie immer in opentms.jar enthalten.
Mit der pljava Extension von Postgres ist es möglich Java Funktionen direkt im Postgres Datenbankserver auszuführen.
Ein kurze Beschreibung, wie man openTMS in den Postgres Server integrieren kann, findet sich unter
http://www.xliff.net/blog/index.php. Die Blog-Einträge beschreiben sowohl wie man die pljava Erweiterung in Windows aktiviert als auch wie openTMS angesprochen werden kann.
Es gibt ein OpenTMS-Update unter www.heartsome.de/arayatest/opentms-update.zip. Bitte die Datei entzippen und die in lib enthalten jar Dateien in das lib Verzeichnis kopieren. Falls Sie noch kein openTMS installiert haben, installieren Sie zuerst OpenTMS, z.B. www.heartsome.de/arayatest/opentmsserver.exe
Das Update behebt einen Bug beim Erzeugen eines neuen alt-trans Elements (es fügt die prop-group's nun an den syntaktisch korrekten Stellen ein).
Der aktuelle Quellcode ist wie immer in opentms.jar enthalten.
OpenTMS enthält nun auch die Möglichkeit Subsegmente und deren Übersetzungen in trans-units (im source Element) zu finden. Dafür kann jede Data Source eingesetzt werden. Sinnvollerweise wird man aber solche Data Sources verwenden, die keine ganzen Segmente, sondern Phrasen und Begriffe enthält. Die passenden Subsegmente werden sowohl in einem internen Terminologielexikon als auch im Segment als property gespeichert.
Hier ein Beispiel:
Als erstes das interne "Lexikon":