machine-learning - 通过关键词聚类进行主题检测

标签 machine-learning data-mining

我想根据文本中出现的关键字进行文本分类,因为我没有样本数据来使用朴素贝叶斯进行文本分类。

示例:

我的文档有一些单词“家庭,母亲,父亲, child ......”,该文档的类别是家庭。或者“足球,网球,得分......”,该类别是体育

这种情况下最好的算法是什么?。有没有针对这个问题的 api java?

最佳答案

您拥有的是特征标签,即特征而不是实例上的标签。有几种利用这些方法的方法,但通常假设除了特征标签之外还具有实例标签(即文档上的标签)。这种范式被称为“双重监督”。

无论如何,我知道至少有两种方法可以单独从标记的特征中学习。第一个是Generalized Expectation Criteria ,它会惩罚偏离先验信念的模型参数(例如,“moether”通常应该与“family”相关)。这种方法的缺点是有点复杂,但优点是在Mallet中有一个封装良好的开源Java实现。工具包(具体参见here)。

第二种选择基本上是使用朴素贝叶斯并为已知的单词/类关联提供较大的先验 - 例如,P(“family”|“mother”) = .8,或其他。所有未标记的单词都将被分配一些优先级,大概反射(reflect)了类别分布。然后,您将仅根据类别的流行程度和标记的术语信息有效地做出决策。解决proposed a model like this recently ,并且有一个可用的网络工具。

关于machine-learning - 通过关键词聚类进行主题检测,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12836973/

相关文章:

java - 如何在实际应用程序中应用任何库中的简单梯度下降算法?

machine-learning - Weka的SimpleLogistic函数是否使用正则化?

algorithm - Apriori算法-频繁项集生成

machine-learning - k 均值与 LSH 算法

tensorflow - Softmax逻辑回归: Different performance by scikit-learn and TensorFlow

machine-learning - 在 pytorch 中进行第一次 epoch 训练后系统挂起

database - Apriori 算法的数据集

python - 如何将所有 6 个字母的拉丁词提取到一个列表中?

machine-learning - 衡量机器学习模型是否过度拟合的正确方法是什么?

tensorflow - CNN Keras 对象本地化 - 错误的预测