gpt4 book ai didi

spacy - 如何为 TextCategorizer 培训创建黄金数据?

转载 作者:行者123 更新时间:2023-12-04 11:18:58 24 4
gpt4 key购买 nike

我想用以下 (text, label) 训练一个 TextCategorizer 模型对。

标签颜色:

  • 门是棕色的。
  • 谷仓是红色的。
  • 花是黄色的。

  • 标签动物:
  • 马在奔跑。
  • 鱼在跳。
  • 鸡睡着了。

  • 我正在复制 documentation for TextCategorizer 中的示例代码.
    textcat = TextCategorizer(nlp.vocab)
    losses = {}
    optimizer = nlp.begin_training()
    textcat.update([doc1, doc2], [gold1, gold2], losses=losses, sgd=optimizer)

    doc 变量大概只是 nlp("The door is brown.")等等。什么应该在 gold1gold2 ?我猜他们应该是 GoldParse对象,但我没有看到您如何在这些对象中表示文本分类信息。

    最佳答案

    根据这个例子train_textcat.py它应该类似于 {'cats': {'ANIMAL': 0, 'COLOR': 1}}如果你想训练一个多标签模型。另外,如果你只有两个类,你可以简单地使用 {'cats': {'ANIMAL': 1}}用于标签动物和 {'cats': {'ANIMAL': 0}}用于标签颜色。

    您可以使用以下最小工作示例进行单类别文本分类;

    import spacy

    nlp = spacy.load('en')

    train_data = [
    (u"That was very bad", {"cats": {"POSITIVE": 0}}),
    (u"it is so bad", {"cats": {"POSITIVE": 0}}),
    (u"so terrible", {"cats": {"POSITIVE": 0}}),
    (u"I like it", {"cats": {"POSITIVE": 1}}),
    (u"It is very good.", {"cats": {"POSITIVE": 1}}),
    (u"That was great!", {"cats": {"POSITIVE": 1}}),
    ]


    textcat = nlp.create_pipe('textcat')
    nlp.add_pipe(textcat, last=True)
    textcat.add_label('POSITIVE')
    optimizer = nlp.begin_training()
    for itn in range(100):
    for doc, gold in train_data:
    nlp.update([doc], [gold], sgd=optimizer)

    doc = nlp(u'It is good.')
    print(doc.cats)

    关于spacy - 如何为 TextCategorizer 培训创建黄金数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48834832/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com