mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-04-23 11:42:49 -06:00
chunking module attached to NDPredTrans. Might be a nice alternative to robustness. But the current version uses variants too much.
This commit is contained in:
48
lib/src/experimental/Chunk.gf
Normal file
48
lib/src/experimental/Chunk.gf
Normal file
@@ -0,0 +1,48 @@
|
|||||||
|
abstract Chunk = RGLBase - [Pol,Tense], NDPred ** {
|
||||||
|
|
||||||
|
cat
|
||||||
|
Chunks ;
|
||||||
|
Chunk ;
|
||||||
|
|
||||||
|
fun
|
||||||
|
OneChunk : Chunk -> Chunks ;
|
||||||
|
PlusChunk : Chunk -> Chunks -> Chunks ;
|
||||||
|
|
||||||
|
ChunkPhr : Chunks -> Phr ;
|
||||||
|
|
||||||
|
fun
|
||||||
|
|
||||||
|
AP_Chunk : AP -> Chunk ;
|
||||||
|
AdA_Chunk : AdA -> Chunk ;
|
||||||
|
Adv_Chunk : Adv -> Chunk ;
|
||||||
|
AdV_Chunk : AdV -> Chunk ;
|
||||||
|
AdN_Chunk : AdN -> Chunk ;
|
||||||
|
CN_Pl_Chunk : CN -> Chunk ;
|
||||||
|
CN_Sg_Chunk : CN -> Chunk ;
|
||||||
|
CN_Pl_Gen_Chunk : CN -> Chunk ;
|
||||||
|
CN_Sg_Gen_Chunk : CN -> Chunk ;
|
||||||
|
Conj_Chunk : Conj -> Chunk ;
|
||||||
|
IAdv_Chunk : IAdv -> Chunk ;
|
||||||
|
IP_Chunk : IP -> Chunk ;
|
||||||
|
NP_Chunk : NP -> Chunk ;
|
||||||
|
NP_Gen_Chunk : NP -> Chunk ;
|
||||||
|
Numeral_Chunk : Numeral -> Chunk ;
|
||||||
|
Ord_Chunk : Ord -> Chunk ;
|
||||||
|
Predet_Chunk : Predet -> Chunk ;
|
||||||
|
Prep_Chunk : Prep -> Chunk ;
|
||||||
|
RP_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 ;
|
||||||
|
|
||||||
|
neg_Chunk : Chunk ;
|
||||||
|
copula_Chunk : Chunk ;
|
||||||
|
past_copula_Chunk : Chunk ;
|
||||||
|
future_Chunk : Chunk ;
|
||||||
|
cond_Chunk : Chunk ;
|
||||||
|
perfect_Chunk : Chunk ;
|
||||||
|
past_perfect_Chunk : Chunk ;
|
||||||
|
|
||||||
|
}
|
||||||
64
lib/src/experimental/ChunkEng.gf
Normal file
64
lib/src/experimental/ChunkEng.gf
Normal file
@@ -0,0 +1,64 @@
|
|||||||
|
concrete ChunkEng of Chunk =
|
||||||
|
RGLBaseEng - [Pol,Tense],
|
||||||
|
NDPredEng
|
||||||
|
|
||||||
|
** open (PI=PredInstanceEng), ResEng, 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 = allAgrSS (\a -> ap.s ! a) ;
|
||||||
|
AdA_Chunk ada = ada ;
|
||||||
|
Adv_Chunk adv = adv ;
|
||||||
|
AdV_Chunk adv = adv ;
|
||||||
|
AdN_Chunk adn = adn ;
|
||||||
|
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) ;
|
||||||
|
CN_Sg_Gen_Chunk cn = ss (cn.s ! Sg ! Gen) ;
|
||||||
|
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_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) ;
|
||||||
|
Predet_Chunk predet = predet ;
|
||||||
|
Prep_Chunk prep = prep ;
|
||||||
|
RP_Chunk rp = ss (rp.s ! RC Neutr (NCase Nom)) | ss (rp.s ! RPrep Masc) ; ----
|
||||||
|
Subj_Chunk subj = subj ;
|
||||||
|
VP_none_Chunk, VP_np_Chunk, VP_s_Chunk = \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
|
||||||
|
) ;
|
||||||
|
neg_Chunk = ss "not" | ss "doesn't" | ss "don't" ;
|
||||||
|
copula_Chunk = ss "is" | ss "are" | ss "am" ;
|
||||||
|
past_copula_Chunk = ss "was" | ss "were" ;
|
||||||
|
future_Chunk = ss "will" ;
|
||||||
|
cond_Chunk = ss "would" ;
|
||||||
|
perfect_Chunk = ss "has" | ss "have" ;
|
||||||
|
past_perfect_Chunk = ss "had" ;
|
||||||
|
|
||||||
|
|
||||||
|
oper
|
||||||
|
allAgrSS : (Agr -> Str) -> SS = \f ->
|
||||||
|
ss (f (AgP3Sg Masc)) ;
|
||||||
|
---- | 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)) ;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@@ -53360,7 +53360,6 @@ zealand_PN 1.8658456945610598e-5
|
|||||||
zimbabwe_PN 1.8658456945610598e-5
|
zimbabwe_PN 1.8658456945610598e-5
|
||||||
zoe_PN 1.8658456945610598e-5
|
zoe_PN 1.8658456945610598e-5
|
||||||
zurich_PN 2.9853531112976957e-4
|
zurich_PN 2.9853531112976957e-4
|
||||||
PhrUtt 1.0
|
|
||||||
PNeg 2.5657769160446448e-2
|
PNeg 2.5657769160446448e-2
|
||||||
PPos 0.9743422308395535
|
PPos 0.9743422308395535
|
||||||
AgentPastPartAP_none 1.4729709824716454e-4
|
AgentPastPartAP_none 1.4729709824716454e-4
|
||||||
@@ -65214,28 +65213,32 @@ work_VV 1.8203883495145632e-3
|
|||||||
write_VV 3.6407766990291263e-4
|
write_VV 3.6407766990291263e-4
|
||||||
NoVoc 0.99
|
NoVoc 0.99
|
||||||
VocNP 0.01
|
VocNP 0.01
|
||||||
AP 3.030247037335075e-3
|
AP_Chunk 3.030247037335075e-3
|
||||||
AdA 9.109495956621799e-4
|
AdA_Chunk 9.109495956621799e-4
|
||||||
AdV 4.7404486565341235e-3
|
AdV_Chunk 4.7404486565341235e-3
|
||||||
Adv 5.328685581035249e-3
|
Adv_Chunk 5.328685581035249e-3
|
||||||
CN 0.12420511332822734
|
CN_Chunk 0.12420511332822734
|
||||||
Conj 1.153607720713571e-2
|
Conj_Chunk 1.153607720713571e-2
|
||||||
Det 6.831013306700838e-2
|
IAdv_Chunk 2.5406809209644978e-5
|
||||||
IAdv 2.5406809209644978e-5
|
IP_Chunk 7.206294975826576e-5
|
||||||
IP 7.206294975826576e-5
|
NP_Chunk 0.16918717612092532
|
||||||
N 0.12385449936113424
|
Num_Chunk 7.879021089499412e-2
|
||||||
NP 0.16918717612092532
|
Ord_Chunk 7.825297236570654e-4
|
||||||
Num 7.879021089499412e-2
|
Predet_Chunk 2.7716519137794524e-4
|
||||||
Ord 7.825297236570654e-4
|
Prep_Chunk 4.62935160899013e-2
|
||||||
Predet 2.7716519137794524e-4
|
RP_Chunk 3.649803628461909e-3
|
||||||
Prep 4.62935160899013e-2
|
Subj_Chunk 5.751177721092363e-4
|
||||||
Pron 1.4304957469001383e-2
|
VP_Chunk 0.1
|
||||||
Quant 7.624860609005836e-2
|
PhrUtt 0.99
|
||||||
RP 3.649803628461909e-3
|
PhrChunk 0.01
|
||||||
RS 4.061393937658158e-3
|
OneChunk 0.8
|
||||||
PrS 5.144324534570353e-2
|
PlusChunk 0.2
|
||||||
Subj 5.751177721092363e-4
|
|
||||||
|
|
||||||
V 2.0368869914365196e-2
|
neg_Chunk 5.751177721092363e-4
|
||||||
V2 2.869445032137304e-2
|
copula_Chunk 5.751177721092363e-4
|
||||||
|
past_copula_Chunk 5.751177721092363e-4
|
||||||
|
future_Chunk 5.751177721092363e-4
|
||||||
|
cond_Chunk 5.751177721092363e-4
|
||||||
|
perfect_Chunk 5.751177721092363e-4
|
||||||
|
past_perfect_Chunk 5.751177721092363e-4
|
||||||
|
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ abstract NDTrans =
|
|||||||
NDLift
|
NDLift
|
||||||
,Extensions [CN,NP,AdA,AdV,CompoundCN,AdAdV,UttAdV,ApposNP]
|
,Extensions [CN,NP,AdA,AdV,CompoundCN,AdAdV,UttAdV,ApposNP]
|
||||||
,Dictionary - [Pol,Tense]
|
,Dictionary - [Pol,Tense]
|
||||||
|
,Chunk
|
||||||
** {
|
** {
|
||||||
flags
|
flags
|
||||||
startcat=Phr;
|
startcat=Phr;
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ concrete NDTransEng of NDTrans =
|
|||||||
NDLiftEng
|
NDLiftEng
|
||||||
,ExtensionsEng [CN,NP,AdA,AdV,CompoundCN,AdAdV,UttAdV,ApposNP]
|
,ExtensionsEng [CN,NP,AdA,AdV,CompoundCN,AdAdV,UttAdV,ApposNP]
|
||||||
,DictionaryEng - [Pol,Tense]
|
,DictionaryEng - [Pol,Tense]
|
||||||
|
,ChunkEng
|
||||||
** open ResEng, PredInstanceEng, Prelude, (Pr = PredEng) in {
|
** open ResEng, PredInstanceEng, Prelude, (Pr = PredEng) in {
|
||||||
|
|
||||||
flags
|
flags
|
||||||
|
|||||||
Reference in New Issue
Block a user