蘇嘉 何彬 吳昊 楊錦鋒 關毅姜京池 王煥政 于秋濱
心血管疾病(Cardiovascular diseases,CVDs)是一組發生于心臟和血管的疾病[1],據2015年世界衛生組織報道,心血管疾病已成為世界范圍內的頭號死因,每年死于心血管疾病的人數多于任何其他疾病.而在發展中的中國,情況更為嚴重.世界衛生組織明確指出,大多數的心血管疾病可以通過控制諸如煙草使用、不健康飲食、肥胖、缺乏鍛煉等風險因素而得到預防[1].其他的心血管疾病風險因素還包括高血壓、糖尿病、血脂異常等[2].因此,對這些風險因素的管理控制成了預防心血管疾病的首要任務.電子病歷是現代醫療機構開展高效、優質的臨床診療、科研以及醫療管理工作所必需的重要臨床信息資源,也是居民健康檔案的主要信息來源.海量高質量的電子病歷數據蘊含有豐富真實可信的醫療知識和患者的健康信息,特別是風險因素信息,如“既往高血壓病史1周,最高可達180/100mmHg”、“糖尿病史10年”等,如能對電子病歷中的這些信息進行自動識別抽取,繼而依靠計算機系統長期地對其進行管理控制,這將對自動化研究心血管疾病的風險因素以及預防心血管疾病具有重大意義.
在自然語言處理領域中,自動信息抽取主要基于統計機器學習方法,而由于電子病歷文本的半結構化特點和鮮明的子語言特點[3],使得開放域的標注語料無法適應于電子病歷文本的信息抽取.因此,一份專門的針對中文電子病歷的心血管疾病風險因素標注語料庫就成了研究的基礎.Stubbs和Uzuner[4]也指出對于特定的醫療信息抽取任務需要構建一個新的標注語料.語料標注研究作為自然語言處理中重要的組成部分,一直以來都備受關注:從持續長達八年之久的Penn Treebank詞性和句法標注項目[5],到生物醫療領域涵蓋十萬級標注的GENIA語料庫[6],再到每屆i2b2(Informatics for integrating biology&the bedside)特定任務標注語料庫.
本文研究的重點是從中文電子病歷中挖掘和心血管疾病有關的風險因素,構建標注體系、標注規范和標注語料庫.我們提出了適用于中文電子病歷的心血管疾病風險因素標注體系,并制定了標注規范,構建了首份心血管疾病風險因素中文標注語料庫.
在醫療信息抽取領域,i2b2組織的公開評測引起了廣泛關注.在2006年組織的對患者吸煙狀態的識別任務[7]中,患者的吸煙狀態被分為五類.2008年該評測對電子病歷中的肥胖及其并發癥進行了抽取[8],同時在標注時還引入了推斷機制,對檢查值如血壓值、血糖值等能表征疾病存在的描述同樣進行標注.2009年關注從電子病歷中抽取藥物相關的信息[9],同時藥物也是我們對心血管疾病風險因素標注的指針之一.在2010年,i2b2評測組織者號召參賽者從電子病歷中抽取醫療概念、醫療問題的修飾以及醫療問題、檢查、治療之間關系,同時對檢查和藥物能夠表征醫療問題這一事實也進行了考慮[10].在2012年的評測任務中,電子病歷中的醫療事件、時間信息以及事件和時間的關系被作為抽取對象[11].而2014年的任務中則對糖尿病患者電子病歷中的心臟病風險因素進行了抽取[4].除了i2b2之外,另一些研究者也對健康記錄中的醫療術語和實體[12?14]、時間信息[15?16]、醫療事件之間的關系[17?18]進行了討論.同時在醫療信息抽取領域還有一些公開好用的知識庫和標注語料庫,如ICD-9-CM[19]、SNOMED[20]、UMLS[21]、GENIA[6]、Penn Treebank[5].
對于中文醫療信息抽取的研究,近年來也頗受領域研究者們的關注.楊錦鋒等[22]對中文電子病歷中的命名實體和實體關系構建了標注語料庫,值得借鑒的是他們采用了預標注訓練標注者更新規范的標注模式,取得了較高的標注一致性.Lei[23]對中文電子病歷中出現的醫療問題、檢查、藥物、治療過程進行了抽取研究.Xu等[24]則考慮中文電子病歷實體識別和分詞聯合模型.Wang等[25]為了從肝癌患者手術記錄中抽取與腫瘤相關的信息,構建了一個含有961個和腫瘤相關的實體語料庫.Wu等[26]用深度學習方法對中文電子病歷中的命名實體進行識別,所用標注語料庫為Lei等[27]在400份病歷上構建的實體標注語料庫.Wang等[28]對傳統中醫醫療記錄中癥狀名的標準化進行了探索,對中醫醫療文本中的同個癥狀的不同癥狀名進行識別.
2014年,i2b2評測組織者[4,29]對糖尿病人的心臟病風險因素進行了考慮.在制定的標注規范中,五種風險因素:高血壓、高血脂、吸煙、肥胖和家族史,兩種疾病:糖尿病和心臟病以及它們的標注原則得到了詳細的解釋,首次提出對風險因素和疾病進行指針(Indicator)的標注,指針是一種特征用以表征疾病或風險因素的存在.在對疾病和風險因素時間屬性的標注過程中,依據的是醫療問題發生的時間和DCT(Document creation time)之間的先后關系.基于構建的標注規范,評測組織方對1304份具有時間持續性的醫療記錄中的疾病和風險因素進行了標注.最終在具有醫學背景的標注者標注下,構建了首份糖尿病人心臟病風險因素英文標注語料庫.
以Gasparyan描述心血管疾病風險因素的專著[2]為基礎,結合國家心血管病中心的《中國心血管病報告2015》、世界心臟病聯盟關于心血管疾病風險因素的報告[30]和世界衛生組織指出的心血管疾病風險因素,在專業臨床醫生的指導下,我們提出了適用于中文電子病歷內容特點的12種心血管疾病風險因素.圖1展示了標注體系縮略圖.下面按風險因素及其指針、時間屬性、修飾逐步介紹中文電子病歷心血管疾病風險因素的標注體系.

圖1 風險因素標注體系縮略圖Fig.1 The thumbnail of risk factor annotation scheme
借鑒2014年i2b2組織的心臟病風險因素標注任務[4]經驗,我們制定了中文電子病歷心血管疾病風險因素的標注原則,風險因素的指針是指描述文字是以何種特征映射為相應風險因素.詳見表1.
我們對出現的相關檢查指標值均進行標注,如“BP130/80mmhg”、“隨機血糖:14.5mmol/L”,這樣做一是因為未超閾值的檢查值在風險因素的發展中有著重要的作用;二是為了標注方便,標注者無需對檢查值是否超過閾值進行反復判斷,可以節省標注時間,提高標注效率.風險因素描述里的能表示程度的信息如持續時間“高血壓病1年”里的“1年”反映風險因素的持續程度、頻率“每天20支”里的“每天”表示吸煙頻率等都需要一起標注.
時間屬性表達的是風險因素存在的時間信息.Sun等在文獻[11]中指出“醫療事件的時間信息在病人的診斷、治療和愈后中起到重要作用”.時間屬性可以分成如下四類:住院之前、住院期間、出院之后、一直持續.由于年齡和性別的特殊性,我們不對這兩類風險因素進行時間屬性的標注.對風險因素時間屬性的標注需要結合具體的上下文語境和出現的位置.
2.2.1 住院之前
風險因素的發生時間在住院之前,如以前量過的血壓,以前測過的血糖等.參見如下例子:有高血壓病史,最高達180/100mmHg(描述中“180/100mmHg”是在高血壓病史之后出現,認為這里的“最高達”發生于過去,對應的風險因素高血壓發生于住院時間以前,標注高血壓的時間屬性為住院之前).
2.2.2 住院期間
風險因素的發生時間在住院期間,如住院期間的檢查、治療、癥狀、確診的疾病等.結合我們的病歷特點,對在出院小結中的部分:門診收治診斷、臨床初步診斷、臨床確定診斷、入院時情況中的查體、治療經過、出院時情況出現的風險因素以及首次病程記錄中的部分:病例特點中的查體、臨床初步診斷、診斷依據中的查體、診療計劃出現的風險因素均標注時間屬性為住院期間.參見如下例子:查體:Bp130/80mmHg(對應的高血壓標注時間屬性為住院期間).
2.2.3 出院之后
風險因素的發生時間在出院之后,如醫生開出院之后需要服用的藥物、對癥治療等.對在出院小結中的出院醫囑部分出現的風險因素時間屬性標注為出院之后.參見如下例子:出院醫囑:控制血壓,監測血糖(控制血壓對應于高血壓,對其時間屬性標注為出院之后).
2.2.4 一直持續
風險因素在短時間內不會改變,持續于住院之前、住院期間、出院之后.參見如下例子:身材肥胖,發育正常(這里的肥胖對應于超重或肥胖,一般認為患者的肥胖不會在一次住院期間而改變,因此標注時間屬性為一直持續).
在對風險因素時間屬性的標注過程中,需要注意的是對高血壓、糖尿病、血脂異常、慢性腎病、動脈粥樣硬化這些慢性疾病的標注,在用以上規則都無法判斷的情況下均標為一直持續,因為這些疾病病程周期長、治療過程一般只是起到控制和預防并發癥的作用,較難徹底治愈如初,會長期的存在于患者身上.

表1 中文電子病歷心血管疾病風險因素的標注原則Table 1 Annotation guidelines for CVDs risk factors in CEMR
風險因素標注體系中,我們對風險因素進行修飾的判斷,將風險因素按是否對患者本人進行考慮以及對患者本人進行考慮時發生的確定程度進行如下分類:肯定的、否定的、可能的、非患者本人的.由于性別和年齡的特殊性,不對其進行修飾的標注.
2.3.1 肯定的
風險因素確定發生過或正在發生于患者身上,則標注為肯定的.比如下面的例子:既往高血壓病史20年(高血壓病史20年確定在患者身上發生過,修飾標注為肯定的).
2.3.2 否定的
風險因素在患者身上進行了考慮,但確定不在患者身上發生.一般表述前有否定詞如“無”、“否認”、“未”等來否定患者風險因素的存在.比如下面的例子:既往否認高血壓、糖尿病史(這里的“高血壓”和“糖尿病史”對應風險因素高血壓和糖尿病,修飾標注為否定的).
2.3.3 可能的
風險因素在患者身上進行了考慮,但不確定在患者身上是否發生,需要進一步的證據才能確定,如風險因素出現在出院小結中的門診收治診斷、臨床初步診斷部分,或者出現在病程記錄的臨床初步診斷等診斷信息待確定的部分.比如下面的例子:臨床初步診斷:···糖尿病(這里的“糖尿病”為初步診斷結果,仍然需要進一步確診,故對風險因素糖尿病標注修飾為可能的).
2.3.4 非患者本人的
風險因素不在患者身上進行考慮,如發生在患者的親屬或者別人身上.比如下面的例子:父親有高血壓、冠心病病史(這里的“高血壓”對應風險因素高血壓,但不是在患者身上發生的,故標注為非患者本人的).
本文的標注體系借鑒了2014 i2b2/UTHealth心臟病風險因素的標注體系,但在此基礎之上又有如下的改進和補充:1)結合諸多權威心血管疾病風險因素研究,基于中文電子病歷的特點,在專業醫生的指導和參與下,我們提出了適合中文電子病歷的12種心血管疾病風險因素標注原則,相比較于2014 i2b2/UTHealth中標注心血管疾病的子集心臟病的5種風險因素,種類范圍更加完備;2)對于風險因素的相關檢查值,不論是否超過閾值,我們均對其進行標注.2014 i2b2/UTHealth中只對超過閾值的檢查值進行風險因素標注,這就缺少對未超閾值信息的抽取并增加了標注難度;3)對于一個長期風險因素監控系統來說,風險因素的時間信息至關重要.在2014 i2b2/UTHealth中考慮的是風險因素和DCT之間的關系,而中文電子病歷中的入院和出院時間是被詳細記錄下來的,根據住院時間來確定風險因素的發生時間是最適合中文電子病歷心血管疾病風險因素標注的;4)在2014 i2b2/UTHealth中,心臟病風險因素的標注并未考慮修飾信息,也就無法確定風險因素發生的確定程度,這在我們的標注體系中得到了補充.
依據上面建立的中文電子病歷心血管疾病風險因素標注體系,我們構建了標注規范初稿,開發了標注工具,對經過處理后的數據進行了標注.我們邀請一名專業醫生(哈爾濱醫科大學附屬第二醫院呼吸內科住院醫生、醫學博士)參與規范的制定和完善,同時聘請兩名醫學在讀碩士生(哈爾濱醫科大學)參與病歷的標注.整個語料構建的過程可以分為三個階段,具體的構建實施流程見圖2,以下對其中的一些細節進行介紹.
我們從哈爾濱醫科大學附屬第二醫院2012年全年的共140000份病歷包括心血管內科、心血管外科等在內的35個大科室87個子科室中篩選出600名患者的出院小結和首次病程記錄共1200份病歷作為使用數據集.這600名患者中有344名來自心血管內科,190名來自心血管外科,還有66名來自其他科室.由于醫院保存的病歷是快照的形式,為了對數據進行標注,需要對圖片格式的病歷進行文本化操作:1)用光學字符識別(OCR)工具“Tesseract”[31]將圖片格式的電子病歷轉化為文本格式;2)人工修正1)中自動識別時產生的信息錯誤,同時移除掉隱私信息,如病人的姓名、家庭住址、住院號、醫生姓名等;3)對修正及去隱私后的病歷進行XML編碼,用XML標記為病歷每一部分添加子標題.

圖2 風險因素語料構建流程圖Fig.2 Annotation flow chart of risk factor corpus
根據標注體系制定規范初稿,同時應用開發的風險因素標注工具對如上經過預處理的電子病歷進行風險因素的標注.標注包括對風險因素類型、指針、時間屬性和修飾進行分類,同時對于不確定的標注打上不確定標簽.之后,我們對兩位標注者的標注進行一致性IAA(Inter-annotator agreement)計算,并與標注者討論不一致標注,對規范中存在的問題進行修改和更新.
如上的培訓過程迭代執行,直到第二步中兩位標注者的標注一致性能夠持續地達到很高的水平.最終我們一共進行了5輪培訓,每輪的標注數據均不相同,而在每一輪中兩位標注者標注相同的15份病歷,一致性評價結果如表2所示.
文獻[32]指出,當標注一致性達到0.8時,即可認為語料的一致性是可信賴的.在五輪標注培訓之后,我們認為標注規范和兩位標注者已滿足正式標注語料庫的要求.

表2 五輪培訓的標注一致性Table 2 The IAA in the training
在正式語料庫構建的階段,我們采用三種措施來保障標注的質量.
1)在開發標注工具的時候,我們添加了一個“不確定”標記.當標注者不確定自己的標注時,可為該標注打上不確定標簽,用于后續的討論.
2)正式標注時,我們給兩位標注者分發的數據中有50份病歷是重復的,這部分重復病歷可以用來評價標注一致性,衡量標注語料庫的質量.
3)標注者定期的對標注結果進行提交,語言學家對標注結果進行隨機抽樣檢查,保證至少1/3的語料被抽查到.
最終,我們用1200份病歷構建了心血管疾病風險因素標注語料庫,總共包含9678個風險因素標注,標注一致性F值為0.968表明了該語料庫的高質量.我們對12種風險因素的標注結果進行了統計,具體可見表3.

表3 語料庫中各風險因素數量統計Table 3 The statistics of risk factor annotated corpus
在我們的標注體系中,對心血管疾病的12種風險因素進行了考慮,其中對疾病類的7種風險因素如超重或肥胖、高血壓、糖尿病等的標注,可以用來構建抽取模型自動抽取患者的疾病、藥物、檢查值等信息,以對這些慢性疾病進行健康管理,包括檢查值的變化情況、藥物的有效性監控、疾病的治愈分析等.在2014 i2b2/UTHealth心臟病風險因素標注中,Stubbs和Uzuner[4]即對時間屬性的作用做了解釋“為了便于呈現患者心臟病的長期病情變化情況,而將風險因素和病人的醫療時間點關聯起來”.本文提出的將心血管疾病風險因素和住院時間相關聯,可以直觀地看到風險因素隨時間變化情況,如風險因素肥胖在某次住院之前發生了,而在下次住院時該風險因素是否定的,第三次住院時肥胖發生在住院之前,則可以看到該風險因素從出現到消失再到出現的概況.標注語料庫的統計結果表明,諸如高血壓、糖尿病、年齡、性別等是中文電子病歷所關注記錄的信息,而對于患者的心血管疾病家族史、慢性腎病、超重或肥胖等信息記錄較少,和前幾個風險因素相比較少受到關注.在對病歷的標注過程中,我們發現中文電子病歷中像非健康飲食、缺乏運動等均未出現,這對于訓練風險因素的抽取模型是不利的.后續如果擴展數據來源到別的數據上如體檢報告,還需要進一步地挖掘這些風險因素.
對數據的初步使用探索表明了風險因素的實用性.我們對心血管疾病進行了自動診斷實驗,根據患者的病情描述提取文本特征,通過訓練機器學習模型來對文本進行心血管疾病診斷分類,分為患有和未患有.數據使用583份已標注好醫療實體(疾病、癥狀、檢查、治療)的首次病程記錄,其中心血管疾病患病正例有235份.我們對病歷中的實體提取出自述癥狀、檢查結果,同時使用詞典加規則的方法提取患者的心血管疾病風險因素,對比了機器學習方法LR(Logistic regression),RF(Random forest),GBDT(Gradient boosting decision tree),XGboost[33].實驗結果如表4所示,其中的值表示分類的F值.實驗表明在加入風險因素信息如高血壓、糖尿病、吸煙等之后,分類效果均有顯著提升,這表明了風險因素信息的實用價值.我們對風險因素進一步的實用性探索正在進行中.

表4 心血管疾病診斷實驗結果Table 4 Diagnosis results of CVDs
本文主要總結了中文電子病歷心血管疾病風險因素標注問題,分為以下三部分進行了介紹:1)建立適用于中文電子病歷的心血管疾病風險因素標注體系;2)制定中文電子病歷心血管疾病風險因素標注規范;3)依據規范,構建首份中文電子病歷心血管疾病風險因素標注語料庫.在標注體系的建立、標注規范的制定完善、語料標注問題的討論中均有專業醫生的指導和參與,所建立起的標注準則具有較高的科學價值.在標注的過程中,我們先對標注者進行了5輪培訓,結果顯示標注一致性能保持在很高的水平,最后構建的語料庫標注一致性F值為0.968表明了標注語料庫的高質量.本文提出了如下幾點創新:1)建立了首個適用于中文電子病歷的心血管疾病風險因素標注體系,包含12種風險因素及其相關信息的標注原則;2)在對風險因素檢查值標注時,考慮我們的任務需要,無論數值是否高于判斷閾值均對其進行標注;3)結合中文電子病歷的特點,引入四類時間屬性的標注,用于觀察風險因素和住院時間的關系;4)我們對風險因素的修飾進行了判斷,根據風險因素是否在患者身上進行考慮以及在患者身上進行考慮時的確定程度進行了分類.所構建的語料庫可以用來做風險因素的自動抽取研究以及構建適用于監控中國人健康狀況的心血管疾病風險因素自動化管理系統,預防風險因素的發展,減少心血管疾病的發生,提高醫療資源利用率降低醫療成本,為健康事業做出貢獻,并將對其他類似疾病的預防研究起到積極的參考作用.同時,我們的研究是基于國內三甲醫院真實的住院病歷而開展的,具有較強的實用性和權威性,為中文電子病歷健康大數據的自動挖掘和利用帶來了生機.研究中制定的規范、開發的標注工具、標注的數據樣例以及醫院的倫理證明可見https://github.com/WILAB-HIT/RiskFactor.
致謝
感謝哈爾濱醫科大學附屬第二醫院病案室對本研究的支持.感謝標注者認真仔細的工作.