龔樂(lè)君,張知菲
1) 南京郵電大學(xué)計(jì)算機(jī)學(xué)院、軟件學(xué)院、網(wǎng)絡(luò)空間安全學(xué)院,南京 210023 2) 江蘇省大數(shù)據(jù)安全與智能處理重點(diǎn)實(shí)驗(yàn)室,南京 210023
近些年來(lái),醫(yī)療信息化以及大批在線問(wèn)診網(wǎng)站、病例交流網(wǎng)站的迅猛發(fā)展產(chǎn)生了海量的電子病歷. 電子病歷中包含了大量重要的臨床資源. 如何利用電子病歷所包含的大量潛在信息,成為目前熱門(mén)的研究方向之一. 作為文本挖掘的基礎(chǔ)任務(wù),命名實(shí)體識(shí)別在病歷文本中需要識(shí)別的實(shí)體類(lèi)型主要為疾病名稱(chēng)、癥狀、醫(yī)療人員采取的措施(包括檢查措施和治療措施)、藥品名稱(chēng)等醫(yī)療實(shí)體.
有研究表明,在中文電子病歷中,實(shí)體分布的密集程度遠(yuǎn)高于通用領(lǐng)域文本[1]. 中文電子病歷語(yǔ)料中實(shí)體字符所占比例接近中文通用語(yǔ)料的2倍,這說(shuō)明了中文電子病歷是一種知識(shí)密集型的文本,其數(shù)據(jù)具有相當(dāng)?shù)难芯績(jī)r(jià)值.
命名實(shí)體識(shí)別任務(wù),常常被作為序列標(biāo)注任務(wù)來(lái)處理[2]. 機(jī)器學(xué)習(xí)中特征的選擇情況將會(huì)直接影響實(shí)體識(shí)別的效果,因此大部分中文醫(yī)療實(shí)體識(shí)別研究集中于構(gòu)造和選擇不同特征. Wang等[3]利用字符位置信息和短分句對(duì)癥狀實(shí)體進(jìn)行識(shí)別,在中醫(yī)文本語(yǔ)料上達(dá)到了95.12%的F1值. 文獻(xiàn)[4?7]研究了語(yǔ)言符號(hào)特征、詞性特征、關(guān)鍵詞特征、詞典特征、分詞特征、詞塊特征等多特征組合與多種學(xué)習(xí)器組合對(duì)病歷實(shí)體識(shí)別的影響. 隨著深度學(xué)習(xí)[8]技術(shù)的發(fā)展,利用深度神經(jīng)網(wǎng)絡(luò)對(duì)中文醫(yī)療實(shí)體識(shí)別的相關(guān)研究[9?13]也在進(jìn)行,其模型基本為序列模型— —循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent neural networks, RNN)及其變體.
英文電子病歷命名實(shí)體識(shí)別的相關(guān)研究[14?19]已經(jīng)形成了相當(dāng)完善的模式. 相比之下,中文電子病歷命名實(shí)體識(shí)別工作剛展開(kāi)不久,缺少充足的標(biāo)注語(yǔ)料. 除此之外,中文醫(yī)療實(shí)體識(shí)別仍存在以下難點(diǎn):
(1)中文電子病歷中的醫(yī)療實(shí)體數(shù)量眾多、類(lèi)型豐富,難以建立大而全的疾病、藥品或是科室檢查等醫(yī)學(xué)關(guān)鍵詞詞典. 對(duì)于固定不變的醫(yī)學(xué)詞典而言,病歷文本中將不斷地有新的未登錄詞出現(xiàn).這些新的醫(yī)療實(shí)體變化多樣,更加難以收錄.
(2)中文電子病歷中的醫(yī)療實(shí)體長(zhǎng)度不定,大部分醫(yī)療實(shí)體長(zhǎng)度長(zhǎng)于通用實(shí)體. 醫(yī)療實(shí)體構(gòu)成結(jié)構(gòu)較為復(fù)雜,存在大量的嵌套、別名、縮略詞等問(wèn)題,沒(méi)有嚴(yán)格的構(gòu)詞規(guī)律可以遵循[20].
(3)在中文電子病歷的不同部分,醫(yī)療實(shí)體的類(lèi)別屬性有所差異,進(jìn)行命名實(shí)體標(biāo)注時(shí)存在分類(lèi)模糊的問(wèn)題,無(wú)法清晰判斷某些命名實(shí)體之間的界限. 常見(jiàn)的是癥狀表現(xiàn)的實(shí)體也經(jīng)常出現(xiàn)在疾病實(shí)體名中,這種互相交叉包含的情況大量存在.
針對(duì)以上問(wèn)題,本文提出了一種基于領(lǐng)域詞典與條件隨機(jī)場(chǎng)(Conditional random field, CRF)的預(yù)標(biāo)注-二次標(biāo)注雙層標(biāo)注模型(Double layer annotation model, DLAM). DLAM并不著眼于人工選擇詞法、句法特征,也并非單純的基于詞典的命名實(shí)體識(shí)別,而是將兩者結(jié)合起來(lái),通過(guò)一次預(yù)標(biāo)注-二次精確標(biāo)注的形式將人工構(gòu)建的準(zhǔn)確性和機(jī)器學(xué)習(xí)的自動(dòng)性融為一體. 實(shí)驗(yàn)結(jié)果表明,該雙層標(biāo)注模型能夠很好地完成中文醫(yī)療實(shí)體識(shí)別任務(wù).
中文醫(yī)療實(shí)體識(shí)別問(wèn)題可轉(zhuǎn)化為序列標(biāo)注問(wèn)題. 序列標(biāo)注問(wèn)題即對(duì)于輸入序列A=a1,···,an和標(biāo)簽集合L,確定輸出標(biāo)簽序列B=b1,···,bn(bi∈L,1≤i≤n). 其本質(zhì)是對(duì)輸入序列中每個(gè)元素根據(jù)上下文進(jìn)行分類(lèi).
基于詞典與規(guī)則的實(shí)體識(shí)別方法雖然人工開(kāi)銷(xiāo)大,但對(duì)登錄詞的識(shí)別效率極高,領(lǐng)域詞典包含的領(lǐng)域特征信息也非常豐富. 因此考慮通過(guò)構(gòu)建小規(guī)模的領(lǐng)域詞典,將詞典的準(zhǔn)確性與機(jī)器學(xué)習(xí)發(fā)現(xiàn)未登錄詞的能力結(jié)合起來(lái).
中文病歷文本的語(yǔ)言特征和用詞構(gòu)成與通用文本差異甚大,在由病歷文本構(gòu)建領(lǐng)域詞典的過(guò)程中,為了使領(lǐng)域詞典中收錄的詞更具有領(lǐng)域?qū)I(yè)性,使用新聞?wù)Z料作為篩選語(yǔ)料庫(kù).
病歷文本經(jīng)過(guò)分詞后提取每份文本中TFIDF[21]值最大的前50詞W={wi|1≤i≤50},計(jì)算wi在新聞?wù)Z料庫(kù)中的歸一化詞頻tfi,m為預(yù)先設(shè)置的閾值,當(dāng)滿足tfi≤m時(shí),將wi加入領(lǐng)域詞典中.
CRF是一種無(wú)向概率圖模型,其優(yōu)點(diǎn)在于為一個(gè)位置進(jìn)行標(biāo)注的過(guò)程中可以利用豐富的內(nèi)部及上下文特征信息[22]. 由于考慮了輸出標(biāo)簽序列的聯(lián)合概率分布,線性鏈條件隨機(jī)場(chǎng)被大量應(yīng)用于序列標(biāo)注問(wèn)題.
本研究中提出的基于領(lǐng)域詞典與CRF的雙層標(biāo)注模型DLAM是在標(biāo)準(zhǔn)線性鏈條件隨機(jī)場(chǎng)的前面增加一層基于領(lǐng)域詞典匹配的預(yù)標(biāo)注層.
中文電子病歷醫(yī)療實(shí)體識(shí)別任務(wù)中,輸入序列X為中文電子病歷文本,輸出序列Y為對(duì)應(yīng)的標(biāo)簽序列. 在給定輸入序列X=x1,···,xn的情況下,通過(guò)領(lǐng)域詞典匹配得到預(yù)標(biāo)注序列D=d1,···,dn,最大化輸出標(biāo)簽序列Y的聯(lián)合條件概率的似然估計(jì). 對(duì)于輸入序列X,最有可能的輸出標(biāo)簽序列Y:
DLAM將預(yù)標(biāo)注結(jié)果序列D和輸入序列X共同作為CRF的輸入. 因此,DLAM中的條件隨機(jī)場(chǎng)為給定X,D條件下的聯(lián)合條件概率P=(Y|X,D).在隨機(jī)變量X取值為x的條件下,隨機(jī)變量D取值為d,隨機(jī)變量Y的條件概率如下:
與標(biāo)準(zhǔn)線性鏈條件隨機(jī)場(chǎng)類(lèi)似,式(2)、(3)中tk和sl是特征函數(shù),λk和μl是對(duì)應(yīng)的權(quán)值.Z(x)是規(guī)范化因子,求和是在所有可能的輸出序列上進(jìn)行的. 模型的訓(xùn)練過(guò)程即是在特征函數(shù)下,訓(xùn)練其對(duì)應(yīng)的權(quán)值.
DLAM算法步驟如下:
(1)輸入:病歷文本序列X=x1,···,xn;
(2)構(gòu)建領(lǐng)域詞典S;
(3)文本與詞典進(jìn)行匹配的結(jié)果為S∩X;
(4)打碎S∩X結(jié)果形成基元,得到一層標(biāo)注序列:D=d1,···,dn;
(5)抽取文本的基本特征集F=f1,···,fn;
(6)將一層標(biāo)注結(jié)果D及文本特征F投入CRF模型,得到二層標(biāo)注序列Y=y1,···,yn;
(7)輸出:標(biāo)注結(jié)果.
詳細(xì)過(guò)程如圖1所示.
圖 1 基于領(lǐng)域詞典與CRF的雙層標(biāo)注模型Fig.1 Double-layer annotation model
由于國(guó)內(nèi)對(duì)患者隱私的保護(hù)政策,醫(yī)院電子病歷較難獲得. 因此,選擇從“愛(ài)愛(ài)醫(yī)”網(wǎng)站上爬取了1064份呼吸科病歷文本和30262份不限科室病歷文本作為實(shí)驗(yàn)數(shù)據(jù). 1064份呼吸科電子病歷中的864份用于1.1節(jié)所述統(tǒng)計(jì)方法構(gòu)建領(lǐng)域詞典,200份在參考文獻(xiàn)[23]以及英文I2B2、UMLS語(yǔ)義類(lèi)型[24]的基礎(chǔ)上,標(biāo)注出疾病、癥狀、藥品、操作四類(lèi)醫(yī)療實(shí)體. 標(biāo)注規(guī)范如下:
(1)疾?。横t(yī)生對(duì)患者做出的診斷或以“病”、“癥”作為結(jié)尾的實(shí)體統(tǒng)稱(chēng)為疾病. 如“肺內(nèi)隔離癥”.
(2)癥狀:由疾病導(dǎo)致的不適表現(xiàn)、異常表現(xiàn)、正?;虍惓5臋z查結(jié)果或者患者的不健康狀態(tài)以及患者自述中的病史介紹. 如“聲音嘶啞”、“無(wú)結(jié)核病史”.
(3)藥品:診療過(guò)程中給予患者的具體藥物名稱(chēng)或藥物類(lèi)別. 如“地塞米松”、“抗生素”.
(4)操作:包括檢查項(xiàng)目和診療手段. 檢查項(xiàng)目是指,為了發(fā)現(xiàn)、證實(shí)或是否認(rèn)疾病,希望得到更多關(guān)于疾病的信息而施加給患者的檢查項(xiàng)目.診療手段是指,為了緩解不適癥狀或者解決疾病而施加給患者的干預(yù)措施和治療程序. 如“拍胸片”、“抗感染”、“胸腔穿刺術(shù)”.
表1所示為訓(xùn)練、測(cè)試語(yǔ)料數(shù)據(jù)分布.
另外,在本研究中,為了驗(yàn)證DLAM模型效果,選擇注意力深度神經(jīng)網(wǎng)絡(luò)BiLSTM-Attention-CRF作為參照. 因此,30262份不限科室未標(biāo)注電子病歷使用Word2vec工具,采用skip-gram模型,基于字粒度分別訓(xùn)練出50維、150維、300維的字嵌入.
表 1 訓(xùn)練集、測(cè)試集實(shí)體分布情況Table 1 Distribution of entities among the training set and the test set
對(duì)于實(shí)體識(shí)別的序列標(biāo)注任務(wù),標(biāo)簽由兩部分構(gòu)成:實(shí)體類(lèi)別和實(shí)體中的位置. 本研究采用BIO表示法以字符為最小標(biāo)注單位來(lái)表征該字符的標(biāo)簽. BIO表示法中,B代表位于實(shí)體的開(kāi)始位置,I表示位于實(shí)體內(nèi)部,O代表不為實(shí)體. 因此,標(biāo)注語(yǔ)料中共包含4類(lèi)實(shí)體,9類(lèi)標(biāo)簽.
領(lǐng)域詞典的構(gòu)建除了1.1節(jié)所述統(tǒng)計(jì)方法外,還借助了外部專(zhuān)業(yè)資源,來(lái)源有:
(1)互動(dòng)百科“呼吸系統(tǒng)疾病”全部詞條以及每個(gè)詞條“概述”部分的分詞結(jié)果;
(2)“中國(guó)公眾健康網(wǎng)”上“肺和呼吸相關(guān)疾病”全部詞條以及每種疾病頁(yè)面的“相關(guān)癥狀”和“相關(guān)藥品”;
(3)CHPO“呼吸系統(tǒng)異?!比織l目,不僅包括實(shí)體本身,還包括其HP編碼.
以上多種途徑構(gòu)建出的初始詞典經(jīng)過(guò)去重、人工去除噪音、人工分類(lèi),最后整合成共3943詞的“呼吸科領(lǐng)域詞典”,其中包括疾病、癥狀、操作、藥品、關(guān)鍵詞、器官、位置、否定八類(lèi). 表2展示了該領(lǐng)域詞典的構(gòu)成.
除與醫(yī)療實(shí)體識(shí)別任務(wù)中目標(biāo)實(shí)體相同的四類(lèi)外,領(lǐng)域詞典中還額外定義了四種類(lèi)型的關(guān)鍵詞. 這是因?yàn)橹形牟v文本存在復(fù)合實(shí)體較多、短句內(nèi)句子成分缺失嚴(yán)重的問(wèn)題. 為了更好地識(shí)別出醫(yī)療實(shí)體,考慮在利用領(lǐng)域詞典進(jìn)行的預(yù)標(biāo)注部分采用范圍更廣的關(guān)鍵詞匹配策略,不僅標(biāo)注出目標(biāo)實(shí)體類(lèi)型,也標(biāo)注出對(duì)目標(biāo)實(shí)體的修飾關(guān)鍵詞. 具體含義如下:
(1)關(guān)鍵詞:提示將出現(xiàn)癥狀,因?qū)﹃P(guān)鍵詞的癥狀描述多樣,所以單獨(dú)列出. 如:“食欲”.
(2)器官:指人體器官或部分肢體,因同一癥狀可能發(fā)生于不同器官或器官的不同范圍而單獨(dú)列出. 如:“肺”.
(3)位置:為了描述器官的某部分而單獨(dú)列出,在句子成分缺失的短句中也能直接代指器官的某部分. 如:“左下”.
(4)否定:病歷文本中常有描述患者并未出現(xiàn)某些癥狀或并未患某種疾病的情況,直接通過(guò)詞典匹配無(wú)法判斷這種情況,可能造成語(yǔ)義相反.如:“無(wú)”、“未聞及”.
為了綜合考慮模型在整個(gè)數(shù)據(jù)集上的性能,本文中采用宏平均指標(biāo)(Macro-Average). 宏平均是指每一類(lèi)性能指標(biāo)的算數(shù)平均值,具體可分為:宏精確率(Macro-P)、宏召回率(Macro-R)和宏F1值(Macro-F1).
其中,N表示實(shí)體類(lèi)別總數(shù),Pi表示每一類(lèi)實(shí)體的精確率,Ri表示每一類(lèi)實(shí)體的召回率.
以不采用預(yù)標(biāo)注層、僅使用語(yǔ)言符號(hào)特征和上下文特征的單層CRF作為基線,首先討論領(lǐng)域詞典是否對(duì)CRF標(biāo)注產(chǎn)生積極影響. 上下文窗口大小均設(shè)置為5. 表3所示為該組對(duì)比實(shí)驗(yàn)結(jié)果.
可以看到,雙層標(biāo)注模型DLAM同時(shí)結(jié)合了領(lǐng)域詞典的準(zhǔn)確性和CRF的自動(dòng)學(xué)習(xí)能力,將中文醫(yī)療實(shí)體的識(shí)別效果得到了極大提升. 不同于單層CRF宏精確率和宏召回率相差較大的情況,DLAM的宏精確率和宏召回率幾乎相等,達(dá)到了一個(gè)很好的平衡.
第二組對(duì)比實(shí)驗(yàn)是研究采用了注意力機(jī)制[25]的深度神經(jīng)網(wǎng)絡(luò)BiLSTM-Attention-CRF[26]對(duì)中文醫(yī)療實(shí)體的識(shí)別效果. 根據(jù)預(yù)訓(xùn)練的不同字嵌入維度和一組隨機(jī)初始化embedding向量進(jìn)行對(duì)比.表4為該組對(duì)比實(shí)驗(yàn)結(jié)果.
表 2 領(lǐng)域詞典構(gòu)成情況Table 2 Distribution among the domain dictionary
從實(shí)驗(yàn)結(jié)果可以看出,預(yù)訓(xùn)練字嵌入的質(zhì)量對(duì)深度神經(jīng)網(wǎng)絡(luò)的識(shí)別結(jié)果會(huì)產(chǎn)生較大影響. 字嵌入維度過(guò)小,會(huì)導(dǎo)致丟失隱含的語(yǔ)義信息;字嵌入維度過(guò)大,則會(huì)帶來(lái)噪音. 字嵌入維度應(yīng)如何設(shè)置與訓(xùn)練語(yǔ)料的大小、語(yǔ)料的語(yǔ)言特點(diǎn)有關(guān).
表 3 CRF對(duì)比實(shí)驗(yàn)結(jié)果Table 3 Comparison experiment results of CRF %
表 4 BiLSTM-Attention-CRF對(duì)比實(shí)驗(yàn)結(jié)果Table 4 Comparison experiment results of BiLSTM-Attention-CRF %
值得注意的是,深度神經(jīng)網(wǎng)絡(luò)相比單層CRF能明顯提高醫(yī)療實(shí)體的召回率.
以150維字嵌入的結(jié)果作為BiLSTM-Attention-CRF進(jìn)行中文醫(yī)療實(shí)體識(shí)別的最好結(jié)果,從實(shí)體級(jí)別以精確率P和召回率R作為標(biāo)準(zhǔn),比較DLAM模型與BiLSTM-Attention-CRF的識(shí)別效果. 如圖2,圖3所示.
圖 2 DLAM與BiLSTM-Attention-CRF實(shí)體級(jí)別精確率對(duì)比Fig.2 DLAM and BiLSTM-Attention-CRF precision comparison on entity
由圖2,圖3可看出,雖然關(guān)于通用語(yǔ)料的研究表明:采用了注意力機(jī)制的深度神經(jīng)網(wǎng)絡(luò)對(duì)句間的長(zhǎng)期依賴(lài)有較好學(xué)習(xí)能力[25]. 但在具體的專(zhuān)業(yè)領(lǐng)域中,BiLSTM-Attention-CRF仍然難以學(xué)到復(fù)雜的專(zhuān)業(yè)特征. 而DLAM采用領(lǐng)域詞典預(yù)標(biāo)注的方式很好地解決了這一問(wèn)題.
本文識(shí)別的四類(lèi)實(shí)體中,BiLSTM-Attention-CRF與DLAM識(shí)別效果相差最大的是藥品實(shí)體.這是因?yàn)樗幤访蠖噍^生僻,其構(gòu)詞方式與病歷中其他部分的自由文本相差較大,深度神經(jīng)網(wǎng)絡(luò)很難學(xué)到其上下文關(guān)系. 而領(lǐng)域詞典中一旦登錄了某種藥品,就能夠很好的識(shí)別出來(lái). 對(duì)于呼吸科病歷,常見(jiàn)藥品出現(xiàn)的頻率高,作用相似的藥品其名稱(chēng)構(gòu)詞方式也類(lèi)似,因此識(shí)別效果較好.
圖 3 DLAM與BiLSTM-Attention-CRF實(shí)體級(jí)別召回率對(duì)比Fig.3 DLAM and BiLSTM-Attention-CRF recall comparison on entity
本文還對(duì)DLAM識(shí)別結(jié)果中的錯(cuò)例進(jìn)行了進(jìn)一步的分析. DLAM對(duì)四類(lèi)實(shí)體的識(shí)別效果趨于穩(wěn)定. 因長(zhǎng)實(shí)體缺少部分構(gòu)詞成分而造成的錯(cuò)例主要存在于疾病實(shí)體和癥狀實(shí)體中,具體表現(xiàn)在對(duì)長(zhǎng)實(shí)體中的修飾成分識(shí)別效果不佳. 例如,“間變性B細(xì)胞非霍奇金淋巴瘤”僅能識(shí)別出“非霍奇金淋巴瘤”,“肋以下呈大片狀致密影”被識(shí)別為“大片狀致密影”. 修飾成分中的器官指向通常攜帶了重要的醫(yī)療信息,目前DLAM仍會(huì)丟失部分此類(lèi)信息. 值得注意的是,DLAM通過(guò)結(jié)合機(jī)器學(xué)習(xí)自動(dòng)學(xué)習(xí)文本上下文特征的能力,能容錯(cuò)醫(yī)療文本中的錯(cuò)別字,如成功識(shí)別“腹不(部)平軟”.
此外,如表5所示對(duì)比了DLAM與文獻(xiàn)[27]中基于多特征融合的CRF以及以字嵌入和分割信息作為BiLSTM-CRF輸入特征的醫(yī)療實(shí)體識(shí)別方法. 由于兩項(xiàng)研究都是基于自標(biāo)注語(yǔ)料完成的,導(dǎo)致單純的結(jié)果對(duì)比并無(wú)意義. 但文獻(xiàn)[27]中為了達(dá)到較好的識(shí)別效果,融合了如詞袋、詞性、位置等多項(xiàng)特征;而DLAM在CRF階段僅使用上下文特征,主要是通過(guò)第一層預(yù)標(biāo)注來(lái)獲取更多的語(yǔ)義隱含信息.
本文針對(duì)中文電子病歷文本復(fù)合實(shí)體較多、實(shí)體長(zhǎng)度較長(zhǎng)、句子成分缺失嚴(yán)重、實(shí)體邊界不清的語(yǔ)言特點(diǎn),對(duì)中文電子病歷中的四類(lèi)實(shí)體——疾病、癥狀、藥品、操作進(jìn)行命名實(shí)體識(shí)別研究.
表 5 DLAM與現(xiàn)有模型結(jié)果對(duì)比Table 5 Comparison of DLAM and existing model results %
(1)結(jié)合電子病歷文本通過(guò)統(tǒng)計(jì)分析構(gòu)建了一個(gè)小規(guī)模的醫(yī)療領(lǐng)域詞典.
(2)將經(jīng)典序列標(biāo)注算法CRF與富含領(lǐng)域知識(shí)的詞典相結(jié)合,提出了一種預(yù)標(biāo)注-二次標(biāo)注的雙層標(biāo)注模型DLAM. 通過(guò)一次預(yù)標(biāo)注-二次精確標(biāo)注兩種不同粒度的標(biāo)注完成對(duì)中文醫(yī)療實(shí)體的識(shí)別. 經(jīng)過(guò)實(shí)驗(yàn)驗(yàn)證,DLAM在測(cè)試集上的宏精確率為96.7%、宏召回率為97.7%、宏F1值為97.2%,可準(zhǔn)確地對(duì)中文醫(yī)療實(shí)體進(jìn)行識(shí)別.
(3)對(duì)比分析采用注意力機(jī)制的深度神經(jīng)網(wǎng)絡(luò)的識(shí)別效果,結(jié)果表明提出的雙層標(biāo)注模型DLAM在測(cè)試數(shù)據(jù)集上表現(xiàn)優(yōu)越于深度神經(jīng)網(wǎng)絡(luò).