处理"StanfordTokenizer将在版本3.2.5中弃用"警告

Ano*_*oah 6 python named-entity-recognition nltk stanford-nlp

我正在使用NLTK包装器测试StanfordNERTagger并出现此警告:

DeprecationWarning: The StanfordTokenizer will be deprecated in version 
3.2.5. Please use nltk.tag.corenlp.CoreNLPPOSTagger or 
nltk.tag.corenlp.CoreNLPNERTagger instead.
super(StanfordNERTagger, self).__init__(*args, **kwargs)
Run Code Online (Sandbox Code Playgroud)

我的代码看起来像这样:

from nltk import word_tokenize, pos_tag, ne_chunk
from nltk.tag import StanfordNERTagger

sentence = "Today George went to school and met his friend Peter."

# stanford's NER tagger 3 entity classification
st = StanfordNERTagger('/home/hercules/Desktop/PhD/Tools/stanford-ner-
     2017-06-09/classifiers/english.all.3class.distsim.crf.ser.gz',
     '/home/hercules/Desktop/PhD/Tools/stanford-ner-2017-06-09/stanford-
     ner.jar',
     encoding='utf-8')

tokenized_text = word_tokenize(sentence)
classified_text = st.tag(tokenized_text)

print("Stanford NER tagger:")
print(classified_text)
Run Code Online (Sandbox Code Playgroud)

我试图使用CoreNLPNERTagger,但我找不到任何示例或文档.我只发现了这个链接: 它在类CoreNLPNERTagger(CoreNLPTagger)的注释中提供类似示例(我通过搜索关键字"CoreNLPNERTagger"找到它)

我试着不遵循这个例子.我想我应该首先启动(如果这是正确的术语)coreNLP服务器,但如果是这样,我不知道如何.

如果有人有任何想法或建议,我将不胜感激.

Meh*_*che 1

嗯,我发现自己最近在使用斯坦福 POS Tagger(收到类似的警告),但标记器仍在工作。
问题是,这是一个警告,告诉您他们将更改/删除斯坦福NERTagger 类(有关警告的更多信息
我建议你做的是使用venv维护你的代码,或者只是复制模块(这就是我所做的),以便保持你的 nltk 模块保持原样(避免更新,因此坚持使用此类)。
希望这对您有帮助。