diff --git a/resources/english/lexicon/rules.edn b/resources/english/lexicon/rules.edn index 449a98d16..05729aa32 100644 --- a/resources/english/lexicon/rules.edn +++ b/resources/english/lexicon/rules.edn @@ -186,11 +186,20 @@ :subcat []}} :reflexive? false :sem {:subj subj - :obj obj}}) + :obj obj}})]} - ;; 4. transitive, nonreflexive: - ;; transitive, reflexive - (let [subj (atom {:existential? false}) + {:rule :reflexive-defaults-to-false + :if {:cat :verb + :reflexive? ::unspec + :ditransitive? ::unspec} + :then [{:reflexive? false}]} + + {:rule :reflexive-transitive-verb + :if {:cat :verb + :reflexive? true + :ditransitive? false + :intransitive? false} + :then [(let [subj (atom {:existential? false}) obj (atom {:existential? false}) agr (atom :top)] {:subcat {:1 {:cat :noun @@ -204,7 +213,6 @@ :case :acc :sem obj :subcat []}} - :reflexive? true :sem {:subj subj :obj obj}})]} diff --git a/resources/english/lexicon/verbs.edn b/resources/english/lexicon/verbs.edn index eedd2c72a..c911a1b4e 100644 --- a/resources/english/lexicon/verbs.edn +++ b/resources/english/lexicon/verbs.edn @@ -82,20 +82,21 @@ (;; the 'is' or 'was' in 'is born' or 'was born' let [subj (atom {:animate? true})] - {:sense 7 - :aux? false - :sem {:pred :be-born - :subj subj - :obj :none - :iobj :none} - :subcat {:1 {:sem subj} - :2 {:cat :adjective - :phrasal? false - :pred :born - :canonical "born" - :surface "born"} - :3 []} - :exceptions exceptions}) + {:sense 7 + :reflexive? false + :aux? false + :sem {:pred :be-born + :subj subj + :obj :none + :iobj :none} + :subcat {:1 {:sem subj} + :2 {:cat :adjective + :phrasal? false + :pred :born + :canonical "born" + :surface "born"} + :3 []} + :exceptions exceptions}) ]) @@ -384,6 +385,7 @@ :sem {:pred :give} :intransitive-only? true} {:exceptions exceptions + :ditransitive? true :subcat {:2 {:cat :prep :sem {:pred :to}} :3 {:cat :noun}} @@ -614,11 +616,13 @@ [{:intransitive-only? true :sem {:pred :put}} {:exceptions exceptions + :ditransitive? true :subcat {:2 {:cat :prep :sem {:pred :on}} :3 {:cat :noun}} :sem {:pred :put-on}} {:exceptions exceptions + :ditransitive? true :subcat {:2 {:cat :prep :sem {:pred :in}} :3 {:cat :noun}}