algorithm - 为什么语音识别困难?

标签 algorithm theory speech-recognition

<分区>

为什么语音识别这么难?涉及哪些具体挑战?我读过 question on speech recognition ,它确实部分回答了我的一些问题,但答案主要是轶事而非技术。它也仍然没有真正回答为什么我们仍然不能仅仅投入更多硬件来解决这个问题。

我见过使用神经网络和环境 FFT 分析执行自动降噪的工具,并取得了出色的结果,所以我看不出我们仍在与噪音作斗争的原因,除非在困难的情况下,例如可笑的大声背景噪音或多个语音源。

除此之外,这不就是使用非常庞大、复杂、训练有素的神经网络来进行处理,然后将硬件投入其中以使其足够快地工作吗?

我知道浓重的口音是个问题,而且我们都有自己的口语化,但当一个人以缓慢而清晰的美国或英国口音说话时,这些识别引擎仍然会犯基本的错误。

那么,这是怎么回事?是什么技术问题让计算机仍然难以理解我?

最佳答案

一些技术原因:

  • 您需要大量标记的训练数据,一旦您考虑到所有不同的口音、声音等,这些数据就很难获得。
  • 神经网络和类似的梯度下降算法不能很好地扩展 - 只是让它们变大(更多层、更多节点、更多连接)并不能保证它们会学会解决您的问题在合理的时间内。扩大机器学习以解决复杂任务仍然是一个尚未解决的难题。
  • 许多机器学习方法需要标准化数据(例如定义的起点、标准间距、标准速度)。一旦您超出这些参数,它们就无法正常工作。有卷积神经网络等技术来解决这些问题,但它们都增加了复杂性并且需要大量的专家微调。
  • 语音的数据量可能非常大 - 数据量使工程问题和计算要求更具挑战性。
  • 语音数据通常需要在语境中解释才能完全理解 - 人脑非常擅长根据理解的语境“填空”。缺失的信息和不同的解释在其他方式(如视觉)的帮助下得到填补。当前的算法不“理解”语境,因此它们不能使用它来帮助解释语音数据。这尤其成问题,因为除非结合上下文,否则许多声音/单词都是模棱两可的。

总的来说,语音识别是一项复杂的任务。不是无法解决,而是足够困难,你不应该期待任何突然的奇迹,它肯定会让许多研究人员忙碌很多年......

关于algorithm - 为什么语音识别困难?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8382023/

相关文章:

c++ - 919B |第n个数字的总和为10 |代码部队

objective-c - 定义新的根类有哪些用例?

database - 数据库可以在不属于 1NF 的情况下属于 2NF 吗?

java - 降低此方法的 boolean 表达式复杂度?

java - 如何为任何给定坐标找到正确的邻居?

algorithm - 如何实现 Instagram 照片滤镜?

sql - 一对一关系的数据库设计

android - 保存 Android Stock 语音识别引擎的音频输入

java - java sphinx程序中的错误

neural-network - i-vector 和 d-vector 的区别