class TfIdf::Utility
ユーティリティクラス
Constants
- N
(仮の)インデックス数
Public Class Methods
create_dic()
click to toggle source
df.dicからidf.dicを生成する
# File lib/utility.rb, line 17 def self.create_dic dfs = self.df_load() idfs = self.create_idf(dfs) self.idf_save(idfs) puts "complete." puts "size=#{idfs.size} average=#{idfs.average}" end
get_inverse(df_value)
click to toggle source
DF値からiDF値を取得する IDF = log(N
/ DF)
- df_value
-
DF値
# File lib/utility.rb, line 28 def self.get_inverse(df_value) return df_value > 0 ? Math::log(N / df_value) : 0 end
Private Class Methods
create_idf(dfs)
click to toggle source
DFsオブジェクトからIDFsオブジェクトを生成する
- dfs
-
DFsオブジェクト
# File lib/utility.rb, line 36 def self.create_idf(dfs) idfs = IDFs.new total = 0 dfs.all.each_pair { |k, v| idf = TfIdf::Utility.get_inverse(v) idfs.set(k, idf) total += idf } idfs.size = dfs.all.size idfs.average = total / idfs.size return idfs end
df_load()
click to toggle source
df.dicを読み込む
# File lib/utility.rb, line 50 def self.df_load() df_dic = File.dirname(__FILE__) + '/../dic/#{Version.ruby}/df.dic' unless File::exists?(df_dic) raise end File::open(df_dic) { |f| return Marshal.load(f) } end
idf_save(idfs)
click to toggle source
idf.dicを保存する
# File lib/utility.rb, line 61 def self.idf_save(idfs) idf_dic = File.dirname(__FILE__) + '/../dic/#{Version.ruby}/idf.dic' File::open(idf_dic, 'wb') { |f| Marshal.dump(idfs, f) } end