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

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

 

在语言模型目录(及与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模型使识别结果更精确。

 

你可能感兴趣的:(工作,测试,扩展,语言)