语音识别任务中的文本规范化

解决与语音识别(Speech-To-Text)和语音生成(Text-To-Speech)有关的任务时,重要的是,笔录要与说话者所说的相符-即真实的口头语言。这意味着在书面讲话成为我们的笔录之前,需要对其进行规范化


换句话说,文本需要通过几个步骤完成:


  • 用数字代替数字:1984 -> 1984年
  • 缩写的解释:2 . -> 仇恨两分钟
  • 拉丁语转录:Orwell-> 等。

正常化


在本文中,我将简要讨论俄语Open_STT数据集中的规范化如何发展,使用了哪些工具以及我们如何执行此任务。


就像蛋糕上的樱桃一样,我们决定将基于seq2seq的规范化器置于公共领域:指向github链接它使用起来尽可能简单,并通过一种方法调用:


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

>>> '      '

有关任务的更多信息


, , ? , . , .


, , :


  • 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 , "" , :


  • — ;
  • — ;
  • , — ;

注意


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