greek_stemmer 1.1.9 → 1.3.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 09c0d1cad1ec581e80c1fd9d54f21c26c83fea43
4
- data.tar.gz: 64751a57558247bb1043991988f152a4d74bbe66
2
+ SHA256:
3
+ metadata.gz: 8dc504109a26d6465bbc1d41c8903ca43d241fc5cba76950ffed09bc189a9b4e
4
+ data.tar.gz: ff2c53bf24c4010ad9973e2a9d962e5dfaebb77f01bc2412ae288ee991a11deb
5
5
  SHA512:
6
- metadata.gz: 46d1066fff9892f71a06f5a934767b30c17711d7165800afcfb0aee3304a9fdec197113847c2fc3a287a7cfafe0afe290845e07c6ecaf3ac6eb2823c35d2ef8a
7
- data.tar.gz: 6ff5a69f7f9b19adfca092678ce68d4416b3272168f6b36f1088327144648c588f0d571cb2f344094650a8bb02289e22fd695c708e9210e176c8f988564e9ce4
6
+ metadata.gz: 40f728df09424b208b5d18f688d84a089771040c650528809f03d1c5695f1fa601de47b108314d9eafa4cf723eda3304acec6734d653890f619a21793551de72
7
+ data.tar.gz: f18a17281a2981066dfcb2b4794bacb3328464709e96b6e55e105b35665a8766ecf2ab9ba9418658331df2036910f631f837dfbcb2208f34d724733d4ade58ff
data/README.md CHANGED
@@ -41,9 +41,11 @@ Original work: [bandito](https://github.com/bandito)
41
41
 
42
42
  1. Fork it ( http://github.com/<my-github-username>/greek_stemmer/fork )
43
43
  2. Create your feature branch (`git checkout -b my-new-feature`)
44
- 3. Commit your changes (`git commit -am 'Add some feature'`)
45
- 4. Push to the branch (`git push origin my-new-feature`)
46
- 5. Create new Pull Request
44
+ 3. Perform changes and run `bundle exec rake update_greek_stemming_sample` to
45
+ update the stemming samples
46
+ 4. Commit your changes (`git commit -a`)
47
+ 5. Push to the branch (`git push origin my-new-feature`)
48
+ 6. Create new Pull Request
47
49
 
48
50
  ## License
49
51
 
@@ -151,9 +151,9 @@
151
151
  ΑΓΟΡΑΝΟΜΙΚΟΣ,ΑΓΟΡΑΝΟΜ
152
152
  ΑΓΟΡΑΣ,ΑΓΟΡ
153
153
  ΑΓΟΡΕΣ,ΑΓΟΡ
154
- ΑΓΟΡΙ,ΑΓΟΡ
155
- ΑΓΟΡΙΑ,ΑΓΟΡ
156
- ΑΓΟΡΙΩΝ,ΑΓΟΡ
154
+ ΑΓΟΡΙ,ΑΓΟΡΙ
155
+ ΑΓΟΡΙΑ,ΑΓΟΡΙ
156
+ ΑΓΟΡΙΩΝ,ΑΓΟΡΙ
157
157
  ΑΓΟΡΩΝ,ΑΓΟΡ
158
158
  ΑΓΡ,ΑΓΡ
159
159
  ΑΓΡΑΦ,ΑΓΡΑΦ
@@ -2732,7 +2732,7 @@
2732
2732
  ΒΕΡΕΝΙΚ,ΒΕΡΕΝΙΚ
2733
2733
  ΒΕΡΕΝΙΚΗΣ,ΒΕΡΕΝ
2734
2734
  ΒΕΡΜΟΥΔΑ,ΒΕΡΜΟΥΔ
2735
- ΒΕΡΜΟΥΔΕΣ,ΒΕΡΜ
2735
+ ΒΕΡΜΟΥΔΕΣ,ΒΕΡΜΟΥΔ
2736
2736
  ΒΕΡΝ,ΒΕΡΝ
2737
2737
  ΒΕΡΝΑ,ΒΕΡΝ
2738
2738
  ΒΕΡΝΤ,ΒΕΡΝΤ
@@ -3855,7 +3855,7 @@
3855
3855
  ΔΕΡΜΑΤΙΚΗ,ΔΕΡΜΑΤ
3856
3856
  ΔΕΡΜΑΤΙΝ,ΔΕΡΜΑΤΙΝ
3857
3857
  ΔΕΡΜΑΤΙΝΑ,ΔΕΡΜΑΤΙΝ
3858
- ΔΕΡΜΑΤΙΝΗ,ΔΕΡΜΑΤΙΝ
3858
+ ΔΕΡΜΑΤΙΝΗ,ΔΕΡΜΑΤΙΝΗ
3859
3859
  ΔΕΡΜΑΤΙΝΟΣ,ΔΕΡΜΑΤΙΝ
3860
3860
  ΔΕΡΜΑΤΟΣ,ΔΕΡΜ
3861
3861
  ΔΕΡΜΑΤΟΣΚΟΠΗΣ,ΔΕΡΜΑΤΟΣΚΟΠ
@@ -4196,9 +4196,9 @@
4196
4196
  ΔΙΑΦΟΡΕΤΙΚΑ,ΔΙΑΦΟΡΕΤ
4197
4197
  ΔΙΑΦΟΡΕΤΙΚΟΣ,ΔΙΑΦΟΡΕΤ
4198
4198
  ΔΙΑΦΟΡΙΚ,ΔΙΑΦΟΡΙΚ
4199
- ΔΙΑΦΟΡΙΚΕΣ,ΔΙΑΦΟΡ
4200
- ΔΙΑΦΟΡΙΚΗ,ΔΙΑΦΟΡ
4201
- ΔΙΑΦΟΡΙΚΟΣ,ΔΙΑΦΟΡ
4199
+ ΔΙΑΦΟΡΙΚΕΣ,ΔΙΑΦΟΡΙΚ
4200
+ ΔΙΑΦΟΡΙΚΗ,ΔΙΑΦΟΡΙΚ
4201
+ ΔΙΑΦΟΡΙΚΟΣ,ΔΙΑΦΟΡΙΚ
4202
4202
  ΔΙΑΦΟΡΩΝ,ΔΙΑΦΟΡ
4203
4203
  ΔΙΑΦΥΛΛΙΚ,ΔΙΑΦΥΛΛΙΚ
4204
4204
  ΔΙΑΦΥΛΛΙΚΕΣ,ΔΙΑΦΥΛΛ
@@ -5277,7 +5277,7 @@
5277
5277
  ΕΜΦΥΛΙΟΥ,ΕΜΦΥΛ
5278
5278
  ΕΜΦΥΛΙΩΝ,ΕΜΦΥΛ
5279
5279
  ΕΝ,ΕΝ
5280
- ΕΝΑ,ΕΝ
5280
+ ΕΝΑ,ΕΝΑ
5281
5281
  ΕΝΑΛΛΑΚΤ,ΕΝΑΛΛΑΚΤ
5282
5282
  ΕΝΑΛΛΑΚΤΙΚ,ΕΝΑΛΛΑΚΤΙΚ
5283
5283
  ΕΝΑΛΛΑΚΤΙΚΑ,ΕΝΑΛΛΑΚΤ
@@ -5366,7 +5366,7 @@
5366
5366
  ΕΝΟΡΑΣΗ,ΕΝΟΡΑΣ
5367
5367
  ΕΝΟΡΓΑΝ,ΕΝΟΡΓ
5368
5368
  ΕΝΟΡΓΑΝΗ,ΕΝΟΡΓΑΝ
5369
- ΕΝΟΣ,ΕΝ
5369
+ ΕΝΟΣ,ΕΝΑ
5370
5370
  ΕΝΟΤΗΤ,ΕΝΟΤΗΤ
5371
5371
  ΕΝΟΤΗΤΑ,ΕΝΟΤΗΤ
5372
5372
  ΕΝΟΧ,ΕΝΟΧ
@@ -6920,7 +6920,7 @@
6920
6920
  ΘΕΡΜΟΠΥΛ,ΘΕΡΜΟΠΥΛ
6921
6921
  ΘΕΡΜΟΠΥΛΕΣ,ΘΕΡΜΟΠΥΛ
6922
6922
  ΘΕΡΜΟΠΥΛΩΝ,ΘΕΡΜΟΠΥΛ
6923
- ΘΕΡΜΟΣ,ΘΕΡΜ
6923
+ ΘΕΡΜΟΣ,ΘΕΡΜΟΣ
6924
6924
  ΘΕΡΜΟΤΗΤ,ΘΕΡΜΟΤΗΤ
6925
6925
  ΘΕΡΜΟΤΗΤΑΣ,ΘΕΡΜΟΤΗΤ
6926
6926
  ΘΕΡΜΩ,ΘΕΡΜ
@@ -7711,7 +7711,7 @@
7711
7711
  ΚΑΝΙΑΡΗΣ,ΚΑΝΙΑΡ
7712
7712
  ΚΑΝΝΑΒΗ,ΚΑΝΝΑΒ
7713
7713
  ΚΑΝΝΑΒΙΣ,ΚΑΝΝΑΒΙΣ
7714
- ΚΑΝΟ,ΚΑΝ
7714
+ ΚΑΝΟ,ΚΑΝΟ
7715
7715
  ΚΑΝΟΝ,ΚΑΝΟΝ
7716
7716
  ΚΑΝΟΝΕΣ,ΚΑΝΟΝ
7717
7717
  ΚΑΝΟΝΙΚ,ΚΑΝΟΝΙΚ
@@ -7794,7 +7794,7 @@
7794
7794
  ΚΑΡΑΟΚ,ΚΑΡΑΟΚ
7795
7795
  ΚΑΡΑΟΚΕ,ΚΑΡΑΟΚ
7796
7796
  ΚΑΡΑΤ,ΚΑΡΑΤ
7797
- ΚΑΡΑΤΕ,ΚΑΡΑΤ
7797
+ ΚΑΡΑΤΕ,ΚΑΡΑΤΕ
7798
7798
  ΚΑΡΑΧΜΕΤ,ΚΑΡΑΧΜΕΤ
7799
7799
  ΚΑΡΑΧΜΕΤΗ,ΚΑΡΑΧΜΕΤ
7800
7800
  ΚΑΡΔ,ΚΑΡΔ
@@ -7867,7 +7867,7 @@
7867
7867
  ΚΑΡΦ,ΚΑΡΦ
7868
7868
  ΚΑΡΦΙ,ΚΑΡΦ
7869
7869
  ΚΑΡΦΩΤΑ,ΚΑΡΦΩ
7870
- ΚΑΡΦΩΤΟ,ΚΑΡΦΩΤ
7870
+ ΚΑΡΦΩΤΟ,ΚΑΡΦΩ
7871
7871
  ΚΑΡΦΩΤΟΙ,ΚΑΡΦΩΤ
7872
7872
  ΚΑΡΩ,ΚΑΡ
7873
7873
  ΚΑΣ,Κ
@@ -8859,7 +8859,7 @@
8859
8859
  ΚΡΕΒΑΤΙΑ,ΚΡΕΒΑΤ
8860
8860
  ΚΡΕΜΑΜΕΝ,ΚΡΕΜΑΜΕΝ
8861
8861
  ΚΡΕΜΑΜΕΝΟΣ,ΚΡΕΜΑΜΕΝ
8862
- ΚΡΕΜΑΣ,ΚΡΕΜ
8862
+ ΚΡΕΜΑΣ,ΚΡΕΜΑ
8863
8863
  ΚΡΕΜΑΣΜΕΝ,ΚΡΕΜΑΣΜΕΝ
8864
8864
  ΚΡΕΜΑΣΜΕΝΟΙ,ΚΡΕΜΑΣΜΕΝ
8865
8865
  ΚΡΕΜΑΣΟΥΝ,ΚΡΕΜΑΣ
@@ -9668,7 +9668,7 @@
9668
9668
  ΜΑΓΙΚΟ,ΜΑΓ
9669
9669
  ΜΑΓΙΚΟΣ,ΜΑΓ
9670
9670
  ΜΑΓΙΚΟΥ,ΜΑΓ
9671
- ΜΑΓΙΟ,ΜΑΓΙ
9671
+ ΜΑΓΙΟ,ΜΑΓΙΟ
9672
9672
  ΜΑΓΙΟΡΚ,ΜΑΓΙΟΡΚ
9673
9673
  ΜΑΓΙΟΡΚΑ,ΜΑΓΙΟΡΚ
9674
9674
  ΜΑΓΙΣΣ,ΜΑΓΙΣΣ
@@ -9976,8 +9976,8 @@
9976
9976
  ΜΑΤ,ΜΑΤ
9977
9977
  ΜΑΤΑΚΙΑ,ΜΑΤΑΚ
9978
9978
  ΜΑΤΑΚΙΑΣ,ΜΑΤΑΚ
9979
- ΜΑΤΙ,ΜΑΤ
9980
- ΜΑΤΙΑ,ΜΑΤ
9979
+ ΜΑΤΙ,ΜΑΤΙ
9980
+ ΜΑΤΙΑ,ΜΑΤΙ
9981
9981
  ΜΑΤΙΑΣ,ΜΑΤ
9982
9982
  ΜΑΤΙΕΣ,ΜΑΤ
9983
9983
  ΜΑΤΣΑΔ,ΜΑΤΣΑΔ
@@ -10718,6 +10718,8 @@
10718
10718
  ΜΟΝΟΦΑΣΙΚΟΣ,ΜΟΝΟΦΑΣ
10719
10719
  ΜΟΝΟΦΘΑΛΜ,ΜΟΝΟΦΘΑΛΜ
10720
10720
  ΜΟΝΟΦΘΑΛΜΟΣ,ΜΟΝΟΦΘΑΛΜ
10721
+ ΜΟΝΟΦΩΤΑ,ΜΟΝΟΦΩ
10722
+ ΜΟΝΟΦΩΤΟ,ΜΟΝΟΦΩ
10721
10723
  ΜΟΝΡΟ,ΜΟΝΡ
10722
10724
  ΜΟΝΡΟΕ,ΜΟΝΡΟ
10723
10725
  ΜΟΝΤ,ΜΟΝΤ
@@ -10874,7 +10876,7 @@
10874
10876
  ΜΠΑΤΑΡΙΕΣ,ΜΠΑΤΑΡ
10875
10877
  ΜΠΑΤΑΡΙΩΝ,ΜΠΑΤΑΡ
10876
10878
  ΜΠΑΧΑΡ,ΜΠΑΧΑΡ
10877
- ΜΠΑΧΑΡΙΚΩΝ,ΜΠΑΧΑΡ
10879
+ ΜΠΑΧΑΡΙΚΩΝ,ΜΠΑΧΑΡΙΚ
10878
10880
  ΜΠΕΖ,ΜΠΕΖ
10879
10881
  ΜΠΕΛ,ΜΠΕΛ
10880
10882
  ΜΠΕΛΑ,ΜΠΕΛ
@@ -12097,7 +12099,7 @@
12097
12099
  ΟΡΘΟΛΟΓΙΚ,ΟΡΘΟΛΟΓΙΚ
12098
12100
  ΟΡΘΟΛΟΓΙΚΗ,ΟΡΘΟΛΟΓ
12099
12101
  ΟΡΘΟΠΑΙΔΙΚ,ΟΡΘΟΠΑΙΔΙΚ
12100
- ΟΡΘΟΠΑΙΔΙΚΑ,ΟΡΘΟΠΑΙΔ
12102
+ ΟΡΘΟΠΑΙΔΙΚΑ,ΟΡΘΟΠΑΙΔΙΚ
12101
12103
  ΟΡΘΟΠΑΙΔΙΚΗ,ΟΡΘΟΠΑΙΔ
12102
12104
  ΟΡΘΟΠΕΔΙΚΑ,ΟΡΘΟΠΕΔ
12103
12105
  ΟΡΘΟΠΕΔΙΚΕΣ,ΟΡΘΟΠΕΔ
@@ -12312,12 +12314,12 @@
12312
12314
  ΠΑΙΔΙΑΤΡΙΚΗ,ΠΑΙΔΙΑΤΡ
12313
12315
  ΠΑΙΔΙΑΤΡΙΚΗΣ,ΠΑΙΔΙΑΤΡ
12314
12316
  ΠΑΙΔΙΚ,ΠΑΙΔΙΚ
12315
- ΠΑΙΔΙΚΑ,ΠΑΙΔ
12317
+ ΠΑΙΔΙΚΑ,ΠΑΙΔΙΚ
12316
12318
  ΠΑΙΔΙΚΑΤΑ,ΠΑΙΔΙΚΑΤ
12317
- ΠΑΙΔΙΚΕΣ,ΠΑΙΔ
12319
+ ΠΑΙΔΙΚΕΣ,ΠΑΙΔΙΚ
12318
12320
  ΠΑΙΔΙΚΗ,ΠΑΙΔ
12319
12321
  ΠΑΙΔΙΚΗΣ,ΠΑΙΔ
12320
- ΠΑΙΔΙΚΟ,ΠΑΙΔ
12322
+ ΠΑΙΔΙΚΟ,ΠΑΙΔΙΚ
12321
12323
  ΠΑΙΔΙΚΟΙ,ΠΑΙΔ
12322
12324
  ΠΑΙΔΙΚΟΣ,ΠΑΙΔ
12323
12325
  ΠΑΙΔΙΚΟΥ,ΠΑΙΔ
@@ -12451,7 +12453,7 @@
12451
12453
  ΠΑΝΕΠΙΣΤΗΜΙΟΥ,ΠΑΝΕΠΙΣΤΗΜ
12452
12454
  ΠΑΝΕΠΙΣΤΗΜΙΩΝ,ΠΑΝΕΠΙΣΤΗΜ
12453
12455
  ΠΑΝΕΣ,ΠΑΝ
12454
- ΠΑΝΙ,ΠΑΝ
12456
+ ΠΑΝΙ,ΠΑΝΙ
12455
12457
  ΠΑΝΙΕΡ,ΠΑΝΙΕΡ
12456
12458
  ΠΑΝΙΕΡΟΣ,ΠΑΝΙΕΡ
12457
12459
  ΠΑΝΙΚΟ,ΠΑΝΙΚ
@@ -12742,12 +12744,12 @@
12742
12744
  ΠΑΣΤΑ,ΠΑΣΤ
12743
12745
  ΠΑΣΤΡΑ,ΠΑΣΤΡ
12744
12746
  ΠΑΣΧ,ΠΑΣΧ
12745
- ΠΑΣΧΑ,ΠΑΣΧ
12747
+ ΠΑΣΧΑ,ΠΑΣΧΑ
12746
12748
  ΠΑΣΧΑΛ,ΠΑΣΧΑΛ
12747
12749
  ΠΑΣΧΑΛΙΑ,ΠΑΣΧΑΛ
12748
12750
  ΠΑΣΧΑΛΙΝ,ΠΑΣΧΑΛΙΝ
12749
- ΠΑΣΧΑΛΙΝΑ,ΠΑΣΧΑΛΙΝ
12750
- ΠΑΣΧΑΛΙΝΕΣ,ΠΑΣΧΑΛΙΝ
12751
+ ΠΑΣΧΑΛΙΝΑ,ΠΑΣΧΑ
12752
+ ΠΑΣΧΑΛΙΝΕΣ,ΠΑΣΧΑ
12751
12753
  ΠΑΣΧΑΛΙΤΣ,ΠΑΣΧΑΛΙΤΣ
12752
12754
  ΠΑΣΧΑΛΙΤΣΑ,ΠΑΣΧΑΛΙΤΣ
12753
12755
  ΠΑΣΧΑΡΑΛΑΜΠ,ΠΑΣΧΑΡΑΛΑΜΠ
@@ -13042,9 +13044,9 @@
13042
13044
  ΠΕΡΙΣΣΟΤΕΡΟ,ΠΕΡΙΣΣ
13043
13045
  ΠΕΡΙΣΤΑΤ,ΠΕΡΙΣΤΑΤ
13044
13046
  ΠΕΡΙΣΤΑΤΙΚΑ,ΠΕΡΙΣΤΑΤ
13045
- ΠΕΡΙΣΤΡΟΦΙΚΗ,ΠΕΡΙΣΤΡΟΦ
13046
- ΠΕΡΙΣΤΡΟΦΙΚΟ,ΠΕΡΙΣΤΡΟΦ
13047
- ΠΕΡΙΣΤΡΟΦΙΚΟΣ,ΠΕΡΙΣΤΡΟΦ
13047
+ ΠΕΡΙΣΤΡΟΦΙΚΗ,ΠΕΡΙΣΤΡΟΦΙΚ
13048
+ ΠΕΡΙΣΤΡΟΦΙΚΟ,ΠΕΡΙΣΤΡΟΦΙΚ
13049
+ ΠΕΡΙΣΤΡΟΦΙΚΟΣ,ΠΕΡΙΣΤΡΟΦΙΚ
13048
13050
  ΠΕΡΙΤΟΝΑΙΚ,ΠΕΡΙΤΟΝΑΙΚ
13049
13051
  ΠΕΡΙΤΟΝΑΙΚΗ,ΠΕΡΙΤΟΝΑΙΚ
13050
13052
  ΠΕΡΙΦΕΡΕΙΑΚ,ΠΕΡΙΦΕΡΕΙΑΚ
@@ -13078,7 +13080,7 @@
13078
13080
  ΠΕΤΑ,ΠΕΤ
13079
13081
  ΠΕΤΑΕΙ,ΠΕΤ
13080
13082
  ΠΕΤΑΛ,ΠΕΤΑΛ
13081
- ΠΕΤΑΛΟ,ΠΕΤΑΛ
13083
+ ΠΕΤΑΛΟ,ΠΕΤΑΛΟ
13082
13084
  ΠΕΤΑΛΟΥΔ,ΠΕΤΑΛΟΥΔ
13083
13085
  ΠΕΤΑΛΟΥΔΑ,ΠΕΤΑΛΟΥΔ
13084
13086
  ΠΕΤΑΛΟΥΔΑΣ,ΠΕΤΑΛΟΥΔ
@@ -13447,7 +13449,7 @@
13447
13449
  ΠΟΔΗΛΑΤΙΚΟΣ,ΠΟΔΗΛΑΤ
13448
13450
  ΠΟΔΗΛΑΤΟ,ΠΟΔΗΛΑΤ
13449
13451
  ΠΟΔΗΛΑΤΟΥ,ΠΟΔΗΛΑΤ
13450
- ΠΟΔΙΑ,ΠΟΔ
13452
+ ΠΟΔΙΑ,ΠΟΔΙ
13451
13453
  ΠΟΔΙΑΣ,ΠΟΔ
13452
13454
  ΠΟΔΟΣΦΑΙΡ,ΠΟΔΟΣΦΑΙΡ
13453
13455
  ΠΟΔΟΣΦΑΙΡΙΚΑ,ΠΟΔΟΣΦΑΙΡ
@@ -13636,7 +13638,7 @@
13636
13638
  ΠΟΛΥΦΩΝΑ,ΠΟΛΥΦΩΝ
13637
13639
  ΠΟΛΥΦΩΝΙΚΑ,ΠΟΛΥΦΩΝ
13638
13640
  ΠΟΛΥΦΩΤΑ,ΠΟΛΥΦΩ
13639
- ΠΟΛΥΦΩΤΟ,ΠΟΛΥΦΩΤ
13641
+ ΠΟΛΥΦΩΤΟ,ΠΟΛΥΦΩ
13640
13642
  ΠΟΛΥΦΩΤΩΝ,ΠΟΛΥΦΩ
13641
13643
  ΠΟΛΥΧΡΩΜ,ΠΟΛΥΧΡΩΜ
13642
13644
  ΠΟΛΥΧΡΩΜΑ,ΠΟΛΥΧΡΩΜ
@@ -14460,9 +14462,9 @@
14460
14462
  ΡΟΙΔΙΚΗΣ,ΡΟΙΔ
14461
14463
  ΡΟΚ,ΡΟΚ
14462
14464
  ΡΟΛ,ΡΟΛ
14463
- ΡΟΛΑ,ΡΟΛ
14465
+ ΡΟΛΑ,ΡΟΛΑ
14464
14466
  ΡΟΛΟ,ΡΟΛ
14465
- ΡΟΛΟΓΙΑ,ΡΟΛΟΓ
14467
+ ΡΟΛΟΓΙΑ,ΡΟΛ
14466
14468
  ΡΟΛΟΙ,ΡΟΛ
14467
14469
  ΡΟΛΟΣ,ΡΟΛ
14468
14470
  ΡΟΛΣ,ΡΟΛΣ
@@ -14939,7 +14941,7 @@
14939
14941
  ΣΚΗΠΤΡΟ,ΣΚΗΠΤΡ
14940
14942
  ΣΚΗΤ,ΣΚΗΤ
14941
14943
  ΣΚΗΤΗ,ΣΚΗΤ
14942
- ΣΚΙ,ΣΚΙ
14944
+ ΣΚΙ,ΣΚ
14943
14945
  ΣΚΙΑ,ΣΚΙ
14944
14946
  ΣΚΙΑΘ,ΣΚΙΑΘ
14945
14947
  ΣΚΙΑΘΟΣ,ΣΚΙΑΘ
@@ -15189,10 +15191,10 @@
15189
15191
  ΣΠΟΝΔ,ΣΠΟΝΔ
15190
15192
  ΣΠΟΝΔΗ,ΣΠΟΝΔ
15191
15193
  ΣΠΟΡ,ΣΠΟΡ
15192
- ΣΠΟΡΑ,ΣΠΟΡ
15194
+ ΣΠΟΡΑ,ΣΠΟΡΟ
15193
15195
  ΣΠΟΡΑΔ,ΣΠΟΡΑΔ
15194
15196
  ΣΠΟΡΑΔΕΣ,ΣΠΟΡΑΔ
15195
- ΣΠΟΡΟΣ,ΣΠΟΡ
15197
+ ΣΠΟΡΟΣ,ΣΠΟΡΟ
15196
15198
  ΣΠΟΥΔ,ΣΠΟΥΔ
15197
15199
  ΣΠΟΥΔΑΙ,ΣΠΟΥΔΑ
15198
15200
  ΣΠΟΥΔΑΙΑ,ΣΠΟΥΔΑΙ
@@ -16169,8 +16171,8 @@
16169
16171
  ΤΕΤΡΑΓΩΝΟ,ΤΕΤΡΑΓΩΝ
16170
16172
  ΤΕΤΡΑΔ,ΤΕΤΡΑΔ
16171
16173
  ΤΕΤΡΑΔΙ,ΤΕΤΡΑΔ
16172
- ΤΕΤΡΑΔΙΑ,ΤΕΤΡΑΔ
16173
- ΤΕΤΡΑΔΙΟ,ΤΕΤΡΑΔ
16174
+ ΤΕΤΡΑΔΙΑ,ΤΕΤΡΑΔΙ
16175
+ ΤΕΤΡΑΔΙΟ,ΤΕΤΡΑΔΙ
16174
16176
  ΤΕΤΣ,ΤΕΤΣ
16175
16177
  ΤΕΤΣΗΣ,ΤΕΤΣ
16176
16178
  ΤΕΧΝ,ΤΕΧΝ
@@ -16266,10 +16268,10 @@
16266
16268
  ΤΗΛΕΠΙΚΟΙΝΩΝΙΕΣ,ΤΗΛΕΠΙΚΟΙΝΩΝ
16267
16269
  ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ,ΤΗΛΕΠΙΚΟΙΝΩΝ
16268
16270
  ΤΗΛΕΣΚΟΠΙΑ,ΤΗΛΕΣΚΟΠ
16269
- ΤΗΛΕΣΚΟΠΙΚΗ,ΤΗΛΕΣΚΟΠ
16270
- ΤΗΛΕΣΚΟΠΙΚΟ,ΤΗΛΕΣΚΟΠ
16271
- ΤΗΛΕΣΚΟΠΙΚΟΙ,ΤΗΛΕΣΚΟΠ
16272
- ΤΗΛΕΣΚΟΠΙΚΟΣ,ΤΗΛΕΣΚΟΠ
16271
+ ΤΗΛΕΣΚΟΠΙΚΗ,ΤΗΛΕΣΚΟΠΙΚ
16272
+ ΤΗΛΕΣΚΟΠΙΚΟ,ΤΗΛΕΣΚΟΠΙΚ
16273
+ ΤΗΛΕΣΚΟΠΙΚΟΙ,ΤΗΛΕΣΚΟΠΙΚ
16274
+ ΤΗΛΕΣΚΟΠΙΚΟΣ,ΤΗΛΕΣΚΟΠΙΚ
16273
16275
  ΤΗΛΕΣΚΟΠΙΟ,ΤΗΛΕΣΚΟΠ
16274
16276
  ΤΗΛΕΣΚΟΠΙΟΥ,ΤΗΛΕΣΚΟΠ
16275
16277
  ΤΗΛΕΦΩΝ,ΤΗΛΕΦ
@@ -17161,7 +17163,7 @@
17161
17163
  ΦΕΓΓΑΡΟΠΛΕΚΤ,ΦΕΓΓΑΡΟΠΛΕΚΤ
17162
17164
  ΦΕΓΓΑΡΟΠΛΕΚΤΗ,ΦΕΓΓΑΡΟΠΛΕΚΤ
17163
17165
  ΦΕΓΓΑΡΟΦΩΤ,ΦΕΓΓΑΡΟΦΩΤ
17164
- ΦΕΓΓΑΡΟΦΩΤΟ,ΦΕΓΓΑΡΟΦΩΤ
17166
+ ΦΕΓΓΑΡΟΦΩΤΟ,ΦΕΓΓΑΡΟΦΩ
17165
17167
  ΦΕΓΓΑΡΟΨΗΜΕΝ,ΦΕΓΓΑΡΟΨΗΜΕΝ
17166
17168
  ΦΕΓΓΑΡΟΨΗΜΕΝΕΣ,ΦΕΓΓΑΡΟΨΗΜΕΝ
17167
17169
  ΦΕΓΓΙΤ,ΦΕΓΓΙΤ
@@ -17524,8 +17526,8 @@
17524
17526
  ΦΥΤΕΜΑ,ΦΥΤΕΜ
17525
17527
  ΦΥΤΕΥ,ΦΥΤΕ
17526
17528
  ΦΥΤΕΥΩ,ΦΥΤΕΥ
17527
- ΦΥΤΙΚΑ,ΦΥΤ
17528
- ΦΥΤΙΚΗ,ΦΥΤ
17529
+ ΦΥΤΙΚΑ,ΦΥΤΙΚ
17530
+ ΦΥΤΙΚΗ,ΦΥΤΙΚ
17529
17531
  ΦΥΤΟΛΟ,ΦΥΤΟΛ
17530
17532
  ΦΥΤΟΛΟΓΙΑ,ΦΥΤΟΛΟΓ
17531
17533
  ΦΥΤΟΠΑΘΟΛΟ,ΦΥΤΟΠΑΘΟΛ
@@ -17580,7 +17582,7 @@
17580
17582
  ΦΩΤΙΣΤΙΚΑ,ΦΩΤΙΣΤ
17581
17583
  ΦΩΤΙΣΤΙΚΗ,ΦΩΤΙΣΤ
17582
17584
  ΦΩΤΙΣΤΙΚΟΙ,ΦΩΤΙΣΤ
17583
- ΦΩΤΟ,ΦΩΤ
17585
+ ΦΩΤΟ,ΦΩ
17584
17586
  ΦΩΤΟΒΟΛΤΑΙΚ,ΦΩΤΟΒΟΛΤΑΙΚ
17585
17587
  ΦΩΤΟΒΟΛΤΑΙΚΑ,ΦΩΤΟΒΟΛΤΑΙΚ
17586
17588
  ΦΩΤΟΓΡΑΦ,ΦΩΤΟΓΡΑΦ
@@ -17724,8 +17726,8 @@
17724
17726
  ΧΑΡΤΑΕΤ,ΧΑΡΤΑΕΤ
17725
17727
  ΧΑΡΤΑΕΤΟΣ,ΧΑΡΤΑΕΤ
17726
17728
  ΧΑΡΤΑΚΙΑ,ΧΑΡΤΑΚ
17727
- ΧΑΡΤΕΣ,ΧΑΡΤ
17728
- ΧΑΡΤΗΣ,ΧΑΡΤ
17729
+ ΧΑΡΤΕΣ,ΧΑΡΤΗ
17730
+ ΧΑΡΤΗΣ,ΧΑΡΤΗ
17729
17731
  ΧΑΡΤΙ,ΧΑΡΤ
17730
17732
  ΧΑΡΤΙΑ,ΧΑΡΤ
17731
17733
  ΧΑΡΤΙΝ,ΧΑΡΤΙΝ
@@ -17746,7 +17748,7 @@
17746
17748
  ΧΑΡΤΟΚΙΒΩΤΙΟ,ΧΑΡΤΟΚΙΒΩΤ
17747
17749
  ΧΑΡΤΟΦΥΛΑΚ,ΧΑΡΤΟΦΥΛΑΚ
17748
17750
  ΧΑΡΤΟΦΥΛΑΚΙΟΥ,ΧΑΡΤΟΦΥΛΑΚ
17749
- ΧΑΡΤΩΝ,ΧΑΡΤ
17751
+ ΧΑΡΤΩΝ,ΧΑΡΤΗ
17750
17752
  ΧΑΣΙΚ,ΧΑΣΙΚ
17751
17753
  ΧΑΣΙΚΟ,ΧΑΣΙΚ
17752
17754
  ΧΑΣΙΜ,ΧΑΣΙΜ
data/config/stemmer.yml CHANGED
@@ -1,4 +1,22 @@
1
+ step_0_exceptions:
2
+ ΑΚΟΥΣΤΙΚΩΝ: ΑΚΟΥΣΤΙΚΑ
3
+ ΕΝΟΣ: ΕΝΑ
4
+ ΒΕΡΜΟΥΔΕΣ: ΒΕΡΜΟΥΔ
5
+ ΚΡΕΜΑΣ: ΚΡΕΜΑ
6
+ ΚΡΕΜΕΣ: ΚΡΕΜΑ
7
+ ΛΑΒΑΣ: ΛΑΒΑ
8
+ ΛΑΔΟΥΣΑ: ΛΑΔΟΥΣ
9
+ ΛΙΒΑΝΗΣ: ΛΙΒΑΝΗ
10
+ ΜΑΤΙΑ: ΜΑΤΙ
11
+ ΜΑΤΙΩΝ: ΜΑΤΙ
12
+ ΠΑΤΑΚΗΣ: ΠΑΤΑΚΗ
13
+ ΠΟΔΙΑ: ΠΟΔΙ
14
+ ΡΟΛΟΓΙΑ: ΡΟΛ
15
+ ΣΚΙ: ΣΚ
16
+ ΤΑΜΠΟΥΡΑ: ΤΑΜΠΟΥΡΟ
1
17
  step_1_exceptions:
18
+ ΑΓΟΡΙΑ: ΑΓΟΡΙ
19
+ ΑΓΟΡΙΩΝ: ΑΓΟΡΙ
2
20
  ΦΑΓΙΑ: ΦΑ
3
21
  ΦΑΓΙΟΥ: ΦΑ
4
22
  ΦΑΓΙΩΝ: ΦΑ
@@ -18,6 +36,16 @@ step_1_exceptions:
18
36
  ΚΡΕΑΤΟΣ: ΚΡΕ
19
37
  ΚΡΕΑΤΑ: ΚΡΕ
20
38
  ΚΡΕΑΤΩΝ: ΚΡΕ
39
+ ΝΤΟΥΛΑΠΑΣ: ΝΤΟΥΛΑΠΑ
40
+ ΝΤΟΥΛΑΠΩΝ: ΝΤΟΥΛΑΠΑ
41
+ ΝΤΟΥΛΑΠΕΣ: ΝΤΟΥΛΑΠΑ
42
+ ΜΠΑΧΑΡΙΚΟ: ΜΠΑΧΑΡΙΚ
43
+ ΜΠΑΧΑΡΙΚΩΝ: ΜΠΑΧΑΡΙΚ
44
+ ΜΠΑΧΑΡΙΚΑ: ΜΠΑΧΑΡΙΚ
45
+ ΠΑΙΔΙΚΟ: ΠΑΙΔΙΚ
46
+ ΠΑΙΔΙΚΑ: ΠΑΙΔΙΚ
47
+ ΠΑΙΔΙΚΩΝ: ΠΑΙΔΙΚ
48
+ ΠΑΙΔΙΚΕΣ: ΠΑΙΔΙΚ
21
49
  ΠΕΡΑΣ: ΠΕΡ
22
50
  ΠΕΡΑΤΟΣ: ΠΕΡ
23
51
  ΠΕΡΑΤΑ: ΠΕΡ
@@ -30,6 +58,10 @@ step_1_exceptions:
30
58
  ΦΩΤΟΣ: ΦΩ
31
59
  ΦΩΤΑ: ΦΩ
32
60
  ΦΩΤΩΝ: ΦΩ
61
+ ΦΩΤΟ: ΦΩ
62
+ ΧΑΡΤΕΣ: ΧΑΡΤΗ
63
+ ΧΑΡΤΩΝ: ΧΑΡΤΗ
64
+ ΧΑΡΤΗΣ: ΧΑΡΤΗ
33
65
  ΚΑΘΕΣΤΩΣ: ΚΑΘΕΣΤ
34
66
  ΚΑΘΕΣΤΩΤΟΣ: ΚΑΘΕΣΤ
35
67
  ΚΑΘΕΣΤΩΤΑ: ΚΑΘΕΣΤ
@@ -41,6 +73,8 @@ step_1_exceptions:
41
73
  ΕΥΑ: ΕΥ
42
74
 
43
75
  protected_words:
76
+ - ΑΓΟΡΙ
77
+ - ΑΚΟΥΣΤΙΚΑ
44
78
  - ΑΚΡΙΒΩΣ
45
79
  - ΑΛΑ
46
80
  - ΑΛΛΑ
@@ -60,17 +94,21 @@ protected_words:
60
94
  - ΑΠΟΨΕ
61
95
  - ΑΡΑ
62
96
  - ΑΡΑΓΕ
97
+ - ΑΡΚΑΣ
63
98
  - ΑΥΡΙΟ
64
99
  - ΑΦΟΙ
65
100
  - ΑΦΟΥ
66
101
  - ΑΦΟΤΟΥ
102
+ - ΒΙΟΛΟΓΟΣ
67
103
  - ΒΡΕ
104
+ - ΓΑΖΙ
68
105
  - ΓΕΙΑ
69
106
  - ΓΙΑ
70
107
  - ΓΙΑΤΙ
71
108
  - ΓΡΑΜΜΑ
72
109
  - ΔΕΗ
73
110
  - ΔΕΝ
111
+ - ΔΕΡΜΑΤΙΝΗ
74
112
  - ΔΗΛΑΔΗ
75
113
  - ΔΙΧΩΣ
76
114
  - ΔΥΟ
@@ -91,6 +129,7 @@ protected_words:
91
129
  - ΕΛΑ
92
130
  - ΕΜΑΣ
93
131
  - ΕΜΕΙΣ
132
+ - ΕΝΑ
94
133
  - ΕΝΤΕΛΩΣ
95
134
  - ΕΝΤΟΣ
96
135
  - ΕΝΤΩΜΕΤΑΞΥ
@@ -122,6 +161,7 @@ protected_words:
122
161
  - ΗΜΙ
123
162
  - ΗΠΑ
124
163
  - ΗΤΟΙ
164
+ - ΘΕΡΜΟΣ
125
165
  - ΘΕΣ
126
166
  - ΙΔΙΩΣ
127
167
  - ΙΔΗ
@@ -133,8 +173,10 @@ protected_words:
133
173
  - ΚΑΘΩΣ
134
174
  - ΚΑΙ
135
175
  - ΚΑΝ
176
+ - ΚΑΝΟ
136
177
  - ΚΑΠΟΤΕ
137
178
  - ΚΑΠΟΥ
179
+ - ΚΑΡΑΤΕ
138
180
  - ΚΑΤΑ
139
181
  - ΚΑΤΙ
140
182
  - ΚΑΤΟΠΙΝ
@@ -144,14 +186,21 @@ protected_words:
144
186
  - ΚΚΕ
145
187
  - ΚΟΛΑΝ
146
188
  - ΚΥΡΙΩΣ
189
+ - ΚΡΕΜΑ
147
190
  - ΚΩΣ
191
+ - ΛΑΒΑ
192
+ - ΛΙΒΑΝΗ
193
+ - ΜΑΓΙΟ
194
+ - ΜΑΓΙΩ
148
195
  - ΜΑΚΑΡΙ
196
+ - ΜΑΚΡΑΜΕ
149
197
  - ΜΑΛΙΣΤΑ
150
198
  - ΜΑΛΛΟΝ
151
199
  - ΜΑΙ
152
200
  - ΜΑΟ
153
201
  - ΜΑΟΥΣ
154
202
  - ΜΑΣ
203
+ - ΜΑΤΙ
155
204
  - ΜΕΘΑΥΡΙΟ
156
205
  - ΜΕΣ
157
206
  - ΜΕΣΑ
@@ -170,6 +219,7 @@ protected_words:
170
219
  - ΜΟΥ
171
220
  - ΜΠΑ
172
221
  - ΜΠΑΣ
222
+ - ΜΠΕΡΙ
173
223
  - ΜΠΕΤΟΝΙ
174
224
  - ΜΠΟΥΦΑΝ
175
225
  - ΜΠΡΟΣ
@@ -177,6 +227,7 @@ protected_words:
177
227
  - ΝΕΣ
178
228
  - ΝΤΑ
179
229
  - ΝΤΕ
230
+ - ΝΤΟΥΛΑΠΑ
180
231
  - ΞΑΝΑ
181
232
  - ΟΗΕ
182
233
  - ΟΚΤΩ
@@ -194,20 +245,26 @@ protected_words:
194
245
  - ΠΑΛΙ
195
246
  - ΠΑΝ
196
247
  - ΠΑΝΟ
248
+ - ΠΑΝΤΕΛΟΝΑ
197
249
  - ΠΑΝΤΟΤΕ
198
250
  - ΠΑΝΤΟΥ
199
251
  - ΠΑΝΤΩΣ
200
252
  - ΠΑΝΩ
201
253
  - ΠΑΡΑ
254
+ - ΠΑΝΙ
202
255
  - ΠΕΡΑ
203
256
  - ΠΕΡΙ
257
+ - ΠΕΡΛΕ
204
258
  - ΠΕΡΙΠΟΥ
259
+ - ΠΑΤΑΚΗ
260
+ - ΠΕΤΑΛΟ
205
261
  - ΠΙΑ
206
262
  - ΠΙΟ
207
263
  - ΠΙΣΩ
208
264
  - ΠΛΑΙ
209
265
  - ΠΛΕΟΝ
210
266
  - ΠΛΗΝ
267
+ - ΠΟΔΙ
211
268
  - ΠΟΤΕ
212
269
  - ΠΟΥ
213
270
  - ΠΡΟ
@@ -215,20 +272,25 @@ protected_words:
215
272
  - ΠΡΟΧΤΕΣ
216
273
  - ΠΡΟΧΘΕΣ
217
274
  - ΡΟΔΙ
275
+ - ΡΟΛΑ
276
+ - ΡΟΥΤΕΡ
218
277
  - ΠΩΣ
219
278
  - ΣΑΙ
220
279
  - ΣΑΣ
221
280
  - ΣΑΝ
222
281
  - ΣΕΙΣ
223
282
  - ΣΙΑ
224
- - ΣΚΙ
225
283
  - ΣΟΙ
226
284
  - ΣΟΥ
227
285
  - ΣΡΙ
286
+ - ΣΤΡΑΤΑ
287
+ - ΣΤΥΛΟ
228
288
  - ΣΥΝ
229
289
  - ΣΥΝΑΜΑ
230
290
  - ΣΧΕΔΟΝ
231
291
  - ΤΑΔΕ
292
+ - ΤΑΜΠΟΥΡΕ
293
+ - ΤΑΜΠΟΥΡΟ
232
294
  - ΤΑΞΙ
233
295
  - ΤΑΧΑ
234
296
  - ΤΕΙ
@@ -254,6 +316,8 @@ protected_words:
254
316
  - ΦΙΣ
255
317
  - ΦΛΟΤΕΡ
256
318
  - ΦΠΑ
319
+ - ΦΤΕΡΗ
320
+ - ΧΑΡΤΗ
257
321
  - ΧΑΦ
258
322
  - ΧΘΕΣ
259
323
  - ΧΤΕΣ
data/lib/greek_stemmer.rb CHANGED
@@ -21,9 +21,6 @@ module GreekStemmer
21
21
  end
22
22
  end
23
23
 
24
- # Transformations for step 1 words
25
- STEP_1_EXCEPTIONS = load_settings("step_1_exceptions")
26
-
27
24
  # Protected words
28
25
  PROTECTED_WORDS = load_settings("protected_words")
29
26
 
@@ -37,13 +34,14 @@ module GreekStemmer
37
34
  def stem(word)
38
35
  return word if word.length < 3
39
36
  stem = word.dup
37
+
40
38
  return stem if PROTECTED_WORDS.include?(stem) || !greek?(word)
41
39
 
42
- step_1_regexp = /(.*)(#{STEP_1_EXCEPTIONS.keys.join("|")})$/u
40
+ return step_0_exceptions[stem] if step_0_exceptions.include?(stem)
43
41
 
44
42
  # step 1
45
- stem.scan(step_1_regexp) do |st, suffix|
46
- stem = st + STEP_1_EXCEPTIONS[suffix]
43
+ stem.scan(step_1_regex) do |st, suffix|
44
+ stem = st + step_1_exceptions[suffix]
47
45
  end
48
46
 
49
47
  # step 2a
@@ -84,22 +82,27 @@ module GreekStemmer
84
82
  stem << "Ι" if ends_on_vowel?(st) || st.length < 2 || st=~ /^(ΑΓ|ΑΓΓΕΛ|ΑΓΡ|
85
83
  ΑΕΡ|ΑΘΛ|ΑΚΟΥΣ|ΑΞ|ΑΣ|Β|ΒΙΒΛ|ΒΥΤ|Γ|ΓΙΑΓ|ΓΩΝ|Δ|ΔΑΝ|ΔΗΛ|ΔΗΜ|
86
84
  ΔΟΚΙΜ|ΕΛ|ΖΑΧΑΡ|ΗΛ|ΗΠ|ΙΔ|ΙΣΚ|ΙΣΤ|ΙΟΝ|ΙΩΝ|ΚΙΜΩΛ|ΚΟΛΟΝ|ΚΟΡ|
87
- ΚΤΗΡ|ΚΥΡ|ΛΑΓ|ΛΟΓ|ΜΑΓ|ΜΠΑΝ|ΜΠΡ|ΝΑΥΤ|ΝΟΤ|ΟΠΑΛ|ΟΞ|ΟΡ|ΟΣ|ΠΑΝΑΓ|
88
- ΠΑΤΡ|ΠΗΛ|ΠΗΝ|ΠΛΑΙΣ|ΠΟΝΤ|ΡΑΔ|ΡΟΔ|ΣΚ|ΣΚΟΡΠ|ΣΟΥΝ|ΣΠΑΝ|ΣΤΑΔ|
89
- ΣΥΡ|ΤΗΛ|ΤΙΜ|ΤΟΚ|ΤΟΠ|ΤΡΟΧ|ΦΙΛ|ΦΩΤ|Χ|ΧΙΛ|ΧΡΩΜ|ΧΩΡ)$/ux
85
+ ΚΤΗΡ|ΚΥΡ|ΛΑΓ|ΛΟΓ|ΜΑΓ|ΜΠΑΝ|ΜΠΕΤΟΝ|ΜΠΡ|ΝΑΥΤ|ΝΟΤ|ΟΠΑΛ|ΟΞ|ΟΡ|ΟΣ|
86
+ ΠΑΝ|ΠΑΝΑΓ|ΠΑΤΡ|ΠΗΛ|ΠΗΝ|ΠΛΑΙΣ|ΠΟΝΤ|ΡΑΔ|ΡΟΔ|ΣΚ|ΣΚΟΡΠ|ΣΟΥΝ|ΣΠΑΝ|
87
+ ΣΤΑΔ|ΣΥΡ|ΤΗΛ|ΤΕΤΡΑΔ|ΤΙΜ|ΤΟΚ|ΤΟΠ|ΤΡΟΧ|ΦΙΛ|ΦΩΤ|Χ|ΧΙΛ|ΧΡΩΜ|ΧΩΡ)$/ux
90
88
  stem << "ΑΙ" if st =~ /^(ΠΑΛ)$/u
91
89
  end
92
90
 
93
91
  # step 4
94
92
  stem.scan(/^(.+?)(ΙΚΟΣ|ΙΚΟΝ|ΙΚΕΙΣ|ΙΚΟΙ|ΙΚΕΣ|ΙΚΟΥΣ|ΙΚΗ|ΙΚΗΣ|ΙΚΟ|ΙΚΑ|ΙΚΟΥ|ΙΚΩΝ|ΙΚΩΣ)$/u) do |st, suffix|
95
93
  stem = st
96
- stem << "ΙΚ" if ends_on_vowel?(st) || st =~ /^(ΑΔ|ΑΛ|ΑΜΑΝ|ΑΜΕΡ|ΑΜΜΟΧΑΛ|
97
- ΑΝΗΘ|ΑΝΤΙΔ|ΑΠΛ|ΑΤΤ|ΑΦΡ|ΒΑΣ|ΒΡΩΜ|ΓΕΝ|ΓΕΡ|Δ|ΔΙΚΑΝ|ΔΥΤ|ΕΙΔ|
98
- ΕΝΔ|ΕΞΩΔ|ΗΘ|ΘΕΤ|ΚΑΛΛΙΝ|ΚΑΛΠ|ΚΑΤΑΔ|ΚΟΥΖΙΝ|ΚΡ|ΚΩΔ|ΛΟΓ|Μ|ΜΕΡ|
99
- ΜΟΝΑΔ|ΜΟΥΛ|ΜΟΥΣ|ΜΠΑΓΙΑΤ|ΜΠΑΝ|ΜΠΟΛ|ΜΠΟΣ|ΜΥΣΤ|Ν|ΝΙΤ|ΞΙΚ|ΟΠΤ|
100
- ΠΑΝ|ΠΕΤΣ|ΠΙΚΑΝΤ|ΠΙΤΣ|ΠΛΑΣΤ|ΠΛΙΑΤΣ|ΠΟΝΤ|ΠΟΣΤΕΛΝ|ΠΡΩΤΟΔ|ΣΕΡΤ|
101
- ΣΗΜΑΝΤ|ΣΤΑΤ|ΣΥΝΑΔ|ΣΥΝΟΜΗΛ|ΤΕΛ|ΤΕΧΝ|ΤΡΟΠ|ΤΣΑΜ|ΥΠΟΔ|Φ|ΦΙΛΟΝ|
102
- ΦΥΛΟΔ|ΦΥΣ|ΧΑΣ)$/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
103
106
  end
104
107
 
105
108
  # step 5a
@@ -261,6 +264,21 @@ module GreekStemmer
261
264
 
262
265
  private
263
266
 
267
+ # Top-level stemming exceptions for full words
268
+ def step_0_exceptions
269
+ @step_0_exceptions ||= load_settings("step_0_exceptions")
270
+ end
271
+
272
+ # Transformations for step 1 suffixes
273
+ def step_1_exceptions
274
+ @step_1_exceptions ||= load_settings("step_1_exceptions")
275
+ end
276
+
277
+ # Regex matching terms having step 1 exceptions as suffix
278
+ def step_1_regex
279
+ @step_1_regex ||= /(.*)(#{step_1_exceptions.keys.join("|")})$/u
280
+ end
281
+
264
282
  def ends_on_vowel?(word)
265
283
  word =~ /[ΑΕΗΙΟΥΩ]$/u
266
284
  end
@@ -277,7 +295,13 @@ module GreekStemmer
277
295
  ΗΚΑΤΕ|ΗΚΑΝ|ΗΣ|ΗΣΑΝ|ΗΣΑΤΕ|ΗΣΕΙ|ΗΣΕΣ|ΗΣΟΥΝ|ΗΣΩ|Ο|ΟΙ|ΟΜΑΙ|ΟΜΑΣΤΑΝ|ΟΜΟΥΝ|ΟΜΟΥΝΑ|
278
296
  ΟΝΤΑΙ|ΟΝΤΑΝ|ΟΝΤΟΥΣΑΝ|ΟΣ|ΟΣΑΣΤΑΝ|ΟΣΑΣΤΕ|ΟΣΟΥΝ|ΟΣΟΥΝΑ|ΟΤΑΝ|ΟΥ|ΟΥΜΑΙ|ΟΥΜΑΣΤΕ|
279
297
  ΟΥΝ|ΟΥΝΤΑΙ|ΟΥΝΤΑΝ|ΟΥΣ|ΟΥΣΑΝ|ΟΥΣΑΤΕ|Υ||ΥΑ|ΥΣ|Ω|ΩΝ|ΟΙΣ)$/ux) do |st, suffix|
298
+ return word if word == 'ΠΑΣΧΑ'
280
299
  word = st
300
+ if st =~ /^(ΣΠΟΡ)$/u && suffix != ''
301
+ word << "Ο"
302
+ elsif st =~ /^(ΠΑΣΧΑΛΙΝ)$/u && suffix != ''
303
+ word = 'ΠΑΣΧΑ'
304
+ end
281
305
  end
282
306
  word
283
307
  end
@@ -1,3 +1,3 @@
1
1
  module GreekStemmer
2
- VERSION = "1.1.9"
2
+ VERSION = "1.3.2"
3
3
  end
@@ -5,6 +5,8 @@ require "yaml"
5
5
  describe GreekStemmer do
6
6
  describe "#stem" do
7
7
  let(:words) { YAML.load_file('spec/fixtures/examples.yml') }
8
+ let(:config) { YAML.load_file('config/stemmer.yml') }
9
+
8
10
  it "stems words correctly" do
9
11
  words.each_pair do |word, stem|
10
12
  expect(described_class.stem(word)).to eq(stem)
@@ -16,5 +18,19 @@ describe GreekStemmer do
16
18
  expect(described_class.stem("englishΟΣ")).to eq("englishΟΣ")
17
19
  end
18
20
  end
21
+
22
+ context 'exceptions' do
23
+ it 'does not stem protected words' do
24
+ config['protected_words'].each do |word|
25
+ expect(described_class.stem(word)).to eq(word)
26
+ end
27
+ end
28
+
29
+ it 'correctly stems 0-level exceptions' do
30
+ config['step_0_exceptions'].each_pair do |word, stem|
31
+ expect(described_class.stem(word)).to eq(stem)
32
+ end
33
+ end
34
+ end
19
35
  end
20
36
  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.1.9
4
+ version: 1.3.2
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: 2016-05-26 00:00:00.000000000 Z
12
+ date: 2021-03-26 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: bundler
@@ -109,8 +109,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
109
109
  - !ruby/object:Gem::Version
110
110
  version: '0'
111
111
  requirements: []
112
- rubyforge_project:
113
- rubygems_version: 2.4.7
112
+ rubygems_version: 3.1.4
114
113
  signing_key:
115
114
  specification_version: 4
116
115
  summary: A simple Greek stemmer
@@ -118,4 +117,3 @@ test_files:
118
117
  - spec/fixtures/examples.yml
119
118
  - spec/greek_stemmer_spec.rb
120
119
  - spec/spec_helper.rb
121
- has_rdoc: