gpt4 book ai didi

java - 在 Java 中加载 StanfordOpenNLP 模型的巨大开销?

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:24:19 24 4
gpt4 key购买 nike

我正在尝试使用 StanfordNLP 对与给定主题相关的文本 block 进行共指解析,并且在尝试加载 StanfordCoreNLP 模型时,它首先在加载模型时完全耗尽了内存,但现在仍然是加载需要 15 分钟以上。

我有这样的代码:

 public Map<Integer, CorefChain> getCoreferences(String text) {
Properties props = new Properties();
props.put("annotators", "tokenize, ssplit, pos, lemma, ner, parse, dcoref");
StanfordCoreNLP pipeline = new StanfordCoreNLP(props);
Annotation document = new Annotation(text);

pipeline.annotate(document);

return document.get(CorefCoreAnnotations.CorefChainAnnotation.class);
}

这是设计上不可避免的吗?在超过 10 秒的任何时间都不能接受的生产应用程序中,甚至可以像这样进行共指解析吗?

最佳答案

是的,如果你不实例化 StanfordCoreNLP 会快得多在你的方法里面。将其存储为类变量。

更具体地说,将以下内容移到您的方法之外:

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

希望对您有所帮助! ;)

关于java - 在 Java 中加载 StanfordOpenNLP 模型的巨大开销?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24194606/

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