Textnormalisierung bei Spracherkennungsaufgaben

Bei der Lösung von Aufgaben im Zusammenhang mit der Spracherkennung (Speech-To-Text) und der Erzeugung (Text-To-Speech) von Sprache ist es wichtig, dass das Transkript dem entspricht, was der Sprecher gesagt hat - dh der echten gesprochenen Sprache. Dies bedeutet, dass geschriebene Sprache , bevor sie zu unserem Transkript wird, normalisiert werden muss .


Mit anderen Worten, der Text muss in mehreren Schritten erstellt werden:


  • Ersetzen der Zahl in Worten: 1984 -> eintausendneunhundertvierundachtzigstes Jahr ;
  • Erklärung der AbkĂĽrzungen: 2 . -> zwei Minuten Hass ;
  • Lateinische Transkription: Orwell-> etc.

Normalisierung


In diesem Artikel werde ich kurz darauf eingehen , wie sich die Normalisierung im Datensatz der russischen Sprache Open_STT entwickelt hat , welche Tools verwendet wurden und wie wir die Aufgabe angehen.


Wie eine Kirsche auf einem Kuchen haben wir beschlossen, unseren auf seq2seq basierenden Normalisierer öffentlich zugänglich zu machen: einen Link zu Github . Es ist so einfach wie möglich zu bedienen und wird mit einer Methode aufgerufen:


norm = Normalizer()
result = norm.norm_text(' 9  11   whiskas')

>>> '      '

Mehr zur Aufgabe


, , ? , . , .


, , :


  • 2 — (), . 2 — ;
  • 2 — , 2 — ;
  • 2 — , 2 — ;
  • = 2/5 — , . 2/5 — — .

: - ( — ) ( — ?). , , . .



. - . , , ~20% , ~80% .


Open_STT : — . STT , - 2020 , .


. 2020 . "" — .


Sequence to Sequence


- , sequence-to-sequence (seq2seq) . , seq2seq , "" , :


  • — ;
  • — ;
  • , — ;

Beachtung


attention "5 ". , "" "5", "".

seq2seq PyTorch . — . + + + , — + .


— , . ( , ) .


, :



TorchScript


, , Torchscript.


TorchScript — PyTorch, Python C++.


, PyTorch :


  1. , TorchScript , ;
  2. torch.jit.script ( torch.jit.trace), .

, , , , . , : , .. .



, . , .


  • norm.norm_string(" — — 27 38 %.")

' — — .'


  • norm.norm_string(" 22 1939 ")

' '


  • norm.norm_string(" «The Crying Game»")

' « »'


  • norm.norm_string(" XVIII ")

' '


  • norm.norm_string(" 2012 6,6 ")

All Articles