Commit c719fc7f73142d6879e54719bccac98d1cc47ce5

Authored by Wojciech Jaworski
1 parent 84afa6af

Zmiana comparp

LCGlexicon/ENIAMcategoriesPL.ml
@@ -159,7 +159,9 @@ let num_nsem lemma = @@ -159,7 +159,9 @@ let num_nsem lemma =
159 159
160 let part_set = StringSet.of_list ["się"; "nie"; "by"; "niech"; "niechaj"; "niechże"; "niechajże"; "czy"; "gdyby"] 160 let part_set = StringSet.of_list ["się"; "nie"; "by"; "niech"; "niechaj"; "niechże"; "niechajże"; "czy"; "gdyby"]
161 161
162 -let clarify_categories proper cat coerced snode = function 162 +let snode = SelectorMap.find selector_values SNode
  163 +
  164 +let clarify_categories proper cat coerced (*snode*) = function
163 lemma,"subst",[numbers;cases;genders] -> 165 lemma,"subst",[numbers;cases;genders] ->
164 let numbers = expand_numbers numbers in 166 let numbers = expand_numbers numbers in
165 let cases = expand_cases cases in 167 let cases = expand_cases cases in
LCGlexicon/resources/lexicon-pl.dic
1 @PHRASE_NAMES 1 @PHRASE_NAMES
2 lex infp np prepnp adjp ip cp ncp advp padvp 2 lex infp np prepnp adjp ip cp ncp advp padvp
3 - adja prepadjp comprepnp compar measure num aglt aux-fut 3 + adja prepadjp comprepnp comparp measure num aglt aux-fut
4 aux-past aux-imp qub interj hyphen int 4 aux-past aux-imp qub interj hyphen int
5 rparen rparen2 rquot rquot2 rquot3 inclusion 5 rparen rparen2 rquot rquot2 rquot3 inclusion
6 day-interval day-lex day-month-interval date-interval 6 day-interval day-lex day-month-interval date-interval
@@ -153,8 +153,8 @@ lemma=w,pos=prep,case=loc: prepnp*lemma*case{\(1+advp*T),/(day-month+day+ye @@ -153,8 +153,8 @@ lemma=w,pos=prep,case=loc: prepnp*lemma*case{\(1+advp*T),/(day-month+day+ye
153 153
154 # komparatywy 154 # komparatywy
155 # FIXME: trzeba poprawić comparnp i comparpp w walencji 155 # FIXME: trzeba poprawić comparnp i comparpp w walencji
156 -pos=compar: QUANT[case=nom&gen&dat&acc&inst] compar*lemma*case{\(1+advp*T),/(np*T*case*T*T+adjp*T*case*T)}{\(1+qub),/(1+inclusion)};  
157 -pos=compar: QUANT[case=postp] compar*lemma*case{\(1+advp*T),/(prepnp*T*T+prepadjp*T*T)}{\(1+qub),/(1+inclusion)}; 156 +pos=compar: QUANT[case=nom&gen&dat&acc&inst] comparp*lemma*case{\(1+advp*T),/(np*T*case*T*T+adjp*T*case*T)}{\(1+qub),/(1+inclusion)};
  157 +pos=compar: QUANT[case=postp] comparp*lemma*case{\(1+advp*T),/(prepnp*T*T+prepadjp*T*T)}{\(1+qub),/(1+inclusion)};
158 158
159 # frazy przymiotnikowe 159 # frazy przymiotnikowe
160 # FIXME: let grad = match grads with [grad] -> grad | _ -> failwith "make_adjp: grad" in 160 # FIXME: let grad = match grads with [grad] -> grad | _ -> failwith "make_adjp: grad" in
exec/ENIAMexec.ml
@@ -64,16 +64,16 @@ let rec translate_text = function @@ -64,16 +64,16 @@ let rec translate_text = function
64 | ENIAMsubsyntaxTypes.AltText l -> AltText(Xlist.map l (fun (mode,text) -> 64 | ENIAMsubsyntaxTypes.AltText l -> AltText(Xlist.map l (fun (mode,text) ->
65 translate_mode mode, translate_text text)) 65 translate_mode mode, translate_text text))
66 66
67 -let clarify_categories cats snode token = 67 +let clarify_categories cats (*snode*) token =
68 match token.ENIAMtokenizerTypes.token with 68 match token.ENIAMtokenizerTypes.token with
69 ENIAMtokenizerTypes.Lemma(lemma,pos,interp) -> 69 ENIAMtokenizerTypes.Lemma(lemma,pos,interp) ->
70 List.flatten (Xlist.map interp (fun interp -> List.flatten (Xlist.map cats (fun (cat,coerced) -> 70 List.flatten (Xlist.map interp (fun interp -> List.flatten (Xlist.map cats (fun (cat,coerced) ->
71 (* Printf.printf "lemma=%s pos=%s cat=%s coerced=%s\n%!" lemma pos cat (String.concat "," coerced); *) 71 (* Printf.printf "lemma=%s pos=%s cat=%s coerced=%s\n%!" lemma pos cat (String.concat "," coerced); *)
72 - ENIAMcategoriesPL.clarify_categories false cat coerced snode (lemma,pos,interp))))) 72 + ENIAMcategoriesPL.clarify_categories false cat coerced (*snode*) (lemma,pos,interp)))))
73 | ENIAMtokenizerTypes.Proper(lemma,pos,interp,senses2) -> 73 | ENIAMtokenizerTypes.Proper(lemma,pos,interp,senses2) ->
74 - List.flatten (Xlist.map interp (fun interp -> List.flatten (Xlist.map cats (fun (cat,coerced) -> ENIAMcategoriesPL.clarify_categories true cat coerced snode (lemma,pos,interp))))) 74 + List.flatten (Xlist.map interp (fun interp -> List.flatten (Xlist.map cats (fun (cat,coerced) -> ENIAMcategoriesPL.clarify_categories true cat coerced (*snode*) (lemma,pos,interp)))))
75 | ENIAMtokenizerTypes.Interp lemma -> 75 | ENIAMtokenizerTypes.Interp lemma ->
76 - List.flatten (Xlist.map cats (fun (cat,coerced) -> ENIAMcategoriesPL.clarify_categories false cat coerced snode (lemma,"interp",[]))) 76 + List.flatten (Xlist.map cats (fun (cat,coerced) -> ENIAMcategoriesPL.clarify_categories false cat coerced (*snode*) (lemma,"interp",[])))
77 | _ -> [] 77 | _ -> []
78 78
79 let create_chart rules tokens lex_sems paths last = 79 let create_chart rules tokens lex_sems paths last =
@@ -85,8 +85,8 @@ let create_chart rules tokens lex_sems paths last = @@ -85,8 +85,8 @@ let create_chart rules tokens lex_sems paths last =
85 ENIAM_LCGrenderer.reset_variable_names (); 85 ENIAM_LCGrenderer.reset_variable_names ();
86 ENIAM_LCGrenderer.add_variable_numbers (); 86 ENIAM_LCGrenderer.add_variable_numbers ();
87 (* if s.ENIAMlexSemanticsTypes.schemata = [] then failwith ("create_chart: no schema for token=" ^ t.ENIAMtokenizerTypes.orth ^ " lemma=" ^ ENIAMtokens.get_lemma t.ENIAMtokenizerTypes.token) else *) 87 (* if s.ENIAMlexSemanticsTypes.schemata = [] then failwith ("create_chart: no schema for token=" ^ t.ENIAMtokenizerTypes.orth ^ " lemma=" ^ ENIAMtokens.get_lemma t.ENIAMtokenizerTypes.token) else *)
88 - Xlist.fold s.ENIAMlexSemanticsTypes.schemata chart (fun chart (selectors,cats,snode,schema) ->  
89 - let cats = clarify_categories cats snode t in 88 + Xlist.fold s.ENIAMlexSemanticsTypes.schemata chart (fun chart (selectors,cats,(*snode,*)schema) ->
  89 + let cats = clarify_categories cats (*snode*) t in
90 (* let chart = ENIAM_LCGchart.add_inc_list chart lnode rnode s.ENIAMlexSemanticsTypes.lex_entries 0 in *) 90 (* let chart = ENIAM_LCGchart.add_inc_list chart lnode rnode s.ENIAMlexSemanticsTypes.lex_entries 0 in *)
91 let l = ENIAM_LCGlexicon.create_entries rules id t.ENIAMtokenizerTypes.orth cats [selectors,schema] s.ENIAMlexSemanticsTypes.lex_entries in 91 let l = ENIAM_LCGlexicon.create_entries rules id t.ENIAMtokenizerTypes.orth cats [selectors,schema] s.ENIAMlexSemanticsTypes.lex_entries in
92 ENIAM_LCGchart.add_inc_list chart lnode rnode l 0)) in 92 ENIAM_LCGchart.add_inc_list chart lnode rnode l 0)) in
@@ -115,8 +115,8 @@ let create_dep_chart dep_rules tokens lex_sems paths = @@ -115,8 +115,8 @@ let create_dep_chart dep_rules tokens lex_sems paths =
115 let s = ExtArray.get lex_sems id in 115 let s = ExtArray.get lex_sems id in
116 ENIAM_LCGrenderer.reset_variable_names (); 116 ENIAM_LCGrenderer.reset_variable_names ();
117 ENIAM_LCGrenderer.add_variable_numbers (); 117 ENIAM_LCGrenderer.add_variable_numbers ();
118 - Xlist.fold s.ENIAMlexSemanticsTypes.schemata nodes (fun nodes (selectors,cats,snode,schema) ->  
119 - let cats = clarify_categories ["X",["X"]] snode t in 118 + Xlist.fold s.ENIAMlexSemanticsTypes.schemata nodes (fun nodes (selectors,cats,(*snode,*)schema) ->
  119 + let cats = clarify_categories ["X",["X"]] (*snode*) t in
120 (* let chart = ENIAM_LCGchart.add_inc_list chart lnode rnode s.ENIAMlexSemanticsTypes.lex_entries 0 in *) 120 (* let chart = ENIAM_LCGchart.add_inc_list chart lnode rnode s.ENIAMlexSemanticsTypes.lex_entries 0 in *)
121 let l = ENIAM_LCGlexicon.create_entries dep_rules id t.ENIAMtokenizerTypes.orth cats [selectors,schema] s.ENIAMlexSemanticsTypes.lex_entries in 121 let l = ENIAM_LCGlexicon.create_entries dep_rules id t.ENIAMtokenizerTypes.orth cats [selectors,schema] s.ENIAMlexSemanticsTypes.lex_entries in
122 IntMap.add_inc nodes i l (fun l2 -> l @ l2))) in 122 IntMap.add_inc nodes i l (fun l2 -> l @ l2))) in
exec/ENIAMvisualization.ml
@@ -797,9 +797,21 @@ let rec extract_pos_cat_internal vars = function @@ -797,9 +797,21 @@ let rec extract_pos_cat_internal vars = function
797 let rec extract_pos_cat vars = function 797 let rec extract_pos_cat vars = function
798 | Tensor [] -> failwith "extract_pos_cat: ni" 798 | Tensor [] -> failwith "extract_pos_cat: ni"
799 | Tensor [pos] -> extract_pos_cat_internal vars pos 799 | Tensor [pos] -> extract_pos_cat_internal vars pos
  800 + | Tensor [pos;_] -> extract_pos_cat_internal vars pos
  801 + | Tensor [pos;_;_] -> extract_pos_cat_internal vars pos
800 | Tensor (Atom "num" :: _) -> "Number" 802 | Tensor (Atom "num" :: _) -> "Number"
  803 + | Tensor (Atom "aglt" :: _) -> "Aglt"
801 | Tensor (Atom "prepnp" :: _) -> "Prep" 804 | Tensor (Atom "prepnp" :: _) -> "Prep"
802 - | Tensor (pos :: cat :: _) -> (*extract_pos_cat_internal vars pos ^ "*" ^*) extract_pos_cat_internal vars cat 805 + | Tensor (Atom "comparp" :: _) -> "Compar"
  806 + | Tensor (Atom "cp" :: _) -> "Comp"
  807 + | Tensor [_;cat;_;_] -> extract_pos_cat_internal vars cat
  808 + | Tensor [_;_;cat;_;_] -> extract_pos_cat_internal vars cat
  809 + | Tensor [_;_;_;cat;_;_] -> extract_pos_cat_internal vars cat
  810 + | Tensor [_;_;_;_;cat;_;_] -> extract_pos_cat_internal vars cat
  811 + | Tensor [_;_;_;_;_;cat;_;_] -> extract_pos_cat_internal vars cat
  812 + | Tensor [_;_;_;_;_;_;cat;_;_] -> extract_pos_cat_internal vars cat
  813 + (* | Tensor (pos :: cat :: _) -> (*extract_pos_cat_internal vars pos ^ "*" ^*) extract_pos_cat_internal vars cat *)
  814 + | Tensor _ as t -> print_endline ("Unknown symbol " ^ ENIAM_LCGstringOf.grammar_symbol 0 t); "Unknown"
803 | Plus l -> failwith "extract_pos_cat: ni" 815 | Plus l -> failwith "extract_pos_cat: ni"
804 | Imp(s,d,t2) -> extract_pos_cat vars s 816 | Imp(s,d,t2) -> extract_pos_cat vars s
805 | One -> failwith "extract_pos_cat: ni" 817 | One -> failwith "extract_pos_cat: ni"
@@ -822,7 +834,8 @@ let omited = StringSet.of_list ["<subst>";"<depr>";"<ppron12>";"<ppron3>";"<sieb @@ -822,7 +834,8 @@ let omited = StringSet.of_list ["<subst>";"<depr>";"<ppron12>";"<ppron3>";"<sieb
822 "<email>";"<obj-id>";"<adj>";"<apron>";"<adjc>";"<adjp>";"<adja>";"<adv>";"<ger>";"<pact>"; 834 "<email>";"<obj-id>";"<adj>";"<apron>";"<adjc>";"<adjp>";"<adja>";"<adv>";"<ger>";"<pact>";
823 "<ppas>";"<fin>";"<bedzie>";"<praet>";"<winien>";"<impt>";"<imps>";"<pred>";"<aglt>";"<inf>"; 835 "<ppas>";"<fin>";"<bedzie>";"<praet>";"<winien>";"<impt>";"<imps>";"<pred>";"<aglt>";"<inf>";
824 "<pcon>";"<pant>";"<qub>";"<comp>";"<compar>";"<conj>";"<interj>";"<sinterj>";"<burk>"; 836 "<pcon>";"<pant>";"<qub>";"<comp>";"<compar>";"<conj>";"<interj>";"<sinterj>";"<burk>";
825 - "<interp>";"<part>";"<unk>";"<building-number>";"<html-tag>";"<list-item>";"<numcomp>";"<phone-number>";"<postal-code>"] 837 + "<interp>";"<part>";"<unk>";"<building-number>";"<html-tag>";"<list-item>";"<numcomp>";
  838 + "<phone-number>";"<postal-code>";"<sentence>";"<paragraph>"]
826 839
827 let cat_tokens_sequence text_fragments g = 840 let cat_tokens_sequence text_fragments g =
828 let _,_,l = ENIAM_LCGchart.fold g (0,0,[]) (fun (m,n,l) (symbol,node1,node2,sem,layer) -> 841 let _,_,l = ENIAM_LCGchart.fold g (0,0,[]) (fun (m,n,l) (symbol,node1,node2,sem,layer) ->
lexSemantics/ENIAMadjuncts.ml
@@ -253,19 +253,19 @@ let simplify_schemata lexemes pos pos2 lemma schemata = @@ -253,19 +253,19 @@ let simplify_schemata lexemes pos pos2 lemma schemata =
253 "{" ^ String.concat ";" (PhraseSet.fold morfs [] (fun l m -> ENIAMwalStringOf.phrase m :: l)) ^ "}")))); *) 253 "{" ^ String.concat ";" (PhraseSet.fold morfs [] (fun l m -> ENIAMwalStringOf.phrase m :: l)) ^ "}")))); *)
254 schemata 254 schemata
255 255
256 -let add_adjuncts preps compreps compars pos2 (selectors,cat,has_context,schema) = 256 +let add_adjuncts preps compreps compars pos2 (selectors,cat,(*has_context,*)schema) =
257 let compreps = Xlist.rev_map compreps ENIAMwalRenderer.render_comprep in 257 let compreps = Xlist.rev_map compreps ENIAMwalRenderer.render_comprep in
258 let prepnps = Xlist.rev_map preps (fun (prep,cases) -> ENIAMwalRenderer.render_prepnp prep cases) in 258 let prepnps = Xlist.rev_map preps (fun (prep,cases) -> ENIAMwalRenderer.render_prepnp prep cases) in
259 let prepadjps = Xlist.rev_map preps (fun (prep,cases) -> ENIAMwalRenderer.render_prepadjp prep cases) in 259 let prepadjps = Xlist.rev_map preps (fun (prep,cases) -> ENIAMwalRenderer.render_prepadjp prep cases) in
260 let compars = Xlist.rev_map compars ENIAMwalRenderer.render_compar in 260 let compars = Xlist.rev_map compars ENIAMwalRenderer.render_compar in
261 match pos2 with 261 match pos2 with
262 - "verb" -> [selectors,cat,has_context,schema @ ENIAMwalRenderer.verb_adjuncts_simp @ prepnps @ prepadjps @ compreps @ compars] 262 + "verb" -> [selectors,cat,(*has_context,*)schema @ ENIAMwalRenderer.verb_adjuncts_simp @ prepnps @ prepadjps @ compreps @ compars]
263 | "noun" -> [ 263 | "noun" -> [
264 - [Nsyn,Eq,["proper"]] @ selectors,cat,has_context,ENIAMwalRenderer.proper_noun_adjuncts_simp @ prepnps @ compreps @ compars;  
265 - [Nsyn,Eq,["common"];Nsem,Eq,["measure"]] @ selectors,cat,has_context,ENIAMwalRenderer.measure_noun_adjuncts_simp @ prepnps @ compreps @ compars;  
266 - [Nsyn,Eq,["common"];Nsem,Neq,["measure"]] @ selectors,cat,has_context,ENIAMwalRenderer.common_noun_adjuncts_simp @ prepnps @ compreps @ compars]  
267 - | "adj" -> [selectors,cat,has_context,schema @ ENIAMwalRenderer.adj_adjuncts_simp @ compars]  
268 - | "adv" -> [selectors,cat,has_context,schema @ ENIAMwalRenderer.adv_adjuncts_simp @ compars] 264 + [Nsyn,Eq,["proper"]] @ selectors,cat,(*has_context,*)ENIAMwalRenderer.proper_noun_adjuncts_simp @ prepnps @ compreps @ compars;
  265 + [Nsyn,Eq,["common"];Nsem,Eq,["measure"]] @ selectors,cat,(*has_context,*)ENIAMwalRenderer.measure_noun_adjuncts_simp @ prepnps @ compreps @ compars;
  266 + [Nsyn,Eq,["common"];Nsem,Neq,["measure"]] @ selectors,cat,(*has_context,*)ENIAMwalRenderer.common_noun_adjuncts_simp @ prepnps @ compreps @ compars]
  267 + | "adj" -> [selectors,cat,(*has_context,*)schema @ ENIAMwalRenderer.adj_adjuncts_simp @ compars]
  268 + | "adv" -> [selectors,cat,(*has_context,*)schema @ ENIAMwalRenderer.adv_adjuncts_simp @ compars]
269 | _ -> [] 269 | _ -> []
270 270
271 open ENIAMlexSemanticsTypes 271 open ENIAMlexSemanticsTypes
lexSemantics/ENIAMlexSemantics.ml
@@ -23,7 +23,7 @@ open ENIAMlexSemanticsTypes @@ -23,7 +23,7 @@ open ENIAMlexSemanticsTypes
23 open ENIAMwalTypes 23 open ENIAMwalTypes
24 open Xstd 24 open Xstd
25 25
26 -let snode_values = ENIAM_LCGlexiconTypes.SelectorMap.find ENIAMcategoriesPL.selector_values ENIAM_LCGlexiconTypes.SNode 26 +(*let snode_values = ENIAM_LCGlexiconTypes.SelectorMap.find ENIAMcategoriesPL.selector_values ENIAM_LCGlexiconTypes.SNode*)
27 27
28 let find_sense m = 28 let find_sense m =
29 try 29 try
@@ -305,9 +305,9 @@ let assign_valence tokens lex_sems group = @@ -305,9 +305,9 @@ let assign_valence tokens lex_sems group =
305 let schemata = ENIAMadjuncts.simplify_schemata lexemes pos pos2 lemma schemata1 in 305 let schemata = ENIAMadjuncts.simplify_schemata lexemes pos pos2 lemma schemata1 in
306 (* Printf.printf "C %s |schemata|=%d\n" lemma (Xlist.size schemata); *) 306 (* Printf.printf "C %s |schemata|=%d\n" lemma (Xlist.size schemata); *)
307 let schemata = Xlist.rev_map schemata (fun (selectors,schema) -> 307 let schemata = Xlist.rev_map schemata (fun (selectors,schema) ->
308 - selectors,["X",["X"]],snode_values,ENIAMwalRenderer.render_simple_schema schema) in 308 + selectors,["X",["X"]],(*snode_values,*)ENIAMwalRenderer.render_simple_schema schema) in
309 let schemata = List.flatten (Xlist.rev_map schemata (ENIAMadjuncts.add_adjuncts preps compreps compars pos2)) in 309 let schemata = List.flatten (Xlist.rev_map schemata (ENIAMadjuncts.add_adjuncts preps compreps compars pos2)) in
310 - let schemata = if schemata = [] then [[],["X",["X"]],snode_values,[]] else schemata in 310 + let schemata = if schemata = [] then [[],["X",["X"]],(*snode_values,*)[]] else schemata in
311 (* Printf.printf "D %s |schemata|=%d\n" lemma (Xlist.size schemata); *) 311 (* Printf.printf "D %s |schemata|=%d\n" lemma (Xlist.size schemata); *)
312 let entries = List.flatten (Xlist.rev_map entries (ENIAMvalence.transform_lex_entry pos lemma)) in 312 let entries = List.flatten (Xlist.rev_map entries (ENIAMvalence.transform_lex_entry pos lemma)) in
313 let entries = Xlist.map entries (fun (selectors,entry) -> 313 let entries = Xlist.map entries (fun (selectors,entry) ->
lexSemantics/ENIAMlexSemanticsHTMLof.ml
@@ -60,10 +60,10 @@ let html_of_lex_sems tokens lex_sems = @@ -60,10 +60,10 @@ let html_of_lex_sems tokens lex_sems =
60 let core = Printf.sprintf "%3d %s %s" id orth lemma in 60 let core = Printf.sprintf "%3d %s %s" id orth lemma in
61 let lex_entries = Xlist.map t.lex_entries (fun (selectors,s) -> 61 let lex_entries = Xlist.map t.lex_entries (fun (selectors,s) ->
62 "&emsp;&emsp;[" ^ ENIAMcategoriesPL.string_of_selectors selectors ^ "] " ^ ENIAM_LCGstringOf.grammar_symbol 0 s) in 62 "&emsp;&emsp;[" ^ ENIAMcategoriesPL.string_of_selectors selectors ^ "] " ^ ENIAM_LCGstringOf.grammar_symbol 0 s) in
63 - let schemata = Xlist.map t.schemata (fun (selectors,cat,snode,l) -> 63 + let schemata = Xlist.map t.schemata (fun (selectors,cat,(*snode,*)l) ->
64 "&emsp;&emsp;[" ^ ENIAMcategoriesPL.string_of_selectors selectors ^ "]" ^ 64 "&emsp;&emsp;[" ^ ENIAMcategoriesPL.string_of_selectors selectors ^ "]" ^
65 String.concat "," (Xlist.map cat (fun (m,l) -> m ^ "[" ^ String.concat "," l ^ "]")) ^ 65 String.concat "," (Xlist.map cat (fun (m,l) -> m ^ "[" ^ String.concat "," l ^ "]")) ^
66 - String.concat "|" snode ^ 66 + (*String.concat "|" snode ^*)
67 " {" ^ String.concat ", " (Xlist.map l (fun (d,s) -> 67 " {" ^ String.concat ", " (Xlist.map l (fun (d,s) ->
68 ENIAM_LCGstringOf.direction d ^ ENIAM_LCGstringOf.grammar_symbol 0 s)) ^ "}") in 68 ENIAM_LCGstringOf.direction d ^ ENIAM_LCGstringOf.grammar_symbol 0 s)) ^ "}") in
69 (* let frames = Xlist.map t.frames (fun (selectors,senses,schema) -> FIXME 69 (* let frames = Xlist.map t.frames (fun (selectors,senses,schema) -> FIXME
lexSemantics/ENIAMlexSemanticsStringOf.ml
@@ -40,10 +40,10 @@ let string_of_lex_sems tokens lex_sems = @@ -40,10 +40,10 @@ let string_of_lex_sems tokens lex_sems =
40 let core = Printf.sprintf "%3d %s %s" id orth lemma in 40 let core = Printf.sprintf "%3d %s %s" id orth lemma in
41 let lex_entries = Xlist.map t.lex_entries (fun (selectors,s) -> 41 let lex_entries = Xlist.map t.lex_entries (fun (selectors,s) ->
42 "&[" ^ ENIAMcategoriesPL.string_of_selectors selectors ^ "] " ^ ENIAM_LCGstringOf.grammar_symbol 0 s) in 42 "&[" ^ ENIAMcategoriesPL.string_of_selectors selectors ^ "] " ^ ENIAM_LCGstringOf.grammar_symbol 0 s) in
43 - let schemata = Xlist.map t.schemata (fun (selectors,cat,snode,l) -> 43 + let schemata = Xlist.map t.schemata (fun (selectors,cat,(*snode,*)l) ->
44 "[" ^ ENIAMcategoriesPL.string_of_selectors selectors ^ "]" ^ 44 "[" ^ ENIAMcategoriesPL.string_of_selectors selectors ^ "]" ^
45 String.concat "," (Xlist.map cat (fun (m,l) -> m ^ "[" ^ String.concat "," l ^ "]")) ^ 45 String.concat "," (Xlist.map cat (fun (m,l) -> m ^ "[" ^ String.concat "," l ^ "]")) ^
46 - String.concat "|" snode ^ 46 + (*String.concat "|" snode ^*)
47 " {" ^ String.concat "," (Xlist.map l (fun (d,s) -> 47 " {" ^ String.concat "," (Xlist.map l (fun (d,s) ->
48 ENIAM_LCGstringOf.direction d ^ ENIAM_LCGstringOf.grammar_symbol 0 s)) ^ "}") in 48 ENIAM_LCGstringOf.direction d ^ ENIAM_LCGstringOf.grammar_symbol 0 s)) ^ "}") in
49 let frames = Xlist.map t.frames (fun f -> 49 let frames = Xlist.map t.frames (fun f ->
lexSemantics/ENIAMlexSemanticsTypes.ml
@@ -31,18 +31,18 @@ type frame = { @@ -31,18 +31,18 @@ type frame = {
31 agf: string; 31 agf: string;
32 sem_args: string list; 32 sem_args: string list;
33 rev_hipero: bool; 33 rev_hipero: bool;
34 - snode: string list; 34 + (*snode: string list;*)
35 sopinion: ENIAMwalTypes.opinion; 35 sopinion: ENIAMwalTypes.opinion;
36 fopinion: ENIAMwalTypes.opinion; 36 fopinion: ENIAMwalTypes.opinion;
37 } 37 }
38 38
39 -let empty_frame = {selectors=[]; senses=[]; cats=["X",["X"]]; positions=[]; arole=""; arole_attr=""; arev=false; agf=""; sem_args=[]; rev_hipero=false; snode=[]; 39 +let empty_frame = {selectors=[]; senses=[]; cats=["X",["X"]]; positions=[]; arole=""; arole_attr=""; arev=false; agf=""; sem_args=[]; rev_hipero=false; (*snode=[];*)
40 sopinion=ENIAMwalTypes.Nieokreslony; fopinion=ENIAMwalTypes.Nieokreslony} 40 sopinion=ENIAMwalTypes.Nieokreslony; fopinion=ENIAMwalTypes.Nieokreslony}
41 41
42 type lex_sem = { 42 type lex_sem = {
43 schemata: ((ENIAM_LCGlexiconTypes.selector * ENIAM_LCGlexiconTypes.selector_relation * string list) list * 43 schemata: ((ENIAM_LCGlexiconTypes.selector * ENIAM_LCGlexiconTypes.selector_relation * string list) list *
44 (string * string list) list * (* sensy *) 44 (string * string list) list * (* sensy *)
45 - string list * (* has_context *) 45 + (*string list **) (* has_context *)
46 (ENIAM_LCGtypes.direction * ENIAM_LCGtypes.grammar_symbol) list) list; 46 (ENIAM_LCGtypes.direction * ENIAM_LCGtypes.grammar_symbol) list) list;
47 lex_entries: ((ENIAM_LCGlexiconTypes.selector * ENIAM_LCGlexiconTypes.selector_relation * string list) list * 47 lex_entries: ((ENIAM_LCGlexiconTypes.selector * ENIAM_LCGlexiconTypes.selector_relation * string list) list *
48 ENIAM_LCGtypes.grammar_symbol) list; 48 ENIAM_LCGtypes.grammar_symbol) list;
lexSemantics/ENIAMvalence.ml
@@ -465,7 +465,8 @@ let transform_ger_schema lemma negation schema = (* FIXME: zakładam, że ger ze @@ -465,7 +465,8 @@ let transform_ger_schema lemma negation schema = (* FIXME: zakładam, że ger ze
465 | phrase -> transform_pers_phrase lemma negation "gerundial" phrase))}) 465 | phrase -> transform_pers_phrase lemma negation "gerundial" phrase))})
466 466
467 let transform_ppas_schema lemma negation mood schema = 467 let transform_ppas_schema lemma negation mood schema =
468 - if not (Xlist.fold schema false (fun b p -> if p.gf = OBJ then true else b)) then raise Not_found else 468 + if not (Xlist.fold schema false (fun b p -> if p.gf = OBJ then true else b)) then
  469 + (*failwith ("transform_ppas_schema: attempt to make ppas schema for lemma " ^ lemma ^ "without OBJ arg")*)raise Not_found else
469 Xlist.map schema (fun s -> 470 Xlist.map schema (fun s ->
470 let morfs = List.flatten (Xlist.map s.morfs (transform_comps negation mood)) in 471 let morfs = List.flatten (Xlist.map s.morfs (transform_comps negation mood)) in
471 let morfs = List.flatten (Xlist.map morfs transform_preps) in 472 let morfs = List.flatten (Xlist.map morfs transform_preps) in
lexSemantics/ENIAMwalRenderer.ml
@@ -53,7 +53,7 @@ let render_pos_entry = function @@ -53,7 +53,7 @@ let render_pos_entry = function
53 | "ppas" -> [Atom "ppas"; AVar "number"; AVar "case"; AVar "gender"; AVar "negation"] 53 | "ppas" -> [Atom "ppas"; AVar "number"; AVar "case"; AVar "gender"; AVar "negation"]
54 | "inf" -> [Atom "inf"; AVar "aspect"; AVar "negation"] 54 | "inf" -> [Atom "inf"; AVar "aspect"; AVar "negation"]
55 | "qub" -> [Atom "qub"] 55 | "qub" -> [Atom "qub"]
56 - | "compar" -> [Atom "compar"; AVar "case"] 56 + | "compar" -> [Atom "comparp"; AVar "case"]
57 | "comp" -> [Atom "comp"; AVar "ctype"] 57 | "comp" -> [Atom "comp"; AVar "ctype"]
58 | "fin" -> [Atom "pers"; AVar "negation"] 58 | "fin" -> [Atom "pers"; AVar "negation"]
59 | "praet" -> [Atom "pers"; AVar "negation"] 59 | "praet" -> [Atom "pers"; AVar "negation"]
@@ -130,7 +130,7 @@ let render_phrase = function @@ -130,7 +130,7 @@ let render_phrase = function
130 | PrepNumP(_,prep,Case case) -> Tensor[Atom "prepnump"; Atom prep; Atom case] *) 130 | PrepNumP(_,prep,Case case) -> Tensor[Atom "prepnump"; Atom prep; Atom case] *)
131 (* | ComprepNP("") -> Tensor[Atom "comprepnp"; Top]*) 131 (* | ComprepNP("") -> Tensor[Atom "comprepnp"; Top]*)
132 | ComprepNP(prep) -> Tensor[Atom "comprepnp"; Atom prep] 132 | ComprepNP(prep) -> Tensor[Atom "comprepnp"; Atom prep]
133 - | ComparP(prep,Case case) -> Tensor[Atom "compar"; Atom prep; Atom case] 133 + | ComparP(prep,Case case) -> Tensor[Atom "comparp"; Atom prep; Atom case]
134 (* | ComparPP(_,prep) -> Tensor[Atom "comparpp"; Atom prep] *) 134 (* | ComparPP(_,prep) -> Tensor[Atom "comparpp"; Atom prep] *)
135 (* | IP -> Tensor[Atom "ip";Top;Top;Top] *) 135 (* | IP -> Tensor[Atom "ip";Top;Top;Top] *)
136 | CP (ctype,Comp comp) -> Tensor[Atom "cp"; arg_of_ctype ctype; Atom comp] 136 | CP (ctype,Comp comp) -> Tensor[Atom "cp"; arg_of_ctype ctype; Atom comp]
@@ -209,7 +209,7 @@ let render_phrase_cat cat role node = function @@ -209,7 +209,7 @@ let render_phrase_cat cat role node = function
209 | PrepNumP(_,prep,Case case) -> Tensor[Atom "prepnump"; Atom prep; Atom case] *) 209 | PrepNumP(_,prep,Case case) -> Tensor[Atom "prepnump"; Atom prep; Atom case] *)
210 (* | ComprepNP("") -> Tensor[Atom "comprepnp"; Top; Atom cat; Atom role; Atom node]*) 210 (* | ComprepNP("") -> Tensor[Atom "comprepnp"; Top; Atom cat; Atom role; Atom node]*)
211 | ComprepNP(prep) -> Tensor[Atom "comprepnp"; Atom prep; Atom cat; Atom role; Atom node] 211 | ComprepNP(prep) -> Tensor[Atom "comprepnp"; Atom prep; Atom cat; Atom role; Atom node]
212 - | ComparP(prep,Case case) -> Tensor[Atom "compar"; Atom prep; Atom case; Atom cat; Atom role; Atom node] 212 + | ComparP(prep,Case case) -> Tensor[Atom "comparp"; Atom prep; Atom case; Atom cat; Atom role; Atom node]
213 (* | ComparPP(_,prep) -> Tensor[Atom "comparpp"; Atom prep; Atom cat; Atom role; Atom node] *) 213 (* | ComparPP(_,prep) -> Tensor[Atom "comparpp"; Atom prep; Atom cat; Atom role; Atom node] *)
214 (* | IP -> Tensor[Atom "ip";Top;Top;Top; Atom cat; Atom role; Atom node] *) 214 (* | IP -> Tensor[Atom "ip";Top;Top;Top; Atom cat; Atom role; Atom node] *)
215 | CP (ctype,Comp comp) -> Tensor[Atom "cp"; arg_of_ctype ctype; Atom comp; Atom cat; Atom role; Atom node] 215 | CP (ctype,Comp comp) -> Tensor[Atom "cp"; arg_of_ctype ctype; Atom comp; Atom cat; Atom role; Atom node]
@@ -367,9 +367,9 @@ let render_connected_prepadjp prep cases = @@ -367,9 +367,9 @@ let render_connected_prepadjp prep cases =
367 adjunct (postp @ (Xlist.map cases (fun case -> 367 adjunct (postp @ (Xlist.map cases (fun case ->
368 Tensor[Atom "prepadjp"; Atom prep; Atom case]))) 368 Tensor[Atom "prepadjp"; Atom prep; Atom case])))
369 369
370 -let render_compar prep = Both,Plus[One;Tensor[Atom "compar"; Atom prep; Top]] 370 +let render_compar prep = Both,Plus[One;Tensor[Atom "comparp"; Atom prep; Top]]
371 371
372 -let render_connected_compar prep = adjunct [Tensor[Atom "compar"; Atom prep; Top]] 372 +let render_connected_compar prep = adjunct [Tensor[Atom "comparp"; Atom prep; Top]]
373 373
374 let verb_adjuncts_simp = [ 374 let verb_adjuncts_simp = [
375 Both, Plus[One;Tensor[Atom "advp"; Atom "pron"]]; 375 Both, Plus[One;Tensor[Atom "advp"; Atom "pron"]];