Non riesco a importare il NER Stanford Tagger in NLTK. Questo è quello che ho fatto:"ImportError: impossibile importare il nome StanfordNERTagger" in NLTK
scaricato il codice Java da here e ha aggiunto una variabile d'ambiente STANFORD_MODELS
con il percorso della cartella in cui è memorizzato il codice Java.
Questo dovrebbe essere sufficiente in base alle informazioni fornite sul sito NLTK. Dice:
"I modelli di Tagger devono essere scaricati da http://nlp.stanford.edu/software e il set di variabili di ambiente STANFORD_MODELS (un elenco di percorsi separati da due punti)."
Qualcuno potrebbe essere così gentile da aiutarmi, per favore?
EDIT: La cartella scaricata si trova in/Users/-----------/Documents/JavaJuno/Stanford-ner-2015/04/20 e contiene questi file:
LICENSE.txt lib ner.sh stanford-ner-3.5.2-javadoc.jar
NERDemo.java ner-gui.bat sample-conll-file.txt stanford-ner-3.5.2-sources.jar
README.txt ner-gui.command sample-w-time.txt stanford-ner-3.5.2.jar
build.xml ner-gui.sh sample.ner.txt stanford-ner.jar
classifiers ner.bat sample.txt
Poi ho aggiunto un ambiente STANFORD_MODELS variabili:
os.environ["STANFORD_MODELS"] = "/Users/-----------/Documents/JavaJuno/stanford-ner-2015-04-20"
chiamando da nltk.tag importazione StanfordNERTagger rese l'errore:
ImportError Traceback (most recent call last)
<ipython-input-356-f4287e573edc> in <module>()
----> 1 from nltk.tag import StanfordNERTagger
ImportError: cannot import name StanfordNERTagger
Anche nel caso in cui questo può essere rilevante, questo è ciò che è nella mia cartella nltk.tag:
__init__.py api.pyc crf.py hmm.pyc senna.py sequential.pyc stanford.py tnt.pyc
__init__.pyc brill.py crf.pyc hunpos.py senna.pyc simplify.py stanford.pyc util.py
api.py brill.pyc hmm.py hunpos.pyc sequential.py simplify.pyc tnt.py util.pyc
EDIT2: sono riuscito a importare il NER Tagger, utilizzando:
from nltk.tag.stanford import NERTagger
ma ora quando si chiama una chiamata ad esempio dal sito NLTK, ottengo:
In [360]: st = NERTagger('english.all.3class.distsim.crf.ser.gz')
---------------------------------------------------------------------------
LookupError Traceback (most recent call last)
<ipython-input-360-0c0ab770b0ff> in <module>()
----> 1 st = NERTagger('english.all.3class.distsim.crf.ser.gz')
/Library/Python/2.7/site-packages/nltk/tag/stanford.pyc in __init__(self, *args, **kwargs)
158
159 def __init__(self, *args, **kwargs):
--> 160 super(NERTagger, self).__init__(*args, **kwargs)
161
162 @property
/Library/Python/2.7/site-packages/nltk/tag/stanford.pyc in __init__(self, path_to_model, path_to_jar, encoding, verbose, java_options)
40 self._JAR, path_to_jar,
41 searchpath=(), url=_stanford_url,
---> 42 verbose=verbose)
43
44 self._stanford_model = find_file(path_to_model,
/Library/Python/2.7/site-packages/nltk/__init__.pyc in find_jar(name, path_to_jar, env_vars, searchpath, url, verbose)
595 (name, url))
596 div = '='*75
--> 597 raise LookupError('\n\n%s\n%s\n%s' % (div, msg, div))
598
599 ##########################################################################
LookupError:
===========================================================================
NLTK was unable to find stanford-ner.jar! Set the CLASSPATH
environment variable.
For more information, on stanford-ner.jar, see:
<http://nlp.stanford.edu/software>
===========================================================================
Così ho impostato in modo non corretto la variabile d'ambiente. Qualcuno può aiutarmi con quello?
hai provato uno di questi: http://stackoverflow.com/questions/8555312/instantiating-and-using-stanfordtagger-within-nltk http://stackoverflow.com/questions/23861355/ how-to-install-and-invoke-stanford-nertagger – Chrisrs2292
Ho visto solo la prima domanda, che non è stata di aiuto. La seconda domanda è fondamentalmente il mio problema, la risposta dice che questo deve essere fatto: "... mettilo [la cartella Stanford scaricata] nel posto indicato dal percorso e cambia il nome della directory nel percorso descritto nel documento NLKT qualunque nome si voglia usare per la directory ", ma non sono sicuro di come farlo. – eager2learn
Penso che stia parlando di fare ciò che è suggerito qui http://stackoverflow.com/questions/7344916/trouble-importing-stanford-pos-tagger-into-nltk potresti pubblicare il codice che stai utilizzando? – Chrisrs2292