如何实现“阉割版”的谷歌?
今天爆出新闻,“阉割版”谷歌中文搜索将回归。首先,这是好事,将加强中文搜索的竞争,免得一家独大,毕竟,中国的广大网民,和巨大的消费市场,国际公司都不可忽视。
作为Google的一名老兵,在2010和之前,就经历过,谷歌经过结果审查,好听一点的词,是过滤的中文搜索的研发和运维。那么,大家肯定会好奇,过滤是如何实现的呢?到底怎么“阉割”呢?
最早的时候,Google只有一个巨大的索引,里面包括世界上所有国家,所有语言,的所有高质量的网站和网页。高质量,就是根据PageRank和用户点击计算出来的。但是,随着互联网的高速发展和Web2.0的爆发,网页实在太多了,所有东西放到一块,根本满足不了不同语言,不同国家,不同文化的需求。比如,英文,美国的网页偏多,好质量的也偏多,由于索引的总量是一定的,那么,别的语言和国家的网页能进索引的量就少了,这样,对于别的国家的网民的体验就不是太好了,很多中国网民,看到的可能是外国的中文网站或网页。
于是,Google为了解决这个问题,提出和实现了区域索引,也就是说,对于不同的地区,会建立不同的索引。在这些索引里面,控制不同语言,不同地区,不同国家,能包括进索引的网页的数量。比如,对于,欧美区域索引,包含的英文网页的量特别大。对于,中日韩区域索引,包含的中文,日文,韩文,的网页的量就很大。这样,对于中国的用户,就会使用中日韩索引,这样,就能有很多中文的,国内的网站和网页的内容,但也会有不少高质量的英文网页。
这样就很好的解决了索引对于中文搜索的覆盖的问题。接下来,就要解决结果审(过)查(滤)的问题,毕竟,很多违法的结果,和敏感性的结果,各国政府都是有要求的。不要以为只有中国有过滤问题,其实所有国家都有。比如,在欧洲,有关纳粹的内容就是非法的。
第一个层次的审(阉)查(割)是在建立索引的时候,有的网站或是网页,会直接标注为非法的网页,它们就进不了索引,那么,在搜索结果中就永远不可能出现了。其它的敏感性内容,会做网页分类和识别,在索引时打上标签,然后在搜索时,根据不同国家的法律要求,过滤掉不合规定的标签的网页。
第二个层次是使用黑白名单。在索引时没有过滤掉的,或是突发的要求,那么,黑白名单就能快速实时的起到作用。在黑名单的网页结果,会在搜索结果中被毙掉。在白名单的,如果搜索词要被屏蔽的,那么就只能从白名单里面的那些网站出结果,比如,对于中文来说,政府网站,官媒等的网页,就不会有任何问题。
第三个层次是实时过滤。管理机构会不定时的告知某些网页,或是某些搜索词是敏感词,当接到这些指令时,必须在系统设计和实现上能保障快速处理,否则,就有被拔网线的风险。在Google,是通过代理(Proxy)的机制来实现的。在国内,有几个Proxy的数据中心,里面运行的都是Proxy服务器,它们接收用户的搜索请求,然后和敏感词表进行比较。如果整个搜索词,或是部分搜索词,或是变种的搜索词,匹配了,就需要启动过滤机制。否则,就是简单的去区域索引数据中心拿到结果返回。
过滤的时候分几种情况。
如果是很严重的敏感词,一点错都不能出的,那么,就使用白名单机制的结果,这些结果一般是经过人审核的,或是政府网站内容,或是官媒内容。Proxy告诉后面的服务器,只提供白名单结果。
如果是次之的敏感词,这时,会对返回的结果的标题,摘要,甚至全文,进行敏感词的匹配,如果,有匹配的,这条结果就要拿掉,不能返回给用户。过滤和匹配,都是在Proxy进行的,比较费时费资源,也比较容易出错。
在某些情况下,可能需要对所有搜索词的所有的结果,主要是标题和摘要,进行敏感词的匹配,这样,Proxy的工作量是相当大的。
还好,Google,包括所有搜索引擎,只会关注前面的1000个高质量的相关结果,也就是说,每次最多返回1000个网页结果。这些结果,一般都会在Proxy上做缓存。这样,其实能减少不少的计算量。
技术上来说,阉割的关键是保障:匹配的正确性和反应的实时性。正确性,就不用太多解释了,如果弄错了,后果会很严重的。实时性,就是管理部门有了新的过滤需求,就的马上生效,怠慢不得。
你也许感兴趣的:
- 谷歌抛弃滚动加载——重新采用「分页」显示搜索结果
- 【外评】泄露API文档揭示谷歌搜索如何把守互联网大门
- 【外评】谷歌搜索 API 文档泄露
- 【外评】披萨上的胶水?两只脚的大象?谷歌人工智被媒体嘲讽
- 【外评】谷歌云计算 VMware 引擎 (GCVE) 私有云宕机事故
- 【外评】Flutter 是否面临死亡?
- 【外评】Flutter 团队有多大?
- 【外评】谷歌搜索结果被人工智能编写的错误代码污染,令程序员沮丧不已
- Google Reader被“代码屎山”杀死
- 谷歌裁掉整个 Python 团队!PyTorch 创始人急得直骂人:“WTF!核心语言团队无可替换”
你对本文的反应是: