如何关闭Stanford CoreNLP消息(请参阅发布结束)?
我首先尝试在log4j.properties中设置log4j.category.edu.stanford=OFF,但这没有帮助,所以我发现它显然使用了一种称为“Redwood”的非标准日志记录框架。根据http://nlp.stanford.edu/nlp/javadoc/javanlp/,有一个文档,但是受密码保护。我尝试了RedwoodConfiguration.empty().apply();,但这也无济于事。

日志消息:

Adding annotator tokenize
Adding annotator ssplit
Adding annotator pos
Loading default properties from tagger edu/stanford/nlp/models/pos-tagger/english-left3words/english-left3words-distsim.tagger
Reading POS tagger model from edu/stanford/nlp/models/pos-tagger/english-left3words/english-left3words-distsim.tagger ... done [1,2 sec].

附言:Redwood.hideAllChannels();也无效。但是,以下内容禁止了我自己的日志记录语句(但不包括来自StanfordCoreNLP的日志记录语句):
RedwoodConfiguration.empty().apply();
Redwood.log("test redwood");

解决方案好吧,StevenC是对的,它毕竟不是日志记录语句,但是默认的初始化消息已写入stderr,我不希望看到Stanford有它自己的日志记录框架,然后就不使用它了:-)

无论如何,他的提示使我发现了这个解决方案:
// shut off the annoying intialization messages
RedwoodConfiguration.empty().captureStderr().apply();
nlp = new StanfordCoreNLP(myproperties);
// enable stderr again
RedwoodConfiguration.current().clear().apply();

最佳答案

您还可以在Redwood项目中的GitHub上找到Redwood教程PDF。

网址在此页面中:https://github.com/gangeli/redwood/blob/master/doc/tutorial.pdf

(很明显,我不能告诉您文件是否相同,因为我也不知道用户名/密码:-))

进一步讲,我将Tutorial PDF链接到实际上只是一个幻灯片。如果您想要属性文件的文档,我能找到的最好的是RedwoodConfiguration.parse方法的javadocs。实际上,其余类javadoc可能是您最好的doc了,但是没有阅读源代码。

警告...有迹象表明,GitHub上的独立Redwood代码可能与NLP代码库中的版本不同。

09-27 01:31