HTK HSGen [+8250] ошибка?

Я хочу использовать набор инструментов 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

which 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

Я ищу номер ошибки, но не могу найти соответствующее решение! Кто-нибудь может помочь?

Благодарю.

1 ответ

Переменные I и J в вашем wdnet должны привести в порядок

Не уверен, что случилось с вашим файлом 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  
Другие вопросы по тегам