gpt4 book ai didi

java - 在 Tsurgeon 中将节点插入树时如何命名节点

转载 作者:太空宇宙 更新时间:2023-11-04 14:43:48 24 4
gpt4 key购买 nike

当我在斯坦福解析器 API 中使用 Tsurgeon 时,我想知道在将节点插入语法树时如何命名节点。

例如,我有两个操作:

Tsurgeon.parseOperation("replace predphrase (MAINVP=newpred > PLACEHOLDER)");//Step 1
Tsurgeon.parseOperation("insert predphrase >-1 > newpred")//Step 2

经过这些操作,树 (A (B=predphrase ...)) 变为 (A (MAINVP (B=predphrase ...)))。

但是我发现步骤1中未能命名MAINVP节点,而步骤2中的操作也无法找到名为newpred的节点并抛出异常。

最佳答案

您需要在单个命令中提供多个 Tsurgeon 模式,以便第二个模式可以访问第一个模式中创建的命名节点。使用方括号来执行此操作:

TsurgeonPattern t = Tsurgeon.parseOperation(
"[replace predphrase (MAINVP=newpred > PLACEHOLDER)]" +
"[insert predphrase >-1 > newpred]");

我认为您想要的更简单的修改方法如下:

[adjoinF (MAINVP > foot@) predphrase]

这会将匹配的节点 predphrase 放入新的 MAINVP 树中。

关于java - 在 Tsurgeon 中将节点插入树时如何命名节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24666572/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com