class NaiveBayes::Backend::Redis
Public Class Methods
new(categories, options={})
click to toggle source
# File lib/nb/backend/redis.rb, line 46 def initialize(categories, options={}) @redis = ::Redis.new(options) @_categories = categories setup end
Public Instance Methods
categories()
click to toggle source
# File lib/nb/backend/redis.rb, line 54 def categories @redis.smembers("nb:set:categories").map(&:to_sym) end
categories_count()
click to toggle source
# File lib/nb/backend/redis.rb, line 58 def categories_count @categories_count ||= RedisHash.new(@redis, "nb:hash:categories_count") end
clear!()
click to toggle source
# File lib/nb/backend/redis.rb, line 66 def clear! @redis.flushall setup categories.each do |category| self.categories_count[category] = 0 end end
setup()
click to toggle source
# File lib/nb/backend/redis.rb, line 76 def setup @redis.sadd "nb:set:categories", @_categories categories.each do |category| # @tokens_count[category] = Hash.new(0) self.tokens_count[category] = RedisHash.new(@redis, "nb:hash:tokens_count:#{category}") end end
tokens_count()
click to toggle source
# File lib/nb/backend/redis.rb, line 62 def tokens_count @tokens_count ||= Hash.new end
train(category, *tokens)
click to toggle source
# File lib/nb/backend/redis.rb, line 85 def train(category, *tokens) tokens.uniq.each do |token| self.tokens_count[category].incr(token) end self.categories_count.incr(category) end
untrain(category, *tokens)
click to toggle source
# File lib/nb/backend/redis.rb, line 93 def untrain(category, *tokens) tokens.uniq.each do |token| self.tokens_count[category][token].decr(token) end self.categories_count.decr(category) end