NLTK: why does nltk not recognize the CLASSPATH va

2019-06-18 04:54发布

This is my code

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

And i get

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

This is what my .bashrc looks like in 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

Also, i tried printing the environmental variable in python this way

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

And i recieve

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

Therefore the variables are being SET!

What is wrong then?

Why doe'snt nltk recognize my environmental variables?

3条回答
Ridiculous、
2楼-- · 2019-06-18 05:29

change the .jar file and the environmental variable from stanford-ner-3.5.2.jar to stanford-ner.jar

apparently NLTK has a name_pattern variable in nltk_internals.py which only accepts the CLASSPATH if it matches a regex of the value stanford-ner.jar

查看更多
可以哭但决不认输i
3楼-- · 2019-06-18 05:37

This is the correct way to set PATH:

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

Give the correct path to locate both file. If there is still a Java Environment variable error, then it means your Java Environment is not configured. To set this, go to 'My Computer -> Properties -> Advanced Setting'. There are videos showing what these settings do. Once you've done this, if the environment is properly set then when you run the python file a black command window will splash for around ten seconds while it processes your file. This should return your result without error.

查看更多
爷的心禁止访问
4楼-- · 2019-06-18 05:41

Here is my Code:

from nltk.tag import StanfordNERTagger
import os

os.getenv('CLASSPATH')

OUTPUT: '/home/user/Downloads/stanford-ner.jar'

from nltk.tokenize import sent_tokenize, word_tokenize

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

Download stanford-ner.jar from here

Set Classpath export CLASSPATH=/home/admin-pc/Downloads/

Worked For Me :p

查看更多
登录 后发表回答