NLTKパーセプトロンタガーをロードするときに例外IOError
import nltk
nltk.data.path.append(r"E:\nltk_data")
nltk.pos_tag(["hello"])
を次のようにコードがシンプルで、エラーがURLが/C|/E|/nltk_data/tagg...
になり、なぜそれが最初にurl2pathname
を呼び出す必要がどのように来る
File "C:\Program Files (x86)\IronPython
2.7\lib\site-packages\nltk\tag\__init__.py", line 110, in pos_tag
tagger = PerceptronTagger() File "C:\Program Files (x86)\IronPython 2.7\lib\site-packages\nltk\tag\perceptron.py", line 141, in __init__
self.load(AP_MODEL_LOC) File "C:\Program Files (x86)\IronPython 2.7\lib\site-packages\nltk\tag\perceptron.py", line 209, in load
self.model.weights, self.tagdict, self.classes = load(loc) File "C:\Program Files (x86)\IronPython
2.7\lib\site-packages\nltk\data.py", line 800, in load
# Load the resource. File "C:\Program Files (x86)\IronPython 2.7\lib\site-packages\nltk\data.py", line 921, in _open
# urllib might not use mode='rb', so handle this one ourselves: File "C:\Program Files (x86)\IronPython
2.7\lib\site-packages\nltk\data.py", line 603, in find
if zipfile is None: File "C:\Program Files (x86)\IronPython 2.7\Lib\nturl2path.py", line 26, in url2pathname
raise IOError, error IOError: Bad URL: /C|/E|/nltk_data/taggers/averaged_perceptron_tagger/averaged_perceptron_tagger.pickle
です場所?私はすでにWindows上にあり、私が提供するURLはWindowsスタイルのURLです。
'NLTK'がIronPythonをサポートしているかどうかは分かりませんが、PyPyがあってもそれが壊れているケースを知っています。インストールページでは、Windows(32ビット)およびMac/Unix上でPython(特にCPython)をサポートし、 'NLTKはPython 2.7または3.2 +' http://www.nltk.org/installを必要とすることが知られています。 html =) – alvas
IronPythonは名前の中にPythonを持っていますが、実際にはPython(つまり 'CPython')ではありません。 – alvas
@alvasこの瞬間、私たちはPythonアプリケーションをIronPythonに完全に移行し、すべてがテストされました。私の結論は、NLTKはIronPythonと完全に互換性があります。 (当然のことながら、私たちが使っていないモジュールやtesteもありますが、アプリケーションはNLTKのmajortiyモジュールをほとんど使用しています) – ozgur