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