最近几天百度和Google口水战打得很凶,百度把搜索不公正归于垃圾信息,而Google 则反唇相讥,说靠机器、技术手段来反垃圾已经成为通行法则,百度的说法仅仅是一个借口而已。不管谁对谁错,一个不争的事实是垃圾信息已经成为如今的信息时代的公敌。
记得还在去年的时候,赶集和58的二手车栏目充斥着异地的走私车的信息,现在这些垃圾信息基本没有了,其他栏目的垃圾信息的比例也大大的降低了。但是除了这些商业型的分类信息网站,其他的很多分类信息网站中的垃圾信息依然很多。
在这里,本人愿意与各大分类信息网站的来说是比较容易实现的。实践证明,通过这些方法,列表网能够很好的将垃圾信息控制在一个可以接受的范围之内。
方法一通过提取信息里的联系方式,建立联系方式黑名单
垃圾信息制造者不管IP如何变、内容如何变,但是联系方式是不变的。我们可以根据这一点来建立联系方式黑名单数据库。目前中国用户用的最多的联系方式有:电话号码、QQ号、网址、Email地址等。这些联系方式都有一定的特征,很容易通过正则表达式提取出来。
那么具体如何建立黑名单呢?列表网的做法是:如果一条信息被用户恶评五次,那么该信息自动标记为恶评状态并隐藏。经确认的被用户投诉的信息也被置于恶评状态。当一条信息被置于恶评的时候,该恶评信息里的所有联系方式均被存入黑名单数据库中,并且出现频率字段加1。这样我们就有了联系方式黑名单数据库了,该数据库有联系方式的出现频率及最新出现时间等信息。所有这些操作除了用户投诉需要人工辨别外,其他的都是机器自动完成的。
有了这个黑名单之后就可以通过它来鉴别垃圾信息了。怎么鉴别垃圾信息呢?列表网的做法是:机器定时地对用户发布的信息进行检查。如果该信息里面含有黑名单数据库里的联系方式,并且该联系方式的出现频率大于1且最近出现的时间是半年以内,那么该信息自动删除。限定半年是给该发布者一个改过自新的机会。
以上是这个方式的简单描述。其实要实现起来还有许多的细节需要考虑,还要避免惩罚过度。比如提取联系方式之前,需要对数据进行处理,比如把1、①、Ⅰ等改为1、删除数字间的空格等;用户投诉为中介的信息不应该做恶评,而是将之改为中介,同时将联系电话放入中介数据库中,以后该中介发布房屋信息的时候系统会自动识别为中介信息。如果中介信息也被恶评的话,那么该中介以后就发不了信息了,这样有点过了。
另外,考虑一种情况,如果一个用户在培训类目里发布了大量的虚假招生信息,如果该用户想发布房屋信息,这个时候如果该用户的联系方式落入了黑名单的话他是发不了房屋信息的。一个比较好的解决方法是在黑名单数据库里增加类目字段。通过黑名单判断垃圾信息的时候还需要检查类目字段。这样就避免了以上情况的发生。
方法二鉴别并删除异地商家信息
分类信息网站的特点之一就是本地性,本地用户到分类信息网站上来看的就是本地的租房、交友、服务等信息。因此如果信息里面出现异地的电话号码的话则应该作为垃圾信息处理。这个可以通过手机属地数据库及电话区号数据库来判断。并不是所有的类目都适用这条方法的,像交友、寻人类目就不应该采用这种方法。但是像二手车类目、服务类目则完全可以采用这种方法过滤掉异地信息。
方法三限制某些类目同一天内一个用户只能发布一条信息
重复的信息太多了,对用户的体验也不好。在这里重复信息的定义是:同一个用户或商家(包括商家聘请的信息发布者)发布的内容相同或相似的信息。这些类目包括:生活服务、商务服务、培训、交友、车辆等。那么如何避免重复信息的发布呢?列表网的做法是:在这些类目中用户一天内发布的所有信息中只保留最近发布的信息,其他信息则删除。
方法四关键字过滤
最后不要忘了关键字过滤。一些有害的、敏感的关键字是肯定需要过滤的。
以上是分类信息网站可以采纳的反垃圾信息的简单的行之有效的几种方式。如果能配合贝叶斯算法过滤垃圾信息那就更完美了。
采用贝叶斯算法过滤垃圾信息的思路是:在已经人工的确认为垃圾信息及非垃圾信息的标本库中,对标本信息中的每个分词进行采样,建立分词权重数据库,属于垃圾信息中的分词权重增加,而正常信息中的分词则权重减少。当分词权重数据库建立起来之后就可以根据该数据库对新增的信息计算每个分词的权重。如果权重总值超过了预定义的某个阈值的话,那么就可以判断该信息为垃圾信息了。随着信息不断的判断及被人工纠正错误,该分词权重数据库会越来越精确,判断的准确率也会越来越高。
对于分类信息来说,不同类目的分词的权重是不一样的,因为不同类目使用到的分词的频率是有区别的。因此,应该对于不同的类目使用不同的分词权重数据库。
贝叶斯算法实现起来并不是很难,网上有现成的算法可以使用。最难的是对汉语语句的准确分词。除了需要庞大的分词数据库外,还需要若干台具有高性能CPU的服务器来对每天新增的数万条信息进行分词及权重计算。这将是一个判断精确度和成本都很高的反垃圾信息的技术。(
本文作者: