📄 mkhyp.pl
字号:
#!/usr/bin/perl# Juliusの千急冯蔡ログから、簿棱ファイル(*.hyp)を侯喇する。# オプション -p でどちらのパスの簿棱ファイルを侯喇するか回年する。# JNAS脱## 庙罢: "-quiet" "-demo" をJulius悸乖箕につけた眷圭·礁纷がおかしくなる# ことがあります∈礁纷に涩妥な帽胳のN-gram妨轮燎タグ攫鼠が叫蜗されないため∷## 蝗脱恕# % nkf -e julius.log | \# perl mkhyp.pl \# -p {1|2} \# > julius.hyp# オプション借妄require "getopts.pl";&Getopts('hp:');if ($opt_h || !$opt_p) { &usage;}if ($opt_p eq "1") { # 妈1パスの簿棱帽胳误をログから评る狠に脱いる。 $res = "pass1_best_wordseq";}elsif ($opt_p eq "2") { # 妈2パスの簿棱帽胳误をログから评る狠に脱いる。 $res = "wseq1";}else { &usage;}while (<>) { # フォ〖マットされたidを叫蜗する。 if (/^input (MFCC |speech)file: (.*)$/) { ($spkrid, $sentid) = &bunkai_id($2); $id = $spkrid . "-" . $sentid; print "$id\n"; } # 千急帽胳误を叫蜗する。 if (/^$res:\s+(.*)$/) { $sentence = $1; print "$sentence\n"; } # CM を叫蜗する (03/06/11) if (/^cmscore1:\s+(.*)$/) { $cmscore = $1; print "cmscore: $cmscore\n"; } if (/^cmscore1\[(.*)\]:\s+(.*)$/) { $cmalpha = $1; $cmscore = $2; print "cmscore[$cmalpha]: $cmscore\n"; }}sub usage { print "nkf -e julius_log | "; print "jperl -Leuc mkhyp.pl <OPTS> > hypothesis_file\n"; print " OPTS --> [-h] -p {1|2}\n"; print " -h --> show help\n"; print " -p {1|2} --> select 1pass or 2pass\n"; exit(-1);}sub bunkai_id { local($fpath) = @_; $fpath =~ s/^.*\///; $fpath =~ m/^([^0-9]+[0-9]{3})([0-9]{3})/; ($1, $2);}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -