関数 | |
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) |
グローバル文法の末尾に文法を追加する. | |
void | 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) |
単語カテゴリの属する文法を得る. | |
void | multigram_free_all (MULTIGRAM *root) |
保持している文法をすべて解放する。 | |
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 の 384 行で定義されています。
参照元 multigram_update().
static boolean multigram_exec_activate | ( | PROCESS_LM * | lm | ) | [static] |
文法の有効化・無効化を実行する.
lm | [i/o] 言語処理インスタンス |
multi-gram.c の 555 行で定義されています。
参照元 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 の 786 行で定義されています。
boolean multigram_load_all_gramlist | ( | PROCESS_LM * | lm | ) |
起動時に指定されたすべての文法をロードする.
lm | [i/o] 言語処理インスタンス |
multi-gram.c の 883 行で定義されています。
参照元 j_load_lm().
void multigram_free_all | ( | MULTIGRAM * | root | ) |
保持している文法をすべて解放する。
root | [in] root pointer of grammar list |
multi-gram.c の 986 行で定義されています。
参照元 j_process_lm_free().