Java TSurgeon-使用旧值重新标记节点

Java TSurgeon-使用旧值重新标记节点,java,stanford-nlp,Java,Stanford Nlp,我试图在standford解析树上实现TSurgeon(来自核心NLPAPI)。我的预期操作将为我找到的节点添加前缀(例如,找到的节点是NN,我想将其重命名为Skip NN) 我尝试的是: TsurgeonPattern surgery = Tsurgeon.parseOperation("relabel target Skip-target"); for (TregexPattern pat : patterns) { Tsurgeon.processPattern(pat, surg

我试图在standford解析树上实现TSurgeon(来自核心NLPAPI)。我的预期操作将为我找到的节点添加前缀(例如,找到的节点是NN,我想将其重命名为Skip NN)

我尝试的是:

TsurgeonPattern surgery = Tsurgeon.parseOperation("relabel target Skip-target");
for (TregexPattern pat : patterns) {
    Tsurgeon.processPattern(pat, surgery, tree).pennPrint();
}
使用的TregexPattern的一个示例是
NP“Skip target”
,而不是
NP->“Skip NP”

我对使用TSurgeon非常陌生,不确定在哪里可以找到与此类问题相关的信息


编辑:基本上是我所要求的;是否有一种方法可以在重新标记节点时使用该节点的当前标签。

您应该能够为此使用正则表达式。差不多

relabel target /^(.*)$/Skip-$1/

尽管您必须小心使用您的模式,但它必须忽略以
Skip-

Ah regex开头的节点,对于我的用例来说,这非常有效。谢谢