AllenNlp QA 应用程序生成 Spacy 警告:[WARNING] [W108] for every word in the document
AllenNlp QA Application produces Spacy warning: [WARNING] [W108] for every word in the document
我用 AllenNlp 创建了一个简单的问答应用程序。它曾经 运行 顺利地没有警告,但现在,对于段落中的每个标记,控制台中都会打印此 spacy 警告:
[警告][W108] 基于规则的词形还原器未找到标记 'X' 的 POS 注释。检查您的管道是否包含分配 token.pos 的组件,通常是 'tagger'+'attribute_ruler' 或 'morphologizer'.
系统版本为:
allenlp==2.1.0
空间==3.0.5
有人可以帮忙吗?
class PythonPredictor:
def __init__(self):
self.predictor = Predictor.from_path(
"https://storage.googleapis.com/allennlp-public-models/bidaf-elmo-model-2020.03.19.tar.gz")
def predict(self, passage, question):
prediction = self.predictor.predict(
passage=passage, question=question
)
return prediction["best_span_str"]
如果没有关于您的代码的更多信息,很难确定,但我怀疑这是从 spaCy 2 升级到 spaCy 3 造成的。
如果你只想得到你的旧代码运行,你可以降级spaCy;我建议锁定您的版本以避免意外更新。
如果您不使用引理,则可以忽略警告本身。如果您正在使用词条,则意味着您需要确保词条化器可以访问词性标签。如果您使用英语,这意味着您需要启用 tagger
和 attribute_ruler
管道组件。您可以在 spaCy 讨论中查看更多相关信息 here。
当我将 AllenNlp 更新到版本 2.2.0 时,我不再收到警告。
我用 AllenNlp 创建了一个简单的问答应用程序。它曾经 运行 顺利地没有警告,但现在,对于段落中的每个标记,控制台中都会打印此 spacy 警告:
[警告][W108] 基于规则的词形还原器未找到标记 'X' 的 POS 注释。检查您的管道是否包含分配 token.pos 的组件,通常是 'tagger'+'attribute_ruler' 或 'morphologizer'.
系统版本为: allenlp==2.1.0 空间==3.0.5 有人可以帮忙吗?
class PythonPredictor:
def __init__(self):
self.predictor = Predictor.from_path(
"https://storage.googleapis.com/allennlp-public-models/bidaf-elmo-model-2020.03.19.tar.gz")
def predict(self, passage, question):
prediction = self.predictor.predict(
passage=passage, question=question
)
return prediction["best_span_str"]
如果没有关于您的代码的更多信息,很难确定,但我怀疑这是从 spaCy 2 升级到 spaCy 3 造成的。
如果你只想得到你的旧代码运行,你可以降级spaCy;我建议锁定您的版本以避免意外更新。
如果您不使用引理,则可以忽略警告本身。如果您正在使用词条,则意味着您需要确保词条化器可以访问词性标签。如果您使用英语,这意味着您需要启用 tagger
和 attribute_ruler
管道组件。您可以在 spaCy 讨论中查看更多相关信息 here。
当我将 AllenNlp 更新到版本 2.2.0 时,我不再收到警告。