Der Code einfach ist, wieIOError beim Laden NLTK perceptron Tagger
import nltk
nltk.data.path.append(r"E:\nltk_data")
nltk.pos_tag(["hello"])
folgt und der Fehler wird
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
Wie kommt die URL wird /C|/E|/nltk_data/tagg...
und warum braucht es url2pathname
im ersten anrufen Ort? Ich bin bereits auf Windows und die URL, die ich zur Verfügung stelle, ist eine Windows-Stil-URL.
Ich bin mir nicht sicher, ob 'NLTK' IronPython unterstützt, ich kenne Fälle, in denen es sogar mit PyPy bricht. Auf der Installationsseite ist bekannt, dass 'NLTK' Python (insbesondere CPython) unter Windows (32bit) und Mac/Unix unterstützt,' NLTK benötigt Python-Versionen 2.7 oder 3.2 + 'http://www.nltk.org/install. html =) – alvas
Beachten Sie, dass IronPython, obwohl das Python innerhalb des Namens ist, nicht de facto Python (dh 'CPython') ist, wie normalerweise bezeichnet. – alvas
@alvas Ab diesem Moment migrierten wir unsere Python-Anwendung vollständig auf IronPython und alles wurde getestet. Meine Schlussfolgerung ist, dass NLTK vollständig kompatibel mit IronPython ist. (Natürlich gibt es andere Module, die wir nicht benutzt oder testet. Aber die Anwendung verwendet fast die Mehrheit der Module in NLTK) – ozgur