日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

百度国学搜索探密

發(fā)布時間:2024/2/28 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 百度国学搜索探密 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

/*版權(quán)聲明:可以任意轉(zhuǎn)載,轉(zhuǎn)載時請務(wù)必標(biāo)明文章原始出處和作者信息 .*/

百度國學(xué)搜索探密

中科院軟件所 張俊林(http://blog.csdn.net/malefactor)

?? 2006111

?

?? 年底寫論文作實(shí)驗(yàn)搞得頭昏腦脹,中午放松一下上網(wǎng)看看新聞,原來百度推出了國學(xué)搜索,平常也比較喜歡看詩詞歌賦方面的東西,就上百度試了試,結(jié)果搜索結(jié)果讓我感覺哪里好像不對勁,所以就稍微花點(diǎn)時間看看百度在后面作了些什么.

?? 我說的不對勁到不是搜索結(jié)果本身,而是搜索結(jié)果的存放方式,你會發(fā)現(xiàn)百度所有搜索結(jié)果都放在http://guoxue.baidu.com/page/這個目錄下面.比如搜索詩經(jīng)”,所有返回結(jié)果頁面都是guoxue.baidu.com/page/caabbead/XXX.html

?? 這說明什么?說明百度所有的國學(xué)書籍都是存儲在guoxue.baidu.com/page/這個目錄下面,每個書籍一個目錄,每個目錄下面若干頁面,每個頁面是這個書籍的一部分.然后我感覺很好奇的是,目錄名是按照什么原則命名的呢?比如詩經(jīng)為什么是caabbead?看著這個字符串非常有親切感,好像認(rèn)識又叫不上名字,是誰呢?對了,很像是中文字符的字符編碼,那到底是不是呢?做個實(shí)驗(yàn),詩經(jīng)放到UltraEdit里面選擇HEX EDIT看看編碼發(fā)現(xiàn)還真實(shí)這么回事情,在實(shí)驗(yàn)幾個,比如紅樓夢”,HEX EDIT編碼: baecc2a5c3ce,那么我們試試百度存放在哪里,理論上應(yīng)該存放在guoxue.baidu.com/page/baecc2a5c3ce這個目錄下,那么構(gòu)建URL: guoxue.baidu.com/page/baecc2a5c3ce/1.html看看,你看到了什么?跟我們的預(yù)期一樣,是紅樓夢,不過不是第一章,是第二章,這個出乎我的意料,看來百度程序員有職業(yè)習(xí)慣從0開始計(jì)算啊,試試, guoxue.baidu.com/page/baecc2a5c3ce/0.html,,是第一章了.

?? 看來百度是這么做的:每個書籍一個目錄,目錄名就是書名的字符編碼,每個章節(jié)或者段落是一個靜態(tài)頁面,目錄頁面是http://guoxue.baidu.com/page/xxxx/index.html,每個書籍都是若干靜態(tài)頁面組成的,所有數(shù)據(jù)放在http://guoxue.baidu.com/page/目錄下而且不允許用戶直接訪問這個目錄,想要大批量收藏古籍的先生太太老爺小姐門可以考慮寫個小程序自動從百度抓取啊,百度真是個好人,呵呵.

那么后臺怎么處理呢?這個看來很簡單,后臺應(yīng)該有三個數(shù)據(jù)庫,一個是人名倒排索引,記載了作者和作品信息,這個是為了支持按照作者查找的;一個是書名倒排索引,記載出現(xiàn)過數(shù)目的頁面,這個是為了支持按照書名查找的,另外一個是全文倒排索引,這個是為了按照內(nèi)容查找的,那么內(nèi)容索引是怎樣的呢?建立了N-GRAM索引還是分詞后按照詞匯索引的呢?所謂N-GRAM索引,就是說不考慮分詞,而按照下面方法建立索引:

比如百度搜索”,2-gram索引記載下面信息:”百度 度搜 搜索”,3-gram就是百度搜 度搜索”,依次類推.用戶輸入度搜作為查詢,那么數(shù)據(jù)庫里面記載了信息,就把百度搜索提取出來了.

結(jié)論是百度分詞后進(jìn)行索引的沒有采用N-GRAM,比如用土群你是搜不到東西的,而用郴土是可以搜索到郴土群山高”,說明沒有用N-GRAM否則用土群也可以搜索出這句話的.

在我看來,國學(xué)搜索這種東西實(shí)際的有需求的用戶有多少很難說,只是具有象征意義,百度推出這么個搜索無非是想強(qiáng)調(diào)自己是做中文的而已,但是從上面分析你可以看出來,這種搜索技術(shù)上實(shí)現(xiàn)起來跟中文又有多少關(guān)系呢?要想真正把國學(xué)搜索做好要花的功夫遠(yuǎn)非現(xiàn)在百度所采取的技術(shù)實(shí)現(xiàn)能夠達(dá)到的.

補(bǔ)充(112):

排序是搜索引擎的核心,經(jīng)過我分析,百度國學(xué)的排序原則是最傳統(tǒng)的TF.IDF方法,排序公式如下:

Rank(w)=TF(w)*IDF(w)/Doclen

?

TF(w):w出現(xiàn)在文章中的次數(shù),如果出現(xiàn)在文章的書名,那么權(quán)重加大.

IDF(w):w的所有數(shù)據(jù)庫文件中多少個文件出現(xiàn)(DF(w)),然后求倒數(shù)1/DF(w)

Doclen:文章長度.

?

另外,采用了CACHE機(jī)制.

如果所有文章數(shù)據(jù)采取XML 格式整理好的話,對于做搜索的公司來說,構(gòu)造這么一個檢索系統(tǒng)還是比較花費(fèi)時間的,我估計(jì)得用30分鐘到1天的時間才能完成整個系統(tǒng)-:)

總結(jié)

以上是生活随笔為你收集整理的百度国学搜索探密的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。