2015-04-01 5 views
1

Я изучаю, как HTK Tools работает с распознаванием рукописного ввода. После ICFHR–2010 TUTORIAL я запускаю примеры для корпуса «Spanish-Numbers» и получил полученные HMM (файлы, хранящиеся в папке hmm и перечисленные в HMMsList), и res32.mlf с результатами распознавания, полученными с HVite. Также у меня есть файл мастер-ярлыков SamplesRef.mlf. И теперь я хочу увидеть статистику результатов поиска, то есть изучить инструмент HResults.Создание матрицы путаницы с HResults HTK Инструмент для распознавания рукописного ввода Пример ICFHR

Когда я бегу HResults в

HResults -I SamplesRef.mlf HMMsList res32.mlf 

Я вижу

====================== HTK Results Analysis ======================= 
    Date: Tue Mar 31 15:21:11 2015 
    Ref : SamplesRef.mlf 
    Rec : res32.mlf 
------------------------ Overall Results -------------------------- 
SENT: %Correct=0.00 [H=0, S=2, N=2] 
WORD: %Corr=77.78, Acc=77.78 [H=7, D=0, S=2, I=0, N=9] 
=================================================================== 

Но если добавить опцию -p для того, чтобы иметь спутанность матрицу я вижу следующее сообщение об ошибке:

~/icfhr$ HResults -p -I SamplesRef.mlf HMMsList res32.mlf 
ERROR [+3331] Index: Label millones not in list[0 of 19] 
FATAL ERROR - Terminating program HResults 

Я понимаю, что сообщение означает, что нет HMM с именем "millones" и я обнаружил, что в моих res32.mlf образцах выглядит следующим образом:

"’*’/210341.rec" 
mil 
seiscientos 
cincuenta 
y 
siete 
millones 
. 

Если изменить res32.mlf с текстовым редактором res33.mlf с содержанием как:

"’*’/210341.rec" 
m 
i 
l 
s 
e 
i 
s 
c 
i 

... и так далее.

И использовать samples.mlf (вместо SamplesRef.mlf), который внутри выглядит следующим образом:

"*/210341.lab" 
m 
i 
l 
@ 
q 
u 
i 
n 
i 
e 
n 
t 
o 
s 
@ 
c 

... и так далее.

У меня есть желаемый результат:

~/icfhr$ HResults -p -I samples.mlf HMMsList res33.mlf 
====================== HTK Results Analysis ======================= 
    Date: Tue Mar 31 15:35:42 2015 
    Ref : samples.mlf 
    Rec : res33.mlf 
------------------------ Overall Results -------------------------- 
SENT: %Correct=0.00 [H=0, S=2, N=2] 
WORD: %Corr=79.63, Acc=77.78 [H=43, D=5, S=6, I=1, N=54] 
------------------------ Confusion Matrix ------------------------- 
     a c d e i l m n o s t u v y Del [ %c/%e] 
    @ 0 0 0 0 0 1 1 0 0 0 0 0 0 0 5 [ 0.0/3.7] 
    a 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
    c 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 
    d 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 
    e 0 0 0 6 0 0 0 0 0 0 0 0 0 0 0 
    i 0 0 0 0 6 0 0 0 0 0 0 0 0 0 0 
    l 0 0 0 0 0 3 0 0 0 0 0 0 0 0 0 
    m 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 
    n 0 1 0 0 0 0 0 6 0 0 0 0 0 0 0 [85.7/1.9] 
    o 0 0 0 0 0 0 0 0 4 0 0 0 0 0 0 
    q 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 [ 0.0/1.9] 
    s 0 0 0 0 0 0 0 0 0 4 0 0 0 0 0 
    t 0 0 0 0 0 0 0 0 0 0 4 0 0 0 0 
    u 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 [50.0/1.9] 
    v 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 
    y 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 [50.0/1.9] 
Ins 0 0 0 0 0 0 0 0 0 1 0 0 0 0 
=================================================================== 

Итак, главный вопрос:

Что является самым простым способом (без текстового редактора), чтобы MLF-файлы адаптированы для создания путаницы матрицы ?

(я предполагаю, что я скучаю по какой вариант какой-то инструмент HTK ... но какой инструмент и какой вариант?)

Любые полезные идеи будут высоко оценены.

ответ

0

Для использования опции -p вам необходимо предоставить список ярлыков классов, а не ваших HMM (т.е. если вы пытаетесь распознать слова Yes, No, Never), то ваш файл «HMMsList» должно быть указано как:

Yes 
No 
Never 

Независимо от HMM, который фактически составляет слова. Ваш файл "HMMsList" должен быть "LabelsList"