0

我想使用 HTK 工具箱进行数字识别。所以我下载了它并阅读了有关如何使用它的说明!但是当我想使用时,HSGen我遇到了这个错误:

ERROR [+8250] ReadLattice: 23 Arcs unseen and 15 Nodes unseen
ERROR [+3410] GenSentences: ReadLattice failed
FATAL ERROR - Terminating program HSGen

所以我做的步骤如下:

做一个语法,我的文件内容与存储在名为gram的文件中完全相同:

    $digit = ONE|TWO|THREE|FOUR|FIVE|SIX|SEVEN|EIGHT|NINE|ZERO;

    (SENT-START ($digit) SENT-END)

使用HParse命令为这个语法建立一个网络,它的内容是(存储在一个名为wdnet的文件中):

I=0 W=!NULL
I=1 W=!NULL
I=10 W=SEVEN
I=11 W=EIGHT
I=12 W=NINE
I=13 W=ZERO
I=14 W=SENT-END
I=2 W=SENT-START
I=3 W=ONE
I=4 W=!NULL
I=5 W=TWO
I=6 W=THREE
I=7 W=FOUR
I=8 W=FIVE
I=9 W=SIX
J=0 S=14 E=1
J=1 S=0 E=2
J=10 S=11 E=4
J=11 S=12 E=4
J=12 S=13 E=4
J=13 S=2 E=5
J=14 S=2 E=6
J=15 S=2 E=7
J=16 S=2 E=8
J=17 S=2 E=9
J=18 S=2 E=10
J=19 S=2 E=11
J=2 S=2 E=3
J=20 S=2 E=12
J=21 S=2 E=13
J=22 S=4 E=14
J=3 S=3 E=4
J=4 S=5 E=4
J=5 S=6 E=4
J=6 S=7 E=4
J=7 S=8 E=4
J=8 S=9 E=4
J=9 S=10 E=4
N=15 L=23
VERSION=1.0

我有一个名为wlist2的单词列表文件,它的内容是:

    EIGHT
    FIVE
    FOUR
    NINE
    ONE
    SENT-END
    SENT-START
    SEVEN
    SIX
    THREE
    TWO
    ZERO

我使用HDMan命令来构建字典文件:

    HDMan -m -w wlist2 -n monophones -l dlog2 dict2 mbeep2

其中mbeep2是我的字典,其中包含我wlist2中每个单词的发音。输出文件在名为dict2的文件中创建。

通过此命令使用HSGen时:

    HSGen -l -n 200 wdnet dict2 > testprompets

我收到了这个错误:

ERROR [+8250] ReadLattice: 23 Arcs unseen and 15 Nodes unseen
ERROR [+3410] GenSentences: ReadLattice failed
FATAL ERROR - Terminating program HSGen

我搜索错误号,但找不到相关的解决方案!任何人都可以帮忙吗?

谢谢。

4

2 回答 2

0

不确定您的 wdnet 文件发生了什么,但不知何故,它的行顺序相反,而且它也遗漏了几行。您可能需要重复 HParse 命令:

 HParse gram wdnet

结果应如下所示:

VERSION=1.0
N=15   L=23   
I=0    W=!NULL               
I=1    W=!NULL               
I=2    W=SENT-START          
I=3    W=ONE                 
I=4    W=!NULL               
I=5    W=TWO                 
I=6    W=THREE               
I=7    W=FOUR                
I=8    W=FIVE                
I=9    W=SIX                 
I=10   W=SEVEN               
I=11   W=EIGHT               
I=12   W=NINE                
I=13   W=ZERO                
I=14   W=SENT-END            
J=0     S=14   E=1    
J=1     S=0    E=2    
J=2     S=2    E=3    
J=3     S=3    E=4    
J=4     S=5    E=4    
J=5     S=6    E=4    
J=6     S=7    E=4    
J=7     S=8    E=4    
J=8     S=9    E=4    
J=9     S=10   E=4    
J=10    S=11   E=4    
J=11    S=12   E=4    
J=12    S=13   E=4    
J=13    S=2    E=5    
J=14    S=2    E=6    
J=15    S=2    E=7    
J=16    S=2    E=8    
J=17    S=2    E=9    
J=18    S=2    E=10   
J=19    S=2    E=11   
J=20    S=2    E=12   
J=21    S=2    E=13   
J=22    S=4    E=14  
于 2013-12-07T10:33:48.993 回答
0

wdnet 中的变量 I 和 J 应该按顺序排列

于 2020-06-02T01:37:31.867 回答