田 媛,郝文寧,靳大尉,陳 剛,鄒 傲
(陸軍工程大學 指揮控制工程學院,江蘇 南京 210000)
近年來,隨著網(wǎng)絡的快速發(fā)展,積累了海量的信息資源,為了有效利用這些信息資源,幫助人們從中快速獲取所需信息,信息檢索(Information Retrieval,IR)技術得到了越來越多的關注和發(fā)展。信息檢索的目標是根據(jù)用戶的查詢返回相關度高的文檔,計算詞、句子、段落以及文檔之間的相似性是信息檢索任務中的一個重要組成部分[1],針對長文本的檢索,常見的冗余文檔處理、不端文獻檢測等,現(xiàn)有的基于詞頻的方法(TF-IDF、詞袋模型),往往忽略了文本的語義信息。此外,當文本較長時,一些與查詢相關的詞分散在文檔中,直接比較整篇文檔會影響檢索性能,并且一些文本相關性計算方法或相似度匹配算法往往會受到長度的影響[2-3]。
很多研究者致力于將文本表示與相似度計算相結合以提升文檔檢索性能[4-5],已有的一些方法通過簡單地將文本中每個句子的句向量進行拼接或者疊加來獲取整個文檔的向量表示,然后計算文檔與查詢的相似度,但是這樣會造成語義缺失;還有一些基于句相似度的檢索模型,通過檢索出相關度高的句子來反向定位其所在的文檔,但這樣可能會使得同一篇文檔被重復檢索,因為相似度得分高的多個句子可能出自同一篇文檔。
多示例學習(Multiple Instance Learning,MIL)最早由Dietterichet等人[6]提出用于藥物分子活性檢測,隨后被廣泛應用在場景分類等問題中,相對于單示例,多示例能更好地描述樣本。將多示例學習理論作為文本表示的理論基礎,從包的角度重新認識文本表示,可以有效解決向量空間模型無法表示詞之間序關系的問題[7]。文獻[8-9]提出將多示例學習框架應用到圖像檢索中,并且取得了很好的實驗結果,但很少有人研究將其應用到文檔檢索中。
在多示例學習框架下,提出了一種新的文檔檢索方法,以語義相對完整的句子為單位分別對查詢文本和待檢索文本進行切割,從而將文本表示成句子包,而每個句子則作為包中的示例,分別使用BM25和Sentence-Bert作為特征函數(shù)計算查詢中示例與待檢索文檔中示例之間的相似度得分,然后設置合適的閾值篩選出待檢索文檔中與查詢高度相關的示例,通過這些示例的相似性得分來度量查詢與待檢索文檔包之間的相似性,同時結合傳統(tǒng)的文檔級檢索模型,最終返回Top-K個文檔作為檢索結果。在Med數(shù)據(jù)集上的實驗表明,提出的新文檔檢索模型相較于傳統(tǒng)的文檔級檢索模型在準確率、召回率和F1得分上均有一定程度的提升。
文檔檢索的研究主要涉及文本表示、相似度計算等方面,語義文本匹配是信息檢索、問答系統(tǒng)、推薦系統(tǒng)等諸多領域的重要研究問題之一[10],傳統(tǒng)的模型通常是使用詞項頻率,往往忽略了文本的語義信息,隨著深度學習的發(fā)展,越來越多學者開始將語言模型用于文檔檢索中。本文使用Sentence-Bert模型進行文本表示并通過余弦距離計算相似度完成檢索,與傳統(tǒng)的BM25模型進行比較,對BM25模型、Sentence-Bert模型以及多示例學習框架的簡要介紹如下。
BM25模型也被稱為Okapi模型,由Robertson等人[11]提出,用于計算查詢和文檔集中每篇文檔之間的相關性,通過詞項頻率和文檔長度歸一化來改善檢索結果,對于給定查詢Q和文檔D:
(1)
式中,qi表示查詢Q的一個語素(一般是單詞);wi表示qi的權重,計算方法有很多,一般使用IDF來表示:
(2)
式中,N為文檔集中文本總數(shù);n(qi)為包含詞qi的文本數(shù)。R(qi,D)的計算公式為:
(3)
式中,fi為詞qi在文本D中出現(xiàn)的頻率;qfi為qi在查詢Q中出現(xiàn)的頻率;len(D)表示D的長度;avgl表示文檔集中所有文檔的平均長度;b,k1,k2都是需設置的超參數(shù)。
文獻[12]研究發(fā)現(xiàn),由于文本長度平均值的設置,BM25模型在實踐中往往會過度懲罰有用的長文檔。Na等人[13-14]將BM25改進為vnBM25,改進后的公式能有效緩解文本長度的冗余影響。
隨著自然語言處理的不斷發(fā)展,各大預訓練模型(如Bert[15]、Robert、GPT-2等)層出不窮,但大部分不適用于語義相似度計算,解決語義搜索的一種常見方法是將句子映射到向量空間,使語義相似的句子在向量空間中相近。文獻[16]指出,直接將句子輸入預訓練模型得到的句向量并不具有語義信息,即相似句子的句向量可能會有很大差別。Sentence-Bert采用孿生或者三重網(wǎng)絡結構對預訓練的BERT/RoBERTa進行微調(diào),更新模型參數(shù),使調(diào)整后的模型所產(chǎn)生的句向量可直接通過余弦距離計算相似度。模型結構如圖1所示,使用余弦函數(shù)計算2個句子向量之間的相似度,均方誤差作為損失函數(shù)。
圖1 Sentence-Bert結構Fig.1 Structure of Sentence-Bert
Sentence-Bert模型可以很好地從語義上表征一個句子,從而使得語義相似的句子在向量空間中的嵌入向量距離相近,因此,可以很好地完成諸如大規(guī)模語義比較、聚類、通過語義搜索的信息檢索等任務。
多示例學習與傳統(tǒng)有監(jiān)督學習的區(qū)別就在于二者訓練樣本的不同,在傳統(tǒng)的有監(jiān)督學習問題中,每一個訓練樣本的形式為(Xi,Yi),Xi是樣本對象,用一個固定長度的特征向量來表示,而Yi則是該樣本對應的類別標簽,其描述如圖2所示。
圖2 傳統(tǒng)有監(jiān)督學習框架Fig.2 Framework of traditional supervised learning
在多示例學習問題中,每個訓練樣本不再是一個固定長度的特征向量,而是包含多個特征向量,這些向量稱為示例,訓練樣本稱為包。此時,包Xi是由示例空間Rn中有限個點組成的一個集合,訓練樣本形式變?yōu)?{Xi1,Xi2,…,Xin},Yi),Xij表示包中的第j個示例,其中j=1,2,…,n,每個包中的示例個數(shù)可以不同,Yi是包對應的類別標簽,而包中示例的標簽是未知的,如圖3所示。
圖3 多示例學習框架Fig.3 Framework of multi-instance learning
過去的研究中,已經(jīng)有很多領域的問題使用了多示例學習框架,例如藥物分子活性預測、文本分類[17]、基于內(nèi)容的圖像檢索[18]和人臉識別[19]等。
根據(jù)已有的基于多示例學習的文本表示思想,本文通過標點符號完成對文本的切分,將其切分成語義相對完整的句子,從而將文本表示成句子包,包中的每個句子作為示例,使用不同的相似度計算方法計算示例之間的相似度,根據(jù)示例之間的相似性得分篩選出相關示例并計算相關比率,從而計算出包之間的相似性,同時結合傳統(tǒng)的文檔級檢索來進一步提升檢索性能。
本文提出的文檔檢索模型的框架如圖4所示,模型共有4個模塊,分別是文本預處理模塊、句子級檢索模塊、文檔級檢索模塊和整合模塊。其中,預處理模塊主要是對查詢文本和文檔集中的文本做去停用詞、詞干化等預處理;句子級檢索模塊即使用的基于多示例學習的檢索模塊,包括文本切割、示例間相似度計算以及包相似度計算3個部分;文檔級檢索模塊使用傳統(tǒng)的計算查詢與整個文檔的相似度的檢索方法;整合模塊則是將句子級檢索與文檔級檢索相結合,進一步提升檢索性能。在相似度計算部分,分別使用BM25和Sentence-Bert作為特征函數(shù),對使用2種不同特征函數(shù)時文檔檢索的性能進行比較。
圖4 基于多示例學習的文檔檢索模型框架Fig.4 The document retrieval model framework based on multi-instance learning
不同于已有的一些句子級檢索模型,通過句子的相似度得分直接反向定位到其所在的文檔,或者直接通過簡單對句子的相似度得分進行加和或求平均,計算整個文檔的相似度得分。本文的句子級檢索模塊提出一種新的根據(jù)句子之間相似度計算文檔相似度得分的方法,首先通過計算待檢索文檔中每個句子與查詢的相關性得分,然后篩選出這篇文檔中與查詢高度相關的句子,計算相關比率,最后根據(jù)相關比率來計算整個文檔與查詢的相似度得分。
句子級檢索主要分為3個階段,具體處理流程如圖5所示。
第一階段是構造多示例,以語義相對完整的句子為單位,通過標點符號來將查詢文本和待檢索文本分別切割成句,從而將查詢和待檢索文本表示成句子包,每個句子則作為包中的示例。
第二階段是計算示例之間相似度,首先獲取查詢包中與待檢索包中示例的特征表示,然后使用不同的相似性度量方法來計算查詢包中示例與待檢索文檔包中示例之間的相似度得分,如果使用BM25,則相似度計算如式(1)所示,如果使用Sentence-Bert,則使用余弦距離來表示示例間的相似度,對于待檢索文檔中的每個句子,計算其與整個查詢的相似度得分:
(4)
式中,q為查詢中的一個查詢句子;S表示待檢索文檔中的一個句子;len(Q)表示查詢中句子個數(shù)。
文獻[20]指出,相關片段比率在評估文檔相關性中是一個非常重要的因素,可以大大減少部分短文本高度相似偏向的影響。本文在計算整個文檔與查詢的相似度得分時參照該文檔針對該查詢的相關比率,首先通過設定合適的閾值篩選出待檢索文本中與查詢高度相關的句子,例如在圖5中,假設待檢索文本中的句子2、句子ni與查詢的相似度得分大于給定閾值,則這2個句子即為與該條查詢高度相關的句子。每個文本的相關比率計算如下:
(5)
式中,Srelevant表示文檔D中經(jīng)過篩選與查詢Q高度相關的句子集合;Swhole則表示文檔D中全部句子集合。
第三階段根據(jù)示例的相似度得分計算包的相似度得分:
Score(Q,D)=max(Score(Q,S))×ratio(Q,D),
S∈Srelevant,
(6)
每個文檔與查詢的相似度得分,由文檔中與查詢相關的句子的最高相似度得分和該文檔與該查詢對應的相關比率的乘積表示。
最終可獲得待檢索文檔集中針對每條查詢的文檔相似度得分,排序后選取得分最高的Top-K個文檔作為檢索結果返回給用戶。
考慮到傳統(tǒng)的文檔級別檢索模型已經(jīng)取得了較好的性能[21],本文提出將基于多示例框架的檢索模型與傳統(tǒng)的文檔級檢索模型相結合,以進一步提升檢索性能。將基于多示例檢索計算的相似度得分記為Scores(Q,D),基于文檔級檢索計算出的相似度得分記為Scored(Q,D),則最終的相似度為:
Score(Q,D)=αScores(Q,D)+βScored(Q,D),
α+β=1,
(7)
式中,α,β分別表示不同檢索模型所占權重,計算不同α,β取值對檢索性能的影響,并選擇最佳結果。
使用Glasgow大學收錄的用于信息檢索的標準數(shù)據(jù)集Med,Med數(shù)據(jù)集中共包含1 033篇文檔,30個查詢,文檔的平均長度為1 034。對Med數(shù)據(jù)集進行了預處理,去除編號等無用信息,根據(jù)標準停用詞表刪去停用詞并提取詞干。為使Sentence-Bert模型能使用Multiple Negatives Ranking Loss函數(shù)在該數(shù)據(jù)集上fine-tuning,根據(jù)每條查詢對應的相關文檔構造了三元組形式的數(shù)據(jù),實驗使用準確率、召回率、F1[22]幾個信息檢索常用評價指標作為模型的評估標準,準確率P、召回率R、F1的計算如圖6所示。
圖6 準確率P、召回率R、F1得分Fig.6 Precision P,recall R and F1
實驗分別使用BM25和Sentence-Bert作為特征函數(shù)來對檢索模型進行評估,基準模型即為傳統(tǒng)的文檔級檢索模型,將整個文檔看作一個單示例,本文提出的基于多示例學習的檢索模型記為“MI-IR”,整合模型則記為“MI-IR+基準”。對于示例級檢索模型,在使用BM25作為特征函數(shù)時,將文檔集中所有單詞的平均IDF值作為相關示例篩選的閾值;在使用Sentence-Bert作為特征函數(shù)時,將查詢包與相關的文檔包中的全部示例相似性得分的平均值作為相關示例篩選的閾值。實驗對比結果如表1所示。
保險管理的三個階段是一個前后聯(lián)系緊密,環(huán)環(huán)相扣的系統(tǒng)。投保策劃決定了出險后事件的定責情況、理賠范圍、免賠金額等。保險合同的履行是進行保險理賠的前提。保險理賠階段將損失定量化,以獲得賠付達到轉移損失的目的。但是目前很多業(yè)主和承包商并沒有將三個階段很好的結合起來,投保時風險分析不全面,合同履行時不夠重視,理賠時因承保范圍不足,部分或全部損失不能進行理賠等,最終導致理賠效果不佳,經(jīng)濟損失彌補未能達到最大化。
表1 各模型實驗結果對比Tab.1 Comparison of experimental results of each model
Top5和Top10分別表示選取得分最高的5,10個文檔作為檢索結果,從表1的結果來看,使用BM25作為特征函數(shù)時,若取Top-5個文檔作為檢索結果,MI-IR檢索模型相較于基準文檔級檢索模型的準確率有近5%的提升,F(xiàn)1得分有近4%的提升;使用Sentence-Bert作為特征函數(shù),取Top-5個文檔作為檢索結果時,MI-IR檢索模型相較于基準文檔級檢索模型的準確率也有近5%的提升,F(xiàn)1得分有近2%的提升。
在同為文檔級檢索即基準模型的前提下,使用BM25作為特征函數(shù)與使用Sentence-Bert作為特征函數(shù)在檢索性能上差別不大,因為Sentence-Bert模型主要用于獲取句向量。當文本過長,對整個長文本進行嵌入時,效果不是很好,對于檢索性能的提升相對較小,但在使用了MI-IR模型后,由于更好地利用了文檔句子的語義信息,使用Sentence-Bert作為特征函數(shù)比使用BM25作為特征函數(shù)在準確率上有一定提升,但是在召回率上有小幅下降,因此,如果對召回率的要求不高,追求更高的檢索準確率,Sentence-Bert模型相對較優(yōu)。實驗結果也表明,在隨著檢索結果中文檔數(shù)量增加的情況下,Sentence-Bert在各方面均略優(yōu)于BM25,可能是由于BM25沒有考慮語義信息,導致一些語義相近但是詞本身不相同的文本檢索不到。
表1中的數(shù)據(jù)同時也表明,將基準模型與MI-IR模型相結合,顯然能進一步提升檢索性能,在使用BM25作為特征函數(shù)時,MI-IR與基準相結合的模型相較于MI-IR模型在準確率上有近2%的提升;在使用Sentence-Bert作為特征函數(shù),選取Top-5個文檔作為檢索結果時,MI-IR與基準相結合的模型相較于MI-IR模型在準確率上有近4%的提升。α和β取不同值時,句子級與文檔級相結合的模型有不同的表現(xiàn),以選取Top-5個文檔作為檢索結果為例,如式(7)所示,α和β的取值分別表示基準模型所占權重以及MI-IR模型所占權重,實驗通過計算F1的值的變化來探索α,β不同取值對文檔檢索性能的影響。實驗結果如圖7所示,取α的取值作為橫坐標。
圖7(a)為使用Sentence-Bert作為特征函數(shù),選取Top-5個文檔作為最終返回的檢索結果,隨著參數(shù)α取值的改變,F(xiàn)1得分的變化曲線。從圖中可以看出,當α取值范圍在0.84~0.88,即β取值范圍在0.12~0.16時,F(xiàn)1得分最高,隨后當α值繼續(xù)增大,β值相應的減小時,F(xiàn)1得分開始下降;圖7(b)為使用BM25作為特征函數(shù),同樣選取Top-5個文檔作為最終返回的檢索結果,隨著參數(shù)α取值的改變,F(xiàn)1得分的變化曲線,依然是當α取值范圍在0.84~0.88時,整體模型表現(xiàn)最好。此外,實驗結果表明,α取值較大,β取值較小,即當基于多示例框架的檢索模型所占權重較大,傳統(tǒng)的文檔級檢索模型所占權重較小時,整體檢索模型的性能較好。
(a) Sentence-Bert作為特征函數(shù)
已有的文檔檢索模型已然取得了不錯的性能,但對其研究探索仍在不斷繼續(xù)。本文提出將多示例學習框架用于長文檔檢索中,同時提出使用Sentence-Bert作為特征函數(shù)來對句子進行表示,目的是獲取包含語義信息的句向量,從而更好地利用長文本中的每個句子的語義信息,提升文檔整體相似度得分在文檔檢索中的參考價值,實驗結果驗證了所提出的模型具有較好的性能。