Spracherkennungsproblem noch nicht gelöst

Seit Deep Learning in die Szene der Spracherkennung eingetreten ist, hat sich die Anzahl der Fehler bei der Worterkennung drastisch verringert. Trotz aller Artikel, die Sie lesen konnten, haben wir immer noch keine Spracherkennung auf menschlicher Ebene. Spracherkenner weisen viele Arten von Fehlern auf. Zur weiteren Verbesserung müssen sie zugewiesen werden und versuchen, sie zu beseitigen. Dies ist der einzige Weg von der Anerkennung, die für manche Menschen die meiste Zeit geeignet ist, zur Anerkennung, die für alle Menschen immer funktioniert.


Verbesserung der Anzahl falsch erkannter Wörter. Die Test-Sprachwahl wurde im Jahr 2000 an einer Telefonzentrale aus 40 zufälligen Gesprächen von zwei Personen zusammengestellt, deren Muttersprache Englisch ist

Zu sagen, dass wir in Gesprächen das Niveau einer Person bei der Spracherkennung erreicht haben, die nur auf einer Reihe von Gesprächen über eine Telefonzentrale basiert, ist dasselbe wie zu sagen, dass ein Robomobil nicht schlechter fährt als eine Person und es in einer einzelnen Stadt an einem sonnigen Tag ohne Verkehr testet . Die jüngsten Entwicklungen bei der Spracherkennung waren überraschend. Aussagen zur Spracherkennung auf menschlicher Ebene sind jedoch zu kühn. Hier sind einige Bereiche, in denen noch Verbesserungen erforderlich sind.

Akzente und Lärm


Einer der offensichtlichen Nachteile der Spracherkennung ist die Verarbeitung von Akzenten und Hintergrundgeräuschen. Der Hauptgrund dafür ist, dass die meisten Trainingsdaten aus amerikanischem Dialekt mit einem hohen Signal-Rausch-Verhältnis bestehen. In den Gesprächen über die Telefonzentrale gibt es beispielsweise nur Gespräche mit Personen, deren Muttersprache Englisch ist (zum größten Teil Amerikaner), mit geringen Hintergrundgeräuschen.

Eine Erhöhung der Trainingsdaten allein wird dieses Problem jedoch höchstwahrscheinlich nicht lösen. Es gibt viele Sprachen, die viele Dialekte und Akzente enthalten. Es ist unrealistisch, markierte Daten für alle Fälle zu sammeln. Um eine qualitativ hochwertige Spracherkennung nur für amerikanisches Englisch zu erstellen, sind bis zu 5.000 Stunden Audioaufnahmen erforderlich, die in Text übersetzt werden.


Vergleich von Personen, die Sprache in Text umwandeln, mit Baidus Deep Speech 2 zu verschiedenen Arten von Sprache. Die Menschen erkennen nichtamerikanische Akzente schlechter - vielleicht wegen der Fülle an Amerikanern unter ihnen. Ich denke, dass Menschen, die in einer bestimmten Region mit einer viel geringeren Anzahl von Fehlern aufgewachsen sind, in der Lage wären, die Betonung dieser Region zu erkennen.

Bei Hintergrundgeräuschen in einem fahrenden Auto kann das Signal-Rausch-Verhältnis Werte von -5 dB erreichen. Menschen können unter solchen Bedingungen leicht mit der Spracherkennung einer anderen Person umgehen. Automatische Erkenner verschlechtern sich mit zunehmendem Rauschen viel schneller. Die Grafik zeigt, wie stark die Trennung von Personen mit zunehmendem Rauschen zunimmt (bei niedrigem SNR, Signal-Rausch-Verhältnis)

Semantische Fehler


Oft ist die Anzahl von falsch erkannten Wörtern kein Selbstzweck in einem Spracherkennungssystem. Wir streben die Anzahl der semantischen Fehler an. Dies ist der Anteil der Ausdrücke, in denen wir die Bedeutung falsch erkennen.

Ein Beispiel für einen semantischen Fehler ist, wenn jemand "Treffen wir uns am Dienstag" anbietet [sich am Dienstag treffen] und der Erkenner "Treffen wir uns heute treffen" [Treffen wir uns heute] anbietet. Es gibt Fehler in Worten ohne semantische Fehler. Wenn der Erkenner "up" nicht erkannte und "lass uns Dienstag treffen" ausgab, änderte sich die Semantik des Satzes nicht.

Wir müssen die Anzahl der falsch erkannten Wörter sorgfältig als Kriterium verwenden. Um dies zu veranschaulichen, werde ich Ihnen ein Beispiel mit den schlimmsten Fällen geben. 5% der Fehler in Wörtern entsprechen einem fehlenden Wort von 20. Wenn jeder Satz 20 Wörter enthält (was durchaus im Durchschnitt für Englisch liegt), nähert sich die Anzahl der falsch erkannten Sätze 100%. Man kann hoffen, dass falsch erkannte Wörter die semantische Bedeutung von Sätzen nicht ändern. Andernfalls kann der Erkenner jeden Satz falsch entschlüsseln, selbst wenn 5% der Anzahl der falsch erkannten Wörter vorhanden sind.

Beim Vergleich von Modellen mit Personen ist es wichtig, das Wesen von Fehlern zu überprüfen und nicht nur die Anzahl falsch erkannter Wörter zu überwachen. Nach meiner Erfahrung machen Menschen, die Sprache in Text übersetzen, weniger Fehler und sind nicht so ernst wie Computer.

Microsoft-Forscher haben kürzlich die Fehler von Personen und Computererkennern auf einem ähnlichen Niveau verglichen . Einer der festgestellten Unterschiede besteht darin, dass das Modell "uh" [uh ...] viel häufiger mit "uh huh" [aha] verwechselt als Menschen. Diese beiden Begriffe haben eine sehr unterschiedliche Semantik: "uh" füllt die Pausen aus, und "uh huh" bedeutet Bestätigung durch den Hörer. Außerdem fanden Modelle und Personen viele Fehler des gleichen Typs.

Viele Stimmen in einem Kanal


Das Erkennen aufgezeichneter Telefongespräche ist auch einfacher, da jeder Lautsprecher auf einem separaten Mikrofon aufgezeichnet wurde. Es gibt keine Überlappung mehrerer Stimmen in einem Audiokanal. Menschen können mehrere Sprecher verstehen, manchmal gleichzeitig.

Ein guter Spracherkenner sollte in der Lage sein, den Audiostream je nach Sprecher in Segmente zu unterteilen (vorbehaltlich seiner Diarisierung ). Er sollte auch die Audioaufnahme mit zwei überlappenden Stimmen (Trennung der Quellen) verstehen. Dies muss ohne ein Mikrofon erfolgen, das sich direkt an der Mündung jedes Lautsprechers befindet, dh damit der Erkenner an einer beliebigen Stelle gut funktioniert.

Aufnahmequalität


Akzente und Hintergrundgeräusche sind nur zwei Faktoren, gegen die ein Spracherkenner resistent sein muss. Hier noch ein paar mehr:

• Hall unter verschiedenen akustischen Bedingungen.
• Artefakte in Bezug auf Ausrüstung.
• Artefakte des Codecs, mit dem das Signal aufgezeichnet und komprimiert wird.
• Abtastrate.
• Das Alter des Sprechers.

Die meisten Menschen werden nicht durch Ohraufnahmen von MP3- und WAV-Dateien unterscheiden. Vor der Erklärung von Indikatoren, die mit denen des Menschen vergleichbar sind, sollten Erkenner gegen die aufgeführten Variationsquellen resistent werden.

Kontext


Sie können sehen, dass die Anzahl der Fehler, die Menschen bei Tests in Aufzeichnungen von der Telefonzentrale machen, ziemlich hoch ist. Wenn Sie mit einem Freund sprechen würden, der 1 von 20 Wörtern nicht versteht, wäre es für Sie sehr schwierig zu kommunizieren.

Ein Grund dafür ist die kontextlose Erkennung. Im wirklichen Leben verwenden wir viele verschiedene zusätzliche Zeichen, um zu verstehen, was die andere Person sagt. Einige Beispiele für den Kontext, der von Menschen verwendet und von Spracherkennern ignoriert wird:

• Gesprächsverlauf und diskutiertes Thema.
• Visuelle Hinweise zum Sprecher - Mimik, Lippenbewegungen.
• Der Wissensbestand über die Person, mit der wir sprechen.

Jetzt verfügt der Spracherkenner in Android über eine Liste Ihrer Kontakte, sodass er die Namen Ihrer Freunde erkennen kann . Die Sprachsuche auf Karten verwendet die Geolokalisierung , um die Anzahl der möglichen Optionen einzugrenzen, zu denen Sie eine Route erstellen möchten.

Die Genauigkeit von Erkennungssystemen nimmt mit der Aufnahme solcher Signale in die Daten zu. Wir fangen jedoch gerade erst an, uns mit der Art des Kontexts zu befassen, den wir in die Verarbeitung und in die Methoden seiner Verwendung einbeziehen könnten.

Bereitstellung


Die neuesten Fortschritte bei der Spracherkennung können nicht eingesetzt werden. Wenn Sie sich den Einsatz eines Spracherkennungsalgorithmus vorstellen, müssen Sie sich an Verzögerungen und Rechenleistung erinnern. Diese Parameter hängen zusammen, da Algorithmen, die den Strombedarf erhöhen, auch die Latenz erhöhen. Der Einfachheit halber werden wir sie jedoch separat diskutieren.

Verzögerung: Die Zeit vom Ende der Rede des Benutzers bis zum Ende des Empfangs der Transkription. Eine leichte Verzögerung ist eine typische Erkennungsanforderung. Dies hat erhebliche Auswirkungen auf die Benutzererfahrung mit dem Produkt. Oft gibt es eine Grenze von zehn Millisekunden. Dies mag zu streng erscheinen, aber denken Sie daran, dass die Ausgabe der Entschlüsselung normalerweise der erste Schritt in einer Reihe komplexer Berechnungen ist. Beispielsweise müssen Sie bei der Sprachsuche im Internet nach der Spracherkennung noch eine Suche durchführen.

Bidirektionale Wiederholungsschichten sind ein typisches Beispiel für eine Verbesserung, die die Verzögerungssituation verschlechtert. Mit ihrer Hilfe werden die neuesten hochwertigen Entschlüsselungsergebnisse erzielt. Das einzige Problem ist, dass wir nach dem Passieren der ersten bidirektionalen Ebene nichts zählen können, bis die Person mit dem Sprechen fertig ist. Daher nimmt die Verzögerung mit der Länge des Satzes zu.


Links: Durch die direkte Wiederholung kann die Entschlüsselung sofort beginnen. Rechts: Bei einer bidirektionalen Wiederholung muss vor dem Decodieren gewartet werden, bis die Sprache beendet ist.

Es wird immer noch nach einem guten Weg gesucht, um zukünftige Informationen effektiv in die Spracherkennung einzubeziehen.

Rechenleistung: Diese Option wird durch wirtschaftliche Einschränkungen beeinflusst. Die Kosten des Banketts müssen bei jeder Verbesserung der Genauigkeit des Erkenners berücksichtigt werden. Wenn die Verbesserung die wirtschaftliche Schwelle nicht erreicht, wird sie nicht funktionieren.

Ein klassisches Beispiel für eine kontinuierliche Verbesserung, die sie niemals einsetzen, ist das kollaborative Deep Learning [Ensemble]. Eine Reduzierung der Fehleranzahl um 1-2% rechtfertigt selten eine 2-8-fache Steigerung der Rechenleistung. Moderne Modelle wiederkehrender Netzwerke fallen ebenfalls in diese Kategorie, da es sehr nachteilig ist, sie bei der Suche nach einer Reihe von Trajektorien zu verwenden, obwohl sich die Situation meiner Meinung nach in Zukunft ändern wird.

Ich möchte klarstellen - ich sage nicht, dass eine Verbesserung der Erkennungsgenauigkeit bei einem ernsthaften Anstieg der Rechenkosten nutzlos ist. Wir haben bereits gesehen, wie in der Vergangenheit das Prinzip "zuerst langsam, aber genau und dann schnell" funktioniert. Der Punkt ist, dass Sie es nicht verwenden können, bis die Verbesserung schnell genug ist.

In den nächsten fünf Jahren


Auf dem Gebiet der Spracherkennung gibt es immer noch viele ungelöste und komplexe Probleme. Unter ihnen:

• Erweiterung der Funktionen neuer Speichersysteme, Hervorhebungserkennung und Sprache vor dem Hintergrund lauter Geräusche.
• Einbeziehung des Kontexts in den Erkennungsprozess.
• Diarisierung und Trennung von Quellen.
• Anzahl der semantischen Fehler und innovativen Methoden zur Bewertung von Erkennern.
• Sehr geringe Latenz.

Ich freue mich auf die Fortschritte, die in den nächsten fünf Jahren an diesen und anderen Fronten erzielt werden.

Source: https://habr.com/ru/post/de408017/


All Articles