?

基于Bert 的中醫方劑文本命名實體識別

2023-03-24 11:42徐麗娜鐘昕妤陳月月帥亞琦
醫學信息 2023年4期
關鍵詞:方劑命名實體

徐麗娜,李 燕,鐘昕妤,陳月月,帥亞琦

(甘肅中醫藥大學信息工程學院,甘肅 蘭州 730000)

中醫方劑(traditional Chinese medicine prescriptions)是千百年來名醫大家臨床實踐總結得出的成果,是集中醫、方法、方劑、中藥四大理論為一體的綜合體系,不僅可以運用中醫的主要手段即辯證論治的理論用于指導臨床防治疾病,也是藥性理論的具體表現[1]。因中醫方劑有其獨到的組合方式,蘊含著豐富的信息,但事實上這些復雜的方劑變換中就已包含了大量規律,故提取中醫藥信息便成為了促進中醫藥信息化結構化的重要手段方法[2]。中醫藥文本數據挖掘從最初的在海量歷史數據中進行簡單查詢,發展成為不僅從大量數據中獲取知識,還能夠揭示事物的內在發展規律,預測事物發展趨勢的潛在關聯或模型的一項技術[3]。利用數據挖掘可以分析和討論中醫治療的療效和基本理論、中醫辨證論治的各種方法以及方劑的分類理論,從而了解中醫的用藥規律[4]。命名實體識別作為文本數據挖掘中重要的一環,其主要任務為在非結構化數據中提取出一組相關性較高的名詞。目前文獻研究集中于中醫醫案及電子病歷,或是單一研究藥品命名實體識別,對中醫方劑文本領域關注度較少,尤其在中醫方劑領域中基于種類多樣且復雜的實體類型,使得此方法在實際應用中進展較慢。而將命名實體識別技術運用在中藥學中,從海量的中醫方劑文本數據中識別出不同類型的且較為準確的實體信息將是中醫藥學者未來的重點研究方向。本文主要基于Bert的中醫方劑文本命名實體識別的數據獲取與標注、實驗模型與框架、實驗結果進行分析。

1 數據獲取與標注

1.1 數據獲取 從以PDF 格式存放的《中醫方劑大詞典》[5]中獲取數據,整理分散在各個文獻中的所有方劑,包括各種適應證、試驗用例及實驗研究資料等。通過文本識別技術,將《中醫方劑大詞典》進行文本識別,并轉換成TXT 等命名實體識別模型可輸入的格式。

1.2 數據標注 從獲取到的數據中進行篩選,基于內容完整的方劑數據,選擇在主治中明確提到“心悸”“心痛”“怔忡”等關鍵詞的方劑,刪除主治功效中雖含有關鍵字,但不是主要癥狀的方劑,最后得到治療心血管疾病的方劑567 首。并遵照中醫藥學語言系統(TCMLS)中的標準,選擇方劑(prescription)、藥物(medicine)、疾?。╠isease)、功效(efficacy)、炮制方法(processing method)五類實體進行研究,命名實體定義及標注規則見表1。

表1 命名實體定義表

中醫方劑數據語料標注采用方法為“BIO+命名實體”的序列標注方法,序列標注是指對序列中的每個字符分配一個特定的標簽,當給定一個序列時,對序列中的每個元素進行標注。通常一個序列即為一個句子,而一個元素即為句子中的一個單詞。序列標注中最常用的方法是BIO 標注法,B 標記為實體的開始,I 標記為實體的中間部分,O 標記為非實體字符的部分[6]。命名實體標注信息見表2。

表2 命名實體標注信息表

為了保持標注的一致性,由一人單獨完成標注任務,根據選取好的語料對句子進行切分,使用BIO標注方法對篩選完成的567 首方劑數據進行人工標注,并將現有數據劃分為70%的訓練集和30%的測試集,隨后即可進行后續研究,中醫方劑數據標注示例見表3。

表3 中醫方劑標注示例

2 實驗模型與框架

近年來隨著中醫文本數據量的增多,對于從大量數據中挖掘有用知識的技術也在快速發展,命名實體識別任務作為重要的一環,模型的質量將影響整個識別任務的準確性。預訓練模型因其可獲得高質量的詞向量被廣泛關注,將預訓練模型運用到中醫方劑文本識別任務中,從一定程度上可以減輕臨床人員錄入數據的負擔,還能夠有效提高識別準確率,為挖掘更多中醫方劑的知識奠定基礎,更能促進中醫藥相關事業的發展及傳承[7]。

本文模型框架由Bert 模塊、BiLSTM 模塊和CRF 模塊組合構建而成,模型結構見圖1。Bert-BiLSTM-CRF 模型命名實體識別的主要步驟如下:首先,將已標注完成的中醫方劑文本標記詞,如“心血康飲”通過Bert 預訓練模型并接受其相對應的詞向量,然后將預處理完成的詞向量輸入到BiLSTM模塊中,更好地完成對文本上下文語義信息的捕獲,最后使用CRF 模塊解碼BiLSTM 模塊中輸出得到的預測標簽排序,然后依次檢索和排序各類中醫方劑文本實體,從而完成整個實體識別步驟。

圖1 Bert-BiLSTM-CRF 模型框架圖

2.1 Bert 模塊 Bert 預處理模型源于谷歌的一個開源項目word2vec[8]。本文的Bert 預訓練模型使用12層的Transformer 架構,由編碼器與解碼器組成,它們使用分層堆疊來實現自然語言處理中的最佳特征提取器,在訓練時,只有Transformer 的編碼器被使用,且每層編碼器由自注意力機制與前饋神經網絡構成,通過從輸入的中醫方劑長文本信息中提取特征,最終實現文本表示。

2.2 BiLSTM 模塊 BiLSTM 模塊包括前向長短時記憶神經網絡(LSTM)和后向長短時記憶神經網絡(LSTM)[9],本文所使用的LSTM 結構首先通過遺忘和記憶狀態門中的新信息,因為其可以傳遞對后續計算有價值的信息,舍棄無價值信息,再在每一步輸出隱藏層的狀態,其中遺忘、記憶和輸出由遺忘門、記憶門和通過前一時刻隱藏層的狀態和當前輸入計算的輸出控制[10],基本單元結構見圖2。雙向長短時記憶神經網絡模型(BiLSTM)可克服傳統循環神經網絡的梯度消失問題,允許網絡選擇性地保留以前的信息,且雙向傳輸模型在傳播過程中利用時間來處理前后文的信息,最終輸出結果也為事前向傳播和后向傳播相結合而成的[11]。在傳統中醫方劑文本中,很多情況是多個詞構成一個實體,即長序列實體,利用雙向長短期記憶神經網絡,可以快速獲取長距離所屬特征,有效優化模型對長序列實體的識別性能。

圖2 LSTM 基本單元結構圖

2.3 CRF 模塊 雖然BiLSTM 模塊已經學習了輸入序列的上下文信息,但其默認序列標簽的狀態間是相互獨立不影響的,這將會出現實體標簽不一致問題,所以關鍵步驟仍然是在獲取標簽數據集后處理標簽之間的關系[12]。本實驗解決方案是添加CRF 模塊,這是一個條件概率模型,該模型會考慮標簽之間的順序,可以處理標簽之間的相互約束,有效解決標簽順序不一致的問題,從而提高中醫方劑文本模型實體識別的準確率。

3 實驗結果

3.1 實驗設計 本實驗是在Windows 系統下使用Python3.9 為主要編程語言,在Pytorch1.6.0、Pytorchcrf2.10.0 以及Transformers0.7.2 的實驗環境下進行。其中,將實驗分為2 個環節,第1 個環節使其他條件不變,分別訓練BiLSTM-CRF 和Bert-BiLSTM-CRF這2 種模型,來對比2 種模型的性能;第2 個環節使其他條件不變,在模型訓練過程中主要改變模型學習率的大小,并最終主要通過F 值來評判模型訓練效果。

3.2 模型性能 采用目前常用來衡量命名實體識別模型性能的3 個評分指標進行分析,分別為準確率(P)、召回率(R)以及F值[13],指標的數學定義如公式(1)~(3)所示;

上述公式中,α 是識別正確的實體數目,A 是實體總數目,B 是被識別出的實體數目。P 是指在所有預測結果中與實際結果一致的實體數目占總實體數目的百分比,R 是指被正確識別的實體數目占總實體數目的百分比,F 值是準確率與召回率的綜合值,用來對模型進行總體評估[14]。

在實驗過程中,因Bert 模型要求樣本長度低于512,最初將句子切分長度設置為256,但參數設置太低可使模型識別率不理想,且分析數據發現文本長度大多集中在200~600,因此將最大句子長度參數更換為512,發現訓練結果得到明顯提升;對于Bert 層學習率,由于預訓練模型的參數在訓練過程中已經更新若干次,所以在調整參數過程中為了保持模型的高泛化率,將預訓練模型Bert 層的參數設置為(2e-5),并在訓練過程中將CRF 層學習率從(2e-3)調整為(1e-3),取得了較好的效果;Batch-Size 選擇設置為16,Dropout 設置一般取值0.5,Epoch 設置為30,通過實驗結果證明獲得了較優的模型識別效果,見表4、圖3。

表4 模型總評對比表(%)

圖3 模型總評對比圖

通過圖3 模型總評對比圖可以看出,相比BiLSTM-CRF 模型,加入Bert 后,模型命名實體識別準確率整體升高6%左右,性能明顯增強。使模型性能增強的方式較多,如調整模型參數或改進算法等。本實驗通過調整模型參數,不斷進行模型訓練及測試,將Bert 層訓練級別設置為較低,CRF 層訓練級別設置較高,以此獲得了更好地框架識別效果。并且本身BiLSTM-CRF 模型由于CRF 模塊的加入,利用CRF 模塊的特性得到全局最優標簽序列,在此基礎上再次引入Bert 模型進行預處理,充分提取字符級、詞級和句子間的關聯關系,使得預訓練時得到的詞向量能夠更好地表達所需要的語義信息,從而提升模型的命名實體識別性能。Bert-BiLSTM-CRF 模型與BiLSTM-CRF 模型對方劑、藥物、疾病、功效和炮制方法五類實體識別的F 值對比統計圖見圖4。

圖4 模型實體識別F 值對比圖

從圖4 模型實體識別F 值對比圖可以看出,Bert-BiLSTM-CRF 模型相較于BiLSTM-CRF 模型,對于5 類實體整體識別準確率都有所增長,其中藥物、方劑、疾病、炮制方法的識別準確率較高,對于功效識別準確率較低,原因可能是本實驗心血管疾病中醫方劑數據來源于《中醫方劑大詞典》及相關數據庫補充資源,這些數據中對于一首方劑的描述主要包括其方劑名稱、藥物組成、主治何種疾病以及如何炮制使用,在文本中數量較多且方劑名稱大部分以丸、湯、方結尾,實體特征較明顯,所以識別率較高;而方劑數據集中對于功效的描述較為稀缺,在文本數量中占據較少,且對于功效術語的規范化存在不足,容易出現用詞繁復的情況,如“發汗解肌”“發汗解表”都可表述發散風寒藥的功效,這種同近義詞使得模型實體識別難度較大,從而導致模型識別率降低。由此可見,實體特征、實體數據量大小以及數據規范性對于模型的識別精度都存在一定程度的影響,未來可以通過擴展中醫方劑文本數據量,規范化使用中醫術語來提高模型整體識別精確率以及模型有效性。

4 討論

中醫藥豐富的治療手段以及靈活的方法作為中醫藥傳統特色優勢之一,在提高人們健康及生活質量方面都做出了卓越貢獻。而中醫方劑是中醫最常用的藥物治療手段之一,通過與現代技術相結合來適應當代社會的發展需求,可使用計算機處理及分析方劑文本數據,但其需將醫學數據做結構化處理,而命名實體識別技術則是結構化表示的基礎。

國內對醫學命名實體識別的研究最早認為是分類問題,經典的隱馬爾可夫以及條件隨機場等模型被廣泛研究[15,16]。隨著各個領域的快速發展,深度學習方法的優勢逐漸顯現出來,通過自動提取特征標簽,在命名實體識別領域得到了較好的效果[17]。在國際領域,基于循環神經網絡(RNN)與長短期記憶網絡-條件隨機場(LSTM-CRF)模型都具有較高的代表性。并且隨著深度學習領域的發展,自注意力機制(Attention)和Transformer 模型等在自然語言處理領域的優異表現,不斷有更多優秀的改進模型在各個領域被提出[18,19]。

Bert 預訓練模型是使用大規模未標注數據集訓練Bert 來提取文本特征,再使用BiLSTM-CRF 模型進行標注。即使Bert 在各個領域已得到廣泛應用,但在中醫藥方劑領域的研究仍然匱乏,針對于此,本實驗提出基于深度學習的Bert 預訓練模型,結合BiLSTM-CRF 模型運用于中醫方劑的命名實體識別任務中,對模型進行改進優化,并與BiLSTM-CRF模型進行對比,發現將Bert 預訓練框架與BiLSTMCRF 模型進行結合,運用到中醫方劑文本識別任務中,中醫方劑各類實體識別的準確率得到提升,充分發揮了模型在構建字符向量時充分考慮到字符間的關聯關系,解決以往模型常見的邊界模糊、歧義性等問題,且得益于Bert-BiLSTM-CRF 模型設計與優化訓練,模型識別性能也得到了有效提升。

總之,命名實體識別作為自然語言處理技術中最重要的一環,在各個領域已有卓越表現,但在中醫領域尚在起步階段,仍然是未來的研究重點,并且一個性能較高的中醫方劑文本命名實體識別模型能夠為中醫智能化、信息化的發展奠定良好基礎,也能夠構建更精準的中醫藥知識網絡、中醫方劑知識圖譜,為實現臨床輔助決策、智慧醫療、中醫方劑知識推薦等智能服務提供支撐與動力。本研究不足之處在于對部分實體的識別準確率較低,原因可能是實體數據量較少、實體特征不明顯等,從而對模型識別準確率造成影響。目前,仍有許多隱藏有意義的藥物知識未被發現,在今后的研究中,將增加更多相關數據,或引入專業詞典來提高模型的有效性。

猜你喜歡
方劑命名實體
中藥方劑在治療黃褐斑中的應用
命名——助力有機化學的學習
《金匱要略》黃芪類方劑探析
前海自貿區:金融服務實體
論方劑的配伍環境
實體的可感部分與實體——兼論亞里士多德分析實體的兩種模式
兩會進行時:緊扣實體經濟“釘釘子”
振興實體經濟地方如何“釘釘子”
甘草在方劑中的作用及配伍規律
河鲀命名小考
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合