0

我正在开发一个关于使用 Tedlium 数据集的现有示例的 Kaldi 项目。每一步都运行良好,直到清理阶段。我有一个长度不匹配的问题。检查所有脚本后,我发现问题出在 lattice_oracle_align.sh

参考:https ://github.com/kaldi-asr/kaldi/blob/master/egs/wsj/s5/steps/cleanup/lattice_oracle_align.sh

我相信问题出在第 142 行。

  awk '{if ($2 == "#csid") print $1" "($4+$5+$6)}' $dir/analysis/per_utt_details.txt > $dir/edits.txt

上面的行应该逐行读取 per_utt_details.tx,每次读取 #csid 时都应该在 edits.txt 中写入一行 per_utt_details 中的文本如下所示。

     ref
     hyp
     op
     #csid 0 0 0 0
     ...repeat the above 4 lines.

per_utt_details.txt 中有 1073046 行。我预计edits.txt 中有268262 行。但是,edits.txt 中只存在 48746 行。

4

1 回答 1

1

通过查看您的示例,我相信您正在寻找比较第一个字段而不是第二个字段(显示在您显示的代码中),因此如果是这种情况,请尝试运行以下操作(我已从更改$2$1与第一个字段进行比较)。

awk '($1 == "#csid"){print $1,($4+$5+$6)}' per_utt_details.txt > edits.txt
于 2020-12-07T19:04:11.367 回答