解决与语音识别(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 :
- , TorchScript , ;
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 ")