陳麗萍,任俊超
(東北大學 理學院,沈陽 110819)
近年來,隨著互聯網技術的不斷發展,信息檢索領域的相關研究也取得了巨大突破.信息檢索是用戶獲取查詢信息的主要方式.信息檢索主要是解決從大量候選信息集中獲取與所需信息相關的信息資源,返回的相關信息通常根據某種相關性概念進行排名,排名的結果至關重要.因此,對于信息檢索領域中排序模型的研究成為一大熱點.
在過去的幾十年中,研究人員提出了許多不同的排序模型,包括向量空間模型[1],概率模型[2]和LTR(Learning To Rank)模型[3].最高效的檢索方法是使用向量空間模型,其方法包括TF-IDF 關鍵詞權重匹配[4],這些方法是基于詞的匹配,更容易受到關鍵詞的限制.例如,候選段落集合為:“這個女明星如此漂亮”,“莉莉”.查詢問題為:“這個女明星叫什么名字? ”,如果采用TF-IDF 關鍵詞匹配方法,這個查詢的最相關答案是“這個女明星如此漂亮”.顯然,此方法只能獲得與查詢相似的段落,無法得到語義的匹配信息.隨著機器學習的發展,LTR模型已經取得了巨大的成功,其主要取決于特征的選取,特征的質量和數量決定了模型的質量,一定程度上緩解了向量空間模型帶來的不足,但是依然無法獲取連續的語義信息.近年來,神經網絡發展快速并且在自然語言處理領域取得了重大突破,神經網絡模型被應用到信息檢索領域中,神經網絡信息檢索模型[5]被證明可以有效地從原始輸入中學習文本的潛在語義信息,并能一定程度上解決了詞語不匹配問題.越來越多的研究者探索雙重編碼結構[6],該結構使用原始查詢和檢索到的段落作為輸入文本,通過one-hot 編碼,Word2Vec[7]和sub-word components[8]等詞嵌入方法來表示文本.神經網絡模型在信息檢索應用中得到了廣泛推廣,例如段落檢索、文檔檢索和段落排序.
信息檢索領域中的段落排序任務,其主要框架如圖1所示.段落排序任務通常分為兩個階段:第1 階段是使用簡單高效的檢索模型來快速檢索候選段落集合中的Top-k;第2 階段是使用相對復雜的排序模型對Top-k候選集進行重排序.本文主要針對第2 階段,研究查詢結果重排序問題.段落重排序不需要二次檢索,僅基于原始檢索結果進行重排序.當前主流搜索引擎:Google,Baidu,Bing,在輸入查詢時將返回一系列查詢結果,但用戶提交的查詢詞太短或太長,查詢字詞無法準確表示用戶的意圖.查詢和查詢結果之間存在語義上的不匹配,并且無法獲得用戶所需的查詢結果.此外,用戶通常只關注排名最高的搜索結果,而排名較高的搜索結果可能包含不相關的文檔.該排序結果直接影響用戶體驗.因此,如何提高排名的準確性并提高用戶對查詢結果的滿意度一直是搜索引擎中的重點研究問題.

圖1 段落排序
利用神經網絡排序模型對候選段落集合重新排序.神經網絡排序模型對于數據質量要求極高,而信息檢索數據集中含有較多噪音,并且缺少大量的標簽數據,無法準確獲取與查詢不相關的文檔.訓練一個能理解查詢意圖的深度學習模型是困難的.
本文目標是通過不匹配的查詢文檔對以提高排序模型的性能.針對信息檢索數據集不平衡且缺乏高質量的負樣本這一問題,我們提出一個深度的、端到端的生成模型,利用不匹配的查詢文檔對,生成與查詢相似、文檔不相關的對抗查詢.最后,利用新構造的數據訓練深度排序模型.
實驗結果顯示,與基線模型BERT-base 相比,MSMARCO和TrecQA 數據集利用本文方法AQGM+BERT-base 在MRR 指標上分別提升了0.3%、3.2%.由此可見,AQGM (Adversarial Query Generation Model)算法通過生成的對抗查詢,增強了負樣本質量,使BERTbase 分類模型更具魯棒性.
文本檢索重排序任務早前的方法更多是利用簡單的方法衡量查詢和文檔相關性,最高效的衡量方法為BM25[9],其核心思想是對于查詢中的每個詞語,計算和當前文檔的相關性得分,然后對查詢中所有詞語和文檔的相關得分進行加權求和,得到最終得分.這種方法簡單高效,但是查詢結果往往不那么準確.研究人員對于初步相關性得分進一步探索,其中一種思路是利用文檔和文檔之間的關系進行檢索結果重排序,Plansangket等[10]提出基于文檔分類實現檢索結果重排序,降低了一些分類分數較低的查詢結果的等級.Balinski 等[11]利用從文本、超鏈接獲得的文檔之間的距離關系來提高文檔得分.其次,借助外部語料信息進行文檔重排序,Qu 等[12]利用每個主題構造單獨的詞庫來生成文檔向量和查詢向量.
隨著深度學習的快速發展,深度學習模型已經在各大領域展示了卓越的性能,更多研究者將端到端的模型應用到排序任務中.例如DRMM[13],在查詢詞級別時使用聯合深層架構進行相關性匹配;matchpyramid[14],基于word-leval 級別交互的矩陣匹配思想,用一個二維矩陣來代表query和doc中每個word的交互,能捕獲更精確的匹配信息,以及目前最流行的預訓練模型BERT[15].
盡管深度模型性能強大,但是對于數據的質量要求極高.研究者主要從兩方面對數據進行一系列加強:一是查詢擴展,Voorhees[16]提出的詞匯查詢擴展,利用同義詞的信息,利用統計轉換建模詞語關系[17],以及Browm 大學提出的query2query[18]方法,將原始查詢利用生成查詢進行擴充,這些技術都是通過加強查詢理解來匹配更好的文檔;二是文檔擴充,doc2query[19],利用文檔生成其查詢,對文檔進行擴充.這些方法都是通過豐富文檔信息,來得到最好的匹配結果.
近年來,對抗生成網絡[20]發展迅速,應用到圖像、語音和文本等領域,從噪音數據中生成樣本,極大提高模型的魯棒性.Wang 等人提出IRGAN[21],將對抗生成網絡應用到信息檢索排序任務中,基于極小極大化博弈理論,使得分類判別器將真正的樣本與生成的對抗性樣本盡可能準確區分.Bahuleyan 等人提出VED模型[22],增加生成句子的多樣性.Nguyen 等人提出QUARTS 模型[23],增強了模型的穩健性和泛化能力.
本文工作受到生成對抗性樣本方法的啟發,通過生成對抗查詢的方式,增加了查詢多樣性,并構造高質量的負樣本對,利用當前主流深度模型BERT,訓練分類模型,得到查詢文檔對的相關性得分.
本文提出AQGM (Adversarial Query Generation Model)方法,通過生成對抗查詢,得到高質量的負樣本對,對數據進行增強.該方法由3 部分組成:(1)基于詞的權重方法獲得不相關的查詢文檔對.(2)通過VED(Variational Encoder-Decoder)模型,生成與查詢相似、文檔不相關的對抗查詢,模型結構如圖2.(3)得到最終增強的樣本{Q+(1?y)Q_gen,P,y}.其中,y代表查詢文檔對是否匹配.當y=1,(Q,P)是真正的正例;y=0,(Q+Q_gen,P)是通過對抗查詢增強的負例.

圖2 VED 模型結構
對于每一個query,Qi={qi},都存在一個對應passage集合其中,p+i代表與query 相關的段落,代表與query 不相關的段落.基于詞的權重方法獲得不相關文檔集中與查詢得分最高的文檔,我們定義查詢文檔對的相關性得分:

其中,wt代表單詞的權重,qit代表qi中的單詞,表示某個搜索文檔,R代表每個單詞和搜索文檔的相關性高低,此處我們采用傳統的IDF來定義wt:

其中,N為索引中的全部文檔數,我們用n(qit)指代包含qit的文檔數.接下來是單詞qit與段落的相關性得分衡量:

其中,k1,k2,b為調節因子,b對文檔長度因子進行調整,k2對查詢詞頻因子進行調整,k1對文檔詞頻因子進行調整.k1+1,k2+1 保證查詢詞頻及文檔詞頻大于1.從K的定義可得,b越大,K值越小,文檔長度對相關性得分的影響越大,反之越小;而文檔的相對長度越長,K值將越大,則相關性得分會越小.k1按經驗設置為2,k2通常為0–1000,b設置為0.75[24].ft為qit在中出現的頻率,qft為qit在qi中出現的頻率,pl為段落的長度.avgpl為所有段落的平均長度.
通過以上方法可以得到查詢和不相關文檔的得分,選擇其中得分最高的樣本對(q,p?),作為訓練樣本,利用 VED 模型進行訓練,模型結構如圖2.其中編碼器encoder 輸入文檔P,并輸出平均向量m和偏差向量n,m和n作為z的后驗正態分布的參數;解碼器根據從后驗分布提取的樣本z生成查詢Q_gen.本文通過模型生成的查詢,得到高質量的負樣本,構造了增強的數據集:{Q+(1?y)Q_gen,P,y},其中Q代表原始查詢.
通過深度排序模型得到查詢文檔的相關性得分.本任務建立基于BERT的分類模型.訓練樣本為三元組的格式:

其中,Ri代表passage是否是query的正確回答,取值為0 或1,我們通過Pointwise的訓練方式建立query和passage的關系.具體的,我們將queryqi和passagepi拼接成一個序列輸入,如式(6):

其中,
利用BERT 對其進行編碼,訓練一個二分類網絡:

經過BERT 編碼后,我們取最后一層的

其中,β1為調節因子,取值大于1.通過調節因子的設置,使得模型對正樣本的錯誤預測給予更多的關注.
實驗采用了兩個基準數據集,分別為MSMARCO[25]和TrecQA[26].數據集的統計信息如表1所示.

表1 數據集統計信息
MSMARCO是由微軟提出的基于大規模真實場景數據的數據集,該數據集基于Bing 搜索引擎和Cortana 智能助手中的真實搜索查詢產生.MSMARCO數據集包括約880 k的不重復passage,約101 k的query.Query 平均長度為5.97,passage 平均長度為56.58.我們采用的測試集為2019 trec 比賽釋放的人工標注好的9260 條數據.
TrecQA是由Wang 等人提供的基準數據集,是從TrecQA的第8–13 軌道收集,由真實的問題組成,主要回答“誰”、“什么”、“哪里”和“為什么”等類型的問題.
信息檢索排序問題常用評價指標有MRR、MAP和NDCG.在MAP中,文檔和查詢要么相關,要么不相關,也就是相關度非0 即1.NDCG中做出改進,相關度分成從0 到r的r+1個等級(r可設定).根據實驗數據集的特性,MSMARCO 測試數據集的相關度分為0 到3,TrecQA 測試數據集的相關度非0 即1.因此,對于MSMARCO 數據集我們采用NDCG和MRR指標,對于TrecQA 數據集我們采用MAP和MRR指標.
MRR(Mean Reciprocal Rank)平均倒數排序,公式如下:

其中,Q是問題的個數;pi為第i個問題中的第一個正確答案的排名位置.即把第一個正確答案在排序給出結果中的位置取倒數作為它的準確度,再對所有的問題求平均,這個評價指標只關心第一個正確答案.
MAP(Mean Average Precision):單個查詢的平均準確率是每篇相關文檔檢索出后的準確率的平均值.MAP是每個主題平均準確率的平均值.MAP是反映系統在全部相關文檔上性能的單值指標.系統檢索出來的相關文檔越靠前(rank越高),MAP就可能越高.如果系統沒有返回相關文檔,則準確率默認為0.
NDCG(Normalized Discounted Cumulative Gain)歸一化折損累計增益,計算公式如下:

其中,k表示k個文檔組成的集合,rel表示第i個文檔的相關度.|REL|表示文檔按照相關度從大到小排序,取前k個文檔組成的集合.
AQGM 模型的encoder和decoder 部分,采用LSTM 網絡[27]進行編碼解碼,隱單元設置為300.通過該模型獲得的訓練數據:{Q+(1?y)Q_gen,P,y}.后續采用BERT-base 得到查詢文檔對的相關性得分,使用谷歌預訓練的BERT-base-uncased 作為BERT 模型的初始化參數,在下游分類任務上進行微調.通過對語料的分析,在模型中設置的參數如下:輸入模型的句子最大長度為max_sentence_length=384;batch_size=64;學習率為2e–5、3e–5和4e–5;優化函數采用Adam[28];調節因子 β1設置為1.1;訓練的epoch設置為5.
本文采用MAP、MRR和NDCG@10 指標作為評測模型性能的度量.在測試集上評測AQGM+BERT-base模型和基線模型的得分,并進行對比.對于MSMARCO數據集,設置BM25,BERT-base,Doc2query+BERTbase 作為基準模型,進行實驗對比.為進一步證實模型的有效性,在TrecQA 數據集上設置對照試驗,分別為K-NRM 模型[29]與AQGM+K-NRM、BERT-base 模型與AQGM+BERT-base和AQGM+BERT-base 模型與Doc2query+BERT-base.
為得到AQGM+BERT-base 模型的最優性能,本文采用不同的初始學習率在MSMARCO和TrecQA 數據集上進行實驗,MRR指標如表2.結果顯示,當學習率為3e–5,該模型在MSMARCO 數據集上性能最優;當學習率為2e–5,該模型在TrecQA 數據集上性能最優.

表2 不同學習率下的性能分析(%)
表3和表4展示了不同數據集上,AQGM+BERTbase 模型和基線模型的MRR、MAP和NDCG@10 評價指標得分.

表3 MSMARCO 評測結果(%)

表4 TrecQA 評測結果(%)
分析表3可得,在MSMARCO 數據集上,與BERT-base 模型對比,AQGM+BERT-base 模型融入生成的對抗查詢,使MRR@10 指標提升1.2%,證明對抗式數據增強方式能一定程度上提高神經網絡排序模型的性能.與基于文檔擴充的Doc2query+BERT-base 模型對比,本文模型在MRR@10,NDCG@10 指標分別提升0.3%和1.5%,證明對抗式數據增強相比文檔擴充,具有一定的優勢.
為進一步證實算法的有效性,本文在TrecQA 數據集上設置實驗進行驗證,如表4.K-NRM 模型加入對抗式數據增強方法AQGM,使MRR和MAP指標上升2.5%、3.3%;AQGM+BERT-base 模型與BERTbase 模型相比,指標分別提升3.2%、1.3%;AQGM+BERT-base 模型與Doc2query+BERT-base 模型相比,指標分別提升3.0%、0.7%.以上分析可得,對抗式數據增強方式的有效性.
綜上,本文模型相比基線模型,在MSMARCO和TrecQA 數據集上性能均有一定提升,在排序學習中融入對抗查詢,提高模型的穩健性.在實際檢索文檔過程中,返回與查詢相關度高的文檔,能提高用戶的搜索興趣.
本文探索對比得到一種更適應于文本檢索重排序的模型.AQGM+BERT-base 模型在MS MARCO和TrecQA 數據集上得到了有效驗證.該方法簡單且易理解,在數據增強方面,提供了一種新的思路,從更具有挑戰性的生成對抗查詢的角度出發,獲得高質量的負樣本.此次嘗試獲得了有效的驗證,這為之后在這一領域的探索打開了良好的開端.