在V2上看到被 spam 评论给弄疯了,如何有效的建立机器学习模型呢?,想起以前做论坛和信息发布平台的一些经历,也曾头痛过,总结自己以及网友的经验如下。
通过关键词库识别spam内容
如何建立关键词库
- 人工方法收集词库;
- 导入网上词库;
- 收集历史内容,然后通过分词方式抽取词;
- 使用网络上的开源spam机器学习方案;
如何运用关键词库
- 匹配前利用正则表达式去空白
- 使用正则表达式对整段内容运用关键词库进行多次匹配
- 分词然后匹配词,因为分词通常不够精准,所以除非特殊情况不建议,效率上分词加词组匹配的时间不一定会比正则快
通过联系方式特征识别spam内容
如何识别联系方式
- 数字联系方式:如④,肆等
- 网址:.com等
- 手机号、电话号等
- 邮箱
- 通讯软件:微信,咸鱼等
如何运用联系方式反spam
- 正则表达式
通过用户身份识别spam内容
如何识别用户身份
- 手机号认证
- 邮箱认证
- 微信,微博等第三方认证
- ip地址识别
- ip归属地识别
- 手机归属地识别
- 身份认证:身份证、人脸识别
如何运用身份识别反spam
- 建立手机号,邮箱,IP,归属地黑名单
- 注册、登录验证码
- 答题识别
- 邀请注册
- 付费注册
通过操作特征识别spam内容
操作特征识别
- 发布频率
- 注册时间
如何运用操作特征识别反spam
- 注册后一定时间内不允许发帖
- 发帖消耗积分
识别后的处理
- 过滤信息,进入待审核
- 禁言用户(可设置时间)
- 屏蔽账号(ip,手机号,邮箱等)
- 屏蔽归属地(可以过一个月再打开)
- 屏蔽所有用户发布信息(含用户名)
开源方案
- 使用TensorLayer训练一个垃圾文本分类器
- 敏感词过滤的几种实现+某1w词敏感词库
- 中英文敏感词、语言检测、中外手机/电话归属地/运营商查询、名字推断性别、手机号抽取、身份证抽取、邮箱抽取、中日文人名库、中文缩写库、拆字词典、词汇情感值、停用词、反动词表、暴恐词表、繁简体转换、英文模拟中文发音…