接着上一篇文章:朴素贝叶斯文本分类算法java实现(一),最近一直在学习朴素贝叶斯进行文本自动分类。
为了加深理解,自己实现了多项式朴素贝叶斯对文本的自动分类。文本样本采用了搜狗提供的文本分类语料库.
相关程序已经放在github上:https://github.com/awnuxkjy/naive-bayesian
NaiveBayesMain:主函数类
DefaultStopWordsHandler:单词停用处理类
MultinomialModelNaiveBayes:多项式朴素贝叶斯实现类
TrainSampleDataManager:训练样本管理器
ChineseTokenizer:中文分词类
训练样本采用了搜狗的mini版本,该文件已经放入在lib目录下。
中文分词采用es-ik进行分词。
使用的时候,在NaiveBayesMain类改变SAMPLE_DATA值即可。
如果你使用的文本分类样本较多,在运行NaiveBayesMain是设置jvm参数,已防止溢出。
-verbose:gc -Xms1024M -Xmx1024M