我的程序中有以下代码:
cmd_ln_t *config = cmd_ln_init(NULL, ps_args(), TRUE,
"-hmm", MODELDIR "/en-us/en-us",
"-lm", MODELDIR "/en-us/en-us.lm.bin",
"-dict", MODELDIR "/en-us/cmudict-en-us.dict",
NULL);
ps_decoder_t *ps = ps_init(config);
// ...
const char *text = recognizeFromFile(ps, fileName);
// ...
fprintf(stdout, "Recognized text: %s\n", text);
fprintf(stdout, "Confidence: %g%%\n", logmath_exp(ps_get_logmath(ps), ps_get_prob(ps)) * 100);
但每次我得到信心输出时,我所寻找的值似乎都没有正确打印出来。
例如,这里有一个例子,我说“test”并生成输出:
Recognized text: toes
Confidence: 8.17663%
...
Recognized text: test
Confidence: 0.195157%
正如你从我第一次说的时候可以看到的,程序猜错了我说的话,但仍然比它真正猜对的时候有更高的置信值。
从我从网上获得的信息来看,我认为我已经正确地计算了信心。这不正确吗?如何修复它以使输出更准确?