- Um das Üben chinesischer Aussprache und Töne zu unterstützen, wurde ein CTC-basiertes Sprachmodell mit 9M Parametern selbst entwickelt und mit rund 300 Stunden Sprachdaten trainiert
- Es verwendet eine Conformer-Encoder-Struktur, um sowohl lokale Sprachmerkmale als auch globalen Kontext zu erfassen, und kann durch Tokenisierung in Pinyin+Ton-Einheiten Aussprachefehler klar unterscheiden
- Mit CTC-Loss wird auf Frame-Ebene bewertet, was der Nutzer tatsächlich ausgesprochen hat, und mit dem Viterbi-Algorithmus eine zeitliche Ausrichtung durchgeführt
- Selbst nach der Verkleinerung des Modells von 75M auf 9M gab es kaum Genauigkeitsverlust; nach INT8-Quantisierung ist es mit etwa 11 MB sogar direkt im Webbrowser ausführbar
- Die browserbasierte Demo zeigt das Potenzial eines On-Device-Systems zur Aussprachekorrektur, wobei eine Verbesserung der Datenqualität der Schlüssel für weitere Leistungssteigerungen ist
Überblick über das Modell zur Aussprachebewertung
- Um die Schwierigkeiten beim Lernen der chinesischen Aussprache zu lösen, wurde ein kompaktes Sprachmodell zum Bewerten der Aussprache selbst trainiert
- Verwendet wurden etwa 300 Stunden transkribierter Sprachdaten (AISHELL-1, Primewords)
- Bereitgestellt in einer Form, die direkt im Browser ausgeführt werden kann
- Bestehende Pitch-Visualisierungsmethoden erwiesen sich wegen Rauschen und Unterschieden in der Sprechweise als instabil; ein datenbasierter Ansatz war effektiver
- Ziel war die Umsetzung eines On-Device Computer-Assisted Pronunciation Training (CAPT)-Systems ohne kommerzielle API
Modellarchitektur und Trainingsverfahren
- Verwendet wird eine Struktur aus Conformer-Encoder + CTC-Loss
- CNN erfasst akustische Merkmale in kurzen Zeitfenstern (z. B. zh vs z)
- Transformer verarbeitet kontextuelle Tonmuster (z. B. tone sandhi)
- Das CTC-Verfahren gibt Wahrscheinlichkeitsverteilungen pro Frame aus und bewertet so direkt die tatsächlich ausgesprochenen Phoneme
- Das ``-Token wird genutzt, um Wiederholungen und Leerstellen auszurichten
- Ohne automatische Korrektur wird genau das wiedergegeben, was tatsächlich ausgesprochen wurde
Tokenisierung und Alignment
- Pinyin+Ton-Kombinationen werden als einzelnes Token definiert
- Beispiel:
zhong1 und zhong4 sind unterschiedliche Tokens
- Der neutrale Ton wird einheitlich als Ton 5 (
ma5) behandelt
- Insgesamt 1.254 Tokens +
,
- Mit dem Viterbi-Algorithmus wird der optimale Pfad zwischen Sprach-Frames und Tokens berechnet
- Beispiel: Bei der Aussprache von „Nǐ hǎo“ werden die Bereiche für
ni3 und hao3 getrennt
Modellverkleinerung und Leistung
- Das ursprüngliche Modell mit 75M Parametern wurde auf 9M verkleinert
- 75M: TER 4,83 %, Tone Accuracy 98,47 %
- 9M: TER 5,27 %, Tone Accuracy 98,29 %
- Der Genauigkeitsverlust war minimal, was darauf hindeutet, dass es sich um eine datengebundene (data-bound) Aufgabe handelt
- Das FP32-Modell (37 MB) wurde per INT8-Quantisierung auf 11 MB reduziert
- Über
onnxruntime-web kann es direkt im Browser geladen werden
Alignment-Fehler und Korrekturen
- Stille Abschnitte verzerrten die Aussprachebewertung
- Beispiel: Vor der Aussprache von „我喜欢…“ wurde 1 Sekunde Stille fälschlich
wo3 zugeordnet, was zu 0 Punkten führte
- Lösung: Stille Frames bei der Punktberechnung ausschließen
- Frames mit einer ``-Wahrscheinlichkeit von 0,7 oder höher werden herausgefiltert
- Nach der Korrektur verbesserte sich der Konfidenzwert der ersten Silbe von 0,0 auf 0,99
Ergebnisse und Grenzen
- Im Betatest war ein Effekt der Aussprachekorrektur spürbar
- Das Modell bewertet sehr streng
- Bei Muttersprachlern und Kinderstimmen sinkt die Genauigkeit
- Die AISHELL-Daten bestehen überwiegend aus vorgelesener Sprache, daher gibt es Unterschiede bei Tempo und Intonation
- Künftig müssen gesprochensprachliche Daten wie Common Voice ergänzt werden
- Die Web-Demo ist etwa 13 MB groß und bietet eine vollständige Aussprachekorrektur bei einer Dateigröße, die kleiner ist als die der meisten Websites
Noch keine Kommentare.