Warum Zahlen der schwere Fall sind
Spracherkennung stützt sich stark auf den Zusammenhang. Ist ein Klang mehrdeutig, engen die umliegenden Wörter die Möglichkeiten ein, und deshalb kommt ein ganzer Satz richtig heraus und ein einzelnes Wort nicht.
Eine Zahl hat keinen Zusammenhang. Auf jede Ziffer kann jede andere folgen, an "sieben" ist also nichts, was "drei" als Nächstes wahrscheinlicher oder unwahrscheinlicher macht. Das System arbeitet allein aus dem Klang, ohne jede Hilfe, auf die es sich sonst stützt.
Adressen und Codes sind noch schlimmer, denn sie mischen Kategorien. Eine Postleitzahl ist eine Ziffernfolge ohne sprachliches Muster. Eine E-Mail-Adresse enthält ein Wort, ein Zeichen, noch ein Wort und eine Endung, in einem Atemzug geliefert. Eine Vorgangsnummer ist eine Kette, die jemand erfunden hat.
Das ist die ganze Erklärung, und eine bessere App wird daran nichts ändern.
Was üblicherweise schiefgeht
Ziffern verschmelzen oder zerfallen. "Zwanzig vierundzwanzig" wird zu 2024 oder 20 24 oder bleibt ausgeschrieben stehen, je nach System und Rhythmus.
Ziffern, die gleich klingen. Im Deutschen liegen zwei und drei bei schnellem Sprechen näher beieinander, als man denkt, und in einer Kette verwischen sie.
Formatierung wird erfunden. Telefonnummern werden gruppiert, Datumsangaben umgestellt, und das Dezimaltrennzeichen landet je nach Sprache, die das Modell gehört zu haben glaubt, anders.
Zeichen werden zu Wörtern. Das At-Zeichen, der Punkt, der Bindestrich, der Schrägstrich. Die werden als Wörter gesprochen, und es gibt keinen verlässlichen Weg für ein System zu erkennen, ob du das Zeichen oder das Wort gemeint hast.
Buchstaben werden zu Klanggeschwistern. In einer Postleitzahl oder einer Vorgangsnummer sind gesprochene Buchstaben brutal. B, D, E, P, T und W reimen sich im Deutschen alle aufeinander, und ein Modell ohne Zusammenhang greift sich einen davon heraus.
Die praktische Regel
Diktier den Satz, tipp die Kette.
Das klingt nach einer Niederlage und ist schlicht die richtige Arbeitsteilung. Eine Nachricht mit "die Vorgangsnummer lautet" ist in zwei Sekunden diktiert. Die Nummer selbst ist in drei Sekunden getippt und enthält überhaupt keine Fehler.
Zu versuchen, das Ganze zu diktieren und danach auszubessern, dauert jedes Mal länger, als die Kette gleich zu tippen. Die meisten, die viel diktieren, kommen darauf innerhalb einer Woche.
Wenn du sie doch aussprechen willst
Manchmal ist Tippen keine Möglichkeit: Hände voll, im Gehen, oder die Kette ist kurz genug, dass sich der Wechsel nicht lohnt. Ein paar Kniffe helfen.
Sprich Ziffern einzeln, mit einem Takt dazwischen. "Null, sechs, eins, zwei" statt "null sechs zwölf". Aus dem Gruppieren entstehen die Verschmelzungsfehler.
Gib ihm Anlauf. Zwei gewöhnliche Wörter vor der Zahl geben dem System einen Zusammenhang, an dem es sich festmachen kann. "Die Nummer lautet" und dann die Ziffern, statt kalt mit einer Ziffer zu beginnen.
Sprich kurze Gruppen und mach Pausen. Eine Telefonnummer in drei Häppchen mit einer Pause dazwischen ist weit verlässlicher als ein durchgehender Strom.
Nimm das Buchstabieralphabet für Buchstaben. Anton, Berta, Cäsar erzeugt keine einzelnen Buchstaben, aber es erzeugt Wörter, die du verlässlich von Hand umsetzen kannst, und das schlägt einen falschen Buchstaben, den du übersehen hast.
Sag kleine Zahlen als Wort und große als Ziffern. "Drei" ist eindeutig. "Dreitausendsiebenhundertzwölf" ist eine Lotterie.
Datum, Uhrzeit und Geld
Jedes hat seine eigene Falle, die man kennen sollte.
Datumsangaben werden nach den Gepflogenheiten der Sprache umgestellt, die das System zu hören glaubte. Das ist in jeder zweisprachigen Lage ein echtes Risiko, denn dieselben drei Zahlen bedeuten je nach Gepflogenheit zwei verschiedene Tage. Sag den Monat als Wort statt als Zahl, und die Mehrdeutigkeit verschwindet vollständig.
Uhrzeiten sind natürlich gesprochen meistens unproblematisch, aber die Zwölf-Stunden- und die Vierundzwanzig-Stunden-Form geraten durcheinander. Und "halb sieben" heißt im deutschen Sprachraum 6:30 und in anderen Sprachen etwas ganz anderes, was in gemischten Teams regelmäßig für verpasste Termine sorgt.
Geld leidet unter dem Dezimaltrennzeichen. Manche Sprachen setzen ein Komma, wo andere einen Punkt setzen, und das Modell wendet die Gepflogenheit der Sprache an, die es gehört hat. Wo der Betrag zählt, tipp ihn.
E-Mail-Adressen: einfach tippen
Das ist die stärkste Empfehlung von allen.
Eine E-Mail-Adresse enthält mindestens ein Zeichen, das aus einem gesprochenen Wort erschlossen werden muss, üblicherweise einen Eigennamen, dem das System nie begegnet ist, und eine Endung, die wie ein gewöhnliches Wort klingt. Jeder Teil davon ist eine Fehlerquelle, und anders als bei einem Satz gibt es keine Redundanz: ein falsches Zeichen, und die Nachricht kommt nirgends an.
Dasselbe gilt für Benutzernamen, Internetadressen, IBANs, Kennzeichen und alles andere, wo ein einzelnes falsches Zeichen die ganze Kette ungültig macht.
Eintragen, was sich eintragen lässt
Ein Teil davon lässt sich im Voraus beheben.
Wiederkehrende Eigennamen in Adressen, deine Straße, dein Ort, der Name der Siedlung, sind Wörter, die das Modell lernen kann. Sie einzutragen sorgt dafür, dass die Wörter rund um die Zahlen richtig ankommen, auch wenn die Zahlen selbst Aufmerksamkeit brauchen. LocalType behält solche Ergänzungen auf dem Handy und reicht sie der Erkennung als Hintergrundwissen weiter, während sie arbeitet.
Zahlen selbst lassen sich so nicht lernen, denn das Problem ist kein Wortschatz. Das System kennt jede Ziffer bestens, es hat nur keine Möglichkeit, zwischen ihnen zu wählen.
Prüfen, bevor du abschickst
Diese eine Gewohnheit verhindert die wirklich teuren Fehler.
Ein verhörtes Wort in einem Satz fällt einem Leser meistens auf. Eine verhörte Ziffer nicht, denn eine falsche Zahl sieht genauso plausibel aus wie eine richtige. Niemand liest eine Telefonnummer Korrektur, also lies sie absichtlich, oder lies sie laut zurück, was Fehler fängt, die Überfliegen nicht fängt.
Bei allem Finanziellen, Rechtlichen oder Medizinischen behandle diktierte Zahlen als ungeprüft, bis du sie gegen die Quelle abgeglichen hast. Das ist keine Kritik am Diktieren. Es ist dieselbe Regel, die du auf Zahlen anwenden würdest, die du müde getippt hast.
Die Modellgröße ist der Hebel
Für LocalType gelten dieselben Grenzen wie für alles andere, denn sie kommen aus der Natur der Aufgabe und nicht aus der Umsetzung. Zahlen haben keinen Zusammenhang, und kein Modell auf keiner Hardware erfindet einen, der nicht da war.
Was hilft, ist die Modellgröße. Die drei Möglichkeiten mit 60, 190 und 539 MB unterscheiden sich darin, wie gut sie mit mehrdeutigem Ton zurechtkommen, und Ziffern sind die Bestimmung von mehrdeutigem Ton. Wenn Zahlen in deiner Arbeit zählen, verdient die größte ihren Speicherplatz. Als Anhaltspunkt: Die mittlere mit 190 MB schrieb auf dem Testgerät mit 4 GB 6,9 Sekunden Sprache in 4,1 Sekunden aus.
Alles andere bleibt gleich: Erkennung auf dem Gerät aus einer Datei, die keine andere App öffnen kann, das Netz einmal kontaktiert, um das Modell zu holen, kein Konto, keine Werbung, nichts, was deine Nutzung aufzeichnet, also auch kein Tracking, kein gespeicherter Ton und damit kein Archiv, Sicherungen absichtlich übersprungen, und kein Mikrofon über einem Passwortfeld. Was hier durchaus zur Sache gehört, denn Codes und Nummern sind genau das, was Leute in Felder diktieren, in die sie es nicht sollten.
Wenn du eine Sache mitnimmst, dann die Arbeitsteilung. Sprich die Wörter, tipp die Ketten, und prüf die Ziffern, bevor du abschickst. Diktieren ist nicht bei allem schlechter als Tippen, und das hier ist die eine Kategorie, in der es das offensichtlich ist.