在文档分类中应用 Mallet 作为二元分类器

Posted

技术标签:

【中文标题】在文档分类中应用 Mallet 作为二元分类器【英文标题】:Applying Mallet in document classification as binary classifier 【发布时间】:2015-04-06 09:05:08 【问题描述】:

我已经使用 Mallet 实现了一个文档分类工具,它将文档的每一页分类到某些类别。我也尝试过 Weka,但 Mallet 在这方面比 Weka 更聪明。我的做法如下:

    将文档的页面训练到已知类别 测试几个样本文档 Mallet 是否识别某个类别的页面。此处 Mallet 将测试集中与已知类别相匹配。 如果测试成功且令人满意,则使用分类器和槌文件在巨大的文档存储库上运行。

这部分已经实现,成功率很高。

对于我未训练且与已知类别不同的​​文本文档应返回为 NO Match,Mallet 正在尝试从训练集中为 Mallet 未知的文档查找匹配项。

例如,我在一个文档中有 4 页。第 1 页属于 A 类,第 3 页属于 B 类。第 2 页和第 4 页不属于任何类。如何通过 Mallet 将第 2 页和第 4 页标记为“不匹配”?

请帮助我实现这一目标。如果我做错了什么或任何其他工具可以给我想要的输出,请告诉我。

【问题讨论】:

【参考方案1】:

两个快速的想法:

    您可以为所需的置信度值提供一些阈值。例如,mallet 以 90% 的置信度说第 1 页属于 A 类,接受它。如果说第 2 页属于 C 类,有 60% 的置信度,这是最好的值,可能会拒绝该建议。您可以通过函数-getClassificationScores (documentation: http://mallet.cs.umass.edu/api/cc/mallet/classify/MaxEnt.html#getClassificationScores(cc.mallet.types.Instance, double[])获取分类的分数

    你可以在 python 中学习 scikit-learn。我听说如果它不知道你的页面属于哪个类,它会告诉NA

【讨论】:

感谢您的建议。我已经在使用您提到的第一点。我保持阈值,即 60%,低于 60% 的置信度,我正在丢弃。需要通过 scikit-learn 工具和算法。

以上是关于在文档分类中应用 Mallet 作为二元分类器的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 OpenCV RTrees 进行二元分类?

为啥 Mallet 文本分类为所有测试文件输出相同的值 1.0?

如何在 Scikit 中应用二元分类器来学习何时属性是字符串(不是 int 或 float)

文本分类分类器

分类问题MINST数据集与二元分类器

LOSS 在非常简单的 KERAS 二元分类器中没有改变