易紅
(四川大學計算機學院,成都610065)
循證醫學(Evidence-based Medicine)是一種臨床實踐方法,通過主要證據(如隨機對照試驗(RCT)的結果)為醫療決策、課題研究提供信息。醫生或相關從業人員在進行循證醫學實踐時,需要有效地獲取這些證據的信息,檢索并分析與特定臨床主題相關的文獻。循證醫學從業者在判斷RCT 是否與給定問題相關時會使用特定的標準,通常為PICO 標準。而隨著醫療資料的海量增長,人工地根據PICO 標準從海量的醫學資料中篩選出合適的醫學文獻作為研究依據也越來越耗時耗力,想要精準、快速地篩選、獲取合適的文獻更是尤其困難。因此,醫學文獻中PICO 元素檢測受到越來越多的重視。PICO 元素檢測是循證醫學領域一個重要且具有挑戰性的任務,目標是從非結構化文本(摘要或全文)中檢測出包含PICO 元素的句子或者短語,檢測出的這些信息可以以多種方式加以利用,例如,提高搜索性能,以結構化方式查詢特定類別,幫助用戶更快速地根據特定的PICO 標準做出判斷。
在循證醫學中,精心設計的、結構化的文檔和問題可以幫助醫生有效地收集合適的資源并找到最佳的醫學證據[1]。實際上,臨床研究和臨床問題總是明確或隱含地包含四個方面:對象/問題(Population/problem,P)、干預(Intervention,I)、比較(Comparison,C)和結果(Outcome,O)。利用這種結構來幫助大型醫學引用數據庫中醫學證據的信息檢索(IR)是流行且有利的[2-4]。PICO元素檢測即是自動檢測出醫學文摘中包含PICO 元素的句子或者短語,來幫助醫生或相關從業人員進行醫學證據的檢索,以便為其擬議的研究自動篩選出可能相關的文章。如例句1,P 元素為“middle-aged women suffering migraines”(患有偏頭痛的中年婦女),I 元素為“Botulinium toxin type A”(A 型肉毒桿菌毒素),C 元素為“placebo”(安慰劑),O 元素為“decreasing migraine frequency”(降低偏頭痛頻率)。
Demner 和Lin[5]在2007 年首次提出了PICO 元素檢測任務,并提出了一種使用人工制定的模式匹配規則和統計分類器的方法,來檢測醫學摘要中與PICO 元素相關的句子或短語。基于對統一醫學語言系統(UMLS)中領域的理解,該模式匹配規則使用了由MetaMap 標記的生物醫學概念和SemRep 抽取的概念之間的關系。實驗顯示該方法可以將相關的摘要放到較高的排名位置,幫助循證醫學從業者檢索出相關的文章作為醫學證據,檢索效果大大優于PubMed 提供的基礎檢索。
基于規則的方法需要大量的人工操作,并且無法覆蓋所有的語言規則,存在耗時耗力、覆蓋率低的缺點。與基于規則的方法相比,基于機器學習的方法不需要人工構造、更新大量的規則,因此,許多著名的機器學習技術被用于PICO 元素檢測任務。
首先,Hansen 等人[6]在2008 年提出了使用支持向量機(SVM)進行監督分類以提取試驗參與者的數量,該方法著重于提取試驗參與者的總數,使用了一個二分類器對摘要中的整數進行分類,正類代表試驗參與者人數,負類代表所有其他候選人數。該方法存在很大的局限性,只針對摘要中的試驗參與者的總數進行抽取。Boudin 等人[7]在2010 年利用統計特征(如句子的位置、句子長度、標點符號的數量、句子中含有的數字的數量等)和基于知識的特征(如提示詞的數量、提示動詞的數量、MeSH 語義類型等)將每個句子轉化為一個特征向量,在不同的分類器(如隨機森林(RF)、支持向量機(SVM)、樸素貝葉斯(NB)、多層感知機(MLP)等)上進行了實驗,實驗結果表明MLP 優于其他的分類器,且他們發現大多數重要信息都包含在每一節的第一句話中。
上訴工作都把PICO 元素檢測看成是多個二分類任務,使用單個分類器一次對一個類別進行分類,為了檢測所有的PICO 元素,需要構建和訓練四個獨立的分類器,這是很低效的。此外,這種多個二分類的方法很難消除不同分類器對同一句子預測的標簽的沖突。2011 年,Kim 等人[8]直接對EBM 感興趣的標簽進行了處理,將PICO 元素檢測看成多標簽分類任務,而不是二分類任務,并將與PICO 元素無關的句子標記為other,解決了多個二分類的限制。他們利用詞匯、語義、結構、順序等信息,使用條件隨機場(CRF)進行多分類的PICO 元素檢測。其中,詞匯特征包括詞袋、二元詞組等;語義特征,使用統一醫學語言系統(UNLS)的元詞表中提供的一系列本體,用來捕捉醫學術語之間的語義關系;結構特征為句子在摘要中的位置(絕對位置或相對位置);序列特征:利用文本中不同句子之間的依賴關系,特定部分(如,背景)的句子通常連續出現,在判斷當前句子的類別時,可分析摘要中前句的類別來進行推斷。之后,Dympna 等人[9]在2013 年利用醫學摘要中嵌入的結構信息對數據集進行了擴展。他們發現一些作者在編寫摘要時,明確地標出了一些特定的小標題,如“patient”(患者)、“sample”(樣本)、“outcomes”(結果)等,這些特定的小標題可以用來定位對應的PICO 元素句子。因此,成千上萬個來自PubMed 數據庫的包含了PICO 元素的摘要可以被自動地處理為一個注釋良好的數據集,能夠將數據集的大小增加兩個數量級。使用這樣大規模數據集能夠訓練出更好的模型,模型的泛化能力也能有進一步地提升。
以上所有的模型都嚴重依賴于人工設計的特征,包括詞匯特征,如詞袋(BOW)、提示詞、提示動詞;語義特征,如詞性(POS)、命名實體(NE);結構特征,如句子的相對位置或絕對位置;以及序列特征,如每個類別的相對位置。
基于規則和機器學習的方法都只是在句子的詞匯特征或者淺層的語義特征進行分析和提取,沒有捕獲到句子深層的語義信息,導致PICO 元素檢測任務的效果不是很理想。神經網絡模型由于其自動學習特征、擅于捕捉深層語義信息的優勢,越來越多的研究人員使用神經網絡模型來解決PICO 元素檢測問題。
Dernoncourt 等人[10]在2016 年提出了基于深度人工神經網絡架構的模型,實驗證明利用長短期記憶神經網絡(LSTM)可以進一步提高性能,并消除人工篩選特征的需求。隨后,Di Jin 等人[11]在2018 年首次利用深度神經網絡的方法(雙向長短期記憶神經網絡,BiLSTM)解決PICO 元素檢測問題,該模型首先使用BiLSTM 獲取句子中每個詞的隱藏表達,然后利用注意力機制計算每個詞的權重,加權求和獲取到每個句子的表示向量,然后整個摘要中的所有句子的表示向量輸入到序列優化層(即條件隨機場,CRF)中,對整個摘要進行序列標注,優化整個標簽序列。該模型稱為“BiLSTM+CRF”架構,取得了很大的進展。2019 年,Di Jin 等人[12]在2018 年的模型上進行了兩點改進。首先,他們認為應該把PICO 元素檢測看成一個連續的句子分類問題,可以利用周圍句子的上下文信息來推斷當前句子的標簽。因此,基于先前的“BiLSTM+CRF”架構,他們將另一層bi-LSTM 疊加在句子表示向量上,以聚合周圍句子的特征,使得輸出的句子的隱藏狀態向量不僅攜帶當前句子的信息,還包含相鄰句子的信息。其次,他們認為深度學習模型在較小規模的數據集上容易出現過度擬合的情況,導致訓練數據較小時,與淺層機器學習模型相比,深度學習模型對PICO 元素檢測的性能不理想。為了解決這個問題,他們采用了兩種策略來增強模型的泛化能力。一種是使用對抗和虛擬對抗訓練對模型進行正則化穩定分類器的性能,從而提高模型的泛化能力;另一種是先使用大規模生物醫學文獻語料庫對語言模型進行預訓練,然后在目標數據集進行微調,即利用遷移學習方法提高模型的泛化能力。實驗證明兩種策略都能進一步提高PICO元素檢測性能。
本文對PICO 元素檢測的研究進展進行了介紹,簡單介紹了PICO 元素檢測任務的具體內容,重點介紹了解決PICO 元素檢測問題的三大主要方法,分析了這幾類方法的改進思想。PICO 元素檢測可以運用到許多下游的醫學任務中去,如:醫療方案制定、系統性分析、醫學文獻的信息檢索等,具有極高的研究價值和應用價值。PICO 元素檢測是循證醫學領域一個重要的研究方向,隨著深度學習的發展,近年來越來越多的研究者嘗試將深度學習的各種模型和方法應用到PICO 元素檢測任務中,并取得了較好的成效。但目前對于PICO 元素檢測的效果仍然有一定的提升空間,還需要更進一步的研究和改進。