【问题标题】:Training a basic spacy text classification model训练一个基本的 spacy 文本分类模型
【发布时间】:2021-07-23 13:40:05
【问题描述】:

我正在尝试使用 spaCy 训练一个基本的文本分类模型。我有一个文本列表,我想构建一个模型,将文本分类为outcome1outcome2。假设我的数据如下所示:

texts = ["This is the first example text",
         "This is the second example text",
         "This is yet another text"]
y = ["outcome2", "outcome1", "outcome1"]

我的问题是,我什至无法将文本处理成文档:

nlp = spacy.blank("en")

textcat = nlp.create_pipe("textcat")
textcat.add_label("outcome1")
textcat.add_label("outcome2")
textcat = nlp.add_pipe("textcat", last = True)

nlp.pipe_names
>>> ['textcat']

但是当我尝试处理任何文本时,我得到一个错误:

doc = nlp("This is a sentence")
>>> ValueError: Cannot get dimension 'nO' for model 'sparse_linear': value unset

我尝试按照this 教程(有点过时)并使用spaCy quickstart widget 设置项目,但在初始化配置文件时我一直遇到错误。我错过了什么?

【问题讨论】:

标签: python nlp spacy


【解决方案1】:

实际上我在这里找到了一个非常相似的讨论,这正是这个问题所要问的: https://github.com/explosion/spaCy/discussions/9732

讨论指出,您必须指定标签、训练模型并对其进行初始化,然后才能使用它。此外,从版本 3 开始,不建议使用您自己的训练循环进行训练,而是使用新的配置系统并让 spacy 为您处理训练。看: https://spacy.io/usage/training

【讨论】:

    猜你喜欢
    • 2020-09-07
    • 1970-01-01
    • 2021-03-23
    • 2021-06-28
    • 1970-01-01
    • 1970-01-01
    • 2021-07-03
    • 2020-05-18
    • 2020-06-18
    相关资源
    最近更新 更多