如何使用标签概率进行文本分类?

时间:2013-10-07 09:32:10

标签: machine-learning classification mahout text-mining

我试图为学术目的解决文本分类问题。我需要将推文分类为" cloud" ,"冷","干","热","潮湿","飓风","冰","下雨","下雪","暴风雨","风"和"其他"。训练数据中的每条推文都具有针对所有标签的概率。说出消息"已经可以告诉它将是一个艰难的得分日。它现在像昨天下午一样刮风。"有21%的几率炙手可热,79%的几率有风。我已经研究过分类问题,可以预测它是风还是热或其他。但是在这个问题中,每个训练数据都具有针对所有标签的概率。我之前使用过mahout朴素贝叶斯分类器,它为给定的文本采用特定标签来构建模型。如何将各种标签的输入概率转换为任何分类器的输入?

2 个答案:

答案 0 :(得分:3)

在概率设置中,这些概率反映了训练实例的类标签的不确定性。这会影响分类器中的参数学习。

有一种自然的方法可以合并它:例如,在Naive Bayes中,在估算模型中的参数时,而不是每个单词对于文档所属的类计数为1,它会得到概率。因此,具有属于类的高概率的文档对该类的参数贡献更多。这种情况与使用EM学习多项式模型的混合时完全相同,其中您的概率与实例的成员/指标变量相同。

或者,如果您的分类器是具有softmax输出的神经网络,而不是目标输出是具有单个[1]和大量零的向量,则目标输出将成为您提供的概率向量。

不幸的是,我不知道任何可以让你融入这些想法的标准实现。

答案 1 :(得分:2)

如果您需要现成的解决方案,您可以使用支持多类分类和实例权重的学习者。假设您有k个概率为p_1, ..., p_k的类。对于每个输入实例,创建具有相同功能的k个新培训实例,并使用标签1, ..., k,并分别指定权重p_1, ..., p_k

Vowpal Wabbit就是这样一个学习者,支持使用实例权重进行多类分类。