/*-------------------------------------------------------------*/ /* NCL default mechanism for NL parsing */ /* (C) 1993 Lydia Sinapova, Zdravko Markov, II-BAS */ /*-------------------------------------------------------------*/ /* DESCRIPTION: ----------- The example refers to the coordination between clauses, verb phrases and noun phrases in NL parsing. A sentence with coordinated constituents can be thought of as obtained out of two (or more) sentences by factoring out the common parts. The problem in parsing coordinated structures consists in finding their common parts and projecting the properties of the common parts over the coordinated elements. In the example the coordinated elements are situated in isomorphic case-frame structures (Case Frames 1 and 2). The default nodes project the properties of the shared elements into these case-frame structures by deducing the values of the slots that have remained empty. REFERENCES: ---------- Markov, Z., L. Sinapova & Ch. Dichev. Default reasoning in a network environment. In: Proceedings of ECAI-90, August 6-10, 1990, Stockholm, Sweden, 431-436. Markov, Z. & Ch. Dichev. The Net-Clause Language - A Tool for Data-Driven Inference, In: Logics in AI, Proceedings of European Workshop JELIA'90, Amsterdam, The Netherlands, September 1990, LNCS, Vol.478, Springer-Verlag, 366-385. */ /*-------------------------------------------------------------*/ /*---------------------- Case Frame 1 -------------------------*/ s(Subject1): v(Verb1): o(Object1): clause1(Verb1,Subject1,Object1): /*---------------------- Case Frame 2 -------------------------*/ s(Subject2): v(Verb2): o(Object2): clause2(Verb2,Subject2,Object2): /*------------------- Default Hierarchy -----------------------*/ default(Subject2,Subject1): default(Verb2,Verb1): default(Object2,Object1): default(Object1,something). /*-------------------------------------------------------------*/ /* EXAMPLES: */ /*-------------------------------------------------------------*/ /* ?- s(tom),v(eats),o(apple),o(cake), clause1(X1,Y1,Z1),clause2(X2,Y2,Z2). X1=eats Y1=tom Z1=apple X2=eats Y2=tom Z2=cake ?- s(tom),s(bob),v(eat),clause1(X1,Y1,Z1),clause2(X2,Y2,Z2). X1=eat Y1=tom Z1=something X2=eat Y2=bob Z2=something */