tiny-classifier 2.0 → 2.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +1 -1
- data/lib/tiny-classifier/base.rb +20 -2
- data/lib/tiny-classifier/classifier.rb +1 -1
- data/lib/tiny-classifier/retrainer.rb +1 -1
- data/lib/tiny-classifier/tokenizer.rb +1 -1
- data/lib/tiny-classifier/trainer.rb +4 -4
- data/lib/tiny-classifier/untrainer.rb +1 -1
- data/tiny-classifier.gemspec +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7eb179e8a3a17711921f6bd0af6132909ace2f90
|
4
|
+
data.tar.gz: 2f029f934ddb3f5277980228800fa24093491bab
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9ecc0831b783aed6891e09fe73260f0eef63f021e450bf4db89cea267b4797cffade8f74b05530a058646d77ca1265a24ea7287e6754e132ec1e724d0ae21611
|
7
|
+
data.tar.gz: aa5e0822ebcbc19b5497f1596be44b3b01e0fe184903d8b111fa9eae635f5bfd8c94ed34bda5a98658514cf10d185806abbd0eb12a124beba92943750bf107a0
|
data/README.md
CHANGED
@@ -67,7 +67,7 @@ positive
|
|
67
67
|
|
68
68
|
### Common
|
69
69
|
|
70
|
-
`-
|
70
|
+
`-c`, `--categories=CATEGORIES` (required)
|
71
71
|
: A comman-separated list of categories. You should use only alphabetic characters. (Non-alphabetical characters will cause problems.)
|
72
72
|
|
73
73
|
`-d`, `--data-dir=PATH` (optional)
|
data/lib/tiny-classifier/base.rb
CHANGED
@@ -25,6 +25,7 @@ module TinyClassifier
|
|
25
25
|
def initialize
|
26
26
|
@tokenizer = Tokenizer.new
|
27
27
|
@data_dir = Dir.pwd
|
28
|
+
@verbose = false
|
28
29
|
end
|
29
30
|
|
30
31
|
def parse_command_line_options(command_line_options)
|
@@ -51,6 +52,7 @@ module TinyClassifier
|
|
51
52
|
parser.on("-c CATEGORIES", "--categories=CATEGORIES",
|
52
53
|
"List of categories (comma-separated)") do |categories|
|
53
54
|
@categories = normalize_categories(categories)
|
55
|
+
log("categories: #{@categories}")
|
54
56
|
end
|
55
57
|
|
56
58
|
parser.on("-t TOKENIZER", "--tokenizer=TOKENIZER",
|
@@ -58,6 +60,11 @@ module TinyClassifier
|
|
58
60
|
@tokenizer.type = tokenizer
|
59
61
|
end
|
60
62
|
|
63
|
+
parser.on("-v", "--verbose",
|
64
|
+
"Output internal information (for debugging)") do |verbose|
|
65
|
+
@verbose = verbose
|
66
|
+
end
|
67
|
+
|
61
68
|
parser
|
62
69
|
end
|
63
70
|
|
@@ -107,12 +114,23 @@ module TinyClassifier
|
|
107
114
|
|
108
115
|
def prepare_input
|
109
116
|
unless File.pipe?(STDIN)
|
110
|
-
|
117
|
+
error("Error: No effective input. You need to give any input via the STDIN.")
|
111
118
|
exit(false)
|
112
119
|
end
|
113
120
|
@input = $stdin.readlines.join(" ")
|
114
|
-
@tokenizer.tokenize(@input)
|
121
|
+
@input = @tokenizer.tokenize(@input)
|
122
|
+
log("tokenizer: #{@tokenizer.type}")
|
115
123
|
@input.strip!
|
124
|
+
log("input: #{@input}")
|
125
|
+
@input
|
126
|
+
end
|
127
|
+
|
128
|
+
def error(message)
|
129
|
+
STDERR.puts(message)
|
130
|
+
end
|
131
|
+
|
132
|
+
def log(message)
|
133
|
+
STDERR.puts(message) if @verbose
|
116
134
|
end
|
117
135
|
end
|
118
136
|
end
|
@@ -35,7 +35,7 @@ module TinyClassifier
|
|
35
35
|
@category = params[:category]
|
36
36
|
prepare_category
|
37
37
|
if input.empty?
|
38
|
-
|
38
|
+
error("Error: No effective input.")
|
39
39
|
false
|
40
40
|
else
|
41
41
|
classifier.send("train_#{@category}", input)
|
@@ -47,19 +47,19 @@ module TinyClassifier
|
|
47
47
|
private
|
48
48
|
def prepare_category
|
49
49
|
unless @category
|
50
|
-
|
50
|
+
error("Error: You need to specify the category for the input.")
|
51
51
|
exit(false)
|
52
52
|
end
|
53
53
|
|
54
54
|
@category = @category.downcase.strip
|
55
55
|
|
56
56
|
if @category.empty?
|
57
|
-
|
57
|
+
error("Error: You need to specify the category for the input.")
|
58
58
|
exit(false)
|
59
59
|
end
|
60
60
|
|
61
61
|
unless @categories.include?(@category.capitalize)
|
62
|
-
|
62
|
+
error("Error: You need to specify one of valid categories: #{@categories.join(', ')}")
|
63
63
|
exit(false)
|
64
64
|
end
|
65
65
|
end
|
data/tiny-classifier.gemspec
CHANGED
@@ -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 = "2.
|
24
|
+
spec.version = "2.1"
|
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"]
|