(資料圖)
導(dǎo)言 | 搜索相關(guān)性主要指衡量Query和Doc的匹配程度,是信息檢索的核心基礎(chǔ)任務(wù)之一,也是商業(yè)搜索引擎的體驗優(yōu)劣最樸素的評價維度之一。本文作者劉杰主要介紹QQ瀏覽器搜索相關(guān)性團隊在相關(guān)性系統(tǒng)及算法方面的實踐經(jīng)歷。值得一提的是,本文會特別分享在QQ瀏覽器搜索、搜狗搜索兩個大型系統(tǒng)融合過程中,在系統(tǒng)融合、算法融合、算法突破方面的實踐經(jīng)驗。希望對搜索算法以及相關(guān)領(lǐng)域內(nèi)的同學(xué)有幫助。業(yè)務(wù)介紹
搜索業(yè)務(wù)是QQ瀏覽器的核心功能之一,每天服務(wù)于億萬網(wǎng)民的查詢檢索,為用戶提供信息查詢服務(wù),區(qū)別于一些垂直領(lǐng)域的站內(nèi)搜索,從索引規(guī)模、索引豐富度來看,QQ瀏覽器的搜索業(yè)務(wù)可以定位成綜合型的全網(wǎng)搜索引擎。具體來說,檢索結(jié)果的類型,不僅包含傳統(tǒng)Web網(wǎng)頁、Web圖片,也包含新型富媒體形態(tài),例如小程序、微信公眾號文章、視頻四宮格卡片、智能問答等移動互聯(lián)網(wǎng)生態(tài)下的新型富媒體資源。從相關(guān)性的視角看,QQ瀏覽器的業(yè)務(wù)場景,既包含傳統(tǒng)綜合搜索引擎的基本特點,即承接不同群體、不同興趣、不同地域的海量用戶的查詢Query。從需求角度來看,QQ瀏覽器的搜索業(yè)務(wù)有著大量的用戶主動查詢,其需求種類、表達形式、結(jié)果偏好,存在非常大的差異性,對系統(tǒng)的檢索、Query理解、相關(guān)性判別有著巨大的挑戰(zhàn);同時,從資源類型角度看,依托集團自有的生態(tài)優(yōu)勢,QQ瀏覽器的搜索場景包含海量的新形態(tài)的內(nèi)容搜索,例如微信公眾號文章、企鵝號圖文、企鵝號視頻,這些資源與傳統(tǒng)網(wǎng)頁在內(nèi)容表述、內(nèi)容形式上與傳統(tǒng)網(wǎng)頁有著較大的區(qū)別,也對相關(guān)性算法提出了新的要求。搜索相關(guān)性介紹
1)搜索主體框架在介紹相關(guān)性實踐前,首先介紹下系統(tǒng)當(dāng)前的現(xiàn)狀。我們于2021年完成了看點、搜狗兩套系統(tǒng)的系統(tǒng)級融合,經(jīng)過不斷地思考、討論、推演、演化后,整體系統(tǒng)的整體最終演化為如圖所示的樣子(示意圖)。在整個系統(tǒng)融合的過程中,整個團隊進行了充分的人員、技術(shù)融合,同時也進行了相當(dāng)長時間的系統(tǒng)改造。系統(tǒng)從邏輯上分為了兩大搜索子系統(tǒng),即主搜子系統(tǒng)和通用垂搜子系統(tǒng),分別由搜狗系統(tǒng)、看點系統(tǒng)演化而來,同時在系統(tǒng)頂層將兩個子系統(tǒng)結(jié)果進行進一步融合排序,最終輸出檢索結(jié)果。具體來說分位,分為三個邏輯層次:第一,融合系統(tǒng):對自然結(jié)果、垂搜特型結(jié)果(卡片)進行整頁異構(gòu)排序,包含點擊預(yù)估、異構(gòu)多目標(biāo)排序等階段,同時也會進行一些業(yè)務(wù)頂層的輕量重排序或微調(diào)。第二,通用垂搜子系統(tǒng):垂搜檢索系統(tǒng)由看點搜索系統(tǒng)演化而來,主要用于對接入對高速迭代、快速部署有很高要求,與通用檢索邏輯有較大差別的業(yè)務(wù)。整體系統(tǒng)的特點是部署便捷、快速,這套系統(tǒng)從設(shè)計之初就充分考慮了多業(yè)務(wù)快速接入的場景,目前承接的主要是特型形態(tài)的結(jié)果。第三,主搜子系統(tǒng):對十億級規(guī)模的索引庫中,對用戶的Query進行檢索,一般會經(jīng)歷召回、精排兩個重要階段。主要的Doc形態(tài)是傳統(tǒng)Web網(wǎng)頁、Web圖片、H5形態(tài)網(wǎng)頁等,這套系統(tǒng)的特點為,業(yè)務(wù)形態(tài)、效果相對穩(wěn)定、持續(xù),問題類型有相對的共性,適合算法處于穩(wěn)定器的業(yè)務(wù),主要的難點在于滿足用戶的中長尾需求。2)算法架構(gòu)搜索算法的計算流程,大致可以分為召回和排序兩大邏輯部分。從算法處理的Doc規(guī)模來看,在工業(yè)界的一般算法架構(gòu),都是類似金字塔型的漏斗結(jié)構(gòu)(QQ瀏覽器目前的主搜子系統(tǒng)、垂搜子系統(tǒng),雖然定位不同,但都遵照了上述模式):單個Query會從海量的索引中,檢索出一個初始Doc集合,然后經(jīng)過系統(tǒng)的幾個重要的Ranking階段,逐步對上一個階段的Doc集合進行篩選,最終篩序出系統(tǒng)認為最好的N條結(jié)果。具體來說,如圖所示可以分為:第一,召回層:包含文本檢索和向量檢索兩部分,文本檢索會按照Query的核心詞進行語法樹構(gòu)建,由倒排系統(tǒng)進行Doc歸并、截斷產(chǎn)出文本召回集合。向量檢索部分利用深度模型將Query、Doc映射到隱空間,在線利用向量檢索引擎召回與Query相似的N條結(jié)果,相比倒排檢索能夠充分利用PLM對Query和Doc的表示進行學(xué)習(xí),實現(xiàn)近似一段式檢索,相比傳統(tǒng)的召回+粗排的二段式檢索有更好的效果。第二,粗排層:粗排層使用計算復(fù)雜度相對低的方式進行特征捕捉,基本上分為三類:第一類為相關(guān)性類特征,文本相關(guān)性、語義相關(guān)性,其中語義相關(guān)性受限于這個位置的算力,主要采用雙塔結(jié)構(gòu),將Query、Doc表示為向量,用點積或者半交互得到。第二類為Query、Doc的靜態(tài)特征,例如Query的一些長度、頻次、Doc質(zhì)量、Doc發(fā)布時間等。第三類特征為統(tǒng)計類特征,例如歷史窗口下的用戶行為數(shù)據(jù)。第三,精排層:對粗排層輸入的Doc集合進行更精細化的區(qū)分,按照搜索多目標(biāo)來,精排層要對Doc以下幾個維度進行綜合判斷,例如相關(guān)性、時效性、質(zhì)量權(quán)威性、點擊預(yù)估等幾個維度進行綜合考量。相關(guān)性計算的位置:按照上述介紹的算法架構(gòu),QQ瀏覽器的搜索相關(guān)性計算主要分為粗排相關(guān)性、精排相關(guān)性兩部分,其中粗排相關(guān)性用于在萬級別->百級別這個篩選階段,算法大部分使用基于倒排的文本匹配特征,同時加上雙塔結(jié)構(gòu)的語義特征,在計算復(fù)雜度相比精排更輕量;精排相關(guān)性,主要用于百級別->個級別的篩選,算法相比粗排,利用了Doc的正排數(shù)據(jù),建模方式更精細和計算復(fù)雜度也相對更高,本文在算法實踐方面,會偏向于介紹團隊在精算階段的經(jīng)驗。3)評估體系搜索相關(guān)性的評估,主要分為離線和在線評估。離線評估主要看重PNR以及DCG的指標(biāo)變化,在線評估上主要看重interleaving實驗以及人工的GSB評估。下面將詳介紹幾種評估指標(biāo)的計算方式:第一種,PNR:Positive-Negative Ratio是一種pairwise的評估手段,用來評估搜索相關(guān)性效果。它的物理含義是在一個排序列表中的結(jié)果按照query劃分,對每個query下的結(jié)果進行兩兩組pair,計算正序pair的數(shù)量/逆序pair的數(shù)量。值越大說明整個排序列表中正序的比例越多。第二種,DCG:Discounted Cumulative Gain是一種listwise的評估手段。它的物理含義是整個排序相關(guān)性,并且越靠前的item收益越高。其中r(i)代表相關(guān)性label。一般而言K選擇1或者3。第三種,interleaving:Interleaving是一種在線評估用戶點擊偏好的實驗。它是將兩個排序列表的結(jié)果交織在一起曝光給用戶,并記錄用戶最總的點擊偏好。整體的感知增益計算邏輯:其中wins代表用戶最總點擊了A列表結(jié)果,ties代表持平,loss則代表落敗。則代表感知增益勝出,反之則代表落敗。第四種,GSB:Good vs Same vs Bad 是一種采用專家評估的手段。標(biāo)注專家會對左右兩邊的排序列表進行評估,一邊是來自基線線上,一邊是來自試驗組線上。對于標(biāo)注專家而言,他不清楚那邊的結(jié)果是試驗組產(chǎn)生的,然后對這兩個排序列表進行打分,Good or Same or Bad。最后統(tǒng)計統(tǒng)計整體的GSB指標(biāo):(Good-Bad)/(Good + Same +Bad)。相關(guān)性精算的系統(tǒng)演進
搜狗搜索作為一款歷經(jīng)迭代18年的搜索產(chǎn)品,在數(shù)據(jù)積累、技術(shù)打磨、系統(tǒng)成熟度方面有很強的先天優(yōu)勢。QQ瀏覽器·搜索是搜索行業(yè)較為年輕的新人,在架構(gòu)選型、技術(shù)代際、歷史債務(wù)方面有很強的后發(fā)優(yōu)勢。為了兼顧兩家之長,在系統(tǒng)融合的過程中,團隊的首要目標(biāo)就是充分融合兩套系統(tǒng)的特有優(yōu)勢。以相關(guān)性視角來看,我們大致經(jīng)歷了以下幾個改造時期1)1.0時代,群雄割據(jù)->三國爭霸從相關(guān)性的視角看,面臨最大的難題是兩套系統(tǒng)相關(guān)性得分不可比的問題。具體來說:標(biāo)準差異:兩套系統(tǒng)的相關(guān)性判定標(biāo)準、標(biāo)注方法不同,從根本上不可比。建模差異:兩個系統(tǒng)對于多目標(biāo)(相關(guān)性、時效性、點擊、權(quán)威性)的建模方式存在較大差異:主搜系統(tǒng)以End-To-End思路解決搜索多目標(biāo)的問題,具體來說使用GBDT作為融合模型,所有子特征一并送入融合模型,我們后繼稱之為「大一統(tǒng)」模型。垂搜系統(tǒng)對多目標(biāo)進行了進一步的拆解,盡量將同一個維度的特征系列匯聚形成高級特征,以相關(guān)性為例,垂搜的會存在一個單獨的基礎(chǔ)相關(guān)性精算階段,輸出相關(guān)性高級特征,再將高級特征替換所有的子特征的方式進入融合排序,我們后繼稱之為「抽象高級特征」。對比思考:從系統(tǒng)設(shè)計上看,「大一統(tǒng)」VS「抽象高級特征」,是兩種完全不同的思路,前者更符合機器學(xué)習(xí)的理念,暴露更多的子特征細節(jié)能夠提供更多的信息;后者的思路,對目標(biāo)進行了高度抽象,具有更好的可解釋性。從表面看似乎沒有明顯的優(yōu)劣可言,但從工業(yè)實踐經(jīng)驗看,這里還是有較強的實踐結(jié)論的。下面揭曉一下結(jié)論,從工業(yè)系統(tǒng)設(shè)計的角度看,更傾向于「抽象高級特征」這種方案,而非「大一統(tǒng)」的方式。理由有以下幾點:第一點,可解釋性:工業(yè)算法系統(tǒng)的首要考慮就是如何支撐算法持續(xù)、高效迭代。在多目標(biāo)導(dǎo)向下,「大一統(tǒng)」方式下子特征規(guī)模已經(jīng)達到了100維以上,逆序的問題歸因相比「高級特征」來講,歸因難度大、問題會更分。這個模式也間接鼓勵算法同學(xué)去新增能夠帶來指標(biāo)提升的新特征,而不是去迭代已有的特征。第二點,業(yè)務(wù)需求:「大一統(tǒng)」方式下,一旦脫離該階段的多目標(biāo)排序后,后繼的更High-Level的融合場景即失去判斷相關(guān)性的載體,無法對相關(guān)性維度進行比較。更High-Level的融合不得不將必要的子特征繼續(xù)向上傳遞,往往看到某些子特征從最底層一路透傳到最頂層,對子特征的可比性、覆蓋率、迭代維護成本都要很大的要求第三點,特征管理:High-Level的業(yè)務(wù)同學(xué)大量使用子特征也會造成管理混亂,一旦某些子特征在后繼的業(yè)務(wù)中使用,該特征迭代就與其在后繼業(yè)務(wù)中的形成了耦合,例如比較常見的通過某個特征MagicNumber進行過濾,很有可能的情況是,特征迭代時也要去調(diào)整該MagicNumber。所以,以相關(guān)性為例,使用具有物理含義的統(tǒng)一「高級特征」會大大減少子特征的管理問題。改進方式:我們在垂搜子系統(tǒng)、主搜系統(tǒng)按照同樣的設(shè)計思路,抽象了一個基礎(chǔ)相關(guān)性計算階段,這個階段的目標(biāo)是單目標(biāo)的相關(guān)性,即不考察Doc的質(zhì)量、時效性等。這一階段會接管所有刻化相關(guān)性目標(biāo)的特征,通過相關(guān)性模型,輸出相關(guān)性高級特征。同時,相關(guān)性高級特征,會經(jīng)過Probility Calibration算法將score轉(zhuǎn)化為是否相關(guān)的概率(對齊標(biāo)準、檔位,跨系統(tǒng)可比),同時具有較好的分布穩(wěn)定性、跨Query可比性,即具有物理含義的相關(guān)性得分。應(yīng)用視角上看,分為兩部分,即交給融合排序模型,替換一批刻化相關(guān)性的子特征,另外一部分是直接用于High-Level的場景,例如某些業(yè)務(wù)會將相關(guān)性大于某個閾值的Doc進行過濾或者提權(quán)。演進總結(jié):首先,我們明確了標(biāo)準。主要的業(yè)務(wù)場景對齊了相關(guān)性標(biāo)準,特別是每個檔位物理含義。其次,具有物理含義的相關(guān)性得分:對相關(guān)性特征進行歸納和融合,通過Probility Calibration算法對得分進行相關(guān)概率校準,在ranking任務(wù)能力尚可的情況下,能夠保證跨Query、跨業(yè)務(wù)可比,同時從特征管理的角度看,也從特征割據(jù)的時代進入了三足鼎立的時代。2)2.0時代,統(tǒng)一復(fù)用1.0階段我們通過校準算法、相關(guān)性標(biāo)準統(tǒng)一,輸出了具有一定的物理含義相關(guān)性得分,可以基本做到子特征保持差異的情況下,基本實現(xiàn)跨業(yè)務(wù)可比的問題。此時,雖然校準可以解決系統(tǒng)內(nèi)部的實現(xiàn)上的差異問題,但團隊面臨更核心問題是系統(tǒng)的近一步融合問題,具體來說:第一,算法融合:如果說「大一統(tǒng)」「高級特征」兩種模式的統(tǒng)一是系統(tǒng)級方法論的對齊,那么「相關(guān)性算法融合」角度,則需要進一步將執(zhí)行細節(jié)對齊。如何最大化算法能力,兼兩家之長,是最基本的融合初衷。第二,人效問題:系統(tǒng)細節(jié)的差異,算法角度看,在內(nèi)部的模型、特征體系、數(shù)據(jù)結(jié)構(gòu)、代碼庫,全部是完全不同的。維護兩套大型復(fù)雜系統(tǒng),分別投入則必須要面對人力折半的問題,背后的壓力是可想而知的。在上述背景下,22年重新對兩套系統(tǒng)進行了整合,力圖用統(tǒng)一的一套相關(guān)性服務(wù),服務(wù)于主搜索系統(tǒng)和垂搜系統(tǒng)。這里介紹下我們其中一項重要的重構(gòu),重新設(shè)計構(gòu)建了相關(guān)性精算服務(wù),統(tǒng)一了主搜系統(tǒng)和垂搜系統(tǒng)的相關(guān)性能力,做到90%代碼級別的復(fù)用。相關(guān)性精算服務(wù):新的相關(guān)性精算服務(wù),定位于精算旁路系統(tǒng),為搜索精排階段提供高級相關(guān)性得分,服務(wù)內(nèi)部可以高速并行獲取Doc正排,進行精細化的相關(guān)性特征計算、GPU計算、模型預(yù)測等。算法統(tǒng)一,一套代碼,90%的特征屬于通用基礎(chǔ)匹配,10%特征根據(jù)場景差異,對該業(yè)務(wù)的獨有問題進行獨立刻化。具體來看,新的服務(wù)相比之前提供的能力包括:調(diào)研實驗效率:新的相關(guān)性精算服務(wù),調(diào)研實驗周期由周級下降為天級,背后的效率提升,主要是由于模塊位置帶來的調(diào)研環(huán)境搭建成本上的區(qū)別。在以前的系統(tǒng),相關(guān)性大部分非GPU類的特征,均在召回層實現(xiàn),這樣帶來的問題是,由于召回層的架構(gòu)大部分都是分布式系統(tǒng),調(diào)研成本相比精算模塊需要更多的機器成本,這也造成了該階段的調(diào)研需要團隊共用1-2套調(diào)研環(huán)境,調(diào)研&實驗成本將會大大增加。算力能力:相關(guān)性分布式計算,最重要的貢獻是能夠讓系統(tǒng)的計算條數(shù)變的更多,這種思路在GPU并行技術(shù)出現(xiàn)以前是非常有效的設(shè)計,將相關(guān)性計算放到召回層不僅能夠最大限度的利用分布式架構(gòu),同時也節(jié)省了Doc正排在HighLevel獲取的存儲和帶寬,這部分正排數(shù)據(jù)往往是召回層必須的可以兼顧復(fù)用。但最近幾年隨著深度學(xué)習(xí)、GPU并行加速技術(shù)在搜索系統(tǒng)重越來越多的應(yīng)用,業(yè)務(wù)越來越需要重型計算,這樣的重型計算是召回層的算力遠遠無法滿足的,召回層的相關(guān)性計算只有基于倒排的特征,更關(guān)心是否命中、命中距離,缺少對未命中詞與query的關(guān)系刻化。算法獨立性:相比之前最大的區(qū)別是,新的相關(guān)性精算服務(wù),與召回層解耦。從基礎(chǔ)數(shù)據(jù)結(jié)構(gòu)、特包括Query信息、Doc正排,進行重構(gòu)對齊,傳導(dǎo)至特征設(shè)計、實現(xiàn),也能夠相應(yīng)的進行統(tǒng)一。最終做到算法統(tǒng)一,一套代碼,90%的特征屬于通用基礎(chǔ)匹配,10%特征根據(jù)場景差異,對該業(yè)務(wù)的獨有問題進行獨立刻化。搜索相關(guān)性技術(shù)實踐
1)相關(guān)性標(biāo)準QQ瀏覽器搜索下的相關(guān)性標(biāo)準,主要用于基礎(chǔ)相關(guān)性樣本的標(biāo)注,為了能精細化的表達是否相關(guān)這一概率,我們將相關(guān)、不相關(guān)這個二分類任務(wù),拓展到了五檔分類,能夠提供更多的監(jiān)督信息。同時,每一檔的物理含義,在不同的業(yè)務(wù)下,盡量保持對等。例如,搜用搜索場景、視頻搜索場景下,同一檔位的Doc需要具有對等的相關(guān)程度,即應(yīng)具備同一等級的相關(guān)性。這樣做的好處是,在High-Level場景下,當(dāng)分類能力尚可的情況下,通過Probility Calibration可以對不同的業(yè)務(wù)下的doc進行得分的比較,但仍可以對相關(guān)性內(nèi)部特征的實現(xiàn)保留一定的差異性,對系統(tǒng)非常友好。2)相關(guān)性的技術(shù)架構(gòu)3)深度語義匹配實踐QQ瀏覽器搜索相關(guān)性的困難與挑戰(zhàn)QQ瀏覽器的搜索業(yè)務(wù)每天服務(wù)于億萬網(wǎng)民的查詢檢索,因為業(yè)務(wù)場景偏向于綜合搜索業(yè)務(wù),每天的用戶的查詢表達都呈現(xiàn)海量量級,在這個場景下的用戶Query天然的具備很強的長尾效應(yīng),對搜索相關(guān)性的匹配能力提出了巨大的挑戰(zhàn)。深度語義的現(xiàn)狀為了解決一詞多義等模糊表達的問題,QQ瀏覽器的搜索相關(guān)性場景,進行了大量的語義匹配工作實踐。隨著深度學(xué)習(xí)技術(shù)的興起,基于預(yù)訓(xùn)練語言模型的方法,特別是基于BERT模型的語義匹配,目前是我們工作的主要研究方向。當(dāng)前系統(tǒng)按照表達方式來看,主要包括基于表示的匹配方法(Representation-based)和基于交互的匹配方法(Interaction-based)。基于表示的匹配方法:使用深度模型分別學(xué)習(xí)Query和Doc的Embbeding,在線通過cosine計算Query和Doc相似度來作為語義匹配分數(shù)。計算框架上,借鑒百度的SimNet雙塔結(jié)構(gòu),由于在線計算相對交互式模型更友好,目前普遍應(yīng)用于粗排語義相關(guān)性的計算。基于交互的匹配方法:將Query和Doc(Title)拼接后輸入給BERT模型,經(jīng)過N層Transformer Block后,將CLS Token的Embbeding接入下游相關(guān)性任務(wù),由于交互式普遍需要比較高的計算復(fù)雜度,一般用于QQ瀏覽器的精排階段。QQ瀏覽器搜索相關(guān)性深度語義實踐相關(guān)性Ranking Loss:目前我們的相關(guān)性標(biāo)注標(biāo)準共分為五個檔位,最直接的建模方式,其實是進行N=5的N分類任務(wù),即使用Pointwise的方式建模。搜索場景下,我們其實并不關(guān)心分類能力的好壞,而更關(guān)心不同樣本之前的偏序關(guān)系,例如對于同一個Query的兩個相關(guān)結(jié)果DocA和DocB,Pointwise模型只能判斷出兩者都與Query相關(guān),無法區(qū)分DocA和DocB相關(guān)性程度。因此搜索領(lǐng)域的任務(wù),更多更廣泛的建模思路是將其視為一個文檔排序場景,廣泛使用Leaning To Rank思想進行業(yè)務(wù)場景建模。Pairwise 方法通過考慮兩兩文檔之間的相關(guān)對順序來進行排序,相比 Pointwise 方法有明顯改善,因此我們對BERT模型的Fine-tuning任務(wù),也進行了RankingLoss的針對性改進。Pairwise Loss下的訓(xùn)練框架,任務(wù)輸入的單條樣本為三元組的形式,在多檔標(biāo)注下,我們對于同一Query的多個候選Doc,選擇任意一個高檔位Doc和一個低檔位Doc組合成三元組作為輸入樣本。深度語義特征的校準問題——Ranking Loss的問題:相關(guān)性是搜索排序的基礎(chǔ)能力,在整個計算流程的視角看,相關(guān)性計算不是最后一個階段,所以當(dāng)相關(guān)性內(nèi)部子特征的目標(biāo)如果直接使用RankingLoss,要特別注意與上下游的配合應(yīng)用,特別要關(guān)注單特征的RankingLoss持續(xù)減少,是否與整體任務(wù)的提升一致。同時,RankLoss由于不具有全局的物理含義,即不同Query下的DocA和DocB的得分是不具有可比性,這直接導(dǎo)致了其作為特征值應(yīng)用到下游模型時,如果我們使用例如決策樹這種基于全局分裂增益來劃分閾值的模型,會有一定的損失。搜索系統(tǒng)一般為了追求可解釋性,往往會將高級特征通過一些解釋性較強的模型進行融合。以相關(guān)性高級特征的產(chǎn)出過程為例,我們在產(chǎn)出整體的相關(guān)性得分時,會使用例如XGB模型對相關(guān)性N維子特征進行最終的打分預(yù)測,如果此時放大這個打分過程,即當(dāng)訓(xùn)練好的決策樹進行最終模型預(yù)測時,當(dāng)執(zhí)行到某一個決策樹時,會按照特征分裂值判斷走左子樹還是右子樹,這個分裂值就要求該特征在全部Query下都按照此分裂點判斷,這里如果當(dāng)前的特征值域在不同Query下差異很大,在個別Query下的打分準確率一定會大打折扣。實踐中我們對語義特征的ranking loss,也同時進行了一部分pointwise loss結(jié)合,目的是希望單特征得分的分布盡量在全局有一定的可比性,即對其進行一定Calibration能夠幫助相關(guān)性模型整體的PNR提升。由圖所示,當(dāng)單特征持續(xù)以PairwiseLoss訓(xùn)練,隨著訓(xùn)練步數(shù)的增加,單特征PNR是持續(xù)上升的,但其放入相關(guān)性模型后,整體的PNR并不是線性上升的,此時觀察單特征ECE(Expected Calibration Error 期望標(biāo)定誤差)有較大波動。如果將單特征變成Pairwise+PointwiseLoss,發(fā)現(xiàn)隨著訓(xùn)練過程的進行,模型ECE持續(xù)下降,單特征PNR微弱上升,且相關(guān)性整體的PNR能夠上升,且最終高于單純使用Pairwise的方式。領(lǐng)域自適應(yīng):最近幾年的NLP領(lǐng)域,預(yù)訓(xùn)練方向可以稱得上AI方向的掌上明珠,從模型的參數(shù)規(guī)模、預(yù)訓(xùn)練的方法、多語言多模態(tài)等幾個方向持續(xù)發(fā)展,不斷地刷新著領(lǐng)域Benchmark。預(yù)訓(xùn)練通過自監(jiān)督學(xué)習(xí),從大規(guī)模數(shù)據(jù)中獲得與具體任務(wù)無關(guān)的預(yù)訓(xùn)練模型。那么,在搜索領(lǐng)域下,如何將預(yù)訓(xùn)練語言模型,與搜索語料更好的結(jié)合,是我們團隊一直在探索的方向。在實踐過程中,我們發(fā)現(xiàn)通用預(yù)訓(xùn)練的語料,與搜索場景的任務(wù),依然存在不小的gap,所以一個比較樸素的思想是,是否可以將搜索領(lǐng)域的自有數(shù)據(jù)進行預(yù)訓(xùn)練任務(wù)。在實際的實驗中,我們發(fā)現(xiàn)將搜索領(lǐng)域的語料,在基礎(chǔ)預(yù)訓(xùn)練模型后,繼續(xù)進行post-pretrain,能夠有效的提升業(yè)務(wù)效果,對下游任務(wù)的提升,最大可以大致9%。4)相關(guān)性語義匹配增強實踐深度語義匹配的魯棒性問題在NLP領(lǐng)域,預(yù)訓(xùn)練語言模型(Pretrained Language Model)已經(jīng)在很多任務(wù)上取得了顯著的成績,PLM搭配領(lǐng)域Finetune也同時在工業(yè)界成為解決搜索、推薦等領(lǐng)域的標(biāo)準范式。在搜索相關(guān)性業(yè)務(wù)中,行業(yè)內(nèi)在2019年開始,就已將神經(jīng)網(wǎng)絡(luò)模型全面轉(zhuǎn)為基于Transformer結(jié)構(gòu)的模型結(jié)構(gòu)上來。區(qū)別于傳統(tǒng)的字面匹配,語言模型能夠有效解決Term模糊匹配的問題,但大力出奇跡的同時,也引入了很多核心詞缺失等問題。例如,基于預(yù)訓(xùn)練語言模型,“二手車”和“二手摩托車”會判定為比較匹配,但實際上二者明顯不同。如何解決此類魯棒性問題,是預(yù)訓(xùn)練語言模型下的語義匹配要解決的核心問題。什么是相關(guān)性匹配(RelevanceMatching)搜索業(yè)務(wù)下的核心詞缺失問題,我們認為傳統(tǒng)的預(yù)訓(xùn)練方向并不能提供一個統(tǒng)一的解決方案,因為該問題屬于搜索領(lǐng)域的特型問題,我們在實際工作中發(fā)現(xiàn),搜索場景下很多形態(tài)的問題,與NLP的SemanticMatching任務(wù)的差異還是比較明顯的,例如短Query和長Title的匹配。對此,我們更傾向于通過對特型問題獨立建模和處理,為了強化搜索相關(guān)性的魯棒性,提出了Relevance Matching的概念和對應(yīng)的建模方式,二者的區(qū)別,具體來說:Relevance Matching:注重關(guān)鍵詞的精確匹配,相應(yīng)的需要考慮核心詞的識別、多種維度的要求。(一般需要關(guān)注query的重要性以及提取匹配信號,同時形態(tài)上Q比較短)Semantic Matching:注重Term間的相似關(guān)系,建模Term、Phrase、Sentence間的相似關(guān)系。(偏向query,title表達是不是相似,同時認為query和title的重要性一樣)相似度匹配信號 Similarity matching signals:和準確的單詞匹配相比,捕獲單詞、短語和句子的語義相關(guān)性/相似性更重要。語義結(jié)構(gòu) Compositional meanings:語義匹配的文本通過是具有一定語法結(jié)構(gòu)的,使用語義結(jié)構(gòu)的含義會非常有效。全局匹配 Global matching requirement:語義匹配通常將文本的兩個片段作為一個整體來推理它們之間的語義關(guān)系。相關(guān)性匹配的相關(guān)工作早期的做法:行業(yè)內(nèi)其實很早就有提出Relevance Matching的概念,在Transformer結(jié)構(gòu)以前的主要工作,大多通過對Query和Doc的文本建立匹配矩陣,矩陣中的每一個元素是對應(yīng)位置的Term相似度,然后再通過對匹配矩陣的命中Pattern進行提取,具體來說:MatchPyramid(中科院 2016 AAAI),構(gòu)建了基于字面匹配或Embedding匹配,構(gòu)建query-document匹配矩陣,命中提取使用CNN + Dynamic Pooling + MLP完成。DRMM (2016 中科院 CIKM),提出了一個交互得模型結(jié)構(gòu)。Query中的每一個Term分別與Doc中的所有的Term交互,將相似度離散到直方圖上,通過MLP,以及Q中的Term Gating Network產(chǎn)出得分;其中Term Gating嘗試了兩種方式,分別是單層FeedForward+softmax和無監(jiān)督的IDF,實驗效果是后者更好。由于Embedding是直接使用的300d word2vec,因此參數(shù)量非常小 —— Matching部分有155個參數(shù),Term Gating部分有300個參數(shù)。K-NRM (2017 SIGIR) ,主要貢獻在于提出了RBF Kernel的Pooling方式,與前作最大的不同是,Embedding使用隨機初始化并端到端訓(xùn)練的方式,總參數(shù)量達到了約5000w(絕大部分來自Embedding層)實驗效果顯著優(yōu)于DRMM,其中端到端訓(xùn)練Embedding帶來了最大幅度的提升,Kernel Pooling相比基線的pooling方式能帶來小幅提升。PACRR (2017 EMNLP),主要創(chuàng)新點:在對每一個query term完成pooling后,使用LSTM建模整體的query coverage。LSTM每個timestep的輸入是concat(pooling后的query term representation,normalized_IDF)。LSTM的輸出維度是1,LSTM的輸出直接作為最終的score。Bert以后的做法:大部分從預(yù)訓(xùn)練語言模型的角度,在MASK機制、外部知識引入、參數(shù)規(guī)模等角度進行研究,也取得了顯著的效果提升。但在搜索相關(guān)性業(yè)務(wù)上,大部分交互式的應(yīng)用方式,是將Query和Title完全拼接后輸入Bert,最后在輸出層基于CLS這個特殊Token的Embbeding做領(lǐng)域任務(wù)。目前我們了解到的是,除了CEDR這個工作外,很少有直接使用非CLS以外的Token的模型架構(gòu)。這里可能對Transformer比較熟悉的同學(xué)會覺得,每一個Transformer Block內(nèi)部架構(gòu)其實會天然的對兩兩Term進行Attention計算,形成多頭AttentionMap,與Relevance Matching中的Matrix的設(shè)計思路幾乎一致,是否還有必要繼續(xù)再手動進行一次Matri Matching的計算。對此我們在22年通過一系列實踐,證明Relevance Matching的重要意義。相關(guān)性匹配增強為了兼顧SemanticMatching和RelevanceMatching兩者的能力,我們提出了HybridMratrixMatching(HMM)模型,提升模型在核心成分精確匹配和語義泛化匹配兩方面的綜合能力。具體優(yōu)化點為:第一,Query-Title匹配矩陣建模。隱式匹配矩陣構(gòu)造:基于BERT產(chǎn)出的最后一層的token embedding,通過dense + cosine similarity的方式構(gòu)造Q-T語義匹配矩陣;顯式文本匹配矩陣構(gòu)造:基于query與title分詞后的詞粒度命中信息,構(gòu)造Q-T精確匹配矩陣,并進一步打平映射到與BERT輸入信息相同的token粒度。第二,語義匹配與文本匹配信息融合。CNN匯聚兩種匹配矩陣信息:在模型輸出層,對隱式和顯式匹配矩陣拼接產(chǎn)出N個|Q|x|T|匹配矩陣,通過3D-CNN + Weighted Sum Pooling的方式來捕捉語義匹配和Term顯式匹配相結(jié)合的命中pattern,產(chǎn)出匹配矩陣特征向量;最終得分融合:將匹配矩陣側(cè)產(chǎn)出的特征向量與BERT CLS特征向量拼接,融合產(chǎn)出最終的模型得分。實驗&效果為了能夠驗證Hybrid MratrixMatching(HMM)模型在搜索場景下的匹配能力,我們對模型進行了離線和在線兩方面的效果驗證。離線實驗:我們對新模型進行了消融實驗分析,其中幾個比較重要的實驗結(jié)論為:隱式MatchingMatrix結(jié)構(gòu),單獨進行下游任務(wù)預(yù)測時,測試集的PNR、NDCG等指標(biāo)幾乎與只用CLS進行下游任務(wù)相同;(2)隱式Matrix+CNN后與CLS拼接融合后,整體去做相關(guān)性任務(wù),在PNR、NDCG指標(biāo)上看,相對只用CLS進行下游任務(wù),相對提升大約1.8%;外部Matrix的引入,包括多層顯示匹配矩陣,能夠繼續(xù)為HMM模型整體的提升帶來2.3%的提升。外部匹配Matrix帶來的額外信息能夠帶來效果提升,也證明了精確匹配能力在搜索這個任務(wù)中的考核占比是比較高的,將外部精確匹配信號的引入,能夠幫助模型強化這部分能力。在線實驗:HMM模型目前已在搜索相關(guān)性場景下全量部署,實驗期間我們通過ABTest系統(tǒng)和Interleaving系統(tǒng)對實驗組效果進行觀察,其中Interleaving感知相關(guān)性指標(biāo)在實驗期間顯著正向,這也與模型升級對精確匹配、核心詞命中能力提升等預(yù)期比較吻合。同時,我們每次項目實驗評估,需要將實驗效果送第三方評估團隊進行SideBySide評估,由專家標(biāo)注員對實驗組和對照組進行Good、Same、Bad打分,最終隨機Query下的送評結(jié)果顯示,有比較顯著的變好趨勢。小結(jié)
搜索相關(guān)是一個充滿了技術(shù)挑戰(zhàn)的硬核方向。無數(shù)網(wǎng)民的檢索需求、五花八門的查詢表達、越來越新穎的內(nèi)容模態(tài),全部對系統(tǒng)的效果提出了極其艱巨的挑戰(zhàn)。目前QQ瀏覽器搜索相關(guān)性團隊的開發(fā)者,在搜狗并入騰訊的大背景下,逐步將兩套系統(tǒng)的優(yōu)勢合并,完成大量的技術(shù)重構(gòu)、?技術(shù)債務(wù)清理,逐步形成了一個高可用、高性能的業(yè)界頭部大型搜索系統(tǒng)。接下來,我們將繼續(xù)在搜索相關(guān)性領(lǐng)域持續(xù)投入,結(jié)合工業(yè)界、學(xué)術(shù)界在NLP領(lǐng)域、AI領(lǐng)域等最前沿的技術(shù)突破,為提升業(yè)務(wù)效果不斷努力。希望這些實踐經(jīng)驗分享對你有幫助。你可能感興趣的騰訊工程師作品|由淺入深讀透vue源碼:diff算法|優(yōu)雅應(yīng)對故障:QQ音樂怎么做高可用架構(gòu)體系?|詳解全網(wǎng)最快Go泛型跳表【內(nèi)附源碼】?|十億人都在用的健康碼,運維體系是怎么設(shè)計的?技術(shù)盲盒:前端|后端|AI與算法|運維|工程師文化關(guān)注我并點亮星標(biāo)工作日晚8點看騰訊技術(shù)、學(xué)專家經(jīng)驗
點贊|分享|在看 傳遞好技術(shù)???關(guān)鍵詞: 語言模型 語義相關(guān)性
參與評論
- QQ瀏覽器是如何提升搜索相關(guān)性的?2023-01-14
- 全球視訊!最好的體驗就是便宜,抖音比低價2023-01-13
- 天天看熱訊:CPI數(shù)據(jù)符合預(yù)期 黃金ETF基金2023-01-13
- 天天視訊!神器傳說之武則天皮膚怎么獲得 2023-01-13
- 欠網(wǎng)貸3千逾期還不起會被起訴嗎2023-01-13
- 北京朝陽區(qū)城志暢悅園共有產(chǎn)權(quán)房房價多少?2023-01-12
- 杞縣契稅補貼怎么領(lǐng)(附辦理流程+咨詢電話2023-01-12
- 朱哥真硬!霍勒迪通過得分&助攻包辦雄鹿最2023-01-12
- 環(huán)球看點!寒假來了,家長一定要做對這10件2023-01-12
- 當(dāng)前速看:2023北京鳳凰嶺冰雪樂園有什么內(nèi)2023-01-11
- 天天速讀:兩只股票型ETF成交量超1000萬手2023-01-11
- 全球視訊!復(fù)合碳源-2型商品報價動態(tài)(20232023-01-11
- 起底“共享會員”:看視頻低至2元,出租賬2023-01-11
- 公梭子蟹里面黃黃的能吃嗎?2023-01-11
- 當(dāng)前速訊:第三次彩排完成!《你好陌生人》2023-01-10
- 無錫免費的老街有哪些2023-01-10
- 省唄網(wǎng)貸逾期31年拖欠多久上征信2023-01-10
- 焦點快播:中國銀河給予仕凈科技推薦評級 2023-01-10
- ST新城:萬達項目為政府招商項目,在當(dāng)年已2023-01-10
- 焦點報道:正常情況下順產(chǎn)產(chǎn)假一般有多少天2023-01-10
- 富途控股的寶貴“緩沖期” 內(nèi)外隱患or涅槃2023-01-10
- 環(huán)球觀熱點:夢百合快充床墊和夢百合朗怡床2023-01-10
- 可惜錯過2023-01-09
- 你聽過的搞笑段子有這些嗎?2023-01-09
- 天天快訊:優(yōu)信二手車被消費者投訴不歸還車2023-01-09
- 二裂酵母抗初老面膜再升級!膜法世家樹面膜2023-01-09
- 60部手機,15萬!這個團伙栽了2023-01-09
- 天天要聞:國資委:2023加大新基建投入,穩(wěn)2023-01-09
- 全球簡訊:昊海生科(688366):于上海舉行2023-01-07
- 孔明直播:《1月6日熱點信息+個股公告》2023-01-06