在文档分类中应用 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 作为二元分类器的主要内容,如果未能解决你的问题,请参考以下文章
为啥 Mallet 文本分类为所有测试文件输出相同的值 1.0?