---1月25日,google开始28天一次的索引库例行更新。此后,网友很快发现google的简体中文搜索不灵了,某些常见词汇如“中国历史”、“生日快乐歌”、“华盛顿邮报”等,都搜不到结果或只能搜索到很少的相关性很差的结果。同时,也有网友发现,少数简单关键词如“李白”、“历史”的搜索仍然正常,而英文搜索也正常。网易、雅虎、www2等库更新比google晚,开始还能正常搜索,但一天之后,也变得和google一样失灵了。
---此后,网上开始出现各种猜测,猜测google封了中国用户ip的有之,猜测google为了不与合作门户竞争而关闭主站的有之,猜测google将要对用户收费的有之,猜测google因政治原因被封杀的有之,猜测有人捣鬼的有之,猜测google因为例行更新而这样的有之。
---以上猜测,统统都是错的。
---作为中国最痴迷最狂热的搜索爱好者,作为以普及中文搜索为己任的人,作为屈指可数的可解释此现象的人,作为目前最了解此事,能做出最清楚解释的人,眼见网友开始被误导,搜索引擎 9238决定,给出简单但正确的解释。
---google的问题,出在中文分词上。目前,google对用户输入的简体中文关键词,不做分词就进行检索,所以导致各种奇怪现象。 ---要理解这个问题所在,要从中文搜索引擎 的特色说起。
---中文搜索引擎 ,跟英文搜索引擎 最大的区别是分词。因为中文的字与字之间是没有间隔的,人阅读的时候能自动辨别组合一个句子中的各个单字,看到的是有意义的词组。而计算机不是人,中文的单个字缺乏意义,所以要先由程序把中文词句切分成合理的字词单元。
---举例来说,这句话“第一门反后坐火炮”,人阅读时能自动分出其中的有意义单元,把它看做“第一门 反后坐 火炮”,对于计算机,这就是一个自动分词的步骤。中文搜索引擎 ,就是把所有网页上的文字,用分词程序预先切分好了,对于搜索引擎 来说,它并不认识网页上的一句话“第一门反后坐火炮”,它只知道,哪个网页中有“第一门”、“反后坐”、“火炮”这3个字词单元,你搜索其中任何一个字词单元(如“反后坐”)时,搜索引擎 就把这个网页取出来,并把所有含有“反后坐”这个字词单元的网页取出来,再按照某种算法排序,最终把搜索结果生成页面返回给用户。
---如果你把这句话 [第一门反后坐火炮] 输入搜索框检索,那么中文搜索引擎 也需要先把你这句话切成“第一门”、“反后坐”、“火炮”3个字词单元,然后去索引库里寻找含有这三个字词单元,而且这3个字词单元连在一起的网页,再按相关算法排序。
---而如果你输入 [第一门 反后坐 火炮] 三个字词单元,用组合关键词检索,那么中文搜索引擎 就去找出含有这三个字词单元的网页排序,但不再要求这三个字词单元必须相连。
---而如果搜索引擎 不对中文关键词作切词,只当做一个完整的字词单元去搜索,那么当你输入 [第一门反后坐火炮] 时,是搜不到任何结果的,因为搜索引擎 认为没有任何网页中含有“第一门反后坐火炮”这个字词单元,搜索引擎 只知道有的网页中含有连在一起的三个字词单元“第一门”、“反后坐”、“火炮”,或者只知道有连在一起的五个字词单元“第”、“一门”、“反”、“后坐”、“火炮”。 (分词的效果是一个渐渐进步的过程,目前并不完美,各家搜索引擎 也不同,有的搜索引擎 也可能把这句话分成“第”、“一门”、“反”、“后坐”、“火炮”五个字词单元)
---现在你明白google的怪现象了。因为google把所有输入的中文关键词只作为一个字词单元来搜索,但是在预先对网页做索引的时候已经对网页上含有的跟你输入关键词相同的文字作分词的,所以google认为,没有任何网页含有你输入的字词单元。除非,有些特殊网页上的文字本身就是当做一个字词单元切分的,跟你输入的搜索关键词能对上,那就能搜出来。或者,你输入的本来就是最简单的字词单元如[李白]、[历史]、[搜索],那么搜索结果仍然是正常的。 |