?

融合語義特征與偏序關系的生物醫學文檔檢索

2023-06-05 09:14何偉東楊志豪王治政林鴻飛
關鍵詞:偏序文檔排序

何偉東,楊志豪,王治政,林鴻飛

(大連理工大學 計算機科學與技術學院,遼寧 大連 116024)

0 引言

精準醫學(Precision Medicine,PM)是整合應用現代科技手段與傳統醫學方法,系統優化人類疾病防治和健康促進的原理和實踐,以高效、安全、經濟的健康醫療服務獲取個體和社會最大化健康效益的新型健康醫療服務范式[1-2]。該范式側重于確定最適合個體患者獨特屬性的治療方法。

隨著精準醫學的不斷深化,越來越多的科學研究旨在面向重大疾?。ㄈ绨┌Y)開展精準知識挖掘與推送。例如,TREC(Text REtrieval Conference)于2017 年提出的TREC-PM 任務可以為患者病例提供最相關的生物醫學文章[3]。該任務通常被定義為ad-hoc 式的文檔檢索模式,即在相對穩定的數據庫中為自由查詢檢索最相關的文檔。在精準醫學領域,自由查詢通常由多個方面內容構成,其中蘊含了對被檢索文檔的醫學信息需求。

如表1 所示,每個查詢病例由疾病名稱,基因名稱和遺傳變異類型以及人口統計信息(性別和年齡)組成。

表1 示例查詢Table 1 Sample query

基于給定的輸入病例,我們需要從候選文檔集合中檢索出與該查詢最為相關的生物醫學文檔,這涉及文檔檢索的召回與重排序過程。候選生物醫學文檔的具體信息如表2 所示,它包含了文檔的多方面信息,例如:發布時間、藥物表、歸一化的MESH 詞、標題、文檔唯一編號PMID、文檔摘要等。

為了有效地檢索目標文檔,現有的工作大多采用兩階段的方式[4],即先使用召回模型從整個語料庫中檢索出一部分文檔作為候選文檔,然后使用更為復雜的排序模型對這些文檔作進一步的重排。

第一階段,即候選生成階段,現有方法通常使用基于稀疏詞袋表示的BM25 等傳統檢索模式來生成用于重排序的候選集合[5],模型具體可以使用Lucene、Solr、Elasticsearch 等工具實現。但是在生物醫學中,醫學概念和事件的表達方式千差萬別,詞匯不匹配是制約醫學信息檢索的主要問題之一。例如,查詢“Tymlos 的潛在副作用是什么?”Tymlos 這種藥物是以其品牌名稱命名的,相關科學文獻可能會更頻繁地使用其別名Abaloparatide。

近年來,許多研究者開展了大量的工作來克服這種詞匯差異,包括基于相關性反饋的查詢擴展、查詢詞重新加權[6],但是它們都無法解決稀疏性表示對語義特征表征不充分的問題。因此,面向語義信息的密集表示受到了研究者們的關注,它們能夠通過捕捉查詢的深層語義特征來克服詞匯不匹配的問題?;贐ERT[7]和RoBERTa 等[8]預訓練語言模型高性能密集表示,研究者提出了稠密段落檢索器[9],旨在通過微調語言模型對文檔進行編碼,利用其強大的語義表示能力緩解詞匯不匹配問題。

第二階段,即精排序階段,現有方法大多使用pointwise(單文檔學習)排序方式來學習全局信息,如Subset Ranking[10]、McRank[11]、Prank[12]等。但是這些方法只建模了給定查詢與單個文檔之間的相關度,只學習到了候選文檔和查詢的絕對相關性,忽略了候選文檔之間的相對關系,即“偏序”關系。因此,研究者引入pairwise(文檔對學習)方法以彌補單文檔學習方法的不足,如 Ranking SVM[13]、RankBoost[14]、RankNet[15]、GBRank[16]、IR SVM[17]等方法。通常,這些方法將排序問題轉為二分類問題,即使用二分類器對文檔對進行分類,以此判斷兩個文檔的前后排序,賦予模型學習文檔之間偏序關系的能力。但是,以上的方法在精準醫學背景下的文檔檢索任務中面臨以下問題:

(1)患者病例的查詢文本長度與相關醫學文檔的長度差異通常很大。一般情況下,給定的患者病例查詢與其相關的候選文檔在文本長度上存在很大差異,因此在使用預訓練語言模型表征“查詢”和“文檔”時,會出現查詢特征的過度平滑的現象,從而導致查詢失效。

(2)基于pointwise 或者基于pairwise 的方法僅僅探索了查詢與文檔之間的單一關系,即全局相關或者偏序相關。而在醫學文檔檢索中,病例查詢通常涉及多方面的專業醫學信息,因此需要對文檔相關性的概念作出更全面的約束,也需要挖掘相關文檔內部的順序關系。

為了解決上述問題,本文提出了一種基于生物醫學預訓練語言模型(BioBERT)的偏序文檔檢索方法,如圖1 所示。

圖1 偏序文檔檢索方法框架圖圖中分為四個部分,分別是基于BM25的召回模塊、基于pointwise的重排模塊、基于pairwise的精排模塊(pair-SBERT)以及基于RRF(倒數排序融合)的排序融合模塊Fig.1 Partial order document retrieval method framework diagramThe figure is divided into four parts, namely the recall module based on BM25, the rearrangement module based on pointwise method,the fine sorting module based on pairwise method (pair-SBERT) and the sorting fusion module based on RRF (reciprocal sorting fusion)

首先,該模型基于BM25 召回部分相關文檔,然后使用 BioBERT 對病例查詢和相關文檔進行編碼,采用pointwise 方法學習查詢與相關文檔的全局關系。其中,模型引入查詢和文檔的串聯拼接來避免查詢特征的丟失。隨后,該模型引入pairwise 在查詢與文檔的全局關系中增加相關文檔之間的偏序關系。其中,除了使用“查詢-文檔”對特征的幾何拼接外,模型再次引入查詢特征來指導文檔對內部的偏序特征學習。最后,該模型將第一階段的BM25 得分,第二階段的pointwise 得分和pair-SBERT 得分進行融合,得到最終的文檔相關度排名。

綜上所述,本文的主要貢獻如下:

(1)本文探索了領域知識需求更為嚴格的醫學領域查詢及相關文檔檢索研究;

(2)提出了一種融合語義信息與偏序關系的檢索方法,除捕捉文檔與查詢的全局關系以外,該方法還能挖掘相關文檔之間的偏序關系;

(3)本文進行了大量經驗性實驗,驗證了本模型在精準醫學領域中相關文檔檢索的有效性。

1 相關工作

1.1 文檔檢索

現有工作基本上都是基于神經模型進行檢索。為了獲得高效率,Tang 等[18]設計了一種方法,通過迭代聚類過程模擬每個文檔上的查詢,并用多個偽查詢(即聚類質心)來表示文檔。Manotumruksa 等[19]發現查詢與文檔的拼接順序會影響排序結果,因此提出了CrossBERT的三元組網絡結構,用以挖掘不同方式拼接帶來的深層信息。

針對于本文中使用的TREC 精準醫療數據集,許多研究者也做了大量的研究。Akabe等[20]提出的方法基于釋義語料庫遞歸地查找釋義,擴展源文檔,生成釋義格(Recursive Paraphrase Lattice),將文檔進行擴充來提高檢索性能。Qu 等[21]針對于Trec 語料中不同信息類別構建了不同的分類器,再將多個分類器分類結果提供給決策樹計算文檔相關性。Rybinski等[22]開發了Science 2Cure(S2C)系統,該系統是一個結合了傳統倒排索引和神經檢索組件的檢索系統。

1.2 排序學習

根據樣本空間和損失函數的定義方法不同排序學習方法可分為 pointwise、pairwise 和listwise 三類方法,其中pointwise 方法和pairwise 方法最為常用。pointwise 方法將排序任務轉化為分類任務或回歸任務。徐博等[23]使用手工構建的特征作為排序學習的輸入,隨著深度學習的發展,龐博等[24]結合深度學習的排序學習方法極大地提高了排序的性能,近年來預訓練模型在自然語言處理領域展現出強大的能力,Karpukhin 等[25]結合預訓練模型BERT 提出了基于預訓練模型的檢索模型,通過深層語義信息對文檔進行打分。

Pairwise 方法不對文檔相關性得分進行學習,而是學習不同文檔之間的前后偏序關系。對于每一個文檔,pairwise 需要計算它與其他文檔的偏序關系,通過拓撲排序將所有偏序關系對排列,將得到最終的排序結果。Pradeep 等[26]基于預訓練模型T5[27]構建了一個pairwise 排序模型,實現了一個序列到序列的檢索方法。

2 模型

2.1 基于BM25的召回階段

本文在相關文檔召回階段使用基于詞匯級別的BM25 方法,其相關度計算公式如下:

其中Q代表一個查詢,qi表示查詢中的一個單詞,d代表相關文檔,Wi表示單詞權重。這里使用IDF(inverse document frequency)作為權重,如公式(2)所示。

其中N表示索引中的文檔數,dfi表示包含qi的文檔個數。

公式(1)中的R(qi,d)表示qi與文檔d的相關性,其計算公式如(3)所示。

其中,tfid表示單詞qi在文檔d中的詞頻,Ld是文檔d的長度,Lave是所有文檔的平均長度,k1與b是可調節參數。這里k1=2,b=0.75[19]。

考慮到表2 中所示的文檔內容包含了多個不同的字段信息,但這些字段并不都能促進相關文檔的檢索,因此在該階段的文檔召回時,我們只使用題目、摘要以及MESH 詞字段來表示文檔。

綜合公式(1)-(3),我們可以從海量的備選文檔中召回一個數據規模較小的候選文檔用于后續的重排步驟。

2.2 基于pointwise的排序模型

對于召回的候選相關文檔,我們使用pointwise 方式對其進行重排序??紤]到詞匯級匹配難以解決詞匯鴻溝的問題,因此在本模塊中,我們使用生物醫學預訓練語言模型(BioBERT) 對查詢和候選文檔集進行編碼,從而獲得它們深層的語義特征,以克服查詢與候選文檔中術語不匹配的問題。

首先,本模塊將“查詢-文檔”對的串聯作為編碼器的輸入,如公式(4)所示

其中qi表示查詢中的單詞,sj表示文檔中的句子。

查詢與文檔通過公式(4)的方式拼接后送入BioBERT 模型中進行編碼,然后使用“CLS”標識符的最后一層表示作為“查詢-文檔”對的表示,接著經過dropout 層(dp)與分類層(σ)預測查詢與文檔的相關性,如公式(5)所示:

當對候選文檔集進行重排序時,則使用每個“查詢-文檔”對的相關性得分作為文檔重排的依據。因此,使用該模型對召回的候選文檔集進行重排,可以得到一個基于深層語義相關性的排序結果。

2.3 pair-SBERT模型

pointwise 重排后的文檔集忽略了相關文檔之間的相對位置關系,即偏序關系。因此我們提出了一個基于pairwise 的排序模型,即pair-SBERT。受到SentenceBERT 的啟發,該模型通過使用查詢與文檔的幾何拼接來捕捉文檔間的偏序關系和學習相似文檔間的差異信息,從而實現對重排后的文檔集進行精排序。該模型的框架如圖2 所示。

圖2 Pair-SBERT 框架圖Fig.2 Pair-SBERT framework diagram

對于重排后文檔集中的任意文檔Di和Dj,模型的輸入內容如下所示:

查詢:Q,文檔i:Di,文檔j:Dj。使用BioBERT 分別對Q、Di、Dj編碼,輸出上述三部分的Last_hidden_state 向量,記為Qlhs、、,如公式(7)-(9)所示:

接下來對三個Last_hidden_state 向量分別進行平均池化(mean_pooling)操作,得到向量i,i和j,以保證后續的向量拼接能夠在同一維度上進行。公式如下:

得到查詢和文檔的向量表示后,該模型使用公式(13)和公式(14)將其進行幾何交互,即

經過上述拼接操作后,向量維度會擴大數倍,這給模型計算帶來了較大的資源開銷,因此我們通過一個線性層對R1和R2進行降維,得到與。

隨后,為了保證相關文檔間的偏序關系在查詢內容的范圍之內,模型再次引入查詢向量作為全局約束,并對R1和R2進行幾何相減,以此引入兩個文檔之間的相對位置關系,如

分類層的輸出包含兩個神經元,其中,s0表示文檔i排在文檔j前邊的分數,s1表示文檔i排在文檔j后邊的分數。

訓練時,根據s1與s0的差值得出最終的標簽0 或者1,再與標準標簽計算損失。

在預測時,文檔i的分數應該是該文檔與其他文檔j拼接后得到的兩個分數之和,即正序輸入文檔i排在文檔j之前的分數與反向輸入文檔j排在文檔i之后的分數,如公式(18)所示:

其中,D表示全部的候選文檔集。

基于pair-SBERT,模型充分挖掘了相關文檔的位置信息,得到了基于偏序關系的精排序結果。

2.4 排序結果融合

為了充分利用查詢與相關文檔的全部序列信息,本文將各個模型的結果進行融合,作為基于查詢的最終結果排序。

候選集經過三個模塊的打分之后,會得到三個排序序列:BM25 召回的排序S1、pointwise重排的全局排序S2,和使用pair-SBERT 模型精調的排序S3。但是不同模型計算的相關性得分難以直接相加,因為在排序集合S={S1,S2,S3}中,每個序列都是基于不同視角特征對候選集D 中的文檔計算相關性得分。因此本文使用reciprocal rank fusion[28]方法融合不同的文檔序列,得到最終的相關性文檔順序,如公式(19)所示:

其中s(d) 是排序si中文檔d的排名,k為超參數。

3 實驗設置

3.1 數據集構建

本文中在TREC-PM 賽道2017-2019 年數據上進行實驗。

3.1.1 初始數據集

2017-2019 數據信息如表3 所示,共包含120 個查詢與63 387 個帶有標簽的文檔。

表3 數據集統計信息Table 3 Dataset statistics

本文將2017 年與2018 年數據作為訓練集,將2019 年作為測試集。

3.1.2 pointwise數據構建

pointwise 模型的輸入是一個查詢與一個文檔,輸出是文檔的相關性分數。在原始數據集中標簽包含0,1,2 三類,為了適應于本方法,將1 與2 歸類于relevant,將0 歸為irrelevant。除了初始數據集訓練數據外,本文還使用了隨機采樣與難負例采樣技術對訓練集進行了擴充。對于一個查詢,隨機采樣指從整個數據庫中隨機獲取若干個文檔,去掉在初始數據集中出現過的文檔,然后將這些文檔作為負例加入訓練集中。而難負例采樣是指通過BM25 算法得到與查詢相似度更高的一些文檔,去掉在訓練集中是正例的文檔,剩余的添加到數據集中做負例。正負比例約為1∶10。

3.1.3 pair-SBERT數據構建

pair-SBERT 模型的輸入是查詢與兩個文檔,這兩個文檔具有不同等級的相關度標簽。本文根據不同相關度標簽的文檔分布,隨機組合查詢與相關文檔,并賦予其新的標簽。例如,在同一個查詢中,標簽為0 的文檔與標簽為1 的文檔組合為一條pairwise 輸入,并標注1。標簽為2 的文檔與標簽為1 的文檔組合為一條pairwise 輸入,并標注為0。

3.2 實現細節

(1)在文檔召回階段,設置召回文檔數量為1000。

(2)在文檔的重排序和精排序階段,本文使用hunggingface 發布的預訓練模型①https://huggingface.co/microsoft/BiomedNLP-PubMedBERT-base-uncased-abstract-fulltext編碼源文本。實驗中,epochs 設置為5,max_length 設置為512,learning_rate 設置為1×10-5,loss_function 設置為BCEWithLogitsLoss,optimizer 設置為Adam。pointwise 方法設置batchsize 為8。pair-SBERT 方法的batchsize 設置為2。結果融合部分k設置為60。

3.3 對比方法

本小節選取了一些具有代表性的工作進行對比。

本文中設置了兩類對比實驗,一類是基于查詢與相關文檔語義的方法,包括BM25,BITEM PM[29],Tree-soft[21],和Science2Cure[22]。

另一類是基于外部知識的方法。Julie[30]使用了BANNER gene tagger 對文檔進行擴充,并使用Lexigram 對查詢進行擴展。Akabe 等[20]提出的一個使用Recursive Paraphrase Lattice(釋義格)的方法,該方法利用了釋義語料庫擴充了文檔。

3.4 評價指標與結果分析

本文采用NDCG@10、Rprec 和p@10 三個指標進行評估。

表4 中“-”表示原論文中并未提及該數據。從表4 中我們可以得出如下結論:首先,與基于查詢與相關文檔的語義特征的方法相比,本文提出的模型在三個評價指標上取得了最好的結果。因此,在不引入外部知識的情況下,該模型在挖掘深度語義和利用相關文檔的偏序關系精調文檔方面具有優勢。其次,與引入外部知識的方法相比,本文提出的方法優于Julie,但在NDCG 與Rprec 指標上略低于RPL。這主要是因為提出模型沒有使用外部資源進行擴展查詢,以保證模型的訓練效率和較低的資源開銷。雖然丟失了全局召回和排序位置的精度,但是模型因不受外部資源的約束,具有更好的可擴展性。最后,本文提出的模型在p@10 指標上比RPL 高了將近0.24,這再次說明了我們的模型取得了更好的相關文檔檢索精度,在挖掘深度語義和捕捉文檔偏序關系方面表現良好。

表4 實驗結果Table 4 Experimental results

3.5 消融實驗

為了證明本文提出的模型的有效性,針對提出的各個模塊進行了消融實驗,如表5所示。

表5 消融實驗結果Table 5 Results of ablation experiment

表5 中,Q→表示在pair-SBERT 模型中的拼接查詢向量Q→的操作。首先,去掉拼接Q→的操作后(Ours-Q→),我們發現模型結果下降了約0.8%,說明拼接Q→操作是有效的,因為查詢能更好的指導相關文檔的偏序預測。其次,通過去掉pointwise 模型與pairwise 模型(Ours-pairwise 和Ours-pointwise)的實驗結果可以看到,模型性能下降明顯,說明這兩個模塊都有不可替代的功能。最后,通過觀察只使用pointwise 或pairwise(Ours-pairwise-BM25 或Ours-pointwise-BM25)模型的結果可以看到,模型性能甚至低于基準方法BM25。

以上結果表明本文提出的排序模型的每一部分都是至關重要的,任何一部分的缺失都會引起整體性能的下降。

3.6 擴展實驗

除了上述實驗之外,我們還通過復現其他類似任務上的方法并與本文提出的方法進行對比,結果如圖3 所示。

圖3 中BM25+ATT[18]表示通過查詢對文檔做Attention,然后加權求和縮減文檔的方法,BM25+CBERT[19]表示按照不同順序拼接查詢-文檔對的方法,Ptw+SBERT[31]表示使用SentenceBERT 相似度表示的pointwise 方法。

通過圖3 可以看出,我們的方法在TRECPM 2019 數據集上取得了最好的結果。這說明在精準醫學背景的生物醫學文檔檢索任務中,本文方法更能解決實際問題,是不能簡單地通過遷移其他方法來替代的。此外,通過Ptw+SBERT 和BM25+Ptw+SBERT 這兩個實驗設置可以看出,本文使用的幾何拼接方式對于學習文檔偏序關系是更有效的。

4 結論與展望

本文提出了一種基于BioBERT 的偏序文檔檢索方法,解決了當前常用的檢索方法因長度差異導致查詢特征失效的問題,而且融合pointwise 方法與pairwise 方法能夠挖掘出更多有用的文檔排序特征,彌補了pointwise 與pairwise 方法在單獨使用時不能完全挖掘特征的不足,BioBERT 的引入也在一定程度上改善了模型在醫學領域編碼的應用。相比于傳統的pointwise方法與pairwise 方法,本文提出的方法獲得了更好的檢索性能。在TREC-PM 的數據集上的實驗結果驗證了該方法的有效性,它能夠學習到鄰近文檔對的偏序關系,指導模型對相關文檔的精排。未來的工作將嘗試在文本編碼過程中研發更有效的編碼方式,加速檢索效率,進一步優化檢索過程。

猜你喜歡
偏序文檔排序
淺談Matlab與Word文檔的應用接口
排序不等式
有人一聲不吭向你扔了個文檔
恐怖排序
節日排序
基于有限辛空間的一致偏序集和Leonard對
相對連續偏序集及其應用
基于RI碼計算的Word復制文檔鑒別
可消偏序半群的可消偏序擴張與商序同態
Persistence of the reproductive toxicity of chlorpiryphos-ethyl in male Wistar rat
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合