胡 為,劉 偉,石玉敬
(湖南中醫(yī)藥大學(xué)信息科學(xué)與工程學(xué)院,湖南 長(zhǎng)沙 410012)
中醫(yī)醫(yī)案記錄了古今眾多從醫(yī)者的診斷經(jīng)驗(yàn)和診療規(guī)律,是中醫(yī)從醫(yī)者辨證論治的重要基礎(chǔ)。目前的中醫(yī)醫(yī)案信息化程度較低,因此研究如何從海量的中醫(yī)醫(yī)案數(shù)據(jù)中挖掘癥狀描述或癥狀術(shù)語(yǔ)信息具有重要意義。早期對(duì)中醫(yī)醫(yī)案的命名實(shí)體識(shí)別研究,主要使用基于統(tǒng)計(jì)學(xué)的方法,文獻(xiàn)[2]在2009 年利用CRF 方法對(duì)明清古醫(yī)案進(jìn)行了病癥、方劑、藥材等中醫(yī)術(shù)語(yǔ)抽取,F(xiàn)值均達(dá)到了80%以上。文獻(xiàn)[3]等用條件隨機(jī)場(chǎng)對(duì)中醫(yī)病歷進(jìn)行命名實(shí)體識(shí)別研究,并通過(guò)和傳統(tǒng)的HMM 模型對(duì)比,驗(yàn)證了該方法是一種較為適用的中醫(yī)臨床病歷命名實(shí)體抽取方法。近年來(lái)由于深度學(xué)習(xí)在自然語(yǔ)言中的良好表現(xiàn),大量研究者采用深度學(xué)習(xí)方法對(duì)中醫(yī)醫(yī)案進(jìn)行命名實(shí)體識(shí)別研究。文獻(xiàn)[4]針對(duì)于中醫(yī)醫(yī)案臨床癥狀術(shù)語(yǔ)提出了一種基于長(zhǎng)短期記憶(LSTM)網(wǎng)絡(luò)和條件隨機(jī)場(chǎng)(CRF)的深度學(xué)習(xí)癥狀術(shù)語(yǔ)識(shí)別方法,該方法在中醫(yī)典籍《全國(guó)名醫(yī)驗(yàn)案類方》數(shù)據(jù)集上F值最好達(dá)到了78%。文獻(xiàn)[5]利用BiLSTM 能夠更有效的獲取輸入語(yǔ)句前后特征的特點(diǎn),用BiLSTM-CRF 模型對(duì)中醫(yī)醫(yī)案進(jìn)行命名實(shí)體識(shí)別,在曹滄洲醫(yī)案數(shù)據(jù)集上F值達(dá)89.8%。文獻(xiàn)[6]基于word2vec 的向量構(gòu)建,通過(guò)BiLSTM-CRF 方法對(duì)中醫(yī)醫(yī)案文本進(jìn)行命名實(shí)體識(shí)別,在人工標(biāo)注的老中醫(yī)醫(yī)案數(shù)據(jù)集上F值達(dá)到了88.34%。上述的中醫(yī)醫(yī)案的命名實(shí)體識(shí)別方法中,傳統(tǒng)的機(jī)器學(xué)習(xí)命名實(shí)體識(shí)別方法由于無(wú)法捕獲長(zhǎng)距離上下文的信息,而深度學(xué)習(xí)方法如BiLSTM 算法可以從雙向來(lái)捕獲上下文的信息,還能從文本中挖掘隱藏特征,故深度學(xué)習(xí)方法和機(jī)器學(xué)習(xí)方法相比,優(yōu)勢(shì)比較明顯。
本文在現(xiàn)有中醫(yī)醫(yī)案命名實(shí)體識(shí)別研究基礎(chǔ)上,提出在BiLSTM-CRF 算法上加入BERT 語(yǔ)言模型(Bidirectional Encoder Representationfrom Transformers,BERT)來(lái)提高中醫(yī)醫(yī)案命名實(shí)體識(shí)別效果。BERT 語(yǔ)言模型是一個(gè)強(qiáng)大的預(yù)訓(xùn)練模型,通過(guò)采用Transformer訓(xùn)練出一個(gè)強(qiáng)大的預(yù)訓(xùn)練模型,并可以將預(yù)訓(xùn)練的模型進(jìn)行遷移學(xué)習(xí),只需在小規(guī)模的中醫(yī)醫(yī)案訓(xùn)練集上進(jìn)行微調(diào),即可提升命名實(shí)體識(shí)別任務(wù)的效果,同時(shí)還能解決文本特征表示時(shí)一詞多義的問(wèn)題。
BERT-BiLSTM-CRF模型核心由BERT語(yǔ)言模型、BiLSTM 模型、CRF 模型三個(gè)大的模塊組成,其整體結(jié)構(gòu)如圖1所示。
圖1 BERT-BiLSTM-CRF模型圖
BERT-BiLSTM-CRF 模型首先利用預(yù)訓(xùn)練的BERT語(yǔ)言模型的Transformer機(jī)制對(duì)輸入的數(shù)據(jù)進(jìn)行編碼,輸出文本的字向量序列表示即={,,…,x},然后將結(jié)果輸入到BiLSTM 層進(jìn)一步獲取數(shù)據(jù)隱藏層的高層特征,最后通過(guò)CRF 對(duì)BiLSTM 的輸出結(jié)果進(jìn)行狀態(tài)轉(zhuǎn)移約束,并最終輸出命名實(shí)體結(jié)果。
自然語(yǔ)言處理任務(wù)的第一步是如何將文本信息轉(zhuǎn)化為計(jì)算機(jī)能識(shí)別的數(shù)據(jù)形式,早期的主流做法是采用詞向量模型,比較經(jīng)典的詞向量模型有Google 在2012 年提出的Word2Vec。該方法生成的詞向量雖然考慮了上下文信息,但該方法本身屬于一種淺層結(jié)構(gòu)的詞向量,所學(xué)到的上下文語(yǔ)義信息受限于窗口大小導(dǎo)致無(wú)法獲取長(zhǎng)距離的上下文依賴關(guān)系,并且該方法也無(wú)法解決一詞多義的問(wèn)題。文獻(xiàn)[7]提出的BERT預(yù)訓(xùn)練語(yǔ)言模型可有效解決上述問(wèn)題。該模型的結(jié)構(gòu)如圖2 所示,該模型采用雙向Transformer 編碼器,生成的字向量可以充分融合字詞左右的上下文信息,與傳統(tǒng)語(yǔ)言模型相比,該模型可以更充分地表征字的多義性。
LSTM(Long Short-Term Memory)是一種特殊的RNN(Recurrent Neural Network),每個(gè)LSTM 單元由輸入門、遺忘門和輸出門組成。其單元結(jié)構(gòu)如圖2所示。
圖2 LSTM單元結(jié)構(gòu)圖
LSTM 存儲(chǔ)單元不僅能夠存儲(chǔ)短期輸入信息,還能保存長(zhǎng)期的輸入狀態(tài)。LSTM 核心的3 個(gè)門中,輸入門控制輸入的新存儲(chǔ)內(nèi)容的大小,遺忘門確定需要忘記的存儲(chǔ)量,輸出門調(diào)制輸出存儲(chǔ)器內(nèi)容的數(shù)量。通過(guò)三個(gè)門還能克服傳統(tǒng)RNN 模型在面向長(zhǎng)序列特征提取過(guò)程中存在的梯度消失等問(wèn)題。
由于LSTM 模型都是從前向后編碼,使得句子只能掌握從前到后的上下文信息,而很多句子后面的詞語(yǔ)跟前面的詞語(yǔ)也是有很強(qiáng)的關(guān)聯(lián)性,因此BiLSTM模型組合了前向LSTM 模型與后向LSTM 模型,通過(guò)前向LSTM 模型和后向LSTM 模型組成BiLSTM 模型來(lái)學(xué)習(xí)雙向上下文信息。
CRF 是Lafferty 等在2001 年提出的一種遵循馬爾可夫性的概率圖模型,通過(guò)隨機(jī)變量作為輸入來(lái)輸出隨機(jī)變量的條件概率分布的一種算法。對(duì)于標(biāo)簽分類問(wèn)題,由于CRF 能夠充分考慮標(biāo)簽與標(biāo)簽之間的依賴關(guān)系,相比于Softmax 分類器,CRF 更適合用于分詞任務(wù),CRF結(jié)構(gòu)如圖3所示。
圖3 CRF模型結(jié)構(gòu)圖
圖3中{,,…,x}為需要預(yù)測(cè)的文本序列,={,,…,y}為輸出結(jié)果的預(yù)測(cè)序列。
本文使用的數(shù)據(jù)集來(lái)源于《中國(guó)現(xiàn)代名中醫(yī)醫(yī)案精粹》,從數(shù)據(jù)集中甄選出1000 條高質(zhì)量醫(yī)案后由多位經(jīng)驗(yàn)豐富的中醫(yī)學(xué)者共同對(duì)數(shù)據(jù)集進(jìn)行人工標(biāo)注。數(shù)據(jù)集共設(shè)計(jì)了六個(gè)實(shí)體類別,即癥狀實(shí)體、辯證實(shí)體、治則實(shí)體、方藥實(shí)體、人群實(shí)體、功效實(shí)體。數(shù)據(jù)集采用BIO 標(biāo)注法,其中屬于六個(gè)類別的實(shí)體元素標(biāo)注為B-X 或I-X,B-X 為此實(shí)體元素的開(kāi)頭,I-X 表示次實(shí)體元素的中間或結(jié)尾,不屬于六類實(shí)體中的其他實(shí)體用元素O 來(lái)表示。具體的標(biāo)注表1 所示,最后從標(biāo)注后的數(shù)據(jù)集中選取70%作為訓(xùn)練數(shù)據(jù),20%作為測(cè)試數(shù)據(jù),10%為驗(yàn)證數(shù)據(jù)來(lái)進(jìn)行實(shí)驗(yàn)。
表1 待預(yù)測(cè)的標(biāo)簽
本文采用命名實(shí)體識(shí)別的常用的三個(gè)評(píng)價(jià)指標(biāo)即精確率(P)、召回率(R)和F值。具體公式如下:
其中T為模型正確識(shí)別的實(shí)體數(shù),F(xiàn)為模型識(shí)別錯(cuò)誤實(shí)體數(shù),F(xiàn)為模型沒(méi)有檢測(cè)到的實(shí)體數(shù)。
本文實(shí)驗(yàn)采用一臺(tái)操作系統(tǒng)為Ubuntu、CPU 型號(hào)為2.2 GHz八核Intel Core i7、顯卡型號(hào)為GTX2080i、顯存11G 的機(jī)器。在機(jī)器上搭建了Tensorflow1.15 框架、Python3.7 版本的環(huán)境,BERT 預(yù)訓(xùn)練模型采用Google 官方的Bert_Base_Chinese 版本,該版本模型設(shè)置了12 層的Transformer,12 個(gè)Attention-head,768 個(gè)隱藏層單元,整個(gè)模型有110m 個(gè)參數(shù)。在實(shí)驗(yàn)的過(guò)程中,將BERT 模型的參數(shù)最大句子長(zhǎng)度設(shè)置成256,batchsize設(shè)置成8,學(xué)習(xí)率為1e-5,dropout 為0.5,BiLSTM中隱藏層的維度為128,訓(xùn)練的輪數(shù)設(shè)置為20。
本文利用BERT-BiLSTM-CRF 得到的各個(gè)實(shí)體預(yù)測(cè)結(jié)果如表2所示。
表2 各類實(shí)體標(biāo)簽的識(shí)別結(jié)果
從表2 的結(jié)果看出,BERT-BiLSTM-CRF 模型在各個(gè)實(shí)體上得分有一定的差異,比如“辯證實(shí)體”的F得分只有0.814,分析其原因是由于“辯證實(shí)體”、“治則實(shí)體”、“功效實(shí)體”在概念上存在一定的相似性,人工標(biāo)注時(shí),對(duì)部分實(shí)體比較難界定其邊界,導(dǎo)致標(biāo)注時(shí)比較容易受到主觀因素和習(xí)慣的影響,另外,部分實(shí)體的數(shù)量較低也會(huì)影響其識(shí)別效果。
為了驗(yàn)證本模型BERT-BiLSTM-CRF 的效果,我們選取了如下幾種方法進(jìn)行對(duì)比:①傳統(tǒng)的HMM模型;②機(jī)器學(xué)習(xí)CRF 模型;③深度學(xué)習(xí)BiLSTM模型;④深度學(xué)習(xí)BiLSTM-CRF模型。上述四種命名實(shí)體算法在本文的數(shù)據(jù)集上進(jìn)行了實(shí)驗(yàn),將實(shí)驗(yàn)結(jié)果和本文的BERT-BiLSTM-CRF模型進(jìn)行對(duì)比,各模型性能指標(biāo)如表3所示。
從表3 可以看出,傳統(tǒng)的機(jī)器學(xué)習(xí)模型HMM 和CRF 深度學(xué)習(xí)模型相比,深度學(xué)習(xí)模型各方面的性能都優(yōu)于傳統(tǒng)的機(jī)器學(xué)習(xí)模型。在深度學(xué)習(xí)模型中加入序列標(biāo)注CRF的BiLSTM-CRF模型,在各方面都優(yōu)于BiLSTM 模型,說(shuō)明CRF 在考慮了序列的全局標(biāo)簽信息后對(duì)模型的性能有一定的提升。在深度學(xué)習(xí)BiLSTM-CRF模型上加入BERT模型后,F(xiàn)值提升3.3%,由此可以說(shuō)明,BERT 模型對(duì)于文本數(shù)據(jù)字符間的關(guān)系特征提取及其性能提升有明顯效果,同時(shí)也說(shuō)明本文BERT-BiLSTM-CRF 模型在中醫(yī)醫(yī)案的命名實(shí)體識(shí)別相比于其他模型優(yōu)勢(shì)較明顯。
表3 各種模型的結(jié)果對(duì)比
本文研究設(shè)計(jì)了一種BERT-BiLSTM-CRF 中醫(yī)醫(yī)案命名實(shí)體識(shí)別方法,利用BERT語(yǔ)言模型,能夠解決在文本特征表示的一詞多義問(wèn)題,結(jié)合BiLSTM 算法充分學(xué)習(xí)上下文信息的特點(diǎn)以及CRF 算法提取全局最優(yōu)標(biāo)注序列,得到中醫(yī)醫(yī)案的實(shí)體,最后通過(guò)實(shí)驗(yàn)對(duì)比,P 值、R 值和F值相比以往研究者所提出的中醫(yī)醫(yī)案命名實(shí)體識(shí)別效果最好的方法分別提高了3.58%,1.95%,3.4%。本文提出的方法解決了中醫(yī)醫(yī)案實(shí)體識(shí)別效率一般的問(wèn)題,將為挖掘中醫(yī)醫(yī)案的有用信息提供了技術(shù)支撐。