[语音识别] kaldi -- aidatatang_200zh脚本解析:词典准备

2021-07-19 14:40:05 浏览数 (1)

输入:text(所有录音的分词文本信息- 如果是自己的数据没有人工分词可能要提前jieba等工具分词一下)

输出:data/local/dict文件夹(含extra_questions.txt、lexicon.txt、silence_phones.txt、nonsilence_phones.txt、optional_silence.txt等文件)

代码语言:javascript复制
local/prepare_dict.sh || exit 1;

流程:

代码语言:javascript复制
1.处理自身数据集
- 获取数据集中所有单词【从text中获取】-> 生成words.txt
- 把整个数据集的单词分成ch和en两个词典 -> 生成words-{en,ch}.txt
2.生成【英文发音字典】,通过CMU字典生成lexicon-en.txt(格式:数据集中的英文单词 及其对应的拼音发音)
- Downloading CMU dictionary
- 格式化cmu字典(把字典中重音和发音标记去除)
- 生成words-en-oov.txt  (数据集中有,字典中没有的单词)
- 生成lexicon-en-iv.txt (数据集能在字典中取得的单词,及其对应的cmu音素)
- 下载安装g2p_model(单词到音素模型,用于转换oov)
- 生成lexicon-en-oov.txt (使用g2p_model生成,oov 及其对应的cmu因素 *由于words-en-oov中含有【VISA卡】这种中英文混用的单词会导致转换失败,会少21条数据,不知道对后面会不会有影响*)
- 生成lexicon-en-phn.txt (merge in-vocab and oov lexicon)
- 将cmu和拼音中无法转换的cmu音素替换成可以转换的因素

0 人点赞