使用 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 只应用一次操作,或者是否有其他技巧来完成此操作?
分两步尝试:
- 标记需要删除的节点。
像这样:
PP=pp !<< PP !<< DELETE_ME
relabel pp DELETE_ME
- 删除所有标记的节点。
简单地说:
DELETE_ME=pp
delete pp
我想 "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 只应用一次操作,或者是否有其他技巧来完成此操作?
分两步尝试:
- 标记需要删除的节点。
像这样:
PP=pp !<< PP !<< DELETE_ME
relabel pp DELETE_ME
- 删除所有标记的节点。
简单地说:
DELETE_ME=pp
delete pp