喻 鑫 張 矩 邱武松 王 飛
1(中國科學院大學 北京 100000) 2(中國科學院重慶綠色智能技術研究院 重慶 400714) 3(第三軍醫大學西南醫院 重慶 400038)
基于序列標注算法比較的醫學文獻風險事件抽取研究
喻 鑫1,2張 矩1,2邱武松2王 飛3
1(中國科學院大學 北京 100000)2(中國科學院重慶綠色智能技術研究院 重慶 400714)3(第三軍醫大學西南醫院 重慶 400038)
醫學文獻快速增長,如何從醫學文獻文本大數據中挖掘出有價值的知識是一種巨大挑戰。聚焦醫學文獻中定量風險語句的風險事件抽取,構建智能臨床決策支持系統醫學風險知識庫。運用序列標注算法中重要的隱馬爾可夫模型、最大熵馬爾可夫模型和條件隨機場三種模型分別對醫學文獻非結構化全文文本中風險事件信息進行抽取,并對算法進行比較。從三個模型平均F1測度值來看,條件隨機場效果最好,其次為最大熵馬爾可夫模型,然后是隱馬爾可夫模型,但是每個模型都有自己對某些風險事件抽取的準確率或者召回率的優勢。
醫學文獻 風險事件 隱馬爾可夫模型 最大熵馬爾可夫模型 條件隨機場
隨著生物技術的發展,生物醫學文獻呈現出爆炸式增長的趨勢,美國國家醫學圖書館的PubMed醫學文獻檢索系統中收錄的文章每年都有較大幅度增長,本文實驗中所使用的醫學文獻就來自于PubMed檢索系統。
在醫療領域,運用信息抽取的算法對醫學文本進行處理是目前重要而且熱門的研究方向,它是構建臨床決策支持系統[1]的基礎。信息抽取可以自動幫助人們從日益增長的海量信息中快速找到自己真正需要的信息,并用結構化的格式進行表示[2-4]。其中,文本信息抽取是從自然語言文本中自動抽取信息的技術。美國高級研究計劃署(DARPA)所資助的信息理解會議MUC(Message Understanding Conference)促進了文本信息抽取的發展。
本文對醫學風險信息的抽取對臨床醫學操作評判有著重要的預警和決策分析作用,對已發生的醫學事故有著重要的評估作用。醫學中風險分析研究一直都受到大家的關注。風險是引起不幸和損失的可能性,在流行病學、臨床醫學和日常生活具有重要地位,醫學風險信息有助于疾病的認識、預防和治療[5]。一個重要的應用就是在醫學領域決策支持中引入風險分析[6]。
目前對醫學文本風險信息的抽取集中在對病歷文本知識的抽取[7]中,通過對病歷中治療指標的抽取和分析,獲取其中的風險信息。然而,對醫學文獻文本進行風險信息抽取的研究卻較少。一方面,醫學文獻中風險的表現形式各有不同[8],另一方面,閱讀醫學文獻需要花費較長時間。但是,如果醫生遇到已有知識和已有病例無法解決的問題,這時候從醫學文獻中獲取知識極其關鍵,本文就是解決從醫學文獻中快速獲取風險知識的問題。由于醫學文獻文本屬于非結構化文本,信息噪聲太大,對它的處理難度較大,所以對醫學文獻處理大部分都集中在對醫學文獻中摘要的處理,摘要是全文的濃縮,文本量小,處理起來要簡單一點。Deleris等從醫學文獻的摘要中對風險信息進行抽取[9]。Jochim等所使用的風險信息語料庫就是從PubMed中200篇乳腺癌文獻摘要中得到的[10]。但文獻摘要會大面積舍掉正文信息,產生信息損失,存在著缺陷,所以本文嘗試對文獻全文進行處理。Jochim等對條件事件和結果事件進行了定義,并運用條件隨機場的方法識別風險條件事件和風險結果事件[10]。
本文從醫學文獻中提取風險信息知識不同于目前研究較多的醫學命名實體以及實體之間關系的提取。醫學實體之間關系的抽取是一個文本中兩個或者更多特定醫學實體之間關系的識別[11-12],是醫學本體研究的重要基礎,其中比較重要的是確定醫學命名實體類別(如診斷、癥狀和治療等)和實體之間關系類別(如上下位、同義詞等關系,當然也包括治療、預防等關系)。
1.1 醫學風險事件語料庫
醫學文獻中的風險語句一般指的是已發表出來的醫學文獻文本中包含有對疾病的產生、發展、癥狀呈現、診斷治療、監測隨訪等有影響因素的語句,因素可能是單一的,也可能是混合的,當然因素也可以包括其他疾病。風險語句分為定性風險語句和定量風險語句,定性風險語句是用敘述的形式來進行說明,例如,“The highest risk is seen in women with lobular carcinoma in situ (LCIS), but this is very rare.”。而定量風險語句是指帶有數值說明的風險語句,其中分為普通數字(不算百分數)和百分數兩種,舉個帶有普通數字(不算百分數)的風險語句的例子,“More common is atypical hyperplasia (AH), which carries a 4-5-fold risk of breast cancer as compared to general population.”,再舉個帶有百分數的風險語句的例子,“Tamoxifen has been shown to be particularly effective in preventing subsequent breast cancer in women with AH, with a more than 70% reduction in the P1 trial and a 60% reduction in IBIS-I.”。本文中所說到的風險語句指的是帶有百分數的強風險定量信息語句。
風險語句中的風險事件指的是風險語句中關于其百分數描述的相關事件,本文重點關注針對百分數的影響說明元素、被影響說明元素、提示說明元素、來源說明元素、風險程度說明元素,如表1所示。影響說明元素,是指風險語句中產生影響的元素;被影響說明元素,是指風險語句中受到影響的元素;提示說明元素最能表明這是風險語句的標志,如存活率、復發率、死亡率等;來源說明元素指的是風險語句信息數據來自哪里,大多數情況下,數據來自作者的實驗結果,但是也有可能來自臨床指南,或綜述報告等;風險程度說明元素指的是風險數據的修飾術語,如大約、精確、可能等。舉個例子,“Tamoxifen has been shown to be particularly effective in preventing subsequent breast cancer in women with AH, with a more than 70% reduction in the P1 trial and a 60% reduction in IBIS-I.”,對于百分數70%,影響說明元素為T(t)amoxifen,被影響說明元素為breast cancer in women with AH (atypical hyperplasia),提示說明元素為reduction,來源說明元素是P1 trial,風險程度說明元素為more than;對于百分數60%,影響說明元素為T(t)amoxifen,被影響說明元素為breast cancer in women with AH (atypical hyperplasia),提示說明元素為reduction,來源說明元素是IBIS-I,無風險程度說明元素。

表1 風險事件類別
1.2 隱馬爾可夫模型
隱馬爾可夫模型HMM(Hidden Markov Model)[13]與馬爾可夫模型不同,隱馬爾可夫模型中包含一個隱藏狀態序列和一個觀察狀態序列。對隱馬爾可夫模型而言,模型中狀態之間的轉換是隱藏的,觀察狀態的隨機過程是狀態之間轉換的隨機函數[14]。
其中對隱馬爾可夫模型作如下假設:下一個隱藏狀態只與前一個隱藏狀態有關,觀察狀態的概率只與當前隱藏狀態有關。符合這種假設的隱馬爾可夫模型也就是我們常說的一階隱馬爾可夫模型。
從隱馬爾可夫模型的介紹中就可以看出來,一個HMM=(N,M,A,B,π) 過程由五部分組成:
(1) 隱藏狀態的數目N;
(2) 觀察狀態的數目M;
(3) 隱藏狀態之間轉換的概率矩陣A={aij};
(4) 從隱藏狀態到觀察狀態的概率矩陣B={bj(k)};
(5) 初始狀態概率矩陣π={πi}。
給定一個觀察狀態序列O={o1,o2,…,oT}和模型M=(A,B,π)找出最優的隱藏狀態序列S={s1,s2,…,sT},任務是要求解:

(1)
對于解碼問題,常用解法是采用維特比(Viterbi)算法,維特比算法是運用動態規劃的方法求解最優隱藏狀態序列[14]。
(1) 初始化計算:
β1(i)=πibi(o1)
(2)
φ1(i)=0
(3)
(2) 中間動態規劃計算:
(4)
(5)
(3) 結束計算:
(6)
(7)
(4) 路徑回溯:
(8)
對于隱馬爾可夫模型中參數學習問題,本文中由于語料庫有限,先通過似然估計的方法確定參數,再通過Baum-Welch算法實現參數收斂。
1.3 最大熵馬爾可夫模型
最大熵馬爾可夫模型MEMM(Maximum Entropy Markov Model)[15-16]是在隱馬爾可夫模型基礎上增加了最大熵模型特點。由于隱馬可夫模型采用生成式聯合概率模型解決條件概率問題時不能用多特征進行刻畫,最大熵馬爾可夫模型運用最大熵的辦法彌補這個缺點[14]。
隱馬爾可夫模型中當前時刻觀察輸出取決于當前隱藏狀態,最大熵馬爾可夫模型中當前時刻觀察輸出除了取決于當前隱藏狀態,也可能取決于前一時刻的隱藏狀態。
假設觀察狀態序列為O={o1,o2,…,oT},隱藏狀態序列為S={s1,s2,…,sT},解碼問題需要求解:

(9)
(10)
前一時刻狀態取值st-1用s′表示,當前觀察序列值ot用o表示,運用最大熵原理:
P(s|s′,o)=Ps′(s|o)
(11)
(12)
式中:λa是需要學習的參數,Z(o,s′)是歸一化因子,使得∑sP(s|o)=1 ,而fa(o,s)是特征函數。特征函數fa(o,s)包含兩個參數,一個當前觀察值,一個可能的隱藏狀態值,特征函數通過a=定義,b是二分特征值,s是狀態值:
fa(ot,st)=f(ot,st)
(13)
(14)
MEMM中對隱藏標注序列的求解,也是用到Viterbi算法,不過需要在隱馬爾可夫模型所使用的Viterbi算法基礎上進行改進[16],改進后的算法如下:
(1) 初始化計算:
β1(i)=πipi(s|o1)
(15)
φ1(i)=0
(16)
(2) 中間動態規劃計算:
(17)
(18)
(3) 結束計算:
(19)
(20)
(4) 路徑回溯:
(21)
最大熵隱馬爾可夫模型的參數訓練采用的是GIS算法。
1.4 條件隨機場
條件隨機場CRF(Conditional Random Field)[17-18]是一種由John Lafferty等于2001年提出的概率化無向圖,對于輸出標識序列Y和觀察序列X,條件隨機場通過定義條件概率P(Y|X),而不是聯合概率P(X,Y)描述模型。以觀察序列X為條件,每一個隨機變量滿足馬爾可夫特性[14]。
同樣,假設觀察狀態序列為O={o1,o2,…,oT},隱藏狀態序列為S={s1,s2,…,sT},則P(S|O)正比于:

(22)
式中:pj(si-1,si,O,i)表示觀察序列O的隱藏序列在i-1到i之間的轉移概率函數,qk(si,O,i)表示已知觀察序列o在i時的狀態標記概率函數。
根據最大熵模型的方法,兩個特征函數可以通過二值特征表示,特征函數統一表示為:
(23)
那么條件隨機場的條件概率分布可以表示為:

(24)
分母為歸一化因子,表示為:
(25)

條件隨機場中對于隱藏標注序列的求解同理于MEMM中改進的Viterbi算法,而參數估計使用的是L-BFGS算法,算法通過對訓練集進行迭代來求解。
1.5 特征選擇
把SNOMED CT(Systematized Nomenclature of Medicine Clinical Terms)中的醫學臨床術語集和風險事件語料庫中的術語集組成醫學術語詞典,通過借鑒中文分詞的最大正向匹配算法把風險語句中的有關關鍵詞抽取出來,可以極大過濾掉無用信息,接著就可以通過序列標注算法對抽取出來的醫學術語進行標注。
對于隱馬爾可夫模型,需要在已知觀察序列和訓練語料庫下,先通過參數學習,接著通過Viterbi算法求解得到最合適的隱藏狀態標注序列。
對于最大熵馬爾可夫模型和條件隨機場,需要解決三個基本問題:特征選取、參數訓練以及實驗解碼。兩種算法采用條件概率模型和改進后的Viterbi算法來進行求解隱藏標注序列。對于其中的最大熵過程,需要選擇合適的特征。特征選取決定著特征函數,會直接影響到序列標注實驗效果。如果特征集選擇過大,可能會出現過擬合現象;特征集過小,可能會降低實驗準確率。特征選擇需要考慮到上下文統計信息的重要性,上下文指的是當前詞在術語抽取集中的前面若干詞和后面若干詞組成的窗口。窗口太小,就不能獲得更多有用信息,然而窗口太大,就會占用更多資源,效率反而會有所下降。詞性是信息提取中極其重要有效的特征,特征選擇中一般需要同時考慮到詞性,如風險程度事件更加集中于形容詞(組)、副詞(組)等。本文中詞性采用的是賓州樹庫詞性標注類型,其中對詞組和單獨詞表示方式不同,通過詞性就可以看出來這個詞是一個單獨詞(一個單詞)還是一個詞組(兩個單詞及以上),如“cancer”的詞性為NN,而“breast cancer”詞性為NP。特征模板除了詞和詞性兩種以外,還對當前詞進行了一些其他判斷,包括當前詞是不是本組中第一個詞,當前詞是不是數字開頭,以及當前詞中是否有連詞。實驗中選擇的特征模板如表2所示。

表2 特征模板
2.1 實驗準備
從美國國家醫學圖書館PubMed檢索系統中獲得醫學文獻文本,轉換為統一文本格式,構建醫學文獻文本語料集。從醫學文獻文本中得到強風險定量信息語句,進而構建風險事件語料庫。實驗選取風險事件語料庫中的3/4(3 140)事件作為訓練語料,剩下的1/4(1 049)事件作為測試語料,用隱馬爾可夫模型、最大熵馬爾可夫模型和條件隨機場分別對訓練語料進行學習,然后分別對測試語料進行測試。本文選用常用的準確率、召回率和F1測度值進行結果測試,通過實驗得到每個模型每種事件抽取的準確率、召回率和F1測度值,以及每個模型所有事件抽取的F1平均測度值:

(26)

(27)

(28)
(29)
2.2 實驗結果
隱馬爾可夫模型、最大熵馬爾可夫模型和條件隨機場抽取風險事件的結果分別為表3、表4和表5,隱馬爾可夫模型、最大熵馬爾可夫模型和條件隨機場模型事件抽取的平均F1測度值的結果為表6。

表4 最大熵馬爾可夫模型(MEMM)風險事件提取結果

續表4

表5 條件隨機場(CRF)風險事件提取結果

表6 序列標注算法風險事件抽取平均F1測度值比較
2.3 實驗分析
對比隱馬爾可夫模型、最大熵馬爾可夫模型和條件隨機場提取效果,進行分析比較。
從三個模型平均F1測度值來看,條件隨機場效果最好,其次為最大熵馬爾可夫模型,然后是隱馬爾可夫模型,但是每個模型都有自己對某些事件抽取的準確率或者召回率的優勢。對于影響說明元素,條件隨機場的準確率要高,最大熵馬爾可夫模型召回率要高;對于被影響說明元素,最大熵馬爾可夫模型的準確率最高,條件隨機場的召回率最高;對于提示說明元素,條件隨機場的準確率和召回率都是最高的;對于來源說明元素,最大熵馬爾可夫模型準確率最高,隱馬爾可夫模型的召回率最高;對于程度說明元素,條件隨機場的準確率和召回率都是最高的;對于其他我們不需要的情況,最大熵馬爾可夫模型的準確率要高,隱馬爾可夫模型的召回率要高。從三個模型的各個元素F1值來看,三個模型的提示說明元素和程度說明元素效果都還可以,而來源說明元素普遍效果較差。從事件的重要程度來看,最為重要的當然是影響事件元素和被影響事件元素,三個模型中條件隨機場對這兩種事件的抽取F1值都超過了50%,而且都高于其他兩種模型。
從準確率來看,準確率高的一般變化形式較少,例如,提示說明元素一般集中在risk、rate、survival等,這些詞出現在句子中大部分時候就是提示說明元素,屬于其他類別事件的情況較少。程度說明元素集中在形容詞和副詞,如around、high、about等,而且這些詞出現大部分就是程度說明元素,屬于其他類別情況較少。最大熵馬爾可夫模型的來源說明元素準確率極高,來源說明元素一般集中在帶有report、review和guideline等詞中,而且與上下文關系較為密切。從召回率來看,從三個模型所有事件召回率來看,未有高于85%的,召回率不是太高,說明三個模型在大部分事件提取中,還有很多相應事件沒有找出來,查全不夠,測試語料中的相應事件的未登錄詞的識別差、召回率低。隱馬爾可夫模型是基于獨立假設的,如果以隱馬爾可夫模型為基準,可以看出,允許用特征來刻畫觀察序列有助于信息的抽取。
從醫學文獻文本中抽取風險事件,面臨的最大問題可能就是實驗文本為非結構化醫學文獻全文文本,自然語言處理起來噪聲太大,無關信息太多,作者句子中用詞風格各有不同,與臨床標準術語集之間也有著很大的鴻溝,為醫學文獻文本信息抽取增加了很大難度。當然本實驗中抽取的事件類別較多,也無形中增添了更多難度。另一個比較大的問題是語料庫太小,未登錄詞處理量大,嚴重影響實驗結果。
從結果來看,有些難點問題需要特別說明一下:
1) 并列式,以and或者or聯合起來的事件。
2) 指代式,如果句子中表示事件的詞是指代詞(如it等)的話,這可能就需要通過前面句子才能理解指代詞到底指代的是什么。
3) 拼接式,如果句子中表示事件的詞表示不夠完整,需要當前句子中的其他詞,或者前面句子中的詞拼接到一起才是完整的事件表示詞。
后面要繼續努力的方向還很多,如風險語句邊界確定問題、風險事件邊界確定問題、無關信息詞的去除問題和醫學領域本體構建問題等。
本文運用序列標注算法對醫學文獻文本中風險信息進行了提取,構建了風險事件語料庫,比較了序列標注算法中隱馬爾可夫模型、最大熵馬爾可夫模型和條件隨機場三種模型的抽取效果,從每個模型的平均F1測度值來看,條件隨機場效果最好,其次是最大熵馬爾可夫模型,然后是隱馬爾可夫模型。當然本研究還有很大的完善空間,如語料庫還是太小;對非結構化文獻全文而言,信息抽取處理起來難度還是很大;還未結合規則化處理事件類別等。
[1] 陳黎明,卞麗芳,馮志仙.基于護理電子病歷的臨床決策支持系統的設計與應用[J].中華護理雜志,2014,49(9):1075-1079.
[2] 李保利,陳玉忠,俞士汶.信息抽取研究綜述[J].計算機工程與應用,2003,39(10):1-5.
[3] 孫師堯,妙全興.基于改進SVM和HMM的文本信息抽取算法[J].計算機應用與軟件,2015,32(11):281-284.
[4] 張國慶.基于生物醫學文獻的知識發現方法研究[D].華中科技大學,2006.
[5] Edwards A,Prior L,Butler C,et al.Communication about risk-Dilemmas for general practitioners[J].British Journal of General Practice,1997,47(424 ):739-742.
[6] Deleris L A,Deparis S,Sacaleanu B,et al.Risk Information Extraction and Aggregation[M]//Algorithmic Decision Theory.Springer Berlin Heidelberg,2013:154-166.
[7] 李瑩.文本病歷信息抽取方法研究[D].浙江大學,2009.
[8] Crowson C S,Therneau T M,Matteson E L,et al.Primer:demystifying risk-understanding and communicating medical risks[J].Nature Clinical Practice Rheumatology,2007,3(3):181-187.
[9] Deleris L A,Sacaleanu B,Tounsi L.Extracting risk modeling information from medical articles[J].Studies in Health Technology & Informatics,2013,192(192):1158.
[10] Jochim C,Sacaleanu B,Deleris L A.Risk event and probability extraction for modeling medical risks[C].2014 AAAI Fall Symposium Series on Natural Language Access to Big Data.2014:26-33.
[11] 夏涵.基于本體的醫學命名實體識別技術研究[D].上海交通大學,2012.
[12] Ben A A,Zweigenbaum P.Automatic extraction of semantic relations between medical entities:a rule based approach[J].Journal of Biomedical Semantics,2011,2(S5):S4.
[13] 于江德,肖新峰,樊孝忠.基于隱馬爾可夫模型的中文文本事件信息抽取[J].微電子學與計算機,2007,24(10):92-94.
[14] 宗成慶.統計自然語言處理[M].清華大學出版社,2008.
[15] Rabiner L R,Juang B H.An introduction to hidden Markov models[J].IEEE ASSP Magazine,1986,3(1):4-16.
[16] 林亞平,劉云中,周順先,等.基于最大熵的隱馬爾可夫模型文本信息抽取[J].電子學報,2005,33(2):236-240.
[17] 王勝,朱明.基于最大熵馬爾可夫模型的地址信息抽取[J].計算機工程與應用,2005,41(21):192-194.
[18] 張金龍,王石,錢存發.基于CRF和規則的中文醫療機構名稱識別[J].計算機應用與軟件,2014,31(3):159-162,198.
[19] 范巖.基于條件隨機場模型的中醫文獻知識發現方法研究[D].北京交通大學,2009.
RESEARCHONMEDICALDOCUMENTRISKEVENTEXTRACTIONBASEDONCOMPARISONOFSEQUENCEMARKINGALGORITHMS
Yu Xin1,2Zhang Ju1,2Qiu Wusong2Wang Fei3
1(UniversityofChineseAcademyofSciences,Beijing100000,China)2(ChongqingInstituteofGreenandIntelligentTechnology,ChineseAcademyofSciences,Chongqing400714,China)3(SouthwestHospital,theThirdMilitaryMedicalUniversity,Chongqing400038,China)
With the rapid growth of medical literature, it is a huge challenge to extract valuable knowledge from big data in medical literature text. This paper focused on the event extraction of quantitative risk statements in medical literature, and constructed the knowledge base of intelligent clinical decision support system. Firstly, the risk events corresponding to the quantitative risk information were extracted from the medical literature, and then the risk events were processed. The hidden Markov model, the maximum entropy Markov model and the conditional random field model were used to extract the information of the risk events in medical literature unstructured full text, and the algorithms were compared. From the average F1 of three models, conditional random field was the best, followed by maximum entropy Markov model, and then the hidden Markov model, but each model had its own advantage of certain event extraction accuracy or recall.
Medical literature Risk event Hidden Markov model Maximum entropy Markov model Conditional random field
2017-02-14。重慶市社會民生科技創新專項項目(cstc2015shmszx120025)。喻鑫,碩士生,主研領域:機器學習,自然語言處理。張矩,研究員。邱武松,助理研究員。王飛,工程師。
TP391
A
10.3969/j.issn.1000-386x.2017.12.011