Tags: ASR, NLP, OneDrive 文件共享, PSTN, RNN, STT, VoIP 电话, VoIP 电话服务, 企业电话号码, 企业电话系统, 免费在线白板, 协作工具, 团队协作, 在线会议, 安全的消息传递, 序列标注, 数字白板, 最佳的消息传递应用, 机器学习, 消息应用, 深度学习, 群聊
自动语音识别 (ASR) 系统提供文本转录。通常,是一连串的词。思科使用 ASR 系统在 Webex 会议中提供实时隐藏式字幕。出现的一个问题是,在没有标点符号和大写字母的情况下,可能很难阅读字幕。理解文本含义的能力会因标点符号而改变。设想以下词语序列,其中包含两个标点符号选项:
“谢谢你你的捐款刚刚帮助某人找到了工作”。
选项 A:“谢谢你!你的捐款刚刚帮助某人找到了工作。”
选项 B:“谢谢你!你的捐款帮助了某人。找到一份工作。”
一个标点符号产生了很大的不同。
我们将介绍构建后处理系统时的几个注意事项:
一些经典的基于 n-gram 的方法 [1] 具有相对较好的质量。然而,它们也有其缺点。尽管 n-gram 模型具有快速推理功能,但根据语言词汇量的不同,即使是 3-gram 模型也会占用几千兆字节的磁盘空间。另一个缺点是对词汇表以外的词语的处理。如果一个词语没有出现在训练数据中,那么模型就不能以常规的方式处理它,准确性就会下降。现代方法使用有效但计算密集型技术,如双向 RNN [3] 或基于注意力和变换器的神经网络架构 [2]。这些模型有很高的准确性 [2],但可能不太适合实时流媒体用例,因为它们需要全部的输入序列来运行推理。例如,如果双向 RNN 只有一个新的输入标记,则需要更新模型先前看到的所有标记的隐藏状态(图 1)。
直觉感知和实验表明,在构建标点符号模型时,考虑未来的语境是非常重要的,因为在不知道后面几个词语的情况下,很难确定当前位置的标点符号。为了使用关于下一个标记的信息,而不是被迫为后退方向的所有标记更新所有的隐藏状态,我们决定将后退方向截断为一个固定的窗口。在前进方向上,它只是一个普通的 RNN。在后退方向上,我们只考虑每个标记的一个固定窗口,在这个窗口上运行 RNN(图 2)。利用这个窗口,我们可以实现对新输入标记的恒定时间推理(在前进方向上我们需要计算一个隐藏状态,在后退方向上需要计算 n+1 个隐藏状态)。
该架构由嵌入层、TruncBiGRU 和单向 GRU 层以及全连接层组成。对于输出,我们使用两个 softmax 层,分别用于标点符号和大写字母(图 3)。
句号 – 句子中间的句号,并不一定意味着下一个词语要大写(“a.m.”、“D.C.”等)
逗号
问号
省略号
冒号
破折号
句末句号 – 句子末尾的句号
对于大写,我们分为四类:
小写
大写 – 所有字母均大写(“IEEE”、“NASA”等)
大写
大小写混合 – 如单词“iPhone”
首字母大写 – 句子开头的单词
额外的类别“首字母大写”和“句末句号”乍一看可能是多余的,但它们有助于提高与大写和标点符号有关的答案的一致性。“句末句号”意味着下一个大写字母的答案不能是“小写”,而“首字母大写”意味着前面的标点符号是一个“句尾句号”或问号。这些类别在损失函数中起着重要作用。损失函数:我们需要同时优化大写字母和标点符号。为此,我们使用一个带系数的对数损失函数之和: 然而,如前所述,神经网络的输出可能不是完全相关的。例如,标点器可能预测当前词语的“句末句号”,而大写器却没有预测下一个标记的“首字母大写”。这种类型的错误虽然很少见,但可能很醒目。为了处理这个问题,我们在损失函数中使用一个额外的惩罚项来惩罚这种类型的错误:
第一个项对应的是在非“句末句号”后出现“首字母大写”的概率,第二个项对应的是在“句末句号”后没有“首字母大写”的概率。这个惩罚对发生错误的标记求和。此外,我们将前一层的两个连续的张量传递给 softmax 层。鉴于此,我们可以有效地减少惩罚项。最后,我们得到损失函数:
对于训练,我们使用 Webex 内部会议的文本转录和维基百科的文本数据。首先,对训练数据进行清理,并将其分割成句子。在训练过程中,每个样本由连续的句子生成,并从固定的分布截取到随机长度。这使得模型可以在训练过程中看到裁剪好的短语,从而使模型可以在推理过程中处理中间结果。接下来,我们在大约 300 兆字节的维基百科文本上训练一个模型,然后在 Webex 会议转录上对其进行微调。对维基百科文本的预训练有助于改善所有的标点符号类别,同时对大写字母类别尤其有用。我们猜测这是由于维基百科语料库中存在大量的专有名词。我们将相同的数据准备应用于我们的评估集,将句子连接起来,并将它们截断为随机长度。这使我们能够衡量我们可能在临时转录状态中看到的内容的准确性。
使用相对简单的技术和架构的一些定制,例如截断的 GRU 和损失函数中的额外惩罚,我们构建了一个可以在线运行的模型。通过实时的标点符号和大写字母,实时字幕的阅读体验得到了明显改善。参考资料 [1] A. Gravano, M. Jansche, and M. Bacchiani, “Restoring punctuation and capitalization in transcribed speech,” in ICASSP 2009, 2009, pp. 4741–4744. [2] Monica Sunkara, Srikanth Ronanki, Kalpit Dixit, Sravan Bodapati, Katrin Kirchhoff, “Robust Prediction of Punctuation and Truecasing for Medical ASR” [3] Tilk, Ottokar & Alumäe, Tanel. (2016). Bidirectional Recurrent Neural Network with Attention Mechanism for Punctuation Restoration. 3047-3051. 10.21437/Interspeech.2016-1517. [4] Vardaan Pahuja, Anirban Laha, Shachar Mirkin, Vikas Raykar, Lili Kotlerman, Guy Lev “Joint Learning of Correlated Sequence Labelling Tasks Using Bidirectional Recurrent Neural Networks” [5] Wang, Peilu & Qian, Yao & Soong, Frank & He, Lei & Zhao, Hai. (2015). Part-of-Speech Tagging with Bidirectional Long Short-Term Memory Recurrent Neural Network. [6] Lita, Lucian & Ittycheriah, Abe & Roukos, Salim & Kambhatla, Nanda. (2003). tRuEcasIng. 10.3115/1075096.1075116. [7] https://github.com/google/sentencepiece 注册 Webex 访问我们的主页或直接联系我们,以获得帮助。点击此处详细了解 Webex 提供的产品和服务,并注册免费账户。