【问题标题】:Difference between spaCy models sm, md, lgspaCy模型sm,md,lg之间的区别
【发布时间】:2019-09-11 08:12:24
【问题描述】:

我可以看到,在the English spaCy models 中,中型模型的性能优于小型模型,而大型模型的性能优于中型模型 - 但仅略胜一筹。但是,在模型的描述中,写到它们都在 OntoNotes 上接受过训练。例外是 md 和 lg 的向量,它们已在 CommonCrawl 上进行过训练。因此,如果所有模型都是在同一个数据集(OntoNotes)上训练的,唯一的区别是向量,那么为什么不需要向量的任务会有性能差异呢?我很想了解更多关于每个模型及其训练设置等的信息,但似乎这些信息并不容易获得。

【问题讨论】:

    标签: spacy language-model


    【解决方案1】:

    因此,如果所有模型都在同一个数据集 (OntoNotes) 上进行训练,并且唯一的区别是向量,那么为什么不需要向量的任务会有性能差异呢?

    我认为您正在寻找的缺失部分是:如果模型是用向量初始化的,那么这些向量将在训练期间用作特征。根据向量的不同,这可以显着提高您训练的统计模型组件的准确性。

    但是,向量可能非常大,因此您通常希望在模型大小和准确度之间找到最佳平衡点。如果在训练期间使用了向量,那么同样的向量也需要在运行时可用,并且你不能轻易地将它们换掉——否则,模型的性能会更差。 sm 模型未使用向量进行训练,允许您加载自己的向量进行相似性比较,而不会影响预训练统计组件的预测。

    TL;DR: spaCy 的 smmdlg 核心模型都在相同条件下使用相同数据进行了训练。唯一的区别是包含的向量,它们被用作特征,因此会对模型的准确性产生影响。

    【讨论】:

    • 我明白了。那么令牌的特征向量是否有助于识别它的 PoS 标签?我似乎在源代码中找不到这个。不过,这有点奇怪,性能差异如此之小,对吧?不过,我不完全确定 spaCy 的哪些部分是统计的,哪些是神经的。你有这方面的任何消息来源吗?
    • 是的,词向量为您提供了比其文本 /prefix/suffix/shape 更有用的词表示。 This video 更详细地解释了这些功能。影响取决于向量的相关程度。它并不总是那么重要,因为词向量是有限的,并不能真正反映“上下文”。这就是为什么像 BERT 这样的迁移学习和嵌入如此令人兴奋的原因。并且没有“神经与统计”的区别。预测语言特征的组件是使用神经网络实现的统计模型。
    猜你喜欢
    • 2013-11-20
    • 2015-04-28
    • 2020-07-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-02
    相关资源
    最近更新 更多