NLTK软件包和其他依赖关系的错误



我已经安装了NLTK软件包和其他依赖项,并设置了环境变量如下:

STANFORD_MODELS=/mnt/d/stanford-ner/stanford-ner-2018-10-16/classifiers/english.all.3class.distsim.crf.ser.gz:/mnt/d/stanford-ner/stanford-ner-2018-10-16/classifiers/english.muc.7class.distsim.crf.ser.gz:/mnt/d/stanford-ner/stanford-ner-2018-10-16/classifiers/english.conll.4class.distsim.crf.ser.gz
CLASSPATH=/mnt/d/stanford-ner/stanford-ner-2018-10-16/stanford-ner.jar

当我尝试访问下面的分类器时:

stanford_classifier = os.environ.get('STANFORD_MODELS').split(':')[0]
stanford_ner_path = os.environ.get('CLASSPATH').split(':')[0]
st = StanfordNERTagger(stanford_classifier, stanford_ner_path, encoding='utf-8')

我会收到以下错误。但是我不明白是什么原因导致了这个错误。

Error: Could not find or load main class edu.stanford.nlp.ie.crf.CRFClassifier
OSError: Java command failed : ['/mnt/c/Program Files (x86)/Common 
Files/Oracle/Java/javapath_target_1133041234/java.exe', '-mx1000m', '-cp', '/mnt/d/stanford-ner/stanford-ner-2018-10-16/stanford-ner.jar', 'edu.stanford.nlp.ie.crf.CRFClassifier', '-loadClassifier', '/mnt/d/stanford-ner/stanford-ner-2018-10-16/classifiers/english.all.3class.distsim.crf.ser.gz', '-textFile', '/tmp/tmpaiqclf_d', '-outputFormat', 'slashTags', '-tokenizerFactory', 'edu.stanford.nlp.process.WhitespaceTokenizer', '-tokenizerOptions', '"tokenizeNLs=false"', '-encoding', 'utf8']

我找到了这个问题的答案。我正在使用nltk == 3.4。从NLTK == 3.3及以上,Stanford NLP(POS,NER,Tokenizer)不是作为NLTK.TAG的一部分加载的,而是从NLTK.Parse.corenlp.corenlparser加载。stackoverflow答案可在stackoverflow.com/questions/13883277/13883277/stanford-parser-and-nltk/:和官方文档的github链接中,github.com/nltk/nltk/nltk/wiki/wiki/stanford-corenlp-corenlp-corenlp-api-in-nlltk。

其他信息如果您面对NER Tagger或Corenlp API的任何其他解析器,请增加如https://github.com/nltk/nltk/nltk/wiki/stanford-corenlp-corenlp-api--in-nltk/_compare/3D64E56BEDE5E6D93502360F2FCD2286B6333CBDB9 ... F33BE8B06094DAE21F1437A6CB6CB634F86AD7D83F7 BY DIMAZEST。

最新更新