PHP-如何建立一个比较准确的敏感词过滤筛选功能

UI设计界面 UI设计界面 主题:1059 回复:2190

PHP-如何建立一个比较准确的敏感词过滤筛选功能

虐人心 发布于 2016-10-27 字数 403 浏览 1552 回复 11

当项目有大量用户产生内容,或者使用爬虫采集内容时(比如新浪微博/豆瓣等)。由于一些和谐因素,对外开放的资源必须经过审核和过滤(你懂的)。

那么这里就会有建立一个基于敏感词过滤筛选功能的需求,由于是数据是不可控的,敏感词数量和范围都很大,肯定不能靠人工方式慢慢录入,那么怎么样能比较自动化建立并维护一个敏感词库呢?比如在建立搜索词库时,我们可以从一些输入法词库导入数据,是否能借鉴这种思路呢?

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

支持 Markdown 语法,需要帮助?

评论(11

灵芸 2017-09-20 11 楼

用于检测敏感词的 PHP 扩展:
http://blog.anbutu.com/php/php-ext-trie-filter

偏爱自由 2017-08-22 10 楼

首先我觉得问题本身并不是如何实现敏感词过滤的问题,因为实现起来并不是很难,但其可用性及可靠性却是非常重要的。

对于敏感词的过滤,首先我们要确定数据的来源,显然我们要处理的是输入和输出数据。词库是必须的,但传统的机械匹配已经无法满足大词汇量及词汇更新速度的要求,所以人工智能是必须采用的方式。

既然已经确定我们要采用人工智能技术实现该过滤模块,那么我们就可以确定下面我要研究的问题了。
1、如何获取词库(如果完全靠手工录入几乎不可能,这样的词库应该是可以找到的,我曾经看到过一个新浪的敏感词库,但也是翻墙之后才能看到,如今也是看不到了)
2、如何扩充词库。这里才是我们要研究的重点。如何让机器认为该次为敏感词是实现该系统自学习功能的关键。关于如何实现我也没有什么头绪了。另外还要与用户互动,通过用户的举报方式再经过人工审核确定敏感词。
3、分词技术。目前该技术已经成熟,且可以找到一些开源的搜索引擎进行参考。

以上纯属个人胡诌,仅供参考。

夜无邪 2017-08-12 9 楼

我没做过,我的想法是:使用三个状态表示:0:无敏感词,1:需审核的敏感词,2:已确认的第敏感词

使用scws分词。将敏感词当标签,使用scws匹配出来的词组则是含有敏感词的。如果敏感词不重复的超过三个以上,则将它的状态为2。少于3个的为审核数据。0为直接通过的数据。

仅供参考。

清晨说ぺ晚安 2017-07-19 8 楼

这个词库的建立,现在好像是国家工信部给的,而他们的词库则是D给的,所以,不要纠结了.是现成的,对于你自己想添加的那些词,你自己添加就OK了.总不会是海量吧.

泛泛之交 2017-05-19 7 楼

这个应该不是一两天,也不是个人能建立起来的,需要不断完善,搜集大量资料,而且可能明天就有新的敏感词出现,这个神奇的国度吧,自己只管做自己想做的,然后发布,关于河蟹这种事……交给大型组织来做好了,会有人替你做好的

泛泛之交 2017-04-26 6 楼

我觉得这类问题主要是对信息的分类。
比如说有一个网页,我要知道他的内容属于新闻还是技术讲座等等,那我们就必须要有一个衡量内容的标准,我们不可能用人为来分。
其实信息在数学中来看就是一个向量,如果两个向量之间的夹角越小,说明两个信息体内容很相近,可以规为一类。这是一个思路。你可以参考Google新闻归类。

瑾兮 2017-04-20 5 楼

现在市场上有专门做这方面的过滤系统的公司。他们的基本思路是人工+机器。将市场上的敏感词汇收集并不断更新,程序编写出各种变种的敏感词汇。就通过这样的方式进行过滤,然后定期进行更新和维护。

瑾兮 2017-02-20 3 楼

呵呵 可以投机取巧 巧用搜索引擎的过滤功能 利用在搜索引擎的返回结果作为判断词汇是否敏感

灵芸 2017-01-08 2 楼

中科院计算所开发的CTCLAS,有提供DLL的,可以参考使用

晚风撩人 2016-12-28 1 楼

词库是肯定需要的,词义的分析就比较困难。如果只是敏感词语的录入,可以参考第三方的成果。例如在用户产生大量的词语后,从百度上去搜索这些关键词,我们知道敏感词语百度会根据法律法规予以屏蔽搜索。只要程序自动分析百度搜索结果就可以大致区分需要屏蔽的词语了。最后就是加入适当的黑白名单,用于解决程序误判。