【问题标题】:Text Classification - Handling text that does not fit into any category文本分类 - 处理不属于任何类别的文本
【发布时间】:2021-08-03 02:43:14
【问题描述】:

我正在开发一个文本分类器,并找到了一些可靠的选项。然而,我正在努力解决的一件事是处理不适合任何预定义类别的文本。这肯定会是我们在真实数据中看到的东西,所以我需要了解如何处理它。

我注意到,当我查看 predict_proba 输出时,(对于 naive bayes/boosting)值需要加起来为 1。我认为这是一个问题,因为如果文本不符合任何类别,算法仍然需要输出等于一,它仍然会为该文本分配一些任意标签,即使它确实不应该。

我已经提出了一些解决方案来获取 0.90 阈值内的最大概率并分配该类别,但我觉得这可能不是最好的方法。

有人对我可以尝试解决的一些方法有什么建议吗?

谢谢

【问题讨论】:

    标签: python nlp text-classification


    【解决方案1】:
    • 文本有时是否有多个类别? -> 勾选多标签分类

    多标签分类中,文本可以属于零个、一个或多个类别。一个简单的实现是 One-VS-Rest 方法。 (考虑每个类别的分类器,对 True 或 False 进行分类,如果所有这些分类器都分类为 False,则样本不属于任何类别。)当预测多个类别并且您只想要一个。

    • 文本是否只有零个或一个类别? -> 添加一个No Category Class

    这个no category class应该针对没有类别的样本进行预测。当然,您需要有这种方法的训练样本。

    当然,您使用 阈值 的方法也很有意义,但很难将此阈值调整到完美水平,因此我会使用无类别类或多标签方法.

    【讨论】:

    • 您是否需要指定任何参数以允许文本不适合任何类别?我使用 sklearn 中的 'onevsrestclassifier' 来包装梯度提升分类器,但是 predict_proba 的输出仍然加起来为 1,即使我只是输入“fhasdjkfal”
    猜你喜欢
    • 2020-08-19
    • 2016-03-24
    • 2016-08-05
    • 2021-06-28
    • 2011-12-29
    • 2011-08-03
    • 2018-12-01
    • 2022-01-19
    • 1970-01-01
    相关资源
    最近更新 更多