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