class Mayhem
Constants
- VERSION
Public Class Methods
synonymize(input)
click to toggle source
# File lib/mayhem/synonymization.rb, line 5 def synonymize(input) text = input.to_s words = text.split("\s") words.map { |word| synonym(word) || word }.join(' ') end
Private Class Methods
data_directory()
click to toggle source
# File lib/mayhem/synonymization.rb, line 42 def data_directory specification = Gem::Specification.find_by_name('mayhem') File.join(specification.gem_dir, 'lib', 'data') end
lookup_table()
click to toggle source
# File lib/mayhem/synonymization.rb, line 21 def lookup_table return @lookup_table if @lookup_table @lookup_table = {} synonym_file = File.open(synonym_file_path) reader = Zlib::GzipReader.new(synonym_file) reader.readlines.first.split("\s").each do |line| words = line.split(',').map(&:strip) root = words.first related = words[1..-1] @lookup_table[root] = related end @lookup_table end
synonym(word)
click to toggle source
# File lib/mayhem/synonymization.rb, line 13 def synonym(word) candidate_list = lookup_table[word] candidate = candidate_list.sample if candidate_list if candidate && candidate != '' candidate end end
synonym_file_path()
click to toggle source
# File lib/mayhem/synonymization.rb, line 38 def synonym_file_path File.join(data_directory, 'mobythes.aur.gz') end