Hello,大家好,我自己做个几个私人项目经常会遇到广告或者垃圾评论,所以写了个文本过滤器。
这个项目目的是使用机器学习/人工智能来判别垃圾内容,现阶段用户输入句子会先经过分词,然后通过朴素贝叶斯模型判别成正常,色情,赌博,政治敏感四个类别。现在每个类别各使用了 100 个训练数据,辨别准确率大约为 93%。
开箱即用,快速上手
内置预训练模型以及文件缓存,开箱即用。同时使用 numpy 库做矩阵计算,判断速度非常快
准确率高
现阶段使用了 400 个训练数据,准确率达到 93%。 下载后可以通过运行
python -m unittest tests.test_bayes
得到准确率测试结果
This may takes some time
Completed 0 tasks, 20 tasks left.
Completed 5 tasks, 15 tasks left.
Completed 10 tasks, 10 tasks left.
Completed 15 tasks, 5 tasks left.
The error rate is 6.83%
测试 20 次,每次从数据集随机取出 20 个数据作为测试数据,剩下的作为训练数据。然后计算平均错误率
可定制
自己可以添加修改数据源,增加训练正确率
希望大家多提建议或者意见
1
holajamc 2017-11-09 17:17:44 +08:00
已 star~
|
3
holajamc 2017-11-09 17:21:52 +08:00
@Windsooon 用过这个 https://github.com/pakrchen/text-antispam 推荐给你参考~
|
4
huangfs 2017-11-09 17:26:24 +08:00
这个样本有点少啊。。
|
5
MaiCong 2017-11-09 17:33:24 +08:00
我曾经研究过这个垃圾过滤,找到个 datagrand 提供的接口,简单点的 curl 版:
curl 'http://fileload.datagrand.com:8080/audit' -H 'Content-Type: application/x-www-form-urlencoded; charset=UTF-8' -H 'Accept: */*' -H 'Cache-Control: no-cache' -H 'Referer: http://www.datagrand.com/demo/nlp/' --data 'text=%E6%96%87%E7%AB%A0%E4%B8%8D%E9%94%99%EF%BC%8C%E5%8A%A0V%E8%AF%A6%E8%B0%88%20sb***' --compressed | json_pp 返回: { "reaction" : 0.0153, "is_insult" : 0, "is_ad" : 0, "politic" : 0.0153, "weight_insult" : 0.2905, "weight_ad" : 0.3412, "porn" : 0.0855 } |
6
noe132 2017-11-09 20:44:14 +08:00
一直想学习了解机器学习相关的内容,不知该如何入门?应该了解一些什么技术或者资料?
|
11
noNOno 2017-11-09 22:15:42 +08:00
特征选择是用了词袋么
|