Class: TfIdf::Utility
- Inherits:
-
Object
- Object
- TfIdf::Utility
- Defined in:
- lib/utility.rb
Overview
ユーティリティクラス
Constant Summary collapse
- N =
(仮の)インデックス数
20000000000
Class Method Summary collapse
-
.create_dic ⇒ Object
df.dicからidf.dicを生成する.
-
.create_idf(dfs) ⇒ Object
- DFsオブジェクトからIDFsオブジェクトを生成する dfs
DFsオブジェクト.
-
.df_load ⇒ Object
df.dicを読み込む.
-
.get_inverse(df_value) ⇒ Object
- DF値からiDF値を取得する IDF = log(N / DF) df_value
DF値.
-
.idf_save(idfs) ⇒ Object
idf.dicを保存する.
Class Method Details
.create_dic ⇒ Object
df.dicからidf.dicを生成する
18 19 20 21 22 23 24 |
# File 'lib/utility.rb', line 18 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 |
.create_idf(dfs) ⇒ Object
DFsオブジェクトからIDFsオブジェクトを生成する
- dfs
DFsオブジェクト
37 38 39 40 41 42 43 44 45 46 47 48 |
# File 'lib/utility.rb', line 37 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 ⇒ Object
df.dicを読み込む
51 52 53 54 55 56 57 58 59 |
# File 'lib/utility.rb', line 51 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 |
.get_inverse(df_value) ⇒ Object
DF値からiDF値を取得する IDF = log(N / DF)
- df_value
DF値
29 30 31 |
# File 'lib/utility.rb', line 29 def self.get_inverse(df_value) return df_value > 0 ? Math::log(N / df_value) : 0 end |
.idf_save(idfs) ⇒ Object
idf.dicを保存する
62 63 64 65 66 67 |
# File 'lib/utility.rb', line 62 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 |