王潤奇+關毅
摘要: 關鍵詞: 中圖分類號: 文獻標志碼: A文章編號: 2095-2163(2017)06-0132-04
Abstract: Semisupervised learning is a method of machine learning combining supervised learning with unsupervised learning. It improves the result of model established by the labeled data with the use of unlabeled data, aiming to reduce the need of large amount of labeled data and the labor cost. In the field of Named Entity Recognition(NER) of Chinese electronic medical records, semi-supervised learning could be used to improve the training result of a few labeled data, due to the lack of enough labeled data, the professionality of medical texts and the high cost of manual annotation. This paper introduces the background of NER in Chinese electronic medical records and related researches of semisupervised learning, and applies the improved TriTraining algorithm to improve the effect of NER model of Chinese electronic medical records.
0引言
信息技術的發(fā)展帶來了各行業(yè)的信息化建設。醫(yī)學信息系統(tǒng)在醫(yī)院中迅速興起,海量的電子病歷也隨之產生。越來越多的電子病歷取代了傳統(tǒng)紙質病歷,不僅避免了實體介質易污損、病例易缺失造成的重復檢查的困擾,也方便了資料在科室、醫(yī)院等不同單位間的傳遞。
近年來,隨著人們對健康的關注,智能醫(yī)療成為研究熱點。借助人工智能的醫(yī)療服務系統(tǒng),可以減少目前由于醫(yī)療資源緊缺導致的看病難、醫(yī)患關系緊張等問題。電子病歷中包含了患者就醫(yī)過程中,醫(yī)務人員記錄下的真實臨床信息。如果能自動化識別電子病歷中的寶貴信息,不僅能讓患者隨時了解自身健康狀況,對未來的疾病風險有所了解與預防,還能為醫(yī)療決策支持、詢證醫(yī)學、疫情監(jiān)測等實際應用提供可靠的數據支持。
實體識別研究作為信息處理與數據挖掘的基礎,是開展針對電子病歷文本研究的前提[1]。但是,與開放領域的實體識別研究一樣,中文電子病歷的實體識別研究也需要大量標注語料。國內電子病歷的實體識別工作才剛剛起步,缺少充足的標注語料,且標注語料的獲取需要醫(yī)學專業(yè)人員的手工標注,人工與時間成本高。因此,通過主動學習、半監(jiān)督學習等方法,利用未標注數據對學習性能做進一步效果提升,成為近年來的研究熱點。
1相關研究
命名實體識別作為醫(yī)學自由文本數據中抽取信息并結構化的關鍵技術,一直是臨床醫(yī)學自然語言處理(NLP)的研究基礎與熱點。通用NLP領域的大量名實體識別方法被應用到了臨床醫(yī)學信息抽取領域,其中包括早期采用的基于詞典與規(guī)則相結合的方法,和隨著醫(yī)療信息語料庫構建而興起的基于機器學習的方法。在一系列公開測評任務中,基于機器學習的監(jiān)督學習模型取得了較好的性能。
Dingcheng Li等[2]對比了條件隨機域(CRF)和支持向量機(SVM)兩種模型,并結合SNOMED-CT詞典進行了電子病歷命名實體識別,其中SVM模型的F值只有0.64,而CRF模型F值達到了0.86。Jonnalagadd等[3]在基本特征的基礎上,增加分布式語義特征,采用CRF模型對電子病歷中的醫(yī)療問題、檢查、治療進行識別。de Bruijn等[4]在2010年美國國家集成生物與臨床信息學研究中心(Informatics for Integrating Biology and the Bedside,I2B2)組織的概念識別及關系抽取評測中排名第一,其引入了UMLS、cTAKES、Medline等醫(yī)學知識庫與臨床醫(yī)學NLP系統(tǒng)作為特征,并采用Self-training方法擴大訓練語料,基于半馬爾科夫模型(一種隱馬爾科夫模型)進行訓練,取得了85.23%的結果。此外,研究中還采用了雙層分類器的方法來進行實體修飾類別識別,首先用三個獨立分類器分別對單詞進行實體修飾類別識別,而后整合三個分類器的結果得出最后的識別預測。
然而傳統(tǒng)有監(jiān)督機器學習依賴于大量的標注語料,而對樣本的標注工作耗時耗力,像電子病歷這樣專業(yè)領域的樣本標注還需要專業(yè)人員的協(xié)助。因此在沒有大量已標注的中文電子病歷情況下,傳統(tǒng)的監(jiān)督學習方法效果將受到限制。半監(jiān)督學習能夠基于少量的標注語料,且依據一定的策略,自動選擇并標注未標注語料,擴充模型的訓練集。伴隨利用未標注樣例的強烈需求,半監(jiān)督學習在近年來逐漸成為研究熱點[5]。
2算法
2.1協(xié)同訓練算法
半監(jiān)督學習中,學習器獨立利用未標記數據,不需要人工參與交互。目前的半監(jiān)督學習方法常常基于兩種假設:一種是聚類假設,即相同聚類中的數據很可能標記相同。在這種假設下,學習器的決策邊界應該盡可能通過數據稀疏的地方,同時應當盡量避免把數據稠密的區(qū)域劃分到決策邊界兩端;另一種是流形假設,這種假設認為處于局部相鄰區(qū)域的數據性質相似,其標記也應該相似。在聚類假設下,未標記數據可以幫助學習器學習數據空間稠密和稀疏區(qū)域的分布,進而調整監(jiān)督學習的決策邊界;在流形假設下,未標記數據可以更準確地刻畫數據空間的局部特征,從而更好地進行數據擬合[6]。endprint
半監(jiān)督學習常用的算法有自訓練、協(xié)同訓練、基于圖的半監(jiān)督學習算法等。其中,協(xié)同訓練算法利用兩個或兩個以上學習器,互相為對方挑選置信度高的未標記數據進行標記,協(xié)同互助地更新模型,是半監(jiān)督學習中最重要的算法之一。
標準的協(xié)同訓練算法[7]最早由Blum和Mitchell提出。該算法要求數據集具備兩個滿足“充分冗余”的屬性集:每個屬性集都足以說明該問題,且兩個屬性集之間相互條件獨立。如網頁分類問題中,網頁本身的內容與網頁的超鏈接就可以認為是兩個充分冗余的屬性集。在兩個屬性集上分別利用有標記數據訓練出學習器甲、乙,在訓練過程中,學習器甲將未標注集中自己預測的置信度較高的數據標為自身所預測的標記,并加入學習器乙的訓練集中,同樣學習器乙也將自己預測的數據加入學習器甲中,隨后二者各自利用新訓練集進行模型更新。這樣迭代進行訓練,直至訓練停止。但是事實上,在大部分研究領域,包括中文電子病歷領域,“充分冗余”這個要求很難滿足。因此,Goldman和Zhou提出了一種不再需要“充分冗余”屬性集的協(xié)同訓練改進算法[8]。該算法在構造學習器時,使用同一屬性集,利用不同的決策樹算法,訓練出兩個不同的學習器。預測時,選擇兩個分類中對目標數據預測置信度較高的學習器進行預測。改進算法雖然對協(xié)同訓練算法中的“充分冗余”要求做了改進,但是引入了新的條件:不同的決策樹算法。為了進一步放松約束條件,Zhou和Li提出了Tri-Training算法[9]—一種既不要求“充分冗余”,也不需要不同決策樹算法的半監(jiān)督學習方法。該算法通過對標注集進行有放回抽樣,獲取到三個訓練集,分別訓練出三個學習器甲、乙、丙。在迭代訓練過程中,如果學習器甲、乙對某個未標記數據的預測相同,則認為該數據的置信度較高,將其標注后加入學習器丙的訓練集中。同理,學習器甲、乙的訓練集以同樣方法擴充。在進行預測時,采用三個學習器投票的方式進行預測。
但是,Tri-Training利用三個學習器投票一致性來隱式表示置信度的方式,雖然可以減少頻繁交叉驗證所需的時間,但是不夠準確,初始學習器較弱時,未標記數據很可能被標記錯誤,進而導致第三個學習器的訓練集中引入噪音。因此,Liu等人在投票值的基礎上加入貝葉斯后驗概率,使得投票結果區(qū)分度更強,減少噪音的引入[10];三個學習器采用同樣的屬性與學習器算法,可能會導致學習器之間過于雷同,影響學習效果。因此Qian[11]等人在利用Tri-Training算法對文檔進行作者識別模型訓練時,分別利用字符、語法和句法屬性構造三個學習器,使學習器的視角產生差異。但是這些開放領域的方法不能直接套用到中文電子病歷實體識別中。首先,電子病歷實體識別是序列標注問題而不是分類問題,無從獲得貝葉斯后驗概率;其次,病例文本具有特殊的語言特征,并不符合通用句法規(guī)范[12],難以構造出三個學習器視角。因此,本文基于中文電子病歷的實際情況,對原始的Tri-Training算法進行了改進。
2.2Tri-Training算法改進
針對Tri-Training中的問題,本文提出以下改進方法:
1)使用部分隨機的方法構建初始訓練集。原始Tri-Training算法中,為了保證三個學習器之間既有共性、又有差異性,采用有放回抽樣的方法構建初始訓練集。這樣抽取出的數據,很可能未覆蓋全部標注數據,造成標注資源浪費,進而導致效果減弱。本文使用部分隨機的方法構建初始訓練集,具體做法是:三個學習器平分標注數據集,而后通過對標注數據隨機抽樣的方式擴充訓練集。這樣學習器訓練集之間互有重合又互有區(qū)分,而且能覆蓋標注集的所有信息。
2)選用相同的機器學習算法和不同的參數構建三個學習器。Tri-Training算法采用同樣方法構造三個學習器,減弱了對學習器的約束。但是在病歷數據中,文本的行文內容與風格較為統(tǒng)一,完全相同的學習器構造方式會導致學習器之間的區(qū)分度不夠,進而導致學習器的集成效果受到影響。本文中對學習器算法設置了不同的參數,訓練出三個學習器,既沒有新增數據預處理的工作量,也使得學習器之間有所區(qū)分。不同的參數可能會對學習器性能產生影響,因此需要在對不同參數進行對比實驗的基礎上,選取結果較優(yōu)的參數。
3)對學習器投票結果進行過濾。Tri-Training通過委員會投票的一致性選擇數據,減少了協(xié)同訓練中交叉驗證的時間,但隱式表示置信度的方式不夠準確。比如對于待選擇樣本x,學習器A對其的預測為:P(y1|x)=0.3,P(y2|x)=0.25,P(y3|x)=0.25,學習器B對其的預測為:P(y1|x)=0.25,P(y2|x)=0.20,P(y3|x)=0.20,顯然A、B對其的預測結果均為y1,但其中樣本被分類成y1的置信度并不高,不宜將其標為y1加入迭代訓練中。在選擇過程中,可以將Tri-Training與自訓練的簡單結合,設置學習器預測概率閾值,對學習器的投票結果進行過濾。當學習器預測的概率值低于閾值時,不將其加入到迭代訓練集。
算法步驟流程如下:
輸入:標注文檔集L,未標注文檔集U,過濾閾值t
輸出:新標注文檔集L′,模型M
1)將標注集L打亂并平分為標注集L1、 L2、 L3;再分別從L中隨機抽取相同數量的若干文檔到L1、 L2、 L3,合并為初始訓練集L1′、 L2′、 L3′。
2)基于不同參數的監(jiān)督學習模型與標注集L1′、 L2′、 L3′,訓練出初始模型M1、 M2、 M3,并評價三個模型的集成模型測試結果。
3)基于模型M1和模型M2對U中未加入訓練集L3′的句子進行預測,若結果一致,且預測結果的概率值高于t,則將句子擴充到訓練集L1′。
4)模型M2和M3、模型M1和M3類比步驟3)操作,分別得到新訓練集L1′、 L2′?;谛掠柧毤謩e訓練新模型M1、 M2、 M3,并進行集成評價。endprint
5)若評價結果連續(xù)兩次不高于上一次訓練的結果,或步驟3)中可擴充句子數為0,則終止算法,并返回上一次迭代過程的中間結果L1′、 L2′、 L3′的并集L′和模型M1、 M2、 M3的集成模型M;否則重復步驟3)~5)。
3實驗與結果分析
本文以60份已標注電子病歷文檔和1 000份未標注電子病歷文檔作為訓練數據,以40份已標注電子病歷文檔作為測試用例。60份已標注電子病歷文檔作為數據集L,1 000份未標注電子病歷作為數據集U。監(jiān)督學習模型采用適合序列標注任務的條件隨機場(Conditional Random Fields,CRF)模型。
實驗以原始Tri-Training算法為對照,證明改進后的Tri-Training算法的有效性。如圖1所示,標注文檔集L=60,閾值t=0.5,初始分類器訓練集大小為標注文檔集的二分之一時(即|L1′|=|L2′|=|L3′|=1/2|L|),研究得到了改進前后算法產生的集成模型效果對比。
將三個模型擴展后的訓練集L1′、L2′、L3′合并成新的標注集L′,并訓練模型,得到半監(jiān)督學習前及算法改進前后的各類醫(yī)療實體(分類標準參考文獻[8])識別效果則如表1所示。
由圖1可以看出,由于對初始訓練集的構建做出優(yōu)化,改進后算法相對原始算法,在第一次訓練時就具備優(yōu)勢。原始算法由于起始模型較弱,在半監(jiān)督學習過程中效果不僅沒有提高,反而因為模型引入的噪音,將導致模型效果變差。而改進后算法由于對擴展的未標注數據有所過濾,所以在半監(jiān)督學習后模型的效果得到提升。但是由于數據集數量限制,在第5次迭代后,模型就無法再找到合適的未標注數據進行訓練集擴展,因此半監(jiān)督學習的提升效果比較有限。由表1可以得出,相對于改進前,模型的效果已由78.88%提升到80.90%,尤其是在癥狀與檢查結果兩項,效果提升比較顯著,說明算法的改進是有效的。
4結束語
本文提出的對Tri-Training算法的改進,模型相對于原始算法,在中文電子病歷上識別效果由78.88%提升到80.90%,在不增加人工標注工作量的基礎上,該算法能有效地提高模型的識別效果。
但是由于數據量限制,使得模型選出的擴展數據數量受到限制,因此半監(jiān)督學習提升的效果不夠明顯。在后續(xù)的研究中,一方面需要擴充數據集,進一步驗證算法在大數據量情況下的優(yōu)化效果;一方面可以采用多種算法方式構造三分類器,使分類器之間的差異更顯著,從而提高集成效果。
參考文獻:
[1] WASSERMAN R C. Electronic medical records (EMRs), epidemiology, and epistemology: Reflections on EMRs and future pediatric clinical research[J]. Academic pediatrics, 2011, 11(4): 280-287.
[2] LI Dingcheng, KIPPER-SCHULER K, SAVOVA G. Conditional random fields and support vector machines for disorder named entity recognition in clinical texts[C]//BioNLP '08 Proceedings of the Workshop on Current Trends in Biomedical Natural Language Processing. Stroudsburg, PA, USA:ACM, 2008:94-95.
[3] JONNALAGADDA S, COHEN T, WU S, et al. Using empirically constructed lexical resources for named entity recognition[J]. Biomedical Informatics Insights, 2013, 6(S1):17-27.
[4] De BRUIJN B, CHERRY C, KIRITCHENKO S, et al. Machinelearned solutions for three stages of clinical information extraction: The state of the art at i2b2 2010[J]. Journal of the American Medical Informatics Association, 2011, 18(5):557-562.(下轉第138頁)[5] 孫承杰. 基于判別式模型的生物醫(yī)學文本挖掘相關問題研究[D]. 哈爾濱:哈爾濱工業(yè)大學, 2008.
[6] 周志華. 半監(jiān)督學習中的協(xié)同訓練風范[M]// 機器學習及其應用. 北京:清華大學出版社, 2006: 259-271.
[7] BLUM A, MITCHELL T. Combining labeled data and unlabelled data with cotraining[C]// Proceedings of the 11th Annual Conference on Computational Learning Theory (COLT-98).Madison, WI, USA:ACM, 1998:92-100.
[8] GOLDMAN S A, ZHOU Yan. Enhancing supervised learning with unlabeled data[C]// Proceedings of the Seventeenth International Conference on Machine Learning. San Francisco, CA, USA:ACM, 2000:327-334.
[9] ZHOU Zhihua, LI Ming. Tri-Training: Exploiting unlabeled data using three classifiers[J]. IEEE Transactions on Knowledge and Data Engineering, 2005, 17(11):1529-1541.
[10]LIU Kun, GUO Yuwei, WANG Shuang, et al. Semi-supervised learning based on improved co-training by committee[M]// Intelligence Science and Big Data Engineering. Big Data and Machine Learning Techniques.Lecture Notes in Computer Science, Cham:Springer International Publishing, 2015:413-421.
[11]QIAN Tieyun, LIU Bing, CHEN Li, et al. Tri-training for authorship attribution with limited training data:A comprehensive study[J]. Neurocomputing, 2016, 171(C):798-806.
[12]楊錦鋒, 關毅, 何彬,等. 中文電子病歷命名實體和實體關系語料庫構建[J]. 軟件學報, 2016, 27(11):2725-2746.endprint