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