Nlp 使用Tsurgeon进行短语递归剥离

Nlp 使用Tsurgeon进行短语递归剥离,nlp,stanford-nlp,Nlp,Stanford Nlp,我想通过递归剥离修饰符来简化短语。例如,给定一棵树,其中包含两个嵌入的PP (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 rhizospher

我想通过递归剥离修饰符来简化短语。例如,给定一棵树,其中包含两个嵌入的PP

(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
将立即删除两个PPs,因为在第一次匹配后,Tsurgeon将立即再次应用相同的模式

有没有办法强迫Tsurgeon只执行一次操作,或者有其他技巧来完成此操作?

分两步尝试:

标记要删除的所需节点。 像这样:

PP=pp !<< PP !<< DELETE_ME
relabel pp DELETE_ME
DELETE_ME=pp
delete pp