我正在尝试实现朴素贝叶斯算法以从 csv 文件中读取推文并将它们分类为我定义的类别(例如:技术、科学、政治)
我想使用 NLTK 的朴素贝叶斯分类算法,但这个例子并不接近我需要做的。
我最大的困惑之一是我们如何提高 NB 的分类准确率?
* *我希望得到一些关于我需要采取的分类的详细步骤的指导。
- 我是否必须为手动将推文放入其中的每个类别创建单独的 csv 文件?
- 如果我执行上述操作,我将如何训练算法以及算法如何测试?**
我一直在网上研究,发现了一些简短的例子,比如 TextBlob,它利用 NLTK 的 NB 算法对推文进行情感分类。它很容易理解,但对于初学者来说很难调整。
http://stevenloria.com/how-to-build-a-text-classification-system-with-python-and-textblob/
在上面链接的示例中,当他已经将情绪放在推文旁边时,他如何实施测试?我想测试一下,我们应该隐藏第二个参数。
train = [
('I love this sandwich.', 'pos'),
('This is an amazing place!', 'pos'),
('I feel very good about these beers.', 'pos'),
('This is my best work.', 'pos'),
("What an awesome view", 'pos'),
('I do not like this restaurant', 'neg'),
('I am tired of this stuff.', 'neg'),
("I can't deal with this", 'neg'),
('He is my sworn enemy!', 'neg'),
('My boss is horrible.', 'neg')
]
test = [
('The beer was good.', 'pos'),
('I do not enjoy my job', 'neg'),
("I ain't feeling dandy today.", 'neg'),
("I feel amazing!", 'pos'),
('Gary is a friend of mine.', 'pos'),
("I can't believe I'm doing this.", 'neg')
]