劉子晨 溫延龍 徐 雷
(1.南開大學計算機學院 天津 300000)(2.南開大學現代遠程教育學院 天津 300000)
人工智能研究與社會需求表明,醫學知識庫的構建與醫療知識的組織和管理已成為精準醫學領域的研究熱點[1]。在大數據時代,隨著醫療系統的電子化和信息系統的發展,醫療領域目前已經累積了海量的數據。知識圖譜所具有的數據集成能力和知識推理能力順應了這一發展趨勢,可以將這些海量數據進行整合、管理及應用。
實體上下位關系抽取是知識圖譜本體構建過程中的一個環節和該領域的研究重點。實體上下位關系的獲取是語義層次結構構建的核心,而語義層次結構又是知識圖譜構建不可或缺的一環。同時,實體上下位關系不僅是構建知識圖譜的一個關鍵環節,而且由其所構建起來的分類體系在醫療知識的問答系統和決策支持系統等應用中同樣有著重要作用。
目前在醫療領域,國內外已經構建了一些知識庫,比如醫學主題詞表MeSH[2]、醫學系統命名法-臨床術語SNOMED-CT[3],以及國內上海曙光醫院構建的中醫藥知識圖譜[4]。但是這些已有知識庫或是針對特定醫學子領域,或是有著缺乏靈活性和能力不足等限制,無法滿足如今人們對于醫療知識圖譜的需求。而對于大規模數據的上下位關系抽取,因為人工方式工作量巨大,以及專家難尋等原因,通過計算機技術自動化從大規模醫療語料中抽取實體上下位關系的研究非常有必要。
雖然當前針對醫療領域的實體上下位關系抽取模型還很少,但對于開放域上的上下位關系抽取方法的相關研究已有許多。本文通過融合詞法模式匹配方法和基于詞嵌入的機器學習方法,構造出一個醫療知識實體上下位關系抽取的綜合方法。該方法緩解了傳統Hearst-like詞法模式匹配[5]方法的召回率低,模式過于固定的缺陷,并通過引入分段線性投射改造基于詞嵌入的上下位關系判別模型使其可以應用到上下位關系抽取任務中,而且利用兩種方法的互補性,提出了一種融合方法將兩種方法結合。
實體上下位關系也被稱為“is-a”關系,是語義關系的一種。這種層次關系在知識表示和推理中起著核心作用。依據實體上下位關系構建的層次分類系統能夠改善很多自然語言處理和信息檢索任務,比如個性化推薦和問答系統。隨著互聯網時代的到來,借助大量網絡數據,一些上下文層次結構的構建利用了人工編輯的知識庫(比如維基百科、維基數據等)。但是這些大型層次分類系統缺乏專業領域知識。如今,國內外提出了很多方法來從大規模語料中抽取實體上下位關系。這些方法可以主要分為兩類。
從Hearst等[5]開始通過詞法匹配的方式抽取上下位關系成為這一領域的常用方法。該方法將同一語句中滿足特定詞法模式的兩個詞預測為上下位關系。該方法的一個典型詞法模式就是“[A]such as[B]”,其中[A]和[B]表示名詞短語,分別被視為上下位關系中的上位詞和下位詞。目前在業界,基于該方法已有一些成功的應用比如Probase[6]。但由于這種詞法匹配過于具體,無法涵蓋所有語言環境,導致其召回率較低。為提高召回率和正確率,Sonw等[7]用上下位詞間的依賴路徑進行模式匹配,同時對語法和詞法聯系進行匹配;還有一些工作試圖自動學習詞法匹配模式而非使用預定義的匹配列表[8~9]。然而此類方法還是有著一個眾所周知的問題,就是它的稀疏性,該方法要求上下位詞必須以一定的模式出現在同一語句中。
為解決Hearst匹配方法的稀疏性問題,目前實體上下位關系抽取的研究重點逐漸轉向了基于詞嵌入的方法。借助預訓練神經網絡語言模型,如Word2Vec[10]、GloVe[11]等,將上下位詞表示為詞嵌入形式,用機器學習、神經網絡等模型,采用有監督方法判別詞對是否為上下位關系[12~14]。Fu等[15]通過在中文語料上的實驗,指出上下位關系詞對的詞向量保留了語言規律,如v(蝦)-v(對蝦)≈v(魚)-v(金魚),v代表詞向量。這意味著可以通過線性投射矩陣將下位詞向量映射到上位詞向量,但是由于單一的投射矩陣并不足以覆蓋所有上下位關系情況,所以其采用了分段線性投影的方法,來提高模型的效果。在這一工作基礎上,國內外學者又提出了更多的方法取得了更優的結果[16~18]。
在文獻中,對于那種方法能更有效地抽取實體上下位關系有很多爭議。詞法模式匹配方法有著非常明顯的稀疏性問題[8]。一些研究也顯示該方法非常依賴語言特征,在中文語料中的效果很差[15,17]。同時,對于詞嵌入方法的質疑聲也有很多。Roller等[19]的研究表明,詞嵌入方法的模型效果非常依賴于數據集。一些研究也顯示詞嵌入方法并沒有真的學習到上下位關系[20~21]。目前對于有監督任務,在SemEval-2018 task 9[22]所提供的數據集上Dash等[23]提出的SPON神經網絡取得了廣泛域數據集上的取得最優成績,然而其在醫療數據集上的表現并不如CRIM系統[24]。
目前在實體上下位關系抽取領域已經有很多研究成果,然而針對醫療領域的實體上下位研究還不是很多。
在醫療領域知識實體上下位關系抽取任務中,通常選用的語料是大規模的醫療文獻數據集。因為文獻相比廣泛域寫作更加規范而且醫療詞匯命名更有規律,所以本文將在模型中使用詞法模式匹配方法。又因為基于詞法匹配的方法和基于詞嵌入的方法存在著互補性[25],且有研究表明在領域內基于詞嵌入的方法有著更好的表現[26],因此本文將結合兩種方法構成綜合模型。
在綜合模型中,基于詞法模式匹配的方法也可單獨作為一個無監督方法進行上下位關系抽取,在該無監督方法中,為了提高召回率和準確率,其利用了PatternSim方法[16]尋找下位詞的相似詞并基于此構造了上下位關系抽取和可能性計算算法;基于詞嵌入的抽取模型引入了分段線性投影的方法,改造了上下位關系判別模型使其更加適應上下位關系抽取任務;最終本文將兩種方法進行融合,使得兩個方法的所得信息能夠互補并減少單一方法帶來的錯誤情況。
同時,相比廣泛域上的數據集,醫療領域的數據集詞法模式更為規范,且醫療詞匯的命名更有規律,這些特性使得詞法模式匹配在該領域上有著更好的表現,因此在本綜合系統中,提高了詞法模式匹配方法所占權重。
無監督實體上下位關系抽取模型主要基于Hearst-like詞法匹配,并采用TAXI系統[15]中的子字符串匹配方法和PatternSim方法[16]來輔助提高召回率和準確率。
候選上下位關系抽取流程主要由兩部分組成,一部分為Hearst-like詞法模式匹配,一部分為子字符串匹配。因為通過Hearst詞法模式匹配和子字符串匹配抽取得到的實體對存在很多噪聲,所以需要將得到的實體對與實體詞詞典進行對比,過濾其中不存在于詞典中的實體對。
候選上下位關系對將被存儲用于后續分析,存儲的將不止是其上下位關系,還包含每個實體對的可能性數值。抽取的實體對的可能性算法為ppmin,由roller等[27]提出的ppmi算法改進而來:

用P=表示從語料中抽取的上下位關系詞對(x,y)集合,w(x,y)表示該詞對被抽取到的次數,W=w(x,y)表示全部抽取次數。p-(x)=w(x,y)/W和p+(y)=w(x,y)/W分別表示在抽取的候選實體上下位關系中x和y分別作為上位詞和下位詞的概率。
但是ppmi所計算的并非直接的可能性,而是一種可供對比的可能度,其值域并不局限于(0,1],因此本文提出ppmin,用Sigmoid函數將ppmi的值歸一化到0到1區間。

在實際應用中,將e改為1.5等更小的數值,以使得Sigmoid函數更加平滑,從而增大ppmi值的區分度。
在得到候選實體上下位關系以及關系為真的可能性的集合后,用PatternSim得到詞間相似度,而后用算法1得到最終結果。
算法1上位詞查詢及可能性計算算法
輸入:下位詞q
輸出:上位詞和可能性集合H=
1:初始化結果集合H=Cand idateHyper(q)
2:相似詞集合C=(ci,sniq)=PatternSim(q)
3:for each(ci),sniq∈Cdo
4:Hi=CandidateH y per(ci)
5: for each(h j,ppmin(ci,h j))∈Hido
6: ifh j∈Hthen
7:p(q,h j)=1-(1-p(q,h j))×(1-ppmin(ci,h j)×sn(ci,q))
8: else
9:p(q,h j)=ppmin(ci,h j)×sn(ci,q)
10: end if
11:end for
12:end for
CandidateHyper(q)函數將會返回在用詞法匹配和子字符串匹配方法抽取的q的候選上位詞hi集合,以及在抽取過程中計算的該候選詞與q之間為上下位關系的可能性ppmin(q,h i)。PatternSim(q)函數將會返回用PatternSim方法從語料中抽取的q的相似詞ci集合,以及在抽取過程中計算的相似度sn(q,ci)。
目前大部分針對上下關系的基于詞嵌入的方法,都是判別模型。判別模型在應用到抽取任務時,通常做法為將大量的候選上位詞與所輸入下位詞組合,構造多個上下位關系詞對,將每個詞對都輸入到判別模型中計算上下位關系可能性。這種模式有著非常明顯的缺陷。通常情況下,候選上位詞集合會很大,全部組合后,每個詞對都放進模型進行計算會浪費大量時間,同時,大量的候選詞對也會導致模型的魯棒性不高,在預訓練時的參數調整,將對模型效果產生非常大的影響,提出CRIM系統的論文[17]中的消融實驗也證明了這點。
為解決這一問題,本文將分段線性投影模型和CRIM模型進行融合。與Fu等[15]相同,本模型將上下位關系詞對依照其差值用Kmeans算法分為k個聚類。對每個聚類中的詞對訓練一個線性投射矩陣φi,其可將下位詞投射到上位詞。但是在預測時,由于并不知道對于特定下位詞,應當選用具體那個投射矩陣,因此用CRIM模型來計算投射后所構造的k個候選上下位關系詞對為上下位關系的可能性。如圖1所示,在線性投影模型中,對于每個聚類都會得到一個投影矩陣,從而得到k個投影矩陣,在將下位詞詞向量經過k個投影矩陣的轉換后,將得到k個向量。隨后,分別找到這k個向量余弦相似度最高的c個詞向量。將找到的c×k個詞向量與e q輸入CRIM模型,得到上下位關系可能性,隨后挑選出可能性最高的幾個詞作為最終結果。

圖1 基于詞嵌入的抽取模型
方法不止適用于CRIM模型,同樣可以應用于其他判別模型用于上位詞預測的任務。
如圖2所示,綜合方法為以上兩種方法融合而成,融合方法為以下三個部分:1)將訓練數據集融入到詞法模式匹配模型作為候選上下位關系集合的一部分。該步驟將通過訓練集數據,重新評估每個候選詞對的可能性。2)將詞法模式匹配的結果輸入到詞嵌入模型,CRIM模型將不止判斷由線性投影所構造的上位詞,也將計算詞法模式匹配方法所抽取的候選上下位關系。3)將兩個模型計算所得結果用如下公式計算可能性:

圖2 綜合方法

sup和unsup分別表示詞嵌入方法和詞法模式匹配的可能性,若一方不包含該詞對,則將其視為0。這種計算方式綜合考慮了兩個系統對于實體上下位關系的判斷,并且也對于單個系統中的強判斷給予了關注。
本次實驗為針對醫療知識的實體上下位關系抽取,所以本次實驗的數據集也為醫療數據集。數據集來自SemEval-2018任務9[22]中的Subtask 2A的醫療領域數據集。

表1 醫療實體上下位關系抽取實驗結果
表中CRIM為之前在實驗數據集上取得最好結果的模型,CRIM_U為CRIM模型中的無監督方法,同樣是該實驗數據上表現最優的無監督方法,而SPON[23]則是在多個語言的廣泛域數據集上取得最優實驗結果的有監督模型。通過對比發現,本文構造的綜合系統Hybrid在該醫療文本數據集上取得了當前最優的實驗結果,相比CRIM模型在MAP、MRR、P@1和P@5指標上分別提升了0.23%、4.40%、2.00%和0.39%。而且本文的無監督模型Unsupervised也為當前實驗結果最優的無監督模型,相比CRIM_U無監督模型,在MAP、MRR和P@1指標上分別提升了0.12%、4.76%和7.80%。

表2 對比實驗結果
本文的系統由多個部分融合而成,為評估系統每個部分對于整個系統實驗結果的影響,將每部分單獨進行實驗。
Final為最終綜合系統的結果;Supervised為3.2節所述模型;SupPattern為將候選集合添加入詞嵌入方法后的結果;PatternBase即為系統的無監督方法;PatternSup為將訓練集結合入模式匹配的方法。
通過分析該實驗結果,可得出如下結論:1)CRIM模型對于詞法模式匹配得到的候選詞對的可能性判斷并不準確。2)詞法模式匹配方法和詞嵌入方法所得出結果的重合度不高,因此在綜合兩種方法后系統的效果提升非常明顯。
本文提出了一種醫療實體上下位關系抽取的綜合系統,該系統由兩部分融合而成,作為系統一部分的詞法模式匹配方法為無監督方法,基于Hearst詞法模式匹配方法,提出了一種利用Pattern-Sim方法提高召回率的上下位關系抽取與可能性計算算法;系統的另外一部分為詞嵌入方法,本文提出了一種將上下關系判別模型應用到抽取任務的方法,在本次實現的系統中,采用的是CRIM上下位關系判別模型。在實驗所采用的醫療數據中,相比其他模型,本系統在所有指標上均取得了最優效果,同時作為系統一部分的無監督模型也取得了無監督任務的最優效果。