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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA256:
3
- metadata.gz: 7d74d733ad6b73cb5ef7dd799abddaa9968723838d5905da7c087792fd62cbe3
4
- data.tar.gz: e4041de586528a85eeff003e894ffa4d6062dd696e87e144e362345f2b01da19
2
+ SHA1:
3
+ metadata.gz: b3a88c623110ed08b7da611e59ae3f562f9cae84
4
+ data.tar.gz: 22414bc204c9b89ec76e23f2bcadc8cf11334e65
5
5
  SHA512:
6
- metadata.gz: 481525b1f4c37ee929722bdcf8aec5ff6003e0cac65c4c3300a8eb51d12272305b71b257ae48c80affc9e25e5b9ee19cb4c08d5e5528a0a5fed6411b372881db
7
- data.tar.gz: efbc852c6a17d5a03d6c35a6edbfec7d809bb19cfcd26d7db4e1a63af0ff2b9de51a4b9c0723b294d6acc6608cd69e73428a0e2b6ff31466663fb729af1db6bc
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
  - ΧΤΕΣ
@@ -1,3 +1,3 @@
1
1
  module GreekStemmer
2
- VERSION = "1.2.0"
2
+ VERSION = "1.3.0"
3
3
  end
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
- stem << "ΙΚ" if ends_on_vowel?(st) || st =~ /^(ΑΔ|ΑΛ|ΑΜΑΝ|ΑΜΕΡ|ΑΜΜΟΧΑΛ|
95
- ΑΝΗΘ|ΑΝΤΙΔ|ΑΠΛ|ΑΤΤ|ΑΦΡ|ΒΑΣ|ΒΡΩΜ|ΓΕΝ|ΓΕΡ|Δ|ΔΙΑΦΟΡ|ΔΙΚΑΝ|
96
- ΔΥΤ|ΕΙΔ|ΕΝΔ|ΕΞΩΔ|ΗΘ|ΘΕΤ|ΚΑΛΛΙΝ|ΚΑΛΠ|ΚΑΤΑΔ|ΚΟΥΖΙΝ|ΚΡ|ΚΩΔ|
97
- ΛΑΔ|ΛΟΓ|Μ|ΜΕΡ|ΜΟΝΑΔ|ΜΟΥΛ|ΜΟΥΣ|ΜΠΑΓΙΑΤ|ΜΠΑΝ|ΜΠΟΛ|ΜΠΟΣ|ΜΥΣΤ|
98
- Ν|ΝΙΤ|ΞΙΚ|ΟΠΤ|ΠΑΝ|ΠΕΡΙΣΤΡΟΦ|ΠΕΤΣ|ΠΙΚΑΝΤ|ΠΙΤΣ|ΠΛΑΣΤ|ΠΛΙΑΤΣ|
99
- ΠΟΝΤ|ΠΟΣΤΕΛΝ|ΠΡΩΤΟΔ|ΣΕΡΤ|ΣΗΜΑΝΤ|ΣΤΑΤ|ΣΥΝΑΔ|ΣΥΝΟΜΗΛ|ΤΕΛ|
100
- ΤΕΧΝ|ΤΗΛΕΣΚΟΠ|ΤΡΟΠ|ΤΣΑΜ|ΥΠΟΔ|Φ|ΦΙΛΟΝ|ΦΥΛΟΔ|ΦΥΣ|ΧΑΣ|ΦΥΤ)
101
- $/ux || st =~ /(ΦΟΙΝ)$/u
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
- word << "Ο" if st =~ /^(ΣΠΟΡ)$/u && suffix != ''
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.2.0
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: 2018-08-06 00:00:00.000000000 Z
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.7.6
113
+ rubygems_version: 2.5.2.1
114
114
  signing_key:
115
115
  specification_version: 4
116
116
  summary: A simple Greek stemmer