57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
|
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
|
-
+
|
def getSimil (sWord, sMorph, sFilter=None):
if ":V" not in sMorph:
return set()
sInfi = sMorph[1:sMorph.find(" ")]
tTags = _getTags(sInfi)
aSugg = set()
if ":Q" in sMorph:
if ":Q" in sMorph or ":Y" in sMorph:
# we suggest conjugated forms
if ":V1" in sMorph:
aSugg.add(sInfi)
aSugg.add(_getConjWithTags(sInfi, tTags, ":Ip", ":3s"))
aSugg.add(_getConjWithTags(sInfi, tTags, ":Ip", ":2p"))
aSugg.add(_getConjWithTags(sInfi, tTags, ":Iq", ":1s"))
aSugg.add(_getConjWithTags(sInfi, tTags, ":Iq", ":3s"))
|
91
92
93
94
95
96
97
98
99
100
101
102
103
104
|
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
|
+
+
|
aSugg.add(_getConjWithTags(sInfi, tTags, ":PQ", ":Q2"))
aSugg.add(_getConjWithTags(sInfi, tTags, ":PQ", ":Q3"))
aSugg.add(_getConjWithTags(sInfi, tTags, ":PQ", ":Q4"))
aSugg.discard("")
# if there is only one past participle (epi inv), unreliable.
if len(aSugg) == 1:
aSugg.clear()
if ":V1" in sMorph:
aSugg.add(sInfi)
return aSugg
def getConjSimilInfiV1 (sInfi):
if sInfi not in _dVerb:
return set()
tTags = _getTags(sInfi)
|