#include <sent/stddefs.h>
#include <sent/ptree.h>
#include <sent/vocabulary.h>
ngram2.hのインクルード依存関係図
このグラフは、どのファイルから直接、間接的にインクルードされているかを示しています。
マクロ定義 | |
#define | MAX_N 3 |
Maximum number of N (now fixed to trigram). | |
#define | NNID_INVALID -1 |
Value to indicate no id. | |
#define | NNID_INVALID_UPPER 255 |
Value to indicate no id at NNID_UPPER. | |
#define | NNIDMAX 16711680 |
Allowed maximum number of NNID (255*65536). | |
#define | BINGRAM_IDSTR "julius_bingram_v3" |
Header string to identify version of bingram (v3: <= rev.3.4.2). | |
#define | BINGRAM_IDSTR_V4 "julius_bingram_v4" |
Header string to identify version of bingram (v4: >= rev.3.5). | |
#define | BINGRAM_HDSIZE 512 |
Bingram header size in bytes. | |
#define | BINGRAM_SIZESTR_HEAD "word=" |
Bingram header info string to identify the unit byte (head). | |
#define | BINGRAM_SIZESTR_BODY "2byte(unsigned short)" |
Bingram header info string to identify the unit byte (body). | |
#define | BINGRAM_BYTEORDER_HEAD "byteorder=" |
Bingram header info string to identify the byte order (head) (v4). | |
#define | BINGRAM_NATURAL_BYTEORDER "LE" |
Bingram header info string to identify the byte order (body) (v4). | |
型定義 | |
typedef unsigned char | NNID_UPPER |
Type definition for N-gram word ID. | |
typedef unsigned short | NNID_LOWER |
Type definition for N-gram word ID. | |
typedef int | NNID |
Type definition for N-gram word ID. | |
関数 | |
NNID | search_bigram (NGRAM_INFO *ndata, WORD_ID w_l, WORD_ID w_r) |
LOGPROB | uni_prob (NGRAM_INFO *ndata, WORD_ID w) |
LOGPROB | bi_prob_lr (NGRAM_INFO *ndata, WORD_ID w1, WORD_ID w2) |
LOGPROB | bi_prob_rl (NGRAM_INFO *ndata, WORD_ID w1, WORD_ID w2) |
LOGPROB | tri_prob_rl (NGRAM_INFO *ndata, WORD_ID w1, WORD_ID w2, WORD_ID w3) |
boolean | ngram_read_arpa (FILE *fp, NGRAM_INFO *ndata, int direction) |
void | set_unknown_id (NGRAM_INFO *ndata) |
Set unknown word ID to the N-gram data. | |
boolean | ngram_read_bin (FILE *fp, NGRAM_INFO *ndata) |
boolean | ngram_write_bin (FILE *fp, NGRAM_INFO *ndata, char *header_str) |
void | ngram_make_lookup_tree (NGRAM_INFO *ndata) |
WORD_ID | ngram_lookup_word (NGRAM_INFO *ndata, char *wordstr) |
WORD_ID | make_ngram_ref (NGRAM_INFO *, char *) |
NGRAM_INFO * | ngram_info_new () |
void | ngram_info_free (NGRAM_INFO *ngram) |
void | init_ngram_bin (NGRAM_INFO *ndata, char *ngram_file) |
void | init_ngram_arpa (NGRAM_INFO *ndata, char *lrfile, char *rlfile) |
void | ngram_compact_bigram_context (NGRAM_INFO *ndata) |
void | print_ngram_info (NGRAM_INFO *ndata) |
void | make_voca_ref (NGRAM_INFO *ndata, WORD_INFO *winfo) |
Julius では,前向き2-gramと後向き3-gram を用います.入力ファイル形式は ARPA形式とJulius独自のバイナリ形式の2つをサポートしています. 前者の場合,前向き2-gram と後向き3-gram をそれぞれ別々のファイルとして 指定します.後者の場合,それらが統合された1つのバイナリファイルを 読み込みます.読み込みは後者のほうが高速です.なお,Julius 内部では, どちらも同じ構造体 NGRAM_INFO に格納されます.
上記の前提のほとんどは,これらの2つのN-gramを同一のコーパスから 学習することで満たされます.最後の条件については,3-gram のカットオフ 値に 2-gram のカットオフ値と同値かそれ以上の値を指定すればOKです. 与えられたN-gramが上記を満たさない場合,Julius はエラーを出します.
ngram2.h で定義されています。
|
Search for 2-gram tuple (w_l, w_r) in the 2-gram part of N-gram.
ngram_access.c の 39 行で定義されています。 参照元 add_bigram_rl(), bi_prob_lr(), bi_prob_rl(), set_trigram(), と tri_prob_rl(). |
|
Get 1-gram probability of
ngram_access.c の 154 行で定義されています。 参照元 build_wchmm2(), get_nbest_uniprob(), max_successor_prob(), と pick_backtrellis_words(). |
|
Get LR 2-gram probability of word/class sequence
ngram_access.c の 175 行で定義されています。 参照元 calc_successor_prob(), max_successor_prob(), と max_successor_prob_iw(). |
|
Get RL 2-gram probability of word/class sequence
ngram_access.c の 206 行で定義されています。 |
|
Get RL 3-gram probability of word/class sequence
ngram_access.c の 239 行で定義されています。 |
|
Read in one ARPA N-gram file, either LR 2-gram or RL 3-gram.
ngram_read_arpa.c の 518 行で定義されています。 参照元 init_ngram_arpa(). |
|
Set unknown word ID to the N-gram data. In CMU-Cam SLM toolkit, OOV words are always mapped to <unk>, which always appear at the very beginning of N-gram entry, so we fix the unknown word ID at "0".
ngram_read_arpa.c の 72 行で定義されています。 参照元 ngram_read_arpa(), と ngram_read_bin(). |
|
Read a N-gram binary file and store to data.
ngram_read_bin.c の 163 行で定義されています。 参照元 init_ngram_bin(). |
|
Write a whole N-gram data in binary format.
ngram_write_bin.c の 128 行で定義されています。 |
|
Make index tree for searching N-gram ID from the entry name.
ngram_lookup.c の 34 行で定義されています。 参照元 ngram_read_bin(). |
|
Look up N-gram ID by entry name.
ngram_lookup.c の 64 行で定義されています。 |
|
Return N-gram ID of entry name, or unknown class ID if not found.
ngram_lookup.c の 84 行で定義されています。 参照元 make_voca_ref(). |
|
Allocate a new N-gram structure.
ngram_malloc.c の 33 行で定義されています。 参照元 initialize_ngram(). |
|
Free N-gram data.
ngram_malloc.c の 48 行で定義されています。 |
|
Read and setup N-gram data from binary format file.
init_ngram.c の 35 行で定義されています。 参照元 initialize_ngram(). |
|
Read and setup N-gram data from ARPA format files of 2-gram and 3-gram.
init_ngram.c の 60 行で定義されています。 参照元 initialize_ngram(). |
|
Compact the 2-gram context information.
ngram_read_arpa.c の 630 行で定義されています。 参照元 ngram_read_arpa(), と ngram_read_bin(). |
|
Output misccelaneous information of N-gram to standard output.
ngram_util.c の 97 行で定義されています。 参照元 print_info(). |
|
Make correspondence between word dictionary and N-gram vocabulary.
init_ngram.c の 100 行で定義されています。 参照元 initialize_ngram(). |