-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathqz_heuristic.py
50 lines (40 loc) · 1.52 KB
/
qz_heuristic.py
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
# === Quechua specific heuristics BEGIN
nonprefixes_qz = []
nonprefixes_dict_qz={}
common_suffixes_qz = [
"cha", "chi", "chka", "chra", "chu", "chá",
"hina",
"kama", "kta", "kuna", "ku"
"lla"
"m", "man", "manta", "mi", "mu",
"na", "naku", "naya", "nchik", "nchis", "nku", "nnaq", "ntin",
"p", "pa", "paq", "pas", "paya", "pi", "pis", "pti", "puni", "pura",
"qa", "qti",
"raq", "rayku", "ri", "rqa", "rqu", "sa", "sh", "sha", "shi", "si", "spa", "sqa"
"ta", "taq",
"wan",
"ya", "ykacha", "yki", "ykichik", "ykichis", "yku", "yna", "yoq", "ysi", "yuq",
"ña", "ñiqi"]
common_endings_qz = ["n", "q", "s"]
for v in nonprefixes_qz:
nonprefixes_dict_qz[v]=1
def is_good_root_qz(part,word):
if part in ["noqa", "qan", "pay"]: return True
return len(part)>3 and is_good_part_generic(part)
def is_good_postfix_qz(part):
if len(part)<=7:
return is_good_ending_qz(part)
else:
for suffix in common_suffixes_qz:
if suffix in part:
return True
if containsvowel(part[0]):
return False
if not is_good_part_generic(part):
return False
return True
def is_good_ending_qz(part):
return part in common_suffixes_qz
def is_good_prefix_qz(part):
return is_good_part_generic(part)
# === Quechua specific heuristics END