Method: Igo::WordDic#initialize

Defined in:
lib/igo/dictionary.rb

#initialize(data_dir) ⇒ WordDic

コンストラクタ

data_dir

辞書ファイルのディレクトリパス



147
148
149
150
151
152
153
154
155
156
157
158
159
# File 'lib/igo/dictionary.rb', line 147

def initialize(data_dir)
  @trie = Searcher.new(data_dir + "/word2id")
  @data = FileMappedInputStream.get_string(data_dir + "/word.dat")
  @indices = FileMappedInputStream.get_int_array(data_dir + "/word.ary.idx")

  fmis = FileMappedInputStream.new(data_dir + "/word.inf")
  word_count = fmis.size / (4 + 2 + 2 + 2)
  @data_offsets = fmis.get_int_array(word_count)   # 単語の素性データの開始位置

  @left_ids     = fmis.get_short_array(word_count) # 単語の左文脈ID

  @right_ids    = fmis.get_short_array(word_count) # 単語の右文脈ID

  @costs        = fmis.get_short_array(word_count) # 単語のコスト

  fmis.close
end