c# - 将 Mallet 作为二元分类器应用于文档分类

标签 c# machine-learning classification document-classification mallet

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

  1. 将文档页面训练到已知类别
  2. 测试几个示例文档 Mallet 是否识别特定类别的页面。这里 Mallet 与测试集中的已知类别相匹配。
  3. 如果测试成功且令人满意,则使用分类器和木槌文件在巨大的文档存储库上运行。

这部分已经实现并取得了良好的成功率。

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

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

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

最佳答案

两个快速想法:

  1. 您可以为所需的置信度值指定一些阈值。例如,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[]) 获取分类分数

  2. 你可以用 python 进行 scikit-learn 。我听说如果它不知道你的页面属于哪个类,它会告诉NA

关于c# - 将 Mallet 作为二元分类器应用于文档分类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28362098/

相关文章:

c# - NUnit 能经得起 TestNG 吗

c# - 如何使用 SqlCommand 参数指定选择查询的架构名称

machine-learning - 近端策略优化算法论文 - "KL"操作的定义?

python - Keras 预测中缺少类标签

python - 使用 SVM Python 进行图像分类

c# - "var"在 C# 中是什么意思?

c# - 如何在不使用 API 的情况下通过 IP 地址查找位置

python - 是否可以在 Hadoop 上运行 Python 的 scikit-learn 算法?

python - torch.transforms.normalize 中的数字是什么以及如何选择它们?

machine-learning - 分类监督训练困惑