Stanford NLTK NER 找不到Java SDK的问题

Stanford NLTK NER 找不到Java SDK的问题

最近使用Stanford大学的NLP包进行NER识别,通过NLTK调用相应的包。发现无法找到Java文件,但是我已经安装好了JDK。
报告如下错误:
///
NLTK was unable to find the java file!
Use software specific configuration paramaters or set the JAVAHOME environment variable.
///
原因发现没有注册相应的Java环境变量。

#解决方案一,需要注册一下环境变量:
由于我使用的是Windows系统,所以需要打开我的电脑属性找到相应环境变量按钮添加即可。
这里需要注意的是,添加完以后可能并不能马上生效,我用的是Spyder,所以需要重新启动一下Spyder。再执行python程序。

#解决方案二,文件中添加环境变量:
如果不想手动设置环境变量的话,可以在代码中加入如下行:

import os, sys
JAVA_HOME = r"C:\Program Files\Java\jdk1.8.0_191\bin\java.exe"
os.environ.setdefault(‘JAVA_HOME’, JAVA_HOME)

上面C盘的java.exe是我本地的位置。另外要注意,虽然提示的是找不到“JAVAHOME”,但实际上需要添加“JAVA_HOME”变量。
而且要注意,Windows下面绝对路径的字符串前要加“r”,这个不要忘了。

#一个例子:

import os, sys
from nltk.tag import StanfordNERTagger    

# set the JAVA_HOME environment:
JAVA_HOME = r"C:\Program Files\Java\jdk1.8.0_191\bin\java.exe"
os.environ.setdefault('JAVA_HOME', JAVA_HOME)

eng_tagger = StanfordNERTagger(model_filename=r'C:\z\model\nlp\stanford-ner-2018-02-27\classifiers\english.all.3class.distsim.crf.ser.gz',path_to_jar=r'C:\z\model\nlp\stanford-ner-2018-02-27\stanford-ner.jar')
print(eng_tagger.tag('Mr. Zhao solved this problem, who is a student from Tsinghua Univercity.'.split()))
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值