関数 | |
| static boolean | multigram_rebuild_wchmm (RecogProcess *r) |
| boolean | multigram_build (RecogProcess *r) |
| グローバル文法を調べ,必要があれば木構造化辞書を(再)構築する. | |
| static boolean | multigram_append_to_global (DFA_INFO *gdfa, WORD_INFO *gwinfo, MULTIGRAM *m) |
| グローバル文法の末尾に文法を追加する. | |
| int | multigram_add (DFA_INFO *dfa, WORD_INFO *winfo, char *name, PROCESS_LM *lm) |
| 新たな文法を,文法リストに追加する. | |
| boolean | multigram_delete (int delid, PROCESS_LM *lm) |
| 文法を削除する. | |
| void | multigram_delete_all (PROCESS_LM *lm) |
| すべての文法を次回更新時に削除するようマークする. | |
| static boolean | multigram_exec_delete (PROCESS_LM *lm) |
| 削除マークのついた文法をリストから削除する. | |
| int | multigram_activate (int gid, PROCESS_LM *lm) |
| 文法を有効化する. | |
| int | multigram_deactivate (int gid, PROCESS_LM *lm) |
| 文法を無効化する. | |
| static boolean | multigram_exec_activate (PROCESS_LM *lm) |
| 文法の有効化・無効化を実行する. | |
| boolean | multigram_update (PROCESS_LM *lm) |
| グローバル文法の更新 | |
| static boolean | multigram_read_file_and_add (char *dfa_file, char *dict_file, PROCESS_LM *lm) |
| dfaファイルとdictファイルを読み込んで文法リストに追加する. | |
| boolean | multigram_load_all_gramlist (PROCESS_LM *lm) |
| 起動時に指定されたすべての文法をロードする. | |
| int | multigram_get_all_num (PROCESS_LM *lm) |
| 現在ある文法の数を得る(active/inactiveとも). | |
| int | multigram_get_gram_from_category (int category, PROCESS_LM *lm) |
| 単語カテゴリの属する文法を得る. | |
| int | multigram_get_gram_from_wid (WORD_ID wid, PROCESS_LM *lm) |
| 単語IDから属する文法を得る. | |
| void | multigram_free_all (MULTIGRAM *root) |
| 保持している文法をすべて解放する。 | |
| int | multigram_get_id_by_name (PROCESS_LM *lm, char *gramname) |
| LM中の文法を名前で検索し,その文法IDを返す. | |
| MULTIGRAM * | multigram_get_grammar_by_name (PROCESS_LM *lm, char *gramname) |
| LM中の文法を名前で検索する. | |
| MULTIGRAM * | multigram_get_grammar_by_id (PROCESS_LM *lm, unsigned short id) |
| LM中の文法を ID 番号で検索する. | |
| boolean | multigram_add_words_to_grammar (PROCESS_LM *lm, MULTIGRAM *m, WORD_INFO *winfo) |
| 単語集合を文法に追加する. | |
| boolean | multigram_add_words_to_grammar_by_name (PROCESS_LM *lm, char *gramname, WORD_INFO *winfo) |
| 名前で指定された文法に単語集合を追加する. | |
| boolean | multigram_add_words_to_grammar_by_id (PROCESS_LM *lm, unsigned short id, WORD_INFO *winfo) |
| 番号で指定された文法に単語集合を追加する. | |
このファイルには,認識用文法の読み込みと管理を行う関数が含まれています. これらの関数は,文法ファイルの読み込み,および各種データの セットアップを行います.
複数文法の同時認識に対応しています. 複数の文法を一度に読み込んで, 並列に認識を行えます. また,モジュールモードでは,クライアントから 認識実行中に文法を動的に追加・削除したり,一部分の文法を無効化・ 有効化したりできます. また与えられた個々の文法ごとに認識結果を 出すことができます.
与えられた(複数の)文法は一つのグローバル文法として結合され, 文法の読み込みや削除などの状態変更を行ったとき,更新されます. 結合された構文規則 (DFA) が global_dfa に,語彙辞書が global_winfo に それぞれローカルに格納されます. これらは適切なタイミングで multigram_build() が呼び出されたときに,global.h 内の大域変数 dfa および winfo にコピーされ,認識処理において使用されるようになります.
multi-gram.c で定義されています。
| static boolean multigram_append_to_global | ( | DFA_INFO * | gdfa, | |
| WORD_INFO * | gwinfo, | |||
| MULTIGRAM * | m | |||
| ) | [static] |
グローバル文法の末尾に文法を追加する.
もとの文法構造体には,グローバル文法のどの位置にその文法が追加 されたか,そのカテゴリ番号と辞書番号の範囲が記録される.
| gdfa | [i/o] 結合先の文法のDFA情報 | |
| gwinfo | [i/o] 結合先の文法の辞書情報 | |
| m | [i/o] 結合する文法情報. |
multi-gram.c の 211 行で定義されています。
参照元 multigram_update().
| static boolean multigram_exec_delete | ( | PROCESS_LM * | lm | ) | [static] |
削除マークのついた文法をリストから削除する.
| lm | [i/o] 言語処理インスタンス |
multi-gram.c の 390 行で定義されています。
参照元 multigram_update().
| static boolean multigram_exec_activate | ( | PROCESS_LM * | lm | ) | [static] |
文法の有効化・無効化を実行する.
| lm | [i/o] 言語処理インスタンス |
multi-gram.c の 559 行で定義されています。
参照元 multigram_update().
| static boolean multigram_read_file_and_add | ( | char * | dfa_file, | |
| char * | dict_file, | |||
| PROCESS_LM * | lm | |||
| ) | [static] |
dfaファイルとdictファイルを読み込んで文法リストに追加する.
| dfa_file | [in] dfa ファイル名 | |
| dict_file | [in] dict ファイル名 | |
| lm | [i/o] 言語処理インスタンス |
multi-gram.c の 791 行で定義されています。
| boolean multigram_load_all_gramlist | ( | PROCESS_LM * | lm | ) |
起動時に指定されたすべての文法をロードする.
| lm | [i/o] 言語処理インスタンス |
multi-gram.c の 886 行で定義されています。
参照元 j_load_lm().
呼出しグラフ:

| void multigram_free_all | ( | MULTIGRAM * | root | ) |
保持している文法をすべて解放する。
| root | [in] root pointer of grammar list |
multi-gram.c の 1027 行で定義されています。
参照元 j_process_lm_free().
呼出しグラフ:

1.5.1