【问题标题】:TypeError: 'NLP' object is not callable [closed]TypeError:'NLP'对象不可调用[关闭]
【发布时间】:2020-11-20 05:07:15
【问题描述】:

Here's the Site

从这里我只是尝试运行网站上提供的示例代码,但出现此错误


TypeError Traceback(最近一次调用最后一次) 在 ----> 1 text = nlp("维吉尼亚种的萼片平均宽度最小。")

TypeError: 'NLP' 对象不可调用

我已经安装了所有的软件包,但仍然是什么导致了这个问题?

【问题讨论】:

  • 是的,我做到了!但我还是遇到了这个问题!
  • 显示更多代码。 nlp 在您的代码中定义在哪里?如果您使用“import nlp”导入模块 nlp,从而获得一个 nlp 命名空间,您仍然必须使用点符号(如 nlp.somemethod()

标签: python nlp nlg allennlp simplenlg


【解决方案1】:

试试看:

>>> from nlg.utils import load_spacy_model
>>> nlp = load_spacy_model()
>>> text = nlp("The virginica species has the least average sepal_width.")

我认为示例作者忘记实例化 nlp 对象,这在 spacy 库中很常见。考虑报告 nlg 项目中的问题。

【讨论】:

  • 缺少实例化,我以为它会指向 nlp = NLP(),谢谢!
  • 如果该建议解决了您的问题,请考虑接受该问题的答案。
【解决方案2】:

from NLP import NLP 是糟糕的代码,因为现在(第二次提到NLP)将影响。您将无法同时引用这两个。 (包名和它的主类同名也不是很好的做法,但这取决于包作者,而不是我们程序员)。

这样做会更好:

import NLP

# instantiate one
nlp = NLP.NLP()

# ... then do stuff with it

【讨论】:

    猜你喜欢
    • 2018-03-27
    • 1970-01-01
    • 2021-01-19
    • 1970-01-01
    • 2015-11-11
    • 1970-01-01
    • 1970-01-01
    • 2021-04-02
    • 2021-07-16
    相关资源
    最近更新 更多