使用 Tsurgeon 递归剥离短语

Using Tsurgeon for recursive stripping of phrases

我想 "simplify" 短语通过递归剥离修饰符。例如,给定一棵具有两个嵌入式 PPs

的树
(NP (NP (JJ Microbial) (NN expression)) (PP (IN in) (NP (NP (DT the) (NN rhizosphere)) (PP (IN of) (NP (NNS willows))))))

我想先推导

(NP (NP (JJ Microbial) (NN expression)) (PP (IN in) (NP (NP (DT the) (NN rhizosphere)))))

第二个

(NP (NP (JJ Microbial) (NN expression)))

但是,像这样的脚本

PP=pp !<< PP

delete PP

将立即删除两个 PP,因为在第一次匹配后,Tsurgeon 将立即再次应用相同的模式。

有没有办法强制 Tsurgeon 只应用一次操作,或者是否有其他技巧来完成此操作?

分两步尝试:

  1. 标记需要删除的节点。

像这样:

PP=pp !<< PP !<< DELETE_ME
relabel pp DELETE_ME
  1. 删除所有标记的节点。

简单地说:

DELETE_ME=pp
delete pp