ASR笔记:WFST-加权有限状态转移机
2021/10/21大约 1 分钟
WFST 是带权重的有向图。它把“声音、音素、单词、句子”全部统一结合起来了。
1. 什么是 WFST?
- Weighted(加权):每条边都有一个分数(概率/代价),我们要找总分最高(代价最低)的路径。
- Finite State(有限状态):一堆圆圈(状态)和箭头(转移),本质仍是有限状态机。
- Transducer(转移机):比普通 FSA 多一步,既能匹配输入,又能生成输出。输入 ,输出 ,把两个符号系串起来。
2. 图统一:
WFST 最厉害的地方在于它能把四个独立模型合成一张大图:
| 层次 | 全称 | 作用 |
|---|---|---|
| G | Grammar | 语言模型:词与词之间组合的概率 |
| L | Lexicon | 发音词典:单词怎么拆成音素,例如 apple -> /æ/ /p/ /l/。 |
| C | Context | 上下文相关:音素在不同环境下的细微变化(三音素建模)。 |
| H | HMM | 声学模型:把每一帧的声学特征映射到隐藏状态。 |
Composition (),表示合成。通过一步步合成,我们可以将底部的声学状态,到顶部的句子结果串起来,并且统一到一张图上。
3. 解码
大图构建完成后,任务就是在 WFST 迷宫里寻找权重之和最小(即代价最低/概率最高)的路径。通常会结合 Beam Search 来做剪枝搜索,确保既快又准。
4. 快速优化技巧-热词
hotword通常在 G(语言模型)层 或 L(词典)层 加入即可。G 调整词序概率,L 添加发音映射,两层配合就能快速让模型认得新词。