使用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

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

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