免费观看又色又爽又黄的小说免费_美女福利视频国产片_亚洲欧美精品_美国一级大黄大色毛片

搜索引擎中的粒度問題

2021-10-19    分類: 網站建設

一.前言

傳統的搜索引擎的定義,是指一種對于指定的查詢(Query),能夠返回與之相關的文檔集合(Documents)的系統。而百度將這個定義更加豐富化,即搜索引擎能夠幫助人們更方便的找到所求。這里的“所求”,比“文檔”更加寬泛和豐富,比如一個關于天氣的查詢,直接返回一個天氣預報的窗口,而非一篇關于天氣的文檔;再如一個關于小游戲的查詢,直接返回這個小游戲的Flash頁面而非簡單的介紹性的文字。

百度對Query深刻的理解,源于自然語言處理技術在其中發揮的巨大作用。對搜索引擎而言,文本切分是最基礎也是最重要的自然語言問題之一。今天,我們就來談談文本切分粒度與搜索引擎的關系。

本文后續章節組織如下:第二節介紹什么是文本的粒度,第三節講述搜索引擎的基本原理與文本切分粒度的關系,第四節深入探討粒度的屬性與檢索相關性計算,第五節小結。

二.文本粒度

什么是文本的粒度我們用什么來衡量文本粒度在回答這些問題前,讓我們先看看以下幾組詞匯:

纏綿、崎嶇、葡萄、乒乓

綠茶、籃球、紅色、鼠標墊、起重機

打球、跳繩、炒菜、登山

筆記本電腦、高清機頂盒、IP電視

但是、然后、如果、非常

步步驚心、家的n次方、一個人的精彩

百度在線網絡技術(北京)有限公司、清華大學

張學友、趙傳、工藤新一、里奧內爾·安德雷斯·梅西

……

這幾組詞匯中,哪些的粒度大,哪些的粒度小

不管在傳統的語言學領域,還是在自然語言處理領域,都沒有對粒度下一個清晰準確的定義。但是就搜索引擎而言,我們不妨這樣定義:粒度是衡量文本所含信息量的大小。文本含信息量多,粒度就大,反之就小。有了這個原則,我們就很容易判斷文本粒度大小了。像“纏綿”,“崎嶇”,“葡萄”這些詞,雖然有兩個字組成,但是僅表達一個意思,這些詞的粒度是小的。而“籃球”,“鼠標墊”等詞,是由簡單詞合成的,雖然也只有一個意思,但還可以拆分,如“籃”和“球”,“鼠標”和“墊”。這類詞,粒度稍微大一些。而“筆記本電腦”,“高清機頂盒”這樣的詞,粒度就更大了。

專名是一類比較特殊的詞,盡管所含字數很多,但其實只表達一個意思,如“步步驚心”,“家的n次方”這樣的電影、電視劇的名稱,粒度是很小的。機構名、人名等屬于有內部結構的專名,比電影名的粒度稍大一些。

顯然易見,我們在討論文本粒度時,理想的方式是從語義角度出發,合理的分析和判斷。然而以上我們僅對粒度做了定性的分析,為粒度找一個合適的度量單位和計算方法,是百度人一直追求的目標。

三.搜索引擎的基本原理與詞匯切分關系

3.1 搜索引擎的基本原理

文本檢索系統,是搜索引擎最簡單的實現方式。通過返回包含關鍵字的頁面,來滿足用戶的檢索需求。形式化的表達就是給定一系列關鍵字集合K,要求返回所有包含關鍵字的文檔D,對D中的任意一個文檔d,包含K中的任意一個關鍵字k。

一般我們采用倒排索引的方式來實現這個系統。所謂倒排索引,就是對關鍵字建立索引,記錄包含這個關鍵字的文檔集合D。對于請求的關鍵字集合,找出所有關鍵字對應的索引,并對索引求交,最后返回同時存在于所有索引中的文檔。

在百度,我們不僅允許用戶輸入關鍵字,也可以輸入任何長度在一定范圍內的文本。此時我們需要對文本做一定處理,切分成一系列關鍵字,從而能夠從倒排索引中找出對應的文檔。

那么為什么要對輸入文本做切分,如果不切分會有什么問題

我們可以想象一下,如果不對輸入文本做切分,直接用輸入文本去做匹配,會怎么樣首先,得到的結果會非常少,因為直接用全部文本匹配,就失去了靈活性,對結果限制的非常死,必須完全匹配才能滿足要求;其次,系統性能會非常差,因為需要對所有長度的文本都建立索引,這是指數級的,在實際系統中根本不可能實現。再考慮一下另一個極端我們對輸入文本做單字切分,結果又是怎樣我們會得到大量無關的頁面,不僅浪費系統性能,對相關性計算也造成了巨大的壓力。

所以,我們需要對文本做一個合適的切分。

3.2 用戶滿意度與粒度關系

無論是建立倒排索引、還是處理輸入文本,我們都需要對文本做切分,切出合適的關鍵字出來。為了能夠使用戶對查詢結果滿意,搜索引擎需要什么樣的粒度讓我們先看一下下面幾個例子:

1. Q:“北京地圖” P1:“北京市地圖” P2:“北京城市地圖”

2. Q:“鬧太套是神馬意思”, P:”a:神吶,我騎不了這烈馬。B:鬧太套!”

3. Q:“獸獸門” P:“獸獸艷照門”

4. Q1:“工業園” Q2:“園區” P:“工業園區”

5. Q:“ip電視” P1:“ip電視的歷史” P2:“電視銷售…您的IP是xxx”

注:Q表示query,P表示頁面中包含Q的內容

Case1,要求query能找到P1和P2這樣的結果,就必須對P1和P2都切出“北京”這個詞來。Case2,必須把”神馬”切為一個詞,否則會召回P這樣不相關的結果。Case3,不能把Q中的“獸獸門“切為一個詞,而需要切除“獸獸”,否則就召不回”獸獸艷照門”這個結果。Case4中,對“工業園區”這樣的頁面,必須同時切出“工業園”和“園區”這兩個重疊的詞匯,才能保證Q1和Q2都能召回。Case5與Case2類似,如果把ip和電視分開切分,將召回P2這樣不相關的結果。

以上幾個case,基本上概括了搜索引擎對切分粒度的要求,我們可以從兩方面來描述:1)影響召回 2)影響相關性

以上從用戶滿意度的角度,討論了搜索引擎與粒度的關系,當然,這是最基本的要求,在第四節我們還會對文本的粒度問題做更深入的分析。

3.3 搜索系統性能與粒度的關系

顯而易見,粒度越小,召回就越多,建立倒排索引時,索引的長度就越長;粒度的層次越多,索引的數量就越多。一個多,一個長,就對搜索系統的性能構成了極大的考驗。

一般而言,大型搜索引擎的索引都采用分布式系統。不同文本的索引,被某種hash算法“分配”到了某臺機器。理論上講,索引的數量的增長,只會造成所需機器的增長,而對整體系統性能的消耗影響比較小。所以一般搜索引擎會從性價比的角度來考慮索引數量與機器數量的折衷,也就是召回與硬件投入的折衷。粒度分析對于折衷的性價比也有一定的貢獻,在粒度層次里,當粒度逐漸變小的過程中,我們并不一定對所有小粒度詞都建索引,而是選擇“更有可能召回相關結果”的小粒度詞。詞匯的什么性質決定了“更有可能召回相關結果”我們同樣會在第四節討論。

四.深入分析粒度的性質

在第三節中我們反復提到:一般情況下,粒度越大,相關性越好,召回越差;粒度越小,相關性越差,召回越好。在搜索引擎中,如果做到折衷呢基本的原則是,在系統性能可接受的前提下,盡量多召回有效結果,計算相關性時,將最相關的排在前面。

我們如何做到將合理減小粒度,增加有效召回,又如何做到將最好的排在最前呢這里涉及到兩個問題:緊密度與重要性。

既然粒度是衡量文本所含信息量的大小,那么緊密度就是描述文本所含信息緊密程度的量。再說的通俗一些,緊密度就是信息被人們表達和接受的穩定程度。穩定有兩種解釋,第一,穩定是相對于臨時而言的。一般來說,如果信息是因為某些因素臨時組合在一起,那就是不穩定的,即不緊密。比如許多動賓結構的短語(“過馬路”,“踢足球”),定中結構的短語(“紅蘋果”,“豪華轎車”)。第二,穩定是相對于順序不固定而言的。如果同樣一個信息,內部的子信息順序可以互換,那么這個詞匯就不穩定,即不緊密。比如一些大粒度的詞匯“鼠標護腕墊”、“護腕鼠標墊”。

由此可見,我們根據詞匯的緊密程度,可以將結果中表述與查詢表述的一致程度聯系起來,作為計算相關性的一個因素。同樣,我們也可以將緊密度作為減小粒度的依據之一,詞匯越不緊密,我們就有理由將其拆分為更小的粒度。

短語的重要性,其實是短語子成分的重要性,有很多定義。其中一種被普遍接受的定義為其占短語完整含義的比例。一般情況下,偏正結構短語中,“正”的部分比較重要,比如“綠茶”中的“茶”,但也有例外,如“珊瑚蟲”中的“珊瑚”。而主謂、動賓短語一般來說,都比較重要,如“打球”,“你說”。所以,短語的子成分重要性,不能僅靠語法來識別,而應綜合各種因素來確定。

假設有了詞匯的子成分重要性,那么就可以幫助判斷將詞匯粒度變小后的語義損失風險程度(注意,這里使用了“語義損失”,而不是“轉義”,想一想為什么)。這也就回答了第四節末尾的問題:語義損失越小,越有可能召回相關結果。

五.結束語

本文介紹了搜索引擎中的粒度問題,重點討論了搜索引擎與短語切分粒度的關系,并進一步探討了短語的兩個重要性質——緊密度和重要性。通過本文,讀者應該能夠大致明白搜索引擎中關于粒度的種種。當然,本文只是對搜索引擎的粒度問題開了一個頭,怎么合理的處理好粒度、在不同場合使用何

分享標題:搜索引擎中的粒度問題
URL標題:http://m.newbst.com/news8/131958.html

成都網站建設公司_創新互聯,為您提供電子商務域名注冊Google靜態網站軟件開發App設計

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

手機網站建設