簡體   English   中英

NLTK:為什么nltk無法識別stanford-ner的CLASSPATH變量?

[英]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.jarstanford-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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM