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

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

个人导航

知乎: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 -> 最高级、速度快

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

  • 自动决定要不要输出、窗口要不要移
  • 注意力只看局部,又快又准
  • 流式 + 高精度 = 目前最先进方案之一
相关推荐
GuWenyue6 小时前
写Agent还要重复封装工具?一套MCP多服务方案,3个能力让AI自动查地图、读写文件、操控浏览器
人工智能·机器学习·开源
GuWenyue6 小时前
90%AI新手不会调参!LangChain双模型流水线实战,一套代码兼顾严谨+创意
人工智能
光锥智能7 小时前
WAIC亮点|兼具泛化能力与作业效率的极智嘉机器人天团
人工智能·机器人
阳光是sunny7 小时前
LangGraph中的Reducer是什么
前端·人工智能·后端
甲维斯8 小时前
Kimi K3 重构10000行单文件屎山代码!
人工智能
阳光是sunny8 小时前
从链到图:LangGraph 入门基础全解析
前端·人工智能·后端
新知图书8 小时前
11.3 详细实现与核心配置(作业批改智能体开发)
人工智能·agent·ai agent·智能体·扣子
深度研习笔记9 小时前
OpenCV工业视觉实战11|多线程解耦+视频流稳流+推理加速,彻底解决卡顿阻塞,实现毫秒级工业实时检测
人工智能·opencv·计算机视觉
delishcomcn9 小时前
AI视觉识别+分切算法:电化铝缺陷检测与裁切一体化解锁
人工智能·算法
触底反弹9 小时前
深入理解大模型采样:Temperature、Top-K、Top-P 的原理与实战
人工智能·算法·面试