【问题标题】:Dealing with the "StanfordTokenizer will be deprecated in version 3.2.5" Warning [closed]处理“StanfordTokenizer 将在版本 3.2.5 中被弃用”警告 [关闭]
【发布时间】:2017-12-01 11:38:39
【问题描述】:

我正在使用 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: 它在 cmets 中给出了类似的示例 class CoreNLPNERTagger(CoreNLPNERTagger) (我是通过搜索关键字“CoreNLPNERTagger”找到的)

我试图效仿那个例子,但没有用。 我认为我应该首先启动(如果这是正确的术语)coreNLP 服务器,但如果是这种情况我不知道该怎么做。

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

【问题讨论】:

  • 我投票结束这个问题,因为它是跨主题的
  • 我不明白为什么交叉发帖会使问题脱离主题。鉴于这个问题有 1k 的浏览量,这表明很多人和我有同样的问题并搜索了 SO。
  • 交叉发布问题实际上使其符合删除条件。见Is cross-posting a question on multiple Stack Exchange sites permitted?。通常我们删除它,但鉴于它有很多视图和部分好的答案,我决定不删除它并关闭它。
  • 您提供的链接不能证明这一点。检查 Faheem Mitha 对答案的评价。
  • 不幸的是,我必须遵守在 Meta 上作为答案创建的规则。如果您认为应该允许交叉发帖,请随时在meta.stackexchange.com 上创建新帖子。

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


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-12
    • 2014-12-03
    • 2020-09-10
    • 2017-08-23
    • 1970-01-01
    相关资源
    最近更新 更多