Mahout进行情绪分析

Van*_*ddy 5 machine-learning mahout sentiment-analysis

使用mahout我能够分类数据的情绪.但我陷入困惑矩阵.

我使用mahout 0.7朴素贝叶斯算法来分类推文的情绪.我使用trainnbtestnb朴素的贝叶斯分类器来训练分类器并将推文的情绪分类为"积极","消极"或"中立".

样本积极训练集

      'positive','i love my i phone'
      'positive' , it's pleasure to have i phone'  
Run Code Online (Sandbox Code Playgroud)

同样地,我准备了负面和中性的训练样本,这是一个巨大的数据集.

我提供的样本测试数据推文没有包含情绪.

  'it is nice model'
  'simply fantastic ' 
Run Code Online (Sandbox Code Playgroud)

我能够运行mahout分类算法,并将分类实例的输出作为混淆矩阵.

下一步我需要找出哪些推文表现出积极的情绪,哪些是否定的.使用分类的预期输出:用情绪标记文本.

       'negative','very bad btr life time'
      'positive' , 'i phone has excellent design features' 
Run Code Online (Sandbox Code Playgroud)

在mahout我需要实现哪种算法以获得上述格式的输出.或者需要任何自定义源实现.

为了"善意"显示数据,建议使用apache mahout提供的算法,这将适合我的Twitter数据情绪分析.

Iva*_*lik 3

一般来说,要对某些文本进行分类,您需要使用不同的先验(在您的情况下是正的和负的)运行朴素贝叶斯,然后只选择产生更大价值的一个。

Mahout 书中的摘录有一些例子。请参见清单 2:

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

....

ClassifierResult result = ctx.classifyDocument(tokens, defaultCategory);
Run Code Online (Sandbox Code Playgroud)

这里的结果应该带有“阳性”或“阴性”标签。