标签:
微软亚洲研究院成果展示最新技术互联网搜索组搜索技术机器学习 |
分类: 技术 |
作者:原《互联网周刊》记者李洋
一个网页就犹如一头牛。它有头、有尾,可以划分为不同的信息区域。当你浏览一个页面时,往往会将目光锁定在最重要的区域中,而不是先浏览导航、广告、版权信息等信息块。沿着这个思路,就可以进一步提升搜索的精准度。
区块级搜索
在上世纪90年代中期,Google的创始人拉里·佩奇(Larry Page)发明了一种新的网页排名算法。简而言之,这一算法的核心便是“链接”:当越多的页面指向一个页面时,后者的重要性就越强;该重要性还取决于指向此页面的源页面的重要程度。
这个后来以佩奇的姓氏命名的算法PageRank,为Google打下江山起到了决定性的作用。但是,随着互联网的发展,这一算法的缺点也不断体现。由于它是基于页面级的搜索,因此无法判断一条链接在一个页面中的权重。比如,一条由页面中的重要内容引出的链接,与一条由广告内容引出的链接,其重要性应该是有很大差别的。而PageRank对此种情况是等同对待的。
也就是说,如果我们能够将页面分块,并标识出每块的重要程度,便使得页面级搜索上升到了区块级搜索的高度,那么搜索的准确性和精度也必然会随之提高。
(主任研究员文继荣博士)
目前,微软亚洲研究院的文继荣研究员找到了这把庖丁之刃。据文研究员称,新技术将比现行的PageRank算法下实现的搜索精度提高25%。当然,目前这一惊人的结论是在实验室内产生的,实际数据还有待进一步应用及测试。
其实,在计算机学术界,很早就有人想到了给页面分块的做法。他们主要是对HTML的语法进行分析,试图从代码解析的角度解构一个网页。但这显然是行不通的,因为HTML中的语法标签并无任何语义作用,其代码往往十分杂乱,且与不同的设计者有关。
网页是多样化和异构的,但人类却可以一眼便将一个网页划分为几块。于是,文继荣和他的两个学生蔡登和俞诗鹏,想到了以视觉的角度来分割整个页面。在浏览器显示出一个页面之前,要用内部的渲染引擎对其进行加工,并获取某个标签的坐标位置、字体大小、颜色等信息。文的算法在应用了这些视觉信息元素后,就可以决定在什么地方来做分块,对网页进行自动地分割。
但仅仅分割显然是不够的,还要得知一个区块的重要程度。微软的研究员们采用了机器学习的方法来建立一个模型。首先通过人为的训练,“告诉”计算机哪里是一个页面中最重要的部分,而这些通常是有迹可寻的,比如在页面中的位置、大的图片、粗字体等等。经过大量的训练之后,计算机便形成了一个公式,可以将页面自动划分为红绿蓝三个级别的区块(重要性依次减弱)。精准度大致在86%左右,基本和人的水平相当。也就是说,如果一个页面设计得十分糟糕,既杂乱又分不清主次,那么无论是人或机器,都无法对区块的重要性做出判断。