孫 健,高大啟,阮 彤,殷亦超,高 炬,王 祺
(1.華東理工大學 信息科學與工程學院,上海 200237; 2.上海中醫(yī)藥大學附屬曙光醫(yī)院,上海 200021)
時間關系識別研究在問答系統(tǒng)、文本提取等自然語言處理領域有著重要的作用。在電子病歷文本中,時間關系是臨床敘事中的一個重要維度,對于研究患者的病情發(fā)展和治療效用至關重要,許多臨床事件只有在特定的時間背景下才有顯著意義。例如,癥狀發(fā)展的順序,不同的治療時間,以及藥物的持續(xù)時間和用藥頻率,都會對最終病情的發(fā)展產(chǎn)生影響[1]。這里的時間關系,就是文本中事件之間、時間之間、事件和時間之間的時序關系。2012 i2b2 Challenge將電子病歷文本中的時間關系抽取作為任務納入評測,并將時間關系分為兩類:1)事件和文檔創(chuàng)建時間之間的時間關系;2)句內(nèi)時間關系和句間時間關系,其中,句內(nèi)時間關系包括句內(nèi)事件-事件和句內(nèi)事件-時間的時間關系,句間時間關系即是句間事件-事件的時間關系[2]。
時間關系識別存在如下難點:1)在識別句內(nèi)時間關系的過程中,雖然事件之間存在時序關系,但當句內(nèi)不存在時間詞時,容易出現(xiàn)識別錯誤。如“第三次化療時出現(xiàn)腹瀉、脫水、電解質(zhì)紊亂等嚴重毒副反應,停服希羅達。”中,腹瀉、脫水和電解質(zhì)紊亂這些副反應發(fā)生的時間有重疊,但是因為沒有給出停服希羅達的時間,容易使(腹瀉,希羅達)等實體對的時間關系也被錯認為是重疊關系。事實上,通過語義分析可以發(fā)現(xiàn)希羅達是在發(fā)生副反應之后停服的。2)由于句間事件之間跨度遠,若沒有顯式的時間詞出現(xiàn),很難確定句間事件-事件的時間關系。如“患者于中山醫(yī)院行Dixon術,病理示(直腸)潰瘍型腺癌,分化Ⅱ-Ⅲ級,侵及腸壁全層及周圍脂肪組織,切緣陰性,檢出腸旁淋巴結(jié)9枚,未見癌轉(zhuǎn)移,另見癌結(jié)節(jié)一枚。術后化療‘艾力200 mg d1+5FU0.5 d1-5+CF0.2 d1-5’方案化療6次,無明顯異常?!敝?,“Dixon術”和“艾力200 mg d1+5FU0.5 d1-5+CF0.2 d1-5”分別屬于不同句子中的事件,事件之間隔了多個分句且這兩句話中都沒有給出顯式的時間詞,給識別帶來一定困難。
對于中文文本中時間關系,已有不少學者從不同角度展開研究。王昀等[3]采用基于轉(zhuǎn)換的錯誤驅(qū)動學習來確定時間關系;林靜等[4]考慮漢語文本的特點充分抽取蘊含于語法語義層面中的時間關系,并制定了一些與文本無關的時間關系推理原則;王風娥等[5]分析影響時間關系識別的語言特征,使用基于最大熵(MaxEnt)的方法進行識別;劉莉[6]抽取詞法特征、時間事件關系特征和語義特征進行時間關系的識別。
2012 i2b2 Challenge將電子病歷文本中的時間關系抽取作為任務納入評測。對于英文電子病歷文本中的時間關系識別,大多利用不同的語言特征和不同的分類模型。D’Souza等[7]針對不同類別的時間關系提出了不同的解決方法。他們將事件和文檔創(chuàng)建時間的時間關系識別轉(zhuǎn)化成一個序列標注問題,并訓練了4個不同的分類器去識別句內(nèi)和句間的時間關系。Nikfarjam等[8]利用啟發(fā)式規(guī)則識別句間事件和事件的時間關系;對于句內(nèi)時間關系的識別,將句子轉(zhuǎn)化成獨立的時間有向圖并且訓練兩個不同的支持向量機(Support Vector Machine, SVM);同時,訓練了一個SVM分類器去識別事件和文檔創(chuàng)建時間之間的時間關系。Cheng等[9]為了識別句內(nèi)時間關系,基于cTakes的輸出生成特征訓練最大熵分類器,并使用基于規(guī)則的方法識別句間時間關系。隨著深度學習的興起,Do等[10]使用卷積神經(jīng)網(wǎng)絡(Convolutional Neural Network, CNN)進行時間關系分類,Cheng等[11]使用基于依存路徑的雙向長短期記憶網(wǎng)絡(Long Short-Term Memory, LSTM)進行時間關系分類,Dligach等[12]則比較了CNN和LSTM在不同設置下的時間關系抽取性能。然而由于深度學習需要訓練大量的參數(shù),在訓練文本較少時容易出現(xiàn)過擬合現(xiàn)象。
相比英文電子病歷文本,對于中文電子病歷文本中時間關系識別的研究比較稀少。Xu等[13]進行中文電子病歷文本中的信息抽取時,只是利用時間覆蓋規(guī)則去確定時間和事件之間的關系。
中文電子病歷中的時間關系包括句內(nèi)時間關系和句間時間關系。本文制定了高準確率的啟發(fā)式規(guī)則,訓練了兩個不同的分類器確定句內(nèi)時間關系,同時利用不同的語言特征訓練了分類器確定句間時間關系。特別地,本文設計了基本特征、短語句法特征、依存特征和其他特征,緩解了句內(nèi)時間關系識別錯誤;設計了基本特征、短語句法特征和其他特征,減少了句間時間關系識別錯誤。實驗結(jié)果表明,該方法在句內(nèi)事件-事件、句內(nèi)事件-時間和句間事件-事件的時間關系識別上的F1值分別達到了84.0%、85.6%和63.5%。
所謂時間關系,就是文本中事件之間、時間之間、事件和時間之間的時序關系。在電子病歷文本中,事件是指與病人臨床治療過程中相關的任何事情,包括疾病、癥狀、檢查、藥品、手術和化療等;時間是指包含時間信息的短語,包括日期、時刻、相對時間和時間詞等。時間關系的類型有:先于(before)、后于(after)、重疊(overlap)和不確定(unknown)[14]對于事件Eventi和事件Eventj,及事件Eventi和時間Timej,其先于、后于、重疊和不確定關系定義如下:
先于(before) 事件Eventi發(fā)生在Eventj之前或者事件Eventi發(fā)生在時間Timej之前;
后于(after) 事件Eventi發(fā)生在Eventj之后或者事件Eventi發(fā)生在時間Timej之后;
重疊(overlap) 事件Eventi發(fā)生的時間與事件Eventj發(fā)生的時間有交叉或事件Eventi發(fā)生的時間與時間Timej有交叉;
不確定(unknown) 事件Eventi與事件Eventj不存在時間關系或不確定時間關系,或事件Eventi發(fā)生的時間與時間Timej之間的時間關系不確定。
如“患者6.3服用替吉奧一療程,后患者因胃部不適自行停藥,門診中藥規(guī)則治療。”中出現(xiàn)的事件有“替吉奧”和“胃部不適”,它們的類別分別是藥品和癥狀;出現(xiàn)的時間有“6.3”,類別是日期;存在的時間關系有overlap(替吉奧,6.3)、before(替吉奧,胃部不適)和after(胃部不適,6.3),表達的意思分別為:服用替吉奧發(fā)生在6月3日,服用替吉奧先于胃部不適,胃部不適發(fā)生在6月3日之后。
又如“術后化療‘艾力200 mg d1+5FU0.5 d1-5+CF0.2 d1-5’方案化療6次,05年5月放療一療程?!敝谐霈F(xiàn)的事件有“艾力200 mg d1+5FU0.5 d1-5+CF0.2 d1-5”,類別是化療;出現(xiàn)的時間有“05年5月”,類別是日期。由于只知道放療的時間為05年5月,不知道化療的時間,也就無法得到事件“艾力200 mg d1+5FU0.5 d1-5+CF0.2 d1-5”和時間“05年5月”的時間關系,即unknown(艾力200 mg d1+5FU0.5 d1-5+CF0.2 d1-5,05年5月)。
本文把時間關系識別轉(zhuǎn)化成實體對分類問題,其形式化描述為:設有事件-時間對(Eventi,Timej)∈Event×Time,事件-事件對(Eventi,Eventj)∈Event×Event,時間關系類別relationk∈R。其中:Event={Event1,Event2, …,Eventn}表示已經(jīng)識別出的事件表達式集合,Time={Time1,Time2, …,Timem}表示已經(jīng)識別出的時間表達式集合,R={before,after,overlap,unknown}表示已經(jīng)定義好的時間關系集合。時間關系識別就是為每一對(Eventi,Timej)或(Eventi,Eventj)分配一個時間關系類別標記relationk。
中文電子病歷中的時間關系包括句內(nèi)時間關系和句間時間關系。其中,句內(nèi)時間關系包括句內(nèi)事件-事件的時間關系和事件-時間的時間關系;句間時間關系即是句間事件-事件的時間關系。通過對1 500份上海中醫(yī)藥大學附屬曙光醫(yī)院的電子病歷進行分析,把時間關系識別轉(zhuǎn)化成實體對分類問題。制定高準確率的啟發(fā)式規(guī)則,并訓練兩個不同的分類器確定句內(nèi)時間關系,同時利用不同的語言特征訓練分類器確定句間時間關系。圖1表示了本文方法的整個過程。
圖1 時間關系識別的總體流程 Fig. 1 Workflow of temporal relation recognition
句內(nèi)時間關系考慮的是一句話中事件和事件、事件和時間之間的時間關系。觀察電子病歷文本發(fā)現(xiàn):從語法結(jié)構(gòu)來看,醫(yī)生在記錄臨床敘事時具有一定的模式,例如:“第三次化療時出現(xiàn)腹瀉、脫水、電解質(zhì)紊亂等嚴重毒副反應”“今查房,患者自訴乏力好轉(zhuǎn),手臂癢,胃納可,夜寐尚安,二便調(diào)”,它們都滿足Event1+(、|,)+Event2+(、|,)+Event3……”的模式,可得到overlap(Event1,Event2)、overlap(Event2,Event3)、overlap(Event1,Event3)等的時間關系,即事件1、事件2、事件3發(fā)生的時間有重疊。又例如:“患者2008年10月無明顯誘因下出現(xiàn)大便帶血”“2010.12.28于東華醫(yī)院肝膽外科行肝穿刺膽道置管引流術”,它們都滿足“Time+String+Verb+Event”這樣的模式,可得到overlap(Event,Time)時間關系,即該事件發(fā)生在該時間下。因此,本文首先設計了一些高準確率的啟發(fā)式規(guī)則,識別句內(nèi)時間關系,當規(guī)則無法識別時,再訓練分類器進一步識別。
針對每個規(guī)則,本文都給出了相應的例子來解釋這個規(guī)則。其中,[^因]表示除了“因”之外的任何字;String{0,10}表示字符串最小長度為0,最大長度為10。
2.1.1 基于規(guī)則的句內(nèi)事件-事件的時間關系識別
1)[^因] + Event1+ (、|,|+|并發(fā)|null) + Event2+ (、|,|+|并發(fā)|null) + Event3+ …… ? overlap (Event1, Event2)、overlap (Event1, Event3)、overlap (Event2, Event3)等
例:患者入院癥見:,,,。由上例得到的關系有:overlap (乏力,胃納欠佳),overlap (乏力,無頭暈),overlap (乏力,無黑便)和overlap (無頭暈,無黑便)等。
2)因 + Event1+ String{0,10} + Event2? before (Event1, Event2)
例:處理:患者因,予對癥治療。由上例得到的關系有:before (偶覺背部瘙癢,潤燥止癢膠囊)。
3)Event1+ String{0,10} + (,) + (后|之后|以后|其后|后來) + String{0,10}(不包含標點符號) + Event2? after (Event2, Event1)
例:患者服用一療程,后患者自行停藥,門診中藥規(guī)則治療。由上例得到的關系有:after (胃部不適,替吉奧)。
2.1.2 基于規(guī)則的句內(nèi)事件-時間的時間關系識別
1)Time + String{0,10} + (出現(xiàn)|覺|訴|患|患有|查|行|服用|給予|null) + Event ? overlap (Event, Time)
例:患者于在我院查示:直腸腫塊,于在我院普外科行。由上例得到的關系有:overlap (電子腸鏡,2011年6月)和overlap (直腸癌根治術,2011.6.21)。
2)Time1+(、|,)+Time2+(、|,)+Time3+(、|,)+…+String{0,10}+Event ? overlap(Event,Time1),overlap(Event,Time2),overlap(Event,Time3),…
例:術后恢復可,于,,,,,行化療,化療方案:。由上例得到的關系有:overlap(mFOLFOX6,2010.7.20),overlap(mFOLFOX6,8.5),overlap(mFOLFOX6,8.19),overlap(mFOLFOX6,9.3),overlap(mFOLFOX6,9.19)和overlap(mFOLFOX6,10.5)。
3)Time+String{0,10}+(出現(xiàn)|覺|訴|患|患有|查|行|服用|給予|null)+Event1+(、|,|+|并發(fā)|null)+Event2+(、|,|+|并發(fā)|null)+Event3+…?overlap(Event1,Time),overlap(Event2,Time),overlap(Event3,Time),…
例:患者自覺,,,,,為求進一步中醫(yī)藥治療,收治入院。由上例得到的關系有:overlap(乏力明顯,近一周),overlap(無明顯腹痛腹脹,近一周),overlap(無體重減輕,近一周),overlap(無頭暈,近一周)和overlap(無黑便,近一周)。
雖然設計的啟發(fā)式規(guī)則有著較高的抽取質(zhì)量,但是它們并不能覆蓋所有的時間關系,此時需要通過訓練分類器作進一步識別,來為每一個候選實體對
2.2.1 基于機器學習的句內(nèi)事件-事件的時間關系識別
本文設計了基本特征、短語句法特征、依存特征和其他特征訓練分類器,如表1所示。
1)基本特征。
基本特征包含兩個事件的類別、上下文特征、詞性特征和位置特征。本文采用Unigram、Bigram和Trigram這三種上下文特征,上下文窗口大小為3。與上下文特征相對應,詞性特征同樣包含Unigram、Bigram和Trigram三組特征。對于詞性特征,本文使用漢語言處理包HanLP[14]對病歷文本進行分詞和詞性標注,將已經(jīng)識別出來的事件和時間加入到用戶自定義詞典以確保分詞的準確性。位置特征表明兩個事件分別位于第幾個分句中的第幾個詞。
表1 句內(nèi)事件-事件的時間關系的分類特征Tab. 1 Classification features for within-sentence event/event TLinks
2)短語句法特征。
概率上下文無關文法(Probabilistic Context Free Grammar, PCFG)具有良好的結(jié)構(gòu)化信息分析能力,經(jīng)常用于句子和樹結(jié)構(gòu)之間的轉(zhuǎn)換[15]。本文利用斯坦福大學自然語言處理小組開發(fā)的“Stanford Parser”工具[16]進行短語句法結(jié)構(gòu)分析,選取chinesePCFG作為分析模型,分析結(jié)果包含句法結(jié)構(gòu)樹、短語信息、詞性標注等。根據(jù)得到的短語句法樹,設計短語句法結(jié)構(gòu)層面的特征:如果當前節(jié)點為事件,當它的父親節(jié)點是NP或VP時,得到父親節(jié)點下的最左葉子節(jié)點;當它的祖父節(jié)點是NP或VP時,得到祖父節(jié)點下的最左葉子節(jié)點;Stanford Parser將詞性標注結(jié)果為“VV”的短語視為動詞,得到離事件最近的動詞,確定該動詞的位置以及與事件之間的間隔詞數(shù)。
例如,對于“患者無明顯誘因下反復出現(xiàn)大便顏色加深,查腸鏡:降結(jié)腸MT?!保ㄟ^Stanford Parser得到短語句法樹,如圖2所示。事件節(jié)點“大便顏色加深”的父親節(jié)點是名詞短語NP,而NN只是說明節(jié)點“大便顏色加深”的詞性為名詞。由于事件節(jié)點“大便顏色加深”的父親節(jié)點是NP,它只有一個孩子節(jié)點,故而NP的最左葉子節(jié)點就是節(jié)點“大便顏色加深”本身;事件節(jié)點“大便顏色加深”的祖父節(jié)點是動詞短語VP,VP的最左葉子節(jié)點是“出現(xiàn)”。同理,事件節(jié)點“腸鏡”的父親節(jié)點是NP,NP的最左葉子節(jié)點是“腸鏡”;事件節(jié)點“腸鏡”的祖父節(jié)點是VP,VP的最左葉子節(jié)點是“查”。和事件節(jié)點“大便顏色加深”在同一個子句中且離事件最近的動詞是“出現(xiàn)”,它是在事件的左邊第一個詞。當離事件最近的動詞有兩個時,取左邊的動詞。
3)依存特征。
本文使用漢語言處理包HanLP對病歷文本進行依存句法分析,得到短語之間的依存關系。如果短語到短語之間存在直接依存關系或間接依存關系,則認為短語到短語之間存在關系鏈。以事件1和事件2之間的關系鏈為例,它是指從事件1(或事件2)出發(fā),通過依存關系遞歸查找事件2(或事件1),得到依存關系即關系鏈。
例如,對于“患者昨日行‘替吉奧60mgBidpo’化療,患者無惡心嘔吐,無腹脹腹痛,胃脘部隱痛較昨好轉(zhuǎn)”,通過HanLP得到句法分析結(jié)果,如圖3所示。
圖2 時間關系識別的短語句法樹示例 Fig. 2 Example of phrase syntax tree for temporal relation recognition
圖3 時間關系識別的依存分析結(jié)果示例 Fig. 3 Example of dependency parsing for temporal relation recognition
對于候選事件-事件實體對(替吉奧60mgBidpo,無惡心嘔吐),從“替吉奧60mgBidpo”出發(fā),通過依存關系遞歸查找“無惡心嘔吐”,得到關系鏈“替吉奧60mgBidpo→化療→,→患者→無惡心嘔吐”;而從“無惡心嘔吐”出發(fā),找不到依存關系可以遞歸查找得到“替吉奧60mgBidpo”。從離“替吉奧60mgBidpo”最近的動詞“行”出發(fā),得到關系鏈“行→無惡心嘔吐”,而從“無惡心嘔吐”出發(fā),找不到依存關系可以遞歸查找得到“行”。
4)其他特征。
除了語言學特征外,本文增加了利于識別句內(nèi)事件-事件的時間關系的特征。對于候選的事件-事件實體對
2.2.2 基于機器學習的句內(nèi)事件-時間的時間關系識別
同樣,本文選取了基本特征、短語句法結(jié)構(gòu)特征、依存特征和其他特征訓練分類器識別句內(nèi)事件-時間的時間關系,如表2所示。
表2 句內(nèi)事件-時間的時間關系的分類特征Tab. 2 Classification features for within-sentence event/time TLinks
句間時間關系考慮的是一句話中的事件和另一句話中的事件之間的時間關系,本文主要考慮相鄰句間的時間關系。設Eventi, j是第i句話中的第j個事件,Eventi+1,k是第i+1句話中的第k個事件,句間時間關系識別就是為每個(Eventi, j, Eventi+1,k)分配一個時間關系類別標記。如果當前句子中沒有任何事件,則跳過這句句子。本文大體使用句內(nèi)事件-事件的時間關系識別特征以訓練句間時間關系分類器,只是作如下改動:句間事件-事件的時間關系識別特征以訓練中,基本特征中的位置特征指的是兩個事件分別位于第幾句話中的第幾個分句中的第幾個詞;而其他特征中,不考慮事件之間的相對位置特征,另外,其他特征中添加了關鍵詞特征,判斷句中是否包含“術前”“術中”“術后”“服藥后”“檢查后”等關鍵字。
本文對來自上海中醫(yī)藥大學附屬曙光醫(yī)院的1 500份病歷文本進行時間關系識別。其中,每個患者的病歷文本包均含以下記錄:首次病程記錄、首次主治查房記錄、首次主任查房記錄、主任查房記錄、主治查房記錄、交班記錄、住院記錄、日常病程記錄、出院小結(jié)。這些病歷存在大量的冗余信息,通過觀察發(fā)現(xiàn),出院小結(jié)中的信息最為完整地概括了住院過程中患者的病情隨時間的演變,包括入院情況、醫(yī)生診斷情況、檢查情況、治療情況、出院情況以及轉(zhuǎn)歸情況。所以,基于出院小結(jié),可以為每一個患者生成一個綜合病歷。
為了更為準確地識別出中文電子病歷文本中的時間關系,實驗前首先對綜合病歷進行了人工標注。本文預先定義了電子病歷文本中的事件類型和時間類型,事件是指與病人臨床治療過程相關的任何事情,包括疾病、癥狀、檢查、藥品、手術和化療等;時間是指包含時間信息的短語,包括日期、時刻、相對時間和時間詞等。將每句話中的事件和時間用特殊符號標記,再根據(jù)上下文信息,標注出句內(nèi)時間關系和句間時間關系。
例如,對于“患者2004.12無明顯誘因出現(xiàn)便血,黃浦中心腸鏡:結(jié)腸近肝曲占位, 2005.1黃浦中心醫(yī)院已經(jīng)行結(jié)腸癌根治術,術后病理:結(jié)腸腺癌(病理號不詳)?!?,其標注結(jié)果是“患者無明顯誘因出現(xiàn),黃浦中心:結(jié)腸近肝曲占位,黃浦中心醫(yī)院已經(jīng)行,術后病理:結(jié)腸腺癌(病理號不詳)。”根據(jù)上下文信息,可得到的句內(nèi)事件-時間的時間關系:overlap(便血,2004.12)、overlap(腸鏡,2004.12)、overlap(結(jié)腸癌根治術,2005.1)、before(便血,2005.1)、after(結(jié)腸癌根治術,2004.12)等,以及句內(nèi)事件-事件的時間關系:before(便血,腸鏡)、before(便血,結(jié)腸癌根治術)、after(結(jié)腸癌根治術,腸鏡)等。
本文使用準確率(Precision)、召回率(Recall)和F1值(F1-score)3個指標來評價中文電子病歷文本中時間關系識別的性能。它們的計算方法分別為:
其中:Numrecogmized是利用分類器識別出來的某種時間關系個數(shù);NumrecogmizedCorrect是識別出來的某種時間關系中正確的個數(shù),也就是Numrecogmized中正確的個數(shù);Numcorrect是語料中某種時間關系的總數(shù)。對于時間關系的識別,本文分別對每一類時間關系計算其準確率、召回率和F1值,最后計算出各關系的加權(quán)平均值。
本文使用漢語言處理包HanLP對病歷文本進行分詞和詞性標注,同時將已經(jīng)識別出來的事件和時間加入到用戶自定義詞典以確保分詞的準確性;利用斯坦福大學自然語言處理小組開發(fā)的“Stanford Parser”工具進行短語句法結(jié)構(gòu)分析,選取chinesePCFG作為分析模型,得到短語句法特征;使用漢語言處理包HanLP對病歷文本進行依存句法分析,得到依存特征?;陂_源的數(shù)據(jù)挖掘工具Weka[17],使用不同的語言特征分別訓練Na?ve Bayes、Random Forest和SVM分類器(其中SVM采用RBF(Radial Basis Function)核)識別句內(nèi)時間關系,利用十折交叉驗證。表3給出了句內(nèi)事件-事件、句內(nèi)事件-時間的時間關系識別準確率、召回率和F1值。
從表3可以看出:加入短語句法特征后,事件-事件的時間關系識別準確率略有下降;加入依存特征和其他特征后,事件-事件的時間關系識別準確率、召回率和F1值明顯提高。訓練的3個分類器中,SVM識別結(jié)果最好,其次Random Forest,最差的是Na?ve Bayes,因為Na?ve Bayes的特征條件獨立假設在這里并不滿足。綜上,當語言特征選擇為基本特征、依存特征和其他特征的組合,分類器選擇為SVM時,結(jié)果最優(yōu),準確率、召回率、F1值分別為84.0%、84.2%、84%。
加入依存特征后,事件-時間的時間關系識別準確率略有下降;加入短語句法特征和其他特征后,事件-時間的時間關系識別準確率、召回率和F1值明顯提高。通過觀察數(shù)據(jù)發(fā)現(xiàn),當使用漢語言處理包HanLP對病歷文本進行依存句法分析時,時間和事件之間、時間和離事件最近的動詞之間的依存關系經(jīng)常識別不到,導致特征值大多為空,使得加入依存特征后識別效果不好。訓練的3個分類器中,SVM識別結(jié)果最好,其次是Random Forest,最差的是Na?ve Bayes,同樣因為Na?ve Bayes的特征條件獨立假設在這里并不滿足。綜上,當語言特征選擇基本特征、短語句法特征和其他特征的組合,分類器選擇為SVM時,結(jié)果最優(yōu),準確率、召回率、F1值分別為85.7%、85.6%、85.6%。
基于開源的數(shù)據(jù)挖掘工具Weka,使用不同的語言特征訓練多個分類器識別句間事件-事件的時間關系,利用十折交叉驗證,識別結(jié)果如表3所示。從實驗結(jié)果中可以看出,在基本特征上,加入短語句法特征的效果優(yōu)于加入依存特征的效果;而不同于句內(nèi)事件-事件的時間關系識別結(jié)果,觀察表3發(fā)現(xiàn)對于句間時間關系的識別,加入依存特征后識別效果明顯變差。這是由于使用漢語言處理包HanLP對病歷文本進行句法分析時,相鄰句間的依存關系分析結(jié)果較差,很難找到前一句話中的事件、離事件最近的動詞和后一句話中的事件、離事件最近的動詞之間的關系鏈。還可以發(fā)現(xiàn),當加入其他特征時,識別效果有較明顯的改善。當語言特征選擇為基本特征、短語句法特征和其他特征的組合,分類器選擇為Random Forest時,結(jié)果最優(yōu),準確率、召回率、F1值分別為64.6%、63.9%、63.5%。
表3 不同時間關系類型的識別結(jié)果Tab. 3 Recognition results for different TLinks
王風娥等[5]為了研究漢語文本中的時間關系,將時間關系分為句內(nèi)事件-事件、句內(nèi)事件-時間、句間事件-事件和事件-文檔創(chuàng)建時間4種關系;他們分析影響時間關系識別的語言特征,使用基于最大熵的方法識別漢語文本中的時間關系。Xu等[13]研究中文電子病歷文本中的信息抽取時,利用時間覆蓋規(guī)則去確定時間和事件之間的關系。他們設計了如下規(guī)則:1)如果一句話中只包含一個時間,則這個時間覆蓋了這句話中的所有事件;2)如果一句話中包含多個時間,當前時間覆蓋了下個時間出現(xiàn)前的所有事件;3)如果一句話中沒有時間,則前一句話中的最后一個時間覆蓋了這句話中的所有事件。由于事件與事件之間的時間關系考慮的是事件發(fā)生的時間先后,故而利用Xu等[13]設計的時間覆蓋規(guī)則可以識別出句內(nèi)事件-事件、句內(nèi)事件-時間和句間事件-事件的時間關系。表4給出了實驗比較結(jié)果。
從表4可以看出,本文的方法在識別中文電子病歷文本中的時間關系上取得了最好的結(jié)果。這是由于本文提出的識別特征比王風娥等[5]提出的更為豐富;另外,Xu等[13]設計的時間覆蓋規(guī)則在識別電子病歷中的時間關系時會發(fā)生錯誤,如對于“第三次化療時出現(xiàn)腹瀉、脫水、電解質(zhì)紊亂等嚴重毒副反應,停服希羅達”,由設計的時間覆蓋規(guī)則可知overlap(腹瀉,希羅達),但事實上希羅達是在發(fā)生副反應之后停服的,即before(腹瀉,希羅達)。
表4 本文方法與現(xiàn)有方法在時間關系識別上的F1值比較 %Tab. 1 Temporal relation recognition results (F1-score) of the proposed method and existing methods %
時間關系是臨床敘事中的一個重要維度,對于研究患者的病情發(fā)展和治療效用至關重要。中文電子病歷文本中的時間關系包括句內(nèi)時間關系和句間時間關系。其中,句內(nèi)時間關系包括句內(nèi)事件-事件的時間關系和句內(nèi)事件-時間的時間關系,句間時間關系即是句間事件-事件的時間關系。本文把中文電子病歷文本中的時間關系識別視作實體對分類問題,制定了高準確率的啟發(fā)式規(guī)則,并訓練兩個不同的分類器確定句內(nèi)時間關系,利用不同的語言特征訓練分類器確定句間時間關系。實驗結(jié)果表明,當分別使用SVM、SVM和Random Forest算法時,本文方法在句內(nèi)事件-事件、句內(nèi)事件-時間和句間事件-事件的時間關系識別上獲得的F1值最高,分別達到了84.0%、85.6%和63.5%。只是,本文方法在句間事件-事件的時間關系上的識別結(jié)果還不是特別好,需要更進一步的研究與提高。
參考文獻(References)
[1] SUN W, RUMSHISKY A, UZUNER O. Temporal reasoning over clinical text: the state of the art[J]. Journal of the American Medical Informatics Association, 2013, 20(5): 814-819.
[2] SUN W, RUMSHISKY A, UZUNER O. Evaluating temporal relations in clinical text: 2012 i2b2 Challenge [J]. Journal of the American Medical Informatics Association, 2013, 20(5):806-813.
[3] 王昀,苑春法.基于轉(zhuǎn)換的時間-事件關系映射[J].中文信息學報,2004,18(4):24-31.(WANG Y, YUAN C F. A time-event mapping method based transformation [J]. Journal of Chinese Information Processing, 2004, 18(4): 24-31.)
[4] 林靜,苑春法.漢語時間關系抽取與計算[J].中文信息學報,2009,23(5):62-67.(LIN J, YUAN C F. Extraction and computation of Chinese temporal relation [J]. Journal of Chinese Information Processing, 2009, 23(5): 62-67.)
[5] 王風娥,譚紅葉,錢揖麗.基于最大熵的句內(nèi)時間關系識別[J].計算機工程,2012,38(4):37-39.(WANG F E, TAN H Y, QIAN Y L. Recognition of temporal relation in one sentence based on maximum entropy [J]. Computer Engineering, 2012, 38(4): 37-39.)
[6] 劉莉.中文時間事件關系識別的方法研究[D].重慶:重慶大學,2012:33-35.(LIU L. Research on automatic identification of temporal relations between Chinese time expressions and events [D]. Chongqing: Chongqing University, 2012:33-35.)
[7] D’SOUZA J, NG V. Classifying temporal relations in clinical data: a hybrid, knowledge-rich approach [J]. Journal of Biomedical Informatics, 2013, 46: S29-S39.
[8] NIKFARJAM A, EMADZADEH E, GONZALEZ G. Towards generating a patient’s timeline: extracting temporal relationships from clinical notes [J]. Journal of Biomedical Informatics, 2013, 46:S40-S47.
[9] CHENG Y, ANICK P, HONG P, et al. Temporal relation discovery between events and temporal expressions identified in clinical narrative [J]. Journal of Biomedical Informatics, 2013, 46: S48-S53.
[10] DO H W, JEONG Y S. Temporal relation classification with deep neural network [C]// Proceedings of the 2016 International Conference on Big Data and Smart Computing. Washington, DC: IEEE Computer Society, 2016: 454-457.
[11] CHENG F, MIYAO Y. Classifying temporal relations by bidirectional LSTM over dependency paths [C]// Proceedings of the 55th Annual Meeting of the Association for Computational Linguistics (Short Papers). Stroudsburg, PA: Association for Computational Linguistics, 2017, 2: 1-6.
[12] DLIGACH D, MILLER T, CHEN L, et al. Neural temporal relation extraction [C]// Proceedings of the 15th Conference of the European Chapter of the Association for Computational Linguistics. Stroudsburg, PA: Association for Computational Linguistics, 2017,2: 746-751.
[13] XU D, ZHANG M, ZHAO T, et al. Data-driven information extraction from Chinese electronic medical records [J]. PLOS ONE, 2015, 10(8): e0136270.
[14] HANKCS. HanLP [EB/OL]. [2014- 12- 23]. https://github.com/hankcs/HanLP.
[15] STOLCKE A. An efficient probabilistic context-free parsing algorithm that computes prefix probabilities [J]. Computational Linguistics, 1994, 21(2): 165-201.
[16] DAN K, MANNING C D. Fast exact inference with a factored model for natural language parsing [EB/OL]. [2017- 03- 03]. http://www.ling.helsinki.fi/kit/2008s/clt350/docs/KleinManning-lexpar03.pdf.
[17] HOLMES G, DONKIN A, WITTEN I H. WEKA: a machine learning workbench [EB/OL]. [2017- 03- 03]. https://researchcommons.waikato.ac.nz/bitstream/handle/10289/1138/uow-cs-wp-1994-09.pdf;jsessionid=0E603B1F904CF7546CF087199832DD44?sequence=1.
This work is partially supported by the National High Technology Research and Development Program (863 Program) of China (2015AA020107), the National Key Technology Research and Development Program (2015BAH12F01-05).
SUNJian, born in 1993, M.S. candidate. Her research interests include information extraction, knowledge graph.
GAODaqi, born in 1957, Ph. D., professor. His research interests include machine olfactory, intelligence theory, pattern recognition.
RUANTong, born in 1973, Ph. D., professor. Her research interests include information extraction, knowledge graph, data quality evaluation.
YINYichao, born in 1983, M. S., engineer. His research interests include hospital informatization.
GAOJu, born in 1966, M. S., chief physician. His research interests include hospital administration, hepatobiliary disease treatment by combination of traditional Chinese and western medicine.
WANGQi, born in 1993, M.S. candidate. His research interests include information extraction, knowledge graph, machine translation.