Java TSurgeon-使用旧值重新标记节点
我试图在standford解析树上实现TSurgeon(来自核心NLPAPI)。我的预期操作将为我找到的节点添加前缀(例如,找到的节点是NN,我想将其重命名为Skip NN) 我尝试的是: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
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开头的节点,对于我的用例来说,这非常有效。谢谢