700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > Kaldi AMI数据集脚本学习2----run_prepare_shared.sh

Kaldi AMI数据集脚本学习2----run_prepare_shared.sh

时间:2023-08-07 06:24:11

相关推荐

Kaldi AMI数据集脚本学习2----run_prepare_shared.sh

在学习脚本文件时,重点关注哪些是调用标准函数,哪些是调用特定数据集的数据处理函数;

关注每个阶段处理的输入,输出和控制参数。不要面面俱到,试图理解每行代码。

1. 下载AMI数据集的xml标注文件包;

从xml格式的标注文件提取得到data/local/annotations文件夹下文本格式的标注文件train.txt,eval.txt,dev.txt.

# Download of annotations, pre-processing,local/ami_text_prep.sh data/local/downloads

2. 下载cmu dictionary;

创建silence_phones.txt和optional_silence.txt;

从cmudict/cmudict.0.7a.symbols提取 nonsilence_phones.txt,扔掉重音(stress);

将silence phones 加到extra_questions.txt;

下载wordlist.50k;

limit the vocabulary to the predefined 50k words,从而得到文件lexicon1_raw_nosil_50k.txt;

再增加类似laughter,noise等词汇后得到最终的lexicon.txt;

utils/validate_dict_dir.pl检查。

local/ami_prepare_dict.sh

3. Kaldi标准流程,准备data/lang

input为data/local/dict和"<unk>";

output为data/lang;

临时文件夹为data/local/lang;

总之,“This script adds word-position-dependent phones and constructs a host of other derived files,

that go in data/lang/”

utils/prepare_lang.sh data/local/dict "<unk>" data/local/lang data/lang

4. 使用AMI数据训练language models;

注意:我没有Fisher data,所以删除了“--fisher $FISHER_TRANS“;

input: train.txt和lexicon.txt等

output: language mode 文件为ami.o3g.kn, data/local/lm仍只是临时文件夹;

参数: 缺省order=3(N-gram order)

local/ami_train_lms.sh data/local/annotations/train.txt data/local/annotations/dev.txt data/local/dict/lexicon.txt data/local/lm

5. 使用prune-lm 处理(删去出现频率较低的数据)ami.o3g.kn.gz得到ami.o3g.kn.pr1-7.gz

final_lm=`cat data/local/lm/final_lm`LM=$final_lm.pr1-7prune-lm --threshold=1e-7 data/local/lm/$final_lm.gz /dev/stdout | gzip -c > data/local/lm/$LM.gz

6. Kaldi标准流程,"Convert ARPA-format language models to FSTs";

input: ami.o3g.kn.pr1-7.gz

output: data/lang_ami.o3g.kn.pr1-7/G.fst

data/lang_ami.o3g.kn.pr1-7/L.fst

utils/format_lm.sh data/lang data/local/lm/$LM.gz data/local/dict/lexicon.txt data/lang_$LM

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。