训练步骤详解

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

HTK识别器的建立和使用--第一步:准备数据

以下五个步骤就是准备数据的全过程。

Step 1.创建语法和网络文件

如果要识别的是一些简单的拨号命令,如:

Dial three three two six five four

Dial nine zero four one oh nine

Phone Woodland

Call Steve Y oung

按照这些命令编辑语法文件,格式如下:

$digit = ONE | TWO | THREE | FOUR | FIVE |

SIX | SEVEN | EIGHT | NINE | OH | ZERO;

$name = [ JOOP ] JANSEN |

[ JULIAN ] ODELL |

[ DA VE ] OLLASON |

[ PHIL ] WOODLAND |

[ STEVE ] YOUNG;

( SENT-START ( DIAL <$digit> | (PHONE|CALL) $name) SENT-END )

假设语法文件名为gram,则利用HTK中的HPARSE工具创建单词网络文件wdnet,命令

格式为:

HParse gram wdnet

注:wdnet的具体形式见E:\HMM\HTKSample\WordNet

其中J表示支路,I表示节点内容,S表示支路起始,E表示支路结束。

作wdnet的目的是为了求得词词间的转移概率,以及建立三因子模型时考虑因子间的连接。

Step 2.创建词典文件

该文件创建比较复杂。所用的命令格式为:

HDMan -m -w wlist -n monophones1 -l dlog dict beep names

其中,wlist是单词列表文件,它有着自己的格式,最初可以将它写成文本格式的

文件,例如:

S0001 ONE V ALIDA TED ACTS OF SCHOOL DISTRICTS

S0002 TWO OTHER CASES ALSO WERE UNDER ADVISEMENT

S0003 BOTH FIGURES WOULD GO HIGHER IN LA TER YEARS

S0004 THIS IS NOT A PROGRAM OF SOCIALIZED MEDICINE

etc

然后,利用HTK提供的工具prompts2wlist可以将其转化为符合要求的wlist文件,

在这个文件中,每行只有一个单词,而且按照字母顺序排列,而且在面向任务的识

别器中,单词的范围是限定的。

注:wlist的具体形式见E:\htk\htk训练\文件实例\wlist.txt

wlist内的每个单词占一行,这样便于加入停顿信息。

接着,有了源词典beep和names,从这些词典中,可以搜寻到wlist文件里所列出的

各个单词的发音,beep是一般单词的发音词典,可以下载得到。而names则是手工

创建的文件,给出了识别任务里所用到的姓名的发音。

-l dlog将把已建立的辞典的各种统计信息输出到日志文件dlog中去,这些信息

可以告诉你是否遗漏某些单词。-n monophones1则把用到的音子都输出到文件mon ophones1中,在以后的步骤中,每一个这里的音子都会相应地被创建一个HMM模型。最后是词典文件dict的一般格式:

WORD [outsym] p1 p2 p3 ....

意思就是,单词WORD的发音是按照音子序列p1 p2 p3的顺序发出的,当单词被识别出来,它就以方括号里面的字串作为结果输出。[outsym]是个可选项,如果没有

它,则单词以本身的形式输出;如果有但是方括号里面为空,则什么也不输出。

注:wlist的具体形式见E:\htk\htk训练\文件实例\dict.txt

之所以建立这样一个小范围的词典,是为了缩小搜索空间。

monophones1的具体形式见E:\htk\htk训练\文件实例\monophones1.txt

建立monophones1只是便于查看用到的因子。

Step 3.录制数据

HSLab提供录音和标注的功能。它的格式为:

HSLab 文件名,可以用来录制训练数据和测试数据。训练数据的数据源可以来自

已有的语音数据库,而测试数据的数据源可以利用HSgen工具从现成的网络文件和

词典文件中产生,它能够随机地通过单词网络并输出每一个遇到的单词,其命令格

式为:

HSGen -l -n 200 wdnet dict,其中-n 200表示产生句子的数目为200个。

Step 4.创建转换文件

为了训练HMM模型,每一个训练数据文件都必须有一个相关联的音子层次上的转换。由于训练数据不能够自展成一系列的转换模型,所以需要用一个平稳的方案,

得用两次音子转换。第一次转换在词与词之间不加入停顿(sp),接下来,一旦

产生合理的音子模型,一个sp模型就将被插入到单词之间,以表示由说话者引入的

暂停。对于训练数据,可以用文本编辑器,也可以用HTK提供的工具prompts2mlf

来生成其转换。例如,对于数据库提供的训练数据:

S0001 ONE V ALIDA TED ACTS OF SCHOOL DISTRICTS

用prompts2mlf生成的便是如下形式:

#!MLF!#

"*/b"

ONE

V ALIDA TED

ACTS

OF

SCHOOL

DISTRICTS

.

数据标号转换为路径名,每个单词占一行,每一句话以一个句号作为终结。第一行

则定义了此文件为Master Label File(MLF)。这样单个的文件包含了一套完全的转

换,虽然每个转换可以单独存在一个文件里,但是显然使用MLF更加高效。路径名

相关文档
最新文档