tiny-classifier 1.1 → 1.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 962697672b93b80fa4ca5efcf46c9e820d184b96
4
- data.tar.gz: 199917cf6cae91ae3fed243818bf924426b929ca
3
+ metadata.gz: e4640ed17e08cec0d4c7e06a7acedc0527669506
4
+ data.tar.gz: 982f06aad8df916300a18b04ca00ac9e0ae2dceb
5
5
  SHA512:
6
- metadata.gz: 08b97dcd3859de27e4b39796fecfb57e5a978e55c8d47dcda19e700acee7cd8a7451e3e60f7e74c750530b17ee038222853babd278b63450b1f71cd82c3d5b12
7
- data.tar.gz: 5c7be101d3209ff3079e597e069e502be00769aa11bb025825047bcc651bbbda5b1037ac361be4a4531dcea1a4cc32c9f82e922bd461ca4ab438036abbe75446
6
+ metadata.gz: dd7a63f5ff86e02b32a63a852f40d17ffce45ccd9ee5d68ee1fc131f68d770f595fae5c12a039d207ef557e2ee23229c2bea0755d7c36b84444bd0721e27e29e
7
+ data.tar.gz: 67ad761ba648d8718b1dd6339e83c221856223e180787d14e7761106b7589e588468f6d47d6bc3f3471d2c591868a0d72756532d5e530f944bc7f8f5e10409f4
data/README.md CHANGED
@@ -33,6 +33,8 @@ Training:
33
33
  % echo "Oh my god!" | tc-train --labels=positive,negative negative
34
34
  ```
35
35
 
36
+ The training data will be saved as `tc.positive-negative.dat` (`tc.` is the fixed prefix, `.dat` is the fixed suffix. The middle part is filled by given labels automatically.) in the current directory. If you hope the file to be saved in any different place, please specify `--base-dir=/path/to/data/directory`.
37
+
36
38
  Classifying:
37
39
 
38
40
  ~~~
@@ -99,7 +99,16 @@ class TinyClassifierBase
99
99
  end
100
100
  end
101
101
 
102
+ def input
103
+ @input ||= prepare_input
104
+ end
105
+
102
106
  def prepare_input
107
+ unless File.pipe?(STDIN)
108
+ STDERR.puts("Error: No effective input. You need to give any input via the STDIN.")
109
+ exit(false)
110
+ end
111
+ @input = $stdin.readlines.join("\n")
103
112
  tokenize
104
113
  @input.strip!
105
114
  end
@@ -122,11 +131,4 @@ class TinyClassifierBase
122
131
  end
123
132
  @input = terms.join(" ").strip
124
133
  end
125
-
126
- def save
127
- data = Marshal.dump(classifier)
128
- File.open(data_file_path, "w") do |file|
129
- file.write(data)
130
- end
131
- end
132
134
  end
@@ -21,20 +21,17 @@ class Classifier < TinyClassifierBase
21
21
  argv ||= ARGV.dup
22
22
  classifier = new
23
23
  classifier.parse_command_line_options(argv)
24
- input = $stdin.readlines.join("\n")
25
- classifier.run(input: input)
24
+ classifier.run
26
25
  end
27
26
  end
28
27
 
29
28
  def run(params)
30
29
  @label = params[:label]
31
- @input = params[:input]
32
- prepare_input
33
- if @input.empty?
30
+ if input.empty?
34
31
  STDERR.puts("Error: No effective input.")
35
32
  false
36
33
  else
37
- label = classifier.classify(@input)
34
+ label = classifier.classify(input)
38
35
  puts label.downcase
39
36
  true
40
37
  end
@@ -21,9 +21,7 @@ class Trainer < TinyClassifierBase
21
21
  argv ||= ARGV.dup
22
22
  trainer = new
23
23
  *labels = trainer.parse_command_line_options(argv)
24
- input = $stdin.readlines.join("\n")
25
- trainer.run(label: labels.first,
26
- input: input)
24
+ trainer.run(label: labels.first)
27
25
  end
28
26
  end
29
27
 
@@ -34,14 +32,12 @@ class Trainer < TinyClassifierBase
34
32
 
35
33
  def run(params)
36
34
  @label = params[:label]
37
- @input = params[:input]
38
35
  prepare_label
39
- prepare_input
40
- if @input.empty?
36
+ if input.empty?
41
37
  STDERR.puts("Error: No effective input.")
42
38
  false
43
39
  else
44
- classifier.send("train_#{@label}", @input)
40
+ classifier.send("train_#{@label}", input)
45
41
  save
46
42
  true
47
43
  end
@@ -21,7 +21,7 @@ $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), "lib"))
21
21
 
22
22
  Gem::Specification.new do |spec|
23
23
  spec.name = "tiny-classifier"
24
- spec.version = "1.1"
24
+ spec.version = "1.2"
25
25
  spec.homepage = "https://github.com/piroor/tiny-classifier"
26
26
  spec.authors = ["YUKI \"Piro\" Hiroshi"]
27
27
  spec.email = ["piro.outsider.reflex@gmail.com"]
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tiny-classifier
3
3
  version: !ruby/object:Gem::Version
4
- version: '1.1'
4
+ version: '1.2'
5
5
  platform: ruby
6
6
  authors:
7
7
  - YUKI "Piro" Hiroshi