Dieser Blogbeitrag befasst sich mit dem Prozess der Kennzeichnung von Sprachdaten für die automatische Spracherkennung (ASR). Bei der automatischen Spracherkennung wird gesprochene Sprache in Text umgewandelt. Zum Trainieren der Modelle werden große Mengen an nicht oder nur schwach etikettierten Sprachdaten benötigt. Das Vortraining von ASR-Modellen mit dieser Art von Daten kann jedoch zu Fehlern und Verzerrungen führen, so dass die Kennzeichnung von Sprachdaten für eine genaue und robuste Leistung entscheidend ist. In diesem Beitrag werden verschiedene Arten von Sprachdaten, Etikettierungsmethoden, Qualitätskontrolltechniken und Annotationsformate behandelt, die zum Trainieren von ASR-Modellen verwendet werden. Er enthält auch Informationen zu Datenformaten, Sprechertagebuch, Dateidauer, Datenerweiterung und den Vor- und Nachteilen der verschiedenen Etikettierungsmethoden. Um ein perfektes ASR-Modell zu erstellen, ist es wichtig, die Art der verwendeten Sprachdaten zu verstehen und eine geeignete Etikettierungsmethodik zu entwickeln.
Kurz gesagt: ASR ist der Prozess, mit dem eine Maschine gesprochene Sprache verstehen und in Text umwandeln kann. Heutzutage werden ASR-Modelle wie wav2vec 2.0 und Whisper auf großen Mengen von unmarkierten oder schwach markierten Sprachdaten trainiert, um Muster und Merkmale der gesprochenen Sprache zu lernen. Das Vortraining von ASR-Modellen auf dieser Art von Daten kann die Menge der für eine gute Leistung erforderlichen gelabelten Daten reduzieren, aber es kann auch zu Fehlern und Verzerrungen im Modell führen.
Aus diesem Grund ist das Labeln von Sprachdaten entscheidend für die Erstellung des perfekten Modells für Ihren Anwendungsfall. Anhand von gelabelten Sprachdaten können die trainierten Modelle eine genauere und robustere Repräsentation der gesprochenen Sprache erlernen, mit der sie konfrontiert werden, und Fehler reduzieren: Wortfehlerrate (WER) und Zeichenfehlerrate (CER).
Dieser Blogbeitrag befasst sich mit den verschiedenen Arten von Sprachdaten, Etikettierungsmethoden, Qualitätskontrolltechniken und Annotationsformaten, die zum Trainieren von ASR-Modellen verwendet werden. Also, lassen Sie uns loslegen und in die Sprachdatenbeschriftung eintauchen!
Sprachdaten können in verschiedenen Formen vorliegen, und jeder Typ stellt besondere Anforderungen an die Etikettierung. Hier sind einige der häufigsten Arten von Sprachdaten:
Jede Art von Sprachdaten stellt besondere Anforderungen an die Beschriftung. Spontane Sprache kann zum Beispiel mehr Kontextinformationen erfordern, um genau transkribiert zu werden, während gelesene Sprache mehr Detailgenauigkeit erfordert, um bestimmte Wörter oder Phrasen zu erfassen. Bei Konversation kann es erforderlich sein, den Sprecher zu identifizieren und die Redebeiträge zu notieren, um zwischen den Sprechern zu unterscheiden.
Es ist wichtig, die Art der verwendeten Sprachdaten zu verstehen, um eine geeignete Etikettierungsmethodik zu entwickeln. Darüber hinaus kann ein vielfältiger Satz von Sprachdatentypen die Robustheit und Genauigkeit von ASR-Modellen verbessern.
Um Daten beschriften zu können, müssen Sie zunächst sicherstellen, dass sie in einem geeigneten Format vorliegen. In diesem Blog-Beitrag werden wir nicht auf die Datenerfassung eingehen, sondern damit beginnen, was zu tun ist, wenn die Daten verfügbar sind und Sie Ihr Modell verfeinern möchten. Es gibt verschiedene Schritte, die berücksichtigt werden müssen.
*Wenn wir "Format" in seiner für Ingenieure gebräuchlichsten Bedeutung nehmen:
Hörproben.wav und .mp3 sind die gängigsten Formate für Audiosamples, die mit den meisten Python-Audiobibliotheken und Kommentarsoftware kompatibel sind.
Transkriptionen: Das JSON-Schema ist Ihr Freund. Das genaue Format variiert je nach verwendeter Kommentarsoftware
Die Vorverarbeitung durch Sprechertagebuchführung ist für die Inferenz mit Modellen wie wav2vec 2.0 nach wie vor erforderlich. Andernfalls erhalten Sie am Ende das Transkript mit beiden Sprechern in einem Textblock.
Whisper bietet zwar eine Sprechertagebuchfunktion, aber keine Sprecherzuordnung, d. h., Sie erhalten separate Sprachblöcke in der Ausgabe, wissen aber nicht, zu wem sie gehören.
Daher ist es ratsam, sowohl für die Feinabstimmung als auch für die Inferenz von wav2vec 2.0 und Whisper die Diarisierung der Sprecher zu verwenden. Wenn noch keine Daten gesammelt wurden, können Sie die verschiedenen Sprecher auf verschiedenen Kanälen aufzeichnen lassen (z. B. wenn die Eingangsquelle ein Telefongespräch ist), um den Diarisierungsschritt auszulagern und bessere Ergebnisse zu erzielen. Wenn dies nicht möglich ist, ist Simple Diarizer in der Regel das Tool Ihrer Wahl, aber Sie können unseren Blog über die Diarisierung von Sprechern lesen, der Ihnen hilft, das optimale Tool für Ihre Daten zu finden.
Etikettierer werden es Ihnen danken, wenn sie Schnipsel von Audiodateien kommentieren müssen, anstatt ein ganzes 5-minütiges Telefongespräch auf einmal. Whisper ist auf Datenpakete von 30 Sekunden Länge abgestimmt, wav2vec 2.0 auf 10 Sekunden. Sie können beschriftete Daten verwenden, die in kürzere (oder längere) Schnipsel geschnitten sind, die dann aber vom Finetuning-Skript entsprechend aufgefüllt (oder abgeschnitten) werden. Die optimale Länge für die Beschriftung liegt unserer Erfahrung nach zwischen 5s und 8s.
Es ist ratsam, Ihre Audiodaten nicht von Stille oder Hintergrundgeräuschen (wie Musik oder Husten) zu bereinigen, da Ihr Modell auch lernen muss, mit Rauschen und dem Fehlen von Sprache umzugehen. Sie möchten nicht, dass das Modell mit künstlich sauberen Daten verfeinert wird. Was es jetzt sieht, sollte es auch später bekommen.
Um Ihr Modell robuster zu machen, können Sie in Erwägung ziehen, Ihre Stichproben zu erweitern, um die Vielfalt und Menge Ihres Datensatzes zu erhöhen, indem Sie aus vorhandenen Daten künstlich neue Daten erzeugen. Dies kann besonders bei unterrepräsentierten Akzenten oder Dialekten nützlich sein. Folgende Techniken können für die Erweiterung von Sprachdaten verwendet werden:
Diese Techniken können einzeln oder in Kombination verwendet werden, können aber die Qualität Ihres Datensatzes verringern oder dem Modell unerwartetes Verhalten beibringen.
Die Etikettierung von Sprachdaten kann zeit- und arbeitsaufwändig sein, und es gibt mehrere Methoden für diese Aufgabe. Jede Methode hat Vor- und Nachteile, und die geeignete Methode hängt von der Größe des Datensatzes, der Komplexität der Sprache und den verfügbaren Ressourcen ab. Im Folgenden werden die beiden gängigsten Etikettierungsmethoden für Sprachdaten vorgestellt, die eine manuelle Etikettierung beinhalten:
Je nach Bedarf können Sie Metadaten wie z. B. die folgenden hinzufügen:
Diese Informationen können ASR-Modelle mit mehr Kontextinformationen versorgen, die ihnen helfen, Sprachdaten besser zu verstehen und zu transkribieren und die Leistung des Modells anhand verschiedener Merkmale zu bewerten.
Für die Beschriftung von Sprachdaten gibt es viele Tools und Software, von einfachen Texteditoren bis hin zu spezieller Annotationssoftware. Bei ML6 lieben wir Label Studio, das die meisten Anpassungsmöglichkeiten und ausgefeilten Funktionen für viele Bereiche bietet. Es bietet unter anderem die folgenden Funktionen:
Anmerkungssoftware wie Label Studio erleichtert die Beschriftung mit zusätzlichen Informationen wie Metadaten. Es kann auch eine Verbindung zu Ihrer Datenbank herstellen, um die Audioschnipsel (und Vortranskriptionen) abzurufen und die Transkriptionen mit Metadaten (als JSON) zu speichern. Label Studio ermöglicht auch eine iterative Trainingsschleife, die die von Menschen annotierten Daten verwendet, um die Vortranskriptionen für die noch zu etikettierenden Proben zu verbessern. Ein Blog über die Beschriftung von Audiodaten mit Label Studio finden Sie hier.
Unabhängig davon, für welches Instrument und welche Methode man sich entscheidet, sind ein Kennzeichnungsleitfaden, eine praktische Schulung und eine Fehleranalyse von entscheidender Bedeutung, um die Konsistenz und Genauigkeit der Daten zu gewährleisten (unabhängig vom Bereich Ihrer Daten):
Eine Anleitung zur Beschriftung muss erklären, wie die gewählte Software zu verwenden ist. Er enthält klare Anweisungen zur Annotation verschiedener Aspekte der Sprache, wie Sprecheridentifikation, Transkription und Metadaten. Dies trägt dazu bei, dass alle Kommentatoren verstehen, was von ihnen erwartet wird, und dass die Annotationen von verschiedenen Kommentatoren konsistent sind.
Die Etikettierung von Sprachdaten erfordert einen umfangreichen Abgleich zwischen den Etikettierern. Sie müssen sicherstellen, dass diese Etikettierer bei der Kennzeichnung von Zahlen ("1" versus "eins"), Großschreibung ("ich trinke Kaffee" versus "ich trinke Kaffee"), Sonderzeichen ("größer" versus "groesser"), Abkürzungen ("fe" versus "f.e." versus "zum Beispiel" oder "ML6" versus "Em El Six"), Interpunktion, unterbrochenen Wörtern am Anfang oder Ende einer Probe ("" versus "good-" versus "goodbye"), Füllwörtern ("euhm") und vielen anderen konsistent bleiben. Die Aufnahme einer Liste mit bereichsspezifischen Wörtern (= Jargon) in den Beschriftungsleitfaden ist ebenfalls ratsam. Darüber hinaus ist es von entscheidender Bedeutung, dass die Annotatoren sich untereinander absprechen, um sicherzustellen, dass sie den Beschriftungsleitfaden einheitlich anwenden. Inter-Rater-Übereinstimmung ist die Übereinstimmung zwischen den Annotatoren bei der Kennzeichnung derselben Sprachdaten, die mit Cohen's Kappa auf Wort- und Zeichenebene der Annotationen berechnet werden kann. Die Ermittlung von Übereinstimmungen zwischen den Bewertern kann dazu beitragen, Diskrepanzen oder Unstimmigkeiten zwischen den Bewertern zu erkennen und zu beseitigen, wodurch die Gesamtgenauigkeit und Zuverlässigkeit der gelabelten Sprachdaten verbessert wird.
Es wird außerdem empfohlen, einen praktischen Workshop abzuhalten, in dem die Beschriftungssoftware vorgestellt wird. Einige Proben werden von allen Annotatoren beschriftet, um sicherzustellen, dass alle die gleichen Ergebnisse erhalten. Fragen können direkt angesprochen werden, und es kann ein Konsens für Grenzfälle gefunden werden, der ggf. im Etikettierungshandbuch ergänzt oder weiter erläutert wird.
Während des Etikettierungsprozesses sollte regelmäßig eine Fehleranalyse durchgeführt werden: Sammeln Sie eine repräsentative Stichprobe der etikettierten Sprachdaten, identifizieren Sie die Arten von Fehlern oder Inkonsistenzen, kategorisieren Sie sie, bestimmen Sie ihre Häufigkeit und analysieren Sie die zugrunde liegenden Ursachen. Der Beschriftungsleitfaden sollte entsprechend überarbeitet und die Annotatoren sollten zusätzlich geschult werden. In einigen Fällen ist es notwendig, auf ein anderes Etikettierungswerkzeug oder eine andere Methode umzusteigen.
Weitere Einzelheiten finden Sie im Abschnitt "Datenkennzeichnung" eines anderen Blogbeitrags, den wir hier verfasst haben.
Zusammenfassend lässt sich sagen, dass die Kennzeichnung von Sprachdaten für die Entwicklung präziser und robuster ASR-Modelle entscheidend ist. Mit gelabelten Sprachdaten können vortrainierte Modelle eine genauere und robustere Darstellung der gesprochenen Sprache erlernen, wodurch Rechtschreibfehler reduziert und die Gesamtleistung des Modells verbessert werden können. Die Etikettierung von Sprachdaten kann jedoch zeit- und arbeitsaufwändig sein, und es stehen mehrere Methoden und Tools zur Verfügung.
Die Wahl der geeigneten Etikettierungsmethodik und Qualitätskontrollmaßnahmen ist je nach Art der verwendeten Sprachdaten und der verfügbaren Ressourcen von entscheidender Bedeutung. Darüber hinaus können eine Vielzahl von Sprachdatentypen und die Einbeziehung von Metadateninformationen die Robustheit und Genauigkeit von ASR-Modellen verbessern.
Schließlich können eine regelmäßige Fehleranalyse und die Überarbeitung des Etikettierungsleitfadens die Konsistenz und Genauigkeit der etikettierten Sprachdaten sicherstellen. Mit den richtigen Tools, Methoden und Qualitätskontrollmaßnahmen können Sie Ihren Weg zu genauen und robusten ASR-Modellen beschriften.
Bleiben Sie dran für weitere Blog-Beiträge über ASR, wie z.B. die Optimierung des Hostings von Whisper oder die Feinabstimmung der Software!