greek_stemmer 1.2.0 → 1.3.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/benchmarks/stemming_sample.txt +8 -8
- data/config/stemmer.yml +35 -4
- data/lib/greek_stemmer/version.rb +1 -1
- data/lib/greek_stemmer.rb +18 -9
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: b3a88c623110ed08b7da611e59ae3f562f9cae84
|
4
|
+
data.tar.gz: 22414bc204c9b89ec76e23f2bcadc8cf11334e65
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1e0cd0e35ead19b2e42b6af5b8ff60b888479273636eb613ee4072afd79dca733d72262c3a2e22c789f5ad6eba5cb70588b28ec52e8b84af54afb35ff27624f5
|
7
|
+
data.tar.gz: 3965af3e9b4937abd7abe86cb1a390670522339e16bfe2c1e01cdf05640a6971a0473ca781a0b5f34b32c2a4ffc28c919c1167c44ab194aec0a5ed1a538405f5
|
@@ -6920,7 +6920,7 @@
|
|
6920
6920
|
ΘΕΡΜΟΠΥΛ,ΘΕΡΜΟΠΥΛ
|
6921
6921
|
ΘΕΡΜΟΠΥΛΕΣ,ΘΕΡΜΟΠΥΛ
|
6922
6922
|
ΘΕΡΜΟΠΥΛΩΝ,ΘΕΡΜΟΠΥΛ
|
6923
|
-
|
6923
|
+
ΘΕΡΜΟΣ,ΘΕΡΜΟΣ
|
6924
6924
|
ΘΕΡΜΟΤΗΤ,ΘΕΡΜΟΤΗΤ
|
6925
6925
|
ΘΕΡΜΟΤΗΤΑΣ,ΘΕΡΜΟΤΗΤ
|
6926
6926
|
ΘΕΡΜΩ,ΘΕΡΜ
|
@@ -12744,12 +12744,12 @@
|
|
12744
12744
|
ΠΑΣΤΑ,ΠΑΣΤ
|
12745
12745
|
ΠΑΣΤΡΑ,ΠΑΣΤΡ
|
12746
12746
|
ΠΑΣΧ,ΠΑΣΧ
|
12747
|
-
|
12747
|
+
ΠΑΣΧΑ,ΠΑΣΧΑ
|
12748
12748
|
ΠΑΣΧΑΛ,ΠΑΣΧΑΛ
|
12749
12749
|
ΠΑΣΧΑΛΙΑ,ΠΑΣΧΑΛ
|
12750
12750
|
ΠΑΣΧΑΛΙΝ,ΠΑΣΧΑΛΙΝ
|
12751
|
-
|
12752
|
-
|
12751
|
+
ΠΑΣΧΑΛΙΝΑ,ΠΑΣΧΑ
|
12752
|
+
ΠΑΣΧΑΛΙΝΕΣ,ΠΑΣΧΑ
|
12753
12753
|
ΠΑΣΧΑΛΙΤΣ,ΠΑΣΧΑΛΙΤΣ
|
12754
12754
|
ΠΑΣΧΑΛΙΤΣΑ,ΠΑΣΧΑΛΙΤΣ
|
12755
12755
|
ΠΑΣΧΑΡΑΛΑΜΠ,ΠΑΣΧΑΡΑΛΑΜΠ
|
@@ -13449,7 +13449,7 @@
|
|
13449
13449
|
ΠΟΔΗΛΑΤΙΚΟΣ,ΠΟΔΗΛΑΤ
|
13450
13450
|
ΠΟΔΗΛΑΤΟ,ΠΟΔΗΛΑΤ
|
13451
13451
|
ΠΟΔΗΛΑΤΟΥ,ΠΟΔΗΛΑΤ
|
13452
|
-
|
13452
|
+
ΠΟΔΙΑ,ΠΟΔΙ
|
13453
13453
|
ΠΟΔΙΑΣ,ΠΟΔ
|
13454
13454
|
ΠΟΔΟΣΦΑΙΡ,ΠΟΔΟΣΦΑΙΡ
|
13455
13455
|
ΠΟΔΟΣΦΑΙΡΙΚΑ,ΠΟΔΟΣΦΑΙΡ
|
@@ -17726,8 +17726,8 @@
|
|
17726
17726
|
ΧΑΡΤΑΕΤ,ΧΑΡΤΑΕΤ
|
17727
17727
|
ΧΑΡΤΑΕΤΟΣ,ΧΑΡΤΑΕΤ
|
17728
17728
|
ΧΑΡΤΑΚΙΑ,ΧΑΡΤΑΚ
|
17729
|
-
|
17730
|
-
|
17729
|
+
ΧΑΡΤΕΣ,ΧΑΡΤΗ
|
17730
|
+
ΧΑΡΤΗΣ,ΧΑΡΤΗ
|
17731
17731
|
ΧΑΡΤΙ,ΧΑΡΤ
|
17732
17732
|
ΧΑΡΤΙΑ,ΧΑΡΤ
|
17733
17733
|
ΧΑΡΤΙΝ,ΧΑΡΤΙΝ
|
@@ -17748,7 +17748,7 @@
|
|
17748
17748
|
ΧΑΡΤΟΚΙΒΩΤΙΟ,ΧΑΡΤΟΚΙΒΩΤ
|
17749
17749
|
ΧΑΡΤΟΦΥΛΑΚ,ΧΑΡΤΟΦΥΛΑΚ
|
17750
17750
|
ΧΑΡΤΟΦΥΛΑΚΙΟΥ,ΧΑΡΤΟΦΥΛΑΚ
|
17751
|
-
|
17751
|
+
ΧΑΡΤΩΝ,ΧΑΡΤΗ
|
17752
17752
|
ΧΑΣΙΚ,ΧΑΣΙΚ
|
17753
17753
|
ΧΑΣΙΚΟ,ΧΑΣΙΚ
|
17754
17754
|
ΧΑΣΙΜ,ΧΑΣΙΜ
|
data/config/stemmer.yml
CHANGED
@@ -1,11 +1,17 @@
|
|
1
1
|
step_0_exceptions:
|
2
|
-
ΡΟΛΟΓΙΑ: ΡΟΛ
|
3
|
-
ΛΑΔΟΥΣΑ: ΛΑΔΟΥΣ
|
4
|
-
ΣΚΙ: ΣΚ
|
5
|
-
ΚΡΕΜΑΣ: ΚΡΕΜΑ
|
6
2
|
ΒΕΡΜΟΥΔΕΣ: ΒΕΡΜΟΥΔ
|
3
|
+
ΚΡΕΜΑΣ: ΚΡΕΜΑ
|
4
|
+
ΚΡΕΜΕΣ: ΚΡΕΜΑ
|
5
|
+
ΛΑΒΑΣ: ΛΑΒΑ
|
6
|
+
ΛΑΔΟΥΣΑ: ΛΑΔΟΥΣ
|
7
|
+
ΛΙΒΑΝΗΣ: ΛΙΒΑΝΗ
|
7
8
|
ΜΑΤΙΑ: ΜΑΤΙ
|
8
9
|
ΜΑΤΙΩΝ: ΜΑΤΙ
|
10
|
+
ΠΑΤΑΚΗΣ: ΠΑΤΑΚΗ
|
11
|
+
ΠΟΔΙΑ: ΠΟΔΙ
|
12
|
+
ΡΟΛΟΓΙΑ: ΡΟΛ
|
13
|
+
ΣΚΙ: ΣΚ
|
14
|
+
ΤΑΜΠΟΥΡΑ: ΤΑΜΠΟΥΡΟ
|
9
15
|
step_1_exceptions:
|
10
16
|
ΦΑΓΙΑ: ΦΑ
|
11
17
|
ΦΑΓΙΟΥ: ΦΑ
|
@@ -26,6 +32,9 @@ step_1_exceptions:
|
|
26
32
|
ΚΡΕΑΤΟΣ: ΚΡΕ
|
27
33
|
ΚΡΕΑΤΑ: ΚΡΕ
|
28
34
|
ΚΡΕΑΤΩΝ: ΚΡΕ
|
35
|
+
ΝΤΟΥΛΑΠΑΣ: ΝΤΟΥΛΑΠΑ
|
36
|
+
ΝΤΟΥΛΑΠΩΝ: ΝΤΟΥΛΑΠΑ
|
37
|
+
ΝΤΟΥΛΑΠΕΣ: ΝΤΟΥΛΑΠΑ
|
29
38
|
ΠΕΡΑΣ: ΠΕΡ
|
30
39
|
ΠΕΡΑΤΟΣ: ΠΕΡ
|
31
40
|
ΠΕΡΑΤΑ: ΠΕΡ
|
@@ -39,6 +48,9 @@ step_1_exceptions:
|
|
39
48
|
ΦΩΤΑ: ΦΩ
|
40
49
|
ΦΩΤΩΝ: ΦΩ
|
41
50
|
ΦΩΤΟ: ΦΩ
|
51
|
+
ΧΑΡΤΕΣ: ΧΑΡΤΗ
|
52
|
+
ΧΑΡΤΩΝ: ΧΑΡΤΗ
|
53
|
+
ΧΑΡΤΗΣ: ΧΑΡΤΗ
|
42
54
|
ΚΑΘΕΣΤΩΣ: ΚΑΘΕΣΤ
|
43
55
|
ΚΑΘΕΣΤΩΤΟΣ: ΚΑΘΕΣΤ
|
44
56
|
ΚΑΘΕΣΤΩΤΑ: ΚΑΘΕΣΤ
|
@@ -69,11 +81,14 @@ protected_words:
|
|
69
81
|
- ΑΠΟΨΕ
|
70
82
|
- ΑΡΑ
|
71
83
|
- ΑΡΑΓΕ
|
84
|
+
- ΑΡΚΑΣ
|
72
85
|
- ΑΥΡΙΟ
|
73
86
|
- ΑΦΟΙ
|
74
87
|
- ΑΦΟΥ
|
75
88
|
- ΑΦΟΤΟΥ
|
89
|
+
- ΒΙΟΛΟΓΟΣ
|
76
90
|
- ΒΡΕ
|
91
|
+
- ΓΑΖΙ
|
77
92
|
- ΓΕΙΑ
|
78
93
|
- ΓΙΑ
|
79
94
|
- ΓΙΑΤΙ
|
@@ -131,6 +146,7 @@ protected_words:
|
|
131
146
|
- ΗΜΙ
|
132
147
|
- ΗΠΑ
|
133
148
|
- ΗΤΟΙ
|
149
|
+
- ΘΕΡΜΟΣ
|
134
150
|
- ΘΕΣ
|
135
151
|
- ΙΔΙΩΣ
|
136
152
|
- ΙΔΗ
|
@@ -156,9 +172,12 @@ protected_words:
|
|
156
172
|
- ΚΥΡΙΩΣ
|
157
173
|
- ΚΡΕΜΑ
|
158
174
|
- ΚΩΣ
|
175
|
+
- ΛΑΒΑ
|
176
|
+
- ΛΙΒΑΝΗ
|
159
177
|
- ΜΑΓΙΟ
|
160
178
|
- ΜΑΓΙΩ
|
161
179
|
- ΜΑΚΑΡΙ
|
180
|
+
- ΜΑΚΡΑΜΕ
|
162
181
|
- ΜΑΛΙΣΤΑ
|
163
182
|
- ΜΑΛΛΟΝ
|
164
183
|
- ΜΑΙ
|
@@ -184,6 +203,7 @@ protected_words:
|
|
184
203
|
- ΜΟΥ
|
185
204
|
- ΜΠΑ
|
186
205
|
- ΜΠΑΣ
|
206
|
+
- ΜΠΕΡΙ
|
187
207
|
- ΜΠΕΤΟΝΙ
|
188
208
|
- ΜΠΟΥΦΑΝ
|
189
209
|
- ΜΠΡΟΣ
|
@@ -191,6 +211,7 @@ protected_words:
|
|
191
211
|
- ΝΕΣ
|
192
212
|
- ΝΤΑ
|
193
213
|
- ΝΤΕ
|
214
|
+
- ΝΤΟΥΛΑΠΑ
|
194
215
|
- ΞΑΝΑ
|
195
216
|
- ΟΗΕ
|
196
217
|
- ΟΚΤΩ
|
@@ -217,7 +238,9 @@ protected_words:
|
|
217
238
|
- ΠΑΝΙ
|
218
239
|
- ΠΕΡΑ
|
219
240
|
- ΠΕΡΙ
|
241
|
+
- ΠΕΡΛΕ
|
220
242
|
- ΠΕΡΙΠΟΥ
|
243
|
+
- ΠΑΤΑΚΗ
|
221
244
|
- ΠΕΤΑΛΟ
|
222
245
|
- ΠΙΑ
|
223
246
|
- ΠΙΟ
|
@@ -225,6 +248,7 @@ protected_words:
|
|
225
248
|
- ΠΛΑΙ
|
226
249
|
- ΠΛΕΟΝ
|
227
250
|
- ΠΛΗΝ
|
251
|
+
- ΠΟΔΙ
|
228
252
|
- ΠΟΤΕ
|
229
253
|
- ΠΟΥ
|
230
254
|
- ΠΡΟ
|
@@ -233,6 +257,7 @@ protected_words:
|
|
233
257
|
- ΠΡΟΧΘΕΣ
|
234
258
|
- ΡΟΔΙ
|
235
259
|
- ΡΟΛΑ
|
260
|
+
- ΡΟΥΤΕΡ
|
236
261
|
- ΠΩΣ
|
237
262
|
- ΣΑΙ
|
238
263
|
- ΣΑΣ
|
@@ -242,10 +267,14 @@ protected_words:
|
|
242
267
|
- ΣΟΙ
|
243
268
|
- ΣΟΥ
|
244
269
|
- ΣΡΙ
|
270
|
+
- ΣΤΡΑΤΑ
|
271
|
+
- ΣΤΥΛΟ
|
245
272
|
- ΣΥΝ
|
246
273
|
- ΣΥΝΑΜΑ
|
247
274
|
- ΣΧΕΔΟΝ
|
248
275
|
- ΤΑΔΕ
|
276
|
+
- ΤΑΜΠΟΥΡΕ
|
277
|
+
- ΤΑΜΠΟΥΡΟ
|
249
278
|
- ΤΑΞΙ
|
250
279
|
- ΤΑΧΑ
|
251
280
|
- ΤΕΙ
|
@@ -271,6 +300,8 @@ protected_words:
|
|
271
300
|
- ΦΙΣ
|
272
301
|
- ΦΛΟΤΕΡ
|
273
302
|
- ΦΠΑ
|
303
|
+
- ΦΤΕΡΗ
|
304
|
+
- ΧΑΡΤΗ
|
274
305
|
- ΧΑΦ
|
275
306
|
- ΧΘΕΣ
|
276
307
|
- ΧΤΕΣ
|
data/lib/greek_stemmer.rb
CHANGED
@@ -91,14 +91,18 @@ module GreekStemmer
|
|
91
91
|
# step 4
|
92
92
|
stem.scan(/^(.+?)(ΙΚΟΣ|ΙΚΟΝ|ΙΚΕΙΣ|ΙΚΟΙ|ΙΚΕΣ|ΙΚΟΥΣ|ΙΚΗ|ΙΚΗΣ|ΙΚΟ|ΙΚΑ|ΙΚΟΥ|ΙΚΩΝ|ΙΚΩΣ)$/u) do |st, suffix|
|
93
93
|
stem = st
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
94
|
+
if ends_on_vowel?(st) || st =~ /^(ΑΔ|ΑΛ|ΑΜΑΝ|ΑΜΕΡ|ΑΜΜΟΧΑΛ|
|
95
|
+
ΑΝΗΘ|ΑΝΤΙΔ|ΑΠΛ|ΑΤΤ|ΑΦΡ|ΒΑΣ|ΒΡΩΜ|ΓΕΝ|ΓΕΡ|Δ|ΔΙΑΦΟΡ|ΔΙΚΑΝ|
|
96
|
+
ΔΥΤ|ΕΙΔ|ΕΝΔ|ΕΞΩΔ|ΗΘ|ΘΕΤ|ΚΑΛΛΙΝ|ΚΑΛΠ|ΚΑΤΑΔ|ΚΟΥΖΙΝ|ΚΡ|ΚΩΔ|
|
97
|
+
ΛΑΔ|ΛΟΓ|Μ|ΜΕΡ|ΜΟΝΑΔ|ΜΟΥΛ|ΜΟΥΣ|ΜΠΑΓΙΑΤ|ΜΠΑΝ|ΜΠΟΛ|ΜΠΟΣ|ΜΥΣΤ|
|
98
|
+
Ν|ΝΙΤ|ΞΙΚ|ΟΠΤ|ΠΑΝ|ΠΕΡΙΣΤΡΟΦ|ΠΕΤΣ|ΠΙΚΑΝΤ|ΠΙΤΣ|ΠΛΑΣΤ|ΠΛΙΑΤΣ|
|
99
|
+
ΠΟΝΤ|ΠΟΣΤΕΛΝ|ΠΡΩΤΟΔ|ΣΕΡΤ|ΣΗΜΑΝΤ|ΣΤΑΤ|ΣΥΝΑΔ|ΣΥΝΟΜΗΛ|ΤΕΛ|
|
100
|
+
ΤΕΧΝ|ΤΗΛΕΣΚΟΠ|ΤΡΟΠ|ΤΣΑΜ|ΥΠΟΔ|Φ|ΦΙΛΟΝ|ΦΥΛΟΔ|ΦΥΣ|ΧΑΣ|ΦΥΤ)
|
101
|
+
$/ux || st =~ /(ΦΟΙΝ)$/u
|
102
|
+
stem << "ΙΚ"
|
103
|
+
elsif stem == 'ΠΑΣΧΑΛΙΑΤ'
|
104
|
+
stem = 'ΠΑΣΧΑ'
|
105
|
+
end
|
102
106
|
end
|
103
107
|
|
104
108
|
# step 5a
|
@@ -291,8 +295,13 @@ module GreekStemmer
|
|
291
295
|
ΗΚΑΤΕ|ΗΚΑΝ|ΗΣ|ΗΣΑΝ|ΗΣΑΤΕ|ΗΣΕΙ|ΗΣΕΣ|ΗΣΟΥΝ|ΗΣΩ|Ο|ΟΙ|ΟΜΑΙ|ΟΜΑΣΤΑΝ|ΟΜΟΥΝ|ΟΜΟΥΝΑ|
|
292
296
|
ΟΝΤΑΙ|ΟΝΤΑΝ|ΟΝΤΟΥΣΑΝ|ΟΣ|ΟΣΑΣΤΑΝ|ΟΣΑΣΤΕ|ΟΣΟΥΝ|ΟΣΟΥΝΑ|ΟΤΑΝ|ΟΥ|ΟΥΜΑΙ|ΟΥΜΑΣΤΕ|
|
293
297
|
ΟΥΝ|ΟΥΝΤΑΙ|ΟΥΝΤΑΝ|ΟΥΣ|ΟΥΣΑΝ|ΟΥΣΑΤΕ|Υ||ΥΑ|ΥΣ|Ω|ΩΝ|ΟΙΣ)$/ux) do |st, suffix|
|
298
|
+
return word if word == 'ΠΑΣΧΑ'
|
294
299
|
word = st
|
295
|
-
|
300
|
+
if st =~ /^(ΣΠΟΡ)$/u && suffix != ''
|
301
|
+
word << "Ο"
|
302
|
+
elsif st =~ /^(ΠΑΣΧΑΛΙΝ)$/u && suffix != ''
|
303
|
+
word = 'ΠΑΣΧΑ'
|
304
|
+
end
|
296
305
|
end
|
297
306
|
word
|
298
307
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: greek_stemmer
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Tasos Stathopoulos
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2019-04-26 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: bundler
|
@@ -110,7 +110,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
110
110
|
version: '0'
|
111
111
|
requirements: []
|
112
112
|
rubyforge_project:
|
113
|
-
rubygems_version: 2.
|
113
|
+
rubygems_version: 2.5.2.1
|
114
114
|
signing_key:
|
115
115
|
specification_version: 4
|
116
116
|
summary: A simple Greek stemmer
|