-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathstopwords.php
More file actions
94 lines (82 loc) · 4.91 KB
/
Copy pathstopwords.php
File metadata and controls
94 lines (82 loc) · 4.91 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
<?php
/**
* Yiddish function words, for frequency lists
*/
/** @return array<string,true> match keys to skip, as a lookup set */
function yiStopWords(): array
{
static $set = null;
if ($set !== null) {
return $set;
}
$words = [
// articles and determiners
'אַ', 'אַן', 'דער', 'די', 'דאָס', 'דעם', 'דען',
'אַלע', 'אַלץ', 'אַלעס', 'יעדער', 'יעדע', 'יעדן',
'קײן', 'קיין', 'אַזאַ', 'סאַ',
// personal pronouns and their case forms
'איך', 'מיך', 'מיר', 'דו', 'דיך', 'דיר', 'ער', 'אים',
'זי', 'איר', 'עס', 'מיר', 'אונדז', 'אונז', 'איר',
'זײ', 'זיי', 'זײער', 'זייער', 'מען', 'זיך',
'אײַך', 'אייך', 'אײַער', 'אייער', 'אײַערע', 'אייערע',
// possessives
'מײַן', 'מיין', 'מײַנע', 'מיינע', 'מײַנער', 'דײַן', 'דיין',
'דײַנע', 'דיינע', 'זײַן', 'זיין', 'זײַנע', 'זיינע',
'אירע', 'אונדזער', 'אונזער',
// prepositions
'אין', 'פֿון', 'פון', 'מיט', 'אױף', 'אויף', 'אױפֿן', 'אויפן',
'צו', 'צום', 'צור', 'פֿאַר', 'פאר', 'נאָך', 'בײַ', 'ביי',
'אָן', 'איבער', 'אונטער', 'דורך', 'געגן', 'קעגן', 'אַרום',
'צװישן', 'צווישן', 'ביז', 'אָנ׳ם', 'אין׳ם', 'אינעם', 'פֿונעם',
'פונעם', 'מיטן', 'פֿאַרן', 'פארן', 'נעבן', 'אַנטקעגן',
'לױט', 'לויט', 'װעגן', 'וועגן', 'אױס', 'אויס', 'אַרױס', 'ארויס',
'אַרײַן', 'אריין',
// preposition + article, written as one word. Easy to miss because
// each is individually uncommon, but together they are everywhere:
// בײַם alone is the 6th commonest word in מאָניש.
'בײַם', 'ביים', 'נאָכן', 'נאכן', 'אונטערן', 'איבערן', 'הינטערן',
'דורכן', 'אַרומן', 'געגנן', 'צװישן', 'אױסן', 'אויסן', 'אָנעם',
'איבערם', 'אונטערם', 'פֿאַרם', 'פארם', 'מיטם', 'אױפֿם', 'אויפם',
// conjunctions and complementisers
'און', 'אָדער', 'אדער', 'אָבער', 'אבער', 'װײַל', 'ווייל',
'אַז', 'אױב', 'אויב', 'װען', 'ווען', 'װי', 'ווי', 'װאָס', 'וואס',
'װער', 'ווער', 'נאָר', 'צי', 'הגם', 'כאָטש', 'כאטש',
'סײַ', 'סיי', 'טאָ', 'דען',
// copula, auxiliaries, modals
'איז', 'זײַנען', 'זיינען', 'זענען', 'זײַנעץ', 'בין', 'ביסט', 'זײַט',
'זייט', 'געװען', 'געווען', 'זײַן', 'זיין',
'האָב', 'האָסט', 'האָט', 'האָבן', 'האבן', 'געהאַט', 'האָבנ',
'װעל', 'וועל', 'װעסט', 'וועסט', 'װעט', 'וועט', 'װעלן', 'וועלן',
'װאָלט', 'וואלט', 'װאָלטן',
'װער', 'װערט', 'ווערט', 'װערן', 'ווערן', 'געװאָרן', 'געווארן',
'זאָל', 'זאל', 'זאָלן', 'קען', 'קענען', 'קאָן', 'מוז', 'מוזן',
'לאָז', 'לאז', 'לאָזן', 'מעג', 'דאַרף', 'דארף', 'טוט', 'טו', 'טוען',
// negation and common particles
'נישט', 'ניט', 'נײן', 'ניין', 'קײנער', 'קיינער', 'גאָרנישט',
'גארנישט', 'נאָר', 'שױן', 'שוין', 'נאָך', 'אױך', 'אויך',
'אַזױ', 'אזוי', 'זײער', 'זייער', 'גאַנץ', 'גאָר', 'גאר',
'טאַקע', 'טאקע', 'דאָך', 'דאך', 'זשע', 'עפּעס', 'עפעס',
'װידער', 'ווידער', 'ערשט', 'בלױז', 'בלויז', 'אַפֿילו', 'אפילו',
'צוליב', 'דערפֿאַר', 'דערפאר',
// existential and expletive contractions
'ס׳איז', 'ס׳האָט', 'ס׳װעט', 'ס׳זײַנען', 'מ׳האָט', 'מ׳זאָל',
'כ׳האָב', 'כ׳בין', 'כ׳װעל', 'ס', 'כ', 'מ', 'ז',
];
// Fold to match keys, exactly as the indexer folds the corpus. Written
// in normal spelling above so the list stays readable; ligature and
// final-letter forms both collapse here, so אין and אינ, זײַן and זיין
// need not be listed separately — though several are, harmlessly.
$set = [];
foreach ($words as $w) {
$k = function_exists('corpusNormalize') ? corpusNormalize($w) : $w;
if ($k !== '') {
$set[$k] = true;
}
}
return $set;
}
/** How many entries the list resolves to. For the admin report. */
function yiStopWordCount(): int
{
return count(yiStopWords());
}