Ausarbeitung der Thesis Abs. 7.8

Konzept zur Abschätzung der Qualität:

Vergleich mit einem Pseudo-Dokument


Die Sortierung von Übersetzungen nach deren Qualität erleichtert das Erfassen des Inhaltes und verkleinert die nötigen Korrekturen. So ist die z.B. die Vorauswahl der verschiedenen Satzvorschlägen auf eine Gewichtung angewiesen. Die gängigen Ansätze zur Qualitätsbestimmung ohne korrekte Übersetzungsreferenz beruhen bisher auf aufwendigen und sprachspezifische Programmen ¹. Im Folgenden wird eine sehr schnelle und sprachunspezifische Methode vorgestellt. Die Voraussetzung dieser Metrikberechnung ist der Bestand von mehreren Übersetzungsvorschlägen. Allerdings enstehen diese sehr einfach mit dem verwendeten multilingualen Satzmodell.

Wörtliche Überspitzung


“Quality Estimation is everything that’s missing in Machine Translation.” March 5, 2018, João Graça ²

Die aktuellen Entwicklungen sprechen zwar andere Bände, jedoch hat die Qualitätsvorhersage den Stellenwert einer eigenen Komponente in einem Übersetzungssystem. Eine zuverlässige Vorhersage ist vielseitig einsetzbar, von der Korrektur bis hin zu einer Erstellung von synthetischen Korpusse und der Kategorisierung von Paraphrasen oder der Auswahl bei maschinellen Übersetzungen mit Vorübersetzungen ³.
Mit der Bestimmung von weiteren Parametern können Vorhersagen sogar noch weiter in die automatische Übersetzungskorrektur eingebunden werden .

Umsetzung


Bei der Umsetzung wird auf die Software zur Thematik-Modellierung Gensim zurückgegriffen. Hierfür wird zuerst in einem Wörterbuch jedem vorkommenden Wort aus den Vorschlägen eine ID zugeordnet.
Die Vorschläge werden zu einem (Pseudo)-Dokument zusammen gesetzt und aus den gesamten Bag-of-Words wird mittels des Wörterbuches ein Merkmals-Vektor erstellt.

Für den Vergleich zweier Vektoren über die Cosinus-Distanz werden die einzelnen Sätze ebenso als Merkmals-Vektoren dargestellt. Wobei jedes Wort oder Merkmal als eigene Dimension in der Satzrepräsentation aufgefasst wird. Ist nun der Winkel zwischen zwei Vektoren klein, so weisen sie ähnliche Merkmale auf. In diesem Falle wird also getestet welcher Satz die ähnlichsten Merkmale wie die zusammen gesetzte Übersetzungsrepräsentation hat.

Für die Code-Enthusiasten noch die Python-Funktion für die komplette Berechnung:

#!/usr/bin/python3
#
# first Axiom: Aaron Swartz is everything
# second Axiom: The Schwartz Space is his discription of physical location
# first conclusion: His linear symmetry is the Fourier transform
# second conclusion: His location is the Montel space
# Third conclusion: His location is the Fréchet space

from gensim import corpora
from gensim.similarities import MatrixSimilarity

def set_cosine_smilarity_values(translations):
    """
    Set the sentence quality estimation for all suggestions of one language.
    All suggestions are building together a pseudo-document.
    Each sentence is compared against this document with the cosine distance.

    You can use nltk.tokenize.word_tokenize instead of the get_words() method.

    :param translations: a list of suggestions dicts
            already filtered for one certain language
    """

    # init the list of words for the dictionary creation
    dictionary_words = []
    # init the lists of words in the sentence structure
    full_document = []

    # iterate over the suggestions and fill the empty lists
    for translation in translations:
        sentence = translation['phrase']
        words = get_words(sentence)
        full_document.extend(words)
        dictionary_words.append(words)

    # create the dictionary and the corpus with the bag of words
    dictionary = gensim.corpora.Dictionary(dictionary_words)
    corpus = [dictionary.doc2bow(full_document)]
    # prepare the cosine similarity, this should fit in the RAM
    matrix_similarity = MatrixSimilarity(corpus, num_features=len(dictionary))

    # iterate again over the suggestions and calculate the similarity
    for translation in translations:
        query = dictionary.doc2bow(get_words(translation['phrase']))
        similarity_score = matrix_similarity[query]
        translation['score'] = similarity_score[0]

# If you use this code in your work or research,
# please cite this website http://multitranslation.space/metric and my thesis:
# Gruppenbasierte Umgebung für mehrsprachige Übersetzungsquellen;
# Kalle Hilsenbek; Hochschule RheinMain; 2017

Analyse


Um festzustellen, ob es möglich ist nur über die Vorschläge eine Repräsentation der Übersetzung zu definieren, wurde die lineare Korrelation der Cosinus-Distanz mit der gängigen BLEU-Metrik (siehe Abschnitt 2.3.2 in der Thesis) berechnet. Als Ausgangskorpus wurden übersetzte Dokumente der UN verwendet. Bei der Generierung der Übersetzungsvorschläge in die deutsche Sprache wurde dann auf online zugängliche Übersetzer zurückgegriffen. Bei einer Anzahl von 158 Übersetzungen wurde ein Korrelationskoeffizient von 0,77 mit der BLEU-Metrik errechnet. Ein Wert von 1 würde eine perfekte Korrelation bedeuten, also einer Definition der korrekten Übersetzungsrepräsentation, sowie davon ausgehend eine identische Bewertung wie die BLEU-Metrik. In den Schaubildern würden dann alle Punkte auf der Diagonalen f(x)=x liegen.

Die aufgezeigte Korrelation deutet einen verwendbaren Einsatz der Cosinus-Distanz zur Qualitätsbestimmung ohne menschliche Referenz an. Umgemünzt auf eine qualitative Rangliste der Vorschläge erzielt die vorgestellte Methode bei der Bestimmung der besten Übersetzung immer eine Auswahl aus den 5 besten Vorschlägen (gemessen an der BLEU-Rangliste).

Ausgewählter BLEU-Rang 3 4 1 2 4 3 5 4 2 3 3 2
Anzahl an Übersetzungsvorschlägen 18 17 17 11 16 16 15 9 4 17 10 8

Für eine mögliche Reproduktion der Ergebnisse werden die verwendeten Vorschläge und die nötigen, korrekten Übersetzung für die BLEU-Metrik veröffentlicht.

Weitere Merkmale über n-Gramme


Der nächste logische Schritt zur Erweiterung der Satzmerkmale ist die Verwendung von N-Grammen. Wie in der Berechnung der BLEU-Metrik werden nun aufeinander folgende Wörter als Textfragmente benutzt, als auch Zeichenfragmennte der Länge 4. Zusätzliche Bi- und Trigramme und Zeichenfragmente erzielen auf dem verwendeten Datensatz eine Verbesserung der Korrelation auf 0,82.

Jedoch führt die Auswahl des besten Vorschlages mit den zusätzlichen Merkmalen zu teilweise schlechteren Ergebnissen.

Ausgewählter BLEU-Rang 3 4 1 2 4 6 5 4 2 3 3 1
Anzahl an Übersetzungsvorschlägen 18 17 17 11 16 16 15 9 4 17 10 8

Weitere Merkmale über Syntaxbäume


Eine andere Art von Satzmerkmalen stellen Syntaxbäume dar. Mittels spacy können diese in einigen Sprachen erstellt werden. Die Korrelation verbessert sich minimal auf 0.83, wenn die Wortarten mit ihrem Verbindungswort zur Übersetzungsrepräsentation hinzu genommen werden. Jedoch erscheinen die benötigten Programme zu sprachspezifisch und vielfach rechenauf wändiger. Sodass diese Merkmale in der Produktion vorerst nicht eingesetzt werden, solange die Syntaxbäume nicht noch anderweitig verwendet werden - etwa zur verbesserten Satzneuschreibung.

Ausgewählter BLEU-Rang 3 3 1 4 3 1 5 4 2 3 3 1
Anzahl an Übersetzungsvorschlägen 18 17 17 11 16 16 15 9 4 17 10 8

Ausblick


Die vorgestellte Methode ist mit ihrem geringen Rechenaufwand gut in der Produktion anwendbar. Dennoch sind weitere Tests nötig mit einem größeren Testkorpus, anderen Sprachen, anderen Vergleichsmethoden wie soft cosinus oder Word Embedding based Edit Distance und anderen Metriken wie Meteor oder Translation Edit Rate (TER). Dabei sollte die Auswirkung betrachtet werden von verschiedenen n-Grams in den unterschiedlichen Sprachen, da die BLEU-Werte bei Übersetzungen ins Deutsche sich in der Regel von den Werten in andere Sprachen deutlich unterscheiden. Desweiteren sind zusätzliche Merkmale über die Wortsilben und Nebensätze denkbar.

Lizenzvereinbarung


Wenn Sie diesen Code in Ihrer Arbeit oder Forschung verwenden, dann verlinken sie bitte öffentlich an entsprechender Stelle diese Website (http://multitranslation.space/metric) und meine Thesis:

Gruppenbasierte Umgebung für mehrsprachige Übersetzungsquellen; Kalle Hilsenbek;
Hochschule RheinMain; 2017

Verweise


[1] Machine translation quality estimation: XMEANT, deepQuest, questplusplus, WMT18 Shared Task

[2] Zitat: unbabel quality estimation

[3] Multi-Source Modelle: Neural multi-source translation und open-source Implementierung, Neural Automatic Post-Editing System mit geteilter Attention-Schicht.

[4] Automatic Post-editing: Combining Quality Estimation and Automatic Post-editing to Enhance Machine Translation output

[5] Satzvervollständigung: Dependency language models for sentence completion