NLTK:为什么NLTK不识别斯坦福纳的CLASSPATH变量?

2024-09-21 04:41:41 发布

您现在位置:Python中文网/ 问答频道 /正文

这是我的密码

from nltk.tag import StanfordNERTagger
st = StanfordNERTagger('english.all.3class.distsim.crf.ser.gz')

我得到了

NLTK was unable to find stanford-ner.jar! Set the CLASSPATH
  environment variable.

这就是我的.bashrc在ubuntu中的样子

export CLASSPATH=/home/wolfgang/Downloads/stanford-ner-2015-04-20/stanford-ner-3.5.2.jar
export STANFORD_MODELS=/home/wolfgang/Downloads/stanford-ner-2015-04-20/classifiers

另外,我尝试用python打印环境变量

import os
os.environ.get('CLASSPATH')

我收到了

'/home/wolfgang/Downloads/stanford-ner-2015-04-20/stanford-ner-3.5.2.jar'

因此正在设置变量!

那怎么了?

为什么nltk不能识别我的环境变量?


Tags: fromimport密码homeosdownloads环境变量export
3条回答

这是我的代码:

from nltk.tag import StanfordNERTagger
import os

os.getenv('CLASSPATH')

输出:'/home/user/Downloads/stanford ner.jar'

from nltk.tokenize import sent_tokenize, word_tokenize

st = StanfordNERTagger("english.all.3class.distsim.crf.ser.gz")

here下载stanford ner.jar

设置类路径export CLASSPATH=/home/admin-pc/Downloads/

对我有用:p

将.jar文件和环境变量从stanford-ner-3.5.2.jar更改为stanford-ner.jar

显然,NLTK在nltk_internals.py中有一个name_pattern变量,它只接受与值为stanford-ner.jar的regex匹配的类路径

这是设置路径的正确方法:

st = StanfordNERTagger('C:\Python26\Lib\stanford-ner\classifiers\english.all.3class.distsim.crf.ser.gz','C:\Python26\Lib\stanford-ner\stanford-ner.jar')

提供正确的路径来定位两个文件。如果仍然存在Java环境变量错误,则表示您的Java环境未配置。若要设置此设置,请转到“我的电脑->;属性->;高级设置”。有视频显示这些设置的作用。完成此操作后,如果环境设置正确,那么当您运行python文件时,黑色命令窗口将在处理您的文件时弹出大约10秒。这将无误地返回您的结果。

相关问题 更多 >

    热门问题