Julius 4.2
|
状態の出力確率計算(第1パス) [詳細]
#include <julius/julius.h>
関数 | |
LOGPROB | outprob_style (WCHMM_INFO *wchmm, int node, int last_wid, int t, HTK_Param *param) |
木構造化辞書上の状態の出力確率を計算する. | |
void | error_missing_right_triphone (HMM_Logical *base, char *rc_name) |
トライフォンエラーメッセージ:右コンテキスト用 | |
void | error_missing_left_triphone (HMM_Logical *base, char *lc_name) |
トライフォンエラーメッセージ:左コンテキスト用 |
状態の出力確率計算(第1パス)
第1パスで,木構造化辞書上のノードの,入力ベクトルに対する HMM の 出力対数確率を計算する.
トライフォン使用時は,単語内の音素環境依存については辞書読み込み時に 考慮されて対応するトライフォンがすでに割り当てられているので,ここで 特別な処理は行われない. 単語先頭および末尾の音素は,木構造化辞書上では pseudo triphone が割り当たっており,これらについては,以下のように 単語間を音素環境依存性を考慮した計算が行われる.
上記の処理を行うには,木構造化辞書の状態ごとに,それぞれが単語内でどの 位置の音素に属する状態であるかの情報が必要である. 木構造化辞書では, 状態ごとに上記のどの処理を行えば良いかを AS_Style であらかじめ保持している.
また,上記の 2 と 4 の状態では,コンテキストに伴うtriphone変化を, 直前単語ID とともに状態ごとにフレーム単位でキャッシュしている. これにより 計算量の増大を防ぐ.
outprob_style.c で定義されています。
LOGPROB outprob_style | ( | WCHMM_INFO * | wchmm, |
int | node, | ||
int | last_wid, | ||
int | t, | ||
HTK_Param * | param | ||
) |
木構造化辞書上の状態の出力確率を計算する.
wchmm | [in] 木構造化辞書情報 |
node | [in] ノード番号 |
last_wid | [in] 直前単語(単語先頭のトライフォン計算に用いる) |
t | [in] 時間フレーム |
param | [in] 特徴量パラメータ構造体 (t 番目のベクトルについて計算する) |
< Local workarea for HMM name conversion
outprob_style.c の 354 行で定義されています。
参照元 bt_discount_pescore(), get_back_trellis_proceed(), と init_nodescore().
void error_missing_right_triphone | ( | HMM_Logical * | base, |
char * | rc_name | ||
) |
トライフォンエラーメッセージ:右コンテキスト用
指定した右コンテキストを持つトライフォンが 見つからなかった場合にエラーメッセージを出力する関数.
base | [in] ベースのトライフォン |
rc_name | [in] 右コンテキストの音素名 |
< Local workarea for HMM name conversion
outprob_style.c の 520 行で定義されています。
参照元 next_word(), と scan_word().
void error_missing_left_triphone | ( | HMM_Logical * | base, |
char * | lc_name | ||
) |
トライフォンエラーメッセージ:左コンテキスト用
指定した左コンテキストを持つトライフォンが 見つからなかった場合にエラーメッセージを出力する関数.
base | [in] ベースのトライフォン |
lc_name | [in] 左コンテキストの音素名 |
< Local workarea for HMM name conversion
outprob_style.c の 552 行で定義されています。
参照元 outprob_style(), と scan_word().