开发 | 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 条评论
登录 后参与评论

相关文章

来自专栏人工智能头条

推荐算法不够精准?让知识图谱来解决

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

【应用】信用评分:第6部分 - 分割和拒绝推断

多少个评分卡? 标准是什么? 最佳做法是什么? - 是我们试图在评分卡开发早期回答的常见问题,从识别和证明评分卡数量的过程开始 - 称为分割。

1060
来自专栏智能算法

深度学习入门之工具综述

原文:Getting Started with Deep Learning: A REVIEW OF AVAILABLE TOOLS 作者: MATTHEW R...

33213
来自专栏AI科技大本营的专栏

​产品经理如何学机器学习——一篇以产品为中心的机器学习概论

我现在常常听说产品负责人/经理、技术经理和设计师通过网上课程学习机器学习。我一直鼓励这种做法——实际上,我本人曾学习过那些课程(并且在博客上发表了相关内容)。 ...

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

AI时代就业指南:如何成为一名优秀的算法工程师?

1、算法工程师是做什么的? 广义上是指搞软件算法的,也就是开发和应用软件算法实现工业控制和程序处理。除了机器学习之外 还包括控制算法、图形算法等,狭义上现在谈算...

3748
来自专栏人工智能

如何用机器学习满足产品需求

关于机器学习有太多的文章介绍了,如果还对机器学习一知半解的可以参考一下其他文章,我的其他文章中也有简单介绍了机器学习。本文主要介绍机器学习的应用以及我们如何使用...

1881
来自专栏人工智能的秘密

如何才能成为一名自然语言处理工程师?

自然语言处理和大部分的机器学习或者人工智能领域的技术一样,是一个涉及到多个技能、技术和领域的综合体。

3555
来自专栏AI科技评论

学界 | 清华与迈阿密大学独家解析:更新了朋友圈和微博动态,好友何时会点赞评论?

AI科技评论按:本文由清华大学媒体与网络实验室以及迈阿密大学物理系共同合作完成,作者包括:余林韵(清华大学计算机系博士生,已毕业加入今日头条人工智能实验室)、崔...

33912
来自专栏人工智能头条

如何成为一名自然语言处理工程师

1493
来自专栏DT数据侠

你发的每一条微博,背后都有一个人工智能

微博是很多人最常使用的社交平台。吐槽、追星、发自拍、看视频、开直播等,如今微博的内容和互动形式越来越多元化。由此累积下来的庞大数据和复杂的用户互动场景,也让人工...

630

扫描关注云+社区