品牌名稱
搜狗搜索
企業(yè)規(guī)模
51-200人

費(fèi)馬圖計(jì)算助力搜狗提升百倍搜索精度 優(yōu)化搜索體驗(yàn)

348次閱讀

搜狗搜索是國(guó)內(nèi) TOP 級(jí)的搜索引擎,其搜索排序是基于 PageRank 算法實(shí)現(xiàn)(PR 值), 數(shù)據(jù)體量達(dá)到萬(wàn)億級(jí)別,常規(guī) hadoop 分布式計(jì)算方法無(wú)法實(shí)現(xiàn)全部網(wǎng)頁(yè)的檢索排序。因此 長(zhǎng)期以來(lái)只能將“網(wǎng)頁(yè)級(jí)”縮減到“網(wǎng)站級(jí)”或“目錄級(jí)”,減少到 hadoop 能夠處理的百億 級(jí)數(shù)據(jù)量。與費(fèi)馬科技合作后,依托費(fèi)馬圖計(jì)算產(chǎn)品,搜狗搜索實(shí)現(xiàn)全量網(wǎng)頁(yè) PageRank 算 法計(jì)算,從而為搜索用戶提供更精準(zhǔn)更高效的信息搜索體驗(yàn)。 

 

undefined

 

面臨挑戰(zhàn)

搜狗搜索是搜狐旗下的子公司,負(fù)責(zé)搜索業(yè)務(wù),成立于 2004 年,是全球首個(gè)百億規(guī)模 中文搜索引擎,收錄網(wǎng)站達(dá)百億規(guī)模。搜狗 2018 年其搜索相關(guān)廣告營(yíng)收為 10.23 億美元, 占比 91.01%,因此網(wǎng)頁(yè)排序的質(zhì)量對(duì)搜狗公司至關(guān)重要。PageRank 是網(wǎng)頁(yè)排序的基礎(chǔ)算法, 重要性不言而喻。

 

由于網(wǎng)頁(yè)數(shù)量非常多(中文網(wǎng)頁(yè)數(shù)規(guī)模是千億級(jí)別,鏈接數(shù)則達(dá)到了數(shù)十萬(wàn)億),用 hadoop 處理萬(wàn)億級(jí)別的網(wǎng)頁(yè) PageRank 是幾乎不可能的挑戰(zhàn)。因此,搜狗只能將網(wǎng)頁(yè)級(jí) 別,縮減到目錄級(jí)別,或者進(jìn)一步縮減到網(wǎng)站級(jí)別。縮到原始數(shù)據(jù)的 1%左右,降到 hadoop 可處理的規(guī)模。這種做法的代價(jià)是犧牲了 PageRank 的精度,造成網(wǎng)頁(yè)質(zhì)量的降低。

 

undefined

 

然而隨著自媒體數(shù)量的攀升、博客/問答等 UGC 內(nèi)容的擴(kuò)大,同一站點(diǎn)不同網(wǎng)頁(yè)的權(quán)重 差別相去甚遠(yuǎn),舉例來(lái)說(shuō),同一網(wǎng)站不同博主提供的內(nèi)容搜索權(quán)重也理應(yīng)不同。加之搜狗搜 索對(duì) UGC 內(nèi)容的覆蓋較為全面,不斷鞏固和增強(qiáng)搜狗搜索獨(dú)家內(nèi)容優(yōu)勢(shì),在提供優(yōu)質(zhì)精準(zhǔn)的 全平臺(tái)搜索服務(wù)時(shí),其縮減的 PageRank 數(shù)據(jù)處理規(guī)模成為了瓶頸。

 

方案詳述 

PageRank 算法是由 Goole 創(chuàng)建人 Larry Page 提出的,它的基本假設(shè)是,對(duì)于任意一個(gè) 網(wǎng)頁(yè):1)指向它的網(wǎng)頁(yè)越多,那么它就越權(quán)威;2)指向它的那些網(wǎng)頁(yè)越權(quán)威,那么它就越 權(quán)威;3)它指向的網(wǎng)頁(yè)越多,每個(gè)網(wǎng)頁(yè)從它這里獲得的權(quán)威值就越少。在實(shí)現(xiàn)中,將每個(gè) 網(wǎng)頁(yè)抽象成圖中的一個(gè)頂點(diǎn),網(wǎng)頁(yè)之間的鏈接則抽象成頂點(diǎn)之間的有向邊,然后 PageRank 算法就可以轉(zhuǎn)化成一個(gè)在有向圖上延著邊傳播“權(quán)威值”的迭代算法。由于數(shù)據(jù)量巨大, PageRank 算法往往需要大量的服務(wù)器配合進(jìn)行分布式計(jì)算。而目前比較常見的,也是搜狗 一直采用的做法,就是使用 Hadoop 的編寫 MapReduce 程序來(lái)實(shí)現(xiàn)。 

 

Hadoop 平臺(tái)是一個(gè)通用的大數(shù)據(jù)計(jì)算平臺(tái),它使用 Java 編寫,可以支持高達(dá)上千臺(tái)機(jī) 器的集群。但是 Hadoop 有個(gè)巨大的問題就是速度很慢,一方面是 MapReduce 模型本身對(duì)迭 代計(jì)算不友好,另一方面它的實(shí)現(xiàn)也沒有太多考慮效率。因此,對(duì)于全中文網(wǎng)頁(yè) PageRank 排序這種越大規(guī)模的計(jì)算問題,Hadoop 是無(wú)法滿足的。

 

費(fèi)馬科技自主研發(fā)的 PandaGraph 是一個(gè)大規(guī)模圖計(jì)算平臺(tái),它能夠高效的處理超大規(guī) 模圖計(jì)算問題。開發(fā) PandaGraph 的團(tuán)隊(duì)曾經(jīng)開發(fā)出世界上最快的單機(jī)圖計(jì)算系統(tǒng) GridGraph, 最快的分布式圖計(jì)算系統(tǒng) Gemini,以及規(guī)模最大的圖計(jì)算系統(tǒng) ShenTu。他們?cè)?PandaGraph 北京費(fèi)馬科技有限公司 中應(yīng)用了大量前沿科研成果,使得 PandaGraph 成為目前市場(chǎng)上最快的,支持規(guī)模最大的圖 計(jì)算系統(tǒng)。同時(shí) PandaGraph 還能與 Hadoop 平臺(tái)無(wú)縫集成,直接利用 Hadoop 集群中的服務(wù) 器進(jìn)行計(jì)算。因此,PandaGraph 完美的契合了搜狗對(duì)中文網(wǎng)頁(yè)全量 PageRank 的計(jì)算需求。

 

undefined

 

有了 PandaGraph,搜狗就不再需要對(duì)網(wǎng)頁(yè)規(guī)模進(jìn)行縮減,而可以直接在全量數(shù)據(jù)上進(jìn) 行 PageRank。在使用 100 臺(tái)服務(wù)器規(guī)模的情況下,PandaGraph 在一天內(nèi)完成了萬(wàn)億級(jí)頂點(diǎn), 十萬(wàn)億級(jí)邊的超大規(guī)模數(shù)據(jù)的 PageRank。

 

搜狗搜索資深研究員田偉表示,“網(wǎng)頁(yè)數(shù)據(jù)的量級(jí)是十分龐大的,目前業(yè)界只有通過圖 計(jì)算的方式能夠?qū)崿F(xiàn)全量數(shù)據(jù)的 PageRank,我們很榮幸的與業(yè)界頂尖的團(tuán)隊(duì)費(fèi)馬科技合作, 不僅將網(wǎng)站級(jí) PageRank 擴(kuò)展到了網(wǎng)頁(yè)級(jí),大幅的節(jié)省了計(jì)算資源,同時(shí)其友好、強(qiáng)大的計(jì) 算力,為搜狗在其他功能和業(yè)務(wù)的開拓方面,在底層支持系統(tǒng)層面帶來(lái)了更多可能性,幫助 我們不斷創(chuàng)新。”