已阅读5页,还剩13页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
人工智能 语音识别技术 什么是语音识别技术 与机器进行语音交流 让机器明白你说什么 这是人们长期以来梦寐以求的事情 语音识别技术就是让机器通过识别和理解过程把语音信号转变为相应的文本或命令的高技术 语音识别技术主要包括特征提取技术 模式匹配准则及模型训练技术三个方面 语音识别技术车联网也得到了充分的引用 例如在翼卡车联网中 只需按一键通客服人员口述即可设置目的地直接导航 安全 便捷 两款语音机器人 Siri Cortana 语音识别的实现 1 首先 我们知道声音实际上是一种波 常见的mp3 wmv等格式都是压缩格式 必须转成非压缩的纯波形文件来处理 比如WindowsPCM文件 也就是俗称的wav文件 wav文件里存储的除了一个文件头以外 就是声音波形的一个个点了 下图是一个波形的示例 语音识别的实现 2 在开始语音识别之前 有时需要把首尾端的静音切除 降低对后续步骤造成的干扰 这个静音切除的操作一般称为VAD 需要用到信号处理的一些技术 要对声音进行分析 需要对声音分帧 也就是把声音切开成一小段一小段 每小段称为一帧 分帧操作一般不是简单的切开 而是使用移动窗函数来实现 这里不详述 帧与帧之间一般是有交叠的 就像下图这样 语音识别的实现 3 图中 每帧的长度为25毫秒 每两帧之间有25 10 15毫秒的交叠 我们称为以帧长25ms 帧移10ms分帧 分帧后 语音就变成了很多小段 但波形在时域上几乎没有描述能力 因此必须将波形作变换 常见的一种变换方法是提取MFCC特征 根据人耳的生理特性 把每一帧波形变成一个多维向量 可以简单地理解为这个向量包含了这帧语音的内容信息 这个过程叫做声学特征提取 实际应用中 这一步有很多细节 声学特征也不止有MFCC这一种 具体这里不讲 至此 声音就成了一个12行 假设声学特征是12维 N列的一个矩阵 称之为观察序列 这里N为总帧数 观察序列如下图所示 图中 每一帧都用一个12维的向量表示 色块的颜色深浅表示向量值的大小 语音识别的实现 4 接下来就要介绍怎样把这个矩阵变成文本了 首先要介绍两个概念 音素 单词的发音由音素构成 对英语 一种常用的音素集是卡内基梅隆大学的一套由39个音素构成的音素集 参见TheCMUPronouncingDictionary 汉语一般直接用全部声母和韵母作为音素集 另外汉语识别还分有调无调 不详述 状态 这里理解成比音素更细致的语音单位就行啦 通常把一个音素划分成3个状态 语音识别是怎么工作的呢 实际上一点都不神秘 无非是 第一步 把帧识别成状态 难点 第二步 把状态组合成音素 第三步 把音素组合成单词 语音识别的实现 5 图中 每个小竖条代表一帧 若干帧语音对应一个状态 每三个状态组合成一个音素 若干个音素组合成一个单词 也就是说 只要知道每帧语音对应哪个状态了 语音识别的结果也就出来了 图中 每个小竖条代表一帧 若干帧语音对应一个状态 每三个状态组合成一个音素 若干个音素组合成一个单词 也就是说 只要知道每帧语音对应哪个状态了 语音识别的结果也就出来了 那每帧音素对应哪个状态呢 有个容易想到的办法 看某帧对应哪个状态的概率最大 那这帧就属于哪个状态 比如下面的示意图 这帧对应S3状态的概率最大 因此就让这帧属于S3状态 语音识别的实现 6 那这些用到的概率从哪里读取呢 有个叫 声学模型 的东西 里面存了一大堆参数 通过这些参数 就可以知道帧和状态对应的概率 获取这一大堆参数的方法叫做 训练 需要使用巨大数量的语音数据 训练的方法比较繁琐 这里不讲 但这样做有一个问题 每一帧都会得到一个状态号 最后整个语音就会得到一堆乱七八糟的状态号 相邻两帧间的状态号基本都不相同 假设语音有1000帧 每帧对应1个状态 每3个状态组合成一个音素 那么大概会组合成300个音素 但这段语音其实根本没有这么多音素 如果真这么做 得到的状态号可能根本无法组合成音素 实际上 相邻帧的状态应该大多数都是相同的才合理 因为每帧很短 解决这个问题的常用方法就是使用隐马尔可夫模型 HiddenMarkovModel HMM 这东西听起来好像很高深的样子 实际上用起来很简单 第一步 构建一个状态网络 第二步 从状态网络中寻找与声音最匹配的路径 这样就把结果限制在预先设定的网络中 避免了刚才说到的问题 当然也带来一个局限 比如你设定的网络里只包含了 今天晴天 和 今天下雨 两个句子的状态路径 那么不管说些什么 识别出的结果必然是这两个句子中的一句 语音识别的实现 7 那如果想识别任意文本呢 把这个网络搭得足够大 包含任意文本的路径就可以了 但这个网络越大 想要达到比较好的识别准确率就越难 所以要根据实际任务的需求 合理选择网络大小和结构 搭建状态网络 是由单词级网络展开成音素网络 再展开成状态网络 语音识别过程其实就是在状态网络中搜索一条最佳路径 语音对应这条路径的概率最大 这称之为 解码 路径搜索的算法是一种动态规划剪枝的算法 称之为Viterbi算法 用于寻找全局最优路径 语音识别的实现 8 这里所说的累积概率 由三部分构成 分别是 观察概率 每帧和每个状态对应的概率转移概率 每个状态转移到自身或转移到下个状态的概率语言概率 根据语言统计规律得到的概率其中 前两种概率从声学模型中获取 最后一种概率从语言模型中获取 语言模型是使用大量的文本训练出来的 可以利用某门语言本身的统计规律来帮助提升识别正确率 语言模型很重要 如果不使用语言模型 当状态网络较大时 识别出的结果基本是一团乱麻 声学模型 声学模型是把语音转化为声学表示的输出 即找到给定的语音源于某个声学符号的概率 对于声学符号 最直接的表达方式是词组 但是在训练数据量不充分的情况下 很难得到一个好的模型 词组是由多个音素的连续发音构成 另外 音素不但有清晰的定义而且数量有限 因而 在语音识别中 通常把声学模型转换成了一个语音序列到发音序列 音素 的模型和一个发音序列到输出文字序列的字典 需要注意的是 由于人类发声器官运动的连续性 以及某些语言中特定的拼读习惯 会导致音素的发音受到前后音素的影响 为了对不同语境的音素加以区分 通常使用能够考虑前后各一个音素的三音子作为建模单元 另外 在声学模型中 可以把三音子分解为更小的颗粒 状态 通常一个三音子对应3个状态 但是这会引起建模参数的指数增长 常用的解决方案是使用决策树先对这些三音子模型进行聚类 然后使用聚类的结果作为分类目标 最常用的声学建模方式是隐马尔科夫模型 HMM 在HMM下 状态是隐变量 语音是观测值 状态之间的跳转符合马尔科夫假设 其中 状态转移概率密度多采用几何分布建模 而拟合隐变量到观测值的观测概率的模型常用高斯混合模型 GMM 传统模型GMM HMM的算法 语音识别过程就是输入一段语音信号 找到一串文字 字或词 序列的过程 语音输入O o1 o2 o3 ot对应的标注W w1 w2 w3 wn这个过程一般用概率来表示 用O表示语音信号 用W表示文字序列 则是要解决下面这个问题 由贝叶斯公式 展开 可得 由于P O W P W P O 是对每个句子进行计算的 而对每个句子来说P O 是不变的 所以可以改写成如下 其中P O W 称做观测最大释然 由声学模型计算
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025江西省电子信息技师学院工作人员招聘考试试题
- 2025江华瑶族自治县职业中专学校工作人员招聘考试试题
- 市政道路改造施工方案
- 2026年美发工具市场造型技术突破报告
- 2025年生态养殖循环产业链与智能农业设备应用可行性报告
- 高中地理:校园生态环境教育课程设计与实施策略教学研究课题报告
- 幼儿园教师观察记录工具使用熟练度影响因素-基于2023年观察记录质量与培训记录
- 2026年智能生活行业创新报告及恒温调奶器市场应用前景报告
- 2026年语音交互点餐创新报告
- 2026年矿山行业智能采矿系统创新报告
- 2026浙江事业单位统考嘉兴市招聘107人考试参考题库及答案解析
- 物业保安服务工作方案范文
- 《2023版CSCO小细胞肺癌诊疗指南》
- 肾内科学科建设发展规划
- 2026年当辅警笔试题库及一套完整答案
- 三下第11课《同学要互助》教学课件
- 四不伤害安全培训课件
- 2025年度全球风险投资状况回顾报告:私募市场交易、投融资和退出数据及分析 State of Venture Global 2025 recap
- 广西玉林师范学院招聘考试真题2025
- 2026年人教版中考英语总复习新课标新增词汇
- 概率论与数理统计里判断题
评论
0/150
提交评论