也谈搜索引擎的核心技术要领

联动北方科技 2021-11-04 10:34:12

联动北方科技11月4日

如果搜索一下网络(当然是用搜索引擎啦),关于搜索引擎的技术要领,基本都是谈爬虫、谈索引、谈展现;如果这些是搜索引擎的核心技术的话,那么中国海量级的码农,都可以轻松做出来,人海战术啊直接傲视全球,现在谁还不会鼓捣几行代码,采集点网页信息,对不?国内的文章,动不动就是“玩搜索引擎--爬虫技术要点浅析”,山寨文化久了,也就不去追究人家为啥这样做,反正直接的表面上、短路思考法上,好像这么回事就挺像了,特别是当前这些内容还充斥在技术博客、知乎的专业文章,很多时候看了不知道是什么感觉~

第一部分 【理念】

说到搜索,大家耳熟能详的一个词叫PageRank,至于这个Page是页面的Page,还是谷歌创始人Larry Page的Page,天知道他写博士论文时咋想的;反正只知道随着谷歌牛掰,这个词也足够牛掰了。顾名思义,就是页面排名,毕竟网络上海量的网页,搜几个关键词,一堆网站和网页就跟包工头一样,拍着胸脯说,这也能做,那也能做,争着喊着,“选我、选我”,该优先挑谁呢?自然,国内各地的有些风格,谁砸钱谁说了算,谁钱多谁更说了算,典型的比如莆田系。但相信Robin Li最早“众里寻他千百度”时,也没想这么多,估计跟谷歌家长Schmidt眼里的那两个小毛孩一样,年轻气盛热衷技术~

不过这个词还是太专业了,还是通俗点好,打个比方,看一眼这些图标应该眼熟:

你想去美国读个常青藤,自己写个自荐信,估计用处不大;然后让你亲爹亲妈写个情文并茂的,这娃打小就勤奋好学,吧啦吧啦,然并卵;然后请邻里的村长写个证明,人家会花几秒困惑一下;但要是美国前总统奥巴马,亲笔给你写了封推荐信,估计就有戏了;再要是哈佛、耶鲁的校长也跟着附和了,估计你哪怕考试成绩差了点,随便挑个好大学还是妥妥的;

总之就是,你自己说你自己牛掰没用,然后你自己使出浑身解数证明自己牛掰也没用,都不如真正牛掰的人出来说你牛掰管用(有点绕口令了)。

那么在网页上也是这样,每个网页上都有各种链接,链向自己的、链向外部的,也有外部链向自己的;那么自己链自己基本用处不大,如果大的网站甚至是知名网站链接或引用了这个网页,那排名就飕飕的往前窜;就像如果你的网店,被国家工商总局挂了个链接正面推荐(虽然这不太可能会发生),那恭喜,你的网店在大家心目中的靠谱地位那是蹭蹭的,还在为淘宝推广和销售单子发愁?不存在的,哈~

只是呢,网站网页浩如烟海,各种知名、半知名、小知名、不知名的太多,而且又有知名变臭的,不知名的崛起的,各种各样,所以没办法,只能像高考一样,大家随时都把这些无形折算个分数吧,分数高的先录取;怎么听着有些像国内男生女生在相亲大会时,两边长辈们内心常干的事呢,但的确就是这样子的,家长们在这个节骨眼上表现得一般不比谷歌差,哈~

这算是搜索引擎最本质的算法和思想。而搜索引擎的好坏,主要都是在PK打分算法的准确与否。

当年佩奇和布林,借鉴学术圈的相关思想,将其引入了互联网世界。但光有这个ideal就成了吗?No,这里面有个数学的门槛,虽然很多原理性的证明,对于数学的时间长河,只是一粒灰,但搁在某个具体的技术或应用层面,则是一座大山,翻得过就能做、就敢做,翻不过就是做到死都没戏。

第二部分 【数学】

前面说过,这是个海量的网络,各个链接间跳入跳出,那难度肯定比织女给牛郎缝件衣服高多了;那么这个时候呢,虽然有个初始印象分,但如果发现男方家里有个失散多年的姑姑,而这个姑姑居然在内蒙古家里有矿,这弱弱的先到姑姑,姑姑又到金矿的两条链接线,可能直接就把这个“网页”的评分直接飙上去了;再后来又打听到他的久未谋面的姑父可能有些习惯,比如爱飞去拉斯维加斯、或澳门之类的,那么这“网页”的评分估计又哗哗下降;这忽上忽下的,搁在覆盖全球范围的搜索引擎身上哪受得了,同一个选手,一会给出一个最高分,过一会又很快给出一个最低分,这样的裁判估计自己先被直接踢出比赛了,所以前提必须是这种评分体系得相当稳定,而且可追溯。

所以这时,真正的问题才浮现出来,这些链接跳来跳去的,(1) 最终能否形成一种稳定的分布;(2) 如果答案是Yes,那么这种分布是什么样的?在这件事情上,佩奇博士研究的卓越贡献,一是证明了这是一种稳定的分布,二是通过扰动因子的引入,得到了可算性很强很快的近似分布;自此创立谷歌一路开挂所向披靡就是后话了,虽然当时布林卓越的编程和落地能力也功不可没。其实,这里也不得不提Carl D. Meyer的工作和贡献,他完美地证明了,任何一个连通图(可以表示为一个连通矩阵),在无穷次迭代之后,都收敛于稳定的,每列都是同一固定值的矩阵,就像干涉条纹的模样:

实际生活中怎么想象呢?打个比方,就像大江大河的抗洪,好多支流汇入,主河道曲曲拐拐或者这宽那窄,在一定水位高度下,时间长了,其水流汇聚和泄出的最终分布就是一种定势;而历史上大的水利工程,像都江堰、像乐山大佛,或多或少的改变了这种分布的定势到对人类更有利,才可图长治久安;否则涨水时,听着巡岸的突然咣咣的锣声,赶紧抗着麻袋冒雨爬堤堵上堵下,忙了一年又一年。要是搜索引擎也这么干,系统早抖动得耗光所有算力了。

这算是搜索引擎最根基的桥墩和堤坝。而搜索引擎的好坏,一般也要PK拓扑矩阵的稳定性和计算效率。

我们来试试国内可以访问的这几家搜索引擎,基本就能反向测算出它采用的大概模型和算法效率。比如,“聊天助理”是最近才上线的一款新应用,没有太多历史数据,需要现爬;而像华军软件园是众所周知的老品牌,在软件下载领域足以扣上“牛掰”的帽子;那么,按照搜索引擎的理论,华军软件园力挺应该管用,至少比“聊天助理”用到人工智能四大核心技术的光环强;我们来看看:

百度还是一如既往的广告多啊,饱受诟病;但其对于搜索引擎的理解,不得不承认是经典理念秉执最好的;所以搜索在国内这块,“一直被模仿,从未被超越”。

微软的必应,前几条都命中,广告也不多,表现中规中矩,像它的Windows,像它的Office一样,“稳就一个字,我只说一次”。

搜狗这是在玩什么,简单的同义词、近似词替换,有一点点野路子的味道?当年小马哥挖吴军过来,20亿人民币砸进去听个响动,却没太大水花;后来依然心不死,再巨资加持搜狗,现在看来,“命里有时终须有,命里无时莫强求”,这辈子多少可能有缘无份了。

头条搜索,虽然出生得最晚,倒是实践了它的承诺“头一条就是你想搜的”,小家伙很努力,很有希望~

第三部分 【网络】

这块的细节就比较多,就不在这一一鬼扯了,只拎出几个相对大众一些的,工程层面的:

第一个,爬虫,这个肯定绕不开,谁都会做;但如何处理闭环,如何识陷、如何去重,更加重要一些;

第二个,哈希,跟频繁项集和KShingle算法一起的,算法复杂度和数据有效性的问题;国内的在中文上做到更强。

第三个,Map-Reduce,大规模数据并行计算的基础,不过谷歌一直在进步,这个放出来的时候,自己已经有更好的替代品了。

第四个,分词。。。第五个,交互反哺。。。等等。。。

这些更像是搜索引擎框架奠定之后的各种工艺,更倾向于实施交付层面的,或者说,在国内各种技术文献和专题里,反而更普遍更受到关注的部分。

罗里吧嗦已经扯了这么多,算是抛砖引玉吧,后面有空时,再一起探讨当代搜索引擎和下一代搜索引擎,更多的细节,谢谢阅读。

我们坚信,没有一个冬天不可逾越,没有一个春天不会来临,对疫情防控如是,对技术追求亦如是。

0 阅读:5
联动北方科技

联动北方科技

联动北方科技有限公司