#include <julius.h>
dfa_decode.cのインクルード依存関係図
関数 | |
int | dfa_firstwords (NEXTWORD **nw, int peseqlen, int maxnw, DFA_INFO *dfa) |
int | dfa_nextwords (NODE *hypo, NEXTWORD **nw, int maxnw, DFA_INFO *dfa) |
boolean | dfa_acceptable (NODE *hypo, DFA_INFO *dfa) |
boolean | dfa_look_around (NEXTWORD *nword, NODE *hypo, BACKTRELLIS *bt) |
Julian ではショートポーズは単語レベルで記述し,そのショートポーズ単語の 出現位置を文法で指定する.ただし,実際の入力ではその想定した位置に 必ずしもポーズが入らないため,次単語予測においてはショートポーズを 挟む場合と挟まない場合を考慮する必要がある.このため, 次単語集合にショートポーズがある場合は,さらにその次の単語集合まで見て 次単語集合に含める.実際にそこにショートポーズが挿入されるかどうかは, search_bestfirst_main.c で両者のスコアを比較して判断する.
Julian では dfa_firstwords(), dfa_nextwords(), dfa_acceptable(), dfa_eosscore() が第2パスのメイン関数 wchmm_fbs() から使用される. なお Julius では代わりに ngram_decode.c 内の関数が使われる.
dfa_decode.c で定義されています。
文法にしたがって,文頭に接続しうる単語を最初の予測単語群として返す.
nw | [out] 次単語集合の格納先へのポインタ | |
peseqlen | [in] 入力フレーム長 | |
maxnw | [in] nw の許される最大長 | |
dfa | [in] DFA文法構造体 |
dfa_decode.c の 86 行で定義されています。
参照元 wchmm_fbs().
部分文仮説に対して,文法に従って次に接続しうる単語群を返す.
hypo | [in] 展開元の部分文仮説 | |
nw | [out] 次単語集合の格納先へのポインタ | |
maxnw | [in] nw の許される最大長 | |
dfa | [in] DFA文法構造体 |
dfa_decode.c の 144 行で定義されています。
部分文仮説が文法上文として最終(受理可能)状態にあるかどうかを返す.
hypo | [in] 部分文仮説 | |
dfa | [in] DFA文法構造体 |
dfa_decode.c の 201 行で定義されています。
boolean dfa_look_around | ( | NEXTWORD * | nword, | |
NODE * | hypo, | |||
BACKTRELLIS * | bt | |||
) |
次単語候補がその推定された接続予測点の前後の単語トレリス上に あるかどうかをチェックし,もしあればそのトレリス単語へのポインタをセット する.なお最尤の接続点はあとで決まるので,ここでは最適なトレリス単語 でなくてよい.
nword | [i/o] 次単語候補 (対応するトレリス単語へのポインタが セットされる) | |
hypo | [in] 展開元仮説 | |
bt | [in] 単語トレリス構造体 |
dfa_decode.c の 242 行で定義されています。