Module: Akiva::Brain::Helpers
- Defined in:
- lib/akiva/core_brain/helpers/misc.rb,
lib/akiva/core_brain/helpers/units.rb,
lib/akiva/core_brain/helpers/comparison_adjectives_to_properties.rb
Defined Under Namespace
Classes: Units
Constant Summary collapse
- ComparisonAdjectivesToProperties =
{ "bigger" => {properties: %w(size), comparator: "superior"}, "blacker" => {properties: %w(blackness), comparator: "superior"}, "bolder" => {properties: %w(boldness), comparator: "superior"}, "braver" => {properties: %w(courage), comparator: "superior"}, "brighter" => {properties: %w(brightness), comparator: "superior"}, "busier" => {properties: %w(business), comparator: "superior"}, # "cleaner" => {properties: %w(cleanliness)}, "clearer" => {properties: %w(clearness), comparator: "superior"}, # "cleverer" => {properties: %w(cleverness)}, "colder" => {properties: %w(temperature), comparator: "inferior"}, "cooler" => {properties: %w(temperature), comparator: "inferior"}, "darker" => {properties: %w(luminosity), comparator: "inferior"}, # "dearer" => {properties: %w(dearness)}, "deeper" => {properties: %w(depth), comparator: "superior"}, # "dirtier" => {properties: %w(dirtiness)}, "drier" => {properties: %w(humidity), comparator: "inferior"}, # "easier" => {properties: %w(easiness)}, # "fairer" => {properties: %w(fairness)}, "faster" => {properties: %w(speed), comparator: "superior"}, "fatter" => {properties: %w(fatness), comparator: "superior"}, # "finer" => {properties: %w()}, "funnier" => {properties: %w(funniness), comparator: "superior"}, "greater" => {properties: %w(greatness), comparator: "superior"}, "greener" => {properties: %w(greeness), comparator: "superior"}, # "happier" => {properties: %w(happiness)}, # "harder" => {properties: %w(hardness)}, "healthier" => {properties: %w(healthiness)}, "heavier" => {properties: ["weight", "average weight"], comparator: "superior"}, # "higher" => {properties: %w(highness)}, "hotter" => {properties: %w(temperature), comparator: "superior"}, # "kinder" => {properties: %w(kindness)}, "larger" => {properties: %w(size), comparator: "superior"}, # "later" => {properties: %w(timing)}, # "lazier" => {properties: %w(laziness)}, "lighter" => {properties: ["weight", "average weight"], comparator: "inferior"}, "longer" => {properties: %w(size duration), comparator: "superior"}, # "lower" => {properties: %w(lowerness)}, # "luckier" => {properties: %w(luck)}, # "madder" => {properties: %w(madness)}, # "merrier" => {properties: %w(merriness)}, # "narrower" => {properties: %w(narrowness)}, # "naughtier" => {properties: %w(naughtiness)}, # "nearer" => {properties: %w(nearness)}, "newer" => {properties: ["age", "creation date", "release date"], comparator: "inferior"}, # "noiser" => {properties: %w(noisiness)}, "older" => {properties: ["age", "creation date", "release date"], comparator: "superior"}, # "paler" => {properties: %w(paleness)}, "poorer" => {properties: ["net worth"], comparator: "inferior"}, # "prettier" => {properties: %w(prettiness)}, # "prouder" => {properties: %w(proudness)}, "quicker" => {properties: %w(speed), comparator: "superior"}, # "redder" => {properties: %w(redness)}, "richer" => {properties: ["net worth"], comparator: "superior"}, # "sadder" => {properties: %w(sadness)}, # "saffer" => {properties: %w(safeness)}, # "shallower" => {properties: %w(shallowness)}, # "sharper" => {properties: %w(sharpness)}, "shorter" => {properties: %w(size duration), comparator: "inferior"}, # "shallower" => {properties: %w(shallowness)}, "slower" => {properties: %w(speed), comparator: "inferior"}, "smaller" => {properties: %w(size duration), comparator: "inferior"}, # "smoother" => {properties: %w(smoothness)}, "stronger" => {properties: %w(power), comparator: "superior"}, # "sweeter" => {properties: %w(sweetness)}, "taller" => {properties: %w(height size), comparator: "superior"}, # "thicker" => {properties: %w(thickness)}, "thinner" => {properties: %w(size), comparator: "inferior"}, "tinier" => {properties: %w(size), comparator: "inferior"}, # "uglier" => {properties: %w(ugliness)}, "warmer" => {properties: %w(temperature), comparator: "superior"}, "weakness" => {properties: %w(power), comparator: "inferior"}, "wealthier" => {properties: ["net worth"], comparator: "superior"}, "wetter" => {properties: %w(humidity), comparator: "superior"}, # "whither" => {properties: %w()}, "wider" => {properties: %w(wideness size), comparator: "superior"}, # "wilder" => {properties: %w(wildness)}, # "wiser" => {properties: %w(wiseness)}, "younger" => {properties: %w(age), comparator: "inferior"}, "more ancient" => {properties: ["age", "creation date", "release date"], comparator: "inferior"}, # "more beautiful" => {properties: %w(looks)}, # "more brilliant" => {properties: %w(brilliantness)}, # "more careful" => {properties: %w(carefulness)}, # "more careless" => {properties: %w(carefulness)}, # "more cheerful" => {properties: %w(cheerfulness)}, # "more comfortable" => {properties: %w(comfortableness)}, # "more dangerous" => {properties: %w(dangerousness)}, # "more delightful" => {properties: %w(delightfulness)}, # "more difficult" => {properties: %w(difficultness)}, # "more enjoyable" => {properties: %w(enjoyability)}, # "more foolish" => {properties: %w(foolishness)}, # "more forgetful" => {properties: %w(forgetfulness)}, # "more frightening" => {properties: %w(frighteningness)}, # "more generous" => {properties: %w(generousness)}, # "more handsome" => {properties: %w(handsomeness)}, # "more helpful" => {properties: %w(helpfulness)}, # "more ignorant" => {properties: %w(ignorantness)}, # "more important" => {properties: %w(importantness)}, # "more intelligent" => {properties: %w(intelligentness)}, # "more interesting" => {properties: %w(interestingness)}, # "more pleasant" => {properties: %w(pleasantness)}, "more powerful" => {properties: %w(power), comparator: "superior"}, "more prosperous" => {properties: ["gross domestic product"], comparator: "superior"}, # "more sensible" => {properties: %w(sensibleness)}, # "more terrible" => {properties: %w(terribleness)}, # "more thoughtful" => {properties: %w(thoughtfulness)}, # "more unusual" => {properties: %w(unusualness)}, # "more useful" => {properties: %w(usefulness)}, "more valuable" => {properties: ["worth", "price"], comparator: "superior"}, # "more wonderful" => {properties: %w(wonderfulness)}, "less ancient" => {properties: ["age", "creation date", "release date"], comparator: "inferior"}, # "less beautiful" => {properties: %w(looks)}, # "less brilliant" => {properties: %w(brilliantness)}, # "less careful" => {properties: %w(carefulness)}, # "less careless" => {properties: %w(carefulness)}, # "less cheerful" => {properties: %w(cheerfulness)}, # "less comfortable" => {properties: %w(comfortableness)}, # "less dangerous" => {properties: %w(dangerousness)}, # "less delightful" => {properties: %w(delightfulness)}, # "less difficult" => {properties: %w(difficultness)}, # "less enjoyable" => {properties: %w(enjoyability)}, # "less foolish" => {properties: %w(foolishness)}, # "less forgetful" => {properties: %w(forgetfulness)}, # "less frightening" => {properties: %w(frighteningness)}, # "less generous" => {properties: %w(generousness)}, # "less handsome" => {properties: %w(handsomeness)}, # "less helpful" => {properties: %w(helpfulness)}, # "less ignorant" => {properties: %w(ignorantness)}, # "less important" => {properties: %w(importantness)}, # "less intelligent" => {properties: %w(intelligentness)}, # "less interesting" => {properties: %w(interestingness)}, # "less pleasant" => {properties: %w(pleasantness)}, "less powerful" => {properties: %w(power), comparator: "superior"}, "less prosperous" => {properties: ["gross domestic product"], comparator: "superior"}, # "less sensible" => {properties: %w(sensibleness)}, # "less terrible" => {properties: %w(terribleness)}, # "less thoughtful" => {properties: %w(thoughtfulness)}, # "less unusual" => {properties: %w(unusualness)}, # "less useful" => {properties: %w(usefulness)}, "less valuable" => {properties: ["worth", "price"], comparator: "superior"}, # "less wonderful" => {properties: %w(wonderfulness)}, }
Class Method Summary collapse
Class Method Details
.cleanup_articles(string) ⇒ Object
23 24 25 |
# File 'lib/akiva/core_brain/helpers/misc.rb', line 23 def self.cleanup_articles(string) string.gsub(/\A(a|an|the) /i, "") end |
.degroup_multiple_values(string) ⇒ Object
5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
# File 'lib/akiva/core_brain/helpers/misc.rb', line 5 def self.degroup_multiple_values(string) # NOTE: we probably should check the dictionary here to improve the values detections, # and limit the number of requests made. values = [] string.split(" && ").each do |sub0| sub0.split(",").each do |sub1| sub1.split(" and ").each do |sub2| val = sub2.strip val.gsub!(/\A(a|an|the) /i, "") values << val end end end values.uniq end |