【问题标题】:How to implement incremental learning in NLP如何在 NLP 中实现增量学习
【发布时间】:2020-04-02 08:37:47
【问题描述】:

我们正在构建一个系统,在该系统中,我们将从最初的非常少量的训练数据开始。 工作是将传入的数据(文档,对于我们的案例)分为 2 类:A 类和 B 类。 数据是 document ,因此用户需要将 Document 分类为 Category A 或 Category B。 因此,在数据量有限的情况下,我们创建了经过训练的数据集,并开始使用经过训练的数据集预测下一个文档的类别。

现在,如果预测正确,用户将移动到下一个文档。 但是如果预测不正确,则用户输入正确的类别(假设类别 A 是系统预测的,其中对数据的正确分配应该是类别 B)。所以现在系统应该使用这种学习(B 类而不是 A 类)来近乎实时地丰富(学习)自己。

它应该只训练添加的数据,而不是已经训练的完整数据集。所以应该是增量学习。 对于分类,我们将应用朴素贝叶斯分类。

现在的问题是:

  • 我们如何实施增量训练,而不训练 每次都是整个数据集?
  • 我知道有增量学习库,例如 Vowpal Wabbit 和 奶油。对于我的情况,使用这些库会是一个很好的解决方案吗?

【问题讨论】:

  • 我正在为这种确切情况寻找解决方案,但同时使用基于深度学习的分类器..

标签: machine-learning scikit-learn nlp opennlp creme


【解决方案1】:

免责声明:我是creme 的主要开发者之一。

Creme 似乎是解决您问题的正确方法。 creme 的目标之一正是通过观察来训练观察,而不是每次都对整个数据集进行训练。

如果您想要一个使用 creme 的示例,其中数据集最初很小并随着时间的推移而增长,您可以找到一个 here

【讨论】:

    猜你喜欢
    • 2020-01-11
    • 2019-05-24
    • 2016-01-10
    • 1970-01-01
    • 2020-08-31
    • 2015-12-02
    • 1970-01-01
    • 2017-11-04
    • 2018-11-19
    相关资源
    最近更新 更多