So funktionieren Spracherkennungssysteme / Sudo Null IT News

Im russischsprachigen Teil des Internets gibt es nicht viele Informationen darüber, wie Spracherkennungssysteme funktionieren. In diesem Artikel stellen wir, das Projektteam, vor Amvera-Rede, erklären Ihnen die Nuancen der Technologie und beschreiben den Weg zur Erstellung Ihrer eigenen Lösung. Am Ende des Artikels befindet sich ein kostenloser Telegram-Bot zum Testen eines Spracherkennungssystems, das auf der im Artikel beschriebenen Architektur aufbaut.

Schwierigkeiten von Entwicklern von Spracherkennungssystemen:

Es ist ein weit verbreiteter Glaube, dass die Spracherkennung ein gelöster Fall ist, aber das ist nicht ganz richtig. Das Problem wurde zwar für bestimmte Situationen gelöst, aber es gibt noch keine universelle Lösung. Dies liegt an einer Reihe von Problemen, mit denen Entwickler konfrontiert sind:

  • Domänenabhängigkeit

    a) Verschiedene Ansager

    b) „akustischer“ Tonaufnahmekanal: Codecs, Verzerrungen

    c) Verschiedene Umgebungen: Lärm im Telefon, in der Stadt, Hintergrundlautsprecher

    d) Unterschiedliches Tempo und Sprechbereitschaft

    e) Unterschiedliche Redestile und -themen

  • Große und “unbequeme” Datensätze

  • Nicht immer intuitive Qualitätsmetrik

Qualitätsmetrik

Die Erkennungsqualität wird durch die WER-Metrik (Wortfehlerrate) gemessen.

WER=100*(Einfügungen+Ersetzungen+Löschungen)/TotalWord

Einfügungen – Einfügen von Wörtern, die nicht in der ursprünglichen Audioaufnahme enthalten sind

Substitutionen – Ersetzen von Wörtern durch falsche

Löschungen – das System hat das Wort nicht erkannt und einen Pass gemacht

Rechenbeispiel

Eingang: Festnetztelefon (undeutliche Sprache) klingelte spät in der Nacht

Hypothese: Stationäre blaue iPhones klingelten spät in der Nacht

WER = 100*(1+2+0)/5 = 60 % (d. h. der Fehler beträgt 60 %).

Gleichzeitig gibt es bei der Berechnung der Metrik sowohl einfache als auch komplexere Missverständnisse.

Ein Beispiel für einfache Missverständnisse bei der Berechnung einer Metrik

– E / e mit Punkten. Das System übersetzt Sprache in Text und verwendet überall den Buchstaben E ohne Punkte, während der Standard, mit dem die Transkription verglichen wird, E mit Punkten enthält. Dies erhöht die Anzahl der Substitutionen übermäßig und erhöht die WER um 1 %.

– unterschiedliche Schreibweise von Wörtern wie hallo, ale, alle usw.

– Klein- und Großbuchstaben

– Mittelung über Texte, ohne die Gesamtzahl der Wörter zu zählen. Es kommt vor, dass in einem Text WER 0,6, in einem anderen 0,5 und im dritten 0,8 beträgt. Es ist nicht korrekt, WER als arithmetisches Mittel dieser Werte abzuleiten. Richtiger ist es, die Gesamtzahl der Wörter in allen Texten zu zählen und daraus WER zu berechnen.

Komplexere Missverständnisse können durch die Tatsache verursacht werden, dass die WER bei verschiedenen Testmustern unterschiedlich ist. Manchmal schneidet die getestete Lösung auf einer bestimmten Audiospur besser oder schlechter ab als die Lösungen der Konkurrenz. Daraus aber einen pauschalen Schluss auf die Qualität der Lösung zu ziehen, ist falsch. Es werden Ergebnisse zu einer großen Datenmenge benötigt.

Arten von Spracherkennungssystemen

Es gibt zwei Arten von Spracherkennungssystemen – Hybrid und End2End. End2end übersetzen eine Tonfolge in eine Buchstabenfolge. Hybridsysteme enthalten ein unabhängig arbeitendes Akustik- und Sprachmodell. Die Amvera Speech-Lösung basiert auf einer hybriden Architektur.

Hybrides Spracherkennungsgerät

Arbeitsprinzip des hybriden Spracherkennungssystems:

• Das neuronale Netzwerk klassifiziert jeden spezifischen Tonrahmen,

• HMM-Modelle „Dynamik“, „Lexikon“, „Vokabular“ basierend auf NN-Postioren,

• Der Viterbi-Algorithmus (Viterbi-Decoder, Beam-Search) durchsucht das HMM unter Berücksichtigung der Posteriors des Klassifikators nach dem optimalen Pfad.

Allgemeines Schema zum Aufbau eines hybriden SpracherkennungssystemsAllgemeines Schema zum Aufbau eines hybriden Spracherkennungssystems

Der erste Schritt in einem hybriden Spracherkennungsmodell ist die Merkmalsextraktion. In der Regel handelt es sich dabei um MFCC-Koeffizienten.

Das akustische Modell löst dann das Problem der Rahmenklassifikation. Als nächstes wird der Viterbi-Decoder (Strahlsuche) verwendet. Es verwendet akustische Modellvorhersagen und Sprachmodellstatistiken, die bei gegebenem Ngram die Wahrscheinlichkeit des Auftretens von Tönen und Wörtern zeigen. Dann wird eine Neubewertung durchgeführt und das wahrscheinlichste Wort wird gegeben.

Gerät mit HybridarchitekturGerät mit Hybridarchitektur

Nachfolgend finden Sie eine Abbildung der Klassifizierung von Frames. Phoneme werden in Rahmen für die Wörter „ja“ und „nein“ angezeigt. Die Wahrscheinlichkeit jedes der Phoneme wird in die entsprechende Zelle geschrieben.

Bildnummer/Graphem

0

eines

2

3

vier

5

6

7

acht

D

0

0

0,6

0,7

0

0

0

0

0

ABER

0

0,1

0

0,1

0,4

0,5

0,4

0,1

0

H

0

0

0

0

0

0

0

0

0

E

0

0,1

0,1

0,1

0,6

0,5

0,4

0

0

T

0

0

0,3

0

0

0

0,1

0

0

Stille (SIL)

eines

0,8

0

0,1

0

0

0,1

0,9

eines

Visualisieren Sie das Funktionsprinzip des Rechengraphen

Stellen Sie sich vor, dass der Klassifikator in Ihrem ersten Frame das Phonem „d“ usw. 10 Mal hintereinander gefunden hat. Die Schleife läuft, bis das Phonem “a” gefunden wird, und wenn das Wort im Wörterbuch steht, wird es geschrieben.

In ähnlicher Weise wird der Algorithmus das Wort “nein” ausarbeiten und enden, wenn es drin ist
der Kanal wird stumm “SIL”.

Visualisierung des Funktionsprinzips des SuchgraphenVisualisierung des Funktionsprinzips des Suchgraphen

Kombinieren wir zur besseren Übersichtlichkeit die Visualisierung des Suchgraphen in Verbindung mit Frames:

Training eines hybriden Spracherkennungssystems

Betrachten Sie das allgemeine Prinzip des Trainierens des Klassifikators eines akustischen Modells, das Prinzip des Anpassens von Frames an Phoneme, die Anzahl der Klassen und Möglichkeiten zur Verbesserung der Lösung.

Training für akustische Modellklassifikatoren:

  1. Nehmen wir Diagramme.

    Beispiel – M, A, W, A

  2. Stellen wir sie in Form von Phonemen dar, wir erhalten m * i1 sh a0

    Für die russische Sprache sind die Phoneme bei einer Trainingsprobe von 80 Stunden um 1 Prozent besser, bei 4.000 Stunden gibt es keinen Unterschied.

  3. Verwendung von Biphonen/Bigraphemen

    Modellieren Sie den Einfluss benachbarter Phoneme

    Links: SIL (sil)M (m)A (a)W (w)A SIL

    Rechts: SIL M(a) A(w) W(a) A(sil) SIL

  4. Trifone können verwendet werden

    SIL (sil)M(a) (m)A(w) (a)W(a) (b)A(sil) SIL

  5. Oder verwenden Sie Phoneme/Grapheme/Triphone mit mehreren Zuständen …

Wie ordnet man einem Rahmen ein Phonem zu?

Der einfachste Weg, dies zu beschreiben, ist mit dem Satz „eine Eule auf einem Globus ziehen“.

Dazu verwenden wir eine Reihe von Flat-Start + Viterbi Forced Alignment-Algorithmen:

  1. Nehmen Sie ein Paar Tontext

  2. erhalten phonemische Notation

  3. Wir teilen den Klang entsprechend der Anzahl der Phoneme in gleiche Teile und weisen die entsprechenden Labels zu

  4. Trainiere den Klassifikator (normalerweise GMM).

  5. Führen Sie eine erzwungene Ausrichtung durch, erhalten Sie aktualisierte Beschriftungen

  6. Wir wiederholen Punkt 4

Nach mehreren Iterationen erhalten wir Labels, die zum Trainieren des neuronalen Netzwerks geeignet sind.

Klassen

Wenn {bi, drei} {Hintergründe, Grapheme} verwendet werden, dann:

Problem 1: Zu viele Klassen

Biphone: 57 Phoneme^2 – 3249

Biphone mit zwei Zuständen: (2 Zustände*57 Phoneme)^2=12996

Triphone: 57 Phoneme^3 = 185193

Problem 2: Klassengrößen sind nicht ausgewogen

Lösung – Clustering

Kombiniert ähnliche Klassen (5-10.000 Klassen)

Gleicht Klassengrößen aus

(Die Klasse heißt senon für Phonem-, chenon für Graphemmodelle)

Anerkennung verbessern

Verwenden Sie MMI oder MPE/sMBR

  1. Das CE-Modell wird gebaut

  2. Ein “Zähler” wird aufgebaut – eine Reihe von Erkennungsoptionen, die zur richtigen Antwort führen

  3. Der “Nenner” wird aufgebaut – viele falsche Erkennungsmöglichkeiten

  4. Verlust = f(Zähler)/f(Nenner) d.h. die Richtigen „erhöhen“ und die Falschen „senken“

Vorteile: sMBR verbessert die Qualität etwas

Nachteile: neigt dazu, die Ausgabe des Etiketts zu verzögern, verdirbt daher das Zeitlayout und die Latenz.

Vorteile der hybriden Spracherkennungsarchitektur

  1. Das akustische Modell wird vom sprachlichen getrennt. Es ist einfach, das Sprachmodell mit zusätzlichen Informationen (neue Wörter usw.) zu ergänzen.

  2. Mithilfe des Sprachmodells können Sie schnell NBest-Listen zur Verbesserung erhalten.

  3. Für das Training reichen mehrere zehn Stunden Audioaufnahmen.

Nachteile der hybriden Spracherkennungsarchitektur

  1. Schwer für mobile Geräte.

  2. Wörter, die nicht im Wörterbuch stehen, können nicht erkannt werden.

  3. Nicht modisch.

Als Ergebnis haben wir das Prinzip der klassischen hybriden Architektur der Spracherkennung betrachtet.

Bonus für diejenigen, die gelesen haben: unser Telegram-Bot @AmVeraSpeechBot. Im Bot können Sie die Qualität unserer Spracherkennungslösung auf Basis der klassischen Hybridarchitektur überprüfen. Senden Sie einfach eine kurze Audiospur oder Sprachnachricht an den Bot und erhalten Sie ein Texttranskript.

Und der zweite Bonus. Jetzt führen wir einen Betatest unserer Cloud zum Hosten von IT-Anwendungen durch und laden alle ein, an den Tests teilzunehmen. Es ist absolut kostenlos: Wir stellen Cloud-Ressourcen bereit, Sie geben Feedback. Details auf Verknüpfung.

Im nächsten Artikel gehen wir ausführlicher auf die Vor- und Nachteile von End2End- und hybriden Spracherkennungssystemen ein.

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *