何家歡 劉勇國 蔣 羽 張 云
(電子科技大學信息與軟件工程學院 成都 610054)
張春梅 李東曉
(四川省中醫藥科學院 成都 610041)
張 藝
(成都中醫藥大學 成都 611137)
藏醫學是一門古老科學,已有數千年歷史,是4大傳統醫學體系之一,是通過不斷的實踐和研究逐漸形成的集人體生理、病理、診斷、治療、方劑等為一體的民族醫藥學[1]。近年來我國藏醫藥研究的科技文獻逐年遞增[2]。藏醫藥科技文獻的增長有利于發現藏醫藥領域研究熱點和進展,明確藏醫藥研究方向和思路,促進藏醫藥的研究和發展。現有藏醫藥科技文獻研究以手工方式或運用統計軟件分析為主。扎西道知等[3]通過查詢藏醫藥文獻并整理藏藥不良反應描述,為藏醫藥不良反應研究提供文獻依據。高路等[2]使用軟件CiteSpace對文獻數據進行統計分析,發現藏醫藥研究進入穩定發展期。李琪等[4]應用中醫傳承輔助平臺[5]對藏藥治療肝炎方劑進行藥物頻次統計和藥物關聯度分析,運用聚類分析提取核心組合。手工方式分析藏醫藥文獻存在樣本小、主觀性強、周期長和人力成本高的問題,應用商業軟件可分析藏醫藥概念(治法、方劑和藥物等)出現頻率和共現關系,但無法分析藏醫藥概念深層語義。藥物藥理用于闡明藥物對機體的作用和原理,以及藥物在體內吸收、分布、生物轉化和排泄等過程,藥物效應和血藥濃度隨時間消長的規律[6]。藥物藥理研究能夠了解藥物治療疾病原理,從而針對疾病研發新藥物,針對藥物尋找新的適應癥,藥理研究在臨床中具有重要價值[7]。
近年來文獻挖掘在生物醫學研究領域逐步開展,Murugesan等[8]提出BCC-NER方法,使用雙向條件隨機場對BioCreative II語料庫的基因和蛋白質進行識別,F1值達86.95%。何林娜等[9]提出基于特征耦合泛化(Feature Coupling Generalization, FCG)的半監督學習方法,結合條件隨機場(Conditional Random Fields, CRF)自動識別1979-2009年PubMed生物醫學文獻的藥物名,F1值達76.73%。王振華等[10]通過研究藏藥鐮形棘豆科技文獻117篇,發現研究工作集中于化學成分、藥理作用方面。仁青東主等[11]研究藏藥復方治療慢性萎縮性胃炎方劑相關文獻,統計藥物頻次并分析藥物功效。通過文獻挖掘方法分析研究主題及其演變趨勢,總結研究內容并提取關鍵信息,能高效挖掘海量文獻數據,顯著降低手工分析強度,提高科技文獻分析效率。文獻挖掘技術可多方面輔助研究人員開展科研工作,例如文本分類可自動對文本進行篩選,縮小待研究的文本范圍;命名實體識別可從生物醫學文獻中抽取所需特定事實信息,如疾病、藥物、基因和蛋白等有特定意義的生物實體;自動摘要可從海量文獻中自動進行文本總結并生成文檔文摘。
目前藥理研究通常通過臨床實驗提取藥物化學成分,研究藥物活性成分以確定藥物藥理,研究過程周期長且成本高[12]。從生物醫學研究領域文獻中提取藥物藥理,可為新藥研發實驗提供方向、輔助決策,減少實驗周期時間并提高研究效率。當前生物醫學研究領域文獻的實體識別相關研究都針對英文文獻,未開展針對中文文獻實體識別研究。中文命名實體識別相較于英文命名實體識別更加困難,中文詞與詞之間沒有類似英文單詞之間明顯的邊界。本研究構建中文藏醫藥藥理實體識別語料庫,設計基于BiLSTM-CRF深度學習模型的藏藥藥理命名實體識別方法,采用文獻挖掘的信息抽取技術從科技文獻提取并識別藏藥藥理,協助藏醫藥研究人員開展藏藥藥理研究,為藏醫藥文獻研究提供新途徑。

圖1 藥理實體識別流程
文獻獲取指獲得藏藥藥理相關研究文獻;語料庫指去除文獻中噪聲信息(如頁碼、分類號、格式符等),保留文獻正文文本并對文本句子中的藥理實體進行標注;文獻特征提取指將文獻文本從高維空間向低維空間投影降維,以保存并表征文獻內容的關鍵信息[13];藥理實體提取指使用提取的特征向量計算每個字最大概率標簽,以實現藥理實體提取。
通過中國知網以“藏醫藥”和“藏藥”為關鍵字檢索2014-2018年《中草藥》、《中國中藥雜志》、《中醫雜志》、《世界科學技術-中醫藥現代化》、《中成藥》、《中國民族醫藥雜志》、《中華中醫藥雜志》等期刊479篇文獻,以文獻中是否包含藏藥藥理為篩選標準,篩選獲得藏醫藥藥理相關文獻155篇。


圖2 文本標記實例

表1 藏醫藥文獻語料庫
2.4.1 概述 藥理實體識別的文獻特征指藥理實體出現于文獻句子的位置,構成藥理實體的特殊字等多種特征。文獻特征提取能自動提取文本特征,將特征表示為向量形式。本研究將藏藥藥理命名實體識別視為序列標簽預測問題,預測語料庫中字{B,I,O}標簽以檢測藏藥藥理實體。通過文獻提取藏藥藥理,探索相同或相似藥理藥物,為新藥研發提供實驗思路,縮短實驗周期[15]。傳統序列標注預測方法通過統計方法如條件隨機場進行等,需人工定義大量特征且泛化能力不足[16]。深度學習方法模擬人腦進行非線性分析學習,無需人工干預可自動完成藏醫藥文本特征學習。本研究引入BiLSTM-CRF深度學習模型實現藏醫藥文獻的藥文獻的藥理實體識別,見圖3。模型包括:輸入層、嵌入層、特征提取層、輸出層和CRF層。

圖3 BiLSTM-CRF深度學習模型



表2 字向量實例
2.4.4 特征提取層 長短期記憶網絡(Long Short Term Memory,LSTM)結構[17]含有1個或多個具備可遺忘和記憶功能的單元組成,可實現長距離文本信息利用,其結構,見圖4。

圖4 LSTM單元結構
LSTM結構核心是記憶單元,通過輸入門i,遺忘門f,輸出門o控制記憶單元每時刻輸出,計算過程如式(1)-(5)所示:
(1)
(2)
(3)
(4)
ht=ot·φ(ct)
(5)
其中Wuv表示訓練權重矩陣,u∈(i,f,c,o),v∈(h,x),σ和φ分別表示sigmoid和tanh非線性激活函數[18]。該門控機制能對記憶單元信息進行處理,確定輸入文本信息遺忘或保留,以解決長距離的信息處理問題。如語句“含有訶子的方劑的主治疾病多與熱毒、疼痛相關,因此其高頻次藥物也多具有清熱解毒、活血通絡、理氣止痛作用,其中以____、理氣藥使用最多”,需對橫線詞進行預測,LSTM單元通過學習,記憶單元保留“訶子”、“熱毒”等強相關信息,遺忘門遺忘“的”、“方劑”等弱相關信息,輸出門將最后所獲信息輸出,預測橫線詞為“清熱藥”。


(6)
2.5.2 條件隨機場層 為藏藥藥理實體標簽序列添加約束規則,模型訓練過程中CRF層通過轉移矩陣Aij學習藏藥實體標簽間約束規則,如標簽B后應為標簽I,因為藥理實體通常由多詞組成;標簽O后面不可能是標簽I,因為實體開始標簽應為B標簽。通過上述約束可避免生成錯誤標簽序列。給定語句Xm和藏藥藥理實體標簽序列z,所預測標簽序列得分如式(7)所示:
(7)

給定語句Xm獲得可能的藥理實體標簽序列Z(Xm),則藥理實體標簽序列z概率為:
(8)
最終獲得預測輸出序列zn*是最大概率藏藥藥理實體標簽序列,如式(9)所示:
zn*=argmaxs(Xm,z,θ),z∈Z(Xm)
(9)
利用Adam[20]算法訓練BiLSTM-CRF深度學習模型,更新參數并最大化正確標簽序列概率。將測試文本輸入模型,獲取最大概率藏藥藥理標簽序列,以實現藏醫藥文獻語料標注并提取藏藥藥理實體。
過擬合現象是神經網絡模型的常見問題,如藏醫藥文獻語料多處出現藏藥藥理實體“清熱”,其對應標簽分別為“B”和“I”,過擬合導致后續藏醫藥文獻語料出現“清”字時被標記為實體開始,錯誤識別藥理實體。Dropout策略使神經網絡節點隨機失活,避免訓練模型過度依賴特定特征,具備正則化作用[21]。本研究為避免模型過擬合,在嵌入層與特征提取層間、特征提取層和CRF層間引入Dropout策略。
嵌入層中不同維度的詞向量表達藏醫藥文獻中不同語義信息,故序列標簽預測問題中詞向量維度影響學習模型的預測性能[22]。本研究采用Word2vec模型[23]和Cw2vec模型[24]訓練詞向量。以475篇藏醫藥文獻為訓練數據,訓練50維、100維、200維和300維藏醫藥文獻詞向量。Word2vec模型采用詞上下文訓練,Cw2vec模型采用詞筆畫訓練。同時,在[-0.25.0.25]區間隨機采樣,對藏醫藥文獻每個詞生成隨機向量對比。Word2vec模型訓練參數參照文獻[23]設置,Cw2vec模型訓練參數參照文獻[24]設置。BiLSTM-CRF模型其他參數,見表3。

表3 BiLSTM-CRF模型參數
藥理實體是否正確識別主要依據實體邊界是否正確。本研究采用精確率(P)、召回率(R)、F1測度值(F1)評價指標描述模型性能,如式(10)-(12)所示:
P=識別正確的藥理數/識別出的藥理數
(10)
R=識別正確的藥理數/樣本的藥理數
(11)
F1=(2×P×R)/(P+R)
(12)
精確率(P)表示所識別藏藥藥理實體中正確識別的藏藥藥理實體占比;召回率(R)表示語料庫中藏藥藥理實體正確識別占比;F1測度(F1)表示精確率和召回率的綜合結果,判斷識別模型能否準確、全面識別藏藥藥理實體。
隨機向量、Word2vec和Cw2vec向量模型在不同維度下的藏藥藥理識別結果,見表4。可知相同向量模型條件下50維向量時藏藥藥理實體識別效果最好。相同維度條件下Word2vec和Cw2vec模型識別效果優于隨機向量,說明Word2vec和Cw2vec模型能夠有效獲取藏醫藥文獻的文本語義信息。Cw2vec模型50維、200維和300維向量條件下藏藥藥理實體識別效果優于Word2vec模型。Word2vec模型僅使用藏醫藥文獻的上下文信息,沒有考慮單詞內部特征;而Cw2vec模型使用藏醫藥文獻單詞的筆畫特征訓練模型,考慮上下文信息同時考慮單詞內部語義信息,更適合訓練中文詞向量,其在語義相似性方面也被證實比Word2vec具有更好效果[24]。不同模型F1測度值,見圖5。實驗模型隨著維度變化的召回率和精確率變化趨勢,見圖6。可見向量維度降低導致模型F1測度值增加,模型召回率隨著維度降低而增加,F1測度值和召回率成正比。

圖6 模型精確度、召回率

表4 不同維度詞向量性能對比

圖5 實驗模型F1測度值
模型對文本序列進行標注的實例,見圖7。模型正確識別句子1中藥理實體“開竅通絡”、“鎮靜安神”、“解痙止痛”。識別句子2中藥理實體“清血熱”、“清濁”,但真實藥理實體為“清血熱”、“分清血液清濁”。實體“分清血液清濁”錯誤識別原因在于訓練語料中出現大量動詞-賓語結構的詞標記為藥理實體,如“清熱”、“抗氧化”等,導致模型以動詞-賓語結構短語為藥理實體,造成含有動賓結構的長藥理實體分割,產生識別錯誤。此錯誤因實體分布不平衡引發,即語料庫中動賓短語藥理實體占比過大,后續研究中嘗試構建長短藥理實體均勻分布語料庫訓練模型。

圖7 藥理識別實例
針對現有藏醫藥科技文獻研究過程中手工方式和統計軟件應用方面存在的不足,本研究提出基于BiLSTM-CRF深度學習模型的藏藥藥理命名實體識別方法,通過科技文獻自動提取并識別藏藥藥理。模型采用少量標注數據訓練并使用未標記的藏醫藥文獻訓練字向量,能提取文獻的藏藥藥理實體,為藏醫藥研究人員開展藏醫藥藥理研究提供新途徑。