class Greetlang::Syntax
Public Class Methods
for_from()
click to toggle source
bayesian algorithm for detecting for_from
type.
# File lib/greetlang.rb, line 124 def self.for_from require "naive_bayes" a = NaiveBayes.new(:spam, :ham) # For or from a.train(:for, 'for', 'word') a.train(:from, 'from', 'word') b = $for_from.split(' ') puts a.classify(*b) end
greeting()
click to toggle source
bayesian algorithm for detecting greeting type.
# File lib/greetlang.rb, line 10 def self.greeting require "naive_bayes" a = NaiveBayes.new(:polite, :rude) # Polite greeting a.train(:polite, 'Hello', 'word') a.train(:polite, 'Hey', 'word') # Rude greeting a.train(:rude, 'Hi', 'word') a.train(:rude, 'Ahoy', 'word') a.train(:rude, 'Yo', 'word') b = $greeting.split(' ') a.classify(*b) end
irb()
click to toggle source
# File lib/greetlang.rb, line 7 def self.irb # bayesian algorithm for detecting greeting type. def self.greeting require "naive_bayes" a = NaiveBayes.new(:polite, :rude) # Polite greeting a.train(:polite, 'Hello', 'word') a.train(:polite, 'Hey', 'word') # Rude greeting a.train(:rude, 'Hi', 'word') a.train(:rude, 'Ahoy', 'word') a.train(:rude, 'Yo', 'word') b = $greeting.split(' ') a.classify(*b) end # bayesian algorithm for detecting request type. def self.request require "naive_bayes" a = NaiveBayes.new(:request, :demand) # Requests and demands. a.train(:request, 'may', 'word') a.train(:request, 'can', 'word') a.train(:demand, 'will', 'word') b = $request.split(' ') puts a.classify(*b) end # bayesian algorithm for detecting item type. def self.item require "naive_bayes" a = NaiveBayes.new(:item, :object) # Item and gender a.train(:item, 'some apples', 'word') a.train(:item, 'some bananas', 'word') a.train(:item, 'some oranges', 'word') a.train(:item, 'some strawberries', 'word') a.train(:item, 'some apricots', 'word') a.train(:item, 'some kiwis', 'word') a.train(:item, 'many apples', 'word') a.train(:item, 'many bananas', 'word') a.train(:item, 'many oranges', 'word') a.train(:item, 'many strawberries', 'word') a.train(:item, 'many apricots', 'word') a.train(:item, 'many kiwis', 'word') a.train(:item, 'a apple', 'word') a.train(:item, 'a banana', 'word') a.train(:item, 'a orange', 'word') a.train(:item, 'a strawberrie', 'word') a.train(:item, 'a apricot', 'word') a.train(:item, 'a kiwi', 'word') a.train(:item, 'some potatoes', 'word') a.train(:item, 'some tomatoes', 'word') a.train(:item, 'some eggplants', 'word') a.train(:item, 'some onions', 'word') a.train(:item, 'some garlic', 'word') a.train(:item, 'some peppers', 'word') a.train(:item, 'many potatoes', 'word') a.train(:item, 'many tomatoes', 'word') a.train(:item, 'many eggplants', 'word') a.train(:item, 'many onions', 'word') a.train(:item, 'many garlic', 'word') a.train(:item, 'many peppers', 'word') a.train(:item, 'a potatoe', 'word') a.train(:item, 'a tomatoe', 'word') a.train(:item, 'a eggplant', 'word') a.train(:item, 'a onion', 'word') a.train(:item, 'a garlic', 'word') a.train(:item, 'a pepper', 'word') # Object and gender a.train(:object, 'some microphones', 'word') a.train(:object, 'some laptops', 'word') a.train(:object, 'some mousepads', 'word') a.train(:object, 'some consoles', 'word') a.train(:object, 'some mugs', 'word') a.train(:object, 'some knives', 'word') a.train(:object, 'some spatulas', 'word') a.train(:object, 'some pans', 'word') a.train(:object, 'some pots', 'word') a.train(:object, 'many microphones', 'word') a.train(:object, 'many laptops', 'word') a.train(:object, 'many mousepads', 'word') a.train(:object, 'many consoles', 'word') a.train(:object, 'many mugs', 'word') a.train(:object, 'many knives', 'word') a.train(:object, 'many spatulas', 'word') a.train(:object, 'many pans', 'word') a.train(:object, 'many pots', 'word') a.train(:object, 'a microphones', 'word') a.train(:object, 'a laptops', 'word') a.train(:object, 'a mousepads', 'word') a.train(:object, 'a consoles', 'word') a.train(:object, 'a mugs', 'word') a.train(:object, 'a knives', 'word') a.train(:object, 'a spatulas', 'word') a.train(:object, 'a pans', 'word') a.train(:object, 'a pots', 'word') b = $item.split(' ') puts a.classify(*b) end # bayesian algorithm for detecting for_from type. def self.for_from require "naive_bayes" a = NaiveBayes.new(:spam, :ham) # For or from a.train(:for, 'for', 'word') a.train(:from, 'from', 'word') b = $for_from.split(' ') puts a.classify(*b) end def self.user_location require "naive_bayes" a = NaiveBayes.new(:state, :nonstate) # State a.train(:state, 'Tennessee', 'word') a.train(:state, 'Georgia', 'word') a.train(:state, 'Alabama', 'word') a.train(:state, 'Kentucky', 'word') a.train(:state, 'North Carolina', 'word') # Non State a.train(:state, 'Guillotine', 'word') a.train(:state, 'Park', 'word') a.train(:state, 'Wildlife', 'word') a.train(:state, 'Tree', 'word') b = $user_location.split(' ') puts a.classify(*b) end # Main interactive shell. loop do print "Greetlang(main) #{number}> " request = gets.chomp if request == "exit" puts "Goodbye!" abort end request = request.split(" ") $greeting = request[0] $request = request[1] $item = request[2] $for_from = request[3] $user_location = request[4] Greetlang::Syntax.irb.greeting Greetlang::Syntax.irb.request Greetlang::Syntax.irb.item Greetlang::Syntax.irb.for_from Greetlang::Syntax.irb.user_location end end
item()
click to toggle source
bayesian algorithm for detecting item type.
# File lib/greetlang.rb, line 46 def self.item require "naive_bayes" a = NaiveBayes.new(:item, :object) # Item and gender a.train(:item, 'some apples', 'word') a.train(:item, 'some bananas', 'word') a.train(:item, 'some oranges', 'word') a.train(:item, 'some strawberries', 'word') a.train(:item, 'some apricots', 'word') a.train(:item, 'some kiwis', 'word') a.train(:item, 'many apples', 'word') a.train(:item, 'many bananas', 'word') a.train(:item, 'many oranges', 'word') a.train(:item, 'many strawberries', 'word') a.train(:item, 'many apricots', 'word') a.train(:item, 'many kiwis', 'word') a.train(:item, 'a apple', 'word') a.train(:item, 'a banana', 'word') a.train(:item, 'a orange', 'word') a.train(:item, 'a strawberrie', 'word') a.train(:item, 'a apricot', 'word') a.train(:item, 'a kiwi', 'word') a.train(:item, 'some potatoes', 'word') a.train(:item, 'some tomatoes', 'word') a.train(:item, 'some eggplants', 'word') a.train(:item, 'some onions', 'word') a.train(:item, 'some garlic', 'word') a.train(:item, 'some peppers', 'word') a.train(:item, 'many potatoes', 'word') a.train(:item, 'many tomatoes', 'word') a.train(:item, 'many eggplants', 'word') a.train(:item, 'many onions', 'word') a.train(:item, 'many garlic', 'word') a.train(:item, 'many peppers', 'word') a.train(:item, 'a potatoe', 'word') a.train(:item, 'a tomatoe', 'word') a.train(:item, 'a eggplant', 'word') a.train(:item, 'a onion', 'word') a.train(:item, 'a garlic', 'word') a.train(:item, 'a pepper', 'word') # Object and gender a.train(:object, 'some microphones', 'word') a.train(:object, 'some laptops', 'word') a.train(:object, 'some mousepads', 'word') a.train(:object, 'some consoles', 'word') a.train(:object, 'some mugs', 'word') a.train(:object, 'some knives', 'word') a.train(:object, 'some spatulas', 'word') a.train(:object, 'some pans', 'word') a.train(:object, 'some pots', 'word') a.train(:object, 'many microphones', 'word') a.train(:object, 'many laptops', 'word') a.train(:object, 'many mousepads', 'word') a.train(:object, 'many consoles', 'word') a.train(:object, 'many mugs', 'word') a.train(:object, 'many knives', 'word') a.train(:object, 'many spatulas', 'word') a.train(:object, 'many pans', 'word') a.train(:object, 'many pots', 'word') a.train(:object, 'a microphones', 'word') a.train(:object, 'a laptops', 'word') a.train(:object, 'a mousepads', 'word') a.train(:object, 'a consoles', 'word') a.train(:object, 'a mugs', 'word') a.train(:object, 'a knives', 'word') a.train(:object, 'a spatulas', 'word') a.train(:object, 'a pans', 'word') a.train(:object, 'a pots', 'word') b = $item.split(' ') puts a.classify(*b) end
request()
click to toggle source
bayesian algorithm for detecting request type.
# File lib/greetlang.rb, line 30 def self.request require "naive_bayes" a = NaiveBayes.new(:request, :demand) # Requests and demands. a.train(:request, 'may', 'word') a.train(:request, 'can', 'word') a.train(:demand, 'will', 'word') b = $request.split(' ') puts a.classify(*b) end
user_location()
click to toggle source
# File lib/greetlang.rb, line 138 def self.user_location require "naive_bayes" a = NaiveBayes.new(:state, :nonstate) # State a.train(:state, 'Tennessee', 'word') a.train(:state, 'Georgia', 'word') a.train(:state, 'Alabama', 'word') a.train(:state, 'Kentucky', 'word') a.train(:state, 'North Carolina', 'word') # Non State a.train(:state, 'Guillotine', 'word') a.train(:state, 'Park', 'word') a.train(:state, 'Wildlife', 'word') a.train(:state, 'Tree', 'word') b = $user_location.split(' ') puts a.classify(*b) end