big DictionaryDut from Wiktionary - very noisy for common words, but works

This commit is contained in:
aarne
2014-04-11 16:04:32 +00:00
parent 9f3235c29f
commit 971f450c6d
6 changed files with 17107 additions and 480 deletions

View File

@@ -1,7 +1,6 @@
concrete ChunkDut of Chunk = CatDut
---- , ExtensionsDut
concrete ChunkDut of Chunk = CatDut, ExtensionsDut [VPS,VPI]
**
ChunkFunctor - [UseVC, VPS_Chunk, emptyNP, VPI_Chunk]
ChunkFunctor - [emptyNP]
with (Syntax = SyntaxDut), (Extensions = ExtensionsDut)
**
open
@@ -11,9 +10,9 @@ concrete ChunkDut of Chunk = CatDut
oper
emptyNP = SyntaxDut.mkNP (P.mkPN []) ;
----lin
---- NP_Acc_Chunk np = ss (np.s ! NPC Acc) ;
---- NP_Gen_Chunk np = ss (np.s ! NPC Gen) ;
lin
NP_Acc_Chunk np = ss (np.s ! NPAcc) ;
NP_Gen_Chunk np = ss ("van" ++ np.s ! NPAcc) ; ----
---- VPI_Chunk vpi = {s = vpi.s ! (True | False)} ;

View File

@@ -1,17 +1,17 @@
--# -coding=latin1
concrete ExtraDut of ExtraDutAbs = CatDut **
open ResDut, MorphoDut, Coordination, Prelude, IrregDut in
open ResDut, MorphoDut, Coordination, Prelude, IrregDut, (P = ParadigmsDut) in
{
--{
--
-- lincat
-- VPI = {s : Bool => Str} ;
-- [VPI] = {s1,s2 : Bool => Str} ;
-- lin
-- BaseVPI = twoTable Bool ;
-- ConsVPI = consrTable Bool comma ;
--
-- MkVPI vp = {s = \\b => useInfVP b vp} ;
lincat
VPI = {s : Bool => Str} ;
[VPI] = {s1,s2 : Bool => Str} ;
lin
BaseVPI = twoTable Bool ;
ConsVPI = consrTable Bool comma ;
MkVPI vp = {s = \\b => useInfVP b vp} ;
-- ConjVPI = conjunctDistrTable Bool ;
--
-- ComplVPIVV v vpi =
@@ -114,6 +114,11 @@ lin
ConjVPS = conjunctDistrTable2 Order Agr ;
PassVPSlash vps =
insertInf (vps.s.s ! VPerf) (predV ResDut.worden_V) ;
PassAgentVPSlash vps np =
insertAdv (appPrep "door" np.s) (insertInf (vps.s.s ! VPerf) (predV ResDut.worden_V)) ;
lin
NominalizeVPSlashNP vpslash np =
let vp : ResDut.VP = insertObjNP np.isPron (\\_ => appPrep vpslash.c2 np.s) vpslash ;

View File

@@ -3,7 +3,8 @@ abstract ExtraDutAbs = Extra [
VPS,ListVPS,BaseVPS,ConsVPS,ConjVPS,MkVPS,PredVPS,
Temp,Pol,S,NP,
VV,VP,Conj,IComp,ICompAP,IAdvAdv,Adv,AP,IAdv,
VPSlash, NominalizeVPSlashNP] **
VPSlash, NominalizeVPSlashNP,
PassVPSlash, PassAgentVPSlash] **
{
flags coding=utf8;
--{

View File

@@ -164,13 +164,27 @@ oper
mkV0 : V -> V0 ; --%
mkVS : V -> VS ;
mkV2S : V -> Prep -> V2S ;
mkVV : V -> VV ;
mkV2V : V -> Prep -> V2V ;
mkV2V : overload {
mkV2V : V -> Prep -> V2V ;
mkV2V : V -> V2V ;
} ;
mkV2S : overload {
mkV2S : V -> Prep -> V2S ;
mkV2S : V -> V2S ;
} ;
mkV2A : overload {
mkV2A : V -> Prep -> V2A ;
mkV2A : V -> V2A ;
} ;
mkV2Q : overload {
mkV2Q : V -> Prep -> V2Q ;
mkV2Q : V -> V2Q ;
} ;
mkVA : V -> VA ;
mkV2A : V -> Prep -> V2A ;
mkVQ : V -> VQ ;
mkV2Q : V -> Prep -> V2Q ;
--
-- mkAS : A -> AS ;
@@ -197,6 +211,8 @@ oper
= \a -> lin N (regNoun a) ;
mkN : (bit : Str) -> Gender -> N
= \a,b -> lin N (regNounG a b) ;
mkN : (bit : Str) -> Gender -> Gender -> N
= \a,g1,g2 -> lin N (regNounG a g1) | lin N (regNounG a g2) ; -- there are many nouns with variant genders
mkN : (gat,gaten : Str) -> Gender -> N
= \a,b,c -> lin N (mkNoun a b c) ;
mkN : (huis,boot : N) -> N
@@ -245,6 +261,7 @@ oper
mkV : (aai,aait,aaien,aaide,aaiden,geaaid : Str) -> V =
\a,b,c,d,f,g -> lin V (v2vv (mkVerb a b c d d f g)) ;
mkV : Str -> V -> V = \v,s ->lin V (prefixV v s) ;
mkV : V -> Str -> V = \s,v ->lin V (prefixV v s) ; ---- the same, in order matching Wiktionary-generated lexicon
} ;
zijnV v = lin V (v2vvAux v VZijn) ;
reflV v = lin V {s = v.s ; aux = v.aux ; prefix = v.prefix ; vtype = VRefl} ;
@@ -467,11 +484,26 @@ oper
-- A2V : Type = A2 ;
mkV0 v = v ;
mkV2S v p = lin V2S (prepV2 v p) ;
mkV2V v p = lin V2V (prepV2 v p ** {isAux = False}) ;
mkV2V = overload {
mkV2V : V -> Prep -> V2V = \v,p -> lin V2V (prepV2 v p ** {isAux = False}) ;
mkV2V : V -> V2V = \v -> lin V2V (prepV2 v (mkPrep []) ** {isAux = False}) ;
} ;
mkV2S = overload {
mkV2S : V -> Prep -> V2S = \v,p -> lin V2S (prepV2 v p) ;
mkV2S : V -> V2S = \v -> lin V2S (prepV2 v (mkPrep [])) ;
} ;
mkV2A = overload {
mkV2A : V -> Prep -> V2A = \v,p -> lin V2A (prepV2 v p) ;
mkV2A : V -> V2A = \v -> lin V2A (prepV2 v (mkPrep [])) ;
} ;
mkV2Q = overload {
mkV2Q : V -> Prep -> V2Q = \v,p -> lin V2Q (prepV2 v p) ;
mkV2Q : V -> V2Q = \v -> lin V2Q (prepV2 v (mkPrep [])) ;
} ;
mkVA v = lin VA v ;
mkV2A v p = lin V2A (prepV2 v p) ;
mkV2Q v p = lin V2Q (prepV2 v p) ;
--
-- mkAS v = v ** {lock_A = <>} ;
-- mkA2S v p = mkA2 v p ** {lock_A = <>} ;

File diff suppressed because it is too large Load Diff

View File

@@ -5,20 +5,20 @@ concrete ExtensionsDut of Extensions =
flags literal=Symb ; coding = utf8 ;
----lincat
---- VPI = E.VPI ;
---- ListVPI = E.ListVPI ;
---- VPS = E.VPS ;
---- ListVPS = E.ListVPS ;
lincat
VPI = E.VPI ;
ListVPI = E.ListVPI ;
VPS = E.VPS ;
ListVPS = E.ListVPS ;
--- lin
---- MkVPI = E.MkVPI ;
lin
MkVPI = E.MkVPI ;
---- ConjVPI = E.ConjVPI ;
---- ComplVPIVV = E.ComplVPIVV ;
---- MkVPS = E.MkVPS ;
MkVPS = E.MkVPS ;
---- ConjVPS = E.ConjVPS ;
---- PredVPS = E.PredVPS ;
PredVPS = E.PredVPS ;
---- BaseVPI = E.BaseVPI ;
---- ConsVPI = E.ConsVPI ;
@@ -29,8 +29,8 @@ flags literal=Symb ; coding = utf8 ;
---- GenIP = E.GenIP ;
---- GenRP = E.GenRP ;
---- PassVPSlash = E.PassVPSlash ;
---- PassAgentVPSlash = E.PassAgentVPSlash ;
PassVPSlash = E.PassVPSlash ;
PassAgentVPSlash = E.PassAgentVPSlash ;
---- EmptyRelSlash = E.EmptyRelSlash ;