做好搜索(3)

在谷歌中文搜索2000年上线的时候,出现了一个严重的技术问题,谷歌中文总是把握不好“分词”的问题。有一天我看到一篇清华的分析,说在搜索引擎里面,谷歌的精确度还是不错的,甚至领先其他中文搜索网站,但是分词做得不够好,原因就在于投入不够。因为当时谷歌只有五位工作在美国的华人工程师,他们无法集中精力做好这件事情。

当系统无法准确分词时,就会闹出很多笑话。比如,用户输入“电脑”两个字,正常的情况是,页面左侧应出现“电脑”的搜索结果,右侧应该出现电脑产品广告,但因为分词的错误,可能会把“电脑”分成“电”和“脑”两个字,出现的结果和广告居然是关于“电话”和“脑白金”的,真令人啼笑皆非。

在搜索引擎领域,分词是中文特有的一个挑战,我们需要做的不是做一个符合语言学的分词,而是一个符合用户使用习惯的分词。比如说,除了要把常用词正确分开外,还应该分清最新的网上用词,比如“打酱油”、“芙蓉姐姐”等等。

而即使分词正确也仍可能造成匹配的问题。比如说,如果有一篇文章里面提到“清华大学”,但搜索“清华”,这篇文章就出不来了。但如果分词时把文章里的“清华大学”分成“清华/大学”,那么搜索“清华大学”又出不了结果了,谷歌对这个问题研究了很久。

有一天,谷歌中国工程研究院副院长刘骏跑来兴奋地说:“开复,你的语音搜索论文可以用在分词上。如果我们把中文的字当做语音,然后用语音识别的方法和统计语言模式来识别出所有可能的分词方法,那么匹配正确时,‘清华’和‘清华大学’就可能同时出来。还有,我们有这么大的网络语料库,可以训练出一个非常巨大而精确的语言模型。”后来,他带领团队真的实现了这方面的突破。

在2006年下半年到2007年上半年,我们的工程师一一检查尝试各种领域的各种搜索词,并统计出所有不合理的搜索结果,然后再向美国的工程师学习如何在系统里进行修正。可以说,今天谷歌中文搜索的每一点进步都是在工程师付出的辛勤努力下得来的。

那时,每天都有很多有关提高搜索质量的会议在清华科技园大厦召开,谷歌内部的监测系统每天都在对各家搜索引擎作出比较,我们评估搜索相关度、网页索引大小、即时更新能力和对垃圾网站的识别性。为了衡量我们的进度,在我办公室外面就有一个大牌子,上面可以看到我们当天的四个指标表现如何,以及和竞争对手的差距又如何。

这是一项极其辛苦而回报率又相当低的工作。有时一个由五名工程师组成的团队努力半年,也只不过把某一个指标提升0 1%而已。但我总是苦口婆心地鼓励大家:这样的工作是积少成多的。五个人半年做出的成果有限,但一百个人做两年就会有巨大的变化。

    

读书导航