陳麗萍,任俊超
(東北大學(xué) 理學(xué)院,沈陽(yáng) 110819)
近年來(lái),隨著互聯(lián)網(wǎng)技術(shù)的不斷發(fā)展,信息檢索領(lǐng)域的相關(guān)研究也取得了巨大突破.信息檢索是用戶獲取查詢信息的主要方式.信息檢索主要是解決從大量候選信息集中獲取與所需信息相關(guān)的信息資源,返回的相關(guān)信息通常根據(jù)某種相關(guān)性概念進(jìn)行排名,排名的結(jié)果至關(guān)重要.因此,對(duì)于信息檢索領(lǐng)域中排序模型的研究成為一大熱點(diǎn).
在過(guò)去的幾十年中,研究人員提出了許多不同的排序模型,包括向量空間模型[1],概率模型[2]和LTR(Learning To Rank)模型[3].最高效的檢索方法是使用向量空間模型,其方法包括TF-IDF 關(guān)鍵詞權(quán)重匹配[4],這些方法是基于詞的匹配,更容易受到關(guān)鍵詞的限制.例如,候選段落集合為:“這個(gè)女明星如此漂亮”,“莉莉”.查詢問(wèn)題為:“這個(gè)女明星叫什么名字? ”,如果采用TF-IDF 關(guān)鍵詞匹配方法,這個(gè)查詢的最相關(guān)答案是“這個(gè)女明星如此漂亮”.顯然,此方法只能獲得與查詢相似的段落,無(wú)法得到語(yǔ)義的匹配信息.隨著機(jī)器學(xué)習(xí)的發(fā)展,LTR模型已經(jīng)取得了巨大的成功,其主要取決于特征的選取,特征的質(zhì)量和數(shù)量決定了模型的質(zhì)量,一定程度上緩解了向量空間模型帶來(lái)的不足,但是依然無(wú)法獲取連續(xù)的語(yǔ)義信息.近年來(lái),神經(jīng)網(wǎng)絡(luò)發(fā)展快速并且在自然語(yǔ)言處理領(lǐng)域取得了重大突破,神經(jīng)網(wǎng)絡(luò)模型被應(yīng)用到信息檢索領(lǐng)域中,神經(jīng)網(wǎng)絡(luò)信息檢索模型[5]被證明可以有效地從原始輸入中學(xué)習(xí)文本的潛在語(yǔ)義信息,并能一定程度上解決了詞語(yǔ)不匹配問(wèn)題.越來(lái)越多的研究者探索雙重編碼結(jié)構(gòu)[6],該結(jié)構(gòu)使用原始查詢和檢索到的段落作為輸入文本,通過(guò)one-hot 編碼,Word2Vec[7]和sub-word components[8]等詞嵌入方法來(lái)表示文本.神經(jīng)網(wǎng)絡(luò)模型在信息檢索應(yīng)用中得到了廣泛推廣,例如段落檢索、文檔檢索和段落排序.
信息檢索領(lǐng)域中的段落排序任務(wù),其主要框架如圖1所示.段落排序任務(wù)通常分為兩個(gè)階段:第1 階段是使用簡(jiǎn)單高效的檢索模型來(lái)快速檢索候選段落集合中的Top-k;第2 階段是使用相對(duì)復(fù)雜的排序模型對(duì)Top-k候選集進(jìn)行重排序.本文主要針對(duì)第2 階段,研究查詢結(jié)果重排序問(wèn)題.段落重排序不需要二次檢索,僅基于原始檢索結(jié)果進(jìn)行重排序.當(dāng)前主流搜索引擎:Google,Baidu,Bing,在輸入查詢時(shí)將返回一系列查詢結(jié)果,但用戶提交的查詢?cè)~太短或太長(zhǎng),查詢字詞無(wú)法準(zhǔn)確表示用戶的意圖.查詢和查詢結(jié)果之間存在語(yǔ)義上的不匹配,并且無(wú)法獲得用戶所需的查詢結(jié)果.此外,用戶通常只關(guān)注排名最高的搜索結(jié)果,而排名較高的搜索結(jié)果可能包含不相關(guān)的文檔.該排序結(jié)果直接影響用戶體驗(yàn).因此,如何提高排名的準(zhǔn)確性并提高用戶對(duì)查詢結(jié)果的滿意度一直是搜索引擎中的重點(diǎn)研究問(wèn)題.
圖1 段落排序
利用神經(jīng)網(wǎng)絡(luò)排序模型對(duì)候選段落集合重新排序.神經(jīng)網(wǎng)絡(luò)排序模型對(duì)于數(shù)據(jù)質(zhì)量要求極高,而信息檢索數(shù)據(jù)集中含有較多噪音,并且缺少大量的標(biāo)簽數(shù)據(jù),無(wú)法準(zhǔn)確獲取與查詢不相關(guān)的文檔.訓(xùn)練一個(gè)能理解查詢意圖的深度學(xué)習(xí)模型是困難的.
本文目標(biāo)是通過(guò)不匹配的查詢文檔對(duì)以提高排序模型的性能.針對(duì)信息檢索數(shù)據(jù)集不平衡且缺乏高質(zhì)量的負(fù)樣本這一問(wèn)題,我們提出一個(gè)深度的、端到端的生成模型,利用不匹配的查詢文檔對(duì),生成與查詢相似、文檔不相關(guān)的對(duì)抗查詢.最后,利用新構(gòu)造的數(shù)據(jù)訓(xùn)練深度排序模型.
實(shí)驗(yàn)結(jié)果顯示,與基線模型BERT-base 相比,MSMARCO和TrecQA 數(shù)據(jù)集利用本文方法AQGM+BERT-base 在MRR 指標(biāo)上分別提升了0.3%、3.2%.由此可見(jiàn),AQGM (Adversarial Query Generation Model)算法通過(guò)生成的對(duì)抗查詢,增強(qiáng)了負(fù)樣本質(zhì)量,使BERTbase 分類模型更具魯棒性.
文本檢索重排序任務(wù)早前的方法更多是利用簡(jiǎn)單的方法衡量查詢和文檔相關(guān)性,最高效的衡量方法為BM25[9],其核心思想是對(duì)于查詢中的每個(gè)詞語(yǔ),計(jì)算和當(dāng)前文檔的相關(guān)性得分,然后對(duì)查詢中所有詞語(yǔ)和文檔的相關(guān)得分進(jìn)行加權(quán)求和,得到最終得分.這種方法簡(jiǎn)單高效,但是查詢結(jié)果往往不那么準(zhǔn)確.研究人員對(duì)于初步相關(guān)性得分進(jìn)一步探索,其中一種思路是利用文檔和文檔之間的關(guān)系進(jìn)行檢索結(jié)果重排序,Plansangket等[10]提出基于文檔分類實(shí)現(xiàn)檢索結(jié)果重排序,降低了一些分類分?jǐn)?shù)較低的查詢結(jié)果的等級(jí).Balinski 等[11]利用從文本、超鏈接獲得的文檔之間的距離關(guān)系來(lái)提高文檔得分.其次,借助外部語(yǔ)料信息進(jìn)行文檔重排序,Qu 等[12]利用每個(gè)主題構(gòu)造單獨(dú)的詞庫(kù)來(lái)生成文檔向量和查詢向量.
隨著深度學(xué)習(xí)的快速發(fā)展,深度學(xué)習(xí)模型已經(jīng)在各大領(lǐng)域展示了卓越的性能,更多研究者將端到端的模型應(yīng)用到排序任務(wù)中.例如DRMM[13],在查詢?cè)~級(jí)別時(shí)使用聯(lián)合深層架構(gòu)進(jìn)行相關(guān)性匹配;matchpyramid[14],基于word-leval 級(jí)別交互的矩陣匹配思想,用一個(gè)二維矩陣來(lái)代表query和doc中每個(gè)word的交互,能捕獲更精確的匹配信息,以及目前最流行的預(yù)訓(xùn)練模型BERT[15].
盡管深度模型性能強(qiáng)大,但是對(duì)于數(shù)據(jù)的質(zhì)量要求極高.研究者主要從兩方面對(duì)數(shù)據(jù)進(jìn)行一系列加強(qiáng):一是查詢擴(kuò)展,Voorhees[16]提出的詞匯查詢擴(kuò)展,利用同義詞的信息,利用統(tǒng)計(jì)轉(zhuǎn)換建模詞語(yǔ)關(guān)系[17],以及Browm 大學(xué)提出的query2query[18]方法,將原始查詢利用生成查詢進(jìn)行擴(kuò)充,這些技術(shù)都是通過(guò)加強(qiáng)查詢理解來(lái)匹配更好的文檔;二是文檔擴(kuò)充,doc2query[19],利用文檔生成其查詢,對(duì)文檔進(jìn)行擴(kuò)充.這些方法都是通過(guò)豐富文檔信息,來(lái)得到最好的匹配結(jié)果.
近年來(lái),對(duì)抗生成網(wǎng)絡(luò)[20]發(fā)展迅速,應(yīng)用到圖像、語(yǔ)音和文本等領(lǐng)域,從噪音數(shù)據(jù)中生成樣本,極大提高模型的魯棒性.Wang 等人提出IRGAN[21],將對(duì)抗生成網(wǎng)絡(luò)應(yīng)用到信息檢索排序任務(wù)中,基于極小極大化博弈理論,使得分類判別器將真正的樣本與生成的對(duì)抗性樣本盡可能準(zhǔn)確區(qū)分.Bahuleyan 等人提出VED模型[22],增加生成句子的多樣性.Nguyen 等人提出QUARTS 模型[23],增強(qiáng)了模型的穩(wěn)健性和泛化能力.
本文工作受到生成對(duì)抗性樣本方法的啟發(fā),通過(guò)生成對(duì)抗查詢的方式,增加了查詢多樣性,并構(gòu)造高質(zhì)量的負(fù)樣本對(duì),利用當(dāng)前主流深度模型BERT,訓(xùn)練分類模型,得到查詢文檔對(duì)的相關(guān)性得分.
本文提出AQGM (Adversarial Query Generation Model)方法,通過(guò)生成對(duì)抗查詢,得到高質(zhì)量的負(fù)樣本對(duì),對(duì)數(shù)據(jù)進(jìn)行增強(qiáng).該方法由3 部分組成:(1)基于詞的權(quán)重方法獲得不相關(guān)的查詢文檔對(duì).(2)通過(guò)VED(Variational Encoder-Decoder)模型,生成與查詢相似、文檔不相關(guān)的對(duì)抗查詢,模型結(jié)構(gòu)如圖2.(3)得到最終增強(qiáng)的樣本{Q+(1?y)Q_gen,P,y}.其中,y代表查詢文檔對(duì)是否匹配.當(dāng)y=1,(Q,P)是真正的正例;y=0,(Q+Q_gen,P)是通過(guò)對(duì)抗查詢?cè)鰪?qiáng)的負(fù)例.
圖2 VED 模型結(jié)構(gòu)
對(duì)于每一個(gè)query,Qi={qi},都存在一個(gè)對(duì)應(yīng)passage集合其中,p+i代表與query 相關(guān)的段落,代表與query 不相關(guān)的段落.基于詞的權(quán)重方法獲得不相關(guān)文檔集中與查詢得分最高的文檔,我們定義查詢文檔對(duì)的相關(guān)性得分:
其中,wt代表單詞的權(quán)重,qit代表qi中的單詞,表示某個(gè)搜索文檔,R代表每個(gè)單詞和搜索文檔的相關(guān)性高低,此處我們采用傳統(tǒng)的IDF來(lái)定義wt:
其中,N為索引中的全部文檔數(shù),我們用n(qit)指代包含qit的文檔數(shù).接下來(lái)是單詞qit與段落的相關(guān)性得分衡量:
其中,k1,k2,b為調(diào)節(jié)因子,b對(duì)文檔長(zhǎng)度因子進(jìn)行調(diào)整,k2對(duì)查詢?cè)~頻因子進(jìn)行調(diào)整,k1對(duì)文檔詞頻因子進(jìn)行調(diào)整.k1+1,k2+1 保證查詢?cè)~頻及文檔詞頻大于1.從K的定義可得,b越大,K值越小,文檔長(zhǎng)度對(duì)相關(guān)性得分的影響越大,反之越小;而文檔的相對(duì)長(zhǎng)度越長(zhǎng),K值將越大,則相關(guān)性得分會(huì)越小.k1按經(jīng)驗(yàn)設(shè)置為2,k2通常為0–1000,b設(shè)置為0.75[24].ft為qit在中出現(xiàn)的頻率,qft為qit在qi中出現(xiàn)的頻率,pl為段落的長(zhǎng)度.avgpl為所有段落的平均長(zhǎng)度.
通過(guò)以上方法可以得到查詢和不相關(guān)文檔的得分,選擇其中得分最高的樣本對(duì)(q,p?),作為訓(xùn)練樣本,利用 VED 模型進(jìn)行訓(xùn)練,模型結(jié)構(gòu)如圖2.其中編碼器encoder 輸入文檔P,并輸出平均向量m和偏差向量n,m和n作為z的后驗(yàn)正態(tài)分布的參數(shù);解碼器根據(jù)從后驗(yàn)分布提取的樣本z生成查詢Q_gen.本文通過(guò)模型生成的查詢,得到高質(zhì)量的負(fù)樣本,構(gòu)造了增強(qiáng)的數(shù)據(jù)集:{Q+(1?y)Q_gen,P,y},其中Q代表原始查詢.
通過(guò)深度排序模型得到查詢文檔的相關(guān)性得分.本任務(wù)建立基于BERT的分類模型.訓(xùn)練樣本為三元組的格式:
其中,Ri代表passage是否是query的正確回答,取值為0 或1,我們通過(guò)Pointwise的訓(xùn)練方式建立query和passage的關(guān)系.具體的,我們將queryqi和passagepi拼接成一個(gè)序列輸入,如式(6):
其中,
利用BERT 對(duì)其進(jìn)行編碼,訓(xùn)練一個(gè)二分類網(wǎng)絡(luò):
經(jīng)過(guò)BERT 編碼后,我們?nèi)∽詈笠粚拥?CLS>位置的隱向量hθ(qi,pi)作為query和passage的關(guān)系表示.然后通過(guò)softmax計(jì)算最終得分yi.后續(xù)我們通過(guò)改進(jìn)的交叉熵?fù)p失函數(shù)來(lái)優(yōu)化我們的模型:
其中,β1為調(diào)節(jié)因子,取值大于1.通過(guò)調(diào)節(jié)因子的設(shè)置,使得模型對(duì)正樣本的錯(cuò)誤預(yù)測(cè)給予更多的關(guān)注.
實(shí)驗(yàn)采用了兩個(gè)基準(zhǔn)數(shù)據(jù)集,分別為MSMARCO[25]和TrecQA[26].數(shù)據(jù)集的統(tǒng)計(jì)信息如表1所示.
表1 數(shù)據(jù)集統(tǒng)計(jì)信息
MSMARCO是由微軟提出的基于大規(guī)模真實(shí)場(chǎng)景數(shù)據(jù)的數(shù)據(jù)集,該數(shù)據(jù)集基于Bing 搜索引擎和Cortana 智能助手中的真實(shí)搜索查詢產(chǎn)生.MSMARCO數(shù)據(jù)集包括約880 k的不重復(fù)passage,約101 k的query.Query 平均長(zhǎng)度為5.97,passage 平均長(zhǎng)度為56.58.我們采用的測(cè)試集為2019 trec 比賽釋放的人工標(biāo)注好的9260 條數(shù)據(jù).
TrecQA是由Wang 等人提供的基準(zhǔn)數(shù)據(jù)集,是從TrecQA的第8–13 軌道收集,由真實(shí)的問(wèn)題組成,主要回答“誰(shuí)”、“什么”、“哪里”和“為什么”等類型的問(wèn)題.
信息檢索排序問(wèn)題常用評(píng)價(jià)指標(biāo)有MRR、MAP和NDCG.在MAP中,文檔和查詢要么相關(guān),要么不相關(guān),也就是相關(guān)度非0 即1.NDCG中做出改進(jìn),相關(guān)度分成從0 到r的r+1個(gè)等級(jí)(r可設(shè)定).根據(jù)實(shí)驗(yàn)數(shù)據(jù)集的特性,MSMARCO 測(cè)試數(shù)據(jù)集的相關(guān)度分為0 到3,TrecQA 測(cè)試數(shù)據(jù)集的相關(guān)度非0 即1.因此,對(duì)于MSMARCO 數(shù)據(jù)集我們采用NDCG和MRR指標(biāo),對(duì)于TrecQA 數(shù)據(jù)集我們采用MAP和MRR指標(biāo).
MRR(Mean Reciprocal Rank)平均倒數(shù)排序,公式如下:
其中,Q是問(wèn)題的個(gè)數(shù);pi為第i個(gè)問(wèn)題中的第一個(gè)正確答案的排名位置.即把第一個(gè)正確答案在排序給出結(jié)果中的位置取倒數(shù)作為它的準(zhǔn)確度,再對(duì)所有的問(wèn)題求平均,這個(gè)評(píng)價(jià)指標(biāo)只關(guān)心第一個(gè)正確答案.
MAP(Mean Average Precision):單個(gè)查詢的平均準(zhǔn)確率是每篇相關(guān)文檔檢索出后的準(zhǔn)確率的平均值.MAP是每個(gè)主題平均準(zhǔn)確率的平均值.MAP是反映系統(tǒng)在全部相關(guān)文檔上性能的單值指標(biāo).系統(tǒng)檢索出來(lái)的相關(guān)文檔越靠前(rank越高),MAP就可能越高.如果系統(tǒng)沒(méi)有返回相關(guān)文檔,則準(zhǔn)確率默認(rèn)為0.
NDCG(Normalized Discounted Cumulative Gain)歸一化折損累計(jì)增益,計(jì)算公式如下:
其中,k表示k個(gè)文檔組成的集合,rel表示第i個(gè)文檔的相關(guān)度.|REL|表示文檔按照相關(guān)度從大到小排序,取前k個(gè)文檔組成的集合.
AQGM 模型的encoder和decoder 部分,采用LSTM 網(wǎng)絡(luò)[27]進(jìn)行編碼解碼,隱單元設(shè)置為300.通過(guò)該模型獲得的訓(xùn)練數(shù)據(jù):{Q+(1?y)Q_gen,P,y}.后續(xù)采用BERT-base 得到查詢文檔對(duì)的相關(guān)性得分,使用谷歌預(yù)訓(xùn)練的BERT-base-uncased 作為BERT 模型的初始化參數(shù),在下游分類任務(wù)上進(jìn)行微調(diào).通過(guò)對(duì)語(yǔ)料的分析,在模型中設(shè)置的參數(shù)如下:輸入模型的句子最大長(zhǎng)度為max_sentence_length=384;batch_size=64;學(xué)習(xí)率為2e–5、3e–5和4e–5;優(yōu)化函數(shù)采用Adam[28];調(diào)節(jié)因子 β1設(shè)置為1.1;訓(xùn)練的epoch設(shè)置為5.
本文采用MAP、MRR和NDCG@10 指標(biāo)作為評(píng)測(cè)模型性能的度量.在測(cè)試集上評(píng)測(cè)AQGM+BERT-base模型和基線模型的得分,并進(jìn)行對(duì)比.對(duì)于MSMARCO數(shù)據(jù)集,設(shè)置BM25,BERT-base,Doc2query+BERTbase 作為基準(zhǔn)模型,進(jìn)行實(shí)驗(yàn)對(duì)比.為進(jìn)一步證實(shí)模型的有效性,在TrecQA 數(shù)據(jù)集上設(shè)置對(duì)照試驗(yàn),分別為K-NRM 模型[29]與AQGM+K-NRM、BERT-base 模型與AQGM+BERT-base和AQGM+BERT-base 模型與Doc2query+BERT-base.
為得到AQGM+BERT-base 模型的最優(yōu)性能,本文采用不同的初始學(xué)習(xí)率在MSMARCO和TrecQA 數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn),MRR指標(biāo)如表2.結(jié)果顯示,當(dāng)學(xué)習(xí)率為3e–5,該模型在MSMARCO 數(shù)據(jù)集上性能最優(yōu);當(dāng)學(xué)習(xí)率為2e–5,該模型在TrecQA 數(shù)據(jù)集上性能最優(yōu).
表2 不同學(xué)習(xí)率下的性能分析(%)
表3和表4展示了不同數(shù)據(jù)集上,AQGM+BERTbase 模型和基線模型的MRR、MAP和NDCG@10 評(píng)價(jià)指標(biāo)得分.
表3 MSMARCO 評(píng)測(cè)結(jié)果(%)
表4 TrecQA 評(píng)測(cè)結(jié)果(%)
分析表3可得,在MSMARCO 數(shù)據(jù)集上,與BERT-base 模型對(duì)比,AQGM+BERT-base 模型融入生成的對(duì)抗查詢,使MRR@10 指標(biāo)提升1.2%,證明對(duì)抗式數(shù)據(jù)增強(qiáng)方式能一定程度上提高神經(jīng)網(wǎng)絡(luò)排序模型的性能.與基于文檔擴(kuò)充的Doc2query+BERT-base 模型對(duì)比,本文模型在MRR@10,NDCG@10 指標(biāo)分別提升0.3%和1.5%,證明對(duì)抗式數(shù)據(jù)增強(qiáng)相比文檔擴(kuò)充,具有一定的優(yōu)勢(shì).
為進(jìn)一步證實(shí)算法的有效性,本文在TrecQA 數(shù)據(jù)集上設(shè)置實(shí)驗(yàn)進(jìn)行驗(yàn)證,如表4.K-NRM 模型加入對(duì)抗式數(shù)據(jù)增強(qiáng)方法AQGM,使MRR和MAP指標(biāo)上升2.5%、3.3%;AQGM+BERT-base 模型與BERTbase 模型相比,指標(biāo)分別提升3.2%、1.3%;AQGM+BERT-base 模型與Doc2query+BERT-base 模型相比,指標(biāo)分別提升3.0%、0.7%.以上分析可得,對(duì)抗式數(shù)據(jù)增強(qiáng)方式的有效性.
綜上,本文模型相比基線模型,在MSMARCO和TrecQA 數(shù)據(jù)集上性能均有一定提升,在排序?qū)W習(xí)中融入對(duì)抗查詢,提高模型的穩(wěn)健性.在實(shí)際檢索文檔過(guò)程中,返回與查詢相關(guān)度高的文檔,能提高用戶的搜索興趣.
本文探索對(duì)比得到一種更適應(yīng)于文本檢索重排序的模型.AQGM+BERT-base 模型在MS MARCO和TrecQA 數(shù)據(jù)集上得到了有效驗(yàn)證.該方法簡(jiǎn)單且易理解,在數(shù)據(jù)增強(qiáng)方面,提供了一種新的思路,從更具有挑戰(zhàn)性的生成對(duì)抗查詢的角度出發(fā),獲得高質(zhì)量的負(fù)樣本.此次嘗試獲得了有效的驗(yàn)證,這為之后在這一領(lǐng)域的探索打開(kāi)了良好的開(kāi)端.