1

CMU Sphinx のレコグナイザーの出力 (つまり、リスト < 仮説 (つまり、句)、スコア (対数) > test_ps_nbest.c を微調整して取得) を次の形式に変換しようとしています: リスト < 仮説 (つまり、句)、「確率」 (間0 と 1) >

私が現在使用している簡単な方法は次のとおりです。

  1. 各信頼スコアを言語の重みで割ります (例: 11)
  2. ログドメインの信頼スコアのリストを正規化します
  3. 出力確率 = exp(正規化された信頼スコア)

問題は、上記の方法からの出力確率が偏っていることです。確率の偏りを得るために使用できる提案はありますか?

バイアスを修正するために実装する必要があるメソッドの例:

vector < double > getBias(vector < string > phrases, vector < double > logConfidenceScores)

上記の説明の入力例:

< "HE GOT IN OUR HEAD HEART LUNG AND HE MARKED IT", -43278 >

< "彼は私たちのクラスでお金を手に入れ、それをマークしました", -43449 >

< 彼は心臓の肺に力を入れ、それをマークしました", -43368 >

4

1 に答える 1

1
A trivial method which I am using now is as follows:
Divide each confidence score by language weight (eg: 11)

まず第一に、それは信頼スコアではなくスコアです。なぜ分けますか?リストのスコアも音響スコアです。言語の重みはここでは意味がありません

Normalize the list of confidence score in log domain

これも、説明できない巨大な確率質量があるため、無意味なことです。

Output probability = exp(normalized confidence score)

アクションのシーケンスには数学的な意味はありませんが、良い結果が得られなかったのは不思議ではありません。

発話ごとの信頼スコアが必要な場合は、最初に理論を確認することをお勧めします。

http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.93.6890&rep=rep1&type=pdf

于 2012-06-03T06:05:31.480 に答える