郭嘉豐 范意興
(中國科學院網絡數據科學與技術重點實驗室(中國科學院計算技術研究所) 北京 100190) (中國科學院計算技術研究所 北京 100190) (guojiafeng@ict.ac.cn)
從大規模數據中幫助用戶快速高效地獲取所需的相關信息是信息檢索研究的核心問題.近年來,盡管信息檢索技術已經取得了長足的發展,特別地針對大規模網絡數據的搜索引擎已經成為用戶日常獲取網絡信息的主要手段,它離真正智能的信息獲取系統仍有較大的差距,這主要體現在3個方面:
1) 為了支撐大規模數據的檢索,基于關鍵詞的倒排索引是當前搜索引擎的基礎架構[1],關鍵詞檢索成為獲取候選相關文檔的基本手段,這極大地限制了對復雜的信息需求與網絡信息語義匹配的能力;
2) 大部分搜索引擎將網頁作為基本搜索對象,缺乏對其包含的數據內容的理解和加工,把真正的信息理解和獲取難題仍然留給了用戶;
3) 被搜索引擎廣泛采用的機器學習排序模型[2],通常把相關性建模為人工定義特征的某種簡單組合,缺乏對相關性的深入理解與建模、缺乏對信息獲取復雜交互過程的支持.理想的搜索引擎,能夠通過對網絡空間大量數據內容的獲取、閱讀與理解,將其中所包含的關鍵語義信息建模與存儲下來;當用戶有信息需求時,用戶可以用自然的描述方式闡述其信息需求,系統通過檢索獲得相關的支撐信息,并通過知識推理、相關決策與信息加工最終決定返回給用戶的信息內容.我們將這樣的搜索引擎稱為“智能信息獲取系統”,因為它不同于以往的搜索引擎僅把原始存在的網頁/資源看作是天然的檢索對象,而是認為網絡數據包含的關鍵信息內容才是真正的獲取對象,通過對細粒度信息內容的建模、索引、檢索、決策、交互與生成,滿足用戶的信息需求.為了能夠支撐這樣的智能信息獲取,我們亟需在檢索架構、檢索模型上產生根本性的改變和理論突破,包括:1)如何對網絡數據包含的關鍵信息內容進行表征、存儲與索引,以支撐大規模信息內容的高效語義檢索(非關鍵詞匹配);2)如何建模復雜的用戶需求與信息的相關匹配關系,實現對相關性更深層更完備的推理、決策與生成.
近年來,深度學習技術在圖像[3]、語音[4]、自然語言處理[5-6]等領域取得了顯著的突破,已經開始延伸到信息檢索領域,深度學習模型強大的表達能力和學習能力,可以為智能信息獲取中數據語義信息表征、相關性推理決策以及復雜交互過程的建模提供良好的支撐.Google、微軟等公司在該方向已經有了不少嘗試[7],斯坦福大學的Manning教授在SIGIR 2016的大會主題報告上預言2017年將會是深度學習進軍信息檢索領域的一年,神經網絡搜索的研討會(NeuIR Workshop)也連續2年在SIGIR會議上成為最受關注的研討會,由此可見無論工業界還是學術界對深度學習檢索都十分關注.然而,目前已有的結果顯示深度學習應用于檢索并不是其他領域深度學習模型的簡單移植,而是需要結合信息檢索的固有特征、領域知識和獨特模式來構建,并且對信息檢索最基本的架構也會產生巨大的影響.
鑒于此,我們圍繞智能信息獲取的需求,利用深度學習檢索框架展開了系統性研究,形成了一系列關于稠密數據索引和深度相關匹配的探索.隨后,我們將從數據表征、數據索引和檢索模型3個層面簡要介紹我們在深度學習檢索方面所取得的最新研究成果.
如何將語言文本表示成計算機可理解的表達形式,一直是自然語言理解任務中的重要問題.長久以來,最常用的單詞表示方法一直是獨熱表示(one-hot representation),這種表示方法將單詞表示成只有某一維非0的向量,且每個單詞使用不同的維度.這種表示方法在實際應用中面臨著稀疏以及組合爆炸的問題.近年來,伴隨著深度學習研究的崛起,分布式表示,即將文本表示成低維實數向量,得到了廣泛的研究,同時這些表示也被應用到自然語言處理的各類任務中并取得了顯著性能提升.文本數據的表征研究主要集中在單詞分布式表示研究以及句子的分布式表示研究,以下將對這2部分的工作進行詳細的介紹.
分布式單詞表示,又常被稱作詞向量或詞嵌入,將單詞表示為低維實數向量.這些向量,可以有多個維度取非零.最常見的形式則是所有維度都有值,也就是稠密向量.目前主流的學習單詞的分布式表示的主流思路都是基于分布語義假設(distributional hypothesis)[8-9].它是整個自然語言處理領域最重要的假設之一,其假設處于相似上下文中的單詞具有相似的含義.數十年來,研究人員基于此假設提出了大量的單詞表示學習模型.這些模型大體上都是利用上下文的統計信息來表示一個單詞,不同的只是不同模型使用了不同的方法,計算了不同的統計信息.而從分布語義假設的內容容易看出,“上下文”才是整個假設的基礎.根據模型所建模的上下文的不同,現有的單詞表示工作可以分為2類:
1) 橫向組合模型,主要使用單詞所處的文檔(或句子)作為單詞的上下文,認為2個單詞如果經常在相同文本中共現,則這2個單詞語義相似.對于圖1示例,此類模型可以捕捉“Einstein”與“physicist”之間的語義關聯.這類模型常用于信息檢索領域,在這類場景下文檔是一個關于單詞上下文的自然選擇,代表性工作包括隱式語義分析(latent semantic analysis)[10]和非負矩陣分解(non-negative matrix factorization)[11].
2) 縱向聚合模型,主要使用單詞周圍的單詞作為上下文,認為如果2個單詞其周圍的單詞總是相似的,則這2個單詞語義相似.對于圖1示例,此類模型可以捕捉“Einstein”與“physicist”之間的相似性,即使這2個單詞并未在一句話中共現.這類模型主要建模了單詞間的縱向聚合關系,在自然語言處理領域是一個非常常見的選擇,代表性工作包括CBOW(continuous bag-of-words),SG(skip gram)[12-13]以及GloVe[14]等.

Fig.1 Example for syntagmatic and paradigmatic relations圖1 橫向與縱向組合樣例
然而,這2類工作都只建模了單詞間的一種關系,丟失了單詞的部分語義信息.如橫向組合模型,雖然可以編碼單詞橫向之間(如Einstein與physicist)的相似性,卻無法捕捉縱向之間(如Einstein與Feynman)的相似,因為它們并沒有共現.另一方面,縱向聚合模型雖然能得到單詞縱向(如Einstein與Feynman)之間的相似性,卻丟失了單詞的橫向關聯(如Einstein與physicist).為克服這個問題,我們提出一種同時建模單詞間的橫向組合與縱向聚合關系的方法[15],具體地,本文不但利用單詞所處的文本區域(如句子、文檔)來學習單詞的表示,同時也利用單詞周圍的單詞(單詞周圍某個大小的窗口內的單詞)來學習它的表示.如圖2所示,在PDC模型中,不僅使用單詞周圍的上下文來預測它,還使用它所在的文檔來預測它,前一個任務捕捉了單詞間的縱向聚合關系,因為相似上下文意味著相似的網絡輸入,可以得到相似的輸出向量;后一個任務則捕捉了單詞間的橫向組合關系,也就是單詞間的共現信息.在HDC(hierarchical document context)模型中,首先使用單詞所在的文檔去預測當前單詞,然后再使用此單詞預測其周圍的每一個單詞.與PDC類似,文檔預測單詞部分建模了單詞間的橫向組合關系,而單詞預測上下文部分則建模了單詞間的縱向聚合關系.通過并行地或者層次化地建模這2種信息,本文提出了2個新型的學習單詞表示的聯合訓練模型.本文在單詞相似度以及單詞類比這2個任務的多個數據集上對所提模型進行了實驗評價.實驗結果顯示,本文所提模型在這2個任務上均顯著好于現有只建模一種關系的模型.

Fig.2 PDC model and HDC model圖2 PDC模型和HDC模型框架圖
單詞的分布式表示在近些年取得了長足的發展,已成功用于文本處理的方方面面.在復雜的自然語言處理任務中,僅使用單詞的語義表示并不足以直接完成這些任務.因此,句子的表示學習也成為近年來自然語言處理與機器學習另一個火熱研究點.借助單詞的分布式表示在文本處理領域取得顯著突破,在單詞表示上構建句子的分布式表示,逐漸成為句子表示領域的主流,目前也已在多個領域取得良好結果.
通過句子與單詞間的共現信息利用統計學習方法來學習句子的表示,這種思路最早可以追溯到弗雷格于1892年提出的復合性原理(principle of compositionality),一句話的語義由其各組成部分的語義以及它們之間的組合方法所確定[16].這類方法大體上使用某種語義組合方式,組合單詞的表示來得到句子的表示,常見的組合方法有簡單求和[17-19]、按位乘法[20]、矩陣乘法[21]、張量乘法[22-23]等方式.然而,Gershman與Tenenbaum的最新工作表明,這些基于線性代數的組合方式并不能完全捕捉短語及句子的語義[24].同時,這些方法也存在另一些明顯的缺陷:1)缺少健全的概率基礎,使得它們具有很弱的可解釋性;2)假設了文本間的相互獨立,限制了對整體語料信息的利用.

Fig.3 Spherical paragraph model圖3 球面文檔模型
為了解決上述問題,我們提出了一個基于詞向量包(bag-of-word-embedding)的spherical paragraph model (SPM)模型[25],其通過建模整個語料庫的生成來學習文本的表達.如圖3所示,首先,每個文本先被表示成L2正則化詞向量的詞袋.通過正則化,詞向量間的余弦相似度就等于詞向量間的點積,因此所有的詞向量都在一個單元超球面上.然后,我們假設生成過程為:首先從語料層的先驗分布中采樣一個文本向量,然后再從文本層的分布中采樣文本包含的所有詞向量.其中,von mises-fisher (vMF)分布能很好地建模單元球面上的數據,因此被用作語料層和文本層中的分布.和傳統模型相比,我們的模型有3個特點:1)通過建模整個語料庫的生成,SPM能很好地利用詞語義,詞-文本共現以及語料庫信息;2)通過使用vMF分布,SPM能很好地捕捉詞向量間的語義相似度;3)SPM具有很好的概率可解釋性.基于單詞的分布式表達,另一種構建文本片段表征的方法是使用fisher kernel (FK)框架.在傳統的FK聚合方法中,詞首先通過隱形語義索引(LSI)映射到歐幾空間中;然后高斯混合模型(GMM)被應用作詞向量的生成模型;最后,GMM的參數梯度被用作文本的表示.如今分布式表達(distributed representation)已經被證明比LSI具有更好的表現,因此我們希望將分布式表達很好地應用在FK框架中.然而,直接在分布式表達上使用FK框架是不合適的,因為傳統方法中的GMM模型是被用來捕捉詞向量間的歐氏距離,而分布式詞向量之間的語義關系由余弦相似度測量更合適.因此,我們提出了一個基于分布式詞向量的FK表達方法[26].如上所述,von mises-fisher (vMF)分布能很好地建模單元球面上的方向數據,并且能捕捉向量間的方向關系.因此,我們引入mixture of von mises-fisher distributions (moVMF)取代傳統FK框架中的GMM,作為詞向量的生成模型.我們在文本分類,文本聚類以及信息檢索3個任務上,和已有的文本表達模型做了對比實驗,實驗結果證明了我們模型的有效性.

直接面向稠密向量的索引方法在原始空間進行搜索,嘗試減少距離計算來加速搜索.面向稠密向量的索引方式根據采用的數據結構的不同,可以分為兩大類,分別是層次結構索引和近鄰圖索引.層次結構索引方法的主要思想是分層劃分空間或數據,以范圍從大到小.如圖4所示,當給定一個查詢時,從查詢項在最后一層所在區域開始查找,排除掉大部分無關的向量來進行快速檢索.早期的K-d樹[27]通過分割空間和回溯查找嘗試加速近鄰查找,在向量維度較低時取得良好效果,但在維度較高時性能急劇下降,甚至退化到比線性搜索還慢.K-means樹[28]是和k-d樹類似的層次結構,不同的是,每一層采用K-means算法聚類來將數據分成2份或多份.然而,由于高維空間精確查找近鄰問題太過于困難[29],基于k-d樹和K-means樹的隨機版本[30]被提出,每次劃分時采用隨機選取的維度或者聚類中心來實現每一層的不確定劃分,葉子結點也可以保存多個向量數據,檢索時避免過多的回溯操作,同時可以采用多棵樹構成森林同時查找來提升效果.近鄰圖索引則將每個向量連向一定數目的鄰居,構成一張圖,如圖4(b)所示.基于近鄰圖索引的搜索算法的核心思想可以概括為鄰居的鄰居也有可能是鄰居,通過在近鄰圖上采樣一些點作為搜索起始點,不斷擴展它們的鄰居并保留離查詢項更近的點作為下次擴展的起點,重復這個迭代過程直至無法擴展出更近的點.K-最近鄰圖(K-nearest-neighbor graph,K-NN)[31]關注在索引結構的構建上,將每個點連向離它最近的k個鄰居.KGraph[32]采用k-NN圖作為索引,同時提出了一種快速構建近似索引的最近鄰下降算法.多樣化近似圖(diversified proximity graph)[33]提出采用雙向圖來提高圖的連通性,同時提出選擇的鄰居應當在方向上多樣性,并提出一種啟發式算法來選擇鄰居,取得了不錯的效果.小世界圖(small world graph)[34]則提出構建的圖應具有導航功能,在圖上的搜索時可以實現跳躍功能,加速查找.

Fig.4 Different indexing methods圖4 不同的索引方法

Fig.5 Hash indexing methods圖5 Hash索引算法
Hash索引則是尋求數據更簡潔的表示,在編碼空間盡可能保持原有空間的關系,主要通過減少計算帶來加速搜索.由于表示簡單,Hash索引同時具有存儲代價小的特點,得到了廣泛的應用.Hash相關的工作主要關注如何學習出更好的Hash編碼,即采用更好的Hash函數,從而更好地保持原始空間的關系,根據是否考慮數據的分布可以分為局部敏感Hash和Hash學習兩大類.局部敏感Hash(locality sensitive hashing,LSH)[35]是一類基于LSH家族定義,采用隨機投影框架來將原始向量轉為Hash編碼進行近鄰搜索方法的總稱.如圖5(a)所示,LSH家族是一類將相似的輸入項比不相似的輸入項以更高概率映射到相同Hash編碼的函數家族.局部敏感Hash相關研究針對不同的距離或者相似性度量設計了不同的LSH家族,在不同距離度量空間下盡可能地保持原始向量之間的距離關系,如面向lp距離的p-穩定分布LSH[36]、面向余弦相似度的正負隨機投影[37]等.Hash學習則試圖根據原始向量空間中數據的分布學習出向量的Hash編碼,更好地保持原始空間的關系,取得了比基于隨機投影框架的局部敏感Hash更好的檢索效果.Hash學習方法主要需要考慮5個方面的問題[38],即采用什么樣的Hash函數、編碼空間采用什么樣的相似度、采用什么樣的目標函數、采用什么樣的優化技術.例如迭代量化(iterative quantization,ITQ)[39]通過主成分分析PCA將原始向量進行降維,根據向量中各元素的符號將其量化為比特.現有提出的Hash函數基于線性投影、核函數或者深度神經網絡等,例如有線性Hash函數方法[40]和核函數Hash方法[41].除了二元Hash編碼,量化采用多元編碼[42-43],將原始向量劃分為多個子空間,在多個子空間進行聚類,用聚類中心來替代子空間向量,所有子空間向量所屬的聚類中心的拼接對原始向量進行估計.
現有的致力于分割數據或分割空間,希望能迅速排除掉大部分距離較遠的向量,只對部分向量進行計算,以實現良好的檢索性能.但是隨著維度的增加,相鄰塊數目也以指數的速度增加.而近鄰圖結構不再分割空間,而是連接空間來構建索引[44],然而大部分k-最近鄰圖的方法中鄰居是最近的頂點,因此缺乏探索能力,容易陷入局部最優.針對這一難題,我們提出了k-多樣化最近鄰圖[45],并受信息檢索中最著名的最大間隔多樣性算法[46]的啟發,提出了一種快速索引構建算法.我們希望圖索引中每個頂點選擇的鄰居既盡可能靠近頂點,同時又盡可能在方向上多樣化,這個目標和最大間隔多樣化排序算法接近.受此啟發,我們將k-多樣化最近鄰圖的構建考慮成一個2階段多樣化排序過程:1)我們利用NN-Descent[47]算法為每個頂點獲取鄰居候選點;2)我們應用一個最大間隔多樣化的算法對鄰居候選點進行重排序,為每個頂點獲取k個多樣化的最近鄰.通過這種方式,我們能平衡近鄰圖的準確率和多樣性,因此同時具有良好的探索能力和利用能力.這個方法也提出了一種新的視角,將索引的構建過程視作信息檢索中搜索結果多樣化.具體來說,將每個頂點看作查詢,鄰居候選點看作文檔,用最大間隔相關性準則來對鄰居進行排序.
相關性建模一直是信息檢索的核心問題,如何建模復雜的用戶需求與信息的相關關系,實現對相關性更深層、更復雜的推理與決策成為了推進排序模型的原動力.近年來,深度學習的方法由于其強大的數據擬合能力,在各個領域取得了不同程度的進展,如計算機視覺中圖片分類任務[48]、語音處理中語音識別任務[49]、自然語言處理中機器翻譯任務[50]等.基于深度學習的相關性模型大致可以分為2類:1)利用神經表達改進排序模型,這類方法仍然以現有的相關性模型為主體框架,利用神經表達(neural representation)來改進其中的關鍵模塊;2)端到端的神經網絡排序模型,這是一種全新的方法體系,直接利用神經網絡來建模查詢與文檔之間的相關性.
在利用神經表達改進相關性模型的工作中,主要是借助詞向量在刻畫單詞語義關聯上的優勢來解決傳統檢索模型的不足.傳統的方法基于獨熱的單詞表示來表達查詢和文檔,面臨著經典的語義失配的問題.例如給定查詢“deep learning methods”,當一個相關的文檔中大量出現“neural network algorithm”時,在獨熱表示下是無法刻畫這些單詞之間的語義關聯,捕捉二者之間的相關性.一個最直接的方法就是使用上述的詞向量來表示單詞輔助文檔與查詢的相關性判斷.基于此想法,研究人員提出了不同的利用詞向量來改進現有相關性建模的方法[51-54],根據相關性判斷中詞向量使用方式不同,這些方法可以分為2類:全局匹配方法和局部匹配方法.
全局匹配方法使用查詢或文檔內部單詞的詞向量來構建查詢和文檔的整體向量表示,然后在向量空間中計算查詢和文檔的相關性.最直接的一個方法就是詞向量加權法(average word embedding,AWE)[51],AWE采用線性組合詞向量的方式來計算查詢和文檔的表達,然后通過余弦相似度來計算二者的相關性.進一步地,Clinchant等人[52]提出了一個非線性的組合詞向量的方式來得到查詢和文檔的向量表示,他們基于fisher kernel(FK)框架,提出了一個新穎的fisher vector(FV)的文檔表示方法.全局匹配的方法直接在查詢和文檔的向量表示空間中進行相關性度量,其性能依然和傳統的相關性模型差別甚遠[51],這主要是因為直接將文檔中所有的單詞向量組合得到文檔的全局向量,包含了太多的噪音信息,難以精確刻畫單詞之間的細粒度匹配信號.然而,通過結合基于向量的全局匹配與傳統的相關性模型,性能能夠得到一定的提升.
局部匹配方法則直接利用詞向量來計算查詢和文檔中單詞之間的匹配相似度,然后整合局部單詞的相似度值得到查詢和文檔整體的相關度.Mitra等人[53]指出在使用Word2Vec訓練得到的詞向量來增強查詢和文檔的相關性建模時,在查詢語料中訓練得到的詞向量比在文檔語料中得到的詞向量效果更好,提出了一個對偶向量空間模型(dual embedding space model,DESM),通過為查詢中的每一個單詞計算其與文檔整體的相似度,再融合不同的查詢單詞的匹配程度得到最終的相關性得分,DESM取得了比AVE更好的效果;Ganguly等人[54]基于語言模型提出了一個一般的語言模型(generalized language model, GLM)的方法,在原始的使用精確匹配語言模型的基礎上引入了基于詞向量的翻譯模型.基于詞向量的局部匹配組合得到查詢-文檔對的整體匹配的方法,總之,比基于全局的向量空間的匹配方法具有更好的性能.但是,由于在單詞的相似度計算時,需要計算查詢詞和整個詞表中所有單詞的相似度,因此計算代價較大.
在借助分布式單詞表示來增強查詢和文檔的相關性建模方面,我們在以往詞袋模型的基礎上,為每個單詞關聯其對應的詞向量,得到詞向量袋(bag-of-word-embedding, BoWE)假設表示.基于此,我們提出了一個基于詞運輸框架的相關性模型(non-linear word transportation,NWT),將查詢與文檔的相關性看成是一個從文檔到查詢的語義信息的運輸過程,如圖6所示,文檔中的詞看成是信息的“消費者”,查詢中的詞則是信息的“消費者”,從文檔到查詢運送的信息就是“商品”,最終文檔向查詢能運送的“商品”的總量就是文檔與查詢的相關程度.根據信息檢索中相關性匹配的特性需求,我們為相關匹配中的詞運輸問題增加了3項假設:1)文檔中的單詞根據出現的頻率有其確定的信息容量,且信息容量的設置需要滿足不同文檔類型的需要;而查詢由于其模糊的信息需求,每個查詢詞的信息容量則不做限制,這樣使得查詢能夠從文檔中接收盡可能多的相關信號.因此,相關匹配的詞運輸是一個非對稱的信息運輸問題.2)從文檔單詞到查詢單詞“運送”的語義相關的詞取得的信息增益定義為運輸的“收益”,且精確匹配運輸收益要顯著優于語義匹配的運輸收益.3)每個查詢詞的總收益應該滿足邊際效應遞減的性質,也就是說,一個查詢詞上收益的增量會隨著收益總量的增加而減少,以保證相關文檔對于查詢中不同層面信息需求的滿足[55].最終,一個文檔與查詢的相關性匹配得分就由它能給查詢提供的最大信息收益決定.NWT模型能有效地利用詞向量來克服查詢與文檔之間的單詞失配問題,顯著提升相關性建模的性能,同時,NWT模型的設計極具靈活性,可以為不同模塊設計合適的函數,從而得到不同的模型變種.

Fig.6 Non-linear word transportation model圖6 非線性的詞運輸模型
在利用深度學習方法直接建模查詢與文檔的相關性方法中,使用神經網絡端到端的從原始的數據表示中學習二者的相關性特征用于最終的相關性的建模.伴隨著深度學習方法的崛起,研究人員提出了大量的深度匹配模型,這些方法根據網絡關注角度的不同,可以分為2類:關注表征的匹配模型和關注交互的匹配模型.
在關注表征的匹配模型中,其重點在于更好的學習文本的表征,因此這類模型通常是使用深度神經網絡為文本(即查詢或文檔)構建復雜的表征,然后基于二者的表達進行簡單的匹配.例如DSSM[56]將查詢和文檔中的詞拆解成字母N-元組;然后使用全連接神經網絡將查詢和文檔映射到同一個語義空間,得到二者的高層抽象的表征;最后通過簡單的余弦相似度函數來刻畫二者的語義相關性.另外,CDSSM[57]同樣使用單詞N-元組為基本的輸入單元;然后使用卷積神經網絡來學習查詢和文檔的高層的語義表征;最終在語義空間中,同樣使用余弦相似度函數來計算二者的相關程度.另外,ARC-I[58]直接基于原始的單詞,使用卷積神經網絡來逐層抽象得到文本的稠密向量空間表征,最后通過全連接網絡來建模2個表征的匹配.同樣地,卷積神經張量網絡(convolutional neural tensor network, CNTN)[59]使用卷積神經網絡得到2個文本的表征,不同的是,交互函數使用的是張量匹配而不是全鏈接網絡.Socher等人[60]提出了一個可擴展遞歸自編碼器(unfolding recursive antoencoder, uRAE)模型,uRAE首先基于句法分析樹使用遞歸自編碼器為句子構建層次化的組合表達,然后通過不同層次的表達之間的匹配判斷2個句子之間的語義關系.Yin等人[61]提出了一個MultiGranCNN模型,使用深度卷積神經網絡學習層次化的句子表達,最后基于不同粒度的表達之間的交互得到最終的文本匹配得分.
在關注交互的匹配模型中,其重點在于建模文本內部基本單元的交互信號,因此這類模型通常是先構建2個文本(即查詢與文檔)中的單詞交互,這里的交互函數可以是簡單的異或函數、點積函數、或是余弦函數等,得到二者的交互矩陣;然后使用深度神經網絡從交互矩陣中逐層抽象得到最終的匹配得分.大量的模型都屬于這一類別,例如在DeepMatch[62]中,文本中的單詞序列通過主題模型構建好單詞的基本交互矩陣,然后使用深度前饋神經網絡來得到最終匹配得分.在ARC-II[58]中,單詞被映射到詞向量,然后使用拼接函數得到單詞之間的交互,然后使用深度卷積神經網絡來捕捉信號之間的交互最終得到二者的匹配得分.MatchPyramid[63]首先基于詞向量構建2個文本片段匹配矩陣或者張量M,M中的元素值為2個句子中對應單詞的詞向量的交互得分,在匹配矩陣的基礎上使用卷積神經網絡逐層抽象得到最終的匹配得分.和MatchPyramid類似,Match-SRNN[64]也是先構建匹配矩陣M,不同的是,Match-SRNN使用二維循環神經網絡(2D-GRU)來捕捉2個文本片段中的遞歸的匹配模式.

Fig.7 The deep relevance matching model圖7 深度相關性匹配模型
盡管大量深度匹配模型被剔除并用于文本的匹配,但是這些方法大都是面向2個同構的文本片段之間的匹配,例如復述問題中2個句子的匹配,即便是針對信息檢索設計的模型DSSM和CDSSM,也是在點擊日志的查詢-標題對上取得較好的效果.然而,對于像短查詢與長文檔這類異構文本之間的相關性匹配,目前依然沒有取得太大的進展.同時,當我們將這些深度匹配模型應用在檢索中查詢與文檔的匹配時,發現其效果比傳統的檢索方法(如BM25和語言模型)更差.針對這個問題,我們對檢索問題中的相關性建模進行了深入的分析,利用深度學習模型,從相關匹配、相關決策到相關感知,不斷深入地建模相關關系,提出了一系列的相關性模型[65-68].
3.2.1 基于匹配的深度相關性模型
查詢與內容的相關性判定問題可以被形式化成2個文本片段的匹配問題.以往的工作將信息檢索中的相關性匹配問題與復述問題、自動問答和對話系統等任務同等對待,然而,我們認為信息檢索中的相關性匹配與其他自然語言任務存在顯著的差異.具體地,在傳統的自然語言相關任務中,最核心的關注點是語義匹配,而在信息檢索中重點關注的是相關性匹配.語義匹配與相關性匹配在建模時有各自完全不同的需求:對于語義匹配而言,相似度匹配信號、組合語義以及全局的匹配(例如主題匹配)是其最重要的3個特性;而對于相關性匹配、精確匹配信號、查詢詞的重要度以及多樣的匹配需求(例如對于一個查詢、一篇相關的文檔可以是全局匹配也可以是局部部分匹配)是其最核心的要素.
針對上述提出的信息檢索中相關性匹配的需求,我們提出了一個深度相關性匹配模型(deep relevance matching model)[66].具體地,我們的模型包括3個部分,如圖7所示:1)匹配直方圖映射網絡.這個網絡將查詢與文檔內容的匹配信號按信號強度分成不同的直方圖,從而能直接區分精確匹配和相似度匹配的信號.2)前饋匹配網絡.這個網絡將上一個網絡的輸出作為輸入,通過前饋網絡來捕捉多樣的不同層次的匹配需求;最后一個部分是詞門控網絡,這個網絡對不同的查詢詞分配不同的重要度.3)融合起來就得到如圖1所示的最終網絡模型圖.我們和多個基準模型在3個經典的相關性匹配任務上進行了比較,我們的模型比所有的基準模型效果都要顯著地好.
3.2.2 基于決策的相關性模型DeepRank
之前的工作直接建模了用戶信息需求與文本內容的相關匹配關系,但是進一步我們發現人們對相關性的判斷是一個復雜的決策過程,僅僅考慮簡單的匹配是不足夠的.我們通過分析人工標注相關性標簽的產生過程,形成對人們判斷相關性的主要階段的認識,進而提出了一個結合語義匹配信息、匹配信號的空間關系以及匹配信號的聚合方式,即端到端的相關性排序深度學習模型——DeepRank[67].DeepRank模型啟發自人工標注相關文檔的過程,主要分為3個模塊:相關區域檢測策略、局部相關性度量網絡和全局相關性聚合網絡,具體的模型結構圖如圖8所示:

Fig.8 The DeepRank model圖8 深度排序模型
根據人工標注過程的理解與眼球跟蹤實驗的結論,我們發現人們在判斷文檔相關性的時候重點會關注關鍵詞匹配為中心的一個窗口內的文本,所以我們定義相關區域為以查詢項關鍵詞為中心的一個文本片段.得到的文本片段數量相對于整個文檔而言已經大大精簡,不僅減少了計算量,也很好地過濾了長文檔中的噪聲影響.在這些得到的文檔片段之上,我們采用深度文本匹配的模型MatchPyramid和MatchSRNN,建模查詢項和文檔片段之間的相關性,我們稱為局部相關性度量.為了得到全局相關性的分數,需要經過2個步驟的局部相關性的聚合:1)在查詢項關鍵詞級別的聚合,聚合采用時序相關的循環神經網絡,旨在建模不同片段出現的先后順序和重要程度的累計;2)在全局的相關度聚合,聚合采用門控神經網絡,旨在確定各個查詢項關鍵詞的重要度.最后我們提出的DeepRank與當前的基于特征構建的learning to rank方法進行了對比,發現僅僅用文本內容信息的DeepRank模型,已經能達到和超過利用了文檔重要度等其他特征的learning to rank模型.
3.2.3 基于感知的相關性模型ViP
在這部分工作組中,我們進一步利用深度學習模型的強大能力來直接模擬人看網頁內容、產生相關性判斷的過程.具體地,我們直到傳統的排序模型主要是基于學習排序(learning to rank, L2R)的思想來構建的,學習排序的方法需要對網頁和查詢對構建相關性的特征,目前現有的特征構建是先從網頁中抽取出網頁的正文內容,然后基于正文的內容和查詢構建相關性的特征.然而,一個網頁是一個精心設計的文檔,其不僅包含重要的文本信息,同時,還包含了豐富的視覺信息.首先,給定一個網頁,從該網頁的快照信息中可以看到,一個高質量的網頁往往具有良好的結構、清晰的布局;而一個低質量的垃圾網頁,通常具有很多漂浮的廣告,布局也比較凌亂.其次,在給定一個查詢的情況下,一個整體相關的網頁,查詢詞通常會均勻分布在網頁正文的各個部分,而一個相關度比較低的網頁、查詢詞可能會分布在網頁中比較邊緣的位置(例如廣告區).
我們提出直接利用網頁的視覺信息來進行相關性建模.具體地,給定一個網頁,我們首先生成該網頁的快照,網頁的快照是從原始的網頁內容渲染處理出來的一個圖片.網頁快照包含2種:1)查詢無關的,這種快照就是原始的網頁圖片;2)查詢相關的網頁快照,這種快照是在原始網頁快照的基礎上,將查詢中每個詞在網頁快照中高亮出來.基于網頁的快照,我們提出了一個視覺感知模型(visual perception model)[68]來學習網頁的視覺特征,如圖9所示,該模型是模擬人們在網頁上的視覺搜索行為而設計的,具體地,給定一個網頁,人們瀏覽網頁是呈現F型的瀏覽模式,具有從左到右、從上到下的一個順序.基于此,我們將網頁按行切成多個塊,每個塊具有和原始網頁快照相同的寬度,塊的高度則作為一個可調節的超參.針對每一個塊,我們使用卷積神經網絡來獲取該塊的特征;然后使用長短時記憶網絡來對不同塊的特征進行整合得到整個文檔的視覺特征;最后,通過視覺感知模型學習到的特征可以和傳統的文本相關的特征拼接起來輸入到全連接的網絡中,得到最終查詢和網頁的相關度.同時,針對該視覺感知模型,我們改進了原始倒排索引,用以支持快速的網頁快照檢索,具體地,我們在原始的倒排索引中,針對每一個文檔id,我們不僅存儲了原始的網頁內容,同時也存儲了網頁的快照,除此以外,我們還存儲了該倒排索引詞在快照中出現的位置,可以在網頁快照中快速地渲染查詢詞的信息.我們和多個基準模型在2個經典的相關性匹配的任務上進行了比較,實驗效果得到了顯著的提升.

Fig.9 Visual perception model圖9 視覺感知模型
信息檢索技術的研究已經有很長的歷史,傳統的檢索框架已經進入到了相對成熟的階段,但是隨著數據規模、復雜程度的不斷增大,人們對信息獲取手段更加智能的期望也越來也強烈,這對已有的信息檢索框架提出了全新的挑戰,也為這個領域的技術革新提供了契機.我們有幸參與到這個歷程中,并通過多年的研究取得了一些創新的理論成果.未來,對于信息內容、用戶、檢索過程、交互方式都有可能產生全新的定義,通過引入全新的機器學習技術(例如深度學習技術和強化學習技術),我們有可能帶來搜索體系全新的變革,讓信息檢索變得更智能、更高效以及更無所不在.