Eine abstrakte Darstellung des Alignments wurde bereits in
Abschnitt
vorgenommen.
Da die Betrachtung dort sehr allgemein ist, wurde die KoKS-Terminologie
nicht übernommen.
Da die Einheiten, die alignt werden, überwiegend Sätze sind, wird im
folgenden vereinfachend
von Sätzen gesprochen, obwohl auch Überschriften und Listenelemente
Einheiten sein können.
In KoKS heißen die Gruppen eines Alignment-Beads Segmente, wie bereits
im Abschnitt
erwähnt wurde.
Leider wird die Segmentendemarkierung auch verwendet, um die Einheiten
zu kennzeichnen, aus denen der Aligner die Gruppen bilden darf, sodass
mit Segment auch eine einzelne Einheit gemeint sein kann.
und
zeigt, wie die Markierungen verändert werden, um das Alignment zu
repräsentieren.
(In dem abgebildeten Ausschnitt liegt ein
Der KoKS-Aligner ist auf Satzalignment spezialisiert.
Gruppen können nur aus zusammenhängenden Einheiten gebildet
werden, und die Zuordnungen dürfen sich nicht überkreuzen.
Etwas ungewöhnlich für einen Satzaligner ist, dass der KoKS-Aligner
zwar keine leeren Gruppen erlaubt, aber zugleich die Anzahl der
Einheiten in einer Gruppe nicht nach oben beschränkt.
Ein KoKS-Alignment ist also eine Abfolge von
Zuordnungen mit
.
Die Beschreibung des Aligners ist im KoKS-Abschlussbericht bereits sehr ausführlich. Hier wird trotzdem auf die Funktionsweise eingegangen, da das Alignment der Schlüssel zur Identifikation der Übersetzung innerhalb eines Translation Memorys ist. Des Weiteren wird hier eine andere Sichtweise auf den KoKS-Aligner vorgestellt, mit der die konzeptionellen Defizite des KoKS-Aligners besser verstanden werden können und aus denen sich Verbesserungsmöglichkeiten ableiten lassen.3.20
Der KoKS-Aligner bestimmt nicht direkt die Abstände von
Gruppen der beiden Sprachseiten Deutsch und Englisch.
Es werden immer nur einzelne Sätze miteinander verglichen.
Das hat den Vorteil, dass nicht so viele Kombinationen
von zu vergleichenden Satzgruppen auftreten.
Wenn das deutsche Eingabedokument
Sätze und das englische
Sätze umfasst, dann müssen maximal
Abstandswerte berechnet werden.
Diese Werte können vorab bestimmt und in einer Matrix, die
Abstandsmatrix, abgelegt werden, auf die der Alignment-Optimierer
zurückgreift.3.21
In die Berechnung der Abstandswerte fließen verschiedene, linguistisch motivierte Bewertungen ein. Es werden die POS-Tags und Lemmata genutzt, die vom IMS TreeTagger annotiert wurden, und auf ein umfangreiches, bilinguales Wörterbuch zurückgegriffen, das im KoKS-Projekt aus verschiendenen Quellen zusammengestellt wurde.
Zu Wörtern aus offenen Wortklassen werden die Entsprechungen zwischen den Sätzen gezählt, die mit Hilfe des KoKS-Wörterbuchs und den annotierten Grundformen gefunden werden können. Die übrigen Wörter aus offenen Wortklassen werden zu einer Zeichenkette je Sprachseite zusammengefügt und mit einem Abstandsmaß verglichen, das bereits auf kurze übereinstimmenden Zeichenfolgen anspricht und die Reihenfolge der Übereinstimmungen nachrangig behandelt. Schließlich werden die Wörter aus geschlossenen Wortklassen gezählt, um ihre Anzahl zu vergleichen. Weitere Informationen, z.B. der Anteil der einzelnen Wortarten, werden nicht ausgewertet.
Da die Abstandswertberechnung viel Zeit beansprucht, werden unter
verschiedenen Bedingungen Werte durch den minimalen oder maximalen
Abstandswert abgeschätzt.
Betroffen sind hiervon beispielsweise Sätze aus Absätzen, die sich
nicht entsprechen.
(Siehe KoKS-Abschlussbericht für Details.)
Das Laufzeitverhalten des KoKS-Aligners ist trotzdem mindestens
quadratisch, da die volle Abstandsmatrix mit
Einträgen
erzeugt werden muss und die Dokumentlängen
und
deutlich
korrelieren.3.22In der Praxis ist vor allem ein Problem, dass der Speicherbedarf
der Abstandsmatrix quadratisch mit der Länge der Eingabedateien
wächst.
In einer Abstandsmatrix fallen in der Regel längere Diagonalfolgen
von Matrixzellen mit niedrigen Abstandswerten auf.
Sie deuten auf Sequenzen von
zu alignenden Sätzen hin.
Im KoKS-Projekt wurde daher entschieden, zum Bestimmen eines
Alignments einen Pfad in der Abstandsmatrix zu suchen, der
über Zellen führt,
deren Abstandswerte in der Summe möglichst klein sind.
Der Pfad soll die Zellen
und
verbinden, da
angenommen wird, dass das erste Alignment-Bead mindestens
die ersten Sätze der zu alignenden Dokumente und entsprechend
das letzte Bead die letzten Sätze enthält.
Jeder Pfad setzt sich aus einer Abfolge von Zellen zusammen.
Nachfolger einer Zelle
können
,
und
sein, sofern sie innerhalb der Matrix liegen.
Graphentheoretisch gesprochen handelt es sich um einen
gerichteten Graphen mit
Knoten und
Kanten.
für eine 9 x 16 Matrix.
In der Darstellung liegt
Wie ein Pfad als Alignment interpretiert werden kann, ist nicht
offensichtlich.
Andere Zuordnungen als
Zuordnungen treten immer dann auf, wenn
der Pfad nicht diagonal verläuft.
Eine rechte oder untere Nachbarzelle vergrößert das aktuelle
Alignment-Bead um die Sätze, deren Abstand die Matrixzelle
enthält.
zeigt einige Pfade und die Art der
Zuordnung.
Die einzelnen Zeichenpositionen entsprechen
Zellen einer Abstandsmatrix.
Die Zellen, über die der jeweilige Pfad führt, sind mit
X markiert.
Oben links und unten rechts in jedem Teilbild ist der
weitere Verlauf des Pfades angedeutet.
Teilbilder b und c zeigen, dass es für
Der KoKS-Aligner sucht einen Pfad in der Abstandsmatrix mit
möglichst geringer Summe der Abstandswerte.
Die Suche wird mit dem
A-Stern-Algorithmus
und einer Heuristik, die die minimale Abstandssumme zwischen
zwei beliebigen Matrixzellen abschätzt, effizient durchgeführt.
So konnte selbst eine 699 x 685 Matrix in wenigen Minuten
verarbeitet werden, obwohl die Anzahl der möglichen Pfade
bei
liegt.
Teilpfade wie in b bis e (Abbildung
) können
nur gewählt werden, wenn eine Abkürzung der Ecke wie in Teilbild f
nicht zu einer geringeren Abstandswertsumme führt.
Das ist nur möglich, wenn die Eckzelle den Abstandswert null hat,
da negative Abstandswerte nicht erlaubt sind.3.24Treten
solche Eckzellen am Alignment-Pfad auf, dann gibt es
optimale Pfade.
Welchen der Alignmentoptimierer wählt, hängt von Details der
Implementation ab.
Da nicht positive Abstandswerte sehr ungewöhnlich sind, erzeugt der
KoKS-Aligner also im Regelfall nur
und
Zuordnungen mit
.
3.25
Um die hier geschildertert Probleme des Aligners und andere zu lösen,
die bereits im KoKS-Abschlussbericht beschrieben werden, wurde eine
neue Pfadrepräsentation und Pfadbewertung entworfen und implementiert.
Die Repräsentation erlaubt alle Zuordnungsarten, auch
.
Beibehalten wurde, dass die Gruppen zusammenhängend sein müssen und
nicht über kreuz alignt werden können.
Die Beschränkung der Abstandswertberechnung auf Satzpaare wurde
aufgegeben zugunsten einer Berechnung nach Bedarf für beliebige
Gruppenpaare.
Erste Experimente zeigten ein gutes Laufzeitverhalten.
Jedoch war keine Zeit vorhanden für einen gründlichen Test des
Aligners und die Feinabstimmung der Parameter.
Es ist unklar, ob sich der Aufwand für die Entwicklung eines neuen Aligners lohnt, da der KoKS-Aligner bereits eine (für die Anwendungen im KoKS-Projekt und in dieser Arbeit) zufrieden stellende Alignmentqualität erreicht. Das ist ein weiterer Grund, warum der Ansatz nicht weiter verfolgt wurde.