屈倩倩,闞紅星
(安徽中醫藥大學醫藥信息工程學院,安徽合肥 230011)
1991 年Rau 等人在第七屆IEEE 人工智能會議上首次提出通過規則以及相關算法對文字中公司的名稱進行識別的方法,命名實體識別的概念也由此誕生。命名實體識別的任務是從非結構化數據中抽取出一系列相關的專有名詞,例如人名、地名等。作為自然語言處理中關鍵性的基礎工作,命名實體識別模型的有效性直接關系到自然語言處理任務的成敗。最初,命名實體識別通過手工構建規則模板的方式進行,該方式對語料庫以及構建規則的專家依賴性較大,并且靈活性相對較差。隨著計算機技術的不斷發展,將機器學習的方法例如條件隨機場(CRF)、支持向量機(SVM)等應用于命名實體識別也取得了巨大成效。文獻[1]證明了多種特征與CRF結合的方式能夠提高命名實體識別模型的準確性。文獻[2]利用SVM 算法確定實體的后綴,并通過隱馬爾可夫(HMM)模型對實體的前綴進行識別。近年來,神經網絡算法以其在小樣本的情況下仍能發揮出較強性能的優勢,被廣泛使用于各個領域的命名實體模型當中。文獻[3]利用Transformer-BiGRUCRF 模型將電力領域命名實體識別的準確率提高了5%。文獻[4]將卷積神經網絡(CNN)與注意力機制相結合,測試集的結果顯示該模型的F1 值雖然并沒有大幅度增加,但是運行速度提高了一倍。醫學命名實體識別的結果直接影響醫療輔助系統、醫學數據挖掘、智能診斷系統的準確性[5],對于醫學的發展有著重要意義。我國醫學按照治病思想可劃分為現代醫學和中醫兩個領域,由于兩個領域文本表述差別較大,因此分開進行研究可以提高命名實體識別的準確性。文中以中醫文本作為研究主體,通過Bert 模型進行詞向量的構建,并結合BiLSTM 與CRF模型完成最終命名實體識別的任務。
《傷寒論》作為中醫的經典叢書,對中醫的影響十分深遠,后世的許多中醫古籍皆有其潛移默化的作用,在中醫文本中代表性較強。因此,選擇《傷寒論》作為研究對象,可以將模型直接遷移至其他中醫文本中進行命名實體識別,不需要再重新對模型進行訓練?!秱摗啡墓舶?2 614 個字符,劃分為80%的訓練集、20%的測試集,按照BIO 規則進行標注。B 代表實體開始的位置,I 代表實體的中間以及結尾,O 代表非實體。在中醫的診治過程中,時間是不可忽略的因素,因此根據《傷寒論》中的文本信息,將實體一共劃分為五類[6],分別為癥狀、疾病名稱、方劑、中藥名、時間,具體標注信息見表1。

表1 標注信息表
文中通過Bert 模型構建字向量。Bert 模型是基于注意力機制的雙向編碼預訓練語言模型[7],在進行訓練時會隨機掩蓋部分信息,一般掩蓋的信息占總體的15%,通過對掩蓋信息的預測,完成上下文的學習。相對于word2vec、ont-hot 等詞向量的構建方式,Bert 模型構建的字向量更注重語義的變化,即同一個字符在不同的語境之中向量表示也不同。模型的輸入為詞嵌入向量、特征標志位以及位置編碼之和,如圖1 所示。位置編碼滿足式(1),即位置為偶數時代入sin 函數,位置為奇數時代入cos 函數,其中d為詞向量的維度[8]。通過sin 和cos 變換,可以使位置編碼中包含上下文相對位置的信息。


圖1 Bert模型輸入編碼
最終,向量的構建是通過調整q(查詢向量)、k(被查詢的向量)、v(特征向量)來完成的,其中q、k、v與輸出向量z之間的關系如式(2)所示,項用于消除向量維度對結果的影響。通過多頭注意力機制多次調整q、k、v的值,利用全連接的方式在輸出的向量中融入多種特征[9]。Bert 模型以并行的方式對文本進行處理,極大地縮短了訓練時間。谷歌公司在對Bert 模型進行訓練時,已經使用了超大容量的文本數據,相關參數已經調整至最佳狀態,因此文中在進行詞向量訓練時直接使用了該模型,并未對其進行修改。

LSTM 模型由多個單元結構組成,建立在循環神經網絡模型的基礎之上[10],同時通過門控單元避免梯度爆炸問題出現在神經網絡模型中。LSTM 單元結構如圖2 所示。各個門控單元的計算公式如式(3)~(8)所示。

圖2 LSTM單元結構圖

BiLSTM 模型在LSTM 模型之上增加了一層反向傳播過程,對上下文信息同時進行處理,最終的輸出由前向傳播的輸出與反向傳播的輸出拼接而成。該模型的主要任務為在訓練的過程中,完成對數據集特征的提取。文中模型的輸出是一個由各個實體類型標簽所對應概率組成的11 維向量,將該向量作為輸入注入CRF 層。
雖然通過BiLSTM 獲得的概率矩陣可以判斷出最終的結果,但是由于未考慮標簽之間的關聯性,因此可能會導致結果錯誤,通過將標簽中的依賴注入CRF 模型之中的方式[11]可以提高結果的準確性。文中的依賴為:①B-tag1、I-tag1 為正確;②實體不能以I-開頭;③O 后的標簽不能為I-tag1。將數據集中輸入序列設為X(i)={x1,x2,x3,…,xi},輸出序列設為Yi={y1,y2,y3,…,yi},那么該數據集的評分公式為:

H為轉移矩陣,P為BiLSTM 模型中輸出的標簽概率向量。通過softmax 函數將分數轉化為概率[12],并利用似然函數對最大值進行求解,最終滿足最大值的序列就是最優輸出序列。
實驗是在Linux系統python2.7以及Tensorflow1.8的環境下進行的。其中,數據的最大句子長度設置為100,baechsize 為12,epoch 為40,dropout 為0.3。Bert 模型為Bert-Base-Chinese 版本,未對其參數作修改。
在對模型進行評價時,主要衡量以下3 個因素:①準確率P,②召回率R,③F值。準確率是指在所有的預測結果中,與實際結果相符的結果數占總體的百分比[13]。召回率是指被正確識別出的實體占全部實體的百分比。F值結合準確率與召回率,對模型整體進行評價。
文中在進行實驗時加入了BiLSTM、LSTM、BiLSTM-CRF 3種模型作為對比組。該3組模型通過word2vec 完成字向量的構建。
由圖3、圖4、圖5、圖6 可知,模型對方劑、中藥名稱、時間、疾病名等4 類實體的識別精度較高,而對癥狀的識別精度相對較低。通過分析得出方劑的組成為“中藥名+方”、時間的組成為“數量+日”,疾病名則是以“病”為結尾,這3 種實體的組成特征性較強,中藥名稱實體在文中數量較多,由此可見,影響命名實體識別精度的因素有兩種:①實體數量,②實體特征[14]。

圖3 LSTM模型實體F值統計圖

圖4 BiLSTM模型實體F值統計圖

圖5 BiLSTM-CRF模型F值統計圖

圖6 Bert-BiLSTM-CRF模型F值統計圖
從表2的結果可以看出,BiLSTM 模型的F值相對于LSTM 模型的增加了1.92%,加入CRF 層之后,整體模型的精度又提升了6.79%,通過將Bert 模型與BiLSTM、CRF 模型結合之后,命名實體識別的F值超過了90%,尤其是對癥狀的識別上,Bert-BiLSTMCRF 模型表現遠超于其他模型。與BiLSTM-CRF 模型的不同之處在于,Bert-BiLSTM-CRF 模型通過Bert 模型構建字向量,在進行特征提取之前引入了注意力機制[15],并且通過超大的語料庫進行字向量的構建,通過此種方式構建的字向量已經融入了上下文的信息,可以極大地提高特征不明顯、組成復雜的實體識別的準確性。實驗結果表明,Bert-BiLSTM-CRF 模型在中醫文本的命名實體中精度較高,可以將其應用于相關領域之中。

表2 不同模型最終結果對比
命名實體識別技術是自然語言處理技術的一個分支,同時也是自然語言處理技術中最為重要的一部分。在中醫自然語言處理領域中,一個合格的命名實體識別模型可以加快中醫智能化發展的進程。通過人工構建中醫古籍知識庫較為困難,而命名實體識別技術可以實現中醫古籍知識庫的自動化構建。隨著中醫的發展,中醫文本信息會越來越多,將自然語言處理技術應用于中醫文本的數據挖掘當中,可以大大地提高中醫的研究效率。尤其是在中醫智能問答系統、中醫診療系統中,命名實體識別的準確性將直接影響最終結果的準確性。因此,如何提高命名實體識別的準確性是中醫自然語言處理領域研究的重中之重[16]。文中的研究表明,Bert 模型與BiLSTM-CRF 模型結合使用能夠用于中醫文本的命名實體識別當中,Bert 模型在進行字向量構建時充分考慮了字與字之間的相關性,可以解決命名實體中邊界模糊的問題,可遷移性較強。文中的不足之處在于,該模型對癥狀實體識別的準確率尚未達到90%以上。因此,在下一步研究中,將對癥狀實體進行單獨研究,例如引入癥狀詞典、通過其他模型提取癥狀實體特征等。