雷迪,張璞
(1.河北地質(zhì)大學(xué),河北石家莊,050000;2.河北政法職業(yè)學(xué)院,河北石家莊,050000)
中醫(yī)藥是中華文化的瑰寶,歷經(jīng)上千年的傳承,形成了以經(jīng)驗為依據(jù)的獨(dú)特理論體系。因此,對這些寶貴的中醫(yī)藥治療醫(yī)案進(jìn)行數(shù)字化、結(jié)構(gòu)化的知識構(gòu)建,對中醫(yī)藥信息檢索與臨床應(yīng)用、挖掘中醫(yī)辨證規(guī)律等方面具有非凡的指導(dǎo)意義。所以,對這些醫(yī)案中,相關(guān)病癥、方劑、治療手段等實(shí)體的正確提取,有利于推進(jìn)中醫(yī)藥知識結(jié)構(gòu)化、數(shù)字化、智能化的建設(shè),進(jìn)一步推進(jìn)中醫(yī)藥領(lǐng)域的發(fā)展。
命名實(shí)體識別作為知識圖譜中的一部分技術(shù),在自然語言處理特別是通用領(lǐng)域,已有多種模型,并且效果較好。然而針對中文的復(fù)雜語義關(guān)系及中醫(yī)藥領(lǐng)域中的特定語義信息,比如疾病名稱、中醫(yī)藥物等實(shí)體,當(dāng)前大多命名實(shí)體識別模型還無法對這類實(shí)體進(jìn)行準(zhǔn)確的判斷。
針對此類問題,本文提出使用一種融合中醫(yī)藥領(lǐng)域字、詞信息,運(yùn)用Lattice-LSTM-CRF 解決中文中醫(yī)藥特定領(lǐng)域的命名實(shí)體識別方法。使用Lattice 對中文語言命名實(shí)體識別的實(shí)體邊界劃分優(yōu)勢,結(jié)合中醫(yī)藥領(lǐng)域詞信息的字符特征進(jìn)行輸入。同時,在領(lǐng)域?qū)<业闹笇?dǎo)下,運(yùn)用BIOES 語言標(biāo)注方法自行構(gòu)建中醫(yī)藥醫(yī)案的數(shù)據(jù)集。本文所提出的方法可對中醫(yī)藥醫(yī)案中的中醫(yī)人體基礎(chǔ)、中醫(yī)治療手段、病癥醫(yī)治藥物等實(shí)體邊界進(jìn)行有效的確定。
本模型主要考慮中文詞級和字級信息,經(jīng)過Lattice-LSTM-CRF 幾部分。首先通過Lattice 輸入句子信息后,通過BILSTM 捕獲句子的上下文信息,理解其復(fù)雜的語義關(guān)系。最后利用CRF 將句子的語義表示進(jìn)行判別和解碼,獲得最優(yōu)標(biāo)記序列。整體結(jié)構(gòu)如圖1 所示。
圖1 Lattice-LSTM-CRF 整體結(jié)構(gòu)
我們使用BIOES 標(biāo)記方案進(jìn)行基于詞和基于字的命名實(shí)體識別標(biāo)記。句子S可以表示為S=c1,c2,c3…,cm(共m個字符),如圖2 所示,基于字的模型可表示為其中j為句子中的索引值,c為字符信息,x表示文字的向量化表示。經(jīng)過Bi-LSTM的輸入門、遺忘門和輸出門計算,公式如下:
其中i、o、f分別表示LSTM的輸入門、輸出門、遺忘門信息。Wc和bc是模型的參數(shù)。若將句子S看做基于詞的表示,句子S=w1,w2,w3,… ,wn(其中wi表示第i個單詞的表示)。b,e分別表示S中單詞開始和結(jié)束的索引值,則經(jīng)過Bi-LSTM的輸入門、遺忘門和輸出門計算,公式如下:
由于標(biāo)注序列均是在字后面進(jìn)行的標(biāo)注,所以對于詞級信息,LSTM 部分沒有輸出門信息。如圖2 所示,由于Lattice-Lstm 是考慮如何將當(dāng)前位置索引為j的cj中能夠融合潛在的w的信息,將融合了詞的更新狀態(tài)送入LSTM 中,所以考慮在LSTM的輸入門位置更新cj。其中這一過程需要增加一個輸入門的向量
圖2 基于字、詞信息的Lattice-LSTM
對該向量進(jìn)行歸一化的處理:
得到更新后的cj:
如圖3 所示,將更新的cj重新放入LSTM 中進(jìn)行訓(xùn)練,去掉LSTM 最后的輸出層softmax,將信息放入CRF 中,利用其轉(zhuǎn)移特征來對標(biāo)簽進(jìn)行語義約束。
圖3 經(jīng)過Lattice-LSTM 后輸入CRF的特征信息舉例
CRF 是一個判別式模型,也是一種無向的圖模型??梢钥醋魇亲畲箪伛R爾可夫模型在標(biāo)注問題上的推廣。它可以通過特征函數(shù)來學(xué)習(xí)狀態(tài)間的關(guān)聯(lián)。如圖4 所示,對于本文來說,利用CRF 中輸出元素的前后關(guān)聯(lián)性,來對中文中的中醫(yī)藥領(lǐng)域標(biāo)簽進(jìn)行標(biāo)簽前后的約束。
圖4 CRF 中進(jìn)行Viterbi 解碼示例
對特征函數(shù)進(jìn)行簡化,將兩種特征函數(shù)此時都用f表示,權(quán)重都用w 表示為:
給定一個輸入序列x,可以計算出輸出序列為y的概率,公式如下,其中n為序列的長度。
可以把Z(k) 看成是所有輸出序列的得分之和。最后采用L2 正則化的句子級對數(shù)似然損失訓(xùn)練模型,防止小樣本數(shù)據(jù)實(shí)驗過擬合。
而命名實(shí)體識別任務(wù)本質(zhì)上是一個seq to seq的任務(wù),所以最后得到的結(jié)果還應(yīng)轉(zhuǎn)化為相應(yīng)標(biāo)簽。這一部分,我們使用CRF 中的一階Viterbi 算法在本模型對應(yīng)的輸入序列上找到得分最高的標(biāo)簽序列。
本文數(shù)據(jù)集來自于中醫(yī)藥專家對多種病癥治療的中文中醫(yī)藥治療醫(yī)案,并且以中醫(yī)藥學(xué)科體系為核心,遵循中醫(yī)藥學(xué)語言特點(diǎn),借鑒語義網(wǎng)絡(luò)的理念,建立的一個中醫(yī)藥學(xué)語言集成系統(tǒng)TCMLS 為依據(jù),在專家指導(dǎo)下將中醫(yī)藥的醫(yī)案文本數(shù)據(jù)分為6 類不同標(biāo)簽,共標(biāo)注字?jǐn)?shù)71902,實(shí)體10692 個,標(biāo)注類別如表1 所示,對其相關(guān)實(shí)體進(jìn)行BIOES 標(biāo)注。
表1 6類標(biāo)簽的劃分及示例
本實(shí)驗取數(shù)據(jù)集的80%作為訓(xùn)練集,10%作為驗證集,10%作為測試集。實(shí)驗最終選取常用的精確率 P、召回率R 和F1 值對命名實(shí)體識別結(jié)果進(jìn)行評價。為了驗證本文方法的有效性,我們設(shè)置了以下4 個實(shí)驗。
LSTM-CRF:LSTM 捕捉句子信息,理解語義內(nèi)容,CRF 對標(biāo)簽進(jìn)行約束,更好的進(jìn)行命名實(shí)體識別任務(wù)。
BiLSTM-CRF:BiLSTM由前項LSTM和后項LSTM組合而成,可以更好的捕捉上下文的語義信息。效果優(yōu)于LSTM-CRF。
Lattice-LSTM-CRF:將分詞信息帶入LSTM,能夠?qū)⒆址墑e序列信息和該序列對應(yīng)的詞信息同時編碼供模型取用,豐富了語義表達(dá)。對于中文中醫(yī)藥文本數(shù)據(jù)效果明顯。
Lattice-BiLSTM-CRF:結(jié)合字、詞信息同時,捕捉上下文語義,更好的理解中醫(yī)藥語義信息,可以看出F1 值最高,效果最好。實(shí)驗結(jié)果如表2 所示。
表2 4個實(shí)驗對比結(jié)果
本文將Lattice-LSTM-CRF 模型引入到中文數(shù)據(jù)的中醫(yī)藥領(lǐng)域命名實(shí)體識別研究。通過標(biāo)注的中醫(yī)藥醫(yī)案數(shù)據(jù)集發(fā)現(xiàn),相比傳統(tǒng)的LSTM-CRF 實(shí)驗,Lattice-LSTM-CRF 更具有實(shí)驗優(yōu)越性,對中醫(yī)藥醫(yī)案中的實(shí)體邊界的確定有更好的效果。本文對中文中醫(yī)藥領(lǐng)域中的6 類實(shí)體進(jìn)行了很好的識別。在今后研究中,可以針對特定領(lǐng)域的詞信息及上下文的相關(guān)性,提前進(jìn)行詞信息的預(yù)處理,比如構(gòu)建相關(guān)詞典。使Lattice 可以更好的利用相關(guān)信息,更好的在命名實(shí)體識別任務(wù)中凸顯其效果。