class Rlid::NaiveBayesProbabilityGuesser
Public Instance Methods
guess_language(string)
click to toggle source
# File lib/rlid/language_guesser/naive_bayes_guesser.rb, line 30 def guess_language(string) results = {} tot = 0.0 # for normalization @models.probabilities(string) do |lang, p| size = string.preprocess(3).size long = Math.log(1 + size) # higher means lower short = 1 exp = short/long prob = p**exp results[lang] = prob tot += prob end # normalize results.each_key do |k| results[k] /= tot if tot != 0 end LanguageProbabilities.new(results) end