[自然语言处理-入门] 语音识别

自然语言处理-入门 语音识别

个人导航

知乎:https://www.zhihu.com/people/byzh_rc

CSDN:https://blog.csdn.net/qq_54636039

注:本文仅对所述内容做了框架性引导,具体细节可查询其余相关资料or源码

参考文章:各方资料

文章目录

  • [自然语言处理-入门 语音识别](#[自然语言处理-入门] 语音识别)
  • 个人导航
  • [词元 Token](#词元 Token)
      • [1. 语音Speech & 文本Text](#1. 语音Speech & 文本Text)
      • [2. Token](#2. Token)
  • [声学特征 Acoustic Feature](#声学特征 Acoustic Feature)
  • [序列到序列基础 Sequence to Sequence](#序列到序列基础 Sequence to Sequence)
  • [Seq2Seq 主流模型](#Seq2Seq 主流模型)
        • [1. LAS (Listen, Attend and Spell)](#1. LAS (Listen, Attend and Spell))
        • [2. CTC (Connectionist Temporal Classification)](#2. CTC (Connectionist Temporal Classification))
        • [3. RNN-T](#3. RNN-T)
        • [4. Neural Transducer](#4. Neural Transducer)
        • [5. MoChA](#5. MoChA)

词元 Token

1. 语音Speech & 文本Text

语音: 长度 T、维度 d 的向量序列

语音 = 第 1 片数字,第 2 片数字,......,第 T 片数字

  • T:声音被切成了多少片
  • d:每一片声音用多少个数字表示

比如 MFCC 用 39 个数字描述一帧 → d=39

(MFCC: 传统语音识别最常用 -> 把声音变成稳定、好识别的特征向量)

文本: 长度 N、共 V 种不同 Token 的序列

文本 = 第 1 个 Token,第 2 个 Token,......,第 N 个 Token

  • N:这句话有多少个 Token
  • V:世界上一共有多少种不同的 Token

英文字母:V≈26 + 符号

中文常用字:V≈4000

2. Token

语音识别最终要把声音转成符号序列,要懂这 5 种 T

  • Phoneme(音素) :声音最小单位,单词由音素组成

    cat = /k/ + /æ/ + /t/

    good = /g/ + /ʌ/ + /d/

  • Grapheme(字素):书写最小单位 (英文字母/汉字)

    英文:字母 a-z

    中文:一个字

  • Morpheme(词素):最小有意义单位 (比单词小,比字母大)

    unbreakable → un + break + able

  • Word(单词):完整语义单位,词表大 (V大)

  • Byte(字节):跨语言通用, 用 0/1 表示, 词表固定 256

声学特征 Acoustic Feature

把人耳听到的声音 → 变成电脑能看懂的数字

语音信号要先转成向量才能进模型

常用特征:MFCC(39 维)、Filter Bank(80 维)、语谱图Spectrogram

  • MFCC: 最经典,维度 39 维
  • FBank: 深度学习最常用,维度 80 维
  • Spectrogram: 声音的 "图像",像热力图

处理流程:

  • FBank 流程: 波形 → 分帧 → FFT → 梅尔滤波 → 对数 → 80 维 FBank
  • MFCC 流程: 波形 → 分帧 → FFT → 梅尔滤波 → 对数 → DCT → 39 维 MFCC

FBank 是基础特征,MFCC 是 FBank 做 DCT 压缩后的特征

序列到序列基础 Sequence to Sequence

核心结构:Encoder + Decoder

  • Encoder:把语音序列编码成上下文向量 C
  • Decoder:用 C 自回归 生成文本,直到<EOS>结束
  • 基础网络:RNN、LSTM

-> 局限:早期只用最后一个状态做上下文,信息丢失

Seq2Seq 主流模型

1. LAS (Listen, Attend and Spell)

典型带注意力的 seq2seq

  • Listen:编码, 语音特征
  • Attend:注意力, 加权语音帧
  • Spell:解码, 自回归生成文本

训练用Teacher Forcing(用真实标签加速)

2. CTC (Connectionist Temporal Classification)

每一帧语音独立输出一个符号,最后合并去空

输入:T 帧语音 → 输出:T 个符号(包含空白符 φ)

  • 规则:合并重复字符 + 去掉空白 φ

    φ φ d d φ e φ e φ p p→ deep

    φ φ d d φ e e e φ p p→ dep

    好 好 棒 棒 棒 棒 棒→ 好棒

    好 φ 棒 φ 棒 φ φ→ 好棒棒

  • 训练:自动枚举所有可能对齐,不用人工标对齐

  • 缺点:各帧独立预测,没有上下文语言关系

  • 地位:语音识别对齐基石,现在常和 LAS 一起用

3. RNN-T

一帧语音可以输出多个字,支持真正流式

(流式识别常用)

  • 改进 CTC:一帧 → 多符号,不是只能一帧一个
  • 自带语言模型,能利用上文输出决定下文
  • 可以一边说话一边出字,不用等整句话
  • 地位:手机 / 语音助手标配
4. Neural Transducer

按 窗口(window) 一块一块读语音的 RNN-T

  • 不是一帧一帧,而是一次看一小段窗口
  • 加了注意力,效果更好
  • 介于 RNN-T 和 MoChA 之间
5. MoChA

MoChA: Monotonic Chunkwise Attention -> 最高级、速度快

窗口会自己动、自己选位置的最强流式注意力

  • 自动决定要不要输出、窗口要不要移
  • 注意力只看局部,又快又准
  • 流式 + 高精度 = 目前最先进方案之一
相关推荐
IT_陈寒6 小时前
当Java的hashCode遇上Lombok,我的缓存被全清了
前端·人工智能·后端
刘胡子大叔6 小时前
评测驱动优化:失败样本回流 Prompt 的闭环
人工智能·prompt
这个DBA有点耶6 小时前
内核级AI与多模融合:AI数据库在海外场景的落地要点
数据库·人工智能·架构
涛思数据(TDengine)6 小时前
从工业本体到 AI 原生:TDengine 出席 2026 QCon 分享工业数据基础设施路径
大数据·数据库·人工智能·tdengine·工业
yz_aiks6 小时前
WorkBuddy 怎么做网页小游戏:深海钓鱼游戏 43 次对话、301 积分从一句话做到发布(附手机横屏踩坑)
人工智能·html5·ai编程·小游戏·workbuddy
byte轻骑兵6 小时前
【LMP】规范精讲[12]: 链路层的花名册——一张表数完88条指令的门道
人工智能·蓝牙协议·lmp·蓝牙链路管理·通信学习
萤箜6 小时前
Chroma、Pinecone、Milvus 选型对比:不同发展阶段该选哪款向量数据库
人工智能
jimmyleeee6 小时前
Agent安全之九:OWASP ASI09 人机信任利用------当人类成为攻击链上最后一道被攻破的关口
人工智能·安全
Gu_WenYun6 小时前
从主题定价到订单定价:机器人基金的产业链观察
大数据·人工智能·金融
song150265372987 小时前
小型零部件外观检测难?AI机器视觉检测设备,适配全行业小件质检
人工智能·计算机视觉·视觉检测