【问题标题】:How to import Stanford POS Tagger如何导入斯坦福 POS Tagger
【发布时间】:2017-03-13 14:39:25
【问题描述】:

我正在尝试在 Python 中使用 Stanford POS Tagger。

home = 'U:/ManWin/My Documents/Research Project'
from nltk.tag.stanford import StanfordPOSTagger as POS_Tag
_path_to_model = home + '/stanford-postagger/models/english-bidirectional-distsim.tagger' 
_path_to_jar = home + '/stanford-postagger/stanford-postagger.jar'
st = POS_Tag(path_to_model=_path_to_model, path_to_jar=_path_to_jar)

已从此处复制答案的最后一行:Python NLTK pos_tag not returning the correct part-of-speech tag

得到以下错误:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "U:\Python35\site-packages\nltk\tag\stanford.py", line 136, in __init__
    super(StanfordPOSTagger, self).__init__(*args, **kwargs)
TypeError: __init__() got an unexpected keyword argument 'path_to_model'

我需要改变什么?

【问题讨论】:

  • 看起来您在这里实例化了错误的类。根据您链接到的问题的答案,导入行如下所示:from nltk.tag.stanford import POSTagger。您正在导入名为 StanordPOSTagger 的东西。

标签: python nltk typeerror stanford-nlp


【解决方案1】:

参数名称path_to_model 似乎已更改为model_filename。因此,将最后一行替换为:

st = POS_Tag(model_filename=_path_to_model, path_to_jar=_path_to_jar)

或者既然参数是有序的,就这么写:

st = POS_Tag(_path_to_model, _path_to_jar)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-03-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多