使用Mahout进行情感分析

使用Mahout,我能够对数据的情感进行分类。但我现在卡在了混淆矩阵上。

我使用Mahout 0.7版本的朴素贝叶斯算法来对推文的情感进行分类。我使用trainnbtestnb朴素贝叶斯分类器来训练分类器,并将推文的情感分类为“积极”、“消极”或“中性”。

示例积极训练集

      'positive','我爱我的iPhone'      'positive' , '拥有iPhone是一种享受'  

同样,我已经准备了消极和中性的训练样本,这是一个庞大的数据集。

我提供的样本测试数据推文不包括情感。

  '这是一个不错的型号'  '简直太棒了' 

我能够运行Mahout分类算法,它会以混淆矩阵的形式输出分类实例的结果。

下一步,我需要找出哪些推文显示出积极的情感,哪些是消极的。期望的输出是使用分类来标记文本的情感。

       'negative','非常糟糕的一生'      'positive' , 'iPhone的设计功能非常出色' 

在Mahout中,我需要实现哪个算法才能以这种格式获得输出。或者是否需要自定义源代码实现?

请“友好地”建议我Apache Mahout提供的适合我进行Twitter数据情感分析的算法。


回答:

一般来说,要对某些文本进行分类,你需要运行具有不同先验概率(在你的例子中是积极和消极)的朴素贝叶斯算法,然后选择结果值较大的那个。

Mahout书籍中的这一节有一些例子。请看列表2:

Parameters p = new Parameters();p.set("basePath", modelDir.getCanonicalPath());9Datastore ds = new InMemoryBayesDatastore(p);Algorithm a = new BayesAlgorithm();ClassifierContext ctx = new ClassifierContext(a,ds);ctx.initialize();....ClassifierResult result = ctx.classifyDocument(tokens, defaultCategory);

这里的result应该包含“positive”或“negative”标签。

Related Posts

L1-L2正则化的不同系数

我想对网络的权重同时应用L1和L2正则化。然而,我找不…

使用scikit-learn的无监督方法将列表分类成不同组别,有没有办法?

我有一系列实例,每个实例都有一份列表,代表它所遵循的不…

f1_score metric in lightgbm

我想使用自定义指标f1_score来训练一个lgb模型…

通过相关系数矩阵进行特征选择

我在测试不同的算法时,如逻辑回归、高斯朴素贝叶斯、随机…

可以将机器学习库用于流式输入和输出吗?

已关闭。此问题需要更加聚焦。目前不接受回答。 想要改进…

在TensorFlow中,queue.dequeue_up_to()方法的用途是什么?

我对这个方法感到非常困惑,特别是当我发现这个令人费解的…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注