在版本3.2.5和#34;中不推荐处理" StanfordTokenizer。警告

时间:2017-12-01 11:38:40

标签: python nltk stanford-nlp named-entity-recognition

我正在使用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)

我的代码如下所示:

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)

我尝试使用CoreNLPNERTagger但我找不到任何示例或文档。 我才发现这个link: 它给出了类似于评论中的一个例子 class CoreNLPNERTagger(CoreNLPTagger)(我通过搜索关键字" CoreNLPNERTagger&#34找到它;)

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

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

1 个答案:

答案 0 :(得分:0)

我最近发现自己与斯坦福POS Tagger一起工作(得到了类似的警告),但是标签机仍然在工作。
问题是,这是一个警告,告诉您他们将更改/删除StanfordNERTagger类(有关warning的更多信息)。
我建议你做的是用venv维护你的代码或者只是复制模块(这就是我所做的),例如为了保持你的nltk模块的方式(避免更新因此坚持这个类) 。
希望这会对你有所帮助。