无法在R中初始化CoreNLP

我无法在运行High Sierra的Mac上访问R中的coreNLP 。 我不确定问题是什么,但似乎每次我再次尝试使coreNLP工作时,我都面临着一个不同的错误。 我有JDK 9.0.4。 请参阅下面的代码,了解我正在尝试做什么,以及阻止我的错误。

我以前的尝试我能够让initCoreNLP()运行并加载包的一些元素,但是在其他元素上会失败。 当我然后尝试运行annotateString() ,它会抛出错误Error Must initialize with 'int CoreNLP'!

我已经多次下载并重新下载了coreNLP Java存档,但仍然没有运气! 有关位于/Library/Frameworks/R.framework/Versions/3.4/Resources/library/coreNLP coreNLP R包文件夹的内容,请参阅图像。

你知道我怎样才能成功初始化coreNLP吗?

 dyn.load("/Library/Java/JavaVirtualMachines/jdk-9.0.4.jdk/Contents/Home/lib/server/libjvm.dylib") library(NLP) library(coreNLP) > downloadCoreNLP() trying URL 'http://nlp.stanford.edu/software//stanford-corenlp-full-2015-12-09.zip' Content type 'application/zip' length 403157240 bytes (384.5 MB) ================================================== downloaded 384.5 MB > initCoreNLP() [main] INFO edu.stanford.nlp.pipeline.StanfordCoreNLP - Searching for resource: StanfordCoreNLP.properties Error in rJava::.jnew("edu.stanford.nlp.pipeline.StanfordCoreNLP", basename(path)) : edu.stanford.nlp.io.RuntimeIOException: ERROR: cannot find properties file "StanfordCoreNLP.properties" in the classpath! 

coreNLP R Package文件夹的内容

根据我们的讨论。

我的感觉是你的Java / R配置依赖问题。 因此,似乎rJava依赖于所使用的java版本,而coreNLP依赖于rJava

 java <- rJava <- coreNLP 

因此我们可以将dlynlib版本设置为1.8.X,卸载rJava,重新安装rJava然后重新安装coreNLP。

在RStudio中设置特定版本的java

 dyn.load('/Library/Java/JavaVirtualMachines/jdk1.8.0_162.jdk/Contents/Home/jre/lib/server/libjvm.dylib') remove.packages("rJava") install.packages("rJava") ipak <- function(pkg){ new.pkg <- pkg[!(pkg %in% installed.packages()[, "Package"])] if (length(new.pkg)) install.packages(new.pkg, dependencies = TRUE) sapply(pkg, require, character.only = TRUE) } # usage packages <- c("NLP", "coreNLP", "rJava") ipak(packages) .jinit() .jcall("java/lang/System","S","getProperty","java.version") # run the follwoing command once # downloadCoreNLP() # <- Takes a while... initCoreNLP() example(getSentiment) sIn <- "Mother died today. Or, maybe, yesterday; I can't be sure." annoObj <- annotateString(sIn)