我无法在运行High Sierra的Mac上访问R中的coreNLP
。我不确定问题是什么,但似乎每当我再次尝试让coreNLP
工作时,我都面临着不同的错误。我有JDK 9.0.4。请参阅下面的代码,了解我正在尝试做什么,以及阻止我的错误。
我以前的尝试我能够让initCoreNLP()
运行并加载包的某些元素,但是在其他元素上会失败。当我尝试运行annotateString()
时,会抛出错误Error Must initialize with 'int CoreNLP'!
。
我已多次下载并重新下载coreNLP
Java存档,但仍然没有运气!有关位于coreNLP
的{{1}} R包文件夹的内容,请参阅图片。
您知道我如何成功初始化/Library/Frameworks/R.framework/Versions/3.4/Resources/library/coreNLP
吗?
coreNLP
答案 0 :(得分:1)
根据我们的讨论。
我的感觉是您的Java / R配置依赖性问题。因此,rJava
似乎取决于所使用的java
版本,而coreNLP
依赖于rJava
。
java <- rJava <- coreNLP
因此我们可以将dlynlib版本设置为1.8.X,卸载rJava,重新安装rJava然后重新安装coreNLP。
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)