我使用 Mallet 实现了一个文档分类工具,它将文档的每个页面分类到某些类别。我也尝试过 Weka,但 Mallet 在这方面比 Weka 更聪明。我的做法如下:
- 将文档页面训练到已知类别
- 测试几个示例文档 Mallet 是否识别特定类别的页面。这里 Mallet 与测试集中的已知类别相匹配。
- 如果测试成功且令人满意,则使用分类器和木槌文件在巨大的文档存储库上运行。
这部分已经实现并取得了良好的成功率。
对于我尚未训练且与已知类别不同的文本文档应返回为“不匹配”,Mallet 正在尝试从训练集中查找 Mallet 未知的文档的匹配项。
例如,我的文档中有 4 页。第1页属于A类,第3页属于B类。第2页和第4页不属于任何类。如何通过 Mallet 将第 2 页和第 4 页标记为“不匹配”?
请帮助我实现这一目标。如果我做错了什么或有任何其他工具可以给我所需的输出,请告诉我。
最佳答案
两个快速想法:
您可以为所需的置信度值指定一些阈值。例如,mallet 说第 1 页属于 A 类,置信度为 90%,请接受。如果说第 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
。
关于c# - 将 Mallet 作为二元分类器应用于文档分类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28362098/