这一失败使辛格花了多年时间,试图改进谷歌对姓名的搜索结果因为姓名占总搜索量高达8%。为了解决这一问题,他不得不掌握bi-gram 拆分,也就是将多个词分割成独立的单元。比如,new york合在一起组成一个bi-gram,指的是纽约。但也有三个字的情况,比如new york times,意思是纽约时报,很明显二者指的不是同一样东西。如果用户输入的是new york times square,意思又变成了纽约时代广场。人类可以很容易做出区分,而谷歌不是由人工控制的,它依靠的是算法。
Mike Siwek这一搜索可以解释谷歌是如何解决这一问题的。辛格输入显示代码的命令后,我们就可以看到信号是如何决定搜索结果排序的:通过bi-gram可以确定mike siwek是一个人名,lawyer是一个同义词,mi是一个地名。辛格说:从工程师的角度进行解构,系统会对这些词进行分割,它会发现lawyer不是姓氏,siwek不是中间名。同时lawyer也不是密歇根的一个镇,因此它是attorney的同义词。
谷歌一直在不断改进。近期,谷歌工程师莫琳海曼斯(Maureen Heymans)发现了Cindy Louise Greenslade的搜索结果的问题。用户输入这些单词时,算法会认为应该找一个名叫Cindy Louise的人,于是在加利福尼亚的加登格罗夫市找到了一名心理学家,却没有把姓名为Cindy Louise Greenslade的人的网页放在结果的前十名。海曼斯发现,这是因为Cindy Louise Greenslade习惯将名字缩写成Cindy L. Greenslade。她表示:我们的搜索引擎应该更聪明一点。于是她增加了一个信号,用来寻找中间名的缩写。现在正确的结果已经被排在了第五位。
然而,即使必应对算法进行改进,谷歌很可能做出同样的更改。这就是谷歌成为这样一个令人生畏的对手的原因,它已经开发出了一个足够敏捷的机器,以致可以吸收任何可能对其造成威胁的创新同时提供着对手无法匹敌的高质量搜索结果。任何人都可以发明一种买机票的新方法,但只有谷歌知道如何找到 Mike Siwek。(钦亮)