多类文本分类:如果输入与类不匹配,则新类

Posted

技术标签:

【中文标题】多类文本分类:如果输入与类不匹配,则新类【英文标题】:Multiclass text classification: new class if input does not match to a class 【发布时间】:2017-11-20 03:30:18 【问题描述】:

我正在尝试将文本片段分类。我有 9 个类别,但我拥有的给定句子可以分为更多类别。我的目标是获取一段文本并找到每个句子的行业,我遇到的一个常见问题是我的训练集没有“色情”类别和带有色情材料归类为“金融”的句子。

我希望我的分类器检查句子是否可以归类到一个类,如果不能只打印不能对文本进行分类。

我正在使用 Tf-idf 矢量化器来转换句子,然后将数据提供给 LinearSVC。

谁能帮我解决这个问题? 或者任何人都可以提供任何有用的材料吗?

【问题讨论】:

【参考方案1】:

首先,“色情”文档被归类为“财务”的问题似乎与这里的另一个问题并不完全相关。我现在将解决主要问题。

设置是您拥有 9 个类别的数据,但实际的文档范围更大。问题是确定您以前没有看到过特定数据点的类似内容。这似乎更像是异常值或异常检测,而不是分类。

您必须阅读一些背景知识才能继续进行,但这里有一些要点可以帮助您入门。使用的一种策略是确定新文档是否与您集合中的其他文档“相似”。这个想法是异常值不太可能与“正常”文档相似。为此,您需要一个可靠的文档相似性度量。

您可以使用的潜在方法的概述:

找到文档的良好表示,例如 tf-idf 向量,或者更好。 对收藏中的文档进行基准测试。对于每个文档,“goodness”分数是与集合中所有其他文档的最高相似度分数。 (或者,您可以使用第 k 个最高相似度来实现一些容错。) 给定新文档,以类似的方式衡量其优良度得分。 新文档与其他文档的优度得分相比如何?非常低的善良分数是异常值的标志。

进一步阅读:

Survey 异常检测 LSA,这是一种用于文本表示和相似度计算的技术。

【讨论】:

以上是关于多类文本分类:如果输入与类不匹配,则新类的主要内容,如果未能解决你的问题,请参考以下文章

文本分类:多标签文本分类与多类文本分类

使用预先训练的BERT模型对多类文本分类进行错误分类

多类分类中的类不平衡问题

SVM 多类文本分类

如何在多类文本分类问题中平衡数据?

多类文本分类,每类一个训练样例