阮群生,謝運(yùn)煌,柯漢平,吳清鋒
(1.贛州師范高等專科學(xué)校自然科學(xué)與計(jì)算機(jī)系,江西 贛州 341000;2.寧德師范學(xué)院信息與機(jī)電工程學(xué)院;3.廈門大學(xué)信息學(xué)院)
隨著醫(yī)學(xué)水平的不斷提高,民眾的健康保健意識(shí)不斷增強(qiáng)。但受制于看病難和看病貴等問題,越來越多的民眾傾向于通過互聯(lián)網(wǎng)獲得第一手的醫(yī)學(xué)相關(guān)信息,然而,理解醫(yī)學(xué)專業(yè)知識(shí)是一件費(fèi)時(shí)費(fèi)力的事[1]。因此,網(wǎng)上出現(xiàn)了一些醫(yī)學(xué)問答社區(qū),如拇指醫(yī)生(https://muzhi.baidu.com),好大夫(https://www.Haodf.com),春雨醫(yī)生(https://www.Chunyuyisheng.com)等,對(duì)大多數(shù)問答做出高質(zhì)量的詮釋,可以幫助用戶理解專業(yè)知識(shí)。
本文對(duì)關(guān)鍵詞抽取/檢索[2-3]和深度學(xué)習(xí)[4-5]進(jìn)行研究。目前,關(guān)鍵詞抽取及文本檢索的研究最具代表性的是TF-IDF[6]方法,該方法結(jié)合了詞頻和逆文檔頻率,對(duì)詞語的權(quán)重進(jìn)行量化,易于計(jì)算,但也存在著語料庫依賴嚴(yán)重的問題。深度神經(jīng)網(wǎng)絡(luò)在計(jì)算機(jī)視覺和語音識(shí)別已取得突破性應(yīng)用,特別是在文本檢索領(lǐng)域[7-8]。不同于排序?qū)W習(xí)方法,深度神經(jīng)網(wǎng)絡(luò)能夠自動(dòng)提取查詢和文本內(nèi)容中的特征,相比于傳統(tǒng)的機(jī)器學(xué)習(xí)方法,它在復(fù)雜的學(xué)習(xí)任務(wù)上能表現(xiàn)出更強(qiáng)的學(xué)習(xí)能力。
本文針對(duì)一篇醫(yī)學(xué)文獻(xiàn)或一段醫(yī)學(xué)專業(yè)詞匯的描述文字,提出一種新穎的醫(yī)學(xué)文獻(xiàn)閱讀知識(shí)增強(qiáng)方法,方法的構(gòu)建步驟是:首先將文獻(xiàn)中的內(nèi)容或醫(yī)學(xué)專業(yè)詞匯描述文字劃分為不同的片段,并對(duì)片段中的關(guān)鍵詞做抽取,生成關(guān)鍵詞層級(jí)劃分樹;接著,基于片段對(duì)應(yīng)的關(guān)鍵詞,設(shè)計(jì)基于注意力機(jī)制的卷積神經(jīng)網(wǎng)絡(luò),藉此把片段關(guān)鍵詞與相關(guān)的醫(yī)學(xué)社區(qū)問答內(nèi)容(也稱醫(yī)學(xué)專業(yè)問答知識(shí)庫)進(jìn)行融合學(xué)習(xí)和關(guān)聯(lián),根據(jù)關(guān)聯(lián)的Top 概率排名從問答知識(shí)庫提取知識(shí),并把其鏈接到對(duì)應(yīng)的文本片段。這樣能夠幫助缺乏醫(yī)學(xué)背景的用戶更好地了解到相關(guān)醫(yī)學(xué)背景知識(shí),有助于患者對(duì)專業(yè)知識(shí)、專業(yè)文獻(xiàn)的了解,亦能幫助醫(yī)生對(duì)專業(yè)知識(shí)的拓展和加深理解。
給定一篇醫(yī)學(xué)文獻(xiàn)或一段醫(yī)學(xué)專業(yè)文本內(nèi)容D,對(duì)于關(guān)鍵詞層級(jí)劃分樹(Hierarchy Selection Tree,HST)的設(shè)計(jì)如下。
首先,根據(jù)句子和段落邊界,將內(nèi)容D劃分為若干片段S={s1,s2,…,sk},其中片段si(1≤i≤k)可以由不同的句子或者段落構(gòu)成,這些片段均可使用文本分詞工具對(duì)其進(jìn)行詞語的切割。經(jīng)切割后,每個(gè)片段可由若干個(gè)詞語構(gòu)成W={w1,w2,…,wh},進(jìn)而使用word2vec 模型把切割得到的詞語wh轉(zhuǎn)化為特征向量表示?;诿總€(gè)片段詞粒度的向量特征表示,在HST 結(jié)構(gòu)中,可以通過計(jì)算得到不同文本片段之間的相似度。具體為:給定兩個(gè)文本片段si,sj,其中si的詞語特征向集為{},sj的詞語特征向集為{},則可設(shè)任意si,sj兩個(gè)片段中詞語對(duì)的向量特征表示(),這里有1≤g≤m,1≤h≤n,本文采用余弦相似度方法計(jì)算文本片段之間的相似度SIM(si,sj),文本之間的相似度計(jì)算方法如式⑴所示。
接著,由式⑴計(jì)算出不同文本片段之間的相似度結(jié)果,再對(duì)不同片段進(jìn)行聚類。例如,基于上述相似度的計(jì)算,可以將所有的文本片段聚為M個(gè)類,其中每個(gè)類pi都由若干個(gè)片段組成。為衡量類pi的聚類效果,使用式⑵所示的qi函數(shù)來評(píng)估,其中center表示qi的中心向量。
對(duì)于給定的k個(gè)文本片段S={s1,s2,…,sk},在HST,聚類個(gè)數(shù)為b(1≤b≤k-1),聚類結(jié)果是{p1,p2,…,pb}。為了得到劃分后的聚類效果最優(yōu)解f(k,b),可使用動(dòng)態(tài)規(guī)劃算法。劃分任務(wù)的最優(yōu)子結(jié)構(gòu)的計(jì)算為式⑶所示。
其中,q(i,k)是類(片段i到片段k)的聚類效果。采用最優(yōu)子結(jié)構(gòu)的思想,k個(gè)文本片段劃分為M個(gè)類的問題就可以分解為將i-1個(gè)文本片段劃分為M-1個(gè)類的子問題。
在動(dòng)態(tài)規(guī)劃之后,則可以使用數(shù)組Boundary 中的值通過回溯構(gòu)造k個(gè)文本片段。需要說明的是,該數(shù)組還包含用于將M個(gè)分區(qū)中分組為v(1 ≤v≤b-1)文本段的最佳聚類。因此,可以通過堆疊這些最佳聚類來獲得文本D的層次結(jié)構(gòu)。因此,葉子層是文本D劃分為M個(gè)類的最優(yōu)聚類,而其上一層將是文本D劃分為M-1個(gè)類的最優(yōu)聚類。如圖1所示顯示了從有關(guān)數(shù)據(jù)挖掘的真實(shí)文本文檔生成的聚類層次結(jié)構(gòu),被劃分為10 個(gè)文本片段,經(jīng)如動(dòng)態(tài)算法調(diào)整后,文本片段亦可被劃分為{(s1,s2),(s3,s4),(s5,s6),(s7,…,s10)}四類,此時(shí),文本聚類效果最優(yōu)。在每個(gè)級(jí)別中,只有其中一個(gè)節(jié)點(diǎn)被分成兩個(gè),簇?cái)?shù)在每一水平級(jí)中增加一個(gè)。因此,同現(xiàn)有工作相比,所提出的方法獲得了兩個(gè)明顯的好處。一是可保證結(jié)果是全局最優(yōu)解,而不是局部最優(yōu)解;二是可以通過運(yùn)行動(dòng)態(tài)規(guī)劃算法來構(gòu)建層次聚類,且一個(gè)文本D只需構(gòu)建一次層次結(jié)構(gòu)樹。層次結(jié)構(gòu)樹如圖1所示。
圖1 關(guān)鍵詞層級(jí)樹示例
基于文本片段構(gòu)建的層級(jí)樹結(jié)構(gòu),接著需對(duì)層級(jí)樹中每個(gè)結(jié)點(diǎn)進(jìn)行關(guān)鍵詞抽取。與在關(guān)鍵詞抽取中經(jīng)常使用到的TFIDF 技術(shù)不同的是文中結(jié)合了語義網(wǎng)絡(luò),借助獲得不同詞語之間的語義關(guān)系,從而提高關(guān)鍵詞抽取的準(zhǔn)確率。首先,將樹中結(jié)點(diǎn)文本內(nèi)容中出現(xiàn)的詞語都表示為圖節(jié)點(diǎn),用圖中邊的權(quán)重來表示不同詞語之間的關(guān)聯(lián)程度?,F(xiàn)設(shè)有詞語對(duì)(wi,wj),經(jīng)采用word2vec 模型轉(zhuǎn)化后的特征向量對(duì)(),詞語之間的關(guān)聯(lián)度計(jì)算如公式⑷:
其中,count(wi,wj)表示詞語wi和詞語wj在文本中共同出現(xiàn)的次數(shù),count(wi)和count(wj)分別表示它們單獨(dú)出現(xiàn)的次數(shù),λ為權(quán)重系數(shù)。
借助于語義圖,統(tǒng)計(jì)出每個(gè)節(jié)點(diǎn)中所有詞語對(duì)的連接邊權(quán)重之和,根據(jù)設(shè)定的閾值,把超過閾值權(quán)重之和為最高的詞語計(jì)入關(guān)鍵詞集合,之后,從語義網(wǎng)中剔除已被計(jì)入的關(guān)鍵詞,并在剩下的節(jié)點(diǎn)中重復(fù)挑選出權(quán)重之和最高的節(jié)點(diǎn)及其關(guān)聯(lián)程度高的節(jié)點(diǎn)作為一個(gè)關(guān)鍵詞組,直到形成K個(gè)關(guān)鍵詞組。遍歷層級(jí)樹中的所有結(jié)點(diǎn)做關(guān)鍵詞抽取,并將抽取出的關(guān)鍵詞組添加到層級(jí)樹中的每個(gè)結(jié)點(diǎn)中。通過簡(jiǎn)單的層級(jí)樹,結(jié)合語義網(wǎng)絡(luò)抽取出來的關(guān)鍵詞,則可生成關(guān)鍵詞層級(jí)劃分樹HST。接著,需要為每一個(gè)文本片段生成查詢關(guān)鍵詞組合,首先在HST 中找到該片段對(duì)應(yīng)的葉節(jié)點(diǎn),為了保持針對(duì)文本片段內(nèi)容生成的查詢關(guān)鍵詞序列的全局性,自底向上遍歷所有的父節(jié)點(diǎn),得到關(guān)鍵詞序列。例如,在圖1 中,結(jié)合文本片段S6內(nèi)容,遍歷結(jié)點(diǎn)1,2,5,9,可得到片段S6對(duì)應(yīng)的關(guān)鍵詞查詢序列。
由上述分析可知,關(guān)鍵詞層級(jí)劃分樹通過文本內(nèi)容之間的相似度聚類得到不同的文本簇,并通過語義圖抽取出文本簇對(duì)應(yīng)的關(guān)鍵詞,很大程度上提高了給定文本片段的關(guān)鍵詞提取效率,既能保證從文本內(nèi)容中提取查詢關(guān)鍵詞的局部性,又保留了關(guān)鍵詞的全局性。
在前文論述基礎(chǔ)上,現(xiàn)假定某文本內(nèi)容中的一個(gè)片段對(duì)應(yīng)的查詢內(nèi)容q和社區(qū)問答的文本內(nèi)容d,對(duì)它們進(jìn)行處理,可得到對(duì)應(yīng)的字符嵌入特征表示wq,wd。為了實(shí)現(xiàn)根據(jù)查詢內(nèi)容q從文本內(nèi)容d中提取相似度最吻合的問答知識(shí)內(nèi)容,文中將設(shè)計(jì)一個(gè)醫(yī)學(xué)知識(shí)理解增強(qiáng)輔助系統(tǒng)來完成知識(shí)提取的任務(wù)。
如圖2所示,首先向系統(tǒng)輸入一個(gè)醫(yī)學(xué)文本D,系統(tǒng)將文檔分層地分割成連貫的文本片段D={s1,s2,…,sk}。之后由系統(tǒng)相應(yīng)的功能模塊對(duì)文本片段進(jìn)行特征向量化、相似度計(jì)算等初始化操作;接著再由K-Means方法、動(dòng)態(tài)規(guī)劃算法和語義網(wǎng)絡(luò)對(duì)文本的分割片段進(jìn)行聚類,并建立關(guān)鍵詞HST 樹,通過HST 的樹形層次結(jié)構(gòu),抽取具有局部和全局信息特征的查詢關(guān)鍵詞序列;最后,由系統(tǒng)中l(wèi)wCNN 模塊完成以查詢關(guān)鍵詞序列為信息檢索條件,向Q&A知識(shí)庫提取排名順序的問答內(nèi)容,并將它附加到醫(yī)學(xué)文本D中,以此幫助用戶達(dá)到增強(qiáng)對(duì)醫(yī)學(xué)專業(yè)知識(shí)理解的目的。
圖2 醫(yī)學(xué)文獻(xiàn)閱讀增強(qiáng)模型整體邏輯結(jié)構(gòu)
1.2.1 卷積神經(jīng)網(wǎng)絡(luò)主體結(jié)構(gòu)設(shè)計(jì)
卷積神經(jīng)網(wǎng)絡(luò)是一種具有局部連接,權(quán)重共享等特性的前饋神經(jīng)網(wǎng)絡(luò),在特征表達(dá)方面相比于人工設(shè)計(jì)特征具有更強(qiáng)的判別能力和泛化能力。它最早被應(yīng)用在計(jì)算機(jī)視覺領(lǐng)域,隨后逐步擴(kuò)展到自然語言處理和語音識(shí)別等領(lǐng)域。卷積神經(jīng)網(wǎng)絡(luò)在處理文本時(shí),通過設(shè)置卷積核的不同寬度和高度,能夠有效捕捉到多個(gè)連續(xù)字詞之間的特征,在文本分類等任務(wù)上都有重要的應(yīng)用,例如,TextCNN,DCNN 等深度卷積網(wǎng)絡(luò)類型的方法被廣泛地用于文本處理中,且取得了很好的應(yīng)用效果[9]。
基于CNN 在文本特征提取上的優(yōu)越性,本文在卷積層應(yīng)用了多個(gè)卷積核。為了構(gòu)造tri-gram特征,本文采用了大小為3 的滑動(dòng)窗口,構(gòu)造了卷積核h∈R3*k,其中k是對(duì)應(yīng)字符嵌入向量的維度大小。因此,對(duì)于給定字符嵌入向量wq,wd和一組卷積核{(lán)h1,h2,…,hm},卷積層輸出Q,D的計(jì)算如式⑸所示。
醫(yī)學(xué)文本處理的網(wǎng)絡(luò)卷積層結(jié)構(gòu)設(shè)計(jì)為如圖3所示的網(wǎng)絡(luò)。
圖3 醫(yī)學(xué)文本處理的卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
1.2.2 基于卷積神經(jīng)網(wǎng)絡(luò)的注意力機(jī)制網(wǎng)絡(luò)設(shè)計(jì)
基于HST 形成的關(guān)鍵詞查詢q和文本內(nèi)容d,有針對(duì)性地在基于卷積神經(jīng)網(wǎng)絡(luò)中加入注意力機(jī)制模塊,以實(shí)現(xiàn)對(duì)查詢相關(guān)內(nèi)容更好、更準(zhǔn)確地搜索,本文把融入注意力機(jī)制模型的卷積神經(jīng)網(wǎng)絡(luò)稱為lwCNN。對(duì)于給定查詢q和社區(qū)問答文本內(nèi)容d,lwCNN 首先獲取q,d的字符嵌入特征表示wq,wd,通過卷積神經(jīng)網(wǎng)絡(luò)和注意力機(jī)制對(duì)wq,wd提取抽象特征Aq,Ad,最后計(jì)算得到q和d之間的相關(guān)程度rel(q,d)。lwCNN 模塊的邏輯結(jié)構(gòu)如圖4所示。
圖4 lwCNN模塊
傳統(tǒng)的卷積神經(jīng)網(wǎng)絡(luò)在卷積層操作之后,直接使用池化層,如最大池和平均池,對(duì)卷積層提取出來的特征向量在字詞級(jí)做進(jìn)一步處理。這樣的池化操作簡(jiǎn)單地將所有字詞權(quán)重都等同起來,只取特征的最大化或平均表示,不能有效地將所有信息都利用起來。不同于傳統(tǒng)的池化操作,lwCNN 考慮到文本中的每個(gè)字符占比不一致的問題,用注意力機(jī)制獲得權(quán)重向量來表示每個(gè)字符對(duì)整個(gè)文本的影響作用。因而,基于給定的權(quán)重向量以及卷積層的特征向量表示,lwCNN計(jì)算得到最終特征向量表示。
lwCNN 中的注意力機(jī)制基于雙向長(zhǎng)短時(shí)記憶網(wǎng)絡(luò)(Bi-LSTM),給定一組特征向量表示,能夠得到相應(yīng)位置的權(quán)重大小。Bi-LSTM 由前向LSTM 和后向LSTM 共同組成,它是循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)的一種變形,其通過記憶細(xì)胞,有選擇性記憶前后文信息,從而更準(zhǔn)確獲得該位置的上下文信息。LSTM 模型包括隱層狀態(tài)h,遺忘門f,記憶門i和輸出門o,對(duì)于給定輸入xt,它的計(jì)算過程如式⑹所示。
給定輸入序列(x1,x2,…,xm),Bi-LSTM 通過前后向遍歷文本序列,連接前向LSTM 隱藏層狀態(tài)∈Rm*c和后向LSTM 隱藏層狀態(tài)∈Rm*c,最后輸出h∈Rm*2c。其計(jì)算方法如式⑺所示。
在注意力機(jī)制中,本文采用點(diǎn)積模型[8],通過構(gòu)造參數(shù)矩陣U∈R2c*1,使用Softmax函數(shù)計(jì)算得到字符集的權(quán)重向量S∈Rm*1,其算式如下:
接下來,重點(diǎn)介紹圖4 中的rel(q,d)的計(jì)算方法,具體為:
對(duì)于給定查詢q和社區(qū)問答d對(duì)應(yīng)的卷積層輸出Q,D,lwCNN通過注意力機(jī)制計(jì)算得到權(quán)重向量Sq,Sd,并得到最后的特征向量表示Aq,Ad。其算式如下:
lwCNN 采用余弦相似度作為相似度的衡量標(biāo)準(zhǔn),因而對(duì)于查詢和問答內(nèi)容他們最后相關(guān)度rel(q,d)的計(jì)算公式如下:
1.2.3 字符嵌入模塊設(shè)計(jì)
為了將查詢內(nèi)容擴(kuò)展到醫(yī)學(xué)領(lǐng)域,同時(shí)解決傳統(tǒng)分詞工具對(duì)專業(yè)醫(yī)學(xué)術(shù)語的錯(cuò)分現(xiàn)象,本文提出了字符嵌入的特征表示。對(duì)于給定的文本內(nèi)容,將文本內(nèi)容劃分為一個(gè)個(gè)漢字,并對(duì)漢字進(jìn)行向量特征表示的學(xué)習(xí)?;趙ord2vec 模型,本文設(shè)計(jì)的字符嵌入學(xué)習(xí)模型主要有兩種:CBOW模型,Skip-gram模型,它們都采用了三層神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),輸入層,輸出層和隱藏層。CBOW 模型通過上下文字符來預(yù)測(cè)中間字符,例如,當(dāng)上下文取值為4,輸出層輸入前后8 個(gè)字符,輸出層輸出所有字符對(duì)應(yīng)的Softmax 概率。為了最大化中間字符對(duì)應(yīng)的概率值,本文通過反向傳播算法不斷訓(xùn)練神經(jīng)網(wǎng)絡(luò)的參數(shù)并更新字符對(duì)應(yīng)的向量。Skip-gram模型則使用中間字符來預(yù)測(cè)上下文字符。
1.2.4 損失函數(shù)設(shè)計(jì)
給定標(biāo)注了相關(guān)性的訓(xùn)練集,本文對(duì)lwCNN 網(wǎng)絡(luò)進(jìn)行訓(xùn)練。對(duì)于一個(gè)查詢q,將標(biāo)注為相關(guān)的社區(qū)問答內(nèi)容作為d+,不相關(guān)的社區(qū)問答內(nèi)容作為d-。通過lwCNN,本文計(jì)算得到查詢和回答內(nèi)容之間的相關(guān)性分別為rel(q,d+)和rel(q,d-)。為了提高網(wǎng)絡(luò)對(duì)相關(guān)性判別的能力,可最大化rel(q,d+)和rel(q,d-)之間的差距,以此來增大相關(guān)內(nèi)容對(duì)應(yīng)的相關(guān)度rel(q,d+),減小不相關(guān)內(nèi)容的相關(guān)度rel(q,d-)。損失函數(shù)構(gòu)建如下:
其中,margin是設(shè)定的最小差距。對(duì)于數(shù)據(jù)中的所有查詢,本文最大化相關(guān)正樣本與不相關(guān)負(fù)樣本的相關(guān)度差距,使用梯度下降算法使得損失函數(shù)的值降到最低,不斷優(yōu)化模型的參數(shù),從而得到lwCNN 模型參數(shù)用于驗(yàn)證集和測(cè)試集的預(yù)測(cè)。
為了驗(yàn)證lwCNN 模型在醫(yī)學(xué)領(lǐng)域的檢索效果,選用數(shù)據(jù)集cMed[10]作為文中模型的實(shí)驗(yàn)測(cè)試數(shù)據(jù),該數(shù)據(jù)集的采集來自于醫(yī)學(xué)問答社區(qū)網(wǎng)和尋醫(yī)問藥網(wǎng)。用戶可以在網(wǎng)站社區(qū)提問,具有認(rèn)證資格的醫(yī)生可以針對(duì)用戶的問題進(jìn)行回答。該數(shù)據(jù)集一共收集了54000 個(gè)問題和101743 個(gè)答案,并對(duì)這些問題和答案都做了相關(guān)性標(biāo)注。該數(shù)據(jù)集分為訓(xùn)練集、測(cè)試集和驗(yàn)證集。詳細(xì)信息如表1所示。
表1 cMed數(shù)據(jù)集信息
為科學(xué)客觀評(píng)估模型的質(zhì)量,選用P@5,MAP 和MRR 三個(gè)指標(biāo)來衡量模型對(duì)于實(shí)驗(yàn)數(shù)據(jù)集的檢索效果。P@5 能夠衡量檢索答案的精確率,對(duì)于大小為size的問題集合Q中的每個(gè)問題,統(tǒng)計(jì)前5個(gè)檢索結(jié)果中相關(guān)結(jié)果的數(shù)目count,其計(jì)算方法如式⑿所示。
MAP 是精確率AP 的平均結(jié)果。對(duì)于大小為size的問題集合Q中的每個(gè)問題,獲得所有相關(guān)結(jié)果的排序(p1,p2,…,pn)。通過計(jì)算每個(gè)問題的AP,MAP 的計(jì)算方法如式(13)所示。
MRR將排序結(jié)果的倒數(shù)作為其準(zhǔn)確率,對(duì)于大小為size的問題集合Q中的每個(gè)問題,獲得第一個(gè)相關(guān)結(jié)果的位置p,MRR指標(biāo)的計(jì)算公式如式⒁。
為了驗(yàn)證lwCNN 在中文醫(yī)學(xué)文本檢索的性能,本項(xiàng)研究就基于層次樹動(dòng)態(tài)文本分割模塊和文本特征注意力模型兩個(gè)方面,分別執(zhí)行了多組消融實(shí)驗(yàn)。最后,開展了文中模型同傳統(tǒng)的BM25、TF-IDF 模型、Bi-LSTM、CNN 以及其他優(yōu)秀的基準(zhǔn)算法的對(duì)比實(shí)驗(yàn),并對(duì)實(shí)驗(yàn)結(jié)果進(jìn)行定量與定性分析。
2.3.1 注意力機(jī)制的影響實(shí)驗(yàn)
為了探究注意力機(jī)制對(duì)lwCNN 的影響,在實(shí)驗(yàn)數(shù)據(jù)集上,分別執(zhí)行了CNN 和lwCNN 兩種網(wǎng)絡(luò)模型的信息檢索能力。不同于lwCNN,CNN對(duì)給定字符嵌入表示,通過卷積操作和最大池化操作,得到相應(yīng)的特征表示。而lwCNN通過注意力機(jī)制,融合了句子中字符的權(quán)重,能得到更為精確的特征表示。實(shí)驗(yàn)結(jié)果如表2所示。
從實(shí)驗(yàn)結(jié)果可以發(fā)現(xiàn),本文的lwCNN 在p@5,MAP和MRR指標(biāo)值上均有1.5%,5.4%和4.6%左右的提升。這表明,注意力機(jī)制有效地利用了所有文本的特征信息,通過計(jì)算字符的權(quán)重,能幫助卷積神經(jīng)網(wǎng)絡(luò)提取更合適的特征表達(dá),從而提高關(guān)鍵詞檢索的性能。
2.3.2 與傳統(tǒng)文本檢索方法對(duì)比
首先,為了驗(yàn)證神經(jīng)網(wǎng)絡(luò)對(duì)于檢索性能提高的影響,本文對(duì)比了傳統(tǒng)文本檢索方法的實(shí)驗(yàn)效果。在傳統(tǒng)的文本檢索方法中,選取了應(yīng)用較為廣泛的BM25以及TF-IDF 算法作基準(zhǔn)方法。這些基準(zhǔn)方法的檢索是對(duì)語料信息進(jìn)行統(tǒng)計(jì)分析,在文本檢索任務(wù)上都表現(xiàn)出了較為出色的性能。
BM25 采用了相關(guān)度計(jì)算公式來表征問題和文本之間的相關(guān)性,考慮了查詢中每個(gè)語素qi的權(quán)重wi,每個(gè)語素qi與文本d的相關(guān)性R(qi,d)以及文本的長(zhǎng)度dl三方面因素,計(jì)算公式如下:
其中,k1,b為調(diào)節(jié)參數(shù)。TF-IDF 模型對(duì)于給定語料庫,首先對(duì)文本進(jìn)行分詞,詞干提取,去除停用詞等操作。然后通過統(tǒng)計(jì)詞頻和逆文檔頻率,將問題和文本都表示為TF-IDF 組成的向量,通過計(jì)算余弦相似度,來統(tǒng)計(jì)它們之間的相關(guān)性。
傳統(tǒng)的文本檢索方法只需統(tǒng)計(jì)文本中的詞頻、逆文檔頻率、文檔長(zhǎng)度等信息,因此對(duì)于BM25 公式,本文設(shè)置的參數(shù)為:k1=2,b=0.75;對(duì)TF-IDF 方法,本文計(jì)算語料中詞語的TF-IDF 值,以此來表示文本對(duì)應(yīng)的TF-IDF 向量,并按照相關(guān)度進(jìn)行排序。最終得到的實(shí)驗(yàn)結(jié)果如表3所示。
從表3 中可以看出,BM25 和TF-IDF 算法的實(shí)驗(yàn)結(jié)果則較為相近,沒有明顯差別。而lwCNN 相比這兩種傳統(tǒng)的檢索方法,有著明顯的優(yōu)勢(shì)。在p@5 上,lwCNN 提高了約5%。在MAP 和MRR 兩個(gè)指標(biāo)上,則分別提高了約11%和9%。因此,lwCNN 相比于傳統(tǒng)的文本檢索方法,檢索性能有大幅度的提高。它解決了傳統(tǒng)文本檢索方法忽略文字之間語義關(guān)系的問題,能得到更準(zhǔn)確的文本相關(guān)度。
2.3.3 與深度網(wǎng)絡(luò)算法對(duì)比
為進(jìn)一步探究lwCNN 與其他深度網(wǎng)絡(luò)算法或模型的不同檢索效果,本文選用Bi-LSTM、文獻(xiàn)[11]、文獻(xiàn)[12]中的方法作為對(duì)比神經(jīng)網(wǎng)絡(luò)模型。
Bi-LSTM 通過對(duì)上下文信息進(jìn)行有選擇性的記憶,能基于上下文提取出長(zhǎng)文本中的重要信息,為文本內(nèi)容提供了更豐富的特征表示。給定數(shù)據(jù)集,本文先基于字符嵌入將問題和文本都表示為特定的向量,然后分別輸入上述三個(gè)基準(zhǔn)模型以及l(fā)wCNN 網(wǎng)絡(luò)中,得到相應(yīng)的特征向量后計(jì)算余弦相似度來表示它們之間的相關(guān)性?;谙嚓P(guān)性排序結(jié)果,本文評(píng)估這兩種網(wǎng)絡(luò)在數(shù)據(jù)集上的檢索性能。
本次實(shí)驗(yàn)中,本文首先對(duì)數(shù)據(jù)集的語料信息進(jìn)行預(yù)處理,得到查詢和文本內(nèi)容的字符嵌入向量。因此,結(jié)合數(shù)據(jù)集中的字符統(tǒng)計(jì)信息,本文把問題的字符長(zhǎng)度固定為100,答案的字符長(zhǎng)度固定為200,并設(shè)置特征向量的維度為50。對(duì)于Bi-LSTM 網(wǎng)絡(luò),本文設(shè)置該網(wǎng)絡(luò)的隱藏層單元數(shù)為100。在lwCNN 網(wǎng)絡(luò)中,卷積核的數(shù)目被設(shè)定為128?;趦煞N網(wǎng)絡(luò)的相似度排序結(jié)果,本文通過多組實(shí)驗(yàn)得到對(duì)比結(jié)果如表4所示。
表4 與神經(jīng)網(wǎng)絡(luò)對(duì)比實(shí)驗(yàn)結(jié)果
表4 顯示,Bi-LSTM 網(wǎng)絡(luò)在檢索性能方面明顯弱于lwCNN,其他優(yōu)秀的改進(jìn)模型檢索質(zhì)量同本文模型較為接近。從實(shí)驗(yàn)結(jié)果來分析可得知:由于受到中文醫(yī)學(xué)文本的特性所影響,在中文醫(yī)學(xué)文本中,句子中的上下文信息往往不夠明顯,長(zhǎng)距離下文字之間的關(guān)聯(lián)性較弱;而句子中連續(xù)的字詞之間則有明顯的聯(lián)系。因此,使用卷積神經(jīng)網(wǎng)絡(luò)捕捉連續(xù)字詞之間的關(guān)系,往往能獲取更好的局部特征表示。
綜合分析上述三組實(shí)驗(yàn),可以得知:
⑴傳統(tǒng)的BM25和TF-IDF在各項(xiàng)實(shí)驗(yàn)結(jié)果上的表現(xiàn)都比較差,相比之下,加入了神經(jīng)網(wǎng)絡(luò)之后的模型,如Bi-LSTM,CNN 以及l(fā)wCNN,在各項(xiàng)指標(biāo)下都有明顯的優(yōu)勢(shì)。
⑵相對(duì)于Bi-LSTM 經(jīng)典及其他改進(jìn)的優(yōu)秀神經(jīng)網(wǎng)絡(luò)模型,lwCNN有更好的檢索效果。
⑶去除了注意力機(jī)制的lwCNN,在各項(xiàng)檢索性能上都出現(xiàn)了下滑。
⑷lwCNN在所有的實(shí)驗(yàn)方法中表現(xiàn)性能最佳。
上述實(shí)驗(yàn)結(jié)果亦表明:lwCNN 能夠在問答知識(shí)庫中準(zhǔn)確地檢索出與查詢問題高度相關(guān)解答內(nèi)容,且在cMed數(shù)據(jù)集上表現(xiàn)出良好的性能。
本文提出關(guān)鍵詞劃分樹(HST)和基于注意力機(jī)制的卷積神經(jīng)網(wǎng)絡(luò)(lwCNN),分別用于醫(yī)學(xué)文本的關(guān)鍵內(nèi)容抽取和社區(qū)醫(yī)學(xué)問答內(nèi)容的檢索。針對(duì)給定的醫(yī)學(xué)文獻(xiàn),HST 將文獻(xiàn)內(nèi)容劃分為不同的片段,并對(duì)片段進(jìn)行關(guān)鍵詞抽取。對(duì)于給定片段形成的關(guān)鍵詞查詢,lwCNN 檢索相關(guān)醫(yī)學(xué)問答內(nèi)容鏈接到相關(guān)片段上。實(shí)驗(yàn)證明,lwCNN 能有效地檢索出相關(guān)醫(yī)學(xué)問答內(nèi)容。結(jié)合關(guān)鍵詞劃分樹,本文方法有助于用戶醫(yī)學(xué)文獻(xiàn)的閱讀及醫(yī)學(xué)專業(yè)知識(shí)學(xué)習(xí),一定程度上給用戶帶來更好的閱讀體驗(yàn),促進(jìn)其對(duì)智能醫(yī)學(xué)相關(guān)管理系統(tǒng)的黏性。未來,將進(jìn)一步優(yōu)化內(nèi)容檢索模型,提高檢索性能,擴(kuò)大醫(yī)學(xué)專業(yè)知識(shí)檢索庫,采用Transformer等優(yōu)秀的大型預(yù)訓(xùn)練模型,來提升醫(yī)學(xué)社區(qū)問答內(nèi)容檢索的精度。