當前位置:首頁 » 操作系統 » 搜索詞演算法

搜索詞演算法

發布時間: 2023-09-16 18:43:24

A. 搜索引擎的排序演算法都有哪些是怎麼實現的

2.1基於詞頻統計——詞位置加權的搜索引擎
利用關鍵詞在文檔中出現的頻率和位置排序是搜索引擎最早期排序的主要思想,其技術發展也最為成熟,是第一階段搜索引擎的主要排序技術,應用非常廣泛,至今仍是許多搜索引擎的核心排序技術。其基本原理是:關鍵詞在文檔中詞頻越高,出現的位置越重要,則被認為和檢索詞的相關性越好。
1)詞頻統計
文檔的詞頻是指查詢關鍵詞在文檔中出現的頻率。查詢關鍵詞詞頻在文檔中出現的頻率越高,其相關度越大。但當關鍵詞為常用詞時,使其對相關性判斷的意義非常小。TF/IDF很好的解決了這個問題。TF/IDF演算法被認為是信息檢索中最重要的發明。TF(Term Frequency):單文本詞彙頻率,用關鍵詞的次數除以網頁的總字數,其商稱為「關鍵詞的頻率」。IDF(Inverse Document Frequency):逆文本頻率指數,其原理是,一個關鍵詞在N個網頁中出現過,那麼N越大,此關鍵詞的權重越小,反之亦然。當關鍵詞為常用詞時,其權重極小,從而解決詞頻統計的缺陷。
2)詞位置加權
在搜索引擎中,主要針對網頁進行詞位置加權。所以,頁面版式信息的分析至關重要。通過對檢索關鍵詞在Web頁面中不同位置和版式,給予不同的權值,從而根據權值來確定所搜索結果與檢索關鍵詞相關程度。可以考慮的版式信息有:是否是標題,是否為關鍵詞,是否是正文,字體大小,是否加粗等等。同時,錨文本的信息也是非常重要的,它一般能精確的描述所指向的頁面的內容。
2.2基於鏈接分析排序的第二代搜索引擎
鏈接分析排序的思想起源於文獻引文索引機制,即論文被引用的次數越多或被越權威的論文引用,其論文就越有價值。鏈接分析排序的思路與其相似,網頁被別的網頁引用的次數越多或被越權威的網頁引用,其價值就越大。被別的網頁引用的次數越多,說明該網頁越受歡迎,被越權威的網頁引用,說明該網頁質量越高。鏈接分析排序演算法大體可以分為以下幾類:基於隨機漫遊模型的,比如PageRank和Repution演算法;基於概率模型的,如SALSA、PHITS;基於Hub和Authority相互加強模型的,如HITS及其變種;基於貝葉斯模型的,如貝葉斯演算法及其簡化版本。所有的演算法在實際應用中都結合傳統的內容分析技術進行了優化。本文主要介紹以下幾種經典排序演算法:
1)PageRank演算法
PageRank演算法由斯坦福大學博士研究生Sergey Brin和Lwraence Page等提出的。PageRank演算法是Google搜索引擎的核心排序演算法,是Google成為全球最成功的搜索引擎的重要因素之一,同時開啟了鏈接分析研究的熱潮。
PageRank演算法的基本思想是:頁面的重要程度用PageRank值來衡量,PageRank值主要體現在兩個方面:引用該頁面的頁面個數和引用該頁面的頁面重要程度。一個頁面P(A)被另一個頁面P(B)引用,可看成P(B)推薦P(A),P(B)將其重要程度(PageRank值)平均的分配P(B)所引用的所有頁面,所以越多頁面引用P(A),則越多的頁面分配PageRank值給P(A),PageRank值也就越高,P(A)越重要。另外,P(B)越重要,它所引用的頁面能分配到的PageRank值就越多,P(A)的PageRank值也就越高,也就越重要。
其計算公式為:

PR(A):頁面A的PageRank值;
d:阻尼系數,由於某些頁面沒有入鏈接或者出鏈接,無法計算PageRank值,為避免這個問題(即LinkSink問題),而提出的。阻尼系數常指定為0.85。
R(Pi):頁面Pi的PageRank值;
C(Pi):頁面鏈出的鏈接數量;
PageRank值的計算初始值相同,為了不忽視被重要網頁鏈接的網頁也是重要的這一重要因素,需要反復迭代運算,據張映海撰文的計算結果,需要進行10次以上的迭代後鏈接評價值趨於穩定,如此經過多次迭代,系統的PR值達到收斂。
PageRank是一個與查詢無關的靜態演算法,因此所有網頁的PageRank值均可以通過離線計算獲得。這樣,減少了用戶檢索時需要的排序時間,極大地降低了查詢響應時間。但是PageRank存在兩個缺陷:首先PageRank演算法嚴重歧視新加入的網頁,因為新的網頁的出鏈接和入鏈接通常都很少,PageRank值非常低。另外PageRank演算法僅僅依靠外部鏈接數量和重要度來進行排名,而忽略了頁面的主題相關性,以至於一些主題不相關的網頁(如廣告頁面)獲得較大的PageRank值,從而影響了搜索結果的准確性。為此,各種主題相關演算法紛紛涌現,其中以以下幾種演算法最為典型。
2)Topic-Sensitive PageRank演算法
由於最初PageRank演算法中是沒有考慮主題相關因素的,斯坦福大學計算機科學系Taher Haveli-wala提出了一種主題敏感(Topic-Sensitive)的PageRank演算法解決了「主題漂流」問題。該演算法考慮到有些頁面在某些領域被認為是重要的,但並不表示它在其它領域也是重要的。
網頁A鏈接網頁B,可以看作網頁A對網頁B的評分,如果網頁A與網頁B屬於相同主題,則可認為A對B的評分更可靠。因為A與B可形象的看作是同行,同行對同行的了解往往比不是同行的要多,所以同行的評分往往比不是同行的評分可靠。遺憾的是TSPR並沒有利用主題的相關性來提高鏈接得分的准確性。
3)HillTop演算法
HillTop是Google的一個工程師Bharat在2001年獲得的專利。HillTop是一種查詢相關性鏈接分析演算法,克服了的PageRank的查詢無關性的缺點。HillTop演算法認為具有相同主題的相關文檔鏈接對於搜索者會有更大的價值。在Hilltop中僅考慮那些用於引導人們瀏覽資源的專家頁面(Export Sources)。Hilltop在收到一個查詢請求時,首先根據查詢的主題計算出一列相關性最強的專家頁面,然後根據指向目標頁面的非從屬專家頁面的數量和相關性來對目標頁面進行排序。
HillTop演算法確定網頁與搜索關鍵詞的匹配程度的基本排序過程取代了過分依靠PageRank的值去尋找那些權威頁面的方法,避免了許多想通過增加許多無效鏈接來提高網頁PageRank值的作弊方法。HillTop演算法通過不同等級的評分確保了評價結果對關鍵詞的相關性,通過不同位置的評分確保了主題(行業)的相關性,通過可區分短語數防止了關鍵詞的堆砌。
但是,專家頁面的搜索和確定對演算法起關鍵作用,專家頁面的質量對演算法的准確性起著決定性作用,也就忽略了大多數非專家頁面的影響。專家頁面在互聯網中占的比例非常低(1.79%),無法代表互聯網全部網頁,所以HillTop存在一定的局限性。同時,不同於PageRank演算法,HillTop演算法的運算是在線運行的,對系統的響應時間產生極大的壓力。
4)HITS
HITS(Hyperlink Inced Topic Search)演算法是Kleinberg在1998年提出的,是基於超鏈接分析排序演算法中另一個最著名的演算法之一。該演算法按照超鏈接的方向,將網頁分成兩種類型的頁面:Authority頁面和Hub頁面。Authority頁面又稱權威頁面,是指與某個查詢關鍵詞和組合最相近的頁面,Hub頁面又稱目錄頁,該頁面的內容主要是大量指向Authority頁面的鏈接,它的主要功能就是把這些Authority頁面聯合在一起。對於Authority頁面P,當指向P的Hub頁面越多,質量越高,P的Authority值就越大;而對於Hub頁面H,當H指向的Authority的頁面越多,Authority頁面質量越高,H的Hub值就越大。對整個Web集合而言,Authority和Hub是相互依賴、相互促進,相互加強的關系。Authority和Hub之間相互優化的關系,即為HITS演算法的基礎。
HITS基本思想是:演算法根據一個網頁的入度(指向此網頁的超鏈接)和出度(從此網頁指向別的網頁)來衡量網頁的重要性。在限定范圍之後根據網頁的出度和入度建立一個矩陣,通過矩陣的迭代運算和定義收斂的閾值不斷對兩個向量Authority和Hub值進行更新直至收斂。
實驗數據表明,HITS的排名准確性要比PageRank高,HITS演算法的設計符合網路用戶評價網路資源質量的普遍標准,因此能夠為用戶更好的利用網路信息檢索工具訪問互聯網資源帶來便利。
但卻存在以下缺陷:首先,HITS演算法只計算主特徵向量,處理不好主題漂移問題;其次,進行窄主題查詢時,可能產生主題泛化問題;第三,HITS演算法可以說一種實驗性質的嘗試。它必須在網路信息檢索系統進行面向內容的檢索操作之後,基於內容檢索的結果頁面及其直接相連的頁面之間的鏈接關系進行計算。盡管有人嘗試通過演算法改進和專門設立鏈接結構計算伺服器(Connectivity Server)等操作,可以實現一定程度的在線實時計算,但其計算代價仍然是不可接受的。
2.3基於智能化排序的第三代搜索引擎
排序演算法在搜索引擎中具有特別重要的地位,目前許多搜索引擎都在進一步研究新的排序方法,來提升用戶的滿意度。但目前第二代搜索引擎有著兩個不足之處,在此背景下,基於智能化排序的第三代搜索引擎也就應運而生。
1)相關性問題
相關性是指檢索詞和頁面的相關程度。由於語言復雜,僅僅通過鏈接分析及網頁的表面特徵來判斷檢索詞與頁面的相關性是片面的。例如:檢索「稻瘟病」,有網頁是介紹水稻病蟲害信息的,但文中沒有「稻瘟病」這個詞,搜索引擎根本無法檢索到。正是以上原因,造成大量的搜索引擎作弊現象無法解決。解決相關性的的方法應該是增加語意理解,分析檢索關鍵詞與網頁的相關程度,相關性分析越精準,用戶的搜索效果就會越好。同時,相關性低的網頁可以剔除,有效地防止搜索引擎作弊現象。檢索關鍵詞和網頁的相關性是在線運行的,會給系統相應時間很大的壓力,可以採用分布式體系結構可以提高系統規模和性能。
2)搜索結果的單一化問題
在搜索引擎上,任何人搜索同一個詞的結果都是一樣。這並不能滿足用戶的需求。不同的用戶對檢索的結果要求是不一樣的。例如:普通的農民檢索「稻瘟病」,只是想得到稻瘟病的相關信息以及防治方法,但農業專家或科技工作者可能會想得到稻瘟病相關的論文。
解決搜索結果單一的方法是提供個性化服務,實現智能搜索。通過Web數據挖掘,建立用戶模型(如用戶背景、興趣、行為、風格),提供個性化服務。

B. 全文檢索演算法,請問誰能給我點頭緒落,不懂啊。。

全文檢索技術
全文檢索是指索引程序掃描文章中的每個詞並建立對應索引,記錄該詞出現的位置和次數。當通過搜索引擎查詢時,檢索程序就在記錄的索引進行查找並返回給用戶。全文檢索又分為基於字的全文索引和基於詞的全文索引。基於字的全文索引會對內容中的每個字建立索引並記錄,此方法查全率高,但查准率低,特別是對於中文,有時搜索馬克,會列出馬克思的結果。基於詞的全文索引是把一個詞語作為一個單位進行索引記錄,並能處理同義詞。搜索引擎有自己的詞庫,當用戶搜索時,搜索引擎會從詞庫中抽取關鍵詞作為索引項,這樣可以大大提高檢索的准確率。
中文分詞技術
一直以來大家都比較熟悉網路,網路有自己的中文分詞技術。一般採用的包括正向最大匹配,反向最大匹配,最佳匹配法,專家系統方法等。其中最大正向匹配是最常用的分詞解決方案,它採用機械式演算法,通過建立詞典並進行正向最大匹配對中文進行分詞。舉個簡單的例子比如搜索「北京大學在哪裡」,則返回結果很多都是包含北京大學,北大等詞語的網頁,搜索引擎就是採用正向最大匹配去判斷,把北京大學當做一個詞語來索引記錄並返回。當然,正向最大匹配也有不完整性,比如長度過長的詞語,搜索引擎有時無法准確的分詞,或者對前後都相互關聯的詞無法准確分詞。例如「結合成分子時」,會被返回結合、成分、子時,而有時我們想要的關鍵詞是「分子」。
很多時候網路都會根據自己詞庫中詞語的權重進行拆分,權重的計算基於生活各個方面,比較復雜,搜索引擎要做的就是返回用戶最想要的結果,有時站長們做網站要站在用戶的角度去考慮問題,其實這也是站在搜索引擎的角度考慮問題,不論在確定目標關鍵詞或者是長尾關鍵詞時,都可以根據中文分詞的原理來選擇,這樣可以最大化的減少無用功。
分詞原理不斷在變化,不斷在更新,我們應該繼續學習,只有掌握了本質才能抓住實質。

C. 經典檢索演算法:BM25原理

本文cmd地址: 經典檢索演算法:BM25原理

bm25 是一種用來評價搜索詞和文檔之間相關性的演算法,它是一種基於 概率檢索模型 提出的演算法,再用簡單的話來描述下bm25演算法:我們有一個query和一批文檔Ds,現在要計算query和每篇文檔D之間的相關性分數,我們的做法是,先對query進行切分,得到單詞$q_i$,然後單詞的分數由3部分組成:

最後對於每個單詞的分數我們做一個求和,就得到了query和文檔之間的分數。

講bm25之前,我們要先介紹一些概念。

BIM(binary independence model)是為了對文檔和query相關性評價而提出的演算法,BIM為了計算$P(R|d,q)$,引入了兩個基本假設:

假設1
一篇文章在由特徵表示的時候,只考慮詞出現或者不出現,具體來說就是文檔d在表示為向量$vec x=(x_1,x_2,...,x_n)$,其中當詞$t$出現在文檔d時,$x_t=1$,否在$x_t=0$。
假設2
文檔中詞的出現與否是彼此獨立的,數學上描述就是$P(D)=sum_{i=0}^n P(x_i)$
有了這兩個假設,我們來對文檔和query相關性建模:

接著因為我們最終得到的是一個排序,所以,我們通過計算文檔和query相關和不相關的比率,也可得文檔的排序,有下面的公式:

由於每個 xt 的取值要麼為 0 要麼為 1,所以,我們可得到:

我們接著做下面的等價變換:

其中N是總的文檔數,dft是包含t的文檔數。

以上就是BIM的主要思想,後來人們發現應該講BIM中沒有考慮到的詞頻和文檔長度等因素都考慮進來,就有了後面的BM25演算法,下面按照

3個部分來介紹bm25演算法。

,也就是有多少文檔包含某個單詞信息進行變換。如果在這里使用 IDF 的話,那麼整個 BM25 就可以看作是一個某種意義下的 TF-IDF,只不過 TF 的部分是一個復雜的基於文檔和查詢關鍵字、有兩個部分的詞頻函數,還有一個就是用上面得到的ct值。

tf-idf中,這個信息直接就用「詞頻」,如果出現的次數比較多,一般就認為更相關。但是BM25洞察到:詞頻和相關性之間的關系是非線性的,具體來說,每一個詞對於文檔相關性的分數不會超過一個特定的閾值,當詞出現的次數達到一個閾值後,其影響不再線性增長,而這個閾值會跟文檔本身有關。

在具體操作上,我們對於詞頻做了」標准化處理「,具體公式如下:

其中,tftd 是詞項 t 在文檔 d 中的權重,Ld 和 Lave 分別是文檔 d 的長度及整個文檔集中文檔的平均長度。k1是一個取正值的調優參數,用於對文檔中的詞項頻率進行縮放控制。如果 k 1 取 0,則相當於不考慮詞頻,如果 k 1取較大的值,那麼對應於使用原始詞項頻率。b 是另外一個調節參數 (0≤ b≤ 1),決定文檔長度的縮放程度:b = 1 表示基於文檔長度對詞項權重進行完全的縮放,b = 0 表示歸一化時不考慮文檔長度因素。

如果查詢很長,那麼對於查詢詞項也可以採用類似的權重計算方法。

其中,tftq是詞項t在查詢q中的權重。這里k3 是另一個取正值的調優參數,用於對查詢中的詞項tq 頻率進行縮放控制。

於是最後的公式是:

gensim在實現bm25的時候idf值是通過BIM公式計算得到的:

然後也沒有考慮單詞和query的相關性。

此處 EPSILON 是用來表示出現負值的時候怎麼獲取idf值的。

總結下本文的內容:BM25是檢索領域里最基本的一個技術,BM25 由三個核心的概念組成,包括詞在文檔中相關度、詞在查詢關鍵字中的相關度以及詞的權重。BM25里的一些參數是經驗總結得到的,後面我會繼續介紹BM25的變種以及和其他文檔信息(非文字)結合起來的應用。

BM25 演算法淺析

搜索之 BM25 和 BM25F 模型

經典搜索核心演算法:BM25 及其變種

信息檢索導論

D. 淘寶搜索排名怎麼算的

一、 taobao首頁的搜索規律
此處考慮的是商品關於普通關鍵字的排名。在關鍵字的選擇上,為了避免taobao對部分熱門關鍵字商品的排序進行人為影響,我們選擇一組比較冷的關鍵字進行測試。在taobao首頁搜索欄搜索商品,通過對結果的對比,可以得出以下幾個規律
1、無關因素規律
排名先後與售出量、瀏覽量、價格、賣家好評率、先行賠付、所在地、商品頁面的排版布局和單一關鍵字在商品名稱中出現的先後順序、次數等因素基本無關。例如「火星湖專賣,火星湖折扣電影」的商品和名為「火星湖電影票」的商品比較,在搜索「火星湖」關鍵字的時候,前一種商品不會因為「火星湖」關鍵字出現了兩次或者售出量多等因素而在搜索結果中排名靠前。
2、搜索結果排名規律
影響商品排名的關鍵因素有兩個,分別是「剩餘時間」和「是否推薦商品」。其中的剩餘時間=寶貝有效期-(當前時間-發布時間)。寶貝有效期有兩種取值,分別是14和7,對應與產品發布時選擇的有效期,發布時間就是你的寶貝上架的時間。「推薦商品」這個因素對應於我們發布商品時的「櫥窗推薦」選項。搜索結果根據是否「櫥窗推薦」商品這個因素,被劃分為兩個區段,無論剩餘時間是多少,推薦商品的區段排名都在未推薦商品區段的前面,同一區段內,剩餘時間越短,排名越靠前。例如:即便「火星湖電影票」商品還有5分鍾就要下架了,如果它沒有被勾選為櫥窗推薦商品,他的排名還是比剛剛發布出來的櫥窗推薦商品「火星湖折扣電影票」靠後。如果同樣都是櫥窗推薦商品,那麼快要下架的「火星湖電影票」會排在前面。
3、等效搜索詞規律
1) 第一關鍵詞+第二關鍵詞=第一關鍵詞+特殊字元+第二關鍵詞即緊密排列規律,搜索時特殊字元將被忽略,搜索結果不含拆分(即搜索結果中多個關鍵詞按照順序緊密相連)。
2) 第一關鍵詞+空格+第二關鍵詞=第二關鍵詞+空格+第一關鍵詞,即順序無關規律,用空格分割兩個關鍵詞搜索的結果中含拆分(即搜索結果中既有多個關鍵詞緊密相連又有多個關鍵詞不緊密相連的情況),關鍵詞出現順序和搜索時的順序無關。例如搜索「火星湖 電影票」,那麼標題為「電影票5折珠海火星湖」和「珠海火星湖電影票5折」這兩種情況都將被搜索到。同時無論搜索的結果含不含拆分,排名一定嚴格按照搜索結果排名規則來排序。
經過大量測試,taobao基本沒有對關鍵字排名進行干預,搜索符合上述三條規律
二、高級搜索頁搜索規律
Taobao高級搜索頁搜索所得出的結果和首頁搜索的結果很大差別,搜索不再以剩餘時間為主要的排名依據,通過分析結果得到以下一些規律。首先,通過高級搜索頁搜出來的結果默認顯示的是「人氣寶貝」列表中的寶貝,這個列表的排名顯然不是以剩餘時間來排序的,經過測試,我們發現影響人氣寶貝列表排名的因素主要是瀏覽量、售出量、賣家等級(信譽值)這幾個因素。淘寶經過一定的權值計算後,給出了最終列表的順序。並且這個順序十分不穩定,順序經常發生變化,這主要是由於商品瀏覽量的變化導致的。由此可以說明,瀏覽量對排名因素的作用高於其他因素。此外,頁面上還有「所有寶貝」選項,經過分析,所有寶貝選項卡中的商品排列順序完全符合第一點中的三條規律.
三、淘寶商家應對的優化策略
實際進入高級搜索頁來搜索商品的買家相對較少,大部分買家一般都在首頁搜索欄進行搜索。並且在高級搜索頁面進行第二次搜索時,實際上採用的仍然是首頁搜索的機制,所以在考慮店鋪優化時,可先暫時規避因為高級搜索規律所帶來的復雜度,集中考慮普通搜索的三個規律的優化策略。

熱點內容
電子商務搭建伺服器的模式 發布:2025-01-24 19:15:13 瀏覽:152
電腦怎麼連接伺服器存儲 發布:2025-01-24 19:13:32 瀏覽:348
qq郵箱傳文件夾怎麼傳 發布:2025-01-24 19:03:22 瀏覽:762
a5手動擋有哪些配置 發布:2025-01-24 19:03:10 瀏覽:415
萌點星球安卓怎麼修改磚石 發布:2025-01-24 19:02:08 瀏覽:391
php遠程連接mysql資料庫 發布:2025-01-24 19:00:37 瀏覽:345
雲計算加密 發布:2025-01-24 18:50:25 瀏覽:176
簡單的c語言程序實例 發布:2025-01-24 18:44:42 瀏覽:100
怎樣創建資料庫 發布:2025-01-24 18:42:37 瀏覽:461
drupal拒絕訪問 發布:2025-01-24 18:34:47 瀏覽:271