twss 0.0.4 → 0.0.5

Sign up to get free protection for your applications and to get access to all the features.
@@ -3,7 +3,7 @@ TWSS
3
3
 
4
4
  Because automation knows no bounds... including lowbrow comedy.
5
5
 
6
- TWSS is a simple Bayes classifer trained off of a Twitter #twss search.
6
+ TWSS is a simple Bayes classifer trained off of a twssstories.com.
7
7
 
8
8
  Installation
9
9
  ------------
@@ -22,7 +22,7 @@ Usage
22
22
  You can also adjust the scoring threshold for your comedic customization. The
23
23
  lower the value, the more "obscure" the jokes can be.
24
24
 
25
- TWSS.threshold = 2.0
25
+ TWSS.threshold = 5.0
26
26
 
27
27
  It's far from perfect, but it's accurate enough to be funny. I'll probably
28
28
  continue tweaking it some (increase the training set size and whatnot). I'm not
@@ -17,7 +17,7 @@ module TWSS
17
17
 
18
18
  def initialize(options = {})
19
19
  @data_file = options[:data_file] || DATA_FILE
20
- @threshold ||= options[:threshold] || 7.5
20
+ @threshold ||= options[:threshold] || 7.0
21
21
  @classifier = load_classifier_from_file!(@data_file) || new_classifier
22
22
  end
23
23
 
@@ -4,12 +4,11 @@ module TWSS
4
4
 
5
5
  class Trainer
6
6
 
7
- attr_reader :engine, :training_percentage
7
+ attr_reader :engine
8
8
 
9
9
  def initialize(engine, options = {})
10
10
  @engine = engine
11
11
  engine.clear_state!
12
- @training_percentage = options[:training_percentage] || 0.9
13
12
  end
14
13
 
15
14
  def train
@@ -66,7 +65,7 @@ module TWSS
66
65
  false_positives = 0
67
66
  total = 0
68
67
  correct = 0
69
- test_each(positive_test_file, (total_positive * training_percentage).to_i) do |line, result|
68
+ test_each(positive_test_file) do |line, result|
70
69
  if result
71
70
  correct += 1
72
71
  else
@@ -75,7 +74,7 @@ module TWSS
75
74
  total += 1
76
75
  end
77
76
 
78
- test_each(negative_test_file, (total_negative * training_percentage).to_i) do |line, result|
77
+ test_each(negative_test_file) do |line, result|
79
78
  if !result
80
79
  correct += 1
81
80
  else
@@ -92,10 +91,9 @@ module TWSS
92
91
  puts
93
92
  end
94
93
 
95
- def test_each(file, sample_size, &blk)
94
+ def test_each(file, &blk)
96
95
  i = 0
97
96
  File.read(file).each_line do |line|
98
- return if i > sample_size
99
97
  l = line.strip
100
98
  unless l.empty?
101
99
  r = TWSS(l)
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = "twss"
3
- s.version = "0.0.4"
3
+ s.version = "0.0.5"
4
4
  s.platform = Gem::Platform::RUBY
5
5
  s.authors = ["Ben VandenBos"]
6
6
  s.email = "bvandenbos@gmail.com"
@@ -17,7 +17,6 @@ Gem::Specification.new do |s|
17
17
  s.executables = `git ls-files`.split("\n").map{|f| f =~ /^bin\/(.*)/ ? $1 : nil}.compact
18
18
  s.require_path = 'lib'
19
19
 
20
- s.add_runtime_dependency("classifier", ["1.3.1"])
21
- s.add_development_dependency("twitter", [">= 0"])
20
+ s.add_runtime_dependency("classifier", ["= 1.3.1"])
22
21
 
23
22
  end
metadata CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
5
5
  segments:
6
6
  - 0
7
7
  - 0
8
- - 4
9
- version: 0.0.4
8
+ - 5
9
+ version: 0.0.5
10
10
  platform: ruby
11
11
  authors:
12
12
  - Ben VandenBos
@@ -47,19 +47,6 @@ dependencies:
47
47
  version: 1.3.1
48
48
  type: :runtime
49
49
  version_requirements: *id002
50
- - !ruby/object:Gem::Dependency
51
- name: twitter
52
- prerelease: false
53
- requirement: &id003 !ruby/object:Gem::Requirement
54
- none: false
55
- requirements:
56
- - - ">="
57
- - !ruby/object:Gem::Version
58
- segments:
59
- - 0
60
- version: "0"
61
- type: :development
62
- version_requirements: *id003
63
50
  description: |-
64
51
  Pre-trained "That's What She Said" Bayes classifier.
65
52
  Given a string, returns true if it's a TWSS joke. Pre-trained from