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