QQ瀏覽器是如何提升搜索相關性的?

圖片

導言 | 搜索相關性主要指衡量Query和Doc的匹配程度,是信息檢索的核心基礎任務之一,也是商業搜索引擎的體驗優劣最樸素的評價維度之一。本文作者劉傑主要介紹QQ瀏覽器搜索相關性團隊在相關性系統及算法方面的實踐經歷。值得一提的是,本文會特別分享在QQ瀏覽器搜索、搜狗搜索兩個大型系統融合過程中,在系統融合、算法融合、算法突破方面的實踐經驗。希望對搜索算法以及相關領域內的同學有幫助。

圖片

業務介紹

搜索業務是QQ瀏覽器的核心功能之一,每天服務於億萬網民的查詢檢索,爲用戶提供信息查詢服務,區別於一些垂直領域的站內搜索,從索引規模、索引豐富度來看,QQ瀏覽器的搜索業務可以定位成綜合型的全網搜索引擎。具體來說,檢索結果的類型,不僅包含傳統Web網頁、Web圖片,也包含新型富媒體形態,例如小程序、微信公衆號文章、視頻四宮格卡片、智能問答等移動互聯網生態下的新型富媒體資源。

圖片

從相關性的視角看,QQ瀏覽器的業務場景,既包含傳統綜合搜索引擎的基本特點,即承接不同羣體、不同興趣、不同地域的海量用戶的查詢Query。從需求角度來看,QQ瀏覽器的搜索業務有着大量的用戶主動查詢,其需求種類、表達形式、結果偏好,存在非常大的差異性,對系統的檢索、Query理解、相關性判別有着巨大的挑戰;同時,從資源類型角度看,依託集團自有的生態優勢,QQ瀏覽器的搜索場景包含海量的新形態的內容搜索,例如微信公衆號文章、企鵝號圖文、企鵝號視頻,這些資源與傳統網頁在內容表述、內容形式上與傳統網頁有着較大的區別,也對相關性算法提出了新的要求。

圖片

圖片

搜索相關性介紹

1)搜索主體框架

圖片

在介紹相關性實踐前,首先介紹下系統當前的現狀。我們於2021年完成了看點、搜狗兩套系統的系統級融合,經過不斷地思考、討論、推演、演化後,整體系統的整體最終演化爲如圖所示的樣子(示意圖)。在整個系統融合的過程中,整個團隊進行了充分的人員、技術融合,同時也進行了相當長時間的系統改造。**系統從邏輯上分爲了兩大搜索子系統,即主搜子系統和通用垂搜子系統,分別由搜狗系統、看點系統演化而來,同時在系統頂層將兩個子系統結果進行進一步融合排序,最終輸出檢索結果。**具體來說分位,分爲三個邏輯層次:

第一,融合系統:對自然結果、垂搜特型結果(卡片)進行整頁異構排序,包含點擊預估、異構多目標排序等階段,同時也會進行一些業務頂層的輕量重排序或微調。

第二,通用垂搜子系統:垂搜檢索系統由看點搜索系統演化而來,主要用於對接入對高速迭代、快速部署有很高要求,與通用檢索邏輯有較大差別的業務。整體系統的特點是部署便捷、快速,這套系統從設計之初就充分考慮了多業務快速接入的場景,目前承接的主要是特型形態的結果。

第三,主搜子系統:對十億級規模的索引庫中,對用戶的Query進行檢索,一般會經歷召回、精排兩個重要階段。主要的Doc形態是傳統Web網頁、Web圖片、H5形態網頁等,這套系統的特點爲,業務形態、效果相對穩定、持續,問題類型有相對的共性,適合算法處於穩定器的業務,主要的難點在於滿足用戶的中長尾需求。

2)算法架構

圖片

搜索算法的計算流程,大致可以分爲召回和排序兩大邏輯部分。從算法處理的Doc規模來看,在工業界的一般算法架構,都是類似金字塔型的漏斗結構(QQ瀏覽器目前的主搜子系統、垂搜子系統,雖然定位不同,但都遵照了上述模式):單個Query會從海量的索引中,檢索出一個初始Doc集合,然後經過系統的幾個重要的Ranking階段,逐步對上一個階段的Doc集合進行篩選,最終篩序出系統認爲最好的N條結果。具體來說,如圖所示可以分爲:

第一,召回層:包含文本檢索和向量檢索兩部分,文本檢索會按照Query的核心詞進行語法樹構建,由倒排系統進行Doc歸併、截斷產出文本召回集合。向量檢索部分利用深度模型將Query、Doc映射到隱空間,在線利用向量檢索引擎召回與Query相似的N條結果,相比倒排檢索能夠充分利用PLM對Query和Doc的表示進行學習,實現近似一段式檢索,相比傳統的召回+粗排的二段式檢索有更好的效果。

第二,粗排層:粗排層使用計算複雜度相對低的方式進行特徵捕捉,基本上分爲三類:第一類爲相關性類特徵,文本相關性、語義相關性,其中語義相關性受限於這個位置的算力,主要採用雙塔結構,將Query、Doc表示爲向量,用點積或者半交互得到。第二類爲Query、Doc的靜態特徵,例如Query的一些長度、頻次、Doc質量、Doc發佈時間等。第三類特徵爲統計類特徵,例如歷史窗口下的用戶行爲數據。

第三,精排層:對粗排層輸入的Doc集合進行更精細化的區分,按照搜索多目標來,精排層要對Doc以下幾個維度進行綜合判斷,例如相關性、時效性、質量權威性、點擊預估等幾個維度進行綜合考量。

相關性計算的位置:按照上述介紹的算法架構,QQ瀏覽器的搜索相關性計算主要分爲粗排相關性、精排相關性兩部分,其中粗排相關性用於在萬級別->百級別這個篩選階段,算法大部分使用基於倒排的文本匹配特徵,同時加上雙塔結構的語義特徵,在計算複雜度相比精排更輕量;精排相關性,主要用於百級別->個級別的篩選,算法相比粗排,利用了Doc的正排數據,建模方式更精細和計算複雜度也相對更高,本文在算法實踐方面,會偏向於介紹團隊在精算階段的經驗。

3)評估體系

搜索相關性的評估,主要分爲離線和在線評估。離線評估主要看重PNR以及DCG的指標變化,在線評估上主要看重interleaving實驗以及人工的GSB評估。下面將詳介紹幾種評估指標的計算方式:

第一種,PNR:Positive-Negative Ratio是一種pairwise的評估手段,用來評估搜索相關性效果。它的物理含義是在一個排序列表中的結果按照query劃分,對每個query下的結果進行兩兩組pair,計算正序pair的數量/逆序pair的數量。值越大說明整個排序列表中正序的比例越多。

第二種,DCG:Discounted Cumulative Gain是一種listwise的評估手段。它的物理含義是整個排序相關性,並且越靠前的item收益越高。

圖片

其中r(i)代表相關性label。一般而言K選擇1或者3。

第三種,interleaving:Interleaving是一種在線評估用戶點擊偏好的實驗。它是將兩個排序列表的結果交織在一起曝光給用戶,並記錄用戶最總的點擊偏好。整體的感知增益計算邏輯:

圖片

其中wins代表用戶最總點擊了A列表結果,ties代表持平,loss則代表落敗。

圖片

則代表感知增益勝出,反之則代表落敗。

第四種,GSB:Good vs Same vs Bad 是一種採用專家評估的手段。標註專家會對左右兩邊的排序列表進行評估,一邊是來自基線線上,一邊是來自試驗組線上。對於標註專家而言,他不清楚那邊的結果是試驗組產生的,然後對這兩個排序列表進行打分,Good or Same or Bad。最後統計統計整體的GSB指標:

(Good-Bad)/(Good + Same +Bad)。

圖片

相關性精算的系統演進

搜狗搜索作爲一款歷經迭代18年的搜索產品,在數據積累、技術打磨、系統成熟度方面有很強的先天優勢。QQ瀏覽器·搜索是搜索行業較爲年輕的新人,在架構選型、技術代際、歷史債務方面有很強的後發優勢。**爲了兼顧兩家之長,在系統融合的過程中,團隊的首要目標就是充分融合兩套系統的特有優勢。**以相關性視角來看,我們大致經歷了以下幾個改造時期

1)1.0時代,羣雄割據->三國爭霸

從相關性的視角看,面臨最大的難題是兩套系統相關性得分不可比的問題。具體來說:

標準差異:兩套系統的相關性判定標準、標註方法不同,從根本上不可比。

建模差異:兩個系統對於多目標(相關性、時效性、點擊、權威性)的建模方式存在較大差異:主搜系統以End-To-End思路解決搜索多目標的問題,具體來說使用GBDT作爲融合模型,所有子特徵一併送入融合模型,我們後繼稱之爲「大一統」模型。垂搜系統對多目標進行了進一步的拆解,儘量將同一個維度的特徵系列匯聚形成高級特徵,以相關性爲例,垂搜的會存在一個單獨的基礎相關性精算階段,輸出相關性高級特徵,再將高級特徵替換所有的子特徵的方式進入融合排序,我們後繼稱之爲「抽象高級特徵」。

對比思考:從系統設計上看,「大一統」VS「抽象高級特徵」,是兩種完全不同的思路,前者更符合機器學習的理念,暴露更多的子特徵細節能夠提供更多的信息;後者的思路,對目標進行了高度抽象,具有更好的可解釋性。從表面看似乎沒有明顯的優劣可言,但從工業實踐經驗看,這裏還是有較強的實踐結論的。

下面揭曉一下結論,從工業系統設計的角度看,更傾向於「抽象高級特徵」這種方案,而非「大一統」的方式。理由有以下幾點:

第一點,可解釋性:工業算法系統的首要考慮就是如何支撐算法持續、高效迭代。在多目標導向下,「大一統」方式下子特徵規模已經達到了100維以上,逆序的問題歸因相比「高級特徵」來講,歸因難度大、問題會更分。這個模式也間接鼓勵算法同學去新增能夠帶來指標提升的新特徵,而不是去迭代已有的特徵。

第二點,業務需求:「大一統」方式下,一旦脫離該階段的多目標排序後,後繼的更High-Level的融合場景即失去判斷相關性的載體,無法對相關性維度進行比較。更High-Level的融合不得不將必要的子特徵繼續向上傳遞,往往看到某些子特徵從最底層一路透傳到最頂層,對子特徵的可比性、覆蓋率、迭代維護成本都要很大的要求

第三點,特徵管理:High-Level的業務同學大量使用子特徵也會造成管理混亂,一旦某些子特徵在後繼的業務中使用,該特徵迭代就與其在後繼業務中的形成了耦合,例如比較常見的通過某個特徵MagicNumber進行過濾,很有可能的情況是,特徵迭代時也要去調整該MagicNumber。所以,以相關性爲例,使用具有物理含義的統一「高級特徵」會大大減少子特徵的管理問題。

改進方式我們在垂搜子系統、主搜系統按照同樣的設計思路,抽象了一個基礎相關性計算階段,這個階段的目標是單目標的相關性,即不考察Doc的質量、時效性等。這一階段會接管所有刻化相關性目標的特徵,通過相關性模型,輸出相關性高級特徵。同時,相關性高級特徵,會經過Probility Calibration算法將score轉化爲是否相關的概率(對齊標準、檔位,跨系統可比),同時具有較好的分佈穩定性、跨Query可比性,即具有物理含義的相關性得分。應用視角上看,分爲兩部分,即交給融合排序模型,替換一批刻化相關性的子特徵,另外一部分是直接用於High-Level的場景,例如某些業務會將相關性大於某個閾值的Doc進行過濾或者提權。

演進總結:首先,我們明確了標準。主要的業務場景對齊了相關性標準,特別是每個檔位物理含義。其次,具有物理含義的相關性得分:對相關性特徵進行歸納和融合,通過Probility Calibration算法對得分進行相關概率校準,在ranking任務能力尚可的情況下,能夠保證跨Query、跨業務可比,同時從特徵管理的角度看,也從特徵割據的時代進入了三足鼎立的時代。

2)2.0時代,統一複用

1.0階段我們通過校準算法、相關性標準統一,輸出了具有一定的物理含義相關性得分,可以基本做到子特徵保持差異的情況下,基本實現跨業務可比的問題。此時,雖然校準可以解決系統內部的實現上的差異問題,但團隊面臨更核心問題是系統的近一步融合問題,具體來說:

第一,算法融合:如果說「大一統」「高級特徵」兩種模式的統一是系統級方法論的對齊,那麼「相關性算法融合」角度,則需要進一步將執行細節對齊。如何最大化算法能力,兼兩家之長,是最基本的融合初衷。

第二,人效問題:系統細節的差異,算法角度看,在內部的模型、特徵體系、數據結構、代碼庫,全部是完全不同的。維護兩套大型複雜系統,分別投入則必須要面對人力折半的問題,背後的壓力是可想而知的。

在上述背景下,22年重新對兩套系統進行了整合,力圖用統一的一套相關性服務,服務於主搜索系統和垂搜系統。這裏介紹下我們其中一項重要的重構,重新設計構建了相關性精算服務,統一了主搜系統和垂搜系統的相關性能力,做到90%代碼級別的複用。

圖片

相關性精算服務:新的相關性精算服務,定位於精算旁路系統,爲搜索精排階段提供高級相關性得分,服務內部可以高速並行獲取Doc正排,進行精細化的相關性特徵計算、GPU計算、模型預測等。算法統一,一套代碼,90%的特徵屬於通用基礎匹配,10%特徵根據場景差異,對該業務的獨有問題進行獨立刻化。具體來看,新的服務相比之前提供的能力包括:

調研實驗效率:新的相關性精算服務,調研實驗週期由周級下降爲天級,背後的效率提升,主要是由於模塊位置帶來的調研環境搭建成本上的區別。在以前的系統,相關性大部分非GPU類的特徵,均在召回層實現,這樣帶來的問題是,由於召回層的架構大部分都是分佈式系統,調研成本相比精算模塊需要更多的機器成本,這也造成了該階段的調研需要團隊共用1-2套調研環境,調研&實驗成本將會大大增加。

圖片

算力能力:相關性分佈式計算,最重要的貢獻是能夠讓系統的計算條數變的更多,這種思路在GPU並行技術出現以前是非常有效的設計,將相關性計算放到召回層不僅能夠最大限度的利用分佈式架構,同時也節省了Doc正排在HighLevel獲取的存儲和帶寬,這部分正排數據往往是召回層必須的可以兼顧複用。但最近幾年隨着深度學習、GPU並行加速技術在搜索系統重越來越多的應用,業務越來越需要重型計算,這樣的重型計算是召回層的算力遠遠無法滿足的,召回層的相關性計算只有基於倒排的特徵,更關心是否命中、命中距離,缺少對未命中詞與query的關係刻化。

算法獨立性:相比之前最大的區別是,新的相關性精算服務,與召回層解耦。從基礎數據結構、特包括Query信息、Doc正排,進行重構對齊,傳導至特徵設計、實現,也能夠相應的進行統一。最終做到算法統一,一套代碼,90%的特徵屬於通用基礎匹配,10%特徵根據場景差異,對該業務的獨有問題進行獨立刻化。

圖片

圖片

搜索相關性技術實踐

1)相關性標準

QQ瀏覽器搜索下的相關性標準,主要用於基礎相關性樣本的標註,爲了能精細化的表達是否相關這一概率,我們將相關、不相關這個二分類任務,拓展到了五檔分類,能夠提供更多的監督信息。同時,每一檔的物理含義,在不同的業務下,儘量保持對等。例如,搜用搜索場景、視頻搜索場景下,同一檔位的Doc需要具有對等的相關程度,即應具備同一等級的相關性。這樣做的好處是,在High-Level場景下,當分類能力尚可的情況下,通過Probility Calibration可以對不同的業務下的doc進行得分的比較,但仍可以對相關性內部特徵的實現保留一定的差異性,對系統非常友好。

圖片

2)相關性的技術架構

圖片

3)深度語義匹配實踐

  • QQ瀏覽器搜索相關性的困難與挑戰

QQ瀏覽器的搜索業務每天服務於億萬網民的查詢檢索,因爲業務場景偏向於綜合搜索業務,每天的用戶的查詢表達都呈現海量量級,在這個場景下的用戶Query天然的具備很強的長尾效應,對搜索相關性的匹配能力提出了巨大的挑戰。

圖片

  • 深度語義的現狀

爲了解決一詞多義等模糊表達的問題,QQ瀏覽器的搜索相關性場景,進行了大量的語義匹配工作實踐。隨着深度學習技術的興起,基於預訓練語言模型的方法,特別是基於BERT模型的語義匹配,目前是我們工作的主要研究方向。當前系統按照表達方式來看,主要包括基於表示的匹配方法(Representation-based)和基於交互的匹配方法(Interaction-based)。

基於表示的匹配方法:使用深度模型分別學習Query和Doc的Embbeding,在線通過cosine計算Query和Doc相似度來作爲語義匹配分數。計算框架上,借鑑百度的SimNet雙塔結構,由於在線計算相對交互式模型更友好,目前普遍應用於粗排語義相關性的計算。

基於交互的匹配方法:將Query和Doc(Title)拼接後輸入給BERT模型,經過N層Transformer Block後,將CLS Token的Embbeding接入下游相關性任務,由於交互式普遍需要比較高的計算複雜度,一般用於QQ瀏覽器的精排階段。

圖片

  • QQ瀏覽器搜索相關性深度語義實踐

相關性Ranking Loss:目前我們的相關性標註標準共分爲五個檔位,最直接的建模方式,其實是進行N=5的N分類任務,即使用Pointwise的方式建模。搜索場景下,我們其實並不關心分類能力的好壞,而更關心不同樣本之前的偏序關係,例如對於同一個Query的兩個相關結果DocA和DocB,Pointwise模型只能判斷出兩者都與Query相關,無法區分DocA和DocB相關性程度。因此搜索領域的任務,更多更廣泛的建模思路是將其視爲一個文檔排序場景,廣泛使用Leaning To Rank思想進行業務場景建模。

Pairwise 方法通過考慮兩兩文檔之間的相關對順序來進行排序,相比 Pointwise 方法有明顯改善,因此我們對BERT模型的Fine-tuning任務,也進行了RankingLoss的針對性改進。Pairwise Loss下的訓練框架,任務輸入的單條樣本爲三元組的形式,在多檔標註下,我們對於同一Query的多個候選Doc,選擇任意一個高檔位Doc和一個低檔位Doc組合成三元組作爲輸入樣本。

圖片

深度語義特徵的校準問題——Ranking Loss的問題:相關性是搜索排序的基礎能力,在整個計算流程的視角看,相關性計算不是最後一個階段,所以當相關性內部子特徵的目標如果直接使用RankingLoss,要特別注意與上下游的配合應用,特別要關注單特徵的RankingLoss持續減少,是否與整體任務的提升一致。同時,RankLoss由於不具有全局的物理含義,即不同Query下的DocA和DocB的得分是不具有可比性,這直接導致了其作爲特徵值應用到下游模型時,如果我們使用例如決策樹這種基於全局分裂增益來劃分閾值的模型,會有一定的損失。

圖片

搜索系統一般爲了追求可解釋性,往往會將高級特徵通過一些解釋性較強的模型進行融合。以相關性高級特徵的產出過程爲例,我們在產出整體的相關性得分時,會使用例如XGB模型對相關性N維子特徵進行最終的打分預測,如果此時放大這個打分過程,即當訓練好的決策樹進行最終模型預測時,當執行到某一個決策樹時,會按照特徵分裂值判斷走左子樹還是右子樹,這個分裂值就要求該特徵在全部Query下都按照此分裂點判斷,這裏如果當前的特徵值域在不同Query下差異很大,在個別Query下的打分準確率一定會大打折扣。

圖片

實踐中我們對語義特徵的ranking loss,也同時進行了一部分pointwise loss結合,目的是希望單特徵得分的分佈儘量在全局有一定的可比性,即對其進行一定Calibration能夠幫助相關性模型整體的PNR提升。由圖所示,當單特徵持續以PairwiseLoss訓練,隨着訓練步數的增加,單特徵PNR是持續上升的,但其放入相關性模型後,整體的PNR並不是線性上升的,此時觀察單特徵ECE(Expected Calibration Error 期望標定誤差)有較大波動。如果將單特徵變成Pairwise+PointwiseLoss,發現隨着訓練過程的進行,模型ECE持續下降,單特徵PNR微弱上升,且相關性整體的PNR能夠上升,且最終高於單純使用Pairwise的方式。

領域自適應:最近幾年的NLP領域,預訓練方向可以稱得上AI方向的掌上明珠,從模型的參數規模、預訓練的方法、多語言多模態等幾個方向持續發展,不斷地刷新着領域Benchmark。預訓練通過自監督學習,從大規模數據中獲得與具體任務無關的預訓練模型。那麼,在搜索領域下,如何將預訓練語言模型,與搜索語料更好的結合,是我們團隊一直在探索的方向。

圖片

圖片

在實踐過程中,我們發現通用預訓練的語料,與搜索場景的任務,依然存在不小的gap,所以一個比較樸素的思想是,是否可以將搜索領域的自有數據進行預訓練任務。在實際的實驗中,我們發現將搜索領域的語料,在基礎預訓練模型後,繼續進行post-pretrain,能夠有效的提升業務效果,對下游任務的提升,最大可以大致9%。

4)相關性語義匹配增強實踐

  • 深度語義匹配的魯棒性問題

在NLP領域,預訓練語言模型(Pretrained Language Model)已經在很多任務上取得了顯著的成績,PLM搭配領域Finetune也同時在工業界成爲解決搜索、推薦等領域的標準範式。在搜索相關性業務中,行業內在2019年開始,就已將神經網絡模型全面轉爲基於Transformer結構的模型結構上來。區別於傳統的字面匹配,語言模型能夠有效解決Term模糊匹配的問題,但大力出奇跡的同時,也引入了很多核心詞缺失等問題。例如,基於預訓練語言模型,“二手車”和“二手摩托車”會判定爲比較匹配,但實際上二者明顯不同。如何解決此類魯棒性問題,是預訓練語言模型下的語義匹配要解決的核心問題。

  • 什麼是相關性匹配(RelevanceMatching)

搜索業務下的核心詞缺失問題,我們認爲傳統的預訓練方向並不能提供一個統一的解決方案,因爲該問題屬於搜索領域的特型問題,我們在實際工作中發現,搜索場景下很多形態的問題,與NLP的SemanticMatching任務的差異還是比較明顯的,例如短Query和長Title的匹配。對此,我們更傾向於通過對特型問題獨立建模和處理,爲了強化搜索相關性的魯棒性,提出了Relevance Matching的概念和對應的建模方式,二者的區別,具體來說:

Relevance Matching:注重關鍵詞的精確匹配,相應的需要考慮核心詞的識別、多種維度的要求。(一般需要關注query的重要性以及提取匹配信號,同時形態上Q比較短)

Semantic Matching:注重Term間的相似關係,建模Term、Phrase、Sentence間的相似關係。(偏向query,title表達是不是相似,同時認爲query和title的重要性一樣)

相似度匹配信號 Similarity matching signals:和準確的單詞匹配相比,捕獲單詞、短語和句子的語義相關性/相似性更重要。語義結構 Compositional meanings:語義匹配的文本通過是具有一定語法結構的,使用語義結構的含義會非常有效。全局匹配 Global matching requirement:語義匹配通常將文本的兩個片段作爲一個整體來推理它們之間的語義關係。

圖片

  • 相關性匹配的相關工作

早期的做法:行業內其實很早就有提出Relevance Matching的概念,在Transformer結構以前的主要工作,大多通過對Query和Doc的文本建立匹配矩陣,矩陣中的每一個元素是對應位置的Term相似度,然後再通過對匹配矩陣的命中Pattern進行提取,具體來說:

MatchPyramid(中科院 2016 AAAI),構建了基於字面匹配或Embedding匹配,構建query-document匹配矩陣,命中提取使用CNN + Dynamic Pooling + MLP完成。

DRMM (2016 中科院 CIKM),提出了一個交互得模型結構。Query中的每一個Term分別與Doc中的所有的Term交互,將相似度離散到直方圖上,通過MLP,以及Q中的Term Gating Network產出得分;其中Term Gating嘗試了兩種方式,分別是單層FeedForward+softmax和無監督的IDF,實驗效果是後者更好。由於Embedding是直接使用的300d word2vec,因此參數量非常小 —— Matching部分有155個參數,Term Gating部分有300個參數。

K-NRM (2017 SIGIR) ,主要貢獻在於提出了RBF Kernel的Pooling方式,與前作最大的不同是,Embedding使用隨機初始化並端到端訓練的方式,總參數量達到了約5000w(絕大部分來自Embedding層)實驗效果顯著優於DRMM,其中端到端訓練Embedding帶來了最大幅度的提升,Kernel Pooling相比基線的pooling方式能帶來小幅提升。

PACRR (2017 EMNLP),主要創新點:在對每一個query term完成pooling後,使用LSTM建模整體的query coverage。LSTM每個timestep的輸入是concat(pooling後的query term representation,normalized_IDF)。LSTM的輸出維度是1,LSTM的輸出直接作爲最終的score。

Bert以後的做法:大部分從預訓練語言模型的角度,在MASK機制、外部知識引入、參數規模等角度進行研究,也取得了顯著的效果提升。但在搜索相關性業務上,大部分交互式的應用方式,是將Query和Title完全拼接後輸入Bert,最後在輸出層基於CLS這個特殊Token的Embbeding做領域任務。目前我們瞭解到的是,除了CEDR這個工作外,很少有直接使用非CLS以外的Token的模型架構。這裏可能對Transformer比較熟悉的同學會覺得,每一個Transformer Block內部架構其實會天然的對兩兩Term進行Attention計算,形成多頭AttentionMap,與Relevance Matching中的Matrix的設計思路幾乎一致,是否還有必要繼續再手動進行一次Matri Matching的計算。對此我們在22年通過一系列實踐,證明Relevance Matching的重要意義。

圖片

  • 相關性匹配增強

爲了兼顧SemanticMatching和RelevanceMatching兩者的能力,我們提出了HybridMratrixMatching(HMM)模型,提升模型在覈心成分精確匹配和語義泛化匹配兩方面的綜合能力。具體優化點爲:

第一,Query-Title匹配矩陣建模。隱式匹配矩陣構造:基於BERT產出的最後一層的token embedding,通過dense + cosine similarity的方式構造Q-T語義匹配矩陣;顯式文本匹配矩陣構造:基於query與title分詞後的詞粒度命中信息,構造Q-T精確匹配矩陣,並進一步打平映射到與BERT輸入信息相同的token粒度。

第二,語義匹配與文本匹配信息融合。CNN匯聚兩種匹配矩陣信息:在模型輸出層,對隱式和顯式匹配矩陣拼接產出N個|Q|x|T|匹配矩陣,通過3D-CNN + Weighted Sum Pooling的方式來捕捉語義匹配和Term顯式匹配相結合的命中pattern,產出匹配矩陣特徵向量;最終得分融合:將匹配矩陣側產出的特徵向量與BERT CLS特徵向量拼接,融合產出最終的模型得分。

圖片

  • 實驗&效果

爲了能夠驗證Hybrid MratrixMatching(HMM)模型在搜索場景下的匹配能力,我們對模型進行了離線和在線兩方面的效果驗證

離線實驗:我們對新模型進行了消融實驗分析,其中幾個比較重要的實驗結論爲:隱式MatchingMatrix結構,單獨進行下游任務預測時,測試集的PNR、NDCG等指標幾乎與只用CLS進行下游任務相同;(2)隱式Matrix+CNN後與CLS拼接融合後,整體去做相關性任務,在PNR、NDCG指標上看,相對只用CLS進行下游任務,相對提升大約1.8%;外部Matrix的引入,包括多層顯示匹配矩陣,能夠繼續爲HMM模型整體的提升帶來2.3%的提升。外部匹配Matrix帶來的額外信息能夠帶來效果提升,也證明了精確匹配能力在搜索這個任務中的考覈佔比是比較高的,將外部精確匹配信號的引入,能夠幫助模型強化這部分能力

在線實驗:HMM模型目前已在搜索相關性場景下全量部署,實驗期間我們通過ABTest系統和Interleaving系統對實驗組效果進行觀察,其中Interleaving感知相關性指標在實驗期間顯著正向,這也與模型升級對精確匹配、核心詞命中能力提升等預期比較吻合。同時,我們每次項目實驗評估,需要將實驗效果送第三方評估團隊進行SideBySide評估,由專家標註員對實驗組和對照組進行Good、Same、Bad打分,最終隨機Query下的送評結果顯示,有比較顯著的變好趨勢

圖片

圖片

小結

搜索相關是一個充滿了技術挑戰的硬核方向。無數網民的檢索需求、五花八門的查詢表達、越來越新穎的內容模態,全部對系統的效果提出了極其艱鉅的挑戰。**目前QQ瀏覽器搜索相關性團隊的開發者,在搜狗併入騰訊的大背景下,逐步將兩套系統的優勢合併,完成大量的技術重構、‍技術債務清理,逐步形成了一個高可用、高性能的業界頭部大型搜索系統。**接下來,我們將繼續在搜索相關性領域持續投入,結合工業界、學術界在NLP領域、AI領域等最前沿的技術突破,爲提升業務效果不斷努力。希望這些實踐經驗分享對你有幫助。

你可能感興趣的騰訊工程師作品

| 由淺入深讀透vue源碼:diff算法

| 優雅應對故障:QQ音樂怎麼做高可用架構體系?

| 詳解全網最快Go泛型跳錶【內附源碼】

| 十億人都在用的健康碼,運維體系是怎麼設計的?

技術盲盒:前端後端AI與算法運維工程師文化

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章