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

标签 java stanford-nlp

我正在尝试在标准解析树上实现 TSurgeon(来自 core-nlp api)。我想要执行的操作是向我找到的节点添加一个前缀(例如,找到的节点是 NN,我想将其重命名为 Skip-NN)

我正在尝试的是:

TsurgeonPattern surgery = Tsurgeon.parseOperation("relabel target Skip-target");
for (TregexPattern pat : patterns) {
    Tsurgeon.processPattern(pat, surgery, tree).pennPrint();
}

TregexPattern 使用的一个示例是 NP << NP=target

尽管您可能猜到结果类似于:

NP -> "Skip-target"而不是NP -> "Skip-NP"

我对使用 TSurgeon 还很陌生,不确定在哪里寻找有关此类问题的信息。

编辑:基本上就是我要问的;有没有办法在重新标记节点时使用节点的当前标签

最佳答案

您应该能够为此使用正则表达式。类似的东西

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

虽然您必须小心您的模式,但它必须忽略以 Skip- 开头的节点。

关于java - TSurgeon - 使用旧值重新标记节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23231248/

相关文章:

java - 如何使用 Open nlp 的分块解析器提取名词短语

java - 在JAVA中使用Stanford nlp提取基于POS标记句子的语言结构

java - 错误 : Could not find or load main class edu. stanford.nlp.international.arabic.process.ArabicSegmenter

java - spring websocket使整个项目返回404

java - 在 EntityMode.DOM4J session 中使用条件时出现 Hibernate NullPointerException

java - 线程中出现异常 "AWT-EventQueue-2"java.lang.NoClassDefFoundError

java - 在 Java 8 中使用流反转 map

java - 如何从 Stanford Core NLP 包中获取短语级情绪

java - Java中不同对象解析json文件的常用方法

java - NLP - 确定一段文本是否在谈论给定的主题?