did_you_mean 0.9.10-java → 0.10.0-java

Sign up to get free protection for your applications and to get access to all the features.
Files changed (58) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +4 -0
  3. data/.travis.yml +13 -19
  4. data/CHANGELOG.md +229 -0
  5. data/Gemfile +4 -7
  6. data/README.md +5 -16
  7. data/Rakefile +35 -33
  8. data/benchmark/jaro_winkler/memory_usage.rb +12 -0
  9. data/benchmark/jaro_winkler/speed.rb +14 -0
  10. data/benchmark/levenshtein/memory_usage.rb +12 -0
  11. data/benchmark/levenshtein/speed.rb +17 -0
  12. data/benchmark/memory_usage.rb +31 -0
  13. data/did_you_mean.gemspec +9 -2
  14. data/evaluation/calculator.rb +122 -0
  15. data/evaluation/dictionary_generator.rb +36 -0
  16. data/evaluation/incorrect_words.yaml +1159 -0
  17. data/ext/did_you_mean/extconf.rb +1 -1
  18. data/ext/did_you_mean/{method_missing.c → method_receiver.c} +1 -1
  19. data/lib/did_you_mean.rb +22 -3
  20. data/lib/did_you_mean/core_ext/name_error.rb +30 -22
  21. data/lib/did_you_mean/core_ext/no_method_error.rb +13 -2
  22. data/lib/did_you_mean/core_ext/rubinius.rb +16 -0
  23. data/lib/did_you_mean/finders.rb +48 -17
  24. data/lib/did_you_mean/finders/method_finder.rb +62 -0
  25. data/lib/did_you_mean/finders/name_error_finders.rb +8 -11
  26. data/lib/did_you_mean/finders/name_error_finders/class_finder.rb +77 -0
  27. data/lib/did_you_mean/finders/name_error_finders/name_finder.rb +18 -0
  28. data/lib/did_you_mean/formatter.rb +20 -0
  29. data/lib/did_you_mean/jaro_winkler.rb +87 -0
  30. data/lib/did_you_mean/test_helper.rb +1 -1
  31. data/lib/did_you_mean/version.rb +1 -1
  32. data/test/core_ext/name_error_extension_test.rb +74 -0
  33. data/test/{no_method_error_extension_test.rb → core_ext/no_method_error_extension_test.rb} +1 -1
  34. data/test/correctable/class_name_test.rb +65 -0
  35. data/test/correctable/method_name_test.rb +84 -0
  36. data/test/{null_finder_test.rb → correctable/uncorrectable_name_test.rb} +3 -7
  37. data/test/correctable/variable_name_test.rb +79 -0
  38. data/test/edit_distance/jaro_winkler_test.rb +30 -0
  39. data/test/test_helper.rb +2 -20
  40. data/test/word_collection_test.rb +76 -12
  41. metadata +58 -56
  42. data/Appraisals +0 -23
  43. data/gemfiles/activerecord_32.gemfile +0 -21
  44. data/gemfiles/activerecord_40.gemfile +0 -21
  45. data/gemfiles/activerecord_41.gemfile +0 -21
  46. data/gemfiles/activerecord_42.gemfile +0 -21
  47. data/gemfiles/activerecord_edge.gemfile +0 -25
  48. data/lib/did_you_mean/finders/name_error_finders/similar_class_finder.rb +0 -50
  49. data/lib/did_you_mean/finders/name_error_finders/similar_name_finder.rb +0 -61
  50. data/lib/did_you_mean/finders/similar_attribute_finder.rb +0 -26
  51. data/lib/did_you_mean/finders/similar_method_finder.rb +0 -34
  52. data/lib/did_you_mean/word_collection.rb +0 -30
  53. data/test/all_test.rb +0 -18
  54. data/test/name_error_extension_test.rb +0 -73
  55. data/test/similar_attribute_finder_test.rb +0 -17
  56. data/test/similar_class_finder_test.rb +0 -85
  57. data/test/similar_method_finder_test.rb +0 -60
  58. data/test/similar_name_finder_test.rb +0 -62
@@ -0,0 +1,12 @@
1
+ require 'memory_profiler'
2
+ require 'did_you_mean/jaro_winkler'
3
+
4
+ str1, str2 = "user_signed_in?", "user_logged_in?"
5
+
6
+ report = MemoryProfiler.report do
7
+ 80.times do
8
+ DidYouMean::Jaro.distance str1, str2
9
+ end
10
+ end
11
+
12
+ report.pretty_print
@@ -0,0 +1,14 @@
1
+ require 'benchmark/ips'
2
+ require 'did_you_mean'
3
+
4
+ Benchmark.ips do |x|
5
+ x.report "before" do
6
+ DidYouMean::Jaro.before_distance "user_signed_in?", "user_logged_in?"
7
+ end
8
+
9
+ x.report "after" do
10
+ DidYouMean::Jaro.after_distance "user_signed_in?", "user_logged_in?"
11
+ end
12
+
13
+ x.compare!
14
+ end
@@ -0,0 +1,12 @@
1
+ require 'memory_profiler'
2
+ require 'did_you_mean/levenshtein'
3
+
4
+ str1, str2 = "user_signed_in?", "user_logged_in?"
5
+
6
+ report = MemoryProfiler.report do
7
+ 80.times do
8
+ DidYouMean::Levenshtein.distance str1, str2
9
+ end
10
+ end
11
+
12
+ report.pretty_print
@@ -0,0 +1,17 @@
1
+ require 'benchmark/ips'
2
+ require 'did_you_mean'
3
+ require 'did_you_mean/levenshtein'
4
+
5
+ STR1, STR2 = "user_signed_in?", "user_logged_in?"
6
+
7
+ Benchmark.ips do |x|
8
+ x.report "enumerable" do
9
+ DidYouMean::Levenshtein.before_distance STR1, STR2
10
+ end
11
+
12
+ x.report "while" do
13
+ DidYouMean::Levenshtein.after_distance STR1, STR2
14
+ end
15
+
16
+ x.compare!
17
+ end
@@ -0,0 +1,31 @@
1
+ require 'memory_profiler'
2
+ require 'did_you_mean'
3
+
4
+ # public def foo; end
5
+ # error = (self.fooo rescue $!)
6
+ # executable = -> { error.to_s }
7
+
8
+ class DidYouMean::WordCollection
9
+ include DidYouMean::BaseFinder
10
+
11
+ def initialize(words)
12
+ @words = words
13
+ end
14
+
15
+ def similar_to(input, filter = EMPTY)
16
+ @suggestions, @input = nil, input
17
+ suggestions
18
+ end
19
+
20
+ def searches
21
+ { @input => @words }
22
+ end
23
+ end if !defined?(DidYouMean::WordCollection)
24
+
25
+ METHODS = ''.methods
26
+ INPUT = 'start_with?'
27
+ collection = DidYouMean::WordCollection.new(METHODS)
28
+ executable = proc { collection.similar_to(INPUT) }
29
+
30
+ GC.disable
31
+ MemoryProfiler.report { 100.times(&executable) }.pretty_print
data/did_you_mean.gemspec CHANGED
@@ -14,12 +14,19 @@ Gem::Specification.new do |spec|
14
14
  spec.license = "MIT"
15
15
 
16
16
  spec.files = `git ls-files`.split($/)
17
- # spec.extensions = ["ext/did_you_mean/extconf.rb"]
18
- spec.platform = 'java'
19
17
  spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
20
18
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
21
19
  spec.require_paths = ["lib"]
22
20
 
21
+ spec.required_ruby_version = '>= 1.9.3'
22
+
23
+ case RUBY_ENGINE
24
+ when 'ruby'
25
+ spec.extensions = ["ext/did_you_mean/extconf.rb"]
26
+ when 'jruby'
27
+ spec.platform = 'java'
28
+ end
29
+
23
30
  spec.add_dependency "interception"
24
31
 
25
32
  spec.add_development_dependency "bundler", "~> 1.5"
@@ -0,0 +1,122 @@
1
+ require 'benchmark'
2
+
3
+ def report(message, &block)
4
+ time = 1000 * Benchmark.realtime(&block)
5
+
6
+ if (time / 1000 / 60) >= 1
7
+ minutes = (time / 1000 / 60).floor
8
+ seconds = (time % (60 * 1000)) / 1000
9
+
10
+ puts " \e[36m%2dm%.3fs:\e[0m %s" % [minutes, seconds, message]
11
+ elsif (time / 1000) >= 1
12
+ seconds = (time % (60 * 1000)) / 1000
13
+
14
+ puts " \e[36m%9.3fs:\e[0m %s" % [seconds, message]
15
+ else
16
+ puts " \e[36m%8.1fms:\e[0m %s" % [time, message]
17
+ end
18
+
19
+ time
20
+ end
21
+
22
+ puts "\n"
23
+
24
+ report "loading program" do
25
+ require 'yaml'
26
+ require 'set'
27
+ require 'did_you_mean'
28
+
29
+ begin
30
+ require 'jaro_winkler'
31
+ DidYouMean::JaroWinkler.module_eval do
32
+ module_function
33
+ def distance(str1, str2)
34
+ ::JaroWinkler.distance(str1, str2)
35
+ end if RUBY_ENGINE != 'jruby'
36
+ end
37
+ rescue LoadError, NameError
38
+ end
39
+
40
+ class DidYouMean::WordCollection
41
+ include DidYouMean::BaseFinder
42
+
43
+ def initialize(words)
44
+ @words = words
45
+ end
46
+
47
+ def similar_to(input, filter = EMPTY)
48
+ @suggestions, @input = nil, input
49
+ suggestions
50
+ end
51
+
52
+ def searches
53
+ { @input => @words }
54
+ end
55
+
56
+ private
57
+ def normalize(str); str; end
58
+ end if !defined?(DidYouMean::WordCollection)
59
+ end
60
+
61
+ report "loading dictionary" do
62
+ yaml = open("evaluation/dictionary.yml").read
63
+ yaml = YAML.load(yaml).map{|word| word.downcase.tr(" ".freeze, "_".freeze) }
64
+
65
+ DICTIONARY = Set.new(yaml)
66
+ end
67
+
68
+ report "loading corrent/incorrect words" do
69
+ COLLECTION = DidYouMean::WordCollection.new(DICTIONARY)
70
+ INCORRECT_WORDS = YAML.load(open("evaluation/incorrect_words.yaml").read)
71
+ end
72
+
73
+ total_count = 0
74
+ correct_count = 0
75
+ words_not_corrected = []
76
+ filename = "log/words_not_corrected_#{Time.now.to_i}.yml"
77
+
78
+ puts "
79
+ Total number of test data: #{INCORRECT_WORDS.size}
80
+ did_you_mean version: #{DidYouMean::VERSION}
81
+
82
+ "
83
+
84
+ report "calculating accuracy" do
85
+ index = 0
86
+ INCORRECT_WORDS.each do |correct, incorrect|
87
+ if DICTIONARY.include?(correct)
88
+ total_count += 1
89
+
90
+ corrections = COLLECTION.similar_to(incorrect)
91
+ if corrections.first == correct
92
+ correct_count += 1
93
+ else
94
+ words_not_corrected << {
95
+ correct => incorrect,
96
+ 'result'.freeze => corrections
97
+ }
98
+ end
99
+ end
100
+
101
+ index += 1
102
+ puts "processed #{index} items" if index % 100 == 0
103
+ end
104
+
105
+ puts "\n"
106
+ end
107
+
108
+ puts "
109
+ Evaulation result
110
+
111
+ Total count : #{total_count}
112
+ Correct count: #{correct_count}
113
+ Accuracy : #{correct_count.to_f / total_count}
114
+
115
+ "
116
+
117
+ Dir.mkdir('log') unless File.exist?('log')
118
+ File.open(filename, 'w') do |file|
119
+ file.write(words_not_corrected.to_yaml)
120
+ end
121
+
122
+ puts "Incorrect suggestions were logged to #{filename}."
@@ -0,0 +1,36 @@
1
+ require 'open-uri'
2
+ require 'cgi'
3
+ require 'json'
4
+
5
+ per_page = 500
6
+ base_url = "https://simple.wiktionary.org/w/api.php?action=query&aplimit=#{per_page}&list=allpages&format=json"
7
+ filename = "evaluation/dictionary.yml"
8
+ count = nil
9
+ apfrom = ""
10
+ num = 0
11
+ titles = []
12
+
13
+ begin
14
+ url = base_url + "&apfrom=#{apfrom}"
15
+
16
+ puts "downloading page %2d: #{url}" % num
17
+
18
+ body = open(url).read
19
+ json = JSON.load(body)
20
+ count = json["query"]["allpages"].size
21
+ apfrom = CGI.escape(json["query"]["allpages"].last['title']) if count > 0
22
+
23
+ titles += json["query"]["allpages"].map {|hash| hash["title"] }
24
+ num += 1
25
+ end while count == per_page
26
+
27
+ require 'yaml'
28
+
29
+ File.open(filename, 'w') do |file|
30
+ file.write(titles.uniq.to_yaml)
31
+ end
32
+
33
+ puts "
34
+ Number of titles: #{titles.uniq.size}
35
+ Dictionary saved: #{filename}
36
+ "
@@ -0,0 +1,1159 @@
1
+ # This data is based on Birkbeck Spelling Error Corpus: http://ota.ox.ac.uk/headers/0643.xml
2
+ # More specifically, this is a yaml version of the data in FAWTHROP1DAT.643 and FAWTHROP1DAT.643.
3
+ ---
4
+ abattoir: abbatoir
5
+ abhorrence: abhorence
6
+ absence: absense
7
+ absorbent: absorbant
8
+ absorption: absorbtion
9
+ accede: acceed
10
+ accelerate: acellerate
11
+ accessible: accesible
12
+ accidentally: accidently
13
+ accommodate: accomodate
14
+ accommodation: accomodation
15
+ accommodations: accomodations
16
+ accompaniment: accompanimen
17
+ accompanying: acompaning
18
+ accomplice: acomplice
19
+ accrued: acrued
20
+ accumulated: acumulated
21
+ accustom: acustom
22
+ achievement: acheivement
23
+ acknowledgment: acknowledgement
24
+ acquaintance: acquantance
25
+ acquiesce: aquiese
26
+ acquiescence: acquiesence
27
+ acquire: aquire
28
+ actually: actualy
29
+ adaptability: adaptibility
30
+ addition: additon
31
+ address: adress
32
+ adequately: adequattly
33
+ adjacent: ajacent
34
+ adjourned: adjorned
35
+ administration: adminstration
36
+ admissible: admissable
37
+ admitting: admiting
38
+ advantageous: advantageos
39
+ advice: advise
40
+ affidavit: afidavit
41
+ aggravated: agravated
42
+ aghast: agast
43
+ agreeable: agreable
44
+ allotted: alloted
45
+ also: allso
46
+ alumnae: alumni
47
+ alumni: alumnae
48
+ amateur: amatuer
49
+ amiable: aimiable
50
+ ammonia: amonia
51
+ analogous: analagous
52
+ analysis: analsis
53
+ analyze: analize
54
+ angel: angell
55
+ anniversary: anniversery
56
+ announcement: anouncement
57
+ annoyance: anoyance
58
+ answer: anwser
59
+ antarctic: antartic
60
+ any: anye
61
+ anything: anythin
62
+ apollo: appolo
63
+ apology: appology
64
+ apparent: apparant
65
+ appearance: appearence
66
+ appearing: appearin
67
+ appetite: appitite
68
+ appetites: appatites
69
+ appropriate: apropriate
70
+ appropriation: apropriation
71
+ approximate: aproximate
72
+ approximately: aproximatly
73
+ archaeological: archeological
74
+ ascertain: assertain
75
+ asinine: assinine
76
+ asking: askin
77
+ asleep: asleeep
78
+ assassinate: assasinate
79
+ assessment: assesment
80
+ assiduous: assidious
81
+ assistance: assistence
82
+ attorneys: attornies
83
+ authoritative: authorative
84
+ auxiliary: auxillary
85
+ available: availble
86
+ awkward: aukward
87
+ bachelor: batchelor
88
+ balloon: baloon
89
+ banana: bananna
90
+ bankruptcy: bankrupcy
91
+ bargaining: baragining
92
+ battalion: batallion
93
+ beam: beame
94
+ before: befor
95
+ beginning: begining
96
+ believe: belive
97
+ belligerent: beligerant
98
+ beneficent: beneficient
99
+ beneficial: benificial
100
+ bitch: bich
101
+ brake: brakke
102
+ brethren: bretheren
103
+ brief: brif
104
+ britain: britian
105
+ britannia: britania
106
+ brown: broun
107
+ bungalow: bungalo
108
+ buoyancy: bouyancy
109
+ buoyant: bouyant
110
+ buried: burried
111
+ bushel: bushell
112
+ business: busness
113
+ buying: buyin
114
+ cancellation: cancelation
115
+ calling: callin
116
+ cantaloupe: cantaloube
117
+ caribbean: carribean
118
+ catalogues: catologues
119
+ category: catagorey
120
+ cemetery: cemetary
121
+ chauffeur: chauffuer
122
+ chemistry: chemestry
123
+ chimneys: chimnies
124
+ cincinnati: cincinatti
125
+ clever: cleva
126
+ coalesced: coalesed
127
+ coherent: coherant
128
+ coliseum: colosium
129
+ collateral: calateral
130
+ colossal: collosal
131
+ colossus: collosus
132
+ commanded: commaunded
133
+ commission: commision
134
+ commitment: committment
135
+ committee: committe
136
+ communicate: comunicate
137
+ comparative: comparitive
138
+ comparatively: comparitively
139
+ compendium: conpendium
140
+ competent: compitent
141
+ concede: consede
142
+ conceive: concieve
143
+ conceived: concieved
144
+ conditions: condicions
145
+ confectionery: confectionary
146
+ confirmation: confermation
147
+ confusing: confusin
148
+ connoisseurs: connoiseurs
149
+ conscience: concience
150
+ conscientious: conscientous
151
+ consensus: concensus
152
+ considering: consderin
153
+ consistent: consistant
154
+ conspired: conpired
155
+ consumer: comsumer
156
+ contemptible: contempible
157
+ continuous: continous
158
+ controllable: controlable
159
+ controversy: controversey
160
+ conveniently: conviently
161
+ coolly: cooly
162
+ corduroy: corderoy
163
+ correspondence: correspondanc
164
+ corrugated: corrigated
165
+ could: coud
166
+ counting: countin
167
+ countryman: countriman
168
+ craftsman: craftman
169
+ curiosity: curiousity
170
+ curriculum: curicculum
171
+ customary: customery
172
+ cynical: synical
173
+ darling: darlin
174
+ decidedly: dicidely
175
+ deem: deam
176
+ definitely: definatly
177
+ delinquent: delinquint
178
+ delirious: dilirious
179
+ delving: delvin
180
+ denying: denyin
181
+ dependant: dependent
182
+ depreciation: depeciation
183
+ descendant: descendent
184
+ description: desacription
185
+ despair: dispair
186
+ deuce: duece
187
+ develop: develope
188
+ development: developement
189
+ dictionary: dictionery
190
+ dignitary: dignatary
191
+ dilapidated: dilapadated
192
+ diminish: diminsh
193
+ dining: dinning
194
+ diphtheria: diptheria
195
+ disappoint: dissappoint
196
+ disappointment: dissappointment
197
+ disastrous: disasterous
198
+ discipline: disiplin
199
+ discrete: discite
200
+ dispel: dispell
201
+ dissipate: disippate
202
+ divine: devine
203
+ doctor: docter
204
+ doctors: docters
205
+ dormitory: dormatory
206
+ doubt: doupt
207
+ drastically: drasticly
208
+ drawing: drawin
209
+ dreaming: dreamin
210
+ drew: drewe
211
+ dropped: droped
212
+ drunkenness: drunkeness
213
+ duchess: dutchess
214
+ duly: duely
215
+ during: durin
216
+ earnest: ernest
217
+ ecstasy: ecstacy
218
+ effecting: effectinge
219
+ effeminate: affeminate
220
+ effervescent: effervesent
221
+ efficiency: effeciency
222
+ eisenhower: eisenhhower
223
+ eligible: elegable
224
+ eliminate: illiminate
225
+ embarrass: embarass
226
+ embarrassment: embarrasment
227
+ encyclopedia: encylopedia
228
+ endorsement: endorsment
229
+ enemy: emeny
230
+ engineers: egnineers
231
+ enlarged: enlargd
232
+ entertained: enterteyned
233
+ equipped: equipt
234
+ equivalent: equivelant
235
+ esteemed: estimed
236
+ every: evrey
237
+ exaggerate: exagerate
238
+ exaggeration: exageration
239
+ examination: eximination
240
+ examining: examinin
241
+ excellence: excelence
242
+ exercises: excercises
243
+ exhilarating: exhilirating
244
+ exhorted: exorted
245
+ existence: existance
246
+ exorbitant: exhorbitant
247
+ experience: experiance
248
+ explicitly: explisitly
249
+ exquisite: exqusite
250
+ eyeing: eying
251
+ facilitate: facilatate
252
+ fascinating: facinating
253
+ fatiguing: fatiging
254
+ fear: feare
255
+ february: febuary
256
+ fictitious: fictitous
257
+ fielder: fiedler
258
+ fiery: firey
259
+ fighting: fieghting
260
+ filipinos: philipinoes
261
+ filthiness: filthness
262
+ finally: finaly
263
+ flammable: flamable
264
+ flourished: florished
265
+ foreign: forien
266
+ forthright: fortright
267
+ forty: fourty
268
+ fox: foxx
269
+ frescos: frescoes
270
+ friend: freind
271
+ fulfill: fullfil
272
+ fundamental: fundemental
273
+ fundamentally: fundementally
274
+ gardener: gardner
275
+ gauge: guage
276
+ generosity: generousity
277
+ genius: genious
278
+ ghastly: gastly
279
+ gnawing: knawing
280
+ gone: gonne
281
+ government: goverment
282
+ grabbing: grabbin
283
+ grammar: grammer
284
+ gramophone: grammophon
285
+ grandeur: granduer
286
+ grateful: greatful
287
+ grievous: grievious
288
+ grill: grille
289
+ guarantee: gaurantee
290
+ guaranteed: guarenteed
291
+ guardian: guardien
292
+ guttural: gutteral
293
+ hammarskjold: hammerskjold
294
+ hand: hande
295
+ handkerchief: hankerchief
296
+ handsome: hansome
297
+ harass: harrass
298
+ having: haveing
299
+ heartrending: heartrendering
300
+ height: heighth
301
+ heinous: hienous
302
+ hemorrhage: hemorrage
303
+ heyday: heydey
304
+ himself: himselfe
305
+ hindrance: hinderence
306
+ humbly: humly
307
+ hurricane: huricane
308
+ hygiene: hygeine
309
+ identified: indentified
310
+ idiosyncrasy: idiocyncracy
311
+ imagination: imagnation
312
+ imitation: immitation
313
+ immediately: imidatly
314
+ immensely: immensly
315
+ impedance: impedence
316
+ impresario: impressario
317
+ incense: insense
318
+ incessant: incesant
319
+ incidentally: incidently
320
+ incompatibility: incompatability
321
+ inconvenience: inconvience
322
+ incorrigible: incorigible
323
+ incredible: incredable
324
+ indefinite: indefinate
325
+ independence: independance
326
+ indictment: inditement
327
+ indispensable: indispensible
328
+ inevitable: inevitible
329
+ infallible: infalable
330
+ infinite: infinate
331
+ ingratitude: ingratitoode
332
+ innocuous: inocuous
333
+ inoculate: innoculate
334
+ insistence: insistance
335
+ instantaneous: instantanous
336
+ instead: insted
337
+ intercede: intersede
338
+ interfered: interferred
339
+ interference: intereference
340
+ interrupted: interupted
341
+ invariably: invarably
342
+ irrelevant: irrelavent
343
+ irreparable: irrepairable
344
+ irresistible: irristible
345
+ itemized: itimized
346
+ jackknife: jacknife
347
+ jaguar: jagaur
348
+ japanese: japaneze
349
+ jaundice: jaundise
350
+ jealousy: jelousy
351
+ jeopardize: jeprodise
352
+ judgment: judgement
353
+ kaleidoscope: kaliedoscope
354
+ kapok: kapock
355
+ khaki: kahki
356
+ kimono: kimona
357
+ kindergarten: kindergarden
358
+ kitchen: kitchin
359
+ knickknacks: knicknacks
360
+ labeled: labelled
361
+ laboratory: labratory
362
+ language: langauge
363
+ leeway: leaway
364
+ leisure: liesure
365
+ leveled: levelled
366
+ library: libray
367
+ license: lisence
368
+ lieutenant: leutenant
369
+ linoleum: linolium
370
+ liquefied: liquified
371
+ liquefy: liquify
372
+ livelihood: livelyhood
373
+ lodestone: loadstone
374
+ lodgment: lodgement
375
+ lonely: lonley
376
+ magnificent: magnigicient
377
+ maintenance: maintainance
378
+ mammoth: mamoth
379
+ management: managment
380
+ maneuver: manuveur
381
+ manufactories: manufacturies
382
+ masterpiece: masterpice
383
+ material: materiel
384
+ mathematics: mathmatics
385
+ mattress: mattres
386
+ maudlin: mauldin
387
+ meant: ment
388
+ medicine: medecine
389
+ meeting: meetin
390
+ mercenary: mercanery
391
+ merchandise: merchandize
392
+ merchantmen: merchantment
393
+ meteorological: meterological
394
+ metropolitan: metropolitian
395
+ millionaire: millionnaire
396
+ miniature: minature
397
+ miscellaneous: miscelaneous
398
+ mischievous: mischievious
399
+ moccasins: mocassins
400
+ momentous: momentus
401
+ mortgage: morgage
402
+ mortgaged: mortgauged
403
+ murmurs: murmers
404
+ mustnt: musnt
405
+ mutilate: mutalate
406
+ mythical: mithical
407
+ nadir: nadar
408
+ naphtha: naptha
409
+ narrative: narative
410
+ naturally: naturaly
411
+ navigating: navagating
412
+ necessarily: necessarilly
413
+ necessary: nessisary
414
+ niagara: niagra
415
+ nickel: nickle
416
+ niggardly: nigardly
417
+ ninetieth: nintieth
418
+ ninetyninth: nintynineth
419
+ nocturnal: nocternal
420
+ nonsense: nonsence
421
+ notwithstanding: nothwithstanding
422
+ nowadays: nowdays
423
+ obbligato: obliggato
424
+ obdurate: obdirate
425
+ occasion: ocassion
426
+ occasionally: occasionaly
427
+ occurred: occureed
428
+ occurrence: occurence
429
+ octopus: octapus
430
+ odyssey: oddysey
431
+ ominous: omenous
432
+ omission: ommision
433
+ onerous: onirous
434
+ opportunities: oppotunities
435
+ opposition: oposition
436
+ oppressor: oppresser
437
+ optician: optitian
438
+ oratorio: orotario
439
+ orchestra: ochestra
440
+ ordinarily: ordinarilly
441
+ origin: origen
442
+ originally: origionally
443
+ own: owne
444
+ pain: paine
445
+ pamphlet: phamplet
446
+ pamphlets: phamplets
447
+ parallel: parellel
448
+ paralysis: parallysis
449
+ paraphernalia: parephernalia
450
+ parenthesis: parenthasis
451
+ participle: participal
452
+ pastime: pasttime
453
+ pastor: paster
454
+ paternity: paternaty
455
+ pavilion: pavillion
456
+ peasant: peasent
457
+ peculiar: pecular
458
+ penance: pennance
459
+ pendulum: pendelum
460
+ penguins: pengiuns
461
+ peninsula: peninsular
462
+ penitentiary: penitentary
463
+ perceive: percieve
464
+ perforation: preforation
465
+ permissible: permissable
466
+ perseverance: perseverence
467
+ personalty: personality
468
+ perspiration: persperation
469
+ persuade: pursuade
470
+ persuaded: pursuaded
471
+ persuasion: persausion
472
+ pertaining: pertaning
473
+ pervaded: prevaded
474
+ pharaohs: pharoahs
475
+ phase: faze
476
+ phenomenal: phenominal
477
+ phenomenon: phenonenon
478
+ philippines: phillipines
479
+ physician: physican
480
+ pickerel: pickeral
481
+ picnicking: picnicing
482
+ pittsburgh: pittsburg
483
+ plagiarism: plaigarism
484
+ plaque: placque
485
+ playwright: playwrite
486
+ pleasant: plesent
487
+ poetry: poetrie
488
+ poisonous: poisenous
489
+ ponderous: pondorous
490
+ possess: posess
491
+ possession: possesion
492
+ possibilities: possablities
493
+ prairie: prarie
494
+ preceding: preceeding
495
+ precipice: presipice
496
+ preferable: preferrable
497
+ preference: preferance
498
+ preferred: prefered
499
+ prejudice: prejedice
500
+ preparation: preperation
501
+ preserved: perserved
502
+ presumptuous: presumptous
503
+ prevalent: prevelant
504
+ preventive: preventative
505
+ prisoner: prisner
506
+ privilege: priviledge
507
+ probably: probabley
508
+ procedure: proceduer
509
+ professor: proffesor
510
+ proffer: profer
511
+ prominent: prominant
512
+ promontory: promonotory
513
+ pronunciation: pronounciation
514
+ propeller: propellor
515
+ prophecy: prophesy
516
+ provisions: provisons
517
+ pseudonym: pseudynom
518
+ psychological: psycological
519
+ public: publick
520
+ publicly: publically
521
+ pumpkin: pumkin
522
+ pursue: persue
523
+ pursuer: persuer
524
+ pursuit: persuit
525
+ qualified: qualafied
526
+ quandary: quandry
527
+ quantities: quanties
528
+ quarantine: quarrantine
529
+ quarreled: quarelled
530
+ quarter: quater
531
+ questionnaire: questionare
532
+ quiescent: quiscent
533
+ quorum: quorem
534
+ radiant: radient
535
+ radiator: radiater
536
+ raise: raize
537
+ rating: rateing
538
+ really: realy
539
+ rebuttal: rebutal
540
+ receded: receeded
541
+ receipt: reciept
542
+ receipts: reciepts
543
+ receive: recieve
544
+ receiver: reciever
545
+ receptacle: receptacel
546
+ recipient: resipient
547
+ reciprocal: reciprocel
548
+ reckon: recon
549
+ reclamation: reclaimation
550
+ recommend: recomend
551
+ recommendation: recomendation
552
+ recommendations: reccomendations
553
+ recommended: recommend
554
+ recommending: recomending
555
+ recompense: recompence
556
+ redundant: redundent
557
+ reference: refference
558
+ referred: refered
559
+ referring: refering
560
+ refrigerator: refrigerater
561
+ regretted: regreted
562
+ rehabilitate: rehabilatate
563
+ relevant: relevaant
564
+ religious: religous
565
+ remembrance: rememberance
566
+ rendezvous: rendevous
567
+ renegade: renagade
568
+ renown: renoun
569
+ reparation: repairation
570
+ repel: repell
571
+ repetition: repitition
572
+ representatives: representitives
573
+ rescinded: resinded
574
+ reservoir: resevoir
575
+ responsibility: responsiblity
576
+ restaurant: restuarant
577
+ restaurateur: restauranteur
578
+ rhapsody: raphsody
579
+ rheumatism: rhuematism
580
+ rhododendron: rhododrendon
581
+ rhubarb: ruhbarb
582
+ rhythm: rythm
583
+ ridiculous: rediculous
584
+ romantic: romantick
585
+ rummage: rumage
586
+ running: runing
587
+ sabbath: sabath
588
+ sacrament: sacrement
589
+ sacrilegious: sacreligious
590
+ safety: safty
591
+ sagacious: sagatious
592
+ sailor: sailer
593
+ sandwich: sanwich
594
+ sanitary: sanatary
595
+ satisfactory: satisfactary
596
+ scarcity: scarsity
597
+ scissors: sissers
598
+ seize: sieze
599
+ seized: siezed
600
+ self: selfe
601
+ sell: selle
602
+ semesters: semisters
603
+ seminary: seminery
604
+ separate: seporate
605
+ sergeant: sergant
606
+ sheep: sheepe
607
+ shepherd: sheperd
608
+ silhouette: silhuette
609
+ shipping: shippin
610
+ shoulder: shouldda
611
+ shoulders: sholders
612
+ showing: showin
613
+ shrubbery: shrubery
614
+ siege: seige
615
+ significant: significent
616
+ silk: silke
617
+ similar: similiar
618
+ simultaneous: similtanous
619
+ sincerity: sincerety
620
+ slimmest: slimest
621
+ smiling: smilin
622
+ sociable: socable
623
+ social: socal
624
+ solemn: solomn
625
+ sophomore: sophmore
626
+ sorority: sororiety
627
+ sought: saught
628
+ source: sorce
629
+ souvenir: souviner
630
+ sovereignty: sovreignty
631
+ sparsely: sparcely
632
+ spear: speer
633
+ specifically: specificly
634
+ specimen: speciment
635
+ specimens: specimans
636
+ spirituous: spiritous
637
+ sprinkle: sprinkel
638
+ starting: startin
639
+ stationary: stationery
640
+ statue: statu
641
+ stirring: stirrin
642
+ stirrups: stirups
643
+ stomach: stomack
644
+ straining: strainin
645
+ straitjacket: straightjacket
646
+ stratagem: strategem
647
+ strategy: stratagy
648
+ strenuous: strenous
649
+ stretched: streched
650
+ stubbornness: stubborness
651
+ suburban: sububan
652
+ success: sucess
653
+ sufficient: suficient
654
+ suffrage: sufferage
655
+ sugar: suger
656
+ suing: sueing
657
+ superficial: superfical
658
+ superintendent: supertendent
659
+ supersede: supercede
660
+ supplement: suplement
661
+ suppress: supress
662
+ surprise: suprise
663
+ surreptitious: sureptitous
664
+ surrounded: surounded
665
+ swearing: swearinge
666
+ syllables: sylables
667
+ symmetry: symetry
668
+ synonymous: synonomous
669
+ systematically: systemetically
670
+ tacit: tasit
671
+ taking: takin
672
+ technically: technecally
673
+ television: televison
674
+ temperament: temperment
675
+ temporarily: temporarly
676
+ temporary: tempory
677
+ tendency: tendancy
678
+ terrestrial: terestial
679
+ terrors: terrours
680
+ that: thatt
681
+ therefore: therefor
682
+ thief: theaf
683
+ think: thinke
684
+ thinking: thinkin
685
+ thorough: thourough
686
+ thoroughly: throughly
687
+ tobacco: tobbaco
688
+ tobogganing: tobboganing
689
+ tonnage: tonage
690
+ tragedy: tradgedy
691
+ tranquility: tranquillity
692
+ tranquillity: tranquility
693
+ transferable: transferrable
694
+ transferred: transfred
695
+ truculent: trucculent
696
+ truly: truley
697
+ tying: tieing
698
+ tyrannical: tyranical
699
+ undoubtedly: undoubtly
700
+ unequaled: unequalled
701
+ unfortunately: unfortunatly
702
+ university: unversity
703
+ unmistakable: unmistakeable
704
+ unparalleled: unparalelled
705
+ until: untill
706
+ usage: useage
707
+ usually: usualy
708
+ usurious: usurous
709
+ utterance: utterence
710
+ vacancy: vancancy
711
+ vaccination: vacinnation
712
+ vacillate: vaccilate
713
+ various: vairious
714
+ vegetable: vegatable
715
+ vengeance: vengance
716
+ vertical: verticle
717
+ vice: vise
718
+ victuals: vituals
719
+ vilify: villify
720
+ villain: villian
721
+ violence: violance
722
+ violin: vioiln
723
+ visible: visable
724
+ vitamins: vitamines
725
+ voucher: vouture
726
+ wagging: waggin
727
+ waggish: wagish
728
+ wednesday: wensday
729
+ weed: weede
730
+ weight: weigth
731
+ weird: wierd
732
+ whether: wether
733
+ which: whitch
734
+ who: whoe
735
+ withhold: withold
736
+ worshiping: worshipping
737
+ yacht: yaht
738
+ yearned: yerned
739
+ yeoman: yoman
740
+ yield: yeild
741
+ zealous: zelous
742
+ zenith: zeenith
743
+ ability: ablity
744
+ academically: academicly
745
+ accept: acept
746
+ accepted: acepted
747
+ access: acess
748
+ accessibility: accessability
749
+ accessing: accesing
750
+ according: acording
751
+ account: acount
752
+ accounts: acounts
753
+ acquaintances: aquantences
754
+ adaptable: adabtable
755
+ addressable: addresable
756
+ adequate: adiquate
757
+ adjournment: adjurnment
758
+ advise: advice
759
+ again: agiin
760
+ agencies: agences
761
+ aggravating: agravating
762
+ allow: alow
763
+ although: athough
764
+ analyse: analiss
765
+ analysed: analised
766
+ analysing: aalysing
767
+ and: anf
768
+ announcing: anouncing
769
+ annoying: anoying
770
+ annual: anual
771
+ anomalies: anomolies
772
+ apologies: appologies
773
+ apologised: appologised
774
+ appeal: apeal
775
+ appendix: apendix
776
+ applicable: aplicable
777
+ applied: upplied
778
+ applying: applieing
779
+ appointment: appoitment
780
+ appointments: apointments
781
+ appreciated: apreciated
782
+ appreciation: apreciation
783
+ approach: aproach
784
+ approached: aproached
785
+ are: arte
786
+ arguing: aurguing
787
+ arranged: arrainged
788
+ arrangeing: aranging
789
+ arrangement: arrangment
790
+ arrangements: araingements
791
+ articles: articals
792
+ assessing: accesing
793
+ associated: assosiated
794
+ atmosphere: atmospher
795
+ auguments: aurgument
796
+ availability: avaiblity
797
+ base: basse
798
+ benefit: benifit
799
+ benefits: benifits
800
+ between: beetween
801
+ bicycle: bicycal
802
+ bingley: bingly
803
+ bonus: bonas
804
+ build: biuld
805
+ building: biulding
806
+ busy: buisy
807
+ career: carrer
808
+ careers: currers
809
+ categories: catagoris
810
+ centrally: centraly
811
+ certain: cirtain
812
+ challenges: chalenges
813
+ challenge: chalange
814
+ choice: choise
815
+ choices: choises
816
+ choose: chose
817
+ choosing: chosing
818
+ clerical: clearical
819
+ clerk: clerck
820
+ collate: colate
821
+ combine: comibine
822
+ commercial: comersial
823
+ comments: coments
824
+ commit: comit
825
+ committees: commitees
826
+ compare: compair
827
+ compared: comppared
828
+ comparison: comparrison
829
+ completely: completly
830
+ component: componant
831
+ composed: compossed
832
+ conditioning: conditining
833
+ conference: conferance
834
+ consider: concider
835
+ considerable: conciderable
836
+ consist: consisit
837
+ consisting: consisiting
838
+ consists: consisits
839
+ contained: contasined
840
+ containing: contasining
841
+ continually: contually
842
+ continued: contuned
843
+ controlled: controled
844
+ conversely: conversly
845
+ corporate: corparate
846
+ credit: creadit
847
+ criticism: citisum
848
+ currently: curruntly
849
+ data: dsata
850
+ dealt: delt
851
+ decide: descide
852
+ decided: descided
853
+ decides: descides
854
+ decision: descisions
855
+ decisions: descisions
856
+ declarations: declaratrions
857
+ definition: defenition
858
+ definitions: defenitions
859
+ demands: diemands
860
+ dependence: dependance
861
+ described: discribed
862
+ desirable: disiable
863
+ desperately: despratly
864
+ diagrammatically: diagrammatica
865
+ different: diffrent
866
+ difficult: dificult
867
+ difficulty: dificulty
868
+ disaggregate: disaggreagte
869
+ disappointing: dissapoiting
870
+ discretion: discresion
871
+ dissension: desention
872
+ dragged: draged
873
+ earlier: earlyer
874
+ earliest: earlyest
875
+ easier: easer
876
+ easily: easyly
877
+ econometric: economtric
878
+ edition: ediition
879
+ eliminated: elimiated
880
+ embellishing: embelishing
881
+ employed: emploied
882
+ employees: emploies
883
+ employment: empolyment
884
+ encompassing: encompasing
885
+ encourage: encorage
886
+ enormously: enomosly
887
+ entirely: entierly
888
+ equalled: equaled
889
+ erroneous: errounous
890
+ especially: especaily
891
+ essential: esential
892
+ eventually: eventully
893
+ evident: evedent
894
+ exact: exsact
895
+ exactly: exsactly
896
+ examine: examin
897
+ excellent: exerlant
898
+ except: excxept
899
+ excessively: exessively
900
+ executed: executted
901
+ expansion: expanion
902
+ expense: expence
903
+ expensive: expencive
904
+ experiences: experances
905
+ explaining: explaning
906
+ exponentially: exponentualy
907
+ extremely: extreemly
908
+ facilities: facilitys
909
+ fails: failes
910
+ 'false': faulse
911
+ familiar: familer
912
+ families: familys
913
+ favourable: faverable
914
+ favourably: favorably
915
+ feeling: fealing
916
+ female: femail
917
+ figure: figuar
918
+ figures: figuars
919
+ financial: finatical
920
+ financially: financialy
921
+ flexible: flexable
922
+ forbidden: forbiden
923
+ forecast: forcast
924
+ fourth: forth
925
+ functionally: functionaly
926
+ functions: functuions
927
+ further: futher
928
+ gaining: ganing
929
+ generated: generataed
930
+ geneva: geniva
931
+ geographically: goegraphicaly
932
+ graphically: graphicaly
933
+ guidelines: guidlines
934
+ handle: handel
935
+ hierarchal: hierachial
936
+ hierarchy: hierchy
937
+ however: howeverr
938
+ humour: humor
939
+ ideally: idealy
940
+ immediate: imediate
941
+ inconceivable: inconcievable
942
+ indeed: indead
943
+ independent: independant
944
+ inefficient: ineffiect
945
+ initial: intital
946
+ input: inut
947
+ inquiries: equiries
948
+ insight: insite
949
+ intelligence: inteligence
950
+ interest: intrest
951
+ interesting: intresting
952
+ interpretation: interpritatio
953
+ interrogating: interogationg
954
+ investigated: investegated
955
+ journalism: journaism
956
+ knowledge: knowlege
957
+ largely: largly
958
+ later: latter
959
+ length: lengh
960
+ level: leval
961
+ levels: levals
962
+ lieu: liew
963
+ literature: litriture
964
+ loans: lones
965
+ locally: localy
966
+ luckily: luckeley
967
+ majority: majorty
968
+ manually: manualy
969
+ many: mony
970
+ mathematically: mathematicaly
971
+ matrix: matriiix
972
+ mean: meen
973
+ means: meens
974
+ minutes: muiuets
975
+ misleading: missleading
976
+ monitoring: monitering
977
+ months: monthes
978
+ moving: moveing
979
+ nationally: nationaly
980
+ nature: natior
981
+ necessitates: nessisitates
982
+ necessity: nessesity
983
+ negligible: negligable
984
+ neither: niether
985
+ night: nite
986
+ normally: normaly
987
+ now: noe
988
+ numbers: numbuers
989
+ obtaining: optaning
990
+ occur: occure
991
+ operations: operatins
992
+ operator: opertor
993
+ operators: oprators
994
+ opinion: oppinion
995
+ opportunity: oppotunity
996
+ ordinary: ordenary
997
+ organization: oranisation
998
+ organized: oranised
999
+ orientated: orentated
1000
+ output: oputput
1001
+ overall: overal
1002
+ paid: payed
1003
+ parameters: perametres
1004
+ partially: partialy
1005
+ particular: particulaur
1006
+ particularly: particulary
1007
+ patterns: pattarns
1008
+ per: pere
1009
+ perhaps: perhapse
1010
+ permanent: perminant
1011
+ permanently: perminantly
1012
+ personnel: personel
1013
+ pivoting: pivting
1014
+ politics: polatics
1015
+ position: possition
1016
+ possible: possable
1017
+ prepared: prepaired
1018
+ primarily: pimarily
1019
+ prior: piror
1020
+ proceeding: proceding
1021
+ profession: preffeson
1022
+ profit: proffit
1023
+ profits: proffits
1024
+ progresses: progressess
1025
+ progression: progresion
1026
+ projects: projeccts
1027
+ proportions: proprtions
1028
+ provide: provid
1029
+ provisionally: provisionaly
1030
+ proviso: provisoe
1031
+ qualities: quaties
1032
+ queries: quies
1033
+ reaching: reching
1034
+ readjusted: reajusted
1035
+ received: recived
1036
+ receives: recives
1037
+ receiving: reciving
1038
+ recently: reciently
1039
+ refered: reffered
1040
+ regained: regined
1041
+ register: rgister
1042
+ relatively: relitivly
1043
+ repetitive: repetative
1044
+ representative: representitiv
1045
+ requested: rquested
1046
+ required: reequired
1047
+ research: reserch
1048
+ resolved: resoved
1049
+ responsibilities: responsibliti
1050
+ responsible: responcible
1051
+ resulting: reulting
1052
+ retirement: retirment
1053
+ routine: rouint
1054
+ safeguard: safegaurd
1055
+ salaries: salarys
1056
+ scheme: scheem
1057
+ scrutinized: scrutiniesed
1058
+ search: serch
1059
+ searching: serching
1060
+ secretaries: secutaries
1061
+ security: seurity
1062
+ seen: seeen
1063
+ segment: segemnt
1064
+ senior: sienior
1065
+ sense: sence
1066
+ sensible: sensable
1067
+ separated: seperated
1068
+ separation: seperation
1069
+ session: sesion
1070
+ set: et
1071
+ sheets: sheertes
1072
+ shortened: shortend
1073
+ shown: hown
1074
+ sign: eign
1075
+ simular: similar
1076
+ singular: singulaur
1077
+ someone: somone
1078
+ sources: sorces
1079
+ speaking: speeking
1080
+ standardizing: stanerdizing
1081
+ stopped: stoped
1082
+ students: studens
1083
+ studying: studing
1084
+ subsequent: subsiquent
1085
+ subtract: subtrcat
1086
+ successful: sucssuful
1087
+ successive: sucsesive
1088
+ such: shuch
1089
+ suffering: suufering
1090
+ suggested: sugested
1091
+ suggestion: sugestion
1092
+ suggests: sugests
1093
+ suited: suted
1094
+ summarys: sumarys
1095
+ supervision: supervison
1096
+ supplementary: suplementary
1097
+ supplements: suplements
1098
+ supposedly: supposidly
1099
+ surrounding: serounding
1100
+ surroundings: suroundings
1101
+ surveys: servays
1102
+ surveying: servaying
1103
+ system: sysem
1104
+ table: tasble
1105
+ technique: tecnique
1106
+ techniques: tecniques
1107
+ the: thw
1108
+ their: thier
1109
+ there: thear
1110
+ thermawear: thermawhere
1111
+ these: thess
1112
+ they: thay
1113
+ thoughts: thorts
1114
+ through: throut
1115
+ throughout: throuout
1116
+ timing: timeing
1117
+ titles: tittles
1118
+ to: ro
1119
+ together: togehter
1120
+ totally: totaly
1121
+ traditionally: traditionaly
1122
+ transactions: trasactions
1123
+ transportability: transportibil
1124
+ triangular: triangulaur
1125
+ umbrella: umberalla
1126
+ unavailable: unavailble
1127
+ understandable: understadable
1128
+ unequalled: unequaled
1129
+ unequivocally: unequivocaly
1130
+ union: unioun
1131
+ unique: uneque
1132
+ universally: universaly
1133
+ unnecessarily: unessasarily
1134
+ unnecessary: unessessay
1135
+ unresolved: unresloved
1136
+ used: usedf
1137
+ useful: usful
1138
+ user: uers
1139
+ utilized: utalised
1140
+ valuable: valuble
1141
+ variable: varible
1142
+ variant: vairiant
1143
+ variety: variatry
1144
+ virtually: vertually
1145
+ visitor: vistor
1146
+ visitors: vistors
1147
+ voluntary: volantry
1148
+ voting: voteing
1149
+ weapons: wepons
1150
+ weighted: wagted
1151
+ were: where
1152
+ when: whn
1153
+ whereas: wheras
1154
+ widely: widly
1155
+ will: wil
1156
+ within: withing
1157
+ would: whould
1158
+ written: writen
1159
+ years: yesars