#include <julius.h>
outprob_style.cのインクルード依存関係図
関数 | |
void | outprob_style_cache_init (WCHMM_INFO *wchmm) |
CD_Set * | lcdset_lookup_with_category (WCHMM_INFO *wchmm, HMM_Logical *hmm, WORD_ID category) |
static void | lcdset_register_with_category (WCHMM_INFO *wchmm, HTK_HMM_INFO *hmminfo, DFA_INFO *dfa, HMM_Logical *hmm, WORD_ID category) |
ある単語末の音素について,カテゴリ付き pseudo phone set を生成する. | |
void | lcdset_register_with_category_all (WCHMM_INFO *wchmm, HTK_HMM_INFO *hmminfo, WORD_INFO *winfo, DFA_INFO *dfa) |
void | lcdset_remove_with_category_all (WCHMM_INFO *wchmm) |
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) |
変数 | |
static char | rbuf [MAX_HMMNAME_LEN] |
Local workarea for HMM name conversion | |
static char | lccbuf [MAX_HMMNAME_LEN+7] |
work area for HMM name conversion | |
static char | lccbuf2 [MAX_HMMNAME_LEN+7] |
work area for HMM name conversion |
トライフォン使用時は,単語内の音素環境依存については辞書読み込み時に 考慮されて対応するトライフォンがすでに割り当てられているので,ここで 特別な処理は行われない.単語先頭および末尾の音素は,木構造化辞書上では pseudo triphone が割り当たっており,これらについては,以下のように 単語間を音素環境依存性を考慮した計算が行われる.
上記の処理を行うには,木構造化辞書の状態ごとに,それぞれが単語内でどの 位置の音素に属する状態であるかの情報が必要である.木構造化辞書では, 状態ごとに上記のどの処理を行えば良いかを AS_Style であらかじめ保持している.
また,上記の 2 と 4 の状態では,コンテキストに伴うtriphone変化を, 直前単語ID とともに状態ごとにフレーム単位でキャッシュしている.これにより 計算量の増大を防ぐ.
outprob_style.c で定義されています。
void outprob_style_cache_init | ( | WCHMM_INFO * | wchmm | ) |
単語先頭のトライフォン変化用キャッシュを初期化
wchmm | [i/o] 木構造化辞書 |
outprob_style.c の 99 行で定義されています。
参照元 init_nodescore().
CD_Set* lcdset_lookup_with_category | ( | WCHMM_INFO * | wchmm, | |
HMM_Logical * | hmm, | |||
WORD_ID | category | |||
) |
Julian 用の単語末用カテゴリ付き pseudo phone set を検索する.
wchmm | [in] 木構造化辞書 | |
hmm | [in] 論理 HMM | |
category | [in] 属する単語カテゴリ |
outprob_style.c の 144 行で定義されています。
参照元 lcdset_register_with_category()・outprob_style()・wchmm_add_word().
static void lcdset_register_with_category | ( | WCHMM_INFO * | wchmm, | |
HTK_HMM_INFO * | hmminfo, | |||
DFA_INFO * | dfa, | |||
HMM_Logical * | hmm, | |||
WORD_ID | category | |||
) | [static] |
ある単語末の音素について,カテゴリ付き pseudo phone set を生成する.
Julian では,ある単語に後続可能な単語集合は文法によって制限される.よって, 単語末尾から次に後続しうる単語先頭音素の種類も文法によって限定 される.そこで,与えられた辞書上で,単語のカテゴリごとに,後続しうる先頭音素 をカテゴリ対情報から作成し,それらをカテゴリ付き pseudo phone set として 定義して単語終端に用いることで,Julian における単語間トライフォンの 近似誤差を小さくすることができる.
この phone set の名前は通常の "a-k" などと異なり "a-k::38" となる (数字はカテゴリID).ここでは,辞書を検索して可能なすべてのカテゴリ付き pseudo phone set を,生成する.これは通常の pseudo phone set とは別に 保持され,単語末端のみで使用される.
wchmm | [i/o] 木構造化辞書 | |
hmminfo | [in] 音素HMM定義構造体 | |
dfa | [in] DFA文法情報 | |
hmm | [in] これから登録する単語の終端の論理HMM | |
category | [in] これから登録する単語の文法カテゴリID |
outprob_style.c の 209 行で定義されています。
void lcdset_register_with_category_all | ( | WCHMM_INFO * | wchmm, | |
HTK_HMM_INFO * | hmminfo, | |||
WORD_INFO * | winfo, | |||
DFA_INFO * | dfa | |||
) |
辞書上のすべての単語について,その末尾に登場しうるカテゴリ付き pseudo phone set を生成する(Julian用).
wchmm | [i/o] 木構造化辞書情報 | |
hmminfo | [in] HMM定義構造体 | |
winfo | [in] 単語辞書情報 | |
dfa | [in] DFA文法情報 |
outprob_style.c の 273 行で定義されています。
void lcdset_remove_with_category_all | ( | WCHMM_INFO * | wchmm | ) |
カテゴリ付き pseudo phone set をすべて消去する.この関数は Julian で文法が 変更された際に,カテゴリ付き pseudo phone set を再構築するのに用いられる.
wchmm | [i/o] 木構造化辞書 |
outprob_style.c の 318 行で定義されています。
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 番目のベクトルについて計算する) |
outprob_style.c の 354 行で定義されています。
void error_missing_right_triphone | ( | HMM_Logical * | base, | |
char * | rc_name | |||
) |
指定した右コンテキストを持つトライフォンが 見つからなかった場合にエラーメッセージを出力する関数.
base | [in] ベースのトライフォン | |
rc_name | [in] 右コンテキストの音素名 |
outprob_style.c の 513 行で定義されています。
参照元 lcdset_register_with_category()・next_word()・scan_word().
void error_missing_left_triphone | ( | HMM_Logical * | base, | |
char * | lc_name | |||
) |
指定した左コンテキストを持つトライフォンが 見つからなかった場合にエラーメッセージを出力する関数.
base | [in] ベースのトライフォン | |
lc_name | [in] 左コンテキストの音素名 |
outprob_style.c の 538 行で定義されています。