高佳奕,劉 震,楊 濤**,謝佳東,史話躍,董海艷,胡孔法
(1. 南京中醫(yī)藥大學(xué)人工智能與信息技術(shù)學(xué)院 南京 210023;2. 南京中醫(yī)藥大學(xué)第一臨床醫(yī)學(xué)院 南京 210023)
中醫(yī)臨床信息抽取是從臨床醫(yī)案中自動抽取特定信息的計算機技術(shù),是從海量中醫(yī)臨床數(shù)據(jù)中快速發(fā)現(xiàn)關(guān)鍵信息,并將其自動分類、提取和重構(gòu)的過程[1],包括命名實體識別、事件抽取、關(guān)系抽取等[2]。醫(yī)案是中醫(yī)臨床診療的記錄,蘊含著中醫(yī)專家豐富的學(xué)術(shù)思想與臨床經(jīng)驗,深入挖掘其中的知識對中醫(yī)的傳承與發(fā)展至關(guān)重要。然而,臨床上病情千變?nèi)f化,專家表述各具特點,使得醫(yī)案的文字表述極其復(fù)雜,這給從醫(yī)案文本信息抽取帶來挑戰(zhàn)[3]。因此,如何從海量中醫(yī)醫(yī)案中有效地抽取關(guān)鍵信息,挖掘其中蘊藏的辨證規(guī)律和潛在的數(shù)據(jù)價值,已經(jīng)成為中醫(yī)藥研究的熱點之一。本文嘗試從醫(yī)案中最為復(fù)雜的癥狀入手,利用自然語言處理技術(shù)進行癥狀命名實體的識別和抽取,為中醫(yī)臨床文本醫(yī)案自動化處理提供參考。
命名實體抽取是自然語言處理領(lǐng)域的重要研究內(nèi)容,在機器翻譯、知識問答等領(lǐng)域取得了良好效果,但在醫(yī)藥領(lǐng)域的研究尚處于初級階段[4]。自2000年起有學(xué)者陸續(xù)將基于詞典、規(guī)則的方法應(yīng)用于醫(yī)藥實體的信息抽取,如徐梓豪等[5]利用醫(yī)學(xué)專業(yè)詞典設(shè)計相關(guān)統(tǒng)計模型,在中文臨床病歷的命名實體識別中取得了良好效果;包小源等[6]設(shè)計定制化的規(guī)則學(xué)習(xí)及信息抽取方法,通過抽樣標(biāo)注、模板重寫以及自動驗證等步驟,進一步探究了非結(jié)構(gòu)化電子病例中信息抽取方法。Szekér S 等[7]提出基于文本挖掘的命名實體識別方法,實現(xiàn)了超聲心動圖檢查中的信息提取?;谠~典、規(guī)則的方法雖然可以提高命名實體識別率,但是在應(yīng)用于特定領(lǐng)域時[8],現(xiàn)有的規(guī)則往往不可移植,仍需依靠人工編寫,過長建設(shè)周期使得它們的可行性較低。
自動內(nèi)容抽?。ˋutomatic Content Extraction,ACE)評測會議從多種角度對信息抽取進行了探索,在ACE 會議的推動下,其研究深度和廣度也在不斷加強[9]。近年來,一些學(xué)者嘗試?yán)媒y(tǒng)計學(xué)習(xí)方法進行命名實體抽取,如Liu 等[10]應(yīng)用支持向量機(Support Vector Machines,SVM)的分類模型,將醫(yī)學(xué)實體之間的語義關(guān)系分類為相應(yīng)的語義關(guān)系類型并抽取出語義關(guān)系三元組;馬民艷等[11]基于單分類器的生物醫(yī)學(xué)命名實體識別,采用最大熵算法(Maximum Entropy,ME)和條件隨機場算法(Conditional Random Field,CRF),對Yapex 語料中的蛋白質(zhì)名稱進行了識別;劉凱等[12]基于CRF 探究中醫(yī)病歷命名的實體抽取方法,提出利用Bubble-Bootstrapping 算法、前向最大匹配算法和手工標(biāo)注相結(jié)合的方式構(gòu)建中醫(yī)語料庫,其中表現(xiàn)最好的命名實體抽取的F1值為癥狀0.80,疾病名稱0.74,誘因0.63;王世昆等[13]通過比較CRF、SVM 和ME算法在中醫(yī)古代醫(yī)案中的癥狀與發(fā)病機制上的實體識別表現(xiàn),發(fā)現(xiàn)CRF 更具優(yōu)勢,其中CRF 的準(zhǔn)確率87.16%,ME 的準(zhǔn)確率為83.88%,SVM 的準(zhǔn)確率僅為81.92%。袁玉虎等[14]應(yīng)用CRFs 模型對中醫(yī)現(xiàn)病史中的癥狀術(shù)語進行實體抽取,發(fā)現(xiàn)CRFs 模型在癥狀術(shù)語的序列標(biāo)注任務(wù)中表現(xiàn)良好。上述研究在醫(yī)藥信息抽取上作出了有益探索,但在中醫(yī)臨床復(fù)雜癥狀的命名實體識別和處理的研究較少。從研究方法來看,基于CRF 及其改進方法的應(yīng)用逐漸成為當(dāng)前命名實體識別研究的重要方向。
條件隨機場是用來標(biāo)注和劃分序列結(jié)構(gòu)數(shù)據(jù)的概率化結(jié)構(gòu)模型[15]。其通過隱含變量的馬爾科夫鏈Y ={y1,y2,…,yn} 和可觀測狀態(tài)的隱含變量X ={x1,x2,…,xn}的條件概率P(Y|X)來描述模型[4]。測試集語料標(biāo)簽的類別標(biāo)記即為隱含變量,訓(xùn)練集的語料特征即為可觀測狀態(tài),條件隨機場通過可觀測的語料特征推斷每個標(biāo)簽應(yīng)有的類別標(biāo)記。本文嘗試將CRF應(yīng)用到中醫(yī)臨床醫(yī)案數(shù)據(jù)處理中,構(gòu)建中醫(yī)癥狀命名實體抽取模型,探究CRF 在中醫(yī)癥狀命名實體識別上的效果,為中醫(yī)臨床復(fù)雜文本的信息抽取提供參考。
圖1 CRF鏈?zhǔn)浇Y(jié)構(gòu)圖
設(shè)G = V,E 為一個無向圖,V 表示癥狀結(jié)點集合,E 為癥狀與癥狀之間的無向邊集合。V 中每個癥狀結(jié)點與對應(yīng)一個隨機變量Yv,設(shè)其取值范圍為標(biāo)識集合Y,即Y ={yv|v ∈V }。如果以觀測序列X 為條件,每一個隨機變量Yv都滿足以下馬爾可夫性[16]:
則(X,Y)構(gòu)成一個條件隨機場。其中n(v)表示結(jié)點v的所有相鄰結(jié)點,即V{v} = V -{v},換而言之,yv僅與結(jié)點v 鄰接的結(jié)點相關(guān)。其中X,Y 的CRF 鏈?zhǔn)浇Y(jié)構(gòu)圖如圖1所示。
在條件隨機場中,我們定義一組關(guān)于觀測序列{0,1}二值特征b(X,i)來表示訓(xùn)練樣本中癥狀的分布特性,如:
轉(zhuǎn)移函數(shù)定義為如下形式:
這樣,特征函數(shù)可以統(tǒng)一表示為:
其中,每個局部特征函數(shù)fj(yi-1,yi,X,i)表示狀態(tài)特征sk(yi-1,yi,X,i)或轉(zhuǎn)移函數(shù)為tj(yi-1,yi,X,i)。
由此,中醫(yī)臨床醫(yī)案CRF 的條件概率可以由下式給出,其中Z(X)為歸一化參數(shù):
如圖2 所示,模型訓(xùn)練需輸入標(biāo)注語料的模板序列。標(biāo)注語料的模板序列存儲了語料庫中每一個語料標(biāo)簽的類別特征,其中語料標(biāo)簽可以采用基于字的標(biāo)注方法,也可以基于詞進行標(biāo)注??紤]到中醫(yī)臨床術(shù)語大多按詞出現(xiàn),按字劃分會損失中醫(yī)術(shù)語本身包含的豐富信息特征[17],因此本文利用基于詞的標(biāo)注方法,采用BIO(B-begin,I-inside,O-outside)標(biāo)注方法對數(shù)據(jù)進行標(biāo)注處理[18],B-X 表示此元素所在的片段屬于X 類型并且位于詞首,I-X 表示此元素所在的片段屬于X 類型并且位于非詞首,O 表示此元不屬于任何實體類型,其輸入格式如下:
特征的選擇是影響條件隨機場模型訓(xùn)練結(jié)果的關(guān)鍵因素。訓(xùn)練語料的特征應(yīng)囊括語料標(biāo)簽的詞語特征、詞位特征、上下文窗口特征等信息,本文選擇詞語標(biāo)記、實體前后詞語為主要特征,其輸入格式如下:
實驗數(shù)據(jù)來源于江蘇省中醫(yī)院病案庫和國醫(yī)大師周仲瑛工作室,均為名老中醫(yī)治療肺癌的臨床病案。設(shè)定病案納入和排除標(biāo)準(zhǔn),具體如下:
納入標(biāo)準(zhǔn):①病案中明確記載診斷為肺癌的患者;②就診時的主訴辨治是以肺癌為主者;③數(shù)據(jù)完整,至少包含臨床表現(xiàn)、病機分析和治法、用藥等內(nèi)容者。
排除標(biāo)準(zhǔn):①其它系統(tǒng)癌癥轉(zhuǎn)移到肺臟患者,為非原發(fā)性肺癌如復(fù)發(fā)癌或者轉(zhuǎn)移性腫瘤;②就診時主訴辨治不是以肺癌為主者;③病案記錄存在明確錯誤或缺失。
根據(jù)設(shè)定的病案納入標(biāo)準(zhǔn)和排除標(biāo)準(zhǔn)對病案數(shù)據(jù)進行篩選,最終選擇1000 份高質(zhì)量病案進行研究,圍繞病史進行癥狀命名實體識別。病史信息格式如下:“起病有胸悶,今年四月出現(xiàn)咳嗽,咳吐粘痰,痰色黃膿化療后轉(zhuǎn)為白粘,咳則胸痛,血象底下目前氣短乏力,胸悶,納差,大便1~2日一行,口干苦,飲水不多,體重下降8 斤,兼有低熱,痰中血少,面色少華,貧血貌?!?/p>
圖2 CRF命名實體識別流程
表1 命名實體標(biāo)注方法
我們將數(shù)據(jù)集中的實體類型分為三類:癥狀(名)、(癥狀)程度、(癥狀發(fā)生)部位,代碼分別為ZZ、CD、BW。利用BIO 三元集標(biāo)注方法進行標(biāo)注,具體的標(biāo)注方法如表1所示。
依照BIO 標(biāo)注方法,上述臨床肺癌的原始病案可標(biāo)注為:“起/O 病/O 有/O 胸/B-BW 悶/B-ZZ,今/O 年/O四/O 月/O 出/O 現(xiàn)/O 咳/B-ZZ 嗽/I-ZZ,/O 咳/B-ZZ 吐/IZZ 粘/I-ZZ 痰/I-ZZ,/O 痰/B-ZZ 色/I-ZZ 黃/I-ZZ 膿/IZZ,/O 化/O 療/O 后/O 轉(zhuǎn)/O 為/O 白/O 粘/O,/O 咳/B-ZZ則/O 胸/B-BW 痛/B-ZZ,/O 血/O 象/O 低/B-CD 下/ICD,/O 目/O 前/O 氣/B-ZZ 短/I-ZZ 乏/B-ZZ 力/I-ZZ,/O胸/B-BW 悶/B-ZZ,/O 納/B-ZZ 差I(lǐng)-ZZ,/O 大/O 便/O1/O~/O2/O 日/O 一/O 行/O,/O 口/B-BW 干/B-ZZ 苦/BZZ,/O 飲/O 水/O 不/B-CD 多/I-CD,/O 體/O 重/O 下/BCD降/I-CD8/I-CD斤/I-CD,/O兼/O有/O低/B-ZZ熱/IZZ,/O 痰/B-ZZ 中/I-ZZ 血/I-ZZ 少/I-ZZ,/O 面/B-BW色/I-BW 少/B-ZZ 華/I-ZZ,/O 貧/B-ZZ 血/I-ZZ 貌/O。/O”。
(1)提取1000條病歷中80%的病歷文本作為訓(xùn)練集,20%的病歷文本作為測試集。
(2)根據(jù)語料特征構(gòu)建特征模板。
(3)建立CRF 模型,采用十折交叉驗證對模型效果進行測試。利用sklearn_crfsuite 開源包構(gòu)建CRF模型。
(4)利用多分類評價指標(biāo)對此模型進行評測。
模型建立的步驟如下:
條件隨機場模型
輸入:訓(xùn)練集T(800條病案)的特征序列及標(biāo)注序列,測試樣本t(200條病案)的標(biāo)注序列。
輸出:各標(biāo)記標(biāo)簽的P、R、F1 值及Macro-averag?ing、Micro-averaging值。
步驟1:根據(jù)T 的特征序列Tfea和標(biāo)注序列Tsig,訓(xùn)練模型。
步驟2:根據(jù)測試樣本t的標(biāo)簽特征序列預(yù)測標(biāo)注序列tpre。
tpre= crf.predict(te_content)
步驟3:通過比較tpre與測試樣本t 的標(biāo)注序列tsig,得出多分類評測指標(biāo)值。
為了評估CRF 在中醫(yī)臨床醫(yī)案中實現(xiàn)癥狀實體識別策略的可行性和其在癥狀實體抽取上的性能,本文使用準(zhǔn)確率(Precision,簡記為P),召回率(Recall,簡記為R)和F1-測度值(F1-measure,簡記為F1)3 個指標(biāo)來衡量:
計算F 值時,一般取(β = 1),因此,以上公式可修改為:
如圖3 所示,準(zhǔn)確率的實際意義為模型正確識別的標(biāo)簽數(shù)與模型識別的標(biāo)簽總數(shù)的比值,召回率的實際意義為模型正確識別的標(biāo)簽數(shù)與各類別中所有標(biāo)簽數(shù)的比值。
考慮到中醫(yī)文本的分類并非單純的二分類,需要在不同類別下綜合考察分類器的優(yōu)劣,此處引入宏平均(Macro-averaging)、微平均(Micro-averaging)對訓(xùn)練結(jié)果做出進一步評估。宏平均是計算每一個類別的評測指標(biāo)值,再對所有類別的評測指標(biāo)值取算術(shù)平均。宏平均定義式如下:
圖3 評價指標(biāo)
表2 十折交叉驗證結(jié)果(均值± 標(biāo)準(zhǔn)差)
微平均是對數(shù)據(jù)集中的每一個標(biāo)簽不分類別進行統(tǒng)計建立全局混淆矩陣,進而計算相應(yīng)的指標(biāo)[19]。微平均定義式如下:
本文采用十折交叉驗證對模型進行訓(xùn)練和測試,觀察模型對癥狀、程度、病位實體的識別情況,排除非命名實體組成部分,結(jié)果顯示模型對癥狀詞的識別精度最高,而對病位詞的識別精度最低(詳見表2)。
從十折交叉驗證的結(jié)果來看,宏平均的三個評測指標(biāo)(P,R,F(xiàn)1)為(0.8822,0.8322,0.8556),上下波動均小于0.022;微平均的三個評測指標(biāo)為(0.9233,0.9222,0.9211),上下波動均小于0.007,微平均效果優(yōu)于宏平均效果(詳見表3)。每一折下各個評價指標(biāo)的變化情況如圖4~圖6所示。
表3 十折交叉驗證結(jié)果(均值± 標(biāo)準(zhǔn)差)
圖4 評價指標(biāo)折線圖
圖5 評價指標(biāo)折線圖
圖6 評價指標(biāo)折線圖
表4 實體標(biāo)簽中的可能傳遞方式
考慮到不同標(biāo)簽間的傳遞方式具有方向性,為了進一步查看模型內(nèi)部的運行機制,本文將各實體標(biāo)簽的可能的傳遞方式以及標(biāo)簽傳遞權(quán)重進行了分析(詳見表4~表5)。
表5 各實體標(biāo)簽傳遞方式的權(quán)重值
深入挖掘各實體標(biāo)簽和相應(yīng)語料的關(guān)系,分析模型內(nèi)部各個標(biāo)簽特征的權(quán)重,進而為模型解釋提供支撐,本文對每個標(biāo)簽中權(quán)重較高的語料特征進行分析,分析結(jié)果詳見表6。
為了增強類別特征,本文采用不同的窗口大小,對模型再次進行測試,不同窗口下的宏平均評測指標(biāo)值如表7所示。
本文提出了基于條件隨機場的中醫(yī)臨床復(fù)雜癥狀的命名實體識別方法,對中醫(yī)臨床數(shù)據(jù)進行實驗,模型宏平均的評測指標(biāo)(P,R,F(xiàn)1)為(0.8822,0.8322,0.8556),上下波動小于0.022;微平均的評測指標(biāo)為(0.9233,0.9222,0.9211),上下波動小于0.007(詳見表2~表3、圖4~圖6),實驗結(jié)果顯示微平均的效果優(yōu)于宏平均。從微平均和宏平均的實際意義進行分析,微平均實際反應(yīng)的是預(yù)測正確的樣本數(shù)與輸入分類器的預(yù)測樣本數(shù)的比值,而宏平均是將每個類別標(biāo)記分開考慮,計算單獨每個類別的正確率,反映的是每個類別標(biāo)記正確率的算數(shù)平均值,因此小樣本預(yù)測正確率低的情況對宏平均的影響較大。在本文采用的肺癌病例語料中,I-BW 和B-BW 均屬于小樣本,僅1119和1382 處,相比之下,B-ZZ 和I-ZZ 的樣本數(shù)目較大,有7201 和11268 處,據(jù)圖4~圖6 也可以觀察到I-BW和B-BW 的P、R、F1 值普遍偏低,這就對十折交叉驗證的結(jié)果產(chǎn)生了影響,使得微平均的評測值優(yōu)于宏平均;就標(biāo)簽的識別效果而言,癥狀詞的識別效果較好,部位詞的識別效果較差,因為癥狀詞的訓(xùn)練樣本數(shù)較多,類別特征相對明顯,而部位詞因為訓(xùn)練樣本數(shù)過少,類別特征不明顯,又常常和癥狀交叉混淆,如“胸悶胸痛”被識別為“B-ZZ/I-ZZ/B-ZZ/I-ZZ”,這就導(dǎo)致了二者識別效果差異較大。
通過深入挖掘不同標(biāo)簽間的傳遞方式,我們發(fā)現(xiàn)癥狀詞與程度詞間的關(guān)聯(lián)度最高,即癥狀詞前后出現(xiàn)程度詞的可能性最大,其傳遞可能性高達0.9253。病位與其他標(biāo)簽間的關(guān)聯(lián)性相對較弱,多呈現(xiàn)病位->癥狀,病位->程度這兩種共現(xiàn)方式(詳見表4~表5)??紤]到中醫(yī)臨床醫(yī)案中往往以癥狀來描述部位的病變情況,以程度來形容部位的病變輕重,如“咯B-ZZ 痰I-ZZ 不B-CD 多I-CD”、“胸B-BW 不B-CD 悶BZZ”等,該分析結(jié)果與中醫(yī)醫(yī)案的陳述方式基本相符。深入分析實體標(biāo)簽和相應(yīng)語料之間的權(quán)重,我們發(fā)現(xiàn)‘,’,‘、’等符號以及“但”、“仍”等語句連接詞已被模型學(xué)習(xí)為非實體組成部分;病位多與“背”、“胸”、“口”、“腰”、“鼻”等詞相關(guān),其中“背”與病位的關(guān)聯(lián)度最高;癥狀多與“咳”、“痛”、“痰”、“酸”、“悶”、“血”等詞相關(guān),其中“咳”與癥狀的關(guān)聯(lián)度最高(詳見表6)。從中醫(yī)理論出發(fā)探尋數(shù)據(jù)背后的辨證知識,肺居胸中,左右各一,癌毒侵襲肺臟,往往出現(xiàn) 胸痛、背痛等癥,正如《靈樞.邪氣臟腑病形》所言:“肺脈……微熱為肺寒熱,怠惰,咳唾血,引腰背胸”;肺開竅于鼻,且肺為儲痰之器,氣機不利,外邪乘之,津聚為痰,痰瘀阻肺,則口鼻多痰;肺主氣,司呼吸,肺失宣降,氣滯于胸則出現(xiàn)咳嗽、胸悶等癥。如《雜病源流犀燭》云:“邪居胸中,阻塞氣道,氣不得通,為痰,為食,為血,皆邪正相搏,邪勝,正不得制之,遂結(jié)成形而有塊?!睆纳鲜鼋Y(jié)果可以看出,CRF 實體標(biāo)簽的學(xué)習(xí)結(jié)果與中醫(yī)對肺癌的認(rèn)識基本一致,因而可以將CRF 應(yīng)用于中醫(yī)臨床復(fù)雜癥狀的命名實體識別。
表6 標(biāo)簽特征
通過改變窗口大小來進一步探索類別特征對于實驗結(jié)果的影響。當(dāng)窗口大小為5 時,宏平均的P、R、F1 值最高,較窗口大小為3 時分別提高了0.47%、1.35%和2.50%,較窗口大小為7時分別提高了2.56%、4.15%和2.65%(詳見表7)??紤]到過大的訓(xùn)練窗口不僅使訓(xùn)練的復(fù)雜度增加,而且容易產(chǎn)生噪音影響最終的評測結(jié)果;較小的窗口難以反應(yīng)上下文關(guān)系,會損失語料間的豐富信息,當(dāng)窗口為5時,能夠恰好反應(yīng)上下文關(guān)系且不會產(chǎn)生過多噪音。從整體上觀察,窗口大小對于評測指標(biāo)的影響并不大,樣本集中的標(biāo)簽分布不均衡對評測結(jié)果產(chǎn)生了決定性影響。因此,本研究后續(xù)將把重點將放在對樣本集進行擴充和篩選,平衡各個類別,提高宏平均指標(biāo)。
表7 窗口大小對宏平均評測指標(biāo)的影響
在中醫(yī)臨床的診療過程中,復(fù)雜多變的中醫(yī)臨床癥狀和表達形式獨特的中醫(yī)專業(yè)術(shù)語給中醫(yī)臨床的信息抽取帶來了極大挑戰(zhàn)。本文通過分析中醫(yī)醫(yī)案信息抽取的重要意義,對中醫(yī)領(lǐng)域的信息抽取現(xiàn)狀進行思考,提出了將CRF 模型應(yīng)用于中醫(yī)癥狀的命名實體抽取。從已標(biāo)記過的肺癌病歷語料庫入手,構(gòu)造基于CRF 的中醫(yī)臨床醫(yī)案癥狀命名實體抽取模型,采用十折交叉驗證對模型結(jié)果進行測試,利用多分類評價指標(biāo)對模型進行評價,證實了CRF 模型在中醫(yī)臨床癥狀的命名實體識別中的性能較好,可以有效的實現(xiàn)中醫(yī)文本的信息抽取?!爸嗅t(yī)之功,醫(yī)案最著”,中醫(yī)臨床醫(yī)案是輔助中醫(yī)進行辨證用藥的基礎(chǔ),抽取名老中醫(yī)臨床醫(yī)案的有效信息,是中醫(yī)藥發(fā)展的基礎(chǔ),也是歷史賦予我們的重任。將CRF 模型應(yīng)用到中醫(yī)臨床癥狀的命名實體抽取領(lǐng)域,可以為中醫(yī)臨床工作者提供更便捷有效的信息抽取工具,提高中醫(yī)臨床醫(yī)案的研究效率,為中醫(yī)藥信息抽取提供方法學(xué)參考。