NLTK 的朴素贝叶斯分类器是不是适合商业应用?

Posted

技术标签:

【中文标题】NLTK 的朴素贝叶斯分类器是不是适合商业应用?【英文标题】:Is NLTK's naive Bayes Classifier suitable for commercial applications?NLTK 的朴素贝叶斯分类器是否适合商业应用? 【发布时间】:2011-11-23 19:30:49 【问题描述】:

我需要在两个由大约每个 15,000 个代币。我正在使用带有二进制标签的基本词袋特征提取器,我想知道如果这样的应用程序要获得许多用户,NLTK 是否足够强大以处理所有这些数据而不会显着减慢运行时间。该程序基本上将对来自潜在数千名用户的常规文本消息流进行分类。如果不合适,您是否会推荐与 NLTK 集成的其他机器学习包?

【问题讨论】:

没有NLTK学习者的经验,但我总是可以推荐scikit-learn;我在该库中实现了朴素贝叶斯类并优化了 tf-idf 矢量化器。使用 scikit 在这样一个(小!)语料库上进行朴素贝叶斯训练不应该超过几秒钟,而且应用分类器非常便宜。 【参考方案1】:

您的语料库不是很大,所以 NLTK 应该可以胜任。但是,我一般不会推荐它,它在某些地方很慢而且有问题。 Weka 是一个更强大的工具,但它可以做的更多的事实使它更难理解。如果您打算只使用朴素贝叶斯,那么自己编写代码可能是最快的。

编辑(很久以后):

试试scikit-learn,非常好用。

【讨论】:

以上是关于NLTK 的朴素贝叶斯分类器是不是适合商业应用?的主要内容,如果未能解决你的问题,请参考以下文章

scikits learn 和 nltk:朴素贝叶斯分类器性能差异很大

保存和加载测试以另一种方法对 NLTK 中的朴素贝叶斯分类器进行分类

NLTK 朴素贝叶斯分类错误

将朴素贝叶斯分类器保存在内存中

python nltk 朴素贝叶斯概率

nltk.org 使用朴素贝叶斯分类器进行句子分割的示例:.sent 如何分隔句子以及 ML 算法如何改进它?