gpt4 book ai didi

java - 如何使用斯坦福 NLP 替换句子(CoreMap)中的标记(CoreLabel)?

转载 作者:行者123 更新时间:2023-12-02 12:07:17 25 4
gpt4 key购买 nike

像往常一样,我在 for 循环 (Java) 中遍历带注释文档的句子:

for (CoreMap sentence : document.get(CoreAnnotations.SentencesAnnotation.class)) {
...
}

然后,在其中,我使用单词索引从句子中删除一个单词(例如“teacher”),使用 CoreLabel 方法将新单词文本设置为“John”setWord() 最后,我在同一索引的句子中添加更新的单词:

sentence.get(CoreAnnotations.TokensAnnotations.class).remove(token.get(CoreAnnotations.IndexAnnotation.class));
token.setWord("John");
sentence.get(CoreAnnotations.TokensAnnotation.class).add(token.get(CoreAnnotations.IndexAnnotation.class),token);

问题是句子保持原样。即使我在删除后立即打印句子文本,它也不会改变。难道我做错了什么?有没有更合理的方法?

最佳答案

我敢说,即使您更改了单词,您也没有更改originalText。一般来说,你应该对这些类型的转换保持警惕——它们可能会产生各种奇怪的效果(例如,你的角色偏移将被破坏),但如果你有勇气并想修复手头的错误,您应该可以通过设置来修复它:

token.setOriginalText("John");

关于java - 如何使用斯坦福 NLP 替换句子(CoreMap)中的标记(CoreLabel)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46813335/

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