开发 | Kaldi集成TensorFlow,两个开源社区终于要一起玩耍了

AI科技评论按:自动语音识别(Automatic speech recognition,ASR)领域被广泛使用的开源语音识别工具包 Kaldi 现在也集成了TensorFlow。这一举措让Kaldi的开发者可以使用TensorFlow来部署他们的深度学习模块,同时TensorFlow的用户也可以更为方便地使用Kaldi的各种经验。

一、传统ASR有哪些问题?

建立一个可以在各种语言、口音、环境和对话类型中理解人类语言的ASR系统,是一项非常复杂的任务。传统的ASR系统是将许多单独的模块集成一个流水线,其中每个模块都在前一个模块的输出上进行。原始音频数据从一端进入,然后从另一端输出识别语音转录内容。典型的基于统计模式识别方法的语音识别系统一般会由信号处理及特征提取模块、声学模块、发音词典、语言模块和解码器等组成。在Kaldi工具包中,为了支持越来越多的终端用户应用程序,集成了更多的模块。

在过去几年里,随着深度神经网络的发展,许多现有的ASR模块都被深度神经网络所取代,这种取代使得单词识别精度得到很大的提高。但是在开发生产级的ASR系统时,仍然有许多问题需要克服:

  • 算法——深度学习算法在一些问题,例如声学环境(噪声)、特定语言发音、词汇范围等方面能够给出非常好的结果,但部署的过程中并不总是能很好的适应;
  • 数据——构建不同语言、不同声学环境的ASR系统需要大量的多种类型的数据,但我们可能没有恰好需要的这种数据。
  • 规模——一般能支持大量使用和许多种语言的ASR系统,通常会耗费大量的计算。

我们以ASR系统中的语言模块来说。语言模块是大多数先进的ASR系统的关键部分,他们主要依靠统计模型来揭示语言单元的内在统计规律,为整个系统提供了语言背景,有助于预测正确的单词序列,并且能够区分听起来相似的单词。随着近来机器学习方面的突破,语音识别开发人员正在使用基于深度学习的语言模型,被称为神经语言模型。这种神经语言模型的结果相比传统统计方法有显著的提升。但神经语言模型的训练和部署都是极为复杂且非常耗时的。

二、将 TensorFlow 集成到 Kaldi 中

总部位于西雅图的IntelligentWire公司是一家通过云软件来弥合实时手机通话和业务应用之间差距的公司。他们的目标就是将企业代表与客户进行的数千次对话内容实时分析和处理,并自动处理数据输入和响应请求等任务。为了使ASR系统在这种情况下有用,就必须保证它能以非常低的延迟、提供非常准确的转录,并且计算规模不能很大以有效地支持数千个并发对话。在这种需求下,IntelligentWire公司的Yishay Carmiel和Hainan Xu带领的两支团队意识到这些困难,并共同合作完成了Kaldi和TensorFlow的集成。

将TensorFlow集成到Kaldi后,他们对ASR的开发周期减少了一个数量级。例如上面所说的语言模块,如果将TensorFlow应用到这个模块,那么从模型道概念验证可能只需要几天,而不是几个星期;对于整个ASR系统,开发周期也从几个月减少到了几个星期。此外,TensorFlow的集成也使Kaldi所需要的数据大为简化。

将TensorFlow作为一个模块集成到Kaldi中,对于Kaldi研发人员来说,好处是巨大的。同样的,这种集成也让TensorFlow的开发人员能够轻松地访问强大的ASR平台,并且能够将现有的语音处理流程(如Kaldi强大的声学模型)纳入到机器学习应用程序中。Kaldi中的那些用于培训TensorFlow模型的模块可以不影响整体地进行替换,这对于扩展极为方便。此外,现在已经用到生产中的Kaldi系统可以用来评估这个集成模型的质量。

我们希望Kaldi-TensorFlow的集成能够将这两个充满活力的开放源码的开发社区更加贴近,共同支持各种新的基于语言的产品和研究的突破。

AI科技评论注——

集成模型代码:https://github.com/kaldi-asr/kaldi

示例:

https://github.com/kaldi-asr/kaldi/tree/master/egs/ami/s5/local/tfrnnlm

本文为AI科技评论根据谷歌开发者Raziel Alvarez的博客《Kaldi now offers TensorFlow integration》整理而成,Alvarez是谷歌的研究工程师,IntelligentWire的创始人。

原文发布于微信公众号 - AI科技评论(aitechtalk)

原文发表时间:2017-09-04

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏顾宇的研习笔记

《如何高效学习》读书笔记

《如何高效学习》是斯科特·杨 总结自己学习经验和方法的一本手册。他用一年的时间自学完成了 MIT 公开课上正常情况下需要四年才能修完的计算机科学的 33 门课程...

862
来自专栏机器学习算法与Python学习

全面解析今日头条大数据算法原理(附PPT&视频)

1493
来自专栏数据科学与人工智能

【数据】作为数据科学家应该学习的第一件事

根据30年的商业经验,下面的列表是我认为首先应该在数据科学课中讲授的(非全面的)内容选择。 这是我文章的后续内容为什么Logistic回归应该最后讲解。

640
来自专栏PPV课数据科学社区

入行AI最需要的五大技能

摘要: 作为一名软件工程师,我们应该活到老学到老,时刻与不断发展的框架、标准和范式保持同步。同时,还要能活学活用,在工作中使用最合适的工具,以提高工作效率。随着...

4247
来自专栏AI研习社

给数据科学家的 Python 3 指导;简单 chatbot 代码实现| Github 项目推荐

Minigo —— 用纯 Python 实现的神经网络围棋 AI ? Github:https://github.com/tensorflow/minigo...

3058
来自专栏机器之心

学界 | IBM Watson提出人机推理网络HuMaINs,结合人机两者优势

3135
来自专栏大数据文摘

用Python进行数据可视化的10种方法

3295
来自专栏大数据文摘

Github上的10大机器学习项目

1746
来自专栏云时之间

深度学习的应用总结(翻译)

原文地址:https://en.wikipedia.org/wiki/Intelligent_personal_assistant 当首次介绍深度学习时,我们...

2866
来自专栏熊二哥

项目管理深入理解09--干系人管理

项目干系人部分内容比较简单,与沟通管理章节联系紧密。但在实际的项目运作中,这一部分可以说是最重要的了,因为所谓管理,就是对人的管理。规章制度是死的,是刚性的,这...

1846

扫码关注云+社区