greek_stemmer 1.2.0 → 1.3.0
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.
- 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
|