forked from GitHub/gf-core
ChunkSwe in place
This commit is contained in:
@@ -17,6 +17,7 @@ fun
|
||||
Adv_Chunk : Adv -> Chunk ;
|
||||
AdV_Chunk : AdV -> Chunk ;
|
||||
AdN_Chunk : AdN -> Chunk ;
|
||||
Cl_Chunk : PrCl_none -> Chunk ;
|
||||
CN_Pl_Chunk : CN -> Chunk ;
|
||||
CN_Sg_Chunk : CN -> Chunk ;
|
||||
CN_Pl_Gen_Chunk : CN -> Chunk ;
|
||||
@@ -24,25 +25,37 @@ fun
|
||||
Conj_Chunk : Conj -> Chunk ;
|
||||
IAdv_Chunk : IAdv -> Chunk ;
|
||||
IP_Chunk : IP -> Chunk ;
|
||||
NP_Chunk : NP -> Chunk ;
|
||||
NP_Nom_Chunk : NP -> Chunk ;
|
||||
NP_Acc_Chunk : NP -> Chunk ;
|
||||
NP_Gen_Chunk : NP -> Chunk ;
|
||||
Numeral_Chunk : Numeral -> Chunk ;
|
||||
Ord_Chunk : Ord -> Chunk ;
|
||||
Numeral_Nom_Chunk : Numeral -> Chunk ;
|
||||
Numeral_Gen_Chunk : Numeral -> Chunk ;
|
||||
Ord_Nom_Chunk : Ord -> Chunk ;
|
||||
Ord_Gen_Chunk : Ord -> Chunk ;
|
||||
Predet_Chunk : Predet -> Chunk ;
|
||||
Prep_Chunk : Prep -> Chunk ;
|
||||
RP_Chunk : RP -> Chunk ;
|
||||
RP_Nom_Chunk : RP -> Chunk ;
|
||||
RP_Gen_Chunk : RP -> Chunk ;
|
||||
RP_Acc_Chunk : RP -> Chunk ;
|
||||
Subj_Chunk : Subj -> Chunk ;
|
||||
VP_Chunk : VP -> Chunk ;
|
||||
VP_np_Chunk : PrVP_np -> Chunk ;
|
||||
VP_none_Chunk : PrVP_none -> Chunk ;
|
||||
VP_s_Chunk : PrVP_s -> Chunk ;
|
||||
VP_v_Chunk : PrVP_v -> Chunk ;
|
||||
|
||||
refl_SgP3_Chunk : Chunk ;
|
||||
neg_Chunk : Chunk ;
|
||||
copula_Chunk : Chunk ;
|
||||
copula_neg_Chunk : Chunk ;
|
||||
past_copula_Chunk : Chunk ;
|
||||
past_copula_neg_Chunk : Chunk ;
|
||||
future_Chunk : Chunk ;
|
||||
future_neg_Chunk : Chunk ;
|
||||
cond_Chunk : Chunk ;
|
||||
cond_neg_Chunk : Chunk ;
|
||||
perfect_Chunk : Chunk ;
|
||||
perfect_neg_Chunk : Chunk ;
|
||||
past_perfect_Chunk : Chunk ;
|
||||
past_perfect_neg_Chunk : Chunk ;
|
||||
|
||||
}
|
||||
@@ -12,7 +12,7 @@ lin
|
||||
OneChunk c = c ;
|
||||
PlusChunk c cs = cc2 c cs ;
|
||||
|
||||
---- ChunkPhr c = c ;
|
||||
ChunkPhr c = c ;
|
||||
|
||||
lin
|
||||
|
||||
@@ -22,6 +22,7 @@ lin
|
||||
Adv_Chunk adv = adv ;
|
||||
AdV_Chunk adv = adv ;
|
||||
AdN_Chunk adn = adn ;
|
||||
Cl_Chunk cl = ss (PI.declCl cl) ;
|
||||
CN_Pl_Chunk cn = ss (cn.s ! Pl ! Nom) ;
|
||||
CN_Sg_Chunk cn = ss (cn.s ! Sg ! Nom) ;
|
||||
CN_Pl_Gen_Chunk cn = ss (cn.s ! Pl ! Gen) ;
|
||||
@@ -29,28 +30,41 @@ lin
|
||||
Conj_Chunk conj = ss conj.s2 ;
|
||||
IAdv_Chunk iadv = iadv ;
|
||||
IP_Chunk ip = ss (ip.s ! NCase Nom) ;
|
||||
NP_Chunk np = ss (np.s ! NCase Nom) | ss (np.s ! NPAcc) ;
|
||||
NP_Nom_Chunk np = ss (np.s ! NCase Nom) ;
|
||||
NP_Acc_Chunk np = ss (np.s ! NPAcc) ;
|
||||
NP_Gen_Chunk np = ss (np.s ! NCase Gen) | ss (np.s ! NPNomPoss) ;
|
||||
Numeral_Chunk num = ss (num.s ! NCard ! Nom) | ss (num.s ! NCard ! Gen) ;
|
||||
Ord_Chunk ord = ss (ord.s ! Nom) | ss (ord.s ! Gen) ;
|
||||
Numeral_Nom_Chunk num = ss (num.s ! NCard ! Nom) ;
|
||||
Numeral_Gen_Chunk num = ss (num.s ! NCard ! Gen) ;
|
||||
Ord_Nom_Chunk ord = ss (ord.s ! Nom) ;
|
||||
Ord_Gen_Chunk ord = ss (ord.s ! Gen) ;
|
||||
Predet_Chunk predet = predet ;
|
||||
Prep_Chunk prep = prep ;
|
||||
RP_Chunk rp = ss (rp.s ! RC Neutr (NCase Nom)) | ss (rp.s ! RPrep Masc) ; ----
|
||||
RP_Nom_Chunk rp = ss (rp.s ! RC Neutr (NCase Nom)) ;
|
||||
RP_Acc_Chunk rp = ss (rp.s ! RPrep Masc) ; ----
|
||||
RP_Gen_Chunk rp = ss (rp.s ! RC Neutr (NCase Gen)) ;
|
||||
Subj_Chunk subj = subj ;
|
||||
VP_none_Chunk, VP_np_Chunk, VP_s_Chunk = \vp ->
|
||||
VP_none_Chunk, VP_np_Chunk, VP_s_Chunk, VP_v_VChunk = \vp ->
|
||||
let verb = vp.v ! (PI.VASgP1 | PI.VASgP3 | PI.VAPl)
|
||||
in
|
||||
allAgrSS (\a ->
|
||||
verb.p1 ++ verb.p2 ++ vp.adV ++ verb.p3 ++ vp.part ++
|
||||
vp.adj ! a ++ vp.c1 ++ vp.obj1.p1 ! a ++ vp.c2 ++ vp.obj2.p1 ! a ++ vp.adv ++ vp.ext
|
||||
) ;
|
||||
|
||||
refl_SgP3_Chunk = ss "himself" | ss "herself" | ss "itself" ;
|
||||
neg_Chunk = ss "not" | ss "doesn't" | ss "don't" ;
|
||||
copula_Chunk = ss "is" | ss "are" | ss "am" ;
|
||||
copula_neg_Chunk = ss "isn't" | ss "aren't" ;
|
||||
past_copula_Chunk = ss "was" | ss "were" ;
|
||||
past_copula_neg_Chunk = ss "wasn't" | ss "weren't" ;
|
||||
future_Chunk = ss "will" ;
|
||||
future_neg_Chunk = ss "won't" ;
|
||||
cond_Chunk = ss "would" ;
|
||||
cond_neg_Chunk = ss "wouldn't" ;
|
||||
perfect_Chunk = ss "has" | ss "have" ;
|
||||
perfect_neg_Chunk = ss "hasn't" | ss "haven't" ;
|
||||
past_perfect_Chunk = ss "had" ;
|
||||
past_perfect_neg_Chunk = ss "hadn't" ;
|
||||
|
||||
|
||||
oper
|
||||
|
||||
78
lib/src/experimental/ChunkSwe.gf
Normal file
78
lib/src/experimental/ChunkSwe.gf
Normal file
@@ -0,0 +1,78 @@
|
||||
concrete ChunkSwe of Chunk =
|
||||
RGLBaseSwe - [Pol,Tense],
|
||||
NDPredSwe
|
||||
|
||||
** open (PI=PredInstanceSwe), CommonScand, ResSwe, Prelude in {
|
||||
|
||||
lincat
|
||||
Chunks = {s : Str} ;
|
||||
Chunk = {s : Str};
|
||||
|
||||
lin
|
||||
OneChunk c = c ;
|
||||
PlusChunk c cs = cc2 c cs ;
|
||||
|
||||
ChunkPhr c = c ;
|
||||
|
||||
lin
|
||||
|
||||
|
||||
AP_Chunk ap = ss (ap.s ! (Strong (GSg Utr))) ; ---- other agr
|
||||
AdA_Chunk ada = ada ;
|
||||
Adv_Chunk adv = adv ;
|
||||
AdV_Chunk adv = adv ;
|
||||
AdN_Chunk adn = adn ;
|
||||
Cl_Chunk cl = ss (PI.declCl cl) ;
|
||||
CN_Pl_Chunk cn = ss (cn.s ! Pl ! DIndef ! Nom) ;
|
||||
CN_Sg_Chunk cn = ss (cn.s ! Sg ! DIndef ! Nom) ;
|
||||
CN_Pl_Gen_Chunk cn = ss (cn.s ! Pl ! DIndef ! Gen) ;
|
||||
CN_Sg_Gen_Chunk cn = ss (cn.s ! Sg ! DIndef ! Gen) ;
|
||||
Conj_Chunk conj = ss conj.s2 ;
|
||||
IAdv_Chunk iadv = iadv ;
|
||||
IP_Chunk ip = ss (ip.s ! NPNom) ;
|
||||
NP_Nom_Chunk np = ss (np.s ! NPNom) ;
|
||||
NP_Acc_Chunk np = ss (np.s ! NPAcc) ;
|
||||
NP_Gen_Chunk np = ss (np.s ! NPPoss (GSg Utr) Nom) ;
|
||||
Numeral_Nom_Chunk num = ss (num.s ! NCard Utr) ;
|
||||
Numeral_Gen_Chunk num = ss (num.s ! NCard Utr) ;
|
||||
Ord_Nom_Chunk ord = ord ;
|
||||
Ord_Gen_Chunk ord = ord ;
|
||||
Predet_Chunk predet = ss (predet.s ! Utr ! Sg) ;
|
||||
Prep_Chunk prep = prep ;
|
||||
RP_Nom_Chunk rp = ss (rp.s ! Utr ! Sg ! RNom) ;
|
||||
RP_Acc_Chunk rp = ss (rp.s ! Utr ! Sg ! RNom) ;
|
||||
RP_Gen_Chunk rp = ss (rp.s ! Utr ! Sg ! RGen) ;
|
||||
Subj_Chunk subj = subj ;
|
||||
VP_none_Chunk, VP_np_Chunk, VP_s_Chunk, VP_v_VChunk = \vp ->
|
||||
let verb = vp.v ! PI.UUnit
|
||||
in
|
||||
allAgrSS (\a ->
|
||||
verb.p1 ++ verb.p2 ++ vp.adV ++ verb.p3 ++ vp.part ++
|
||||
vp.adj ! a ++ vp.c1 ++ vp.obj1.p1 ! a ++ vp.c2 ++ vp.obj2.p1 ! a ++ vp.adv ++ vp.ext
|
||||
) ;
|
||||
|
||||
refl_SgP3_Chunk = ss "sig" | ss "själv" ;
|
||||
neg_Chunk = ss "inte" ;
|
||||
copula_Chunk = ss "är" ;
|
||||
copula_neg_Chunk = ss "är inte" ;
|
||||
past_copula_Chunk = ss "var" ;
|
||||
past_copula_neg_Chunk = ss "var inte" ;
|
||||
future_Chunk = ss "ska" | ss "skall" ;
|
||||
future_neg_Chunk = ss "ska inte" | ss "skall inte" ;
|
||||
cond_Chunk = ss "skulle" ;
|
||||
cond_neg_Chunk = ss "skulle inte" ;
|
||||
perfect_Chunk = ss "har" ;
|
||||
perfect_neg_Chunk = ss "har inte" ;
|
||||
past_perfect_Chunk = ss "hade" ;
|
||||
past_perfect_neg_Chunk = ss "hade inte" ;
|
||||
|
||||
|
||||
oper
|
||||
allAgrSS : (Agr -> Str) -> SS = \f ->
|
||||
ss (f PI.defaultAgr) ;
|
||||
---- | ss (f (AgP3Sg Fem)) | ss (f (AgP3Sg Neutr)) |
|
||||
---- ss (f (AgP1 Sg)) | ss (f (AgP1 Pl)) | ss (f (AgP2 Sg)) | ss (f (AgP2 Pl)) |
|
||||
---- ss (f (AgP3Pl)) ;
|
||||
|
||||
|
||||
}
|
||||
@@ -65217,28 +65217,47 @@ AP_Chunk 3.030247037335075e-3
|
||||
AdA_Chunk 9.109495956621799e-4
|
||||
AdV_Chunk 4.7404486565341235e-3
|
||||
Adv_Chunk 5.328685581035249e-3
|
||||
CN_Chunk 0.12420511332822734
|
||||
Cl_Chunk 0.12420511332822734
|
||||
CN_Pl_Chunk 0.012420511332822734
|
||||
CN_Sg_Chunk 0.012420511332822734
|
||||
CN_Pl_Gen_Chunk 0.0012420511332822734
|
||||
CN_Sg_Gen_Chunk 0.0012420511332822734
|
||||
Conj_Chunk 1.153607720713571e-2
|
||||
IAdv_Chunk 2.5406809209644978e-5
|
||||
IP_Chunk 7.206294975826576e-5
|
||||
NP_Chunk 0.16918717612092532
|
||||
Num_Chunk 7.879021089499412e-2
|
||||
Ord_Chunk 7.825297236570654e-4
|
||||
NP_Nom_Chunk 0.16918717612092532
|
||||
NP_Acc_Chunk 0.16918717612092532
|
||||
NP_Gen_Chunk 0.016918717612092532
|
||||
Num_Nom_Chunk 7.879021089499412e-2
|
||||
Num_Gen_Chunk 7.879021089499412e-3
|
||||
Ord_Nom_Chunk 7.825297236570654e-4
|
||||
Ord_Gen_Chunk 7.825297236570654e-5
|
||||
Predet_Chunk 2.7716519137794524e-4
|
||||
Prep_Chunk 4.62935160899013e-2
|
||||
RP_Chunk 3.649803628461909e-3
|
||||
RP_Nom_Chunk 3.649803628461909e-3
|
||||
RP_Gen_Chunk 3.649803628461909e-4
|
||||
RP_Acc_Chunk 3.649803628461909e-4
|
||||
Subj_Chunk 5.751177721092363e-4
|
||||
VP_Chunk 0.1
|
||||
VP_none_Chunk 0.1
|
||||
VP_np_Chunk 0.01
|
||||
VP_s_Chunk 0.01
|
||||
VP_v_Chunk 0.1
|
||||
PhrUtt 0.99
|
||||
PhrChunk 0.01
|
||||
OneChunk 0.8
|
||||
PlusChunk 0.2
|
||||
|
||||
refl_SgP3_Chunk 5.751177721092363e-4
|
||||
neg_Chunk 5.751177721092363e-4
|
||||
copula_Chunk 5.751177721092363e-4
|
||||
copula_neg_Chunk 5.751177721092363e-4
|
||||
past_copula_Chunk 5.751177721092363e-4
|
||||
past_copula_neg_Chunk 5.751177721092363e-4
|
||||
future_Chunk 5.751177721092363e-4
|
||||
future_neg_Chunk 5.751177721092363e-4
|
||||
cond_Chunk 5.751177721092363e-4
|
||||
cond_neg_Chunk 5.751177721092363e-4
|
||||
perfect_Chunk 5.751177721092363e-4
|
||||
perfect_neg_Chunk 5.751177721092363e-4
|
||||
past_perfect_Chunk 5.751177721092363e-4
|
||||
past_perfect_neg_Chunk 5.751177721092363e-4
|
||||
|
||||
|
||||
@@ -8,8 +8,8 @@ abstract NDTrans =
|
||||
** {
|
||||
flags
|
||||
startcat=Phr;
|
||||
heuristic_search_factor=0.60;
|
||||
meta_prob=1.0e-5;
|
||||
meta_token_prob=1.1965149246222233e-9;
|
||||
-- heuristic_search_factor=0.60;
|
||||
-- meta_prob=1.0e-5;
|
||||
-- meta_token_prob=1.1965149246222233e-9;
|
||||
|
||||
}
|
||||
|
||||
@@ -4,7 +4,7 @@ concrete NDTransSwe of NDTrans =
|
||||
NDLiftSwe
|
||||
,ExtensionsSwe [CN,NP,AdA,AdV,CompoundCN,AdAdV,UttAdV,ApposNP]
|
||||
,DictionarySwe - [Pol,Tense]
|
||||
|
||||
,ChunkSwe
|
||||
** open CommonScand, ResSwe, PredInstanceSwe, (Pr=PredSwe), Prelude in {
|
||||
|
||||
flags
|
||||
|
||||
Reference in New Issue
Block a user