loose_tight_dictionary 0.0.10 → 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +1 -0
- data/Gemfile +4 -0
- data/README.rdoc +76 -23
- data/Rakefile +2 -38
- data/benchmark/before-with-free.txt +283 -0
- data/benchmark/before-without-last-result.txt +257 -0
- data/benchmark/before.txt +304 -0
- data/benchmark/memory.rb +54 -0
- data/examples/bts_aircraft/5-2-A.htm +10305 -0
- data/examples/bts_aircraft/5-2-B.htm +9576 -0
- data/examples/bts_aircraft/5-2-D.htm +7094 -0
- data/examples/bts_aircraft/5-2-E.htm +2349 -0
- data/examples/bts_aircraft/5-2-G.htm +2922 -0
- data/examples/bts_aircraft/blockings.csv +1 -0
- data/examples/bts_aircraft/identities.csv +1 -0
- data/examples/bts_aircraft/negatives.csv +1 -0
- data/examples/bts_aircraft/number_260.csv +334 -0
- data/examples/bts_aircraft/positives.csv +1 -0
- data/examples/bts_aircraft/test_bts_aircraft.rb +123 -0
- data/examples/bts_aircraft/tighteners.csv +1 -0
- data/examples/first_name_matching.rb +14 -22
- data/lib/loose_tight_dictionary/blocking.rb +36 -0
- data/lib/loose_tight_dictionary/extract_regexp.rb +30 -0
- data/lib/loose_tight_dictionary/identity.rb +25 -0
- data/lib/loose_tight_dictionary/result.rb +23 -0
- data/lib/loose_tight_dictionary/score.rb +28 -0
- data/lib/loose_tight_dictionary/similarity.rb +62 -0
- data/lib/loose_tight_dictionary/tightener.rb +30 -0
- data/lib/loose_tight_dictionary/version.rb +3 -0
- data/lib/loose_tight_dictionary/wrapper.rb +37 -0
- data/lib/loose_tight_dictionary.rb +178 -305
- data/loose_tight_dictionary.gemspec +19 -64
- data/test/helper.rb +6 -6
- data/test/test_blocking.rb +23 -0
- data/test/test_extract_regexp.rb +18 -0
- data/test/test_identity.rb +18 -0
- data/test/test_loose_tight_dictionary.rb +52 -245
- data/test/test_loose_tight_dictionary_convoluted.rb.disabled +268 -0
- data/test/test_tightening.rb +10 -0
- metadata +52 -65
- data/VERSION +0 -1
- data/examples/icao-bts.rb +0 -58
data/.gitignore
CHANGED
data/Gemfile
ADDED
data/README.rdoc
CHANGED
@@ -2,9 +2,9 @@
|
|
2
2
|
|
3
3
|
Match things based on string similarity (using the Pair Distance algorithm) and regular expressions.
|
4
4
|
|
5
|
-
|
5
|
+
== Quickstart
|
6
6
|
|
7
|
-
>> d = LooseTightDictionary.new %w
|
7
|
+
>> d = LooseTightDictionary.new %w{seamus andy ben}
|
8
8
|
=> [...]
|
9
9
|
>> puts d.find 'Shamus Heaney'
|
10
10
|
=> 'seamus'
|
@@ -12,26 +12,79 @@ Match things based on string similarity (using the Pair Distance algorithm) and
|
|
12
12
|
Try running the included example file:
|
13
13
|
|
14
14
|
$ ruby examples/first_name_matching.rb
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
15
|
+
######################################################################################################################################################
|
16
|
+
# Match "Mr. Seamus" => "seamus"
|
17
|
+
######################################################################################################################################################
|
18
|
+
|
19
|
+
Needle
|
20
|
+
(needle_reader proc not defined, so downcasing everything)
|
21
|
+
------------------------------------------------------------------------------------------------------------------------------------------------------
|
22
|
+
"mr. seamus"
|
23
|
+
|
24
|
+
Haystack
|
25
|
+
(haystack_reader proc not defined, so downcasing everything)
|
26
|
+
------------------------------------------------------------------------------------------------------------------------------------------------------
|
27
|
+
"seamus"
|
28
|
+
"andy"
|
29
|
+
"ben"
|
30
|
+
|
31
|
+
Tighteners
|
32
|
+
------------------------------------------------------------------------------------------------------------------------------------------------------
|
33
|
+
(none)
|
34
|
+
|
35
|
+
Comparisons
|
36
|
+
Score t_haystack [=> tightened/prefixed] t_needle [=> tightened/prefixed]
|
37
|
+
------------------------------------------------------------------------------------------------------------------------------------------------------
|
38
|
+
0.8333333333333334 "seamus" "mr. seamus"
|
39
|
+
0.0 "andy" "mr. seamus"
|
40
|
+
0.0 "ben" "mr. seamus"
|
41
|
+
|
42
|
+
Match
|
43
|
+
------------------------------------------------------------------------------------------------------------------------------------------------------
|
44
|
+
"seamus"
|
45
|
+
|
46
|
+
# [... there's more output ...]
|
47
|
+
|
48
|
+
== The Boeing example
|
49
|
+
|
50
|
+
From the tests:
|
51
|
+
|
52
|
+
######################################################################################################################################################
|
53
|
+
# Match "BOEING 737100" => "BOEING BOEING 737-100/200"
|
54
|
+
######################################################################################################################################################
|
55
|
+
|
56
|
+
Needle
|
57
|
+
(needle_reader proc not defined, so downcasing everything)
|
58
|
+
------------------------------------------------------------------------------------------------------------------------------------------------------
|
59
|
+
"boeing 737100"
|
60
|
+
|
61
|
+
Haystack
|
62
|
+
(haystack_reader proc not defined, so downcasing everything)
|
63
|
+
------------------------------------------------------------------------------------------------------------------------------------------------------
|
64
|
+
"boeing boeing 737-100/200"
|
65
|
+
"boeing boeing 737-900"
|
66
|
+
|
67
|
+
Tighteners
|
68
|
+
------------------------------------------------------------------------------------------------------------------------------------------------------
|
69
|
+
/(7\d)(7|0)-?(\d{1,3})/i
|
70
|
+
|
71
|
+
Comparisons
|
72
|
+
Score t_haystack [=> tightened/prefixed] t_needle [=> tightened/prefixed]
|
73
|
+
------------------------------------------------------------------------------------------------------------------------------------------------------
|
74
|
+
1.0 "boeing boeing 737-100/200" => "737100" "boeing 737100" => "737100"
|
75
|
+
0.6666666666666666 "boeing boeing 737-100/200" => "737100" "boeing 737100"
|
76
|
+
0.6153846153846154 "boeing boeing 737-900" "boeing 737100"
|
77
|
+
0.6 "boeing boeing 737-900" => "737900" "boeing 737100" => "737100"
|
78
|
+
0.6 "boeing boeing 737-100/200" "boeing 737100"
|
79
|
+
0.4 "boeing boeing 737-900" => "737900" "boeing 737100"
|
80
|
+
0.32 "boeing boeing 737-100/200" "boeing 737100" => "737100"
|
81
|
+
0.2857142857142857 "boeing boeing 737-900" "boeing 737100" => "737100"
|
82
|
+
|
83
|
+
Match
|
84
|
+
------------------------------------------------------------------------------------------------------------------------------------------------------
|
85
|
+
"BOEING BOEING 737-100/200"
|
86
|
+
|
87
|
+
== Improving dictionaries
|
35
88
|
|
36
89
|
Similarity matching will only get you so far.
|
37
90
|
|
@@ -49,4 +102,4 @@ Similarity matching will only get you so far.
|
|
49
102
|
|
50
103
|
== Copyright
|
51
104
|
|
52
|
-
Copyright (c)
|
105
|
+
Copyright (c) 2011 Seamus Abshere. See LICENSE for details.
|
data/Rakefile
CHANGED
@@ -1,26 +1,5 @@
|
|
1
|
-
require '
|
2
|
-
|
3
|
-
|
4
|
-
begin
|
5
|
-
require 'jeweler'
|
6
|
-
Jeweler::Tasks.new do |gem|
|
7
|
-
gem.name = "loose_tight_dictionary"
|
8
|
-
gem.summary = %Q{Allows iterative development of dictionaries for big data sets.}
|
9
|
-
gem.description = %Q{Create dictionaries that link rows between two tables (left and right) using loose matching (string similarity) by default and tight matching (regexp) by request.}
|
10
|
-
gem.email = "seamus@abshere.net"
|
11
|
-
gem.homepage = "http://github.com/seamusabshere/loose_tight_dictionary"
|
12
|
-
gem.authors = ["Seamus Abshere"]
|
13
|
-
gem.add_development_dependency "shoulda"
|
14
|
-
gem.add_development_dependency "remote_table", ">=0.2.19"
|
15
|
-
gem.add_dependency 'activesupport', '>=2.3.4'
|
16
|
-
gem.add_dependency 'andand', '>=1.3.1'
|
17
|
-
gem.add_dependency 'amatch', '>=0.2.5'
|
18
|
-
# gem is a Gem::Specification... see http://www.rubygems.org/read/chapter/20 for additional settings
|
19
|
-
end
|
20
|
-
Jeweler::GemcutterTasks.new
|
21
|
-
rescue LoadError
|
22
|
-
puts "Jeweler (or a dependency) not available. Install it with: gem install jeweler"
|
23
|
-
end
|
1
|
+
require 'bundler'
|
2
|
+
Bundler::GemHelper.install_tasks
|
24
3
|
|
25
4
|
require 'rake/testtask'
|
26
5
|
Rake::TestTask.new(:test) do |test|
|
@@ -29,21 +8,6 @@ Rake::TestTask.new(:test) do |test|
|
|
29
8
|
test.verbose = true
|
30
9
|
end
|
31
10
|
|
32
|
-
begin
|
33
|
-
require 'rcov/rcovtask'
|
34
|
-
Rcov::RcovTask.new do |test|
|
35
|
-
test.libs << 'test'
|
36
|
-
test.pattern = 'test/**/test_*.rb'
|
37
|
-
test.verbose = true
|
38
|
-
end
|
39
|
-
rescue LoadError
|
40
|
-
task :rcov do
|
41
|
-
abort "RCov is not available. In order to run rcov, you must: sudo gem install spicycode-rcov"
|
42
|
-
end
|
43
|
-
end
|
44
|
-
|
45
|
-
task :test => :check_dependencies
|
46
|
-
|
47
11
|
task :default => :test
|
48
12
|
|
49
13
|
require 'rake/rdoctask'
|
@@ -0,0 +1,283 @@
|
|
1
|
+
1962 /Users/seamus/.rvm/gems/ruby-1.8.7-p334/gems/activesupport-3.0.5/lib/active_support/core_ext/object/blank.rb:68:String
|
2
|
+
1957 /Users/seamus/.rvm/gems/ruby-1.8.7-p334/gems/fastercsv-1.5.4/lib/faster_csv.rb:1632:String
|
3
|
+
342 ./benchmark/../lib/loose_tight_dictionary/wrapper.rb:29:String
|
4
|
+
326 ./benchmark/../lib/loose_tight_dictionary/wrapper.rb:29:Array
|
5
|
+
325 benchmark/memory.rb:21:String
|
6
|
+
325 /Users/seamus/.rvm/gems/ruby-1.8.7-p334/gems/remote_table-1.1.6/lib/remote_table/hasher.rb:20:String
|
7
|
+
325 /Users/seamus/.rvm/gems/ruby-1.8.7-p334/gems/remote_table-1.1.6/lib/remote_table/format/delimited.rb:22:ActiveSupport::OrderedHash
|
8
|
+
325 /Users/seamus/.rvm/gems/ruby-1.8.7-p334/gems/remote_table-1.1.6/lib/remote_table.rb:65:String
|
9
|
+
325 /Users/seamus/.rvm/gems/ruby-1.8.7-p334/gems/activesupport-3.0.5/lib/active_support/ordered_hash.rb:39:Array
|
10
|
+
325 ./benchmark/../lib/loose_tight_dictionary/wrapper.rb:25:LooseTightDictionary::Similarity
|
11
|
+
325 ./benchmark/../lib/loose_tight_dictionary/similarity.rb:57:Array
|
12
|
+
325 ./benchmark/../lib/loose_tight_dictionary/similarity.rb:25:LooseTightDictionary::Score
|
13
|
+
325 ./benchmark/../lib/loose_tight_dictionary/score.rb:13:Float
|
14
|
+
325 ./benchmark/../lib/loose_tight_dictionary.rb:35:LooseTightDictionary::Wrapper
|
15
|
+
320 /Users/seamus/.rvm/gems/ruby-1.8.7-p334/gems/remote_table-1.1.6/lib/remote_table/format/delimited.rb:28:String
|
16
|
+
303 ./benchmark/../lib/loose_tight_dictionary/similarity.rb:21:Float
|
17
|
+
201 ./benchmark/../lib/loose_tight_dictionary/tightener.rb:20:String
|
18
|
+
184 ./benchmark/../lib/loose_tight_dictionary/tightener.rb:14:String
|
19
|
+
140 /Users/seamus/.rvm/gems/ruby-1.8.7-p334/gems/amatch-0.2.5/lib/amatch.bundle:0:__node__
|
20
|
+
41 ./benchmark/../lib/loose_tight_dictionary/similarity.rb:49:__node__
|
21
|
+
31 ./benchmark/../lib/loose_tight_dictionary/extract_regexp.rb:27:Regexp
|
22
|
+
28 ./benchmark/../lib/loose_tight_dictionary/extract_regexp.rb:19:__node__
|
23
|
+
22 ./benchmark/../lib/loose_tight_dictionary/similarity.rb:57:__node__
|
24
|
+
22 ./benchmark/../lib/loose_tight_dictionary/extract_regexp.rb:20:__node__
|
25
|
+
21 ./benchmark/../lib/loose_tight_dictionary.rb:199:LooseTightDictionary::Blocking
|
26
|
+
17 ./benchmark/../lib/loose_tight_dictionary/similarity.rb:21:__node__
|
27
|
+
16 /Users/seamus/.rvm/gems/ruby-1.8.7-p334/gems/amatch-0.2.5/lib/amatch.bundle:0:Class
|
28
|
+
14 /Users/seamus/.rvm/gems/ruby-1.8.7-p334/gems/amatch-0.2.5/lib/amatch/version.rb:4:__node__
|
29
|
+
14 ./benchmark/../lib/loose_tight_dictionary/similarity.rb:37:__node__
|
30
|
+
13 ./benchmark/../lib/loose_tight_dictionary/wrapper.rb:15:__node__
|
31
|
+
13 ./benchmark/../lib/loose_tight_dictionary/extract_regexp.rb:27:__node__
|
32
|
+
12 ./benchmark/../lib/loose_tight_dictionary/wrapper.rb:29:__node__
|
33
|
+
12 ./benchmark/../lib/loose_tight_dictionary/wrapper.rb:19:__node__
|
34
|
+
11 ./benchmark/../lib/loose_tight_dictionary/identity.rb:18:__node__
|
35
|
+
11 ./benchmark/../lib/loose_tight_dictionary/extract_regexp.rb:26:__node__
|
36
|
+
11 ./benchmark/../lib/loose_tight_dictionary/extract_regexp.rb:25:__node__
|
37
|
+
11 ./benchmark/../lib/loose_tight_dictionary/extract_regexp.rb:24:__node__
|
38
|
+
10 ./benchmark/../lib/loose_tight_dictionary/similarity.rb:55:__node__
|
39
|
+
10 ./benchmark/../lib/loose_tight_dictionary/similarity.rb:39:__node__
|
40
|
+
10 ./benchmark/../lib/loose_tight_dictionary/similarity.rb:25:__node__
|
41
|
+
10 ./benchmark/../lib/loose_tight_dictionary.rb:193:LooseTightDictionary::Identity
|
42
|
+
9 /Users/seamus/.rvm/gems/ruby-1.8.7-p334/gems/amatch-0.2.5/lib/amatch.bundle:0:String
|
43
|
+
9 ./benchmark/../lib/loose_tight_dictionary/wrapper.rb:10:__node__
|
44
|
+
9 ./benchmark/../lib/loose_tight_dictionary/similarity.rb:49:String
|
45
|
+
9 ./benchmark/../lib/loose_tight_dictionary/similarity.rb:42:__node__
|
46
|
+
9 ./benchmark/../lib/loose_tight_dictionary/similarity.rb:41:__node__
|
47
|
+
8 ./benchmark/../lib/loose_tight_dictionary/wrapper.rb:31:__node__
|
48
|
+
8 ./benchmark/../lib/loose_tight_dictionary/tightener.rb:27:__node__
|
49
|
+
8 ./benchmark/../lib/loose_tight_dictionary/tightener.rb:14:__node__
|
50
|
+
8 ./benchmark/../lib/loose_tight_dictionary/similarity.rb:38:__node__
|
51
|
+
8 ./benchmark/../lib/loose_tight_dictionary/score.rb:13:__node__
|
52
|
+
8 ./benchmark/../lib/loose_tight_dictionary/extract_regexp.rb:23:__node__
|
53
|
+
8 ./benchmark/../lib/loose_tight_dictionary/blocking.rb:24:__node__
|
54
|
+
7 /Users/seamus/.rvm/gems/ruby-1.8.7-p334/gems/amatch-0.2.5/lib/amatch/version.rb:7:__node__
|
55
|
+
7 /Users/seamus/.rvm/gems/ruby-1.8.7-p334/gems/amatch-0.2.5/lib/amatch/version.rb:6:__node__
|
56
|
+
7 /Users/seamus/.rvm/gems/ruby-1.8.7-p334/gems/amatch-0.2.5/lib/amatch/version.rb:5:__node__
|
57
|
+
7 ./benchmark/../lib/loose_tight_dictionary/wrapper.rb:9:__node__
|
58
|
+
7 ./benchmark/../lib/loose_tight_dictionary/wrapper.rb:25:__node__
|
59
|
+
7 ./benchmark/../lib/loose_tight_dictionary/similarity.rb:45:__node__
|
60
|
+
7 ./benchmark/../lib/loose_tight_dictionary/score.rb:17:__node__
|
61
|
+
7 ./benchmark/../lib/loose_tight_dictionary/identity.rb:19:__node__
|
62
|
+
7 ./benchmark/../lib/loose_tight_dictionary/blocking.rb:27:__node__
|
63
|
+
7 ./benchmark/../lib/loose_tight_dictionary.rb:209:String
|
64
|
+
6 ./benchmark/../lib/loose_tight_dictionary/wrapper.rb:8:__node__
|
65
|
+
6 ./benchmark/../lib/loose_tight_dictionary/similarity.rb:44:__node__
|
66
|
+
6 ./benchmark/../lib/loose_tight_dictionary/similarity.rb:15:__node__
|
67
|
+
6 ./benchmark/../lib/loose_tight_dictionary/similarity.rb:13:__node__
|
68
|
+
6 ./benchmark/../lib/loose_tight_dictionary/score.rb:25:__node__
|
69
|
+
6 ./benchmark/../lib/loose_tight_dictionary/score.rb:21:__node__
|
70
|
+
6 ./benchmark/../lib/loose_tight_dictionary/extract_regexp.rb:10:__node__
|
71
|
+
6 ./benchmark/../lib/loose_tight_dictionary/blocking.rb:22:__node__
|
72
|
+
5 /Users/seamus/.rvm/gems/ruby-1.8.7-p334/gems/fastercsv-1.5.4/lib/faster_csv.rb:1640:String
|
73
|
+
5 ./benchmark/../lib/loose_tight_dictionary/wrapper.rb:34:__node__
|
74
|
+
5 ./benchmark/../lib/loose_tight_dictionary/tightener.rb:9:__node__
|
75
|
+
5 ./benchmark/../lib/loose_tight_dictionary/tightener.rb:19:__node__
|
76
|
+
5 ./benchmark/../lib/loose_tight_dictionary/similarity.rb:8:__node__
|
77
|
+
5 ./benchmark/../lib/loose_tight_dictionary/similarity.rb:33:__node__
|
78
|
+
5 ./benchmark/../lib/loose_tight_dictionary/similarity.rb:29:__node__
|
79
|
+
5 ./benchmark/../lib/loose_tight_dictionary/similarity.rb:12:__node__
|
80
|
+
5 ./benchmark/../lib/loose_tight_dictionary/score.rb:9:__node__
|
81
|
+
5 ./benchmark/../lib/loose_tight_dictionary/result.rb:16:__node__
|
82
|
+
5 ./benchmark/../lib/loose_tight_dictionary/identity.rb:10:__node__
|
83
|
+
5 ./benchmark/../lib/loose_tight_dictionary/blocking.rb:26:__node__
|
84
|
+
5 ./benchmark/../lib/loose_tight_dictionary/blocking.rb:25:__node__
|
85
|
+
5 ./benchmark/../lib/loose_tight_dictionary/blocking.rb:15:__node__
|
86
|
+
4 ./benchmark/../lib/loose_tight_dictionary/wrapper.rb:33:__node__
|
87
|
+
4 ./benchmark/../lib/loose_tight_dictionary/wrapper.rb:30:__node__
|
88
|
+
4 ./benchmark/../lib/loose_tight_dictionary/tightener.rb:20:__node__
|
89
|
+
4 ./benchmark/../lib/loose_tight_dictionary/similarity.rb:59:__node__
|
90
|
+
4 ./benchmark/../lib/loose_tight_dictionary/similarity.rb:54:__node__
|
91
|
+
4 ./benchmark/../lib/loose_tight_dictionary/score.rb:5:__node__
|
92
|
+
4 ./benchmark/../lib/loose_tight_dictionary/result.rb:9:__node__
|
93
|
+
4 ./benchmark/../lib/loose_tight_dictionary/result.rb:8:__node__
|
94
|
+
4 ./benchmark/../lib/loose_tight_dictionary/result.rb:7:__node__
|
95
|
+
4 ./benchmark/../lib/loose_tight_dictionary/result.rb:6:__node__
|
96
|
+
4 ./benchmark/../lib/loose_tight_dictionary/result.rb:5:__node__
|
97
|
+
4 ./benchmark/../lib/loose_tight_dictionary/result.rb:4:__node__
|
98
|
+
4 ./benchmark/../lib/loose_tight_dictionary/result.rb:3:__node__
|
99
|
+
4 ./benchmark/../lib/loose_tight_dictionary/result.rb:13:__node__
|
100
|
+
4 ./benchmark/../lib/loose_tight_dictionary/result.rb:12:__node__
|
101
|
+
4 ./benchmark/../lib/loose_tight_dictionary/result.rb:11:__node__
|
102
|
+
4 ./benchmark/../lib/loose_tight_dictionary/result.rb:10:__node__
|
103
|
+
4 ./benchmark/../lib/loose_tight_dictionary/extract_regexp.rb:8:__node__
|
104
|
+
4 ./benchmark/../lib/loose_tight_dictionary/extract_regexp.rb:22:__node__
|
105
|
+
4 ./benchmark/../lib/loose_tight_dictionary/extract_regexp.rb:21:__node__
|
106
|
+
4 ./benchmark/../lib/loose_tight_dictionary/extract_regexp.rb:20:String
|
107
|
+
4 ./benchmark/../lib/loose_tight_dictionary/extract_regexp.rb:11:__node__
|
108
|
+
3 /Users/seamus/.rvm/gems/ruby-1.8.7-p334/gems/amatch-0.2.5/lib/amatch/version.rb:8:__node__
|
109
|
+
3 /Users/seamus/.rvm/gems/ruby-1.8.7-p334/gems/amatch-0.2.5/lib/amatch/version.rb:3:__node__
|
110
|
+
3 ./benchmark/../lib/loose_tight_dictionary/wrapper.rb:28:__node__
|
111
|
+
3 ./benchmark/../lib/loose_tight_dictionary/wrapper.rb:24:__node__
|
112
|
+
3 ./benchmark/../lib/loose_tight_dictionary/wrapper.rb:18:__node__
|
113
|
+
3 ./benchmark/../lib/loose_tight_dictionary/wrapper.rb:15:String
|
114
|
+
3 ./benchmark/../lib/loose_tight_dictionary/wrapper.rb:14:__node__
|
115
|
+
3 ./benchmark/../lib/loose_tight_dictionary/tightener.rb:8:__node__
|
116
|
+
3 ./benchmark/../lib/loose_tight_dictionary/tightener.rb:26:__node__
|
117
|
+
3 ./benchmark/../lib/loose_tight_dictionary/tightener.rb:18:__node__
|
118
|
+
3 ./benchmark/../lib/loose_tight_dictionary/tightener.rb:13:__node__
|
119
|
+
3 ./benchmark/../lib/loose_tight_dictionary/similarity.rb:7:__node__
|
120
|
+
3 ./benchmark/../lib/loose_tight_dictionary/similarity.rb:6:__node__
|
121
|
+
3 ./benchmark/../lib/loose_tight_dictionary/similarity.rb:58:__node__
|
122
|
+
3 ./benchmark/../lib/loose_tight_dictionary/similarity.rb:56:__node__
|
123
|
+
3 ./benchmark/../lib/loose_tight_dictionary/similarity.rb:48:__node__
|
124
|
+
3 ./benchmark/../lib/loose_tight_dictionary/similarity.rb:36:__node__
|
125
|
+
3 ./benchmark/../lib/loose_tight_dictionary/similarity.rb:32:__node__
|
126
|
+
3 ./benchmark/../lib/loose_tight_dictionary/similarity.rb:28:__node__
|
127
|
+
3 ./benchmark/../lib/loose_tight_dictionary/similarity.rb:24:__node__
|
128
|
+
3 ./benchmark/../lib/loose_tight_dictionary/similarity.rb:20:__node__
|
129
|
+
3 ./benchmark/../lib/loose_tight_dictionary/similarity.rb:11:__node__
|
130
|
+
3 ./benchmark/../lib/loose_tight_dictionary/score.rb:8:__node__
|
131
|
+
3 ./benchmark/../lib/loose_tight_dictionary/score.rb:7:__node__
|
132
|
+
3 ./benchmark/../lib/loose_tight_dictionary/score.rb:24:__node__
|
133
|
+
3 ./benchmark/../lib/loose_tight_dictionary/score.rb:20:__node__
|
134
|
+
3 ./benchmark/../lib/loose_tight_dictionary/score.rb:16:__node__
|
135
|
+
3 ./benchmark/../lib/loose_tight_dictionary/score.rb:12:__node__
|
136
|
+
3 ./benchmark/../lib/loose_tight_dictionary/result.rb:21:__node__
|
137
|
+
3 ./benchmark/../lib/loose_tight_dictionary/result.rb:19:__node__
|
138
|
+
3 ./benchmark/../lib/loose_tight_dictionary/result.rb:15:__node__
|
139
|
+
3 ./benchmark/../lib/loose_tight_dictionary/identity.rb:9:__node__
|
140
|
+
3 ./benchmark/../lib/loose_tight_dictionary/identity.rb:17:__node__
|
141
|
+
3 ./benchmark/../lib/loose_tight_dictionary/extract_regexp.rb:3:__node__
|
142
|
+
3 ./benchmark/../lib/loose_tight_dictionary/extract_regexp.rb:18:__node__
|
143
|
+
3 ./benchmark/../lib/loose_tight_dictionary/extract_regexp.rb:16:String
|
144
|
+
3 ./benchmark/../lib/loose_tight_dictionary/extract_regexp.rb:15:String
|
145
|
+
3 ./benchmark/../lib/loose_tight_dictionary/blocking.rb:33:__node__
|
146
|
+
3 ./benchmark/../lib/loose_tight_dictionary/blocking.rb:14:__node__
|
147
|
+
3 ./benchmark/../lib/loose_tight_dictionary.rb:77:Array
|
148
|
+
2 /Users/seamus/.rvm/rubies/ruby-1.8.7-p334/lib/ruby/1.8/uri/common.rb:387:String
|
149
|
+
2 /Users/seamus/.rvm/gems/ruby-1.8.7-p334/gems/amatch-0.2.5/lib/amatch/version.rb:3:String
|
150
|
+
2 ./benchmark/../lib/loose_tight_dictionary/wrapper.rb:6:__node__
|
151
|
+
2 ./benchmark/../lib/loose_tight_dictionary/wrapper.rb:5:__node__
|
152
|
+
2 ./benchmark/../lib/loose_tight_dictionary/wrapper.rb:4:__node__
|
153
|
+
2 ./benchmark/../lib/loose_tight_dictionary/wrapper.rb:3:Class
|
154
|
+
2 ./benchmark/../lib/loose_tight_dictionary/wrapper.rb:35:__node__
|
155
|
+
2 ./benchmark/../lib/loose_tight_dictionary/wrapper.rb:32:__node__
|
156
|
+
2 ./benchmark/../lib/loose_tight_dictionary/wrapper.rb:26:__node__
|
157
|
+
2 ./benchmark/../lib/loose_tight_dictionary/wrapper.rb:22:__node__
|
158
|
+
2 ./benchmark/../lib/loose_tight_dictionary/wrapper.rb:20:__node__
|
159
|
+
2 ./benchmark/../lib/loose_tight_dictionary/wrapper.rb:16:__node__
|
160
|
+
2 ./benchmark/../lib/loose_tight_dictionary/wrapper.rb:12:__node__
|
161
|
+
2 ./benchmark/../lib/loose_tight_dictionary/wrapper.rb:11:__node__
|
162
|
+
2 ./benchmark/../lib/loose_tight_dictionary/tightener.rb:6:__node__
|
163
|
+
2 ./benchmark/../lib/loose_tight_dictionary/tightener.rb:3:Class
|
164
|
+
2 ./benchmark/../lib/loose_tight_dictionary/tightener.rb:28:__node__
|
165
|
+
2 ./benchmark/../lib/loose_tight_dictionary/tightener.rb:27:String
|
166
|
+
2 ./benchmark/../lib/loose_tight_dictionary/tightener.rb:24:__node__
|
167
|
+
2 ./benchmark/../lib/loose_tight_dictionary/tightener.rb:23:__node__
|
168
|
+
2 ./benchmark/../lib/loose_tight_dictionary/tightener.rb:22:__node__
|
169
|
+
2 ./benchmark/../lib/loose_tight_dictionary/tightener.rb:15:__node__
|
170
|
+
2 ./benchmark/../lib/loose_tight_dictionary/tightener.rb:10:__node__
|
171
|
+
2 ./benchmark/../lib/loose_tight_dictionary/similarity.rb:60:__node__
|
172
|
+
2 ./benchmark/../lib/loose_tight_dictionary/similarity.rb:50:__node__
|
173
|
+
2 ./benchmark/../lib/loose_tight_dictionary/similarity.rb:4:__node__
|
174
|
+
2 ./benchmark/../lib/loose_tight_dictionary/similarity.rb:46:__node__
|
175
|
+
2 ./benchmark/../lib/loose_tight_dictionary/similarity.rb:3:__node__
|
176
|
+
2 ./benchmark/../lib/loose_tight_dictionary/similarity.rb:34:__node__
|
177
|
+
2 ./benchmark/../lib/loose_tight_dictionary/similarity.rb:30:__node__
|
178
|
+
2 ./benchmark/../lib/loose_tight_dictionary/similarity.rb:2:Class
|
179
|
+
2 ./benchmark/../lib/loose_tight_dictionary/similarity.rb:26:__node__
|
180
|
+
2 ./benchmark/../lib/loose_tight_dictionary/similarity.rb:22:__node__
|
181
|
+
2 ./benchmark/../lib/loose_tight_dictionary/similarity.rb:17:__node__
|
182
|
+
2 ./benchmark/../lib/loose_tight_dictionary/similarity.rb:16:__node__
|
183
|
+
2 ./benchmark/../lib/loose_tight_dictionary/score.rb:4:Class
|
184
|
+
2 ./benchmark/../lib/loose_tight_dictionary/score.rb:26:__node__
|
185
|
+
2 ./benchmark/../lib/loose_tight_dictionary/score.rb:22:__node__
|
186
|
+
2 ./benchmark/../lib/loose_tight_dictionary/score.rb:18:__node__
|
187
|
+
2 ./benchmark/../lib/loose_tight_dictionary/score.rb:17:String
|
188
|
+
2 ./benchmark/../lib/loose_tight_dictionary/score.rb:14:__node__
|
189
|
+
2 ./benchmark/../lib/loose_tight_dictionary/score.rb:13:String
|
190
|
+
2 ./benchmark/../lib/loose_tight_dictionary/result.rb:2:Class
|
191
|
+
2 ./benchmark/../lib/loose_tight_dictionary/result.rb:17:__node__
|
192
|
+
2 ./benchmark/../lib/loose_tight_dictionary/identity.rb:7:__node__
|
193
|
+
2 ./benchmark/../lib/loose_tight_dictionary/identity.rb:4:Class
|
194
|
+
2 ./benchmark/../lib/loose_tight_dictionary/identity.rb:23:__node__
|
195
|
+
2 ./benchmark/../lib/loose_tight_dictionary/identity.rb:22:__node__
|
196
|
+
2 ./benchmark/../lib/loose_tight_dictionary/identity.rb:21:__node__
|
197
|
+
2 ./benchmark/../lib/loose_tight_dictionary/identity.rb:11:__node__
|
198
|
+
2 ./benchmark/../lib/loose_tight_dictionary/extract_regexp.rb:7:__node__
|
199
|
+
2 ./benchmark/../lib/loose_tight_dictionary/extract_regexp.rb:6:__node__
|
200
|
+
2 ./benchmark/../lib/loose_tight_dictionary/extract_regexp.rb:5:__node__
|
201
|
+
2 ./benchmark/../lib/loose_tight_dictionary/extract_regexp.rb:23:String
|
202
|
+
2 ./benchmark/../lib/loose_tight_dictionary/extract_regexp.rb:12:__node__
|
203
|
+
2 ./benchmark/../lib/loose_tight_dictionary/blocking.rb:9:Class
|
204
|
+
2 ./benchmark/../lib/loose_tight_dictionary/blocking.rb:34:__node__
|
205
|
+
2 ./benchmark/../lib/loose_tight_dictionary/blocking.rb:32:__node__
|
206
|
+
2 ./benchmark/../lib/loose_tight_dictionary/blocking.rb:30:__node__
|
207
|
+
2 ./benchmark/../lib/loose_tight_dictionary/blocking.rb:29:__node__
|
208
|
+
2 ./benchmark/../lib/loose_tight_dictionary/blocking.rb:23:__node__
|
209
|
+
2 ./benchmark/../lib/loose_tight_dictionary/blocking.rb:16:__node__
|
210
|
+
2 ./benchmark/../lib/loose_tight_dictionary/blocking.rb:12:__node__
|
211
|
+
2 ./benchmark/../lib/loose_tight_dictionary.rb:86:Array
|
212
|
+
1 benchmark/memory.rb:50:String
|
213
|
+
1 benchmark/memory.rb:49:LooseTightDictionary
|
214
|
+
1 /Users/seamus/.rvm/rubies/ruby-1.8.7-p334/lib/ruby/1.8/uri/common.rb:492:URI::Generic
|
215
|
+
1 /Users/seamus/.rvm/gems/ruby-1.8.7-p334/gems/remote_table-1.1.6/lib/remote_table/executor.rb:19:Process::Status
|
216
|
+
1 /Users/seamus/.rvm/gems/ruby-1.8.7-p334/gems/remote_table-1.1.6/lib/remote_table/executor.rb:10:Bignum
|
217
|
+
1 /Users/seamus/.rvm/gems/ruby-1.8.7-p334/gems/remote_table-1.1.6/lib/remote_table.rb:63:Array
|
218
|
+
1 /Users/seamus/.rvm/gems/ruby-1.8.7-p334/gems/remote_table-1.1.6/lib/remote_table.rb:121:RemoteTable::Transformer
|
219
|
+
1 /Users/seamus/.rvm/gems/ruby-1.8.7-p334/gems/remote_table-1.1.6/lib/remote_table.rb:116:RemoteTable::Format::Delimited
|
220
|
+
1 /Users/seamus/.rvm/gems/ruby-1.8.7-p334/gems/remote_table-1.1.6/lib/remote_table.rb:111:RemoteTable::Properties
|
221
|
+
1 /Users/seamus/.rvm/gems/ruby-1.8.7-p334/gems/remote_table-1.1.6/lib/remote_table.rb:106:RemoteTable::LocalFile
|
222
|
+
1 /Users/seamus/.rvm/gems/ruby-1.8.7-p334/gems/amatch-0.2.5/lib/amatch/version.rb:4:Regexp
|
223
|
+
1 /Users/seamus/.rvm/gems/ruby-1.8.7-p334/gems/amatch-0.2.5/lib/amatch/version.rb:4:Array
|
224
|
+
1 /Users/seamus/.rvm/gems/ruby-1.8.7-p334/gems/amatch-0.2.5/lib/amatch/version.rb:1:__node__
|
225
|
+
1 /Users/seamus/.rvm/gems/ruby-1.8.7-p334/gems/amatch-0.2.5/lib/amatch/version.rb:1:String
|
226
|
+
1 /Users/seamus/.rvm/gems/ruby-1.8.7-p334/gems/amatch-0.2.5/lib/amatch/version.rb:1:Module
|
227
|
+
1 /Users/seamus/.rvm/gems/ruby-1.8.7-p334/gems/activesupport-3.0.5/lib/active_support/core_ext/hash/keys.rb:18:Hash
|
228
|
+
1 ./benchmark/../lib/loose_tight_dictionary/wrapper.rb:3:__node__
|
229
|
+
1 ./benchmark/../lib/loose_tight_dictionary/wrapper.rb:3:String
|
230
|
+
1 ./benchmark/../lib/loose_tight_dictionary/wrapper.rb:25:String
|
231
|
+
1 ./benchmark/../lib/loose_tight_dictionary/wrapper.rb:1:__node__
|
232
|
+
1 ./benchmark/../lib/loose_tight_dictionary/wrapper.rb:10:String
|
233
|
+
1 ./benchmark/../lib/loose_tight_dictionary/tightener.rb:4:String
|
234
|
+
1 ./benchmark/../lib/loose_tight_dictionary/tightener.rb:4:LooseTightDictionary::ExtractRegexp
|
235
|
+
1 ./benchmark/../lib/loose_tight_dictionary/tightener.rb:3:__node__
|
236
|
+
1 ./benchmark/../lib/loose_tight_dictionary/tightener.rb:3:String
|
237
|
+
1 ./benchmark/../lib/loose_tight_dictionary/tightener.rb:1:__node__
|
238
|
+
1 ./benchmark/../lib/loose_tight_dictionary/similarity.rb:9:__node__
|
239
|
+
1 ./benchmark/../lib/loose_tight_dictionary/similarity.rb:2:__node__
|
240
|
+
1 ./benchmark/../lib/loose_tight_dictionary/similarity.rb:2:String
|
241
|
+
1 ./benchmark/../lib/loose_tight_dictionary/similarity.rb:25:String
|
242
|
+
1 ./benchmark/../lib/loose_tight_dictionary/similarity.rb:1:__node__
|
243
|
+
1 ./benchmark/../lib/loose_tight_dictionary/score.rb:4:__node__
|
244
|
+
1 ./benchmark/../lib/loose_tight_dictionary/score.rb:4:String
|
245
|
+
1 ./benchmark/../lib/loose_tight_dictionary/score.rb:3:__node__
|
246
|
+
1 ./benchmark/../lib/loose_tight_dictionary/score.rb:1:String
|
247
|
+
1 ./benchmark/../lib/loose_tight_dictionary/score.rb:13:Array
|
248
|
+
1 ./benchmark/../lib/loose_tight_dictionary/score.rb:10:__node__
|
249
|
+
1 ./benchmark/../lib/loose_tight_dictionary/result.rb:2:__node__
|
250
|
+
1 ./benchmark/../lib/loose_tight_dictionary/result.rb:2:String
|
251
|
+
1 ./benchmark/../lib/loose_tight_dictionary/result.rb:1:__node__
|
252
|
+
1 ./benchmark/../lib/loose_tight_dictionary/identity.rb:5:LooseTightDictionary::ExtractRegexp
|
253
|
+
1 ./benchmark/../lib/loose_tight_dictionary/identity.rb:4:__node__
|
254
|
+
1 ./benchmark/../lib/loose_tight_dictionary/identity.rb:4:String
|
255
|
+
1 ./benchmark/../lib/loose_tight_dictionary/identity.rb:1:__node__
|
256
|
+
1 ./benchmark/../lib/loose_tight_dictionary/extract_regexp.rb:4:__node__
|
257
|
+
1 ./benchmark/../lib/loose_tight_dictionary/extract_regexp.rb:2:__node__
|
258
|
+
1 ./benchmark/../lib/loose_tight_dictionary/extract_regexp.rb:2:String
|
259
|
+
1 ./benchmark/../lib/loose_tight_dictionary/extract_regexp.rb:2:Module
|
260
|
+
1 ./benchmark/../lib/loose_tight_dictionary/extract_regexp.rb:28:__node__
|
261
|
+
1 ./benchmark/../lib/loose_tight_dictionary/extract_regexp.rb:26:String
|
262
|
+
1 ./benchmark/../lib/loose_tight_dictionary/extract_regexp.rb:25:String
|
263
|
+
1 ./benchmark/../lib/loose_tight_dictionary/extract_regexp.rb:24:String
|
264
|
+
1 ./benchmark/../lib/loose_tight_dictionary/extract_regexp.rb:23:Regexp
|
265
|
+
1 ./benchmark/../lib/loose_tight_dictionary/extract_regexp.rb:1:__node__
|
266
|
+
1 ./benchmark/../lib/loose_tight_dictionary/extract_regexp.rb:17:Hash
|
267
|
+
1 ./benchmark/../lib/loose_tight_dictionary/extract_regexp.rb:10:String
|
268
|
+
1 ./benchmark/../lib/loose_tight_dictionary/blocking.rb:9:__node__
|
269
|
+
1 ./benchmark/../lib/loose_tight_dictionary/blocking.rb:9:String
|
270
|
+
1 ./benchmark/../lib/loose_tight_dictionary/blocking.rb:1:__node__
|
271
|
+
1 ./benchmark/../lib/loose_tight_dictionary/blocking.rb:10:LooseTightDictionary::ExtractRegexp
|
272
|
+
1 ./benchmark/../lib/loose_tight_dictionary.rb:62:LooseTightDictionary::Wrapper
|
273
|
+
1 ./benchmark/../lib/loose_tight_dictionary.rb:39:String
|
274
|
+
1 ./benchmark/../lib/loose_tight_dictionary.rb:39:LooseTightDictionary::Result
|
275
|
+
1 ./benchmark/../lib/loose_tight_dictionary.rb:35:String
|
276
|
+
1 ./benchmark/../lib/loose_tight_dictionary.rb:209:Array
|
277
|
+
1 ./benchmark/../lib/loose_tight_dictionary.rb:199:String
|
278
|
+
1 ./benchmark/../lib/loose_tight_dictionary.rb:198:Array
|
279
|
+
1 ./benchmark/../lib/loose_tight_dictionary.rb:193:String
|
280
|
+
1 ./benchmark/../lib/loose_tight_dictionary.rb:192:Array
|
281
|
+
1 ./benchmark/../lib/loose_tight_dictionary.rb:187:String
|
282
|
+
1 ./benchmark/../lib/loose_tight_dictionary.rb:186:Array
|
283
|
+
1 ./benchmark/../lib/loose_tight_dictionary.rb:101:Array
|