gpt4 book ai didi

java - 斯坦福 corenlp 暂停并继续注释管道

转载 作者:行者123 更新时间:2023-12-01 10:44:14 25 4
gpt4 key购买 nike

通常,当您使用 corenlp 注释管道进行 NER 时,您将编写以下代码

Properties props = new Properties();
props.put("annotators", "tokenize, ssplit, pos, lemma, ner");
StanfordCoreNLP pipeline = new StanfordCoreNLP(props);
pipeline.annotate(document);

我想在上面的管道中执行句子分割,即ssplit。但随后我想删除太长的句子,然后再继续其余的管道。我一直在做的是执行句子分割,按长度过滤句子,然后通过应用整个管道(即 tokenize、ssplit、pos、lemma、ner)来执行 NER。所以本质上我已经执行了两次 tokenize 和 ssplit 。有没有更有效的方法来做到这一点?例如,执行 tokenizessplit,然后暂停管道以删除太长的句子,然后使用 poslemma 恢复管道ner

最佳答案

您可以创建两个管道对象,第二个对象采用后面的注释器。所以:

Properties props = new Properties();
props.put("annotators", "tokenize, ssplit");
StanfordCoreNLP pipeline = new StanfordCoreNLP(props);
pipeline.annotate(document);

随后:

Properties props = new Properties();
props.put("annotators", "pos, lemma, ner");
StanfordCoreNLP pipeline = new StanfordCoreNLP(props, false);
pipeline.annotate(document);

当然,请注意,如果删除中间句子,某些注释(例如字符偏移量)将变得不直观。

关于java - 斯坦福 corenlp 暂停并继续注释管道,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34279091/

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