1
0
forked from GitHub/gf-core

bug fix in stemmed/NounFin with sp forms of IndefArt

This commit is contained in:
aarne
2013-03-30 17:07:57 +00:00
parent c2f2fc66a7
commit 68bf1cc2f9
4 changed files with 17 additions and 7 deletions

View File

@@ -243,7 +243,8 @@ oper
<Anter,Pos> => vf (olla ! p) part ; --# notpresent <Anter,Pos> => vf (olla ! p) part ; --# notpresent
<Anter,Neg> => vf ei (ole ++ part) ; --# notpresent <Anter,Neg> => vf ei (ole ++ part) ; --# notpresent
<Simul,Neg> => vf ei neg <Simul,Neg> => vf ei neg
} } ;
passPol = case b of {Pos => True ; Neg => False} ;
in in
case vi of { case vi of {
VIFin Past => mkvf (Impf agr.n agr.p) ; --# notpresent VIFin Past => mkvf (Impf agr.n agr.p) ; --# notpresent
@@ -251,7 +252,7 @@ oper
VIFin Fut => mkvf (Presn agr.n agr.p) ; --# notpresent VIFin Fut => mkvf (Presn agr.n agr.p) ; --# notpresent
VIFin Pres => mkvf (Presn agr.n agr.p) ; VIFin Pres => mkvf (Presn agr.n agr.p) ;
VIImper => mkvf (Imper agr.n) ; VIImper => mkvf (Imper agr.n) ;
VIPass => mkvf (Pass True) ; VIPass => mkvf (Pass passPol) ;
VIInf i => mkvf (Inf i) VIInf i => mkvf (Inf i)
} ; } ;

View File

@@ -89,7 +89,7 @@ concrete NounFin of Noun = CatFin ** open ResFin, MorphoFin, StemFin, Prelude in
DetQuantOrd quant num ord = { DetQuantOrd quant num ord = {
s1 = \\c => quant.s1 ! num.n ! c ++ num.s ! Sg ! c ++ ord.s ! NCase num.n c ; s1 = \\c => quant.s1 ! num.n ! c ++ num.s ! Sg ! c ++ ord.s ! NCase num.n c ;
sp = \\c => quant.sp ! num.n ! c ++ num.s ! Sg ! c ++ ord.s ! NCase num.n c ; sp = \\c => quant.s1 ! num.n ! c ++ num.s ! Sg ! c ++ ord.s ! NCase num.n c ;
s2 = quant.s2 ; s2 = quant.s2 ;
n = num.n ; n = num.n ;
isNum = num.isNum ; isNum = num.isNum ;
@@ -100,7 +100,10 @@ concrete NounFin of Noun = CatFin ** open ResFin, MorphoFin, StemFin, Prelude in
DetQuant quant num = { DetQuant quant num = {
s1 = \\c => quant.s1 ! num.n ! c ++ num.s ! Sg ! c ; s1 = \\c => quant.s1 ! num.n ! c ++ num.s ! Sg ! c ;
sp = \\c => quant.sp ! num.n ! c ++ num.s ! Sg ! c ; sp = \\c => case num.isNum of {
True => quant.s1 ! num.n ! c ++ num.s ! Sg ! c ; -- 0 kolme with Indef
False => quant.sp ! num.n ! c ++ num.s ! Sg ! c -- yksi 0
} ;
s2 = quant.s2 ; s2 = quant.s2 ;
n = num.n ; n = num.n ;
isNum = num.isNum ; -- case num.n of {Sg => False ; _ => True} ; isNum = num.isNum ; -- case num.n of {Sg => False ; _ => True} ;

View File

@@ -58,7 +58,10 @@ lin
oper oper
passVPSlash : VPSlash -> ResFin.VP = \vp -> lin VP { passVPSlash : VPSlash -> ResFin.VP = \vp -> lin VP {
s = \\_ => vp.s ! VIPass ; s = \\vif,ant,pol,agr => case pol of {
Pos => vp.s ! VIPass ! ant ! pol ! agr ;
Neg => vp.s ! VIPass ! ant ! pol ! agr
} ;
s2 = vp.s2 ; s2 = vp.s2 ;
adv = vp.adv ; adv = vp.adv ;
ext = vp.ext ; ext = vp.ext ;
@@ -143,8 +146,8 @@ lin
-- [CompVP] -- [CompVP]
-- [EmptyRelSlash] -- [EmptyRelSlash]
-- [GenRP] -- [GenRP]
[GerundAP] -- [GerundAP]
[GerundN] -- [GerundN]
-- [OrdCompar] -- [OrdCompar]
-- [PositAdVAdj] -- [PositAdVAdj]
-- [PredVPovs] -- [PredVPovs]

View File

@@ -97,4 +97,7 @@ Also changed the default genitive of symbol (+n) to +in, to be uniform with the
in a consonant: Inteln -> Intelin. But a proper morphological analysis with dynamic lex extension is what would in a consonant: Inteln -> Intelin. But a proper morphological analysis with dynamic lex extension is what would
really be needed. really be needed.
Fixed NounFin.IndefArt, which erroneously added "yksi" to the substantival form of numeral determiners. This changed 125
linearizations - but there are some mistaken parses of numbers in the treebank, in particular years.