Ein Verwirrungsnetzwerk, manchmal auch Wortverwirrungsnetzwerk oder informell als Wurst bezeichnet, ist eine Datenstruktur, die in der Verarbeitung natürlicher Sprache verwendet wird, um Ausgaben mehrerer automatischer Spracherkennungs- oder maschineller Übersetzungssysteme zu kombinieren. Es repräsentiert konkurrierende Hypothesen über eine Sequenz von Wörtern in einer kompakten Form und ermöglicht es nachgelagerten Prozessen, Entscheidungen über mehrdeutige Inhalte aufzuschieben, bis mehr Kontext verfügbar ist.
Die Struktur ist ein einfacher linearer gerichteter azyklischer Graph. Er hat einen einzelnen Startknoten und einen einzelnen Endknoten, mit der Eigenschaft, dass jeder Pfad von Anfang bis Ende alle Zwischenknoten der Reihe nach durchläuft. Zwischen zwei benachbarten Knoten repräsentiert eine Menge von Kanten alternative Wörter oder Phrasen, die diese Position in der Sequenz einnehmen könnten. Diese Menge von Alternativen wird als Verwirrungsmenge bezeichnet. Jede Kante trägt typischerweise ein Gewicht oder eine Wahrscheinlichkeit, die das Vertrauen der zugrunde liegenden Systeme in diese bestimmte Option widerspiegelt.
Ursprünge und Zweck
Verwirrungsnetzwerke entstanden aus der Forschung zur automatischen Spracherkennung in den späten 1990er und frühen 2000er Jahren. Spracherkenner erzeugen oft ein Gitter, einen komplexeren Graphen möglicher Wortsequenzen, aber Gitter können für nachgelagerte Komponenten wie Sprachmodelle oder maschinelle Übersetzungssysteme rechenintensiv sein. Verwirrungsnetzwerke vereinfachen dies, indem sie das Gitter in eine lineare Struktur kollabieren und dabei etwas Ausdruckskraft gegen Effizienz eintauschen. Die lineare Form ermöglicht es Algorithmen, die Ausgabe in einem einzigen Durchgang zu verarbeiten, was besonders in Echtzeitanwendungen wie Telefonie oder Rundfunktranskription wertvoll ist.
Der informelle Name "Wurst" leitet sich vom visuellen Erscheinungsbild des Graphen ab, das einer Kette verbundener Segmente ähnelt, wenn er gezeichnet wird. Der Begriff erscheint in der akademischen Literatur der frühen 2000er Jahre, insbesondere in Arbeiten von Forschern der Nokia Bell Labs und anderen Institutionen, die Techniken zur Gitterkomprimierung untersuchten.
Verwendung in der maschinellen Übersetzung
In der maschinellen Übersetzung spielen Verwirrungsnetzwerke eine besondere Rolle. Anstatt Ausgaben mehrerer Erkennungssysteme zu kombinieren, ermöglichen sie einem Übersetzungssystem, mehrere mehrdeutige Eingaben zu akzeptieren und verbindliche Entscheidungen auf späteren Verarbeitungsstufen aufzuschieben. Wenn beispielsweise Sprache übersetzt wird, die mit Unsicherheit transkribiert wurde, kann das Übersetzungssystem ein Verwirrungsnetzwerk als Eingabe nehmen und eine Übersetzung erzeugen, die alle Alternativen gleichzeitig berücksichtigt. Dieser Ansatz vermeidet es, sich auf eine einzelne Transkription festzulegen, die falsch sein könnte, und lässt stattdessen das Übersetzungsmodell die Möglichkeiten mit seinem eigenen Wissen abwägen.
Das definierende Merkmal in diesem Zusammenhang ist das Aufschieben von Entscheidungen. Ein Übersetzungssystem, das Verwirrungsnetzwerke verwendet, kann eine Ausgabe in der Zielsprache erzeugen, die selbst ein Verwirrungsnetzwerk ist, das dann mit zusätzlichen Modellen neu bewertet oder dekodiert werden kann. Dies ist besonders nützlich in der Übersetzung gesprochener Sprache, wo Erkennungsfehler häufig sind und die Kosten einer falschen frühen Entscheidung sich durch die gesamte Übersetzung fortpflanzen können.
Software-Implementierungen
Verwirrungsnetzwerke sind in mehreren weit verbreiteten Übersetzungs- und Sprachverarbeitungswerkzeugen implementiert. Die Open-Source-Software für maschinelle Übersetzung Moses, die hauptsächlich an der University of Edinburgh und der Carnegie Mellon University mit Beiträgen vieler Institutionen entwickelt wurde, unterstützt die Dekodierung von Verwirrungsnetzwerken. Moses ermöglicht es Benutzern, Verwirrungsnetzwerke in einem bestimmten Format einzugeben und erzeugt Übersetzungen, die die alternativen Hypothesen berücksichtigen.
Im kommerziellen Bereich hat die proprietäre Übersetzungs-API in IBM Bluemix Watson, die heute Teil der Cloud-Angebote von IBM ist, Verwirrungsnetzwerke als Teil ihrer Sprach-zu-Sprach-Übersetzungspipeline verwendet. Die API akzeptiert Audioeingaben, führt die Erkennung durch und konstruiert ein Verwirrungsnetzwerk, das dann an die Übersetzungs-Engine weitergegeben wird, wodurch die Robustheit gegenüber Erkennungsfehlern verbessert wird.
Beziehung zu anderen Techniken
Verwirrungsnetzwerke sind mit anderen Methoden zur Kombination von Hypothesen verwandt, unterscheiden sich jedoch von ihnen. Beam-Suche ist eine Dekodierungsstrategie, die mehrere partielle Hypothesen untersucht, aber keine kompakte Graphstruktur erzeugt. Sequence-to-Sequence-Modelle, wie solche, die auf der Transformer-Architektur basieren, arbeiten typischerweise mit einer einzelnen Eingabesequenz und verarbeiten nativ keine alternativen Eingaben, obwohl Erweiterungen vorgeschlagen wurden. Verwirrungsnetzwerke werden auch in der Systemkombination verwendet, bei der Ausgaben mehrerer unabhängiger Erkennungssysteme zu einem einzigen Netzwerk zusammengeführt werden, eine Technik, von der gezeigt wurde, dass sie die Wortfehlerrate im Vergleich zu jedem einzelnen System reduziert.
In modernen Deep-Learning-basierten Systemen sind Verwirrungsnetzwerke weniger prominent geworden, da End-to-End-Modelle, die mit großen Datensätzen trainiert werden, Mehrdeutigkeiten oft intern verarbeiten. Sie bleiben jedoch in Hybridsystemen und in Szenarien relevant, in denen mehrere Altsysteme integriert werden müssen, wie bei der Transkription von Rundfunknachrichten oder der mehrsprachigen Anrufweiterleitung.
Einschränkungen und Erweiterungen
Eine wesentliche Einschränkung von Verwirrungsnetzwerken besteht darin, dass sie eine feste Reihenfolge der Positionen annehmen. Dies macht sie ungeeignet für die Darstellung von Wortinsertionen oder -löschungen über verschiedene Hypothesen hinweg, die auftreten können, wenn Systeme über das Vorhandensein eines Wortes uneinig sind. Erweiterungen wie generalisierte Verwirrungsnetzwerke oder auf Ausrichtung basierende Varianten beheben dies, indem sie Nullkanten zulassen oder komplexere Ausrichtungsverfahren verwenden. Eine weitere Einschränkung besteht darin, dass die lineare Struktur langreichweitige Abhängigkeiten verlieren kann, die ein vollständiges Gitter bewahren würde, obwohl die Effizienzgewinne diesen Verlust in der Praxis oft aufwiegen.
Die Forschung hat auch die Verwendung von Verwirrungsnetzwerken in anderen Aufgaben untersucht, wie Datenaugmentierung für das Training von Neuronalen-Netzwerk-Modellen, wo die Alternativen natürliche Variation in den Trainingsdaten bieten. Einige Arbeiten haben sie für das Prompting von Large-Language-Modellen angewendet, wobei das Netzwerk verwendet wird, um mehrere mögliche Interpretationen einer Benutzeranfrage darzustellen.