class Rlid::NaiveBayesPriorGuesser

class SmartBayesGuesser < LanguageGuesser

def initialize(default=1)
  #print "Smart Bayes: loading models.."
  @models = SmartBayesModels.new
  #puts " Done!"
end
def guess_language(string)
  results = @models.probabilities(string)
  results.delete :nnn
  tot = results.values.inject(0.0){|s,x| s+x}
  results.each_key do |lang|
    results[lang] /= tot
  end
  LanguageProbabilities.new(results)
end

end

Public Class Methods

new(prior=TestProbabilities.new(:eng)) click to toggle source
Calls superclass method Rlid::NaiveBayesGuesser::new
# File lib/rlid/language_guesser/naive_bayes_guesser.rb, line 73
def initialize(prior=TestProbabilities.new(:eng))
  if not prior.is_a?(LanguageProbabilities)
    raise InvalidArgument
  end
  @prior = prior
  super()
end

Public Instance Methods

guess_language(string) click to toggle source
# File lib/rlid/language_guesser/naive_bayes_guesser.rb, line 86
def guess_language(string)
  conditional = super_guess_language(string)
  (conditional * @prior).first
end
Also aliased as: super_guess_language
set_prior(prior) click to toggle source
# File lib/rlid/language_guesser/naive_bayes_guesser.rb, line 81
def set_prior(prior)
  @prior = prior
end
super_guess_language(string)
Alias for: guess_language