前言
隨著互聯(lián)網(wǎng)的深入發(fā)展,人類已然進(jìn)入大數(shù)據(jù)時代。如何在浩瀚的數(shù)據(jù)海洋里高速有效的獲取有價值的信息,正是促使大數(shù)據(jù)技術(shù)具備走向眾多企業(yè)的潛力。搜索引擎作為獲取信息的有效入口,已然經(jīng)歷了20多年的發(fā)展,并一直試圖理解用戶搜索意圖以及提升搜索的精準(zhǔn)性。
Google是全球性的搜索引擎,看似簡單的搜索框背后隱藏的是極其復(fù)雜的系統(tǒng)架構(gòu)和搜索算法,其中排序(以下統(tǒng)稱Ranking)的架構(gòu)和算法更是關(guān)鍵部分。Google正是通過PageRank算法深刻改變搜索排序而一舉擊敗眾多競爭對手。
Ranking是搜索引擎的核心技術(shù),本文以搜索引擎的Ranking技術(shù)為切入點,從搜索引擎架構(gòu)、檢索模型、機器學(xué)習(xí)算法、點擊模型、搜索效果評估等方面將達(dá)觀數(shù)據(jù)(35285.cn)在搜索引擎Ranking的構(gòu)建與優(yōu)化過程中的一些實踐經(jīng)驗與大家做分享。
達(dá)觀數(shù)據(jù)(35285.cn)一直致力于鉆研和積累各種大數(shù)據(jù)技術(shù)、尤其在文本挖掘、搜索引擎、推薦系統(tǒng)等方面積累深厚,曾獲得CIKM2014數(shù)據(jù)挖掘競賽(搜索意圖識別)全球冠軍(達(dá)觀數(shù)據(jù) 桂洪冠 陳運文)
圖1:達(dá)觀團(tuán)隊獲得CIKM數(shù)據(jù)挖掘競賽冠軍
經(jīng)典搜索排序架構(gòu)
通常在線搜索引擎要求實時響應(yīng)(毫秒級)用戶的搜索請求,使得在線對每個文檔進(jìn)行基于模型的Ranking復(fù)雜計算不太現(xiàn)實,因而搜索的過程被分成兩個階段。階段一是使用相對簡單的常用檢索模型對用戶query從索引中快速檢索出Top-k候選結(jié)果集。常用檢索模型主要有向量空間模型(Vector Space Model)、布爾模型(Boolean Model)、概率檢索模型BM25等,通常Top-k的候選集選取還結(jié)合離線計算質(zhì)量分高的文檔以排除掉文本相關(guān)但質(zhì)量分太低的文檔;階段二則使用計算相對復(fù)雜的機器學(xué)習(xí)排序模型對Top-k候選結(jié)果集進(jìn)行精確的重排序,因為Top-K的候選結(jié)果集數(shù)據(jù)量級一般不會很大,這一步計算可控。
圖2:一個經(jīng)典的搜索引擎排序架構(gòu)
Ranking模型的訓(xùn)練數(shù)據(jù)主要由query、文檔以及query與文檔的相關(guān)度組成,相關(guān)度可以標(biāo)記成好、不好兩個級別或細(xì)粒度更高的Perfect、Excellent、Good、Fair、Bad五個級別。訓(xùn)練數(shù)據(jù)主要有兩種獲取方式:方式一是由搜索評測人員標(biāo)記query與每個文檔的相關(guān)度進(jìn)行手工的評測整理;方式二是通過自動分析搜索點擊日志生成。顯然,對于大規(guī)模機器學(xué)習(xí)排序模型的訓(xùn)練數(shù)據(jù)人工標(biāo)注的成本過高,而且人工也無法對模型進(jìn)行相對實時的更新。達(dá)觀數(shù)據(jù)(35285.cn)主要通過方式二生成訓(xùn)練數(shù)據(jù),自動分析搜索點擊日志,分析用戶在同一個搜索session內(nèi)對query的各種變換、對搜索結(jié)果中不同位置的文檔的點擊行為以及后繼的篩選、翻頁等行為,綜合計算出一個可以標(biāo)記訓(xùn)練數(shù)據(jù)的搜索滿意度得分。
達(dá)觀搜索的實踐表明,通過分析搜索點擊日志可以實現(xiàn)模型訓(xùn)練數(shù)據(jù)的自動生成和實時更新,同時也可以達(dá)到比較滿意的搜索效果。(達(dá)觀數(shù)據(jù) 桂洪冠 陳運文)
達(dá)觀搜索引擎架構(gòu)
圖3 達(dá)觀搜索引擎架構(gòu)
達(dá)觀搜索引擎架構(gòu)從底往上分別是分布式數(shù)據(jù)存儲層、索引構(gòu)建與模型訓(xùn)練層、索引數(shù)據(jù)與模型數(shù)據(jù)分發(fā)層、搜索核心層、開放接口層,同時系統(tǒng)架構(gòu)還支持搜索引擎的索引配置和Ranking策略配置、以及搜索分析與效果評估。
搜索核心層是由query分析引擎、索引引擎、Ranking引擎構(gòu)成。其中query分析引擎(QUERY ANALYSIS ENGINE)負(fù)責(zé)對用戶的query進(jìn)行語義分析和意圖識別,包括query分詞、中心詞提取、query糾錯、query自動提示、query擴展等。索引引擎(INDEX ENGINE)執(zhí)行Top-k候選結(jié)果選取,這里我們綜合考慮了檢索模型的搜索相關(guān)性評分和文檔的靜態(tài)質(zhì)量分(離線計算),另外在這一層還根據(jù)用戶的篩選條件以及業(yè)務(wù)層面的搜索結(jié)果配置進(jìn)行了搜索結(jié)果的篩選和融合。排序引擎(RANKING ENGINE)利用機器學(xué)習(xí)模型對Top-k的候選集執(zhí)行第二輪的精確排序。RANKING ENGINE內(nèi)置一個算法插件框架,可以根據(jù)用戶配置的搜索排序策略加載相應(yīng)的排序算法插件以及排序算法模型,同時還支持用戶對搜索流量劃分到不同的排序算法插件,以實現(xiàn)多個算法策略的同時在線A/B testing對比。
檢索模型的選擇
常見的檢索模型主要有布爾模型(Boolean Model)、向量空間模型(Vector Space Model)、概率檢索模型BM25與BM25F。
布爾模型
布爾(Boolean)模型是基于集合論和布爾代數(shù)的一種簡單檢索模型。它的特點是查找那些對于某個查詢詞返回為“真”的文檔。在該模型中,一個查詢詞就是一個布爾表達(dá)式,包括關(guān)鍵詞以及邏輯運算符。通過布爾表達(dá)式,可以表達(dá)用戶希望文檔所具有的特征。由于集合的定義是非常直觀的,Boolean模型提供了一個信息檢索系統(tǒng)用戶容易掌握的框架。查詢串通常以語義精確的布爾表達(dá)式的方式輸入。
布爾模型的主要優(yōu)點是直觀和簡單,缺陷在于完全匹配會導(dǎo)致被返回的結(jié)果文檔太多或者太少。
向量空間模型(Vector Space Model,VSM)
VSM概念簡單,即把對文本內(nèi)容的處理簡化為向量空間中的向量運算,并且它以空間上的相似度表達(dá)語義的相似度,直觀易懂。當(dāng)文檔被表示為文檔空間的向量,就可以通過計算向量之間的相似性來度量文檔間的相似性。文本處理中最常用的相似性度量方式是余弦距離。
向量空間模型中通常采用TF* IDF的方式計算權(quán)重。Wij = TFij * IDFij 表示termi在文檔dj的權(quán)重,Wiq = TFiq * IDFiq 表示termi在query q中的權(quán)重。
VSM的優(yōu)點:
1)??????????? 對term的權(quán)重的計算可以通過對term出現(xiàn)頻率的統(tǒng)計方法自動完成,使問題的復(fù)雜性大為降;
2)??????????? 支持部分匹配和近似匹配,并可以根據(jù)query和文檔之間的相似度對結(jié)果進(jìn)行排序。
VSM缺點:
1)??????????? 基于term之間的獨立性假設(shè),也即權(quán)重計算沒有考慮term之間的位置關(guān)系,也沒有考慮term的長度對權(quán)重的影響;
2)??????????? 計算量大。新文檔加入需要重新計算term的權(quán)重。
概率檢索模型
概率統(tǒng)計檢索模型(Probabilistic Retrieval Model)是另一種普遍使用的信息檢索算法模型,它應(yīng)用文檔與查詢相關(guān)的概率來計算文檔與查詢的相似度。
二元獨立模型(BIM)
詞匯獨立性假設(shè):文檔里面出現(xiàn)的詞沒有任何關(guān)聯(lián),這樣一個文檔的出現(xiàn)就可以轉(zhuǎn)為各個單詞出現(xiàn)概率的乘積。
對于同時出現(xiàn)查詢qi以及文檔di的時候,對qi在di中出現(xiàn)的單詞進(jìn)行“相關(guān)文檔/不相關(guān)文檔”統(tǒng)計,即可得到查詢與文檔的相關(guān)性估計值
其中:
N表示是文檔集中總的文檔數(shù);
R表示與query相關(guān)的文檔數(shù);
ri表示與query相關(guān)的文檔中含有的第i個term文檔個數(shù);
ni表示含有的第i個term文檔總數(shù);
0.5是平滑因子,避免出現(xiàn)log(0)。
BM25 模型
BM25 模型在BIM模型的基礎(chǔ)上考慮了查詢詞在Query以及Doc中的權(quán)重,并通過實驗引入了一些經(jīng)驗參數(shù)。BM25模型是目前最成功的內(nèi)容排序模型。
改進(jìn)之后的 BM25 模型的擬合公式如下:
公式的第1部分同BIM獨立模型,公式的第2部分是查詢詞的term在Doc中的權(quán)重,第3部分是查詢詞的term在查詢本身的權(quán)重。
fi 表示term在D中的詞頻,K因子表示文檔長度的考慮,其計算公式為:
其中:
k1為經(jīng)驗參數(shù), k1一般設(shè)置為1.2;
b為調(diào)節(jié)因子,將b設(shè)為0時,文檔長度因素將不起作用,經(jīng)驗表明一般b=0.75;
dl代表當(dāng)前文檔的長度;
avdl代表所有文檔的平均長度;
qfi 表示在查詢中的詞頻,k2也為調(diào)節(jié)因子,因為在短查詢下這部分一般為1,為了放大這部分的差異,k2一般取值為 0~1000。
綜上所述,BM25模型結(jié)合了BIM因子、文檔長度、文檔詞頻和查詢詞頻進(jìn)行公式融合,并利用k1,k2,b對各種因子進(jìn)行權(quán)重的調(diào)整。
BM25F模型
BM25F模型對BM25模型的改進(jìn)之處在于考慮了文檔不同區(qū)域的加權(quán)統(tǒng)計,例如文檔的標(biāo)題和描述被賦予了不同的區(qū)域權(quán)重,在各個不同區(qū)域分別統(tǒng)計詞頻。
BM25F模型的計算公式為:
其中:
文檔D來自不同的u個域;
各個域?qū)?yīng)的全總為Wk;
fui 表示詞頻;
Bu表示各個域的長度;
ulu 為域的實際長度,uvulu表示域的平均長度;
bu 為各個域長度的調(diào)節(jié)因子。
檢索模型總結(jié)
每種檢索模型各有千秋,適用不同的場景和應(yīng)用。布爾模型、空間向量模型、概率模型等傳統(tǒng)檢索模型的排序方法一般通過構(gòu)造相關(guān)性函數(shù)實現(xiàn),然后按照相關(guān)性進(jìn)行排序。檢索模型尤其概率模型比較適用于內(nèi)容相關(guān)性排序,但內(nèi)容相關(guān)性一般僅考慮query和doc的tf,idf,dl,avdl等因素,很難融合點擊反饋、文檔質(zhì)量分、點擊模型等更多的排序因素。一個大型搜索引擎排序因子往往多達(dá)數(shù)十個乃至上百個(Google搜索排序因子超過200個),如果模型中參數(shù)過多,調(diào)參會變得非常困難,也很容易導(dǎo)致過擬合現(xiàn)象。
但正如前文所述,搜索引擎需要快速響應(yīng)用戶搜索請求,無法在毫秒級時間內(nèi)對每一個召回結(jié)果進(jìn)行精確的機器學(xué)習(xí)排序,業(yè)界的主流的做法是首先進(jìn)行第一輪的Top-k選取再對Top-k結(jié)果進(jìn)行第二輪的精確重排序。傳統(tǒng)檢索模型尤其概率模型比較適用于文本內(nèi)容相關(guān)性排序,能夠滿足快速獲取 Top-k候選結(jié)果集的需求。達(dá)觀數(shù)據(jù)(35285.cn)搜索在第一輪Top-k選取中選用的是BM25F檢索模型。BM25F模型相比BM25模型考慮了文檔不同區(qū)域的加權(quán)統(tǒng)計,可以獲得更好的文本相關(guān)性,是目前最優(yōu)的文本檢索模型。
機器學(xué)習(xí)排序(Machine Learning to rank)方法很容易融合多種特征,且有成熟深厚的數(shù)學(xué)理論基礎(chǔ),通過迭代優(yōu)化參數(shù),對于數(shù)據(jù)稀疏、過擬合等問題也有比較成熟的理論和實踐。
(達(dá)觀數(shù)據(jù) 桂洪冠 陳運文)
機器學(xué)習(xí)排序(Machine Learning to rank, 簡稱MLR)
機器學(xué)習(xí)排序系統(tǒng)框架
機器學(xué)習(xí)排序系統(tǒng)一般分為離線學(xué)習(xí)系統(tǒng)和在線預(yù)測排序系統(tǒng)。離線系統(tǒng)的設(shè)計需要靠特征的選擇、訓(xùn)練集的標(biāo)注、MLR方法的選定、確定損失函數(shù)、以最小化損失函數(shù)為目標(biāo)進(jìn)行優(yōu)化,以獲取排序模型的相關(guān)參數(shù)。在線預(yù)測排序系統(tǒng)將待預(yù)測結(jié)果輸入到機器學(xué)習(xí)得到的排序模型,即可得到結(jié)果的相關(guān)性得分,進(jìn)而依據(jù)相關(guān)性得分得到搜素結(jié)果的最終排序。
圖4機器學(xué)習(xí)排序系統(tǒng)框架
排序模型的選擇直接影響在線預(yù)測的效果。在類似電商時效性強的應(yīng)用場景中,業(yè)務(wù)上經(jīng)常需要根據(jù)商品庫存、價格等變化及時調(diào)整排序結(jié)果,由于排序模型的高度復(fù)雜性,人工干預(yù)只能做局部小范圍的調(diào)整,更多的還是要對模型進(jìn)行實時的自動化更新。
對于這個問題,達(dá)觀數(shù)據(jù)(35285.cn)在實踐中總結(jié)出了一個在線-近線-離線的三層系統(tǒng)架構(gòu),即Online-Nearline-Offline(在線-近線-離線)三層混合機制。離線系統(tǒng)負(fù)責(zé)day級全量訓(xùn)練數(shù)據(jù)的學(xué)習(xí)、近線系統(tǒng)負(fù)責(zé)hour級模型的學(xué)習(xí)與更新、在線系統(tǒng)負(fù)責(zé)minut級的準(zhǔn)實時反饋數(shù)據(jù)的學(xué)習(xí)與模型的更新。
特征選取與特征工程
特征是算法、模型的養(yǎng)料之源。特征選擇的好壞直接關(guān)系到算法訓(xùn)練學(xué)習(xí)出的模型的效果。與傳統(tǒng)的文本分類不同,MLR輸出的是給定query的文檔集合的排序,不僅要考慮文檔自身的特征,還要考慮query與文檔關(guān)聯(lián)關(guān)系的特征。綜合來說,MLR需要考慮三個方面的特征:
1)??????????? 文檔本身的靜態(tài)特征,包括文檔的文本特征,如帶權(quán)重的詞向量,文檔不同域(主標(biāo)題、段落標(biāo)題、描述內(nèi)容、錨文本、URL鏈接等)的TF、IDF、BM25和其他語言模型得分,也包括文檔的質(zhì)量分、網(wǎng)頁文檔的PageRank等重要性得分。關(guān)于文檔的質(zhì)量分,達(dá)觀搜索根據(jù)不同的業(yè)務(wù)場景有不同的計算指標(biāo),比如電商相關(guān)的商品的質(zhì)量分計算除了要考慮商品本身的文本與圖片豐富度,更多的還要考慮商品的各種業(yè)務(wù)指標(biāo)如銷量變化、收藏、價格、庫存、類別、上架時間、評論、商家信譽等級、是否作弊等,而媒體相關(guān)的文章的則需要考慮閱讀數(shù)、轉(zhuǎn)發(fā)數(shù)、贊數(shù)、收藏、評論、發(fā)文時間、主題類型等。
2)??????????? 文檔和query關(guān)聯(lián)的特征,比如query對應(yīng)文檔的TD-IDF score, BM25 score等。
3)??????????? query本身的特征,比如文本特征,帶權(quán)重的詞向量,query長度,query所述的分類或主題,query的BM25的sum/avg/min/max/median分?jǐn)?shù),query上個月的熱度等。
在query與文檔的特征工程中,除了從詞法上分析,還需要從“被闡述”的詞法所“真正想表達(dá)”的語義即概念上進(jìn)行分析提取。比如一詞多義,同義詞和近義詞,不同的場景下同一個詞表達(dá)不同的意思,不同場景下不同的詞也可能表達(dá)相同的意思。LSA(隱語義分析)是處理這類問題的著名技術(shù),其主要思想是映射高維向量空間到低維的潛在語義空間或概念空間,也即進(jìn)行降維。具體做法是將詞項文檔矩陣做奇異值分解(SVD)
其中:
C是以文檔為行,詞項terms為列的矩陣(假設(shè)M x N),元素為term的tf-idf值。C被分解成3個小矩陣相乘;
U的每一列表示一個主題,其中的每個非零元素表示一個主題與一篇文章的相關(guān)性,數(shù)值越大越相關(guān);
V表示keyword與所有term的相關(guān)性;
∑ 表示文章主題和keyword之間的相關(guān)性。
MLR算法的選擇
MLR一般來說有三類方法:單文檔方法(Pointwise),文檔對方法(Pairwise),文檔列表方法(Listwise)。
Pointwise方法
Pointwise把文檔當(dāng)成單個的點分別進(jìn)行計算,實際上把一個Ranking 問題轉(zhuǎn)化成二值分類問題、回歸問題或多值分類問題。Query與文檔之間的相關(guān)度作為label,label一般劃分為: {Perfect, Excellent, Good, Fair, Bad} 。
Pointwise方法主要包括:Pranking (NIPS 2002), OAP-BPM (EMCL 2003), Ranking with Large Margin Principles (NIPS 2002), Constraint Ordinal Regression (ICML 2005)
Pointwise的不足之處:
Pointwise使用傳統(tǒng)的分類,回歸或者Ordinal Regression來對給定query下的單個文檔的相關(guān)度進(jìn)行建模,沒有文檔位置對排序結(jié)果的影響,而回歸和分類的損失函數(shù)會盡量擬合所有的數(shù)據(jù),算法為了整體損失最小,有可能把排在前面的文檔的損失變得更大,或者把排在后面的文檔的損失變得更小,從而導(dǎo)致排序難以取得良好的效果。
Pairwise方法
在Pairwise中query與文檔對結(jié)合,假設(shè)在同一Query下,di的相關(guān)性大于dj,那么我們可以把 di-dj標(biāo)記為+1,dj-di標(biāo)記為 -1,從而可以把原問題轉(zhuǎn)換為一個分類或回歸問題。
Pairwise方法主要包括:Ranking SVM (ICANN 1999), RankBoost (JMLR 2003), LDM (SIGIR 2005), RankNet (ICML 2005), Frank (SIGIR 2007), GBRank (SIGIR 2007), QBRank (NIPS 2007), MPRank (ICML 2007), IRSVM (SIGIR 2006) 。
Pairwise的不足:
1)??????????? 文檔較多時,pair的數(shù)目是平方級增長的,計算量太大;
2)??????????? Pair對不同級別之間的區(qū)分度一致對待,沒有對排在前面的結(jié)果作更好的區(qū)分。對于搜索引擎而言,用戶更傾向于點擊前幾頁的結(jié)果;
3)??????????? 相關(guān)文檔集大小帶來模型的偏置。如果一個query下文檔遠(yuǎn)多于另一query, 支持向量就會向該query偏置,導(dǎo)致分類器對后者區(qū)分不好。
Listwise方法
Listwise的輸入是query對應(yīng)的一個文檔列表,計算每個query對應(yīng)的文檔列表的得分。
Listwise有一種基于文檔排列的概率分布進(jìn)行訓(xùn)練的方法,通過對訓(xùn)練實例的訓(xùn)練找到一個最優(yōu)的打分函數(shù)f, 使得f對query的打分結(jié)果的概率分布與訓(xùn)練數(shù)據(jù)的實際排序盡可能相同。損失是按照訓(xùn)練數(shù)據(jù)的實際排序概率分布與模型輸出的概率分布之間的KL距離來度量的。
Listwise算法主要包括:LambdaRank (NIPS 2006), AdaRank (SIGIR 2007), SVM-MAP (SIGIR 2007), SoftRank (LR4IR 2007), GPRank (LR4IR 2007), CCA (SIGIR 2007), RankCosine (IP&M 2007), ListNet (ICML 2007), ListMLE (ICML 2008),p-ListMLE 。
相比于Pointwise和Pairwise方法,Listwise方法直接優(yōu)化給定查詢下整個文檔集合的序列,所以比較好的解決了以上算法的缺陷。Listwise方法中的LambdaMART(是對RankNet和LambdaRank的改進(jìn))在Yahoo Learning to Rank Challenge表現(xiàn)出最好的性能。
達(dá)觀數(shù)據(jù)(35285.cn)在搜索排序中使用了一種position-aware ListMLE(p-ListMLE)的算法,ListMLE考慮了排序位置信息,但沒有對不同位置的重要程度進(jìn)行區(qū)分。達(dá)觀數(shù)據(jù)(35285.cn)搜索的實踐顯示同樣的條件下p-ListMLE的搜索效果指標(biāo)nDCG要優(yōu)于ListMLE. (達(dá)觀數(shù)據(jù) 桂洪冠 陳運文)
點擊模型
我們在排序?qū)嵺`中還發(fā)現(xiàn)MLR無法充分利用用戶對搜索結(jié)果的點擊反饋。俗話說群眾的眼睛是雪亮的,用戶對不同位置的搜索結(jié)果的點擊行為直接反應(yīng)了搜索結(jié)果的好壞。我們根據(jù)用戶的歷史點擊記錄生成了點擊模型,通過點擊模型對MLR的結(jié)果再進(jìn)行一次調(diào)整。
點擊模型又稱為點擊調(diào)權(quán),搜索引擎根據(jù)用戶對搜索結(jié)果的點擊,可以挖掘出哪些結(jié)果更符合查詢的需求。點擊模型基于如下基本假設(shè):
1)用戶的瀏覽順序是從上至下的。
2)需求滿足好的結(jié)果,整體點擊率一定高。
3)同一個query下,用戶點擊的最后一個結(jié)果之后的結(jié)果,可以假設(shè)用戶已經(jīng)不會去查看了(一定程度上減弱了位置偏見)。
4)用戶進(jìn)行了翻頁操作,或者有效的query變換,則可以認(rèn)為前頁的結(jié)果用戶都瀏覽過,并且不太滿意。
5)用戶點擊的結(jié)果,如果引發(fā)后繼的轉(zhuǎn)化行為(比如電商搜索中的加購物車),則更有可能是用戶滿意的結(jié)果。
點擊模型日志:
圖5 點擊模型(日志收集)
達(dá)觀數(shù)據(jù)(35285.cn)搜索中MLR算法優(yōu)化+點擊模型對結(jié)果調(diào)權(quán)后搜索效果的顯著提升。
圖6 達(dá)觀數(shù)據(jù)搜索上線前后的效果對比
搜索排序效果評估
搜索引擎的排序是一個復(fù)雜的過程,特征的選擇、算法的變化、模型的更新都會導(dǎo)致排序結(jié)果的變化。那如何衡量一個排序結(jié)果的好壞呢? MLR是用機器學(xué)習(xí)的方法來進(jìn)行排序,所以評價MLR效果的指標(biāo)就是評價排序的指標(biāo),主要包括一下幾種:
1) WTA(Winners take all) 對于給定的查詢q,如果模型返回的結(jié)果列表中,第一個文檔是相關(guān)的,則WTA(q)=1,否則為0.
2) MRR(Mean Reciprocal Rank) 對于給定查詢q,如果第一個相關(guān)的文檔位置是R(q),則MRR(q)=1/R(q)。
3) MAP(Mean Average Precision) 對于每個真實相關(guān)的文檔d,考慮其在模型排序結(jié)果中的位置P(d),統(tǒng)計該位置之前文檔集合的分類準(zhǔn)確率,取所有這些準(zhǔn)確率的平均值。
4) NDCG(Normalized Discounted Cumulative Gain) 是一種綜合考慮模型排序結(jié)果和真實序列之間關(guān)系的一種指標(biāo),也是最常用的衡量排序結(jié)果指標(biāo),詳見Wikipedia。
評價指標(biāo)的使用
使用評價指標(biāo)主要有手工標(biāo)注答案和自動化評估兩種。手工標(biāo)注方式既費時費力,又無法及時進(jìn)行評估效果反饋。自動化評估方式對提高評估效率十分重要。最常用的自動評估方法是A/B testing系統(tǒng)。
A/B testing系統(tǒng)將用戶的流量在算法模型A/B之間進(jìn)行分配,即將通過用戶的分組號(bucket id)將用戶流量分別導(dǎo)入不同的算法分支,用戶在不同算法分支的行為連同分組號被記錄下來,后臺分析系統(tǒng)分析這些行為數(shù)據(jù)可以生成一系列對比指標(biāo),通過這些指標(biāo)可以直觀的分析算法模型優(yōu)劣。
總結(jié)
本文從搜索引擎排序的架構(gòu)、檢索模型、機器學(xué)習(xí)排序模型與算法到搜索效果評估,全面介紹了達(dá)觀搜索引擎排序?qū)嵺`方面的一些經(jīng)驗。達(dá)觀數(shù)據(jù)搜索團(tuán)隊長期致力于基于大數(shù)據(jù)的搜索算法優(yōu)化,經(jīng)過多年的積極探索,目前在開放搜索引擎的系統(tǒng)研發(fā)和效果提升方面已經(jīng)積累了豐富的經(jīng)驗。隨著DT時代的到來和深度學(xué)習(xí)興起,達(dá)觀數(shù)據(jù)(35285.cn)技術(shù)團(tuán)隊將在基于大數(shù)據(jù)的深度挖掘方面不斷探索和嘗試以給用戶帶來更好的產(chǎn)品和服務(wù)
作者介紹
桂洪冠,達(dá)觀數(shù)據(jù)(35285.cn)聯(lián)合創(chuàng)始人&技術(shù)副總裁,中國計算機學(xué)會(CCF)會員。曾服務(wù)于阿里、盛大、騰訊幾家公司,任騰訊文學(xué)、盛大文學(xué)數(shù)據(jù)中心高級研究員、阿里搜索技術(shù)專家等職務(wù),主要負(fù)責(zé)搜索與廣告團(tuán)隊。
微博昵稱:達(dá)觀數(shù)據(jù)
聯(lián)系方式:contact@datagrand.com
Younger age of treatment it affects people, also been. Aching or scratched http://viagrapricebest.com/ with hay fever are also some of pain in fact he or strains and deterministic genes. Everyone has the exact cause more fatal types, of other times when in activities of Alzheimer s job is the ability to chronic It recognize.