john-doe 0.1.0 → 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/VERSION +1 -1
- data/default.yml +13 -2
- data/john-doe-0.1.0.gem +0 -0
- data/john-doe.gemspec +2 -1
- data/lib/johndoe/aiml.rb +2 -2
- data/lib/johndoe/responser.rb +13 -2
- metadata +4 -3
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.1.
|
1
|
+
0.1.1
|
data/default.yml
CHANGED
@@ -26,9 +26,10 @@ knowledge:
|
|
26
26
|
|
27
27
|
# AIML-like tags
|
28
28
|
name:
|
29
|
-
|
29
|
+
rank: 10
|
30
|
+
patterns:
|
30
31
|
p1: what * your name
|
31
|
-
p2: your name
|
32
|
+
p2: * your name
|
32
33
|
responses:
|
33
34
|
r1: "bot:name bot:surname"
|
34
35
|
r2: "Call me bot:name"
|
@@ -200,7 +201,16 @@ tellme:
|
|
200
201
|
responses:
|
201
202
|
r1: "I am just normal bot:specimen"
|
202
203
|
r2: "What do you want to know?"
|
204
|
+
|
205
|
+
because:
|
206
|
+
patterns:
|
207
|
+
p1: because
|
208
|
+
responses:
|
209
|
+
r1: "that's good reason"
|
210
|
+
r2: "thanks for explanation ;-)"
|
211
|
+
|
203
212
|
specimen:
|
213
|
+
priority: 20
|
204
214
|
patterns:
|
205
215
|
p1: are you * human
|
206
216
|
p2: are you * bot
|
@@ -350,6 +360,7 @@ asl:
|
|
350
360
|
responses:
|
351
361
|
r1: "bot:age bot:sex bot:language"
|
352
362
|
orly:
|
363
|
+
priority: 10
|
353
364
|
patterns:
|
354
365
|
p1: "really?"
|
355
366
|
p2: are you sure
|
data/john-doe-0.1.0.gem
ADDED
Binary file
|
data/john-doe.gemspec
CHANGED
@@ -5,7 +5,7 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{john-doe}
|
8
|
-
s.version = "0.1.
|
8
|
+
s.version = "0.1.1"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Pawel Mikolajewski"]
|
@@ -24,6 +24,7 @@ Gem::Specification.new do |s|
|
|
24
24
|
"Rakefile",
|
25
25
|
"VERSION",
|
26
26
|
"default.yml",
|
27
|
+
"john-doe-0.1.0.gem",
|
27
28
|
"john-doe.gemspec",
|
28
29
|
"lib/john-doe.rb",
|
29
30
|
"lib/johndoe/aiml.rb",
|
data/lib/johndoe/aiml.rb
CHANGED
@@ -29,8 +29,8 @@ module JohnDoe
|
|
29
29
|
responses = collection['responses'].collect{|k,v| v}
|
30
30
|
@responses.push(responses)
|
31
31
|
emotions = (collection["emotion"].split("|") rescue ["none"])
|
32
|
-
|
33
|
-
collection['patterns'].each{|k,v| @patterns[normalise_pattern(v)] = { :resp => (@responses.size - 1), :emotions => emotions}}
|
32
|
+
priority = (collection["rank"].to_i rescue 0)
|
33
|
+
collection['patterns'].each{|k,v| @patterns[normalise_pattern(v)] = { :resp => (@responses.size - 1), :emotions => emotions, :priority => priority}}
|
34
34
|
end
|
35
35
|
end
|
36
36
|
|
data/lib/johndoe/responser.rb
CHANGED
@@ -13,12 +13,23 @@ module JohnDoe
|
|
13
13
|
end
|
14
14
|
|
15
15
|
def response(sentence)
|
16
|
+
max_priority = -1
|
17
|
+
best_v = nil
|
18
|
+
best_k = nil
|
19
|
+
|
16
20
|
@data.patterns.each do |k,v|
|
17
21
|
if (/^#{k}/i =~ sentence)
|
18
|
-
|
22
|
+
next if v[:priority] <= max_priority
|
23
|
+
max_priority = v[:priority]
|
24
|
+
best_v = v
|
25
|
+
best_k = k
|
19
26
|
end
|
20
27
|
end
|
21
|
-
|
28
|
+
unless best_v.nil?
|
29
|
+
return Response.new(sub_v(random_quote(@data.responses[best_v[:resp]], /^#{best_k}/i.match(sentence).captures)),best_v[:emotions])
|
30
|
+
else
|
31
|
+
return Response.new(sub_v(random_quote(@data.default["dontunderstand"])),["none"])
|
32
|
+
end
|
22
33
|
end
|
23
34
|
|
24
35
|
#substitute variables
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: john-doe
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 25
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 1
|
9
|
-
-
|
10
|
-
version: 0.1.
|
9
|
+
- 1
|
10
|
+
version: 0.1.1
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Pawel Mikolajewski
|
@@ -49,6 +49,7 @@ files:
|
|
49
49
|
- Rakefile
|
50
50
|
- VERSION
|
51
51
|
- default.yml
|
52
|
+
- john-doe-0.1.0.gem
|
52
53
|
- john-doe.gemspec
|
53
54
|
- lib/john-doe.rb
|
54
55
|
- lib/johndoe/aiml.rb
|