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