[英]NLTK: why does nltk not recognize the CLASSPATH variable for stanford-ner?
這是我的代碼
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'
因此變量正在設置!
那有什么不對?
為什么不知道我的環境變量?
將.jar文件和環境變量從stanford-ner-3.5.2.jar
為stanford-ner.jar
顯然NLTK在nltk_internals.py
有一個name_pattern
變量,如果它匹配stanford-ner.jar
值的正則表達式,它只接受CLASSPATH
這是設置PATH的正確方法:
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文件時,黑色命令窗口會在處理文件時閃爍大約十秒鍾。 這應該返回您的結果而不會出錯。
這是我的代碼:
from nltk.tag import StanfordNERTagger
import os
os.getenv('CLASSPATH')
輸出:'/ home / user / Download /stanford-anner.jar'
from nltk.tokenize import sent_tokenize, word_tokenize
st = StanfordNERTagger("english.all.3class.distsim.crf.ser.gz")
從這里下載stanford-ner.jar
設置Classpath export CLASSPATH=/home/admin-pc/Downloads/
為我工作:p
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.