现在的位置: 首页 > 综合 > 正文

更新词汇至Unigram词表进行识别

2013年10月10日 ⁄ 综合 ⁄ 共 589字 ⁄ 字号 评论关闭

上一篇文章中提到通过在运行时修改某一词汇至特定词汇进行识别,然而当需要测试的新词汇较多时,并且新增词汇相近时,对于运行时手动修改的工作量是巨大的。为了具有更好的扩展性,这里提出一种对新增词汇进行统一处理的方法。

 

在语言模型目录(及与DMP模型和DICT词典文件相同的目录)下新增一个文本文件,如new_dict.txt,对于需要新增的词汇只需要手动加入到new_dict.txt中,一行一个词及音元序列,如

 

守波 sh ou b o

赖守波 l ai sh ou b o

.............

 

同时需要在词典和模型处理的源代码文件中,添加对new_dict.txt进行处理的代码:

在词典的创建过程中,需要读取new_dict.txt文件,并将词语和音元序列进行对应,这里需要注意的是音元必须是70个基本音元之一,同时词语不能有重复;

在模型的创建过程中,可优先读出new_dict.txt文件中的词语数目,并自动丢弃原模型文件中5000个词语中与新词汇相同数目的词语。

这样,则在运行时进行了对词典和模型文件的自动更新,并且我们需要测试新的词汇时,只需要手动添加到new_dict.txt文件中一次即可,便可看到识别效果。

 

目前的测试结果仍是基于修改Unigram词表,更进一步的是,需要对Bigram和Trigram词表进行分析及更新,这样既能节省词表空间,同时结合HMM模型使识别结果更精确。

 

抱歉!评论已关闭.