(in-package :mt) (setf *transfer-edge-limit* 1200) ;;; Target Language Model ;; (setf *transfer-tm* ;; (namestring (make-pathname ;; :directory (namestring ;; (dir-append ;; (get-sources-dir "mt") '(:relative "mt"))) ;; :name "mrs.blm"))) ;;; Mark the input to avoid loops (defun preprocess (mrs) (let ((mrs-can (mrs::number-convert mrs))) ;;; add numbers together (loop for ep in (mrs:psoa-liszt mrs-can) do (setf (mrs:rel-pred ep) (format nil "~(ja:~a~)" (mrs:rel-pred ep)))) mrs-can)) (defun postprocess (mrs) (loop for ep in (mrs:psoa-liszt mrs) do (if (equal (mrs:rel-pred ep) (mrs:vsym "named_rel")) (setf (mrs:rel-pred ep) (format nil "~(Hi:~a~)" (mrs:rel-pred ep))))) mrs) ;;;(output-mrs1 (number-convert (mrs::extract-mrs (first lkb::*parse-record*))) 'simple t) ;; preprocess means that there are no interlingua predicates ;(defparameter *transfer-interlingua-predicates* ; '(lkb::named_rel lkb::compound_rel lkb::pron_rel))