2014-02-20 34 views
3

我想運行需要stanford postagger.jar的代碼。但我有此錯誤:ValueError:無法找到hazm庫-python的stanford-postagger.jar文件NLP

File "/usr/lib/python2.7/site-packages/nltk/internals.py", line 562, in find_jar 
    (name, path_to_jar)) 
ValueError: Could not find stanford-postagger.jar jar file at resources/stanford-postagger.jar 

我如何解決這個錯誤?

編輯: 我從hazm模塊使用:

from hazm import POSTagger 
tagger = POSTagger() 
tagger.tag(word_tokenize('ما بسیار کتاب می‌خوانیم')) 

和完整的結果:

Traceback (most recent call last): 
    File "pyt.py", line 8, in <module> 
    tagger = POSTagger() 
    File "/home/vahid/dev/hazm/hazm/POSTagger.py", line 14, in __init__ 
    super(stanford.POSTagger, self).__init__(*args, **kwargs) 
    File "/usr/lib/python2.7/site-packages/nltk/tag/stanford.py", line 42, in __init__ 
    verbose=verbose) 
    File "/usr/lib/python2.7/site-packages/nltk/internals.py", line 562, in find_jar 
    (name, path_to_jar)) 
ValueError: Could not find stanford-postagger.jar jar file at resources/stanford-postagger.jar 
+0

h你有沒有得到錯誤?你的代碼是什麼? – alvas

+0

@alvas,我編輯的問題 –

回答

5

,您首先需要從斯坦福postagger.jar文件,也培養自己的惡搞。但hazm dev已經好心地上傳了您需要的資源目錄:http://dl.dropboxusercontent.com/u/90405495/resources.zip

您需要將文件夾解壓並保存到運行腳本的目錄中。

例如:

$ mkdir testdir 
$ wget https://github.com/sobhe/hazm/archive/master.zip 
$ unzip master.zip -d testdir 
$ cd testdir 
$ mv hazm-master/hazm/ . 
$ wget http://dl.dropboxusercontent.com/u/90405495/resources.zip 
$ unzip resources.zip -d . 
$ python 
Python 2.7.5+ (default, Sep 19 2013, 13:48:49) 
[GCC 4.8.1] on linux2 
Type "help", "copyright", "credits" or "license" for more information. 
>>> import hazm 
>>> tagger = hazm.POSTagger() 
>>> tagger.tag(hazm.word_tokenize(u'ما بسیار کتاب می‌خوانیم')) 
[(u'\u0645\u0627', u'PR'), (u'\u0628\u0633\u06cc\u0627\u0631', u'ADV'), (u'\u06a9\u062a\u0627\u0628', u'N'), (u'\u0645\u06cc\u200c\u062e\u0648\u0627\u0646\u06cc\u0645', u'V')] 
1

你只需要確保
1 - 你必須安裝java
2 - 你有JDK安裝
3- java的路徑添加到環境變量
4 - 將JDK PATH添加到環境變量
5-設置環境變量中的JAVA_HOME變量