用于情感分析的机器学习算法的工作

Working of Machine learning algorithms for sentiment analysis

我从 here 中找到了 朴素贝叶斯分类器 的一个很好的例子。我无法理解这些步骤。

from nltk.classify import SklearnClassifier
from sklearn.naive_bayes import BernoulliNB
from sklearn.svm import SVC
train_data = [({"a": 4, "b": 1, "c": 0}, "ham"),
      ({"a": 5, "b": 2, "c": 1}, "ham"),
      ({"a": 0, "b": 3, "c": 4}, "spam"),
          ({"a": 5, "b": 1, "c": 1}, "ham"),
          ({"a": 1, "b": 4, "c": 3}, "spam")]
classif = SklearnClassifier(BernoulliNB()).train(train_data)
test_data = [{"a": 3, "b": 2, "c": 1},
             {"a": 0, "b": 3, "c": 7}]
classif.classify_many(test_data)
['ham', 'spam']
classif = SklearnClassifier(SVC(), sparse=False).train(train_data)
classif.classify_many(test_data)
['ham', 'spam']

什么是:

  1. 上面代码的特点?
  2. 情绪的实际数据?
  3. "a": 4, "b": 1, "c": 0 ?
  4. 火腿、垃圾邮件?

基本目的是了解 ML 算法的工作原理。 我是情感分析的新手。希望有人帮忙

您发布的代码示例使用无意义的数据来训练分类器。

What are :

  1. Features in the code above?
  2. "a": 4, "b": 1, "c": 0 ?
  3. ham, spam?

数组 train_data 包含名为 "a"、"b" 和 "c" 的特征。 分类类别为 "ham" 和 "spam"。情感分析可能使用类别 "positive" 和 "negative".

  1. Actual Data for sentiment?

此演示中没有实际的情绪数据。

请注意,您不会从该代码段中了解学习算法的工作原理。它只是向您显示 API 到训练分类器的黑匣子。要了解机器学习,请阅读培训的工作原理。要了解如何训练分类器(不知道训练在幕后是如何工作的),请从 NLTK 书中的 Chapter 6 开始。