Wortfehlerrate
Auch: WER
Aktualisiert:
Definition
Die Wortfehlerrate (WER) ist das Standardmaß für die Genauigkeit der Spracherkennung: die Zahl der Wörter, die ein Modell falsch erkannt hat, geteilt durch die Zahl der tatsächlich gesprochenen Wörter. Eine WER von 5 % bedeutet, dass etwa eines von zwanzig Wörtern ersetzt, ausgelassen oder erfunden wurde.
Die WER zählt drei Arten von Fehlern. Eine Ersetzung ist das falsche Wort an der richtigen Stelle („das“ statt „dass“). Eine Auslassung ist ein gesprochenes Wort, das nie erschienen ist. Eine Einfügung ist ein Wort, das erschienen ist, aber nie gesprochen wurde. Zähl sie zusammen, teile durch die Zahl der Wörter im korrekten Transkript, und du hast die Rate. Bei schlechtem Audio kann sie über 100 % liegen, weil Einfügungen unbegrenzt sind.
Die Zahl sagt nur etwas, wenn man das Audio kennt, auf dem sie gemessen wurde. Ein Modell, das bei sauberem, vorgelesenem Englisch über ein Podcast-Mikrofon 3 % erreicht, kommt beim selben Sprecher im Café vielleicht auf 15 % und bei einer Sprache, die es im Training seltener gesehen hat, auf noch mehr. Veröffentlichte WER-Werte werden fast immer auf Standard-Benchmarks gemessen, und die sind sauberer als dein Schreibtisch.
Was die WER nicht erfasst
Jeder Fehler zählt gleich, und sie sind nicht gleich. Ein ausgelassenes „ähm“ ist eine Verbesserung; ein ausgelassenes „nicht“ kehrt die Bedeutung um. Ein falsch geschriebener Nachname kostet dich eine Korrektur; ein falsch geschriebenes „der“ kostet dich nichts, weil du es nie siehst. Formatierung ist für die WER völlig unsichtbar: „1030 am“ und „10:30 AM“ sind dieselben Wörter. Ein Tool mit etwas schlechterer roher WER und einem viel besseren Formatierungsdurchgang kann also Text liefern, der weit weniger Korrekturen braucht.
Deshalb liegt die Zahl, die dich wirklich interessiert, näher an „Korrekturen pro hundert Wörter nach der Formatierung“. Die meldet kein Benchmark, und du kannst sie nur messen, indem du eine Woche lang deine eigene Arbeit diktierst.
Wie du die Genauigkeitsangabe eines Anbieters liest
Frag, welcher Benchmark, welche Sprache und welches Mikrofon. „99 % genau“ ohne genannten Datensatz ist ein Marketingsatz. Frag, ob der Wert vor oder nach einem Korrekturschritt gilt und ob ein persönliches Wörterbuch im Spiel war. Und wäge ihn gegen das ab, was die WER nicht sieht: Namen, Zahlen und ob der Text als geschriebener Text ankommt oder als Transkript.
Die eigene Fehlerrate senken
Ein besseres Mikrofon, näher am Mund, hilft mehr als jeder Modellwechsel. Sätze zu Ende zu sprechen, bevor du die Taste loslässt, gibt dem Modell Kontext, um Mehrdeutiges aufzulösen. Und ein persönliches Wörterbuch für die Namen und Begriffe, die du wirklich sagst, behebt die Fehler, die sich wiederholen, und auf die kommt es an: Ein Fehler, der einmal im Monat passiert, ist lästig, einer, der jeden Tag passiert, ist ein Grund, mit dem Diktieren aufzuhören.
So misst du deine eigene Wortfehlerrate auf dem Mac
Mit dem kostenlosen Open-Source-Tool jiwer kannst du die WER mit deiner eigenen Stimme und deinem eigenen Mikrofon messen. Es berechnet die minimale Editierdistanz zwischen einem korrekten Transkript und dem, was der Erkenner geliefert hat, also dieselbe Rechnung, die Benchmarks verwenden.
Das Ergebnis beschreibt deinen Schreibtisch, dein Mikrofon und den Text, den du gelesen hast. Die Stichprobe ist klein, nimm es also als grobe Messung und wiederhole sie mit anderem Text, bevor du Schlüsse ziehst.
- Wähle einen Text von einigen hundert Wörtern und speichere ihn als reine Textdatei namens ref.txt, mit einem Satz pro Zeile. Das ist deine Referenz.
- Diktiere denselben Text mit dem Tool, das du testen willst, und speichere die Ausgabe als hyp.txt, mit denselben Sätzen in denselben Zeilen.
- Leg fest, wie du mit Groß- und Kleinschreibung, Satzzeichen und Zahlen umgehst, und bereinige beide Dateien auf dieselbe Weise. Eine einfache Wahl ist, in beiden alles kleinzuschreiben und die Satzzeichen zu entfernen.
- Öffne das Terminal und installiere das Tool mit: pip install jiwer (es braucht Python 3.8 oder neuer).
- Führe aus: jiwer -r ref.txt -h hyp.txt, um die Wortfehlerrate auszugeben.
- Ergänze den Befehl um -a, um die Zuordnung jedes Satzes auszugeben. So siehst du, welche Wörter ersetzt, ausgelassen oder eingefügt wurden.
- Ergänze -c, wenn du stattdessen die Zeichenfehlerrate willst.
Warum weichen zwei WER-Werte für dasselbe Modell voneinander ab?
Meist, weil der Text vor der Bewertung unterschiedlich bereinigt wurde. Die WER beruht auf der Editierdistanz zwischen Zeichenketten. Sie bestraft also jeden Unterschied zwischen den beiden Transkripten, auch Unterschiede, die ein Mensch als richtig ansehen würde, etwa eine ausgeschriebene Kurzform oder eine Zahl, die als Ziffer geschrieben ist.
Das Whisper-Paper beschreibt dieses Problem und löst es mit einem Textnormalisierer, der auf beide Transkripte angewendet wird, bevor die Fehler gezählt werden. Die Autoren berichten, dass allein dieser Schritt die WER bei mehreren Datensätzen um bis zu 50 Prozent gesenkt hat. Ein WER-Wert ohne Angabe der Normalisierung dahinter lässt sich mit keinem anderen vergleichen.
- Der Whisper-Normalisierer entfernt vor der Bewertung die Wörter hmm, mm, mhm, mmm, uh und um.
- Er entfernt jede Wortgruppe in eckigen oder runden Klammern.
- Er schreibt Kurzformen in ihrer vollen Form aus.
- Er schreibt ausgeschriebene Zahlen und Geldbeträge als Ziffern, sodass aus „ten thousand dollars“ „$10000“ wird.
- Er wandelt britische in amerikanische Schreibweisen um und entfernt die meisten Satzzeichen und Symbole.
WER oder CER: Wörter oder Zeichen
Die Zeichenfehlerrate (CER, Character Error Rate) ist dieselbe Rechnung, nur mit Zeichen statt Wörtern. Ein falscher Buchstabe in einem langen Wort ist bei der WER ein ganzer Fehler und bei der CER nur ein kleiner Bruchteil davon. Die CER ist also der mildere Wert, und die beiden lassen sich nicht miteinander vergleichen.
Wer ein Modell veröffentlicht, wählt die Einheit je Sprache. Das Whisper-Projekt etwa gibt für jede Sprache auf den Datensätzen Common Voice 15 und Fleurs entweder die WER oder die CER an. Wenn du eine Genauigkeitstabelle liest, prüfe, welchen der beiden Werte eine Zeile verwendet, bevor du sie mit einer anderen Zeile vergleichst.
Fragen, die Leute stellen.
Was ist eine gute Wortfehlerrate?
Bei sauberem englischem Benchmark-Audio liegen die besten aktuellen Modelle unter 5 %. Im echten Einsatz, mit einem Laptop-Mikrofon und normaler Sprechweise, sind 5 bis 10 % typisch und noch sehr gut nutzbar, wenn das Tool einen guten Formatierungsdurchgang und ein Wörterbuch für deine Namen hat.
Wie wird die Wortfehlerrate berechnet?
Ersetzungen plus Auslassungen plus Einfügungen, geteilt durch die Zahl der Wörter im korrekten Transkript. Ein Modell, das in einer Passage von hundert Wörtern ein Wort vertauscht, eines auslässt und eines hinzufügt, hat eine WER von 3 %.
Ist eine niedrigere WER immer das bessere Tool?
Nein. Die WER ignoriert Formatierung, Satzzeichen und welche Wörter falsch waren. Ein Tool, das Uhrzeiten, Preise und Namen richtig schreibt und Füllwörter entfernt, kann weniger Korrekturen brauchen als eines mit niedrigerer roher WER und ohne Formatierungsdurchgang.
Wie berechne ich die WER selbst?
Speichere den korrekten Text und die Ausgabe der Spracherkennung als zwei Textdateien, installiere das Open-Source-Tool jiwer mit pip install jiwer und führe im Terminal jiwer -r ref.txt -h hyp.txt aus. Bereinige vorher in beiden Dateien Groß- und Kleinschreibung und Satzzeichen auf dieselbe Weise, sonst zählen Formatierungsunterschiede als Fehler.
Was ist der Unterschied zwischen WER und CER?
Die WER zählt falsche Wörter und die CER falsche Zeichen, jeweils geteilt durch die Länge des korrekten Transkripts. Bei derselben Ausgabe ist die CER niedriger, weil ein Wort mit einem falschen Buchstaben auf Zeichenebene größtenteils richtig ist.
Zählen Satzzeichen bei der Wortfehlerrate?
Das hängt von der verwendeten Textnormalisierung ab. Die meisten Benchmarks entfernen vor der Bewertung Satzzeichen und Großbuchstaben aus beiden Transkripten, so wie es der Normalisierer aus dem Whisper-Paper tut. Der veröffentlichte Wert sagt also nichts darüber, wie gut ein Modell Satzzeichen setzt.