Aus Klang werden Zahlen
Ein Mikrofon misst den Luftdruck, ein paar tausend Mal pro Sekunde, und schreibt jede Messung als Zahl auf. Mehr ist eine Aufnahme nicht: eine sehr lange Liste von Zahlen, die beschreibt, wie sich eine Membran bewegt hat.
Das Erste, was jede Erkennung macht, ist, diese Liste zu verkleinern. Rohton enthält viel mehr Einzelheiten, als Sprache braucht, also zerlegt das System ihn in kurze Scheiben, meist ein paar Hundertstelsekunden lang, und beschreibt jede Scheibe danach, welche Frequenzen darin vorkommen und wie kräftig.
Heraus kommt eine gedrängte Zusammenfassung des Klangs über die Zeit. Lautstärke, Tonhöhe und die Form des Geräuschs, Scheibe für Scheibe. Ob der Sprecher müde klingt oder der Raum brummt, steckt da immer noch drin, und das wird später wichtig.
Das Modell sucht nach Mustern, die es kennt
Diese Zusammenfassung geht dann an das Modell, und das ist der Teil, den die Leute meinen, wenn sie Spracherkennung sagen.
Ein Modell ist eine große Datei voller Zahlen, entstanden durch Training: Man zeigt einem System viele Stunden aufgenommener Sprache samt dem richtigen Text und verstellt diese Zahlen so lange, bis es das eine zuverlässig auf das andere abbildet. Niemand schreibt Regeln wie "diese Form bedeutet ein S". Das Muster wird an Beispielen gelernt.
Was dabei herauskommt, ist keine Gewissheit, sondern eine Wahrscheinlichkeit. Für jedes Stück Klang hat das Modell eine Meinung dazu, welche Laute und danach welche Wörter am ehesten gesagt wurden.
Der Zusammenhang leistet mehr, als man denkt
Klang allein reicht nicht, denn eine Menge Wörter klingen gleich. "Lehre" und "Leere". "Das Buch" und "dasselbe Buch", wenn schnell gesprochen wird.
Erkennungssysteme lösen das über den Zusammenhang: Die bereits erzeugten Wörter machen manche nächsten Wörter viel wahrscheinlicher als andere. Das System beantwortet dabei zwei Fragen auf einmal, nämlich wonach hat das geklungen und was ergibt hier Sinn, und legt beides übereinander.
Das erklärt einen verbreiteten Ärger. Diktier einen ganzen Satz, und er stimmt. Diktier ein einzelnes ungewöhnliches Wort für sich, und es stimmt nicht. Ohne Zusammenhang gab es nichts, worauf man sich stützen konnte, der Klang musste die ganze Entscheidung tragen.
Es erklärt auch, warum eigene Namen und Fachbegriffe schwierig sind. Ein Modell, das auf allgemeiner Sprache trainiert wurde, ist dem Nachnamen deiner Kollegin oder dem Kürzel aus deiner Firma nie begegnet, also setzt es etwas Gewöhnliches ein, das ähnlich klingt. Deshalb hilft es so viel, Wörter selbst hinzuzufügen: Du lieferst genau den Zusammenhang nach, der gefehlt hat.
Warum Dialekt und Lärm schwer sind
Beide Probleme kommen von derselben Stelle.
Ein Modell erkennt, wovon es viel gehört hat. War eine bestimmte Sprechweise im Trainingsmaterial dünn vertreten, hat das System weniger Erfahrung, aus der es schöpfen kann, und schneidet schlechter ab. Das ist kein Urteil über die Sprechweise, sondern eine Folge dessen, was man dem Modell gezeigt hat.
Hintergrundgeräusch ist noch schwerer, weil das Mikrofon den Raum zusammen mit dir aufnimmt. Sprache und Lärm kommen vermischt in denselben Zahlen an, und das Modell muss herausfinden, welche Teile Wörter waren. Ein Café, ein Auto, ein Lüfter, jemand, der daneben redet: Alles davon konkurriert um dieselben Messwerte.
Größere Modelle kommen mit beidem in der Regel besser zurecht, weil sie mehr Kapazität haben, ungewöhnliche Fälle abzubilden. Das ist der praktische Hauptgrund, warum die Modellgröße überhaupt eine Rolle spielt.
Wo das Modell läuft, und warum das etwas ändert
Hier gabelt sich der Weg, und es ist die eine Entscheidung, die Benutzer wirklich spüren.
Die Modelldatei kann auf einem Server liegen. Dein Gerät nimmt auf, lädt hoch, wartet und bekommt Text zurück. Server haben Arbeitsspeicher, Kühlung und besondere Hardware, das Modell kann also sehr groß und sehr leistungsfähig sein und verbessert werden, ohne dass du einen Finger rührst.
Oder die Datei liegt auf deinem eigenen Gerät. Es wird nichts hochgeladen, auf nichts gewartet, und die Erkennung läuft, ob du Empfang hast oder nicht. Die Grenze ist deine Hardware: Ein Handy hat ein paar Gigabyte Arbeitsspeicher, geteilt mit allem anderen, keinen Lüfter und einen Akku, auf den es aufpassen muss. Das Modell muss also klein genug sein, um schnell zu laden und fertig zu werden, bevor du ungeduldig wirst.
Alles, was mit Datenschutz, Verhalten ohne Verbindung und Tempo zu tun hat, folgt aus dieser einen Wahl, und deshalb musst du sie verstehen, bevor du eine App aussuchst.
Woher die Satzzeichen kommen
Fast niemand diktiert Satzzeichen noch mit, das System muss sie sich also ausdenken.
Es tut das aus denselben zwei Quellen wie alles andere: aus dem Klang, wo Pausen und fallende Stimme eine Grenze nahelegen, und aus der Sprache, wo die Form eines Satzes andeutet, wohin ein Komma gehört. Keins von beidem ist eindeutig, und deshalb ist die Zeichensetzung der Teil, der am häufigsten leicht daneben aussieht, selbst wenn jedes Wort stimmt.
Es erklärt auch eine Gewohnheit, die man sich zulegen sollte. In ganzen Sätzen mit natürlichen Pausen zu sprechen liefert dem System genau die Hinweise, die es braucht. Auszulaufen, mitten im Gedanken neu anzusetzen oder fünf Nebensätze aneinanderzuhängen nimmt ihm diese Hinweise weg, und die Zeichensetzung leidet als Erstes.
Warum sich Diktieren manchmal langsam anfühlt
Erkennung kann meistens nicht anfangen, bevor es etwas zu erkennen gibt. Viele Systeme warten auf eine natürliche Pause und verarbeiten dann das eben Gehörte. Ein langer Satz erzeugt also am Ende eine Pause, ungefähr im Verhältnis dazu, wie lange du gesprochen hast und wie groß das Modell ist.
Auf einem Handy sieht man das deutlich. Ein kleineres Modell gibt früher Text zurück und verhört sich gelegentlich, ein größeres lässt länger warten und trifft mehr. Es gibt keine Einstellung, die dir beides gibt, und deshalb bieten Apps überhaupt eine Auswahl an Größen an.
Was das für die Auswahl bedeutet
Die praktischen Schlüsse daraus kosten nichts.
Sprich in ganzen Sätzen statt in einzelnen Wörtern, weil der Zusammenhang mehr Arbeit leistet als der Klang. Halte das Mikrofon einigermaßen nah und aus dem Wind, weil sich Lärm ins Signal mischt und sich danach nicht mehr heraustrennen lässt. Und trag deinen eigenen Wortschatz nach, wenn die App das zulässt, denn das ist der eine Teil des Problems, den du unmittelbar beheben kannst.
Noch etwas, worüber Leute stolpern
Erkannt wird, was am Mikrofon angekommen ist, und nicht, was du gemeint hast. Wenn du das Ende eines Wortes nuschelst, einen Satz auf halber Strecke neu beginnst oder deine Stimme absinken lässt, während du dich vom Handy wegdrehst, sind die Hinweise für diese Stellen tatsächlich schwächer, und das Ergebnis spiegelt das.
Das zu wissen zählt, weil es die einzige Größe ist, die vollständig bei dir liegt, und sie macht meistens mehr aus als ein Wechsel der App.
Das Modell läuft auf dem Telefon
LocalType lässt das Modell auf dem Handy laufen. Das ist die ganze Entwurfsentscheidung, und der Rest des Produkts folgt daraus: Diktieren, das ohne Verbindung funktioniert, Ton, der nie übertragen wird, kein Konto, an dem irgendetwas hinge, und drei Modellgrößen mit 60, 190 und 539 MB, damit die Abwägung zwischen Tempo und Genauigkeit bei dir liegt und nicht bei uns.
Es heißt auch, dass die oben beschriebenen Grenzen für LocalType so gut gelten wie für alles andere. Ein Handy lässt ein kleineres Modell laufen als ein Server, die Genauigkeit ist über alle achtzehn Sprachen, die es kann, nicht gleich, und ein lauter Raum bleibt ein lauter Raum.