陳瑤,葛衛(wèi)紅 ,廖俊*
(1.中國藥科大學(xué)理學(xué)院,江蘇 南京211198;2.南京大學(xué)醫(yī)學(xué)院附屬鼓樓醫(yī)院藥學(xué)部, 江蘇 南京210008;3.中國藥科大學(xué)基礎(chǔ)醫(yī)學(xué)與臨床藥學(xué)學(xué)院,江蘇 南京211198)
命名實體識別(named entity recognition,NER)旨在根據(jù)預(yù)定義的實體類別從非結(jié)構(gòu)化文本中將目標(biāo)實體定位并分類,識別出的實體可進(jìn)一步運用于實體關(guān)系抽取等自然語言處理任務(wù)中,是信息抽取的一部分,所抽取出的信息可作為目標(biāo)對象知識庫構(gòu)建的基礎(chǔ)。命名實體識別最初被提出主要用于對文本中人名、地名、機構(gòu)名等實體的提取[1],近幾年在醫(yī)藥領(lǐng)域的文本中也得到了廣泛應(yīng)用。
本文選取在命名實體識別研究中應(yīng)用最為廣泛的3 種模型進(jìn)行介紹:傳統(tǒng)機器學(xué)習(xí)的條件隨機場模型(conditional random field,CRF)、深度學(xué)習(xí)的長短期記憶模型(long short-term memory,LSTM)及將這2 種方法結(jié)合的雙向LSTM-CRF 模型(bidirectional LSTM-CRF,BiLSTM-CRF)。總結(jié)了醫(yī)藥領(lǐng)域命名實體識別研究中常用的數(shù)據(jù)源及相關(guān)公開標(biāo)注語料集,并綜述了深度學(xué)習(xí)在醫(yī)藥領(lǐng)域不同語言以及不同實體種類中的命名實體識別應(yīng)用現(xiàn)狀。本文旨在通過對這些方法、數(shù)據(jù)源以及應(yīng)用的總結(jié),為當(dāng)前醫(yī)藥領(lǐng)域命名實體識別研究提供新思路。
命名實體識別常用的方法可分為基于詞典的方法[2]、基于規(guī)則的方法[3]和基于機器學(xué)習(xí)的方法[4]?;谠~典的命名實體識別準(zhǔn)確率很大程度上依賴所構(gòu)建的詞典庫的豐富度,對于諸如醫(yī)藥相關(guān)的專業(yè)領(lǐng)域的實體,詞典的匱乏導(dǎo)致很多專業(yè)詞匯因為詞典未覆蓋而出現(xiàn)不能識別的情況?;谝?guī)則的方法涉及大量人工制定規(guī)則的過程,在目標(biāo)文本較為復(fù)雜或不規(guī)則時,預(yù)先設(shè)定的規(guī)則很難滿足所有情況,對數(shù)據(jù)適應(yīng)性差且對于大數(shù)據(jù)集的處理存在一定的困難?;跈C器學(xué)習(xí)的命名實體識別是當(dāng)前熱門的研究方法,常用的機器學(xué)習(xí)算法有隱馬爾可夫模型(Hidden Markov Model,HMM)、CRF、支持向量機(support vector machine,SVM)等,其中CRF 是應(yīng)用最為廣泛的一種。深度學(xué)習(xí)作為機器學(xué)習(xí)的一種,由Mikolov 等[5]于2010 年提出的循環(huán)神經(jīng)網(wǎng)絡(luò)(recurrent neural network,RNN)使得深度學(xué)習(xí)在命名實體識別等序列文本處理中有了很好的應(yīng)用,其中LSTM 因為很好地解決了RNN 處理大數(shù)據(jù)集時存在的梯度消失和梯度爆炸問題[6],成為近幾年的研究熱點。本文選取了這當(dāng)中熱門的CRF、LSTM 及復(fù)合模型BiLSTM-CRF 分別進(jìn)行介紹。
CRF 是最初由Lafferty 等[7]提出的用于序列數(shù)據(jù)的標(biāo)識與切分的概率分布模型,在諸多實體識別任務(wù)中都取得了較好的表現(xiàn)[8-9],可用于解決特征挑選、參數(shù)訓(xùn)練和解碼問題。CRF 是一種判別式的概率無向圖模型,在自然語言處理任務(wù)中是用于標(biāo)注和劃分序列數(shù)據(jù)的概率化模型,其概率分布函數(shù)P(X|Y)表示在滿足馬爾可夫隨機場時的線性鏈CRF,X 表示觀測序列,Y 表示標(biāo)注序列。
命名實體識別任務(wù)中常用的序列標(biāo)注模式有‘BIO’和‘BIOES’2 種,其中‘B’表示實體開端字/詞,‘I’表示實體內(nèi)字/詞,‘O’表示實體外字/詞,‘E’表示實體末端字/詞,‘S’表示單字/詞實體。以‘BIO’模式為例,在使用CRF 進(jìn)行命名實體識別任務(wù)時,句子中的每個字或詞共同組成觀測序列X,例如,X={患者同服奧美拉唑和克拉霉素},則與之對應(yīng)的標(biāo)注序列Y={O O O O B-Drug I-Drug I-Drug I-Drug O B-Drug I-Drug I-Drug I-Drug}(其中Drug 表示實體“藥品”),該過程中包括2 個關(guān)鍵任務(wù):一是實體邊界的識別,即‘BIO’的界定;二是對實體類別的識別,即該實體是‘Drug’或其他類別。
CRF++是一種常被用來實現(xiàn)命名實體識別的開源工具,訓(xùn)練集和測試集由多個標(biāo)記(token)組成,每個標(biāo)記由字/詞及該字/詞對應(yīng)的特征與標(biāo)注組成,特征可由用戶自定義,例如詞性、字類型等。CRF++中有4 種可根據(jù)語言特征選擇的模板,包括basenp、chunking、JapaneseNE 和seg,因中文與日文中詞與詞之間均無明顯界限,在進(jìn)行中文命名實體識別任務(wù)時常采用根據(jù)日語環(huán)境設(shè)定的JapaneseNE 模板。
LSTM 是一種特殊的循環(huán)神經(jīng)網(wǎng)絡(luò)模型,其通過遺忘門、輸入門和輸出門這3 個門來控制輸入數(shù)據(jù)傳入記憶單元的比例,實現(xiàn)對記憶單元中信息的交互,最終解決遠(yuǎn)距離依賴問題。雙向長短期記憶模型(bidirectional LSTM,BiLSTM)的提出是為了充分利用序列標(biāo)簽問題中目標(biāo)對象的前向及后向信息。
谷歌于2013 年推出的開源工具—word2vec[10]將詞表示為分布式詞向量,在能夠很好地表示詞語特征的同時,也兼顧了后續(xù)網(wǎng)絡(luò)模型維度的設(shè)置,使得深度學(xué)習(xí)在諸多自然語言處理中的應(yīng)用有了進(jìn)一步的突破。將其運用于BiLSTM 模型進(jìn)行的命名實體識別任務(wù)中,通過對字/詞的分布式表達(dá),省去了人工構(gòu)建特征的過程,從而獲得相較于CRF 等傳統(tǒng)機器學(xué)習(xí)算法更大的優(yōu)勢。例如,Cocos 等[11]和Xie 等[12]在分別使用字典匹配、CRF 和BiLSTM 模型從社交媒體中提取藥品不良反應(yīng)(adverse drug reaction,ADR)實體時,實驗結(jié)果均表明BiLSTM 的實體識別準(zhǔn)確度更高。
BiLSTM-CRF 模型可以理解為是將CRF 引入到BiLSTM 網(wǎng)絡(luò)結(jié)構(gòu)中的混合模型[13],是近期應(yīng)用于命名實體識別任務(wù)中最為熱門的深度學(xué)習(xí)模型之一[14]。在進(jìn)行實體識別任務(wù)時,傳統(tǒng)BiLSTM 模型的輸出為挑選出來的得分最高的獨立標(biāo)簽,這就導(dǎo)致前后標(biāo)簽無互相聯(lián)系與制約,易造成實體之間的混淆,而CRF 層的引入則可以加強這種制約。在BiLSTMCRF 模型中,BiLSTM 負(fù)責(zé)從訓(xùn)練語料中自動學(xué)習(xí)特征,將學(xué)習(xí)到的特征向量傳入到CRF 層并輸出概率值最高的標(biāo)簽作為預(yù)測結(jié)果[15],在這當(dāng)中可以添加詞向量(word embedding)、字向量(character embedding)、位置向量(position embedding)等作為潛在特征,字/詞向量可通過word2vec 等工具對語料預(yù)訓(xùn)練獲得。
以中文藥品不良反應(yīng)實體識別的研究為例,BiLSTM-CRF 模型框架如圖1 所示,圖中的向量層(embedding layer)可以是詞向量、字向量、位置向量等的組合,在經(jīng)過前向、后向LSTM 的處理后轉(zhuǎn)化為上下文向量(vector),最后輸入到CRF 層進(jìn)行概率值的計算與結(jié)果的輸出。Unanue 等[16]分別將詞向量、字向量和自定義特征融入CRF、BiLSTM 和BiLSTMCRF 模型中,結(jié)果顯示BiLSTM-CRF 具有比單獨的CRF 及BiLSTM 更高的F 值,F(xiàn) 值為機器學(xué)習(xí)中常用評價指標(biāo),值越大表示模型效果越佳。
以上介紹的CRF、LSTM、BiLSTM-CRF 模型都屬于有監(jiān)督的機器學(xué)習(xí),其特征是需要標(biāo)注好的數(shù)據(jù)作為模型的訓(xùn)練語料,在標(biāo)注語料不足的情況下則很難獲得較好的模型準(zhǔn)確率。半監(jiān)督學(xué)習(xí)則可以在少量已有標(biāo)注語料的基礎(chǔ)上實現(xiàn)訓(xùn)練集的擴(kuò)充,從而進(jìn)一步提高模型準(zhǔn)確率,常見的半監(jiān)督學(xué)習(xí)方法有自訓(xùn)練(self-training)[17]、協(xié)同訓(xùn)練(co-training)[18]以及三體訓(xùn)練(tri-training)[19]等。此外,還有一些基于無監(jiān)督的命名實體識別應(yīng)用[20-21],但目前在醫(yī)藥領(lǐng)域的應(yīng)用尚未成熟。除了使用單一模型進(jìn)行訓(xùn)練外,還有學(xué)者采用多種方法集成的模式,例如,Wei 等[22]通過SVM 將CRF 的結(jié)果與雙向RNN 的結(jié)果相融合,最終取得的F 值比單獨使用CRF 或Bi-RNN 模型F 值都要高。
醫(yī)藥領(lǐng)域命名實體識別常用的數(shù)據(jù)來源包括醫(yī)學(xué)文獻(xiàn)、電子病歷、社交媒體等,其中Gurulingappa 等[23]及Mulligen 等[24]選取生物醫(yī)學(xué)數(shù)據(jù)庫Medline 中的文獻(xiàn)摘要作為源數(shù)據(jù)進(jìn)行語料標(biāo)注,所構(gòu)建的標(biāo)注語料集中涵蓋了藥品、不良反應(yīng)、劑量、基因等實體;電子病歷中涉及的醫(yī)學(xué)相關(guān)實體更為廣泛,可以從中進(jìn)行患病、治療、用藥、檢查等相關(guān)實體的識別研究[25-26];社交媒體因其用戶覆蓋面廣、數(shù)據(jù)具有即時性等特征,成為近幾年熱門的命名實體識別數(shù)據(jù)來源,尤其是在藥品不良反應(yīng)相關(guān)的實體識別應(yīng)用中[11-12,27]。在3 種常用數(shù)據(jù)來源中,電子病歷中的醫(yī)藥相關(guān)實體密度最高,在利用該類數(shù)據(jù)進(jìn)行實體識別研究時,需要對各類實體有明確的界定,防止因定義模糊或概念交叉而產(chǎn)生誤差,此外對于病人一些隱私信息也要作相關(guān)處理;社交媒體中醫(yī)藥相關(guān)文本易獲取且數(shù)目龐大,但其中的信息密度也最為稀疏,在進(jìn)行醫(yī)藥實體識別研究時需要對其中大量的嘈雜信息進(jìn)行剔除;醫(yī)學(xué)文獻(xiàn)中的醫(yī)藥實體信息密度介于兩者之間,且當(dāng)前有很多相關(guān)的公開標(biāo)注語料集,是應(yīng)用較為成熟的一種醫(yī)藥資源。圖2 展示了基于不同數(shù)據(jù)來源的醫(yī)藥領(lǐng)域命名實體識別在愛思唯爾 ScienceDirect數(shù)據(jù)庫中的研究數(shù)量分布,其中選擇醫(yī)學(xué)文獻(xiàn)作為數(shù)據(jù)來源的研究數(shù)目最多,占比達(dá)61.74%。
無論是傳統(tǒng)機器學(xué)習(xí)還是深度學(xué)習(xí),都需要標(biāo)注語料對模型進(jìn)行訓(xùn)練,在缺乏標(biāo)注語料的情況下,很多研究者傾向使用公開標(biāo)注語料集展開研究,表1 中總結(jié)了一些常用的醫(yī)藥領(lǐng)域命名實體識別開放數(shù)據(jù)集及其簡介與鏈接。
命名實體識別技術(shù)在醫(yī)藥領(lǐng)域中的應(yīng)用,主要的目標(biāo)實體包括藥物/化學(xué)物質(zhì)、蛋白質(zhì)/基因、疾病、藥品不良反應(yīng)等,表2 從這些實體的角度出發(fā),整理了近幾年一些深度學(xué)習(xí)在不同類型的實體識別中的應(yīng)用以及相應(yīng)的數(shù)據(jù)來源。
表 1 常用醫(yī)藥相關(guān)命名實體識別開放數(shù)據(jù)集Table 1 Frequently used open datasets related to medical NER
表 2 深度學(xué)習(xí)在不同類別實體識別中的應(yīng)用Table 2 Application of deep learning in NER of different types
命名實體識別任務(wù)最初是在英文環(huán)境下提出,無論是規(guī)則的制定還是特征的提取都有很多經(jīng)驗可以借鑒,加上大多數(shù)醫(yī)藥領(lǐng)域公開標(biāo)注語料庫及可供驗證的醫(yī)藥類數(shù)據(jù)庫都是英文,使得各類方法在英文醫(yī)藥領(lǐng)域命名實體識別中的應(yīng)用都相對較成熟。
BiLSTM-CRF 因 其 兼 具BiLSTM 和CRF 的 優(yōu)勢,自提出以來就一直深受歡迎,例如,Zeng 等[15]、Luo 等[37]、Gridach 等[32]分 別 使 用BiLSTM-CRF 方法從醫(yī)藥文本中進(jìn)行了藥品實體、化學(xué)物質(zhì)實體及基因?qū)嶓w的識別研究且都取得了較好的識別效果。在使用深度學(xué)習(xí)進(jìn)行實體識別研究時,很多研究者選擇通過word2vec 等工具對無標(biāo)注文本進(jìn)行預(yù)訓(xùn)練,通過自動學(xué)習(xí)到的文本特征實現(xiàn)模型性能的提高[38-39];注意力機制(attention)也是經(jīng)常用于深度學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)中的一個重要因素,例如,楊培等[40]在對CHEMDNER 數(shù)據(jù)集中的化學(xué)物質(zhì)進(jìn)行實體識別研究時,在BiLSTM 層和CRF 層之間加入attention 層,將由BiLSTM 獲得的詞的上下文表示轉(zhuǎn)化為該詞在全文范圍內(nèi)的上下文表示,聯(lián)合該詞的鄰近上下文表示一同傳入CRF 層以獲得標(biāo)簽序列;對于醫(yī)藥領(lǐng)域的命名實體識別,領(lǐng)域知識或?qū)S性~典的引入也能在一定程度上提高模型識別效果,可將詞典轉(zhuǎn)化為詞特征與當(dāng)前文本訓(xùn)練得到的詞向量一起作為神經(jīng)網(wǎng)絡(luò)的輸入,從而將專有詞匯信息傳輸?shù)侥P瓦M(jìn)行學(xué)習(xí)[41]。
不同于英文命名實體識別研究,中文在這一領(lǐng)域的技術(shù)還不夠成熟且面臨諸多挑戰(zhàn)。一方面,中文詞與詞之間無類似英文中的空格作為明顯分割界限,因此中文自然語言處理任務(wù)中首先需要解決分詞的問題,而特殊領(lǐng)域中的專業(yè)詞匯、縮寫等使得難以完全依靠分詞工具實現(xiàn)準(zhǔn)確的詞切分[42];另一方面,中文開放性標(biāo)注語料以及可用于驗證的醫(yī)藥相關(guān)詞典或數(shù)據(jù)庫的缺乏也進(jìn)一步限制了中文命名實體識別的研究[43]。
就深度學(xué)習(xí)在中文命名實體識別中的應(yīng)用而言,很多研究者選擇了包含人名、地名和機構(gòu)名3 種實體的開放標(biāo)注中文語料作為研究對象[44-45],而醫(yī)藥領(lǐng)域因目前尚缺乏公開標(biāo)注語料集,針對醫(yī)藥領(lǐng)域的中文命名實體識別應(yīng)用也因此相對較少。2015 年Wu 等[46]首次嘗試將深層神經(jīng)網(wǎng)絡(luò)(deep neural network,DNN)運用于中文臨床文本的實體識別研究中,并將DNN 的識別效果與CRF 進(jìn)行對比,結(jié)果顯示將未標(biāo)注的數(shù)據(jù)加入神經(jīng)網(wǎng)絡(luò)訓(xùn)練出的模型得到了較高的F 值;夏宇彬等[47]選取200 份糖尿病患者電子病歷中的入院記錄進(jìn)行標(biāo)注,并分別使用了多層感知機、CRF、LSTM 模型進(jìn)行實體識別研究,結(jié)果表明LSTM的識別效果最好;張藝品等[48]和高甦等[49]則分別采用BiLSTM-CRF 模型對中醫(yī)典籍進(jìn)行了命名實體識別研究,前者目標(biāo)實體為病癥、方劑和中藥材,后者目標(biāo)實體則為中醫(yī)認(rèn)識方法、中醫(yī)生理、中醫(yī)病理、中醫(yī)自然及治則治法等,兩者均取得了較理想的研究結(jié)果。
命名實體識別作為自然語言處理任務(wù)的分支,將其運用于自由文本中可以實現(xiàn)大量非結(jié)構(gòu)化信息的結(jié)構(gòu)化轉(zhuǎn)換,對于目標(biāo)對象的信息抽取及知識庫構(gòu)建都具有重要意義。醫(yī)藥領(lǐng)域的命名實體識別,除了基本的語言學(xué)特征外,還需要考慮各類實體的定義與概念區(qū)分、專有詞匯的補充、不同數(shù)據(jù)源的融合等問題,而傳統(tǒng)的人工構(gòu)建規(guī)則或特征的方法很難滿足需求。CRF 對序列問題的處理使得其在命名實體識別任務(wù)中展現(xiàn)出相較其他傳統(tǒng)機器學(xué)習(xí)的優(yōu)勢,但諸如BiLSTM等深度學(xué)習(xí)模型通過文本的分布式表達(dá)自動獲取字、詞以及句子層面特征的能力省去了傳統(tǒng)機器學(xué)習(xí)的人工特征構(gòu)建工程,同時在處理大數(shù)據(jù)集時也更具優(yōu)勢,是近年來命名實體識別以及自然語言處理其他領(lǐng)域的研究熱點,在醫(yī)藥領(lǐng)域也有了很好的利用。
中文的語言學(xué)特征以及醫(yī)藥領(lǐng)域公開標(biāo)注語料集的缺乏,使得深度學(xué)習(xí)在中文醫(yī)藥領(lǐng)域命名實體識別中的應(yīng)用還不夠廣泛,大多數(shù)是基于個人標(biāo)注的語料集進(jìn)行,規(guī)模小且泛化能力弱。醫(yī)藥領(lǐng)域的命名實體識別研究,一方面需要進(jìn)一步結(jié)合已有在其他領(lǐng)域成熟應(yīng)用的深度學(xué)習(xí)方法或者探索更多不同方法應(yīng)用,另一方面也要加強基礎(chǔ)語料庫的建設(shè)以及特定方向相關(guān)標(biāo)準(zhǔn)的規(guī)范與統(tǒng)一。