语音识别传统方法(GMM+HMM+NGRAM)概述
春节后到现在近两个月了,没有更新博客,主要是因为工作的关注点正从传统语音(语音通信)转向智能语音(语音识别)。部门起了个新项目,要用到语音识别(准备基于Kaldi来做)。我们之前做的传统音频已基本成熟,就开始关注在语音识别上了。对于我们来说,这是个全新的领域(虽然都是语音相关的,但是语音通信偏信号处理,传统语音识别方法偏概率统计),需要学习的知识很多,所以这段时间主要是在学习新知识了,主要学习了数学(高数/线性代数/概率统计,这应该算复习)、机器学习基础知识、深度学习、语音识别传统方法等。由于刚开始学,还没实践,有的还是一知半解。学的过程中也要有输出(把自己学的知识讲给组内其他同学听,并一起讨论,让大家都快速入门),这也能促进把学的东西掌握的更好。我花了两周的时间学习了语音识别的传统方法(主要学习方式是看文档和博客),基本上掌握了其方法,也做了PPT给组内同学讲(做PPT时用了一些博客上的图,谢谢这些博主,这里就不一一列举了)。今天就把这个PPT share出来,给也想入门语音识别的朋友做个参考。由于还没实践,有什么不太准确或不准确的地方还请指出。
语音识别传统方法主要分两个阶段:训练和识别,训练阶段主要是生成声学模型和语言模型给识别阶段用。传统方法主要有五大模块组成,分别是特征提取(得到每帧的特征向量),声学模型(用GMM从帧的特征向量得到状态,再用HMM从状态得到音素)、发音字典(从音素得到单词)、语言模型(从单词得到句子)、搜索解码(根据声学模型、发音字典和语言模型得到最佳文本输出),即从帧得到特征向量(特征提取干的话),从特征向量得到状态(GMM干的话),从状态得到音素(HMM干的话),从音素得到单词(发音字典干的活),从单词得到句子(语言模型干的活)。传统方法除了在特征提取上用到信号处理知识,其余全都是概率统计等知识,所以说语音识别和语音通信是两个完全不同的领域。
经过近十年的发展,语音识别已经从传统方法演进到基于深度学习的方法,识别率也有了质的提升,而且还在快速的演变中,现在商用的语音识别系统都是基于深度学习实现的。对于传统方法而言,只会出现在文章教材中了,但作为新手,在入门时学习它还是很有必要的。只有了解了传统方法再去学习深度学习方法,才知道深度学习方法是怎么样基于传统方法一步步演变的。下面就是我的PPT。




























语音识别传统方法(GMM+HMM+NGRAM)概述的更多相关文章
- HMM的概述(五个基本元素、两个假设、三个解决的问题)
一.五个基本元素 HMM是个五元组 λ =( S, O , π ,A,B) S:状态值集合,O:观察值集合,π:初始化概率,A:状态转移概率矩阵,B:给定状态下,观察值概率矩阵 二.两个假设 HM ...
- 三个小白是如何在三个月内搭一个基于kaldi的嵌入式在线语音识别系统的
前面的博客里说过最近几个月我从传统语音(语音通信)切到了智能语音(语音识别).刚开始是学语音识别领域的基础知识,学了后把自己学到的写了PPT给组内同学做了presentation(语音识别传统方法(G ...
- Atitit 语音识别的技术原理
Atitit 语音识别的技术原理 1.1. 语音识别技术,也被称为自动语音识别Automatic Speech Recognition,(ASR),2 1.2. 模型目前,主流的大词汇量语音识别系统多 ...
- GMM-HMM语音识别模型 原理篇
本文简明讲述GMM-HMM在语音识别上的原理,建模和測试过程.这篇blog仅仅回答三个问题: 1. 什么是Hidden Markov Model? HMM要解决的三个问题: 1) Likelihood ...
- 基于隐马尔科夫模型(HMM)的地图匹配(Map-Matching)算法
文章目录 1. 1. 摘要 2. 2. Map-Matching(MM)问题 3. 3. 隐马尔科夫模型(HMM) 3.1. 3.1. HMM简述 3.2. 3.2. 基于HMM的Map-Matchi ...
- kaldi的TIMIT实例一
TIMIT语音库是IT和MIT合作音素级别标注的语音库,用于自动语音识别系统的发展和评估,包括来自美式英语,8个地区方言,630个人. 每个人读10个句子,每个发音都是音素级别.词级别文本标注,16k ...
- 【Todo】【转载】深度学习&神经网络 科普及八卦 学习笔记 & GPU & SIMD
上一篇文章提到了数据挖掘.机器学习.深度学习的区别:http://www.cnblogs.com/charlesblc/p/6159355.html 深度学习具体的内容可以看这里: 参考了这篇文章:h ...
- 杂记:腾讯暑期实习 Web 后端开发面试经历
今天面试(一面)腾讯暑期实习 Web 后端开发,一言难尽. 第一部分,常规的自我介绍. 介绍完,面试官问我对人工智能有什么理解?深度学习和机器学习的区别?对调参有什么见解?语音识别中怎样运用了机器学习 ...
- kaildi讲解
转载声明:本文为转载文章 作者:ferb2015 原文地址:https://blog.csdn.net/eqiang8848/article/details/81543599 kaldi是一个开源的语 ...
随机推荐
- svg 高宽随父元素自适应
<html lang="en"> <head> <meta charset="UTF-8"> <meta name=& ...
- TabLayout下划线指示器自适应文字宽度
解决方案1: 更新design库到28.0.0-rc01 implementation 'com.android.support:design:28.0.0-rc01' 然后在TabLayout里设置 ...
- jsonModel使用
流弊的JSON数据模型框架 https://github.com/jsonmodel/jsonmodel 版本 1.3.0 如果你喜欢JSONModel,并且使用了它,请你: star一下 给我一些反 ...
- 命令行执行python模块时提示ImportError: No module named xxx
在pycharm中运行python文件没有问题,切换到cmd中是提示:ImportError: No module named xxx 原因: pycharm在运行时会把当前工程的所有文件夹路径都作为 ...
- VS2008安装“Visual Studio Web 创作组件”安装失败的解决方法
VS2008安装“Visual Studio Web 创作组件”安装失败的解决方法 今天在单位电脑安装VS2008,当安装到“Visual Studio Web 创作组件”时出现错误. 准备手动安装 ...
- 掷骰子DApp的实现
前言: DApp前些日子比较火, 这段时间有些低迷. 我也是后知后觉, 现在才接触一些, 这篇博文就当做DApp的初次印象吧. 本文要写的是基于智能合约的博彩游戏DApp—骰子游戏, 来看看它是怎 ...
- docker3
Docker容器的设置资源(cpu,内存)限制: #docker run –memory=200M xxxx-image --vm 1 –verbose #docker run --cpu-s ...
- vue 基础: 组件
2.局部组件: 动态组件:
- Python:从入门到实践--第五章--if语句--练习
#1.编写一系列条件测试:将每个测试以及结果打印出来 car = '宝马' if car == "宝马": print("预测正确") print(car) e ...
- github 出现 Permission denied (publickey)
首先,清除所有的key-pairssh-add -Drm -r ~/.ssh删除你在github中的public-key 用下面的命令生成public key $ ssh-keygen -t rsa ...