首页/文章/ 详情

为什么你说 “猫”,手机能立刻听懂?揭秘语音识别背后的 “声学密码”

2小时前浏览2
当你对着手机喊 “打开导航”,或用语音输入法敲出一条消息时,有没有好奇过:机器是如何把你嘴里的声音,精准翻译成文字的?

这背后藏着一套复杂却精妙的 “语音解码系统”,而声学模型就是这套系统的 “核心翻译官”—— 它能把声音的 “物理特征” 转化为语言的 “语义单元”,再配合隐马尔可夫模型(HMM) 这套 “路径导航仪”,让机器像人类一样 “听懂” 语音。今天我们就用科学视角,拆解这两个关键技术的工作原理。

一、声学模型:给声音 “贴标签”,先选对 “翻译单位”

声学模型的核心任务很明确:把语音的声学特征(比如你可能听过的 MFCC,相当于声音的 “指纹”),和 “音素、字、词” 这类能表达语义的建模单元做关联。打个比方,就像给每一段声音 “贴标签”,标签对应着语言里的基本单位。

但要做好 “翻译”,第一步得选对 “标签粒度”—— 是用 “词” 当标签,还是用 “音素”?不同选择的效果天差地别:


  • 若用 “词” 当标签:看似直接,实则行不通
    汉语里仅常用词就有 3500+,加上生僻词、新词,总量能超百万。这么多 “标签” 不仅让模型难以用数据覆盖(毕竟不可能把所有词的发音都录一遍),还会因为词语长度不一,导致建模缺乏灵活性 —— 比如 “苹果” 是 2 个音节,“手机” 也是 2 个音节,但 “计算机” 是 3 个音节,模型很难统一处理。

  • 若用 “音素” 当标签:语音学的 “最小单位”,才是最优解
    音素是语音里 “最小的有区别性的单位”—— 比如 “猫(māo)” 由 “m、a、o”3 个音素构成,“狗(gǒu)” 由 “g、o、u”3 个音素构成。它的优势很明显:


  1. 数量有限

    :汉语的声母 + 韵母共 30-60 个(具体数量看模型设计),英语常用的 CMU 音素集也只有 39 个,用大量语音数据就能充分训练;  
  2. 构成固定

    :任何一个词的音素组合都是确定的(比如 “手机” 一定是 “shǒu jī”),不会出现 “一词多音素” 的混乱。  

不过这里有个细节:人说话时,相邻音素会互相影响(比如 “b” 在 “bā” 里和 “bǐ” 里的发音略有不同,这叫 “协同发音”)。为了贴合实际发音,现在主流模型会用三音素—— 用 “3 个相邻的状态” 组合表示 1 个音素(状态是比音素更小的单位)。


但三音素也有问题:比如 60 个单音素能组合出 60³=216000 种三音素,若训练数据不够,部分组合会 “练不透”。好在科学家们用 “决策树聚类” 解决了这个问题 —— 把发音相似的三音素归为一类,减少总量,既保证精度又提升训练效率。

二、从声音到数字:把语音变成 “机器能懂的矩阵”

选好 “翻译单位” 后,还得把原始语音 “数字化”—— 毕竟机器只认数据。这个过程分两步:


  1. 分帧提特征

    :把语音切成 20-40 毫秒的 “短时帧”(就像把电影切成一帧一帧的画面),每帧提取 MFCC 特征(常用 12-13 维,维度越多,细节越丰富)。  
  2. 生成观察序列

    :这些特征会组成一个 “维度 × 帧数” 的矩阵 —— 比如 12 行(12 维 MFCC)、N 列(N 帧语音),这个矩阵就是 “观察序列”,相当于声音的 “数字身份证”。  

而观察序列和建模单元的对应关系很清晰:
若干帧 → 1 个状态 → 3 个状态 → 1 个三音素 → 若干音素 → 1 个字
比如 “我(wǒ)” 的语音,会先变成几十帧 MFCC,对应 3 个状态,再组合成 “w、ǒ” 两个音素,最终对应 “我” 这个字。

三、HMM 模型:给声音 “找最优路径”,像导航一样精准

有了 “数字身份证”(观察序列)和 “翻译单位”(音素 / 三音素),还需要一套系统来 “匹配”—— 这就是隐马尔可夫模型(HMM) 的作用。它是处理 “时序数据”(比如按时间顺序排列的语音帧)的经典工具,核心是在 “状态网络” 里找到一条 “概率最高的路径”,这条路径就对应着最可能的语音含义。

1. 路径概率的 “三大支柱”

要判断哪条路径最优,需要计算三大概率,三者共同决定路径的 “可信度”:


概率类型    
科学定义    
实际作用举例    
观察概率
某一帧声学特征(如 MFCC)属于某个音素状态的概率    
音素状态 “/m/” 对应 “低频、鼻音重”MFCC 的概率是 0.8,对应 “高频、清脆” 的概率是 0.1    
状态转移概率
一个音素状态转移到自身或下一个状态的概率    
“/m/” 转移到 “/a/” 的概率是 80%,转移到其他音素的概率是 20%    
语言概率
给定前序音素 / 词,当前音素 / 词出现的概率(体现语言的统计规律)    
“我有一只” 后面接 “猫” 的概率是 0.3,接 “狗” 的概率是 0.2    

其中,观察概率和状态转移概率来自 “声学模型”(用大量语音数据训练),语言概率来自 “语言模型”(用大量文本数据训练)—— 后者至关重要,若没有它,机器可能会把 “猫” 识别成 “毛”“冒”,因为这些词的发音相近,全靠语言规律(比如 “我有一只__” 后面更可能是 “猫”)来修正。

2. 解码过程:以识别 “猫” 为例,看机器如何 “听懂”

我们用 “说‘猫’的语音被识别” 这个实例,拆解 HMM 的 “解码流程”—— 也就是机器找最优路径的过程:


① 分帧提特征:把 “猫” 的语音切成 100 帧,每帧提取 13 维 MFCC,得到观察序列;
② 初始化路径:根据初始概率选起点 —— 比如 “/m/” 的初始概率是 0.9,远高于 “/b/”“/p/”,所以从 “/m/” 开始;
③ 递推算概率:对每帧 MFCC,先算 “这帧属于当前音素状态的观察概率”,再算 “上一音素转移到当前音素的转移概率”,两者相乘得到 “当前帧 + 当前音素” 的累计概率;
④ 选最优路径:遍历所有可能的音素序列(比如 “/m/→/a/→/o/”“/m/→/a/→/u/”),计算每条路径的总概率(观察概率 + 转移概率 + 语言概率),最终选概率最高的 “/m/→/a/→/o/”,对应 “猫” 这个字。

四、总结:语音识别的 “科学逻辑”,其实很像人类听声音

本质上,机器 “听懂” 语音的过程,和人类的听觉逻辑很相似:
人类会先捕捉声音的 “音调、音色”(对应机器的声学特征),再结合 “平时说的话”(对应语言模型),判断对方在说什么;而机器则用 “声学模型” 处理声音特征,用 “HMM” 找最优语义路径,用 “语言模型” 修正结果 —— 三者协同,才能让语音识别既精准又高效。


来源:力学AI有限元
声学
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2025-08-29
最近编辑:2小时前
力学AI有限元
硕士 | 结构工程师 模拟仿真狂热爱好者
获赞 133粉丝 102文章 167课程 13
点赞
收藏
作者推荐
未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习计划 福利任务
下载APP
联系我们
帮助与反馈