李雯昕,張坤麗,關同峰,張 歡,朱田恬,常寶寶,陳清財,4
(1. 鄭州大學 計算機與人工智能學院,河南 鄭州 450001; 2. 北京大學 計算語言學教育部重點實驗室,北京 100871;3. 哈爾濱工業(yè)大學(深圳) 計算機科學與技術學院,廣東 深圳 518055;4. 鵬城實驗室人工智能研究中心,廣東 深圳 518055)
隨著醫(yī)療信息化的發(fā)展,醫(yī)學領域積累了大量醫(yī)學文本數(shù)據(jù),例如,醫(yī)學期刊、醫(yī)學教材、醫(yī)學百科、醫(yī)學檢驗報告和用藥診斷等,這些信息大多為敘述性文本摘要,是進行疾病預測、用藥推薦、輔助診療的重要資源。
醫(yī)學命名實體識別是醫(yī)學領域文本挖掘的一個基礎任務,該任務旨在自動識別醫(yī)學文本中具有特殊意義的醫(yī)學實體,并將抽取的信息以結構化的形式存儲,供研究者們做進一步分析使用。醫(yī)學命名實體在醫(yī)學文本中普遍存在,例如,“疾病”實體被廣泛用于病因探索、病情診斷、疾病預防以及后遺癥的醫(yī)學研究中。
醫(yī)學領域文本數(shù)據(jù)具有信息密集、數(shù)據(jù)量龐大等特征,而且醫(yī)學文本中往往包含大量半結構化和非結構化的數(shù)據(jù),文本用詞不受約束,使用簡寫/縮寫、近義詞、未登錄詞的現(xiàn)象普遍存在,導致醫(yī)學命名實體本身具有復雜性與歧義性?,F(xiàn)有的醫(yī)學領域命名實體識別研究不免存在數(shù)據(jù)利用效率低、對現(xiàn)有數(shù)據(jù)挖掘和分析能力較弱等問題,與通用領域的命名實體識別相比還具有一定差距。通過自然語言處理技術與醫(yī)學專業(yè)領域結合,從多元異構的醫(yī)學文本中挖掘重要信息,有利于提高臨床科研的效率和質量,并服務于下游子任務。
CHIP2020的主題為“數(shù)據(jù)和知識驅動的醫(yī)療AI”,會議組織了中文醫(yī)療信息處理相關的六項評測任務,其中評測任務一為中文醫(yī)學文本命名實體識別任務,該評測鼓勵參賽隊伍使用基于自然語言處理技術和深度學習算法對中文醫(yī)學文本進行命名實體識別研究。本次評測任務使用的數(shù)據(jù)集是由北京大學計算語言學教育部重點實驗室、鄭州大學計算機與人工智能學院、哈爾濱工業(yè)大學(深圳)計算機科學與技術學院以及鵬城實驗室人工智能研究中心聯(lián)合構建的中文醫(yī)學實體抽取數(shù)據(jù)集CMeEE(Chinese Medical Entity Extraction)??傆嬮_放了28 618條被標注的中文醫(yī)學文本,包含定義的9類醫(yī)學實體類別,如疾病(dis)、身體部位(bod),任務要求給定一條真實的醫(yī)學教材文本,需要模型返回文本中可能的醫(yī)學實體位置和醫(yī)學實體類型。評測任務最終排名指標為微平均F1值,示例數(shù)據(jù)如表1所示。
表1 評測任務示例
醫(yī)學命名實體識別是醫(yī)學領域信息抽取的關鍵任務,是醫(yī)學關系抽取、醫(yī)學文檔分類和健康問答系統(tǒng)等技術研究中的重要步驟。醫(yī)學命名實體識別方法可分為基于規(guī)則的方法、基于詞典的方法、基于機器學習的方法和基于深度學習的方法。
基于詞典的方法和基于規(guī)則的方法往往需要醫(yī)學領域專家結合語料特點人工構建詞典和規(guī)則模板[1],然后采取字符串匹配模式,從醫(yī)學文本中檢索相似單詞進行命名實體識別,如統(tǒng)一語言系統(tǒng)(Unified Medical Language System,UMLS)[2]。Etzioni等[3]提出了一個基于規(guī)則的實體識別系統(tǒng),通過規(guī)則模板能夠自動化地提取網(wǎng)頁中存在的實體。Hanisch等[4]通過處理同義詞詞典構建一個用于識別生物醫(yī)學文本中實體名的系統(tǒng)。基于詞典和規(guī)則的方法易于實現(xiàn),但識別性能受限于構建的詞典和規(guī)則的質量,所制定的規(guī)則僅對特定數(shù)據(jù)集有效,很難用單個詞典或規(guī)則涵蓋所有可能的表述,無法應用于其他數(shù)據(jù)集。對于新出現(xiàn)或不在專業(yè)醫(yī)學詞典中的命名實體,字符串匹配方法很難進行識別,且匹配精度不高。
基于機器學習的方法需要標準的標注數(shù)據(jù)集,利用樣本數(shù)據(jù)統(tǒng)計特征和模型參數(shù)來構建模型。常用的機器學習模型有隱馬爾可夫模型HMM(Hidden Markov Model)、支持向量機SVM(Support Vector Machine)和條件隨機場CRF(Conditional Random Field)等。Wang等[5]采取模型融合策略,將SVM、CRF等模型組合,結果顯示融合的模型比單一模型效果更好。
基于深度學習的方法利用詞向量作為輸入,通過深度學習框架自動學習語料特征,有效降低了人工的干預。Qiu等[6]提出了一種基于條件隨機場的殘差擴張卷積神經(jīng)網(wǎng)絡RD-CNN-CRF(Residual Dilated ConVolutional Neural Network with the Conditional Random Field),使模型在計算上具有異步性,從而加快了訓練速度。Xue等[7]通過動態(tài)范圍注意機制集成變換器雙向編碼表征模型BERT(Bidirectional Encoder Representations from Trans-formers),提高了共享參數(shù)層的特征表示能力,在曙光醫(yī)院冠脈造影文本命名實體識別F1值達到96.89%。Wang等[8]針對識別嵌套實體的任務設計了次優(yōu)序列學習的算法,并采用從外部到內(nèi)部迭代提取實體的方式進行解碼預測,取得不錯的效果。
國內(nèi)外組織了多個與醫(yī)學命名實體識別相關的評測任務,如I2B2[9]評測任務一要求從電子病歷中識別并提取出醫(yī)療疾病、檢查和治療等實體,JNLPBA2004[10]要求自動識別五類生物醫(yī)學命名實體,以及BioCreative IV化合物和藥品實體識別任務[11]等。在國內(nèi),全國知識圖譜與語義計算大會CCKS(China Conference on Knowledge Graph and Semantic Computing)于2017年發(fā)布了中文電子病歷命名實體評測任務,識別并抽取電子病歷中與醫(yī)學臨床相關的實體提及,并于2018~2020年在此基礎上進行數(shù)據(jù)集更新和規(guī)范的補充。此次CHIP評測任務一基于醫(yī)學教學文本聚焦于中文醫(yī)學文本命名實體識別,希望驗證最新的自然語言處理技術和算法,為生物醫(yī)學領域命名實體識別研究提供最新實驗結果。
本次評測任務使用的數(shù)據(jù)集(CMeEE數(shù)據(jù)集)的標注語料來自《臨床兒科學》[12],全書共分為17篇,介紹了兒科各系統(tǒng)疾病、傳染病、腫瘤以及新生兒生長發(fā)育、營養(yǎng)、監(jiān)護和急救等基礎理論知識。該教材由兒科專家編寫,文本敘述簡潔,內(nèi)容具有權威性,可用于專業(yè)科學研究。
CMeEE參考面向醫(yī)學教材的醫(yī)學實體標注規(guī)范[13],將醫(yī)學實體劃分為9類,并對每種類別定義了實體邊界和標注規(guī)則,如表2所示。18名經(jīng)過培訓的標注者被分為9組,采用多輪迭代的模式進行規(guī)范的修訂和標注工作[14],根據(jù)科恩卡帕評分對每個類別進行標注一致性計算,總體的一致性分數(shù)為0.869。
表2 9類醫(yī)學實體簡述及分類
CHIP2020評測任務一最終公布的數(shù)據(jù)集包括9種實體類別信息和28 618條醫(yī)學文本,包括訓練集15 000條,驗證集5 000條,測試集8 618條,各實體類別的分布如表3所示。
表3 訓練集、驗證集、測試集中各命名實體數(shù)量分布情況
續(xù)表
CHIP2020評測任務一于2020年7月12日開放注冊,參賽團隊通過郵箱進行報名。評測任務的訓練集、驗證集、測試集A以及評價腳本于2020年7月20日發(fā)布,供參賽隊伍搭建并測試各自開發(fā)的模型。測試集B于2020年9月28日發(fā)布,每支隊伍在測試集B公布期間最多提交兩次結果文件。CHIP2020評測任務一于2020年9月29日截止,總共253支隊伍報名參加評測,共計614人,其中,128支隊伍來自科研院校等機構,41支隊伍來自企業(yè),84支隊伍為個人報名。最終有91支隊伍提交了測試集A模型評測結果,37支隊伍提交了測試集B模型評測結果。參賽隊伍的評測方法和結果,由評測組織者進行學術評測分析研究。
在評估單個實體類別預測性能時采用準確率P、召回率R、F1值為評估指標,計算如式(1)~式(3)所示。本次評測使用的評價指標包括微平均準確率(Micro_P)、微平均召回率(Micro_R)和微平均F1值(Micro_F1), 最終排名以微平均F1值為基準。假設有n個類別:C1,…,Ci…,Cn,微平均F1值計算如式(4)~式(6)所示,其中,TP、FP、TN和FN分別代表真正類、假正類、真負類和假負類。
本次評測隊伍解決中文醫(yī)學文本命名實體識別任務的主流思路為引入預訓練語言模型和神經(jīng)網(wǎng)絡模型,進行多種模型集成,并在此基礎上引入詞匯增強等方案提升性能。評測任務一的參賽隊伍使用了多種預訓練語言模型,主要包括BERT[15]、強力優(yōu)化變換器雙向編碼表征模型RoBERTa(Robustly Optimized BERT Pretraining Approach)[16]、面向中文理解的神經(jīng)語境表征模型NEZHA(Neural Contextualized Representation for Chinese Language Understanding)[17]、高效替代令牌檢測分類編碼器Electra(Efficiently Learning an Encoder that Classifies Token Replacements Accurately)[18],其中,RoBERTa模型使用次數(shù)最多。用大規(guī)模領域文本語料訓練預訓練語言模型,可以提供豐富的語義表示知識。此外有部分隊伍采用多種機器學習算法通過與預訓練語言模型拼接進行分類,如門控循環(huán)單元GRU(Gate Recurrent Unit)[19]、長短時記憶網(wǎng)絡模型LSTM(Long Short-term Memory)[20]、雙向長短期記憶網(wǎng)絡模型BiLSTM(Bi-Directional Long Short-Term Memory)[21]、CRF[22]、空洞卷積神經(jīng)網(wǎng)絡IDCNN(Iterated Dilated Convolutional Neural Networks)[23]等。提交的最終結果顯示,神經(jīng)網(wǎng)絡模型在序列標注問題中具有更好的性能表現(xiàn),多數(shù)隊伍利用BiLSTM得到上下文特征,結合CRF對標注結果進一步優(yōu)化。
由于評測任務一是嵌套類命名實體識別問題,傳統(tǒng)的基于序列標注的命名實體模型不能很好地解決嵌套命名實體識別的任務,此次評測中前三名隊伍采用的策略包括以下幾點:
(1) 結合機器閱讀理解任務MRC(Machine Reading Comprehension)的研究方法,對每一個實體類別構建問題,以問答的方式利用預訓練模型提取實體,同時獲得實體首尾可能位置的預測結果;
(2) 層疊式模型,每一層采取指針標注,通過堆疊多個識別層的方式來識別命名實體中的層次化結構;
(3) 多頭選擇機制,結合關系抽取任務中的關系線性分類器,將其適用于嵌套實體抽取任務;
(4) 雙仿射機制,通過雙仿射機制捕獲邊界信息,并采取傳統(tǒng)的序列標注任務強化嵌套結構的內(nèi)部信息交互;
(5) 詞匯增強,在模型中結合詞級別的信息,將文本的編碼結果和實體的詞向量作為抽取層的最終向量;
(6) 采用動態(tài)規(guī)劃的思想對超長的句子進行切分。
結果顯示,這些策略單獨使用和組合使用時對模型最終的性能表現(xiàn)有不同程度的提升。此外,在特定領域對預訓練模型進行進一步的訓練也能提升模型效果。
對37支隊伍提交的評測結果進行分析,微平均F1值的平均數(shù)為0.603 8,最大值為0.683 5,最小值為0.001 8,中位數(shù)為0.661 8。排名前三的隊伍提交的各自最優(yōu)的結果信息如表4所示,包括參賽單位、方法描述和微平均F1值。
表4 排名前三參賽隊伍的系統(tǒng)結果
排名前三的隊伍提交結果在9種實體類別的性能表現(xiàn)如圖1所示,本文使用F1值評估每一個類的性能指標,縱坐標表示為F1值,橫坐標表示9類實體類別,其中6種類別的F1值在0.60以上。藥物(dru)識別效果最優(yōu),所有隊伍結果F1值都在0.82以上,可能原因為藥物這類實體數(shù)據(jù)量較多,句子長度較短,且語義信息辨識性高。臨床表現(xiàn)(sym)和醫(yī)學檢驗項目(ite)識別效果最差,成績在0.48~0.50之間??赡茉蛟谟卺t(yī)學檢驗項目實體往往嵌套出現(xiàn)在臨床表現(xiàn)實體中,這在一定程度上影響了模型的識別能力。而臨床表現(xiàn)是指病人患病時的異常變化以及異常結果,實體普遍較長,且構成規(guī)律復雜,模型的識別能力有待提高。并且臨床表現(xiàn)實體與疾病實體易混淆,相同的實體在不同語境下可能具有不同的實體類別。例如,“病人患高血壓”以及“病人檢測出高血壓、高血糖”,“高血壓”在前者語境中應被識別為疾病,后者被識別為臨床表現(xiàn)。
圖1 排名前三的隊伍最終結果分布在9類實體類別的性能表現(xiàn)
將評測結果結合9類醫(yī)學實體的數(shù)據(jù)量和文本描述分析,可以發(fā)現(xiàn)數(shù)據(jù)量豐富,具有獨特描述特征的實體類別識別效果最好,數(shù)據(jù)稀疏,構成規(guī)律復雜的實體類別識別效果較差。模型識別效果較好的實體,如藥物、疾病、微生物類,以上類別文本往往是醫(yī)學領域專業(yè)名詞,文本描述信息獨特性高,這些都會幫助模型表現(xiàn)出更好的識別效果。識別效果較差的實體類別,如科室、臨床表現(xiàn)、醫(yī)學檢驗項目,由于數(shù)據(jù)量少、實體長度不確定以及存在實體嵌套等原因而使識別效果表現(xiàn)一般。
結合不同隊伍的系統(tǒng)方案分析,預訓練語言模型結合深度學習網(wǎng)絡模型是大部分隊伍采用的方案,排名較好的隊伍將多個模型的實驗結果相融合,相比于單個模型取得較好的性能提升。如排名第3的隊伍與排名第7的隊伍均采用RoBERTa預訓練模型,但第3名在此基礎上構建了5種不同策略進行模型融合識別實體,總體效果取得一定提升,同時在識別藥物、微生物類、科室這3種實體中取得最好效果。在識別表現(xiàn)較好的實體類別中,如藥物、疾病,各模型的表現(xiàn)差異不大。在識別效果較差的實體類別中,各模型表現(xiàn)差異較為明顯。因此提升數(shù)據(jù)辨識度低、數(shù)據(jù)量小的實體識別效果有助于提升模型性能。
CHIP2020中國健康信息處理會議中的評測任務一為中文醫(yī)學文本命名實體識別,總共開放了28 618條中文醫(yī)學文本,以及預先定義好的9類醫(yī)學實體。一共37支隊伍提交了最終結果,排名第1的模型在對應領域再次訓練預訓練語言模型BERT并結合MRC,微平均F1值達到了0.683 5。大部分參賽隊伍都使用了預訓練語言模型,結合深度學習模型,然后針對任務進行詞匯增強,最后進行模型融合,提高模型總體性能。結果分析排名靠前的隊伍模型總體表現(xiàn)很接近,但在不同類別的實體間識別效果差異明顯,F(xiàn)1值最低為0.487 5,最高為0.859 0。其中,數(shù)據(jù)規(guī)模大、描述文本辨識度強、實體邊界明顯的類別識別效果較好。
未來的研究中,在對應領域訓練預訓練模型,提高小類別和嵌套實體的表現(xiàn),可進一步提高中文醫(yī)學文本命名實體識別模型的性能。