#include <julius.h>
search_bestfirst_main.cのインクルード依存関係図

関数 | |
| static NODE * | get_best_from_stack (NODE **start, int *stacknum) | 
| static int | put_to_stack (NODE *new, NODE **start, NODE **bottom, int *stacknum, int stacksize) | 
| static void | put_all_in_stack (NODE **start, int *stacknum) | 
| static void | free_all_nodes (NODE *node) | 
| static void | put_hypo_woutput (NODE *hypo) | 
| static void | put_hypo_wname (NODE *hypo) | 
| static NEXTWORD ** | nw_malloc (int *maxlen, NEXTWORD **root) | 
| static void | nw_free (NEXTWORD **nw, NEXTWORD *root) | 
| static int | can_put_to_stack (NODE *new, NODE **bottom, int *stacknum, int stacksize) | 
| static void | cm_init (WORD_INFO *winfo) | 
| static void | cm_store (NODE *new) | 
| static void | cm_sum_score () | 
| static void | cm_set_score (NODE *node) | 
| static NODE * | cm_get_node () | 
| static void | wb_init () | 
| static boolean | wb_ok (NODE *now) | 
| static void | envl_init (int framenum) | 
| static void | envl_update (NODE *n, int framenum) | 
| static void | result_reorder_and_output (NODE **r_start, NODE **r_bottom, int *r_stacknum, int ncan, WORD_INFO *winfo) | 
| void | wchmm_fbs (HTK_Param *param, BACKTRELLIS *backtrellis, LOGPROB backmax, int stacksize, int ncan, int maxhypo, int cate_bgn, int cate_num) | 
変数 | |
| static LOGPROB | cm_tmpbestscore | 
| Temporal best score for summing up scores.  | |
| static LOGPROB | cm_tmpsum | 
| Sum of CM score.  | |
| static int | l_stacksize | 
| Local stack size for CM.  | |
| static int | l_stacknum | 
| Num of hypo. in local stack for CM.  | |
| static NODE * | l_start = NULL | 
| Top node of local stack for CM.  | |
| static NODE * | l_bottom = NULL | 
| bottom node of local stack for CM  | |
| static int | hypo_len_count [MAXSEQNUM+1] | 
| Count of popped hypothesis per each length.  | |
| static int | maximum_filled_length | 
| Current least beam-filled depth.  | |
| static HTK_Param * | tparam | 
| Temporal parameter for forced alignment.  | |
単語の展開では、Julius では ngram_decode.c 内の関数が、Julian では dfa_decode.c の関数が次単語集合を取得するために使用されます。
単語信頼度の計算やビームを考慮したスコア計算、enveloped beam 探索も ここで記述されています。
search_bestfirst_main.c で定義されています。
      
  | 
  ||||||||||||
| 
 スタックトップの最尤仮説を取り出す. 
 
 
 search_bestfirst_main.c の 217 行で定義されています。 参照元 cm_get_node(), put_all_in_stack(), result_reorder_and_output(), と wchmm_fbs().  | 
  
      
  | 
  ||||||||||||||||||||||||
| 
 スタックに新たな仮説を格納する. スタック内のスコア順を考慮した位置に挿入される. 格納できなかった場合,与えられた仮説は free_node() される. 
 
 
 search_bestfirst_main.c の 300 行で定義されています。 参照元 cm_store(), と wchmm_fbs().  | 
  
      
  | 
  ||||||||||||
| 
 スタックの中身を全て出力する.スタックの中身は失われる.(デバッグ用) 
 
 search_bestfirst_main.c の 386 行で定義されています。 参照元 wchmm_fbs().  | 
  
      
  | 
  
| 
 スタック内の全仮説を解放する. 
 
 search_bestfirst_main.c の 411 行で定義されています。  | 
  
      
  | 
  
| 
 デバッグ用に仮説の単語列を表示する. 
 
 search_bestfirst_main.c の 932 行で定義されています。  | 
  
      
  | 
  
| 
 デバッグ用に仮説の単語N-gramエントリ名(Julianではカテゴリ番号)を出力する. 
 
 search_bestfirst_main.c の 958 行で定義されています。  | 
  
      
  | 
  ||||||||||||
| 
 次単語候補を格納するための NEXTWORD 配列にメモリを割り付ける. 
 
 
 search_bestfirst_main.c の 87 行で定義されています。 参照元 wchmm_fbs().  | 
  
      
  | 
  ||||||||||||
| 
 次単語候補を格納する NEXTWORD 配列のメモリを解放する. 
 
 search_bestfirst_main.c の 123 行で定義されています。 参照元 wchmm_fbs().  | 
  
      
  | 
  ||||||||||||||||||||
| 
 ある仮説がスタック内に格納されるかどうかチェックする. 
 
 
 search_bestfirst_main.c の 261 行で定義されています。 参照元 wchmm_fbs().  | 
  
      
  | 
  
| 
 CM計算用のパラメータを初期化する(第2パス開始時に呼び出される) 
 
 search_bestfirst_main.c の 470 行で定義されています。 参照元 wchmm_fbs().  | 
  
      
  | 
  
| 
 CM計算のためにローカルスタックに展開仮説を一時的に保存する. 
 
 search_bestfirst_main.c の 495 行で定義されています。 参照元 wchmm_fbs().  | 
  
      
  | 
  
| 
 CM計算のためにローカルスタック内の仮説の出現確率の合計を求める. search_bestfirst_main.c の 513 行で定義されています。 参照元 wchmm_fbs().  | 
  
      
  | 
  
| 
 展開されたある文仮説について,その展開単語の信頼度を,事後確率に 基づいて計算する. 
 
 search_bestfirst_main.c の 559 行で定義されています。 参照元 wchmm_fbs().  | 
  
      
  | 
  
| 
 CM計算用のローカルスタックから仮説を取り出す. 
 
 search_bestfirst_main.c の 589 行で定義されています。 参照元 wchmm_fbs().  | 
  
      
  | 
  
| 
 Word envelope 用にカウンタを初期化する. search_bestfirst_main.c の 731 行で定義されています。 参照元 wchmm_fbs().  | 
  
      
  | 
  
| 
 Word envelope を参照して,与えられた仮説を展開してよいかどうかを返す. また,Word envelope のカウンタを更新する. 
 
 
 search_bestfirst_main.c の 761 行で定義されています。 参照元 wchmm_fbs().  | 
  
      
  | 
  
| 
 Score envelope を初期化する.第2パスの開始時に呼ばれる. 
 
 search_bestfirst_main.c の 825 行で定義されています。 参照元 wchmm_fbs().  | 
  
      
  | 
  ||||||||||||
| 
 仮説の前向きスコアから score envelope を更新する. 
 
 search_bestfirst_main.c の 846 行で定義されています。 参照元 wchmm_fbs().  | 
  
      
  | 
  ||||||||||||||||||||||||
| 
 スタックから上位の仮説を取り出し,認識結果として出力する.さらに, スタックに格納されている全ての仮説を解放する. Julius/Julian では,第2パスにおいて得られた文候補は,いったん結果格納用 のスタックに格納される.探索終了("-n" の数だけ文候補が見つかるか, 探索が中断される)の後,結果的に得られた文候補の中から上位N個 ("-output" で指定された数)の仮説を出力する. 
 
 search_bestfirst_main.c の 1011 行で定義されています。 参照元 wchmm_fbs().  | 
  
      
  | 
  ||||||||||||||||||||||||||||||||||||
| 
 第2探索パスであるスタックデコーディングを行うメイン関数 
 
 search_bestfirst_main.c の 1083 行で定義されています。  | 
  
 1.4.2