19 Januar 2012

Patentantrag: Dauernde Verbesserung der Spracherkennung

Über Rüdiger Wilke kam ich an den Link zum Patentantrag für ein System zur kontinuierlichen Verbesserung der Erkennungsleistung von Spracherkennungssoftware während des Diktats. Diese Technologie ist in neueren Versionen von Dragon NaturallySpeaking bereits eingebaut und wird unter dem Namen „SilentAdapt“ vermarktet.

Der Patentantrag beschreibt sowohl die allgemeine Funktionsweise von Spracherkennung wie auch die kontinuierliche Anpassung des Systems an den Sprecher, die dafür sorgt, dass auch ohne ein anfängliches Training Spracherkennung sehr schnell mit sehr guten Resultaten möglich sein kann. Eine vollständige Übersetzung spare ich mir hier aus offenkundigen Gründen. Einige wesentliche Funktionsweisen lassen sich so darstellen:

Spracherkennung bearbeitet ein akustisches Signal (die aufgenommene Sprache), indem das Signal zunächst in kurze Einheiten zerlegt wird. Diese werden mit einem Inventar von Lauten der betreffenden Sprache abgeglichen und aufgrund von Transformationsmodellen einem oder mehreren möglichen Kandidaten für die Erkennung (also Wörtern) zugewiesen. Der wahrscheinlichste Kandidat ist das Wort, welches letztlich im Text erscheint.

Ein anfängliches Training ist in der Regel nötig, um das in der Software bereits enthaltene akustische Modell einer Sprache mit der tatsächlichen Aussprache eines Sprechers abzugleichen. Dazu wird die Aussprache des Sprechers analysiert und Transformationsregeln bestimmt, nach denen diese Aussprache in das in der Software enthaltene Modell umgerechnet wird. Was Dragon also tut, ist zum Beispiel eine extrem tiefe Stimme „höher“ zu rechnen, oder eine extrem hohe Stimme „tiefer“ usw., um den tatsächlichen Input mit dem kompatibel zu machen, was die Software sozusagen als Input erwartet.

Während des Vorlesens eines Trainingstextes werden Daten gesammelt, die anschließend diese Anpassung möglich machen. Das hier referenzierte Patent beschreibt, dass diese Anpassung auch während des Diktates, also ohne vorheriges Training, gemacht werden kann.

Dazu werden die Äußerungen des Sprechers während des Diktates analysiert und zur Adaption herangezogen. Dieser Mechanismus nennt sich Online Unsupervised Feature space Adaptation (OUFA), die Transformation des ankommenden Signals zur Adaption basiert auf einer Constrained Maximum Likelihood Linear Regression (CMLLR) adaptation. Entsprechend dieser Algorithmen wird das Eingangssignal transformiert und zur Verbesserung der Erkennungsgenauigkeit, also zur Erhöhung der statistischen Trefferquote des richtigen Kandidaten, herangezogen.

Ein weiteres Einsatzgebiet ist die in Dragon NaturallySpeaking enthaltene „akustische Optimierung“, bei der, basierend auf den während des Diktats gesammelten Informationen, das Sprecherprofil noch einmal in einem eigenen Prozess angepasst wird, der auf denselben Algorithmen beruht wie die kontinuierliche Anpassung während des Diktats.

Zu dieser akustischen Optimierung macht der Patentantrag eine für mich überraschende Aussage: unter Absatz [0032] folgt auf die Beschreibung der Mechanismen zur akustischen Optimierung der Hinweis: „it is possible that this might lead to a decrease in accuracy“. Auf die Gefahr hin, dass ich die technische Beschreibung nicht korrekt verstanden habe, stellen sich mir dann 2 Fragen:

1. wenn das Profil bereits während des Diktates angepasst wird, wozu muss dann eine nachträgliche akustische Optimierung noch sein?
2. wenn diese akustische Optimierung zu einer verschlechterten Erkennungsgenauigkeit führen kann, sollte man dann nicht darauf verzichten?

Sicherlich gibt es hierauf keine eindeutige Antwort, da sehr viel auch von der Qualität des Input abhängt. Die Beschreibung gibt allerdings eine Antwort auf ein Phänomen, welches wir immer wieder beobachtet haben, nämlich dass nicht nur nach einer akustischen Optimierung, sondern auch nach einigen Monaten des Diktats die Spracherkennung in der Qualität wieder abnimmt. Dies scheint also offensichtlich im System eingebaut zu sein.

Praktische Empfehlung daher:

Trainieren Sie Ihren Benutzer auf ein möglichst hohes Niveau und speichern Sie ihn dann an einem sicheren Ort ab. Nimmt die Erkennungsgenauigkeit irgendwann ab, haben Sie bereits einen fertig trainierten Benutzer, auf den Sie dann zurückgreifen können.

1 Kommentar:

David.P hat gesagt…

Gute Kurzerklärung, insbesondere der Absatz mit der CMLLR.

Kurz zu den Fragen:

1.) Mit OUFA=SilentAdapt wird nicht das Profil während des Diktates angepasst, sondern es wird nur das Eingangssignal (pauschal) verbogen, um (evtl. vorübergehende) Klangänderungen bzgl. der Stimme oder der Umgebung herauszurechnen. Das Profil wird hierdurch nicht verändert -- im Gegensatz zur akustischen Optimierung, bei der tatsächlich die Modelle (Sprachmodell u. akustisches Modell) verändert werden, und zwar primär auf Basis von Korrekturen, nicht auf Basis von OUFA/SilentAdapt.

2.) Die akustische Optimierung *KANN* zu einer verschlechterten Erkennungsgenauigkeit führen. Das tut sie aber bei weitem nicht überwiegend. Die Wahrscheinlichkeit zur Verbesserung ist also durchschnittlich immer noch deutlich höher als die zur Verschlechterung.

Hier noch mein kurzer Abriss aus 2010 zu OUFA, PASS und SilentAdapt bei KnowBrainer:
http://pages.citebite.com/l2t4m4o0uywc

Grüße David.P