scylla 1.0.0 → 1.0.7

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.
Files changed (40) hide show
  1. data/lib/scylla/classifier.rb +3 -2
  2. data/lib/scylla/generator.rb +11 -4
  3. data/lib/scylla/lms/arabic.lm +398 -398
  4. data/lib/scylla/lms/bulgarian.lm +268 -268
  5. data/lib/scylla/lms/catalan.lm +400 -400
  6. data/lib/scylla/lms/chinese.lm +345 -345
  7. data/lib/scylla/lms/czech.lm +382 -382
  8. data/lib/scylla/lms/danish.lm +354 -354
  9. data/lib/scylla/lms/dutch.lm +380 -380
  10. data/lib/scylla/lms/english.lm +327 -327
  11. data/lib/scylla/lms/finnish.lm +297 -297
  12. data/lib/scylla/lms/french.lm +348 -348
  13. data/lib/scylla/lms/german.lm +386 -386
  14. data/lib/scylla/lms/greek.lm +352 -352
  15. data/lib/scylla/lms/hebrew.lm +385 -385
  16. data/lib/scylla/lms/hindi.lm +400 -400
  17. data/lib/scylla/lms/icelandic.lm +195 -195
  18. data/lib/scylla/lms/indonesian.lm +374 -374
  19. data/lib/scylla/lms/italian.lm +365 -365
  20. data/lib/scylla/lms/japanese.lm +368 -368
  21. data/lib/scylla/lms/kannada.lm +299 -299
  22. data/lib/scylla/lms/korean.lm +335 -335
  23. data/lib/scylla/lms/marathi.lm +240 -240
  24. data/lib/scylla/lms/norwegian.lm +348 -348
  25. data/lib/scylla/lms/persian.lm +337 -337
  26. data/lib/scylla/lms/polish.lm +399 -399
  27. data/lib/scylla/lms/portuguese.lm +386 -386
  28. data/lib/scylla/lms/romanian.lm +255 -255
  29. data/lib/scylla/lms/russian.lm +400 -400
  30. data/lib/scylla/lms/slovak.lm +267 -267
  31. data/lib/scylla/lms/slovenian.lm +243 -243
  32. data/lib/scylla/lms/spanish.lm +371 -371
  33. data/lib/scylla/lms/swedish.lm +236 -236
  34. data/lib/scylla/lms/tagalog.lm +287 -287
  35. data/lib/scylla/lms/thai.lm +369 -369
  36. data/lib/scylla/lms/turkish.lm +341 -341
  37. data/lib/scylla/lms/vietnamese.lm +392 -392
  38. data/lib/scylla/lms/welsh.lm +275 -275
  39. data/lib/scylla/loader.rb +1 -1
  40. metadata +2 -2
@@ -50,7 +50,8 @@ module Scylla
50
50
  # Gets the score of the text in question compared to a particular language
51
51
  def get_score(unknown, ngram)
52
52
  i, p = 0,0
53
- while i < unknown.size
53
+ max_size = [unknown.size, 400].min
54
+ while i < max_size
54
55
  if (ngram[unknown[i]])
55
56
  p += (ngram[unknown[i]]-i).abs
56
57
  else
@@ -61,4 +62,4 @@ module Scylla
61
62
  return p
62
63
  end
63
64
  end
64
- end
65
+ end
@@ -1,3 +1,4 @@
1
+ # encoding: utf-8
1
2
  require 'sanitize'
2
3
  require 'cgi'
3
4
  require 'unicode'
@@ -5,7 +6,7 @@ require 'unicode'
5
6
  module Scylla
6
7
  class Generator
7
8
  attr_accessor :dirtext, :dirlm, :minsize, :delimiter
8
- NONLATIN = ["bg","ar","ru","zh","ja","he","kn","ko","mr","hi","th","fa","el"]
9
+ NONLATIN = ["bg","ar","ru","zh","ja","he","kn","ko","mr","hi","th","fa","el","uk"]
9
10
  # dirtext: The location of the source training text files
10
11
  # minsize: The minimum size of the ngrams that you would like to store
11
12
  def initialize(dirtext = DEFAULT_SOURCE_DIR, dirlm = DEFAULT_TARGET_DIR, minsize = 0, silent = false, delimiter = "[[classifier_delimiter]]")
@@ -50,7 +51,9 @@ module Scylla
50
51
  }
51
52
  p article
52
53
  page = Wikipedia.find( article )
53
- value = page.content.gsub(/\{\{(.*?)\}\}/,"")
54
+ value = page.raw_data['query']['pages'].values.first['revisions'].first.fetch('*')
55
+ value = value.force_encoding("UTF-8").chars.select {|c| c.valid_encoding?}.join
56
+ value = value.gsub(/\{\{(.*?)\}\}/,"")
54
57
  value = value.gsub(/\[\[(.+?)\]\]/m,"")
55
58
  value = value.gsub(/\{\{(.+?)\}\}/m,"")
56
59
  value = value.gsub(/\{(.+?)\}/m,"")
@@ -82,9 +85,13 @@ module Scylla
82
85
  string = string[0, delimit] if delimit
83
86
  string = Sanitize.clean(string)
84
87
  string = CGI.unescapeHTML(string)
88
+ string = Unicode::downcase(string)
85
89
  string.gsub!(/(?:http|https):\/\/[a-z0-9]+(?:[\-\.]{1}[a-z0-9]+)*\.[a-z]{2,5}(?:(?::[0-9]{1,5})?\/[^\s]*)?/, "")
90
+ string.gsub!(/[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,4}/, "")
86
91
  string.gsub!(/[\*\^><!\"#\$%&\'\(\)\*\+:;,._\/=\?@\{\}\[\]|\-\n\r0-9]/," ")
87
- Unicode::downcase(string.strip.split(" ").join(" "))
92
+ latin, nonlatin = string.scan(/[a-z]/), string.scan(/[\p{L}&&[^a-z]]/)
93
+ string.gsub!(/[a-zA-Z]/, "") if !latin.empty? && !nonlatin.empty? && nonlatin.size/(latin.size*1.0) > 0.5
94
+ string.strip.split(" ").join(" ")
88
95
  end
89
96
 
90
97
  # Creates a language map for a given input string.
@@ -115,4 +122,4 @@ module Scylla
115
122
  return sorted
116
123
  end
117
124
  end
118
- end
125
+ end
@@ -1,400 +1,400 @@
1
- _ 10168
2
- ا 3663
3
- ل 2972
4
- ي 1852
5
- ال 1849
6
- م 1794
7
- 1551
8
- _ال 1496
9
- و 1431
10
- ر 1149
11
- ت 1066
12
- ن 1064
13
- ة 1009
14
- ة_ 972
15
- ع 924
16
- ب 839
17
- د 780
18
- 656
19
- س 586
20
- _م 562
21
- ف 544
22
- ي_ 502
23
- ه 501
24
- ن_ 478
25
- ق 477
26
- ك 443
27
- ح 417
28
- ية 399
29
- أ 387
30
- ية_ 380
31
- لم 349
32
- ط 330
33
- الم 316
34
- ج 303
35
- ر_ 302
36
- وا 297
37
- م_ 296
38
- من 294
39
- ا_ 293
40
- 287
41
- ت_ 267
42
- ل_ 266
43
- ص 262
44
- _ف 261
45
- في 260
46
- 250
47
- د_ 229
48
- _في 225
49
- ات 222
50
- _من 219
51
- إ 214
52
- في_ 214
53
- خ 213
54
- ش 212
55
- لي 204
56
- من_ 203
57
- ى 197
58
- ى_ 196
59
- 195
60
- _ت 192
61
- ار 191
62
- ض 190
63
- _وا 188
64
- ز 183
65
- وال 183
66
- ات_ 183
67
- لا 173
68
- دي 170
69
- ، 169
70
- ما 168
71
- ،_ 167
72
- مل 163
73
- عا 156
74
- ها 150
75
- لع 147
76
- 137
77
- لس 137
78
- را 136
79
- لك 136
80
- ام 136
81
- الع 136
82
- يا 133
83
- ود 132
84
- بي 131
85
- ين 131
86
- ري 130
87
- ث 128
88
- لى_ 127
89
- لى 127
90
- ها_ 127
91
- الس 126
92
- با 120
93
- لأ 119
94
- مي 119
95
- ه_ 117
96
- 115
97
- ع_ 113
98
- لت 108
99
- غ 107
100
- ذ 105
101
- الأ 105
102
- _ي 104
103
- و_ 102
104
- سع 101
105
- عو 101
106
- وي 98
107
- اد 98
108
- رب 97
109
- ول 97
110
- عل 97
111
- ئ 96
112
- ان 93
113
- ب_ 93
114
- لب 90
115
- ام_ 89
116
- عود 89
117
- ودي 89
118
- سعو 86
119
- دية 86
120
- ين_ 86
121
- لإ 84
122
- الت 84
123
- رة 83
124
- ار_ 83
125
- رة_ 81
126
- 81
127
- ف_ 81
128
- ير 81
129
- عر 81
130
- الب 80
131
- _ك 80
132
- مر 80
133
- كة 79
134
- سي 79
135
- نا 79
136
- وت 78
137
- الإ 78
138
- ملك 77
139
- كة_ 76
140
- لسع 76
141
- وم 76
142
- اع 76
143
- _وت 75
144
- لر 75
145
- شر 74
146
- عد 74
147
- إل 73
148
- 72
149
- نت 72
150
- يم 72
151
- لق 72
152
- الر 71
153
- بل 71
154
- ء 71
155
- _إل 70
156
- عام 70
157
- لل 70
158
- مم 69
159
- طا 68
160
- لج 68
161
- لن 68
162
- ائ 67
163
- _ق 67
164
- لح 66
165
- _عا 66
166
- لش 66
167
- سم 65
168
- مع 65
169
- ما_ 65
170
- كا 65
171
- ني 64
172
- الج 64
173
- 64
174
- ء_ 64
175
- _عل 64
176
- الق 63
177
- در 63
178
- إلى 63
179
- الش 62
180
- لكة 62
181
- لغ 62
182
- لص 62
183
- ممل 62
184
- سا 62
185
- لمم 62
186
- اس 62
187
- بر 61
188
- ق_ 61
189
- ً 61
190
- اح 61
191
- ون 60
192
- مت 60
193
- 60
194
- تم 60
195
- الح 59
196
- اء 59
197
- على 59
198
- جا 59
199
- يو 58
200
- نو 57
201
- وب 57
202
- الص 56
203
- _وي 56
204
- لخ 56
205
- لعر 56
206
- لي_ 56
207
- ربي 55
208
- ز_ 55
209
- لة 55
210
- الخ 55
211
- الن 54
212
- عي 53
213
- ك_ 53
214
- لة_ 53
215
- مس 53
216
- بع 53
217
- لد 53
218
- دو 53
219
- اء_ 53
220
- بال 52
221
- تع 52
222
- _لل 52
223
- تي 52
224
- ون_ 52
225
- _مل 52
226
- مة 51
227
- _با 51
228
- نه 51
229
- ال_ 50
230
- مة_ 50
231
- ط_ 50
232
- تر 50
233
- أن 50
234
- الي 50
235
- ست 50
236
- _و_ 49
237
- تو 49
238
- صا 49
239
- ض_ 49
240
- 48
241
- دا 48
242
- بية 48
243
- الد 48
244
- الا 47
245
- تص 47
246
- مو 47
247
- عرب 46
248
- عة 46
249
- لو 46
250
- ور 46
251
- اف 46
252
- حل 45
253
- كم 45
254
- عة_ 45
255
- لف 45
256
- ير_ 45
257
- ئي 45
258
- تق 44
259
- يد 44
260
- زي 44
261
- خا 44
262
- قد 44
263
- قا 44
264
- مط 44
265
- حو 44
266
- لية 44
267
- قر 43
268
- يل 43
269
- مد 43
270
- ملي 43
271
- اد_ 43
272
- يع 42
273
- 42
274
- حد 42
275
- رق 41
1
+ _ 13714
2
+ ا 4707
3
+ ل 3908
4
+ ي 2408
5
+ م 2346
6
+ ال 2310
7
+ و 1917
8
+ _ا 1909
9
+ _ال 1867
10
+ ر 1519
11
+ ن 1505
12
+ ت 1443
13
+ ة 1291
14
+ ع 1264
15
+ ة_ 1251
16
+ د 1164
17
+ ب 1148
18
+ 867
19
+ س 784
20
+ ن_ 747
21
+ 742
22
+ ف 730
23
+ ه 670
24
+ ق 644
25
+ ي_ 632
26
+ ك 629
27
+ ح 558
28
+ أ 527
29
+ ية 511
30
+ ية_ 487
31
+ لم 443
32
+ م_ 435
33
+ ا_ 433
34
+ 411
35
+ ط 402
36
+ ج 391
37
+ من 389
38
+ الم 384
39
+ ر_ 382
40
+ إ 380
41
+ د_ 365
42
+ ت_ 363
43
+ ل_ 359
44
+ _ع 359
45
+ وا 355
46
+ ص 351
47
+ _ف 351
48
+ في 326
49
+ _من 297
50
+ _ت 288
51
+ ات 287
52
+ _في 286
53
+ 284
54
+ ش 283
55
+ من_ 278
56
+ في_ 276
57
+ خ 269
58
+ لي 265
59
+ ى 265
60
+ ى_ 264
61
+ لا 243
62
+ ات_ 242
63
+ ار 236
64
+ ض 227
65
+ 226
66
+ دي 224
67
+ ز 221
68
+ ما 219
69
+ _وا 217
70
+ عا 207
71
+ ها 204
72
+ وال 203
73
+ را 198
74
+ 198
75
+ ود 197
76
+ ام 196
77
+ مل 195
78
+ لى_ 189
79
+ لك 189
80
+ لى 189
81
+ يا 183
82
+ ين 183
83
+ لس 182
84
+ ، 181
85
+ ،_ 180
86
+ ري 177
87
+ ها_ 173
88
+ لع 170
89
+ بي 168
90
+ الس 166
91
+ با 163
92
+ عو 162
93
+ عل 161
94
+ الع 158
95
+ سع 158
96
+ عود 150
97
+ ه_ 149
98
+ سعو 147
99
+ ث 146
100
+ و_ 145
101
+ مي 144
102
+ ع_ 143
103
+ غ 142
104
+ لت 141
105
+ لأ 141
106
+ ام_ 140
107
+ 139
108
+ ول 139
109
+ اد 139
110
+ ذ 137
111
+ ب_ 135
112
+ ان 133
113
+ لإ 133
114
+ ين_ 130
115
+ الأ 129
116
+ رة 125
117
+ الإ 124
118
+ رة_ 123
119
+ ودي 122
120
+ ئ 122
121
+ ف_ 121
122
+ 120
123
+ رب 119
124
+ ير 118
125
+ لب 116
126
+ دية 116
127
+ _س 115
128
+ وي 115
129
+ عد 114
130
+ الت 112
131
+ _عل 110
132
+ وت 108
133
+ لسع 107
134
+ لل 105
135
+ إل 105
136
+ عر 104
137
+ لح 102
138
+ _إل 101
139
+ _ن 101
140
+ على 101
141
+ 100
142
+ اع 100
143
+ كا 100
144
+ مع 99
145
+ لق 99
146
+ أن 99
147
+ _وت 99
148
+ الب 98
149
+ در 97
150
+ ء 96
151
+ ملك 96
152
+ مر 94
153
+ بل 93
154
+ 93
155
+ نا 93
156
+ ار_ 92
157
+ كة 92
158
+ سي 92
159
+ عام 92
160
+ ك_ 90
161
+ الح 90
162
+ لن 90
163
+ كة_ 90
164
+ سم 89
165
+ نه 89
166
+ لر 89
167
+ مم 88
168
+ ائ 87
169
+ _عا 87
170
+ شر 86
171
+ ء_ 86
172
+ نت 85
173
+ اء 84
174
+ وم 84
175
+ _لل 83
176
+ طا 83
177
+ الر 83
178
+ 83
179
+ الق 83
180
+ ون 82
181
+ دو 82
182
+ يم 81
183
+ _با 81
184
+ لص 79
185
+ تم 78
186
+ تر 78
187
+ لج 77
188
+ لة 77
189
+ إلى 77
190
+ ني 77
191
+ مت 77
192
+ دا 77
193
+ دة 77
194
+ اء_ 76
195
+ بر 76
196
+ دة_ 75
197
+ لش 75
198
+ لة_ 75
199
+ بال 75
200
+ اح 75
201
+ ممل 74
202
+ الج 73
203
+ ق_ 73
204
+ سا 72
205
+ نو 72
206
+ لد 72
207
+ تو 72
208
+ لغ 72
209
+ _أن 72
210
+ مة 71
211
+ صا 71
212
+ تع 70
213
+ مة_ 70
214
+ لمم 70
215
+ الص 70
216
+ لعر 69
217
+ تص 69
218
+ عي 69
219
+ ست 69
220
+ اس 69
221
+ ير_ 68
222
+ ور 68
223
+ لي_ 68
224
+ لكة 68
225
+ حد 68
226
+ إن 68
227
+ يو 68
228
+ _و_ 68
229
+ ربي 68
230
+ لو 67
231
+ جا 67
232
+ الش 67
233
+ قا 66
234
+ ال_ 66
235
+ ما_ 66
236
+ كم 66
237
+ وب 66
238
+ قر 65
239
+ تي 65
240
+ الد 65
241
+ ز_ 65
242
+ اف 65
243
+ مس 64
244
+ الن 64
245
+ الي 63
246
+ خل 63
247
+ ون_ 63
248
+ لك_ 63
249
+ يد 63
250
+ لخ 63
251
+ بن 63
252
+ الخ 62
253
+ هم 62
254
+ ط_ 62
255
+ لف 62
256
+ _مل 61
257
+ قي 61
258
+ 61
259
+ بع 60
260
+ تق 59
261
+ اد_ 59
262
+ مد 59
263
+ كان 59
264
+ عرب 59
265
+ 58
266
+ ود_ 58
267
+ ان_ 58
268
+ بية 58
269
+ مو 58
270
+ نها 58
271
+ _وي 57
272
+ قد 57
273
+ ته 57
274
+ س_ 56
275
+ _مع 56
276
+ اب 55
277
+ أن_ 55
278
+ _ر 55
279
+ لية 54
280
+ خا 54
281
+ يل 54
282
+ رو 54
283
+ جد 54
284
+ ض_ 54
285
+ لا_ 53
286
+ زي 53
287
+ أس 52
288
+ حا 52
289
+ ئي 51
290
+ له 51
291
+ تح 51
292
+ ً 50
293
+ تب 50
294
+ يت 50
295
+ بين 50
296
+ تل 49
297
+ ضا 49
298
+ ملي 49
299
+ وع 48
300
+ ارة 48
301
+ مط 48
302
+ دم 48
303
+ حل 48
304
+ يع 48
305
+ أو 47
306
+ نف 47
307
+ قة 47
308
+ حر 47
309
+ بة_ 46
310
+ در_ 46
311
+ حي 46
312
+ رق 46
313
+ إم 46
314
+ قة_ 46
315
+ بة 46
316
+ رات 46
317
+ عة 45
318
+ أم 45
319
+ صد 45
320
+ يس 45
321
+ وه 45
322
+ حو 45
323
+ وف 45
324
+ مال 45
325
+ كل 44
326
+ بد 44
327
+ ول_ 44
328
+ قل 44
329
+ اق 44
330
+ هو 44
331
+ رك 44
332
+ _د 44
333
+ الو 44
334
+ طق 44
335
+ عة_ 44
336
+ لم_ 44
337
+ يا_ 44
338
+ _بن 43
339
+ لعا 43
340
+ صل 43
341
+ _بي 43
342
+ ح_ 42
343
+ كو 42
344
+ مح 42
345
+ وج 42
346
+ _وم 42
347
+ لذ 42
276
348
  طار 41
277
- ّ 41
278
- رو 40
279
- ول_ 40
280
- س_ 40
349
+ إما 41
350
+ تا 41
351
+ تي_ 41
352
+ _خ 41
353
+ هد 41
354
+ لمن 41
355
+ رت 40
356
+ ة،_ 40
281
357
  مطا 40
282
- تب 40
283
- نها 39
284
- ضا 39
285
- اق 39
286
- حر 39
287
- وف 38
288
- يت 38
289
- رم 38
290
- ح_ 38
291
- ارة 38
292
- مح 37
293
- ان_ 37
294
- ة، 37
295
- لعا 37
296
- ة،_ 37
297
- يس 37
298
- رات 37
299
- قي 36
300
- أو 36
301
- أس 36
302
- مال 36
303
- _وم 36
304
- اب 36
305
- إن 36
306
- وع 35
307
- 35
308
- حي 35
309
- فا 35
310
- قة 35
311
- لك_ 35
312
- ته 35
313
- بين 34
314
- له 34
315
- تح 34
316
- هم 34
317
- طق 34
318
- دم 34
319
- اض 34
320
- خل 34
321
- قة_ 34
322
- قل 34
323
- طو 34
324
- أم 33
325
- لمن 33
326
- جد 33
327
- _ط 33
328
- نة 33
329
- لشر 33
330
- يه 33
331
- نية 33
332
- _، 33
333
- صل 33
334
- تت 33
335
- _بي 32
336
- _كم 32
337
- تا 32
338
- _مع 32
339
- _مط 32
340
- يق 31
341
- نة_ 31
342
- از 31
343
- دة 31
344
- رت 31
345
- ث_ 31
346
- _،_ 31
347
- ظ 31
348
- هي 31
349
- _أن 31
350
- نف 31
351
- وس 31
352
- لط 31
353
- الغ 31
354
- ليم 31
355
- شم 31
356
- رية 31
357
- كان 31
358
- كو 30
359
- دول 30
360
- بة_ 30
361
- ً_ 30
362
- أك 30
363
- لذ 30
364
- در_ 30
365
- بر_ 30
366
- اً 30
367
- _د 30
368
- عن 30
369
- رك 30
370
- بة 30
371
- طن 29
372
- اص 29
373
- الو 29
374
- عب 29
375
- ائي 29
376
- رض 29
377
- دة_ 29
378
- _م_ 29
379
- حلي 29
380
- نط 29
381
- _عن 29
382
- سب 29
383
- لخا 29
384
- حت 29
385
- يد_ 28
386
- هو 28
387
- حا 28
388
- ليو 28
389
- دن 28
390
- سل 28
391
- _مر 28
392
- اً_ 28
393
- عية 28
394
- يم_ 28
395
- ود_ 28
396
- ًا 28
397
- _بع 28
398
- بد 28
399
- ميا 28
400
- ساح 28
358
+ الا 40
359
+ ة، 40
360
+ ّ 40
361
+ دول 40
362
+ رية 40
363
+ عن 40
364
+ هم_ 40
365
+ بن_ 40
366
+ يد_ 40
367
+ اض 40
368
+ سب 39
369
+ يق 39
370
+ _سع 39
371
+ ظ 39
372
+ طو 39
373
+ رم 39
374
+ نية 39
375
+ سل 39
376
+ تت 39
377
+ وأ 39
378
+ عب 38
379
+ لإن 38
380
+ _وه 38
381
+ صاد 38
382
+ الذ 38
383
+ الغ 38
384
+ _وأ 38
385
+ مية 38
386
+ اي 37
387
+ بت 37
388
+ اه 37
389
+ يه 37
390
+ فا 37
391
+ هي 37
392
+ _عد 37
393
+ _كا 36
394
+ ج_ 36
395
+ _كم 36
396
+ _مس 36
397
+ _عن 36
398
+ نج 36
399
+ كل_ 36
400
+ لط 36