推荐书: Python开发最佳实践

Python机器学习:[1]贝叶斯文本分类器

分享时@该用户已经被封, 我就能回答你的问题奥!

最近在我的网站骂我的人比较多,想写一个语义分类器,让电脑自动屏蔽那些骂人的评论,怎么办呢?这就用到了一个机器学习的算法——贝叶斯文本分类器。这个算法很有用处,可以让电脑识别人类语言,如果加上一点心理学的知识,可以让电脑理解人类的文章并让电脑判断作者的个性特征,这就复杂了,现在我们先做一个简单的示范。

  • 首先是需要一个样本集,用于训练文本分类器:这里面用到了一个分词算法【cs.perse】,其实是一个机械分词算法,cs.py 文件的代码粘贴在最下面。
  • 下面的函数利用样本创建一个词表,也就是所有词的集合
  • 下面的函数将一个词表转换成词向量
  • 训练样本得到脏话/非脏话的词分布概率
  • 利用贝叶斯条件概率,计算输入的一句话到底是不是骂人的话,如果是骂人的话,就返回1,否则返回0
  • 最后测试一下【’fuck you! mother fucker!’】这句话,输出结果为:1

转载请注明来自DataScience.

邮箱: 675495787@qq.com