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
|
return s1 + " et " + s2
def apposition (sWord1, sWord2):
"returns True if nom + nom (no agreement required)"
return len(sWord2) < 2 or (cr.mbNomNotAdj(_oSpellChecker.getMorph(sWord2)) and cr.mbPpasNomNotAdj(_oSpellChecker.getMorph(sWord1)))
def isAmbiguousNAV (sWord):
"words which are nom|adj and verb are ambiguous (except être and avoir)"
lMorph = _oSpellChecker.getMorph(sWord)
if not cr.mbNomAdj(lMorph) or sWord == "est":
return False
if cr.mbVconj(lMorph) and not cr.mbMG(lMorph):
return True
return False
def isAmbiguousAndWrong (sWord1, sWord2, sReqMorphNA, sReqMorphConj):
"use it if <sWord1> won’t be a verb; <sWord2> is assumed to be True via isAmbiguousNAV"
lMorph2 = _oSpellChecker.getMorph(sWord2)
if not lMorph2:
return False
if cr.checkConjVerb(lMorph2, sReqMorphConj):
# verb word2 is ok
return False
lMorph1 = _oSpellChecker.getMorph(sWord1)
if not lMorph1:
return False
if cr.checkAgreement(lMorph1, lMorph2) and (cr.mbAdj(lMorph2) or cr.mbAdj(lMorph1)):
return False
return True
def isVeryAmbiguousAndWrong (sWord1, sWord2, sReqMorphNA, sReqMorphConj, bLastHopeCond):
"use it if <sWord1> can be also a verb; <sWord2> is assumed to be True via isAmbiguousNAV"
lMorph2 = _oSpellChecker.getMorph(sWord2)
if not lMorph2:
return False
if cr.checkConjVerb(lMorph2, sReqMorphConj):
|
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
|
36
37
38
39
40
41
42
43
44
45
46
47
48
49
|
return s1 + " et " + s2
def apposition (sWord1, sWord2):
"returns True if nom + nom (no agreement required)"
return len(sWord2) < 2 or (cr.mbNomNotAdj(_oSpellChecker.getMorph(sWord2)) and cr.mbPpasNomNotAdj(_oSpellChecker.getMorph(sWord1)))
def isVeryAmbiguousAndWrong (sWord1, sWord2, sReqMorphNA, sReqMorphConj, bLastHopeCond):
"use it if <sWord1> can be also a verb; <sWord2> is assumed to be True via isAmbiguousNAV"
lMorph2 = _oSpellChecker.getMorph(sWord2)
if not lMorph2:
return False
if cr.checkConjVerb(lMorph2, sReqMorphConj):
|
84
85
86
87
88
89
90
91
92
93
94
95
96
97
|
if cr.isNomAdj(lMorph1):
return True
#if cr.isNomAdjVerb(lMorph1): # considered True
if bLastHopeCond:
return True
return False
def checkAgreement (sWord1, sWord2):
"check agreement between <sWord1> and <sWord1>"
lMorph2 = _oSpellChecker.getMorph(sWord2)
if not lMorph2:
return True
lMorph1 = _oSpellChecker.getMorph(sWord1)
|
>
>
>
>
>
>
>
>
>
>
>
|
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
|
if cr.isNomAdj(lMorph1):
return True
#if cr.isNomAdjVerb(lMorph1): # considered True
if bLastHopeCond:
return True
return False
def g_checkAgreement (dToken1, dToken2):
"check agreement between <dToken1> and <dToken2>"
lMorph1 = dToken1["lMorph"] if "lMorph" in dToken1 else _oSpellChecker.getMorph(dToken1["sValue"])
if not lMorph1:
return True
lMorph2 = dToken2["lMorph"] if "lMorph" in dToken2 else _oSpellChecker.getMorph(dToken2["sValue"])
if not lMorph2:
return True
return cr.checkAgreement(lMorph1, lMorph2)
def checkAgreement (sWord1, sWord2):
"check agreement between <sWord1> and <sWord1>"
lMorph2 = _oSpellChecker.getMorph(sWord2)
if not lMorph2:
return True
lMorph1 = _oSpellChecker.getMorph(sWord1)
|