greek_stemmer 1.1.10 → 1.3.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/README.md +5 -3
- data/benchmarks/stemming_sample.txt +53 -51
- data/config/stemmer.yml +66 -1
- data/lib/greek_stemmer.rb +39 -15
- data/lib/greek_stemmer/version.rb +1 -1
- data/spec/greek_stemmer_spec.rb +16 -0
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 7104effe556060dc02995f471df621a24aa6862e7da83d7601541ab1384ae34b
|
4
|
+
data.tar.gz: 14eb1289ab51891b839bec2ce567b43f3ed83461eefc9d8a92325b9b4fcc9c3f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e3331b036cdb5c817352936c8fc62aaf696f93e28b54ead6a677b09fc070b23e0dfd097b7c8bfbb3ae9b55f5b2ba55cd4aabea811934284eab900e640e153e32
|
7
|
+
data.tar.gz: 5090c4828dbd770f9cb478e0e5bad163c32efb90ce17bf7b96023e954629f3f7c2337375662a7b8cf32cf5a0c6e470e7e4145ef7de4e834c9410a5ab75d78810
|
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.
|
45
|
-
|
46
|
-
|
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,9 @@ step_1_exceptions:
|
|
41
73
|
ΕΥΑ: ΕΥ
|
42
74
|
|
43
75
|
protected_words:
|
76
|
+
- ΘΑΛΑΣΣΗΣ
|
77
|
+
- ΑΓΟΡΙ
|
78
|
+
- ΑΚΟΥΣΤΙΚΑ
|
44
79
|
- ΑΚΡΙΒΩΣ
|
45
80
|
- ΑΛΑ
|
46
81
|
- ΑΛΛΑ
|
@@ -60,17 +95,21 @@ protected_words:
|
|
60
95
|
- ΑΠΟΨΕ
|
61
96
|
- ΑΡΑ
|
62
97
|
- ΑΡΑΓΕ
|
98
|
+
- ΑΡΚΑΣ
|
63
99
|
- ΑΥΡΙΟ
|
64
100
|
- ΑΦΟΙ
|
65
101
|
- ΑΦΟΥ
|
66
102
|
- ΑΦΟΤΟΥ
|
103
|
+
- ΒΙΟΛΟΓΟΣ
|
67
104
|
- ΒΡΕ
|
105
|
+
- ΓΑΖΙ
|
68
106
|
- ΓΕΙΑ
|
69
107
|
- ΓΙΑ
|
70
108
|
- ΓΙΑΤΙ
|
71
109
|
- ΓΡΑΜΜΑ
|
72
110
|
- ΔΕΗ
|
73
111
|
- ΔΕΝ
|
112
|
+
- ΔΕΡΜΑΤΙΝΗ
|
74
113
|
- ΔΗΛΑΔΗ
|
75
114
|
- ΔΙΧΩΣ
|
76
115
|
- ΔΥΟ
|
@@ -91,6 +130,7 @@ protected_words:
|
|
91
130
|
- ΕΛΑ
|
92
131
|
- ΕΜΑΣ
|
93
132
|
- ΕΜΕΙΣ
|
133
|
+
- ΕΝΑ
|
94
134
|
- ΕΝΤΕΛΩΣ
|
95
135
|
- ΕΝΤΟΣ
|
96
136
|
- ΕΝΤΩΜΕΤΑΞΥ
|
@@ -122,6 +162,7 @@ protected_words:
|
|
122
162
|
- ΗΜΙ
|
123
163
|
- ΗΠΑ
|
124
164
|
- ΗΤΟΙ
|
165
|
+
- ΘΕΡΜΟΣ
|
125
166
|
- ΘΕΣ
|
126
167
|
- ΙΔΙΩΣ
|
127
168
|
- ΙΔΗ
|
@@ -133,8 +174,10 @@ protected_words:
|
|
133
174
|
- ΚΑΘΩΣ
|
134
175
|
- ΚΑΙ
|
135
176
|
- ΚΑΝ
|
177
|
+
- ΚΑΝΟ
|
136
178
|
- ΚΑΠΟΤΕ
|
137
179
|
- ΚΑΠΟΥ
|
180
|
+
- ΚΑΡΑΤΕ
|
138
181
|
- ΚΑΤΑ
|
139
182
|
- ΚΑΤΙ
|
140
183
|
- ΚΑΤΟΠΙΝ
|
@@ -144,14 +187,21 @@ protected_words:
|
|
144
187
|
- ΚΚΕ
|
145
188
|
- ΚΟΛΑΝ
|
146
189
|
- ΚΥΡΙΩΣ
|
190
|
+
- ΚΡΕΜΑ
|
147
191
|
- ΚΩΣ
|
192
|
+
- ΛΑΒΑ
|
193
|
+
- ΛΙΒΑΝΗ
|
194
|
+
- ΜΑΓΙΟ
|
195
|
+
- ΜΑΓΙΩ
|
148
196
|
- ΜΑΚΑΡΙ
|
197
|
+
- ΜΑΚΡΑΜΕ
|
149
198
|
- ΜΑΛΙΣΤΑ
|
150
199
|
- ΜΑΛΛΟΝ
|
151
200
|
- ΜΑΙ
|
152
201
|
- ΜΑΟ
|
153
202
|
- ΜΑΟΥΣ
|
154
203
|
- ΜΑΣ
|
204
|
+
- ΜΑΤΙ
|
155
205
|
- ΜΕΘΑΥΡΙΟ
|
156
206
|
- ΜΕΣ
|
157
207
|
- ΜΕΣΑ
|
@@ -170,6 +220,7 @@ protected_words:
|
|
170
220
|
- ΜΟΥ
|
171
221
|
- ΜΠΑ
|
172
222
|
- ΜΠΑΣ
|
223
|
+
- ΜΠΕΡΙ
|
173
224
|
- ΜΠΕΤΟΝΙ
|
174
225
|
- ΜΠΟΥΦΑΝ
|
175
226
|
- ΜΠΡΟΣ
|
@@ -177,6 +228,7 @@ protected_words:
|
|
177
228
|
- ΝΕΣ
|
178
229
|
- ΝΤΑ
|
179
230
|
- ΝΤΕ
|
231
|
+
- ΝΤΟΥΛΑΠΑ
|
180
232
|
- ΞΑΝΑ
|
181
233
|
- ΟΗΕ
|
182
234
|
- ΟΚΤΩ
|
@@ -194,20 +246,26 @@ protected_words:
|
|
194
246
|
- ΠΑΛΙ
|
195
247
|
- ΠΑΝ
|
196
248
|
- ΠΑΝΟ
|
249
|
+
- ΠΑΝΤΕΛΟΝΑ
|
197
250
|
- ΠΑΝΤΟΤΕ
|
198
251
|
- ΠΑΝΤΟΥ
|
199
252
|
- ΠΑΝΤΩΣ
|
200
253
|
- ΠΑΝΩ
|
201
254
|
- ΠΑΡΑ
|
255
|
+
- ΠΑΝΙ
|
202
256
|
- ΠΕΡΑ
|
203
257
|
- ΠΕΡΙ
|
258
|
+
- ΠΕΡΛΕ
|
204
259
|
- ΠΕΡΙΠΟΥ
|
260
|
+
- ΠΑΤΑΚΗ
|
261
|
+
- ΠΕΤΑΛΟ
|
205
262
|
- ΠΙΑ
|
206
263
|
- ΠΙΟ
|
207
264
|
- ΠΙΣΩ
|
208
265
|
- ΠΛΑΙ
|
209
266
|
- ΠΛΕΟΝ
|
210
267
|
- ΠΛΗΝ
|
268
|
+
- ΠΟΔΙ
|
211
269
|
- ΠΟΤΕ
|
212
270
|
- ΠΟΥ
|
213
271
|
- ΠΡΟ
|
@@ -215,20 +273,25 @@ protected_words:
|
|
215
273
|
- ΠΡΟΧΤΕΣ
|
216
274
|
- ΠΡΟΧΘΕΣ
|
217
275
|
- ΡΟΔΙ
|
276
|
+
- ΡΟΛΑ
|
277
|
+
- ΡΟΥΤΕΡ
|
218
278
|
- ΠΩΣ
|
219
279
|
- ΣΑΙ
|
220
280
|
- ΣΑΣ
|
221
281
|
- ΣΑΝ
|
222
282
|
- ΣΕΙΣ
|
223
283
|
- ΣΙΑ
|
224
|
-
- ΣΚΙ
|
225
284
|
- ΣΟΙ
|
226
285
|
- ΣΟΥ
|
227
286
|
- ΣΡΙ
|
287
|
+
- ΣΤΡΑΤΑ
|
288
|
+
- ΣΤΥΛΟ
|
228
289
|
- ΣΥΝ
|
229
290
|
- ΣΥΝΑΜΑ
|
230
291
|
- ΣΧΕΔΟΝ
|
231
292
|
- ΤΑΔΕ
|
293
|
+
- ΤΑΜΠΟΥΡΕ
|
294
|
+
- ΤΑΜΠΟΥΡΟ
|
232
295
|
- ΤΑΞΙ
|
233
296
|
- ΤΑΧΑ
|
234
297
|
- ΤΕΙ
|
@@ -254,6 +317,8 @@ protected_words:
|
|
254
317
|
- ΦΙΣ
|
255
318
|
- ΦΛΟΤΕΡ
|
256
319
|
- ΦΠΑ
|
320
|
+
- ΦΤΕΡΗ
|
321
|
+
- ΧΑΡΤΗ
|
257
322
|
- ΧΑΦ
|
258
323
|
- ΧΘΕΣ
|
259
324
|
- ΧΤΕΣ
|
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
|
-
|
40
|
+
return step_0_exceptions[stem] if step_0_exceptions.include?(stem)
|
43
41
|
|
44
42
|
# step 1
|
45
|
-
stem.scan(
|
46
|
-
stem = st +
|
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
|
@@ -85,21 +83,26 @@ module GreekStemmer
|
|
85
83
|
ΑΕΡ|ΑΘΛ|ΑΚΟΥΣ|ΑΞ|ΑΣ|Β|ΒΙΒΛ|ΒΥΤ|Γ|ΓΙΑΓ|ΓΩΝ|Δ|ΔΑΝ|ΔΗΛ|ΔΗΜ|
|
86
84
|
ΔΟΚΙΜ|ΕΛ|ΖΑΧΑΡ|ΗΛ|ΗΠ|ΙΔ|ΙΣΚ|ΙΣΤ|ΙΟΝ|ΙΩΝ|ΚΙΜΩΛ|ΚΟΛΟΝ|ΚΟΡ|
|
87
85
|
ΚΤΗΡ|ΚΥΡ|ΛΑΓ|ΛΟΓ|ΜΑΓ|ΜΠΑΝ|ΜΠΕΤΟΝ|ΜΠΡ|ΝΑΥΤ|ΝΟΤ|ΟΠΑΛ|ΟΞ|ΟΡ|ΟΣ|
|
88
|
-
|
89
|
-
|
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
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
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
|
data/spec/greek_stemmer_spec.rb
CHANGED
@@ -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.
|
4
|
+
version: 1.3.3
|
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: 2021-04-08 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.7.6.2
|
114
114
|
signing_key:
|
115
115
|
specification_version: 4
|
116
116
|
summary: A simple Greek stemmer
|