引用本文: 毛渤淳, 陳圣愷, 謝雨, 姚攀, 李春潔. 經典深度學習算法對中文隨機對照試驗智能判別應用. 中國循證醫學雜志, 2019, 19(11): 1262-1267. doi: 10.7507/1672-2531.201906050 復制
隨著醫學理念的發展,當前的醫療模式已從過去的經驗醫學向循證醫學(evidence-based medicine,EBM)轉變。秉持一切臨床決策均應由最佳臨床證據出發的 EBM 理念,能為醫學臨床工作提供最有力的證據支持和嚴謹的臨床科研設計指導,對臨床實踐與科研均有重要意義。
EBM 的主要證據載體為系統評價,其撰寫要求極其嚴格,步驟涉及系統檢索、文獻篩選、資料提取、偏倚風險評價和數據合成等。研究者需要針對某一明確臨床問題進行系統性檢索和文獻篩選,找出當前最佳臨床證據,并對這些證據進行偏倚風險評價和數據整合。針對防治類醫學問題的系統評價,為控制不同研究設計帶來的偏倚風險,撰寫者通常需要首先檢索隨機對照試驗(randomized controlled trial,RCT)。為保證檢索的系統性,評價者最常采用的策略是查全率極高(即 SEN 常在 98% 以上)、查準率較低(即 SPE 常在 75% 以下)的檢索策略[1],使得研究者在文獻篩選時需要從上千條文獻題錄中再次進行人工篩選。這將花費研究者大量的時間和精力,同時導致系統評價的撰寫和更新速度遠不能滿足臨床決策的需求。有研究顯示,評價一篇系統評價平均需篩選 1 781 篇文獻,而無關文獻平均篩除率達 97.1%,發表一篇系統評價平均需要 67.3 周[2]。由此可見,提高文獻檢索及篩選的效率對提高系統評價撰寫、循證證據更新的速度有重要意義。
文獻的檢索與篩選過程的高效化一直備受 EBM 研究者關注。然而,盡管數據庫自帶的索引信息豐富,同時結合醫學主題詞(medical subject headings,MeSH)與自由詞的檢索式,能夠在計算機檢索過程就完成一定程度的篩選,仍無法做到 SEN 與 SPE 兼顧:以 PubMed 數據庫為例,該數據庫提供的發表類型(publication type,PT)一欄索引的“隨機對照試驗”也僅包含了 93.7% 的 RCT,而仍有 2.4% 的非 RCT 混雜其中,如果僅依賴數據庫自帶的索引信息,達不到系統性檢索所需 SEN。如果通過增設十余條甚至三十余條檢索式進行調整后,針對 RCT 的 SEN 雖然可以達到 99.5%,但 SPE 又降低至 45.5%[3]。
近年來,自然語言處理技術(natural language processing,NLP)飛速發展,融合了深度學習算法后的自然語言處理技術也逐漸進入醫學文獻處理領域。Cochrane 協作網已將其 CENTRAL 數據庫內包含的人工篩選獲得的 RCT 與非 RCT 分類信息提供給研究者進行 RCT 自動篩選的研究[4, 5]。2017 年 Journal of Clinical Epidemiology 也通過系列綜述重點介紹了實時更新系統評價(living systematic review)這一概念,呼吁進行系統評價流程自動化相關的研究[6-10]。通過人工智能算法實現文獻的自動分類標注,不但能幫助 EBM 研究者在撰寫系統評價時提高文獻篩選效率,甚至能植入主流醫學數據庫,將數據庫內文獻的索引信息變得更加豐富、準確,直接提高臨床證據的易查性,這將惠及所有臨床工作者。目前通過分析標題和摘要,針對英文文獻進行研究類型分類的研究已初見成效[4, 11, 12],但智能算法應用于中文醫學文獻的篩選還處于空白狀態。由于英文與中文在語言風格、表達方式上都存在著較大的差異:與英文文本不同,中文詞語本身缺乏明顯的形態標記,文本間并無特定的空格分隔。在處理中文文本時,需要利用分詞算法針對中文文本進行分詞處理,并要去掉停用詞,這些復雜的預處理步驟增加了中文文本分類的難度,也導致針對英文 RCT 的算法并不能直接套用于中文[13, 14]。因此,開發能夠通過標題和摘要自動判斷中文研究是否為 RCT 的智能識別算法,輔助進行文獻篩選,將大大減少系統評價研究者的工作量,提高撰寫效率,最終加快臨床證據的總結與更新。而卷積神經網絡(convolutional neural network,CNN)不僅在計算機視覺等領域應用廣泛,在處理文本分類問題時同樣具有很好的效果。它可通過網絡訓練自我提取并學習文本的數據特征,避免了人為構造文本特征,減少人為因素對實際分類效果的影響;其池化過程能在很大程度上減少網絡參數,降低模型復雜度。此外,CNN 還能對輸入的文本數據進行壓縮和降維,可以在一定程度上提升訓練效果。
本研究通過多人標注的形式建立中文 RCT 文獻數據庫,并采用卷積神經網絡 CNN 模型,對中文 RCT 文獻進行自動篩選。并組織前瞻性對照試驗對 CNN 算法模型的篩選效果進行客觀評價,以此探究其用于中文醫學文獻 RCT 篩選的可行性。為實現提高文獻檢索與篩選效率的目標,及今后 EBM 發展的自動化、智能化做鋪墊。
1 材料與方法
1.1 訓練數據來源
計算機檢索 CNKI 數據庫,限定年限為 2014 年、主題為“口腔”的醫學文獻并導出包含標題、摘要信息的題錄。以標題和摘要作為文獻標注依據,其他信息如作者、期刊等作為文獻回溯依據。將題錄導入文獻管理軟件 EndNote 后采用雙人獨立標注后核對、討論的方式進行 RCT 篩選,并將最終結果作為金標準,用于 CNN 算法模型訓練學習。
1.2 文獻分類方法
所納入的文獻將被分為兩類:① RCT:包括從標題及摘要可獲得足夠信息以判斷為 RCT 的文獻,以及利用臨床住院號、床位號、出生日期等數字的奇偶性作為分類依據的 RCT 文獻;② 非 RCT:包括除 RCT 之外的其他所有文獻,該類文獻包括:a. 隨機不明的臨床對照試驗,即收錄題錄從標題及摘要只能明確判斷該文獻屬于臨床對照試驗,但具體分組是否依據隨機并不明確;b. 非隨機對照臨床研究,即包括可被明確判斷為隊列研究、病例-對照研究、橫斷面研究、病例系列或病例報告等臨床非隨機對照設計試驗文獻;c. 信息不足無法判斷的文獻,即從標題及摘要根本無法判斷是否為臨床對照試驗也無法判斷是否為其他類型的文獻;d. 其他文獻,包括綜述、動物實驗和體外實驗等文獻。文獻分類標注由 2 位有較豐富文獻分類標注經驗的標注者對文獻樣本進行獨立標注后共同核對,如意見一致即分類完成;如有不同意見通過討論統一,無法統一時轉向更資深的 EBM 專家進行仲裁,獲得最終判斷。
1.3 算法訓練
1.3.1 模型描述
此卷積神經網絡文本模型輸入為一篇文獻,輸出為“文獻是否是 RCT 類別”的置信度。在模型文本預處理時,利用現有分詞工具“jieba”對一條題錄文本先進行分詞、去除停用詞等預處理操作后,按文本中詞出現順序將一條題錄處理成為 n 個詞的一個序列。對于此模型中所有詞,先隨機初始化一個詞表,并在模型訓練過程中調整此表內的值,由詞表可得詞 id 索引與該詞的 d 維的 embedding 向量表達。利用多個窗口大小不一的卷積核 filter 過濾器來進行卷積操作,假設滑動窗口大小為 w,每一個 filter 對 n*d 維的矩陣表達進行卷積后得到長度為 n?w+1 的一維向量,將所有 filter 得到的向量做 max-pooling(對于卷積后的一維向量取該向量最大的一個值)后,按卷積核 filter 的順序拼接成一維向量,最后全連接一層長度為 1 的神經網絡。訓練時標準數據位置對應值 1 表示是 RCT 類別,0 表示非 RCT,測試時取輸出范圍在 0~1 的預測值,越接近 1 表示為 RCT 的可能性越大。模型訓練時,定義交叉熵損失函數 loss,采用 Adam 優化器,反向傳播更新網絡參數與詞向量。在訓練迭代到一定次數,損失 loss 在訓練集達到相對穩定并不再下降,驗證集上損失 loss 開始由下降狀態升高時,停止模型訓練,并保存神經網絡參數與詞向量表。
1.3.2 參數調整
在此模型中,存在多個參數需要在驗證集上調試:對于迭代次數,通過訓練集和驗證集上 loss 的變化,保證模型收斂以確定迭代次數;對于學習率,初始設置學習率為 0.000 5;對于 batch 大小,取 2 的整數次方設置,對 filter 個數以及每一個 filter 卷積窗口大小 w 作調整,窗口不易設置過大。對池化后結果作 dropout 處理,取參數(0,1)范圍內的值。此外,為了防止模型過擬合,在損失函數設定時對于模型做了 L2 懲罰,懲罰項參數可根據在驗證集上的準確率作調整。
1.3.3 模型存儲與使用
在根據訓練集訓練得到穩定模型后,將模型參數保存,并同時存儲詞表。在需要使用該模型時,載入該模型參數,并將全連接層 dropout_keep_prob 設為 1,并按要求處理輸入數據,得到的結果即為模型算法預測為 RCT 的可能性大小,將該結果儲存,并與算法處理的題錄信息對應后保存。
1.4 前瞻性對照試驗
為了更好地驗證算法的分類效果,并與人工分類的水平進行比較,本研究采用前瞻性對照試驗驗證 CNN 算法與人工分類的敏感性和特異性。計算機檢索 2018 年 1 月至 3 月的 CNKI 上發表的所有口腔醫學文獻,分別交由 2 位標注者以及 CNN 算法模型進行篩選。人工篩選過程借助 EndNote 軟件完成。將 2 位標注者分別獨立完成的首次標注的結果合并作為人工篩選水平;算法模型標注結果作為 CNN 篩選水平;以 2 位標注者核對后確認的最終結果作為金標準。將人工分類水平和 CNN 分類水平分別與金標準對比,計算兩者對 RCT 篩選的 SEN 和 SPE;并通過調整 CNN 算法模型內部的劃分閾值,繪制受試者操作特征(receiver operator characteristic,ROC)曲線,探索閾值對 CNN 分類效果的影響,并以此確定最佳劃分閾值。閾值的劃分方式為:區間(0,0.1)內以 0.01 為間隔,區間(0.1,1)內以 0.05 為間隔,共計采樣 27 次。
2 結果
本研究流程見圖 1。計算機檢索 CNKI 收錄的 2014 年主題為“口腔”的文獻,共獲得 8 052 條文獻記錄,取前 6 000 條導出所需的標題、摘要內容及其他索引信息后儲存于本地,作為用于 RCT 分類的 CNN 算法模型的訓練樣本。經 2 位標注者按既定流程完成分類后,確定所納入的文獻包括 RCT 共 1 246 條,非 RCT 共 4 754 條。隨后利用該樣本按上述訓練方法完成模型訓練。

計算機檢索 CNKI 收錄的 2018 年 1~3 月主題為“口腔”的文獻,獲得 1 830 條文獻題錄。排除摘要缺失、作者信息不全的題錄后最終納入 1 198 條題錄。經過與訓練樣本相同的分類標注流程后,確定所納入的文獻包括 RCT 共 249 條,非 RCT 共 949 條。2 位標注者首次標注的結果顯示,人工篩選 RCT 的 SEN 為 98.01%,SPE 為 98.82%。采用 CNN 算法模型進行篩選時,RCT 篩選的 SEN 隨劃分閾值升高而減小,而 SPE 隨劃分閾值升高而增大,繪制得到 ROC 曲線的曲線下面積為 0.997 7(圖 2)。當閾值=0.40 時,ROC 曲線上對應的點距離左上角最近。CNN 對 RCT 的篩選 SEN=98.39%,SPE=98.84%。即 CNN 算法模型為“最佳準確度模式”,本次對照試驗結果顯示,CNN 對 RCT 篩選的最高 SEN 為 99.60%,對應 SPE 為 90.62%~94.10%,故閾值=0.06 時的算法模型為“高 SEN 模式”,見表 1。


3 討論
EBM 證據在很大程度上決定著臨床決策的制定,提高臨床證據查詢與篩選的效率和便捷性一直是方法學研究的熱門領域之一。目前研究者和臨床醫生在搜索和找尋證據時需要大量時間檢索篩選文獻,導致獲得所需的證據具有不確定性[15]。利用目前的數據庫索引資源對最佳臨床證據進行檢索篩選對絕大部分醫務人員困難較大。在保證文獻獲取的查全率前提下進行文獻篩選又將帶來巨大的工作量,Borah 等[2]在調查統計了 195 組系統評價撰寫團隊的相關數據后發現,平均從確立選題到文章最終發表需耗時 67.3 周,說明文獻篩選速度會制約系統評價制作時間。雖然英文文獻中針對 RCT 的智能篩選研究已獲得了一定的成果,但中文研究領域仍存在較大的空缺。本研究的結果證明,CNN 算法模型用于篩選中文 RCT 可行,且能達到較好的效果,可為提高系統評價撰寫效率、優化文獻數據庫易查性以及推進 EBM 自動化提供參考。
在傳統的 EBM 工作模式下,系統性檢索步驟往往需要檢索方面的專家參與,復雜而精妙的檢索策略在很大程度上幫助研究者在獲得更加全面、系統的文獻檢索結果的同時盡量排除無關的文獻[2]。利用數據庫的索引信及對研究主題的檢索式,同時對檢索結果以研究設計類型進行篩選一直是 EBM 研究者常用的文獻篩選方法,且獲得了較為可靠的效果[3]。然而,由于現有醫學研究數據庫對于“隨機對照試驗”的索引信息 SEN 并不算高,仍需通過檢索式針對缺失了數據庫索引標簽的小部分文獻進行高 SEN 檢索,使用這種方法的同時也降低文獻篩選查準率與效率。盡管在一些針對更為局限的醫學領域開發的檢索式的 SEN 已可突破 99%,但 SPE 也僅為 45.5%~70.1% 之間[16-19]。
因此,文獻的檢索與篩選過程的高效化獲得了研究者們的關注。針對文獻檢索過程,由 Glanville 等[20]制定的 PubMed 數據庫高 SEN 的 RCT 檢索式過濾器,雖然 SEN 僅為 98.7%,SPE 為 72.7%,但足以讓其成為目前 Cochrane 手冊中推薦的檢索方法[1]。而針對文獻的分類過程,將自然語言處理技術用于文獻分類篩選也是近十年 EBM 方法學研究的熱門領域之一,包括了對文本信息中的文字、詞語、句子及整篇文章的分析理解、提取和加工信息。國外已有部分研究將自然語言處理應用在英文醫學文獻篩選工作上:2015 年 Cohen 等[21]通過運用 PubMed 平臺上有 RCT 注釋的英文文獻和人工審查評價,將得到的已分類文獻用于線性內核支持向量機(linear kernel support vector machine,LKSVM)文本分類器的學習,最終該分類器篩選 RCT 的結果所得 ROC 曲線下面積為 0.965~0.969。2017 年 Wallace 等[4]利用 Cochrane 協作網 CENTRAL 數據庫中的 6 萬余條 RCT 標識信息,對其使用的 LKSVM 不斷進行訓練、調試和測試,最終能夠減少 60%~80% 無關文獻,得到 SEN 為 98% 的 RCT 分類模型。在此之后也有學者在 2018 年通過相似方法得到了 SEN 為 98.4%,SPE 為 77.9% 的算法分類結果[12]。目前的英文 RCT 篩選算法普遍能夠達到 SEN 為 95% 以上,SPE 在 30%~70% 之間[22],而針對中文文獻的 RCT 篩選算法尚處于空白狀態。
而在本研究組織的前瞻性對照試驗中,用于中文醫學文獻 RCT 篩選的 CNN 算法模型在最佳準確度模式下(閾值=0.40)對 RCT 的篩選 SEN 可達 98.39%、SPE 可達 98.84%,均已超過人工水平;而在 SEN 達 99.60% 的高 SEN 模式下(閾值=0.06),SPE 可高達 94.10%。雖然由于試驗納入的文獻樣本較小,文獻內容僅限于口腔醫學文獻,但僅從分類效果的數據來看,無論是 SEN、SPE,還是 ROC 曲線下面積,CNN 算法模型用于中文 RCT 篩選的效果已經能夠媲美目前的英文 RCT 篩選算法,如此出色的篩選效果無疑能夠大大增強研究者對智能算法完成中文 RCT 文獻篩選這一工作的信心。
值得一提的是,由于對系統性與查全性的顧慮,系統評價撰寫查找文獻過程中檢索或篩選的過程均需要保證極高的 SEN,目前對計算機自動篩選文獻的顧慮亦主要集中于此。但不得不承認的是,人工完成的文獻篩選過程也并不一定完全正確,Cohen 等[21]的研究也發現了其訓練的分類模型在 PubMed 數據庫中可以識別出 7 900 條未注釋的 RCT 文獻(占 RCT 總量的 3%)和約 12 900 條潛在 RCT 注釋的分配錯誤;類似的,本次研究中得出的人工篩選 SEN 為 98.01%,SPE 為 98.82%,遠未臻完美。而前文報道的 RCT 篩選工具,包括本次研究使用的用于中文 RCT 文獻篩選的 CNN 算法模型,雖然目前均只處于試驗階段,但其分類效果并不亞于人工水平。此外,在面對大量文獻時,準確度即便僅提高 1%,能減少的文獻數量也是巨大的。可以認為采用智能分類算法篩選文獻對于提升循證證據更新效率以及降低臨床指南滯后性上的價值,或許也足以彌補算法與人工篩選之間的細微差異。
需要指出的是,本次研究過程中將共計 7 198 條中文文獻記錄劃分為了 RCT 與非 RCT 兩類,初步積累了小型的、以研究設計類型進行分類的數據庫資源,但該數據庫內的文獻數量對于深度學習算法訓練而言仍較少,在未來的研究中需要進一步擴大。同時,針對“非 RCT”標簽下的眾多文獻,本研究尚未對其進行分類,未來研究可進一步按照具體的研究設計類型如隊列研究、橫斷面研究等進行細分,以獲得更加豐富的信息。
綜上所述,本研究通過人工標注的方法建立了中文 RCT 分類數據庫并完成了 CNN 算法的訓練。前瞻性對照試驗證明用于中文 RCT 文獻篩選的 CNN 算法模型具有足以替代人工水平的優秀的分類效果,能為推進 EBM 自動化、提高醫學文獻信息結構化提供幫助。然而,實現 EBM 自動化也好、提高醫學數據的易查性也好,對數據庫信息的管理才是根本的解決之道。人工智能算法的主要用武之地是“針對尚沒有標注相關信息的文獻記錄進行檢索信息的補全”,而對于那些未來的新增文獻,如果能夠在文獻收錄之時就能將更加全面、準確的索引信息如研究設計類型、患者、疾病、干預、暴露因素、結局指標等標注恰當,EBM 的研究與實踐一定能邁上更高的臺階。當然這也需要數據庫管理人員以及研究人員的共同努力才能實現。
隨著醫學理念的發展,當前的醫療模式已從過去的經驗醫學向循證醫學(evidence-based medicine,EBM)轉變。秉持一切臨床決策均應由最佳臨床證據出發的 EBM 理念,能為醫學臨床工作提供最有力的證據支持和嚴謹的臨床科研設計指導,對臨床實踐與科研均有重要意義。
EBM 的主要證據載體為系統評價,其撰寫要求極其嚴格,步驟涉及系統檢索、文獻篩選、資料提取、偏倚風險評價和數據合成等。研究者需要針對某一明確臨床問題進行系統性檢索和文獻篩選,找出當前最佳臨床證據,并對這些證據進行偏倚風險評價和數據整合。針對防治類醫學問題的系統評價,為控制不同研究設計帶來的偏倚風險,撰寫者通常需要首先檢索隨機對照試驗(randomized controlled trial,RCT)。為保證檢索的系統性,評價者最常采用的策略是查全率極高(即 SEN 常在 98% 以上)、查準率較低(即 SPE 常在 75% 以下)的檢索策略[1],使得研究者在文獻篩選時需要從上千條文獻題錄中再次進行人工篩選。這將花費研究者大量的時間和精力,同時導致系統評價的撰寫和更新速度遠不能滿足臨床決策的需求。有研究顯示,評價一篇系統評價平均需篩選 1 781 篇文獻,而無關文獻平均篩除率達 97.1%,發表一篇系統評價平均需要 67.3 周[2]。由此可見,提高文獻檢索及篩選的效率對提高系統評價撰寫、循證證據更新的速度有重要意義。
文獻的檢索與篩選過程的高效化一直備受 EBM 研究者關注。然而,盡管數據庫自帶的索引信息豐富,同時結合醫學主題詞(medical subject headings,MeSH)與自由詞的檢索式,能夠在計算機檢索過程就完成一定程度的篩選,仍無法做到 SEN 與 SPE 兼顧:以 PubMed 數據庫為例,該數據庫提供的發表類型(publication type,PT)一欄索引的“隨機對照試驗”也僅包含了 93.7% 的 RCT,而仍有 2.4% 的非 RCT 混雜其中,如果僅依賴數據庫自帶的索引信息,達不到系統性檢索所需 SEN。如果通過增設十余條甚至三十余條檢索式進行調整后,針對 RCT 的 SEN 雖然可以達到 99.5%,但 SPE 又降低至 45.5%[3]。
近年來,自然語言處理技術(natural language processing,NLP)飛速發展,融合了深度學習算法后的自然語言處理技術也逐漸進入醫學文獻處理領域。Cochrane 協作網已將其 CENTRAL 數據庫內包含的人工篩選獲得的 RCT 與非 RCT 分類信息提供給研究者進行 RCT 自動篩選的研究[4, 5]。2017 年 Journal of Clinical Epidemiology 也通過系列綜述重點介紹了實時更新系統評價(living systematic review)這一概念,呼吁進行系統評價流程自動化相關的研究[6-10]。通過人工智能算法實現文獻的自動分類標注,不但能幫助 EBM 研究者在撰寫系統評價時提高文獻篩選效率,甚至能植入主流醫學數據庫,將數據庫內文獻的索引信息變得更加豐富、準確,直接提高臨床證據的易查性,這將惠及所有臨床工作者。目前通過分析標題和摘要,針對英文文獻進行研究類型分類的研究已初見成效[4, 11, 12],但智能算法應用于中文醫學文獻的篩選還處于空白狀態。由于英文與中文在語言風格、表達方式上都存在著較大的差異:與英文文本不同,中文詞語本身缺乏明顯的形態標記,文本間并無特定的空格分隔。在處理中文文本時,需要利用分詞算法針對中文文本進行分詞處理,并要去掉停用詞,這些復雜的預處理步驟增加了中文文本分類的難度,也導致針對英文 RCT 的算法并不能直接套用于中文[13, 14]。因此,開發能夠通過標題和摘要自動判斷中文研究是否為 RCT 的智能識別算法,輔助進行文獻篩選,將大大減少系統評價研究者的工作量,提高撰寫效率,最終加快臨床證據的總結與更新。而卷積神經網絡(convolutional neural network,CNN)不僅在計算機視覺等領域應用廣泛,在處理文本分類問題時同樣具有很好的效果。它可通過網絡訓練自我提取并學習文本的數據特征,避免了人為構造文本特征,減少人為因素對實際分類效果的影響;其池化過程能在很大程度上減少網絡參數,降低模型復雜度。此外,CNN 還能對輸入的文本數據進行壓縮和降維,可以在一定程度上提升訓練效果。
本研究通過多人標注的形式建立中文 RCT 文獻數據庫,并采用卷積神經網絡 CNN 模型,對中文 RCT 文獻進行自動篩選。并組織前瞻性對照試驗對 CNN 算法模型的篩選效果進行客觀評價,以此探究其用于中文醫學文獻 RCT 篩選的可行性。為實現提高文獻檢索與篩選效率的目標,及今后 EBM 發展的自動化、智能化做鋪墊。
1 材料與方法
1.1 訓練數據來源
計算機檢索 CNKI 數據庫,限定年限為 2014 年、主題為“口腔”的醫學文獻并導出包含標題、摘要信息的題錄。以標題和摘要作為文獻標注依據,其他信息如作者、期刊等作為文獻回溯依據。將題錄導入文獻管理軟件 EndNote 后采用雙人獨立標注后核對、討論的方式進行 RCT 篩選,并將最終結果作為金標準,用于 CNN 算法模型訓練學習。
1.2 文獻分類方法
所納入的文獻將被分為兩類:① RCT:包括從標題及摘要可獲得足夠信息以判斷為 RCT 的文獻,以及利用臨床住院號、床位號、出生日期等數字的奇偶性作為分類依據的 RCT 文獻;② 非 RCT:包括除 RCT 之外的其他所有文獻,該類文獻包括:a. 隨機不明的臨床對照試驗,即收錄題錄從標題及摘要只能明確判斷該文獻屬于臨床對照試驗,但具體分組是否依據隨機并不明確;b. 非隨機對照臨床研究,即包括可被明確判斷為隊列研究、病例-對照研究、橫斷面研究、病例系列或病例報告等臨床非隨機對照設計試驗文獻;c. 信息不足無法判斷的文獻,即從標題及摘要根本無法判斷是否為臨床對照試驗也無法判斷是否為其他類型的文獻;d. 其他文獻,包括綜述、動物實驗和體外實驗等文獻。文獻分類標注由 2 位有較豐富文獻分類標注經驗的標注者對文獻樣本進行獨立標注后共同核對,如意見一致即分類完成;如有不同意見通過討論統一,無法統一時轉向更資深的 EBM 專家進行仲裁,獲得最終判斷。
1.3 算法訓練
1.3.1 模型描述
此卷積神經網絡文本模型輸入為一篇文獻,輸出為“文獻是否是 RCT 類別”的置信度。在模型文本預處理時,利用現有分詞工具“jieba”對一條題錄文本先進行分詞、去除停用詞等預處理操作后,按文本中詞出現順序將一條題錄處理成為 n 個詞的一個序列。對于此模型中所有詞,先隨機初始化一個詞表,并在模型訓練過程中調整此表內的值,由詞表可得詞 id 索引與該詞的 d 維的 embedding 向量表達。利用多個窗口大小不一的卷積核 filter 過濾器來進行卷積操作,假設滑動窗口大小為 w,每一個 filter 對 n*d 維的矩陣表達進行卷積后得到長度為 n?w+1 的一維向量,將所有 filter 得到的向量做 max-pooling(對于卷積后的一維向量取該向量最大的一個值)后,按卷積核 filter 的順序拼接成一維向量,最后全連接一層長度為 1 的神經網絡。訓練時標準數據位置對應值 1 表示是 RCT 類別,0 表示非 RCT,測試時取輸出范圍在 0~1 的預測值,越接近 1 表示為 RCT 的可能性越大。模型訓練時,定義交叉熵損失函數 loss,采用 Adam 優化器,反向傳播更新網絡參數與詞向量。在訓練迭代到一定次數,損失 loss 在訓練集達到相對穩定并不再下降,驗證集上損失 loss 開始由下降狀態升高時,停止模型訓練,并保存神經網絡參數與詞向量表。
1.3.2 參數調整
在此模型中,存在多個參數需要在驗證集上調試:對于迭代次數,通過訓練集和驗證集上 loss 的變化,保證模型收斂以確定迭代次數;對于學習率,初始設置學習率為 0.000 5;對于 batch 大小,取 2 的整數次方設置,對 filter 個數以及每一個 filter 卷積窗口大小 w 作調整,窗口不易設置過大。對池化后結果作 dropout 處理,取參數(0,1)范圍內的值。此外,為了防止模型過擬合,在損失函數設定時對于模型做了 L2 懲罰,懲罰項參數可根據在驗證集上的準確率作調整。
1.3.3 模型存儲與使用
在根據訓練集訓練得到穩定模型后,將模型參數保存,并同時存儲詞表。在需要使用該模型時,載入該模型參數,并將全連接層 dropout_keep_prob 設為 1,并按要求處理輸入數據,得到的結果即為模型算法預測為 RCT 的可能性大小,將該結果儲存,并與算法處理的題錄信息對應后保存。
1.4 前瞻性對照試驗
為了更好地驗證算法的分類效果,并與人工分類的水平進行比較,本研究采用前瞻性對照試驗驗證 CNN 算法與人工分類的敏感性和特異性。計算機檢索 2018 年 1 月至 3 月的 CNKI 上發表的所有口腔醫學文獻,分別交由 2 位標注者以及 CNN 算法模型進行篩選。人工篩選過程借助 EndNote 軟件完成。將 2 位標注者分別獨立完成的首次標注的結果合并作為人工篩選水平;算法模型標注結果作為 CNN 篩選水平;以 2 位標注者核對后確認的最終結果作為金標準。將人工分類水平和 CNN 分類水平分別與金標準對比,計算兩者對 RCT 篩選的 SEN 和 SPE;并通過調整 CNN 算法模型內部的劃分閾值,繪制受試者操作特征(receiver operator characteristic,ROC)曲線,探索閾值對 CNN 分類效果的影響,并以此確定最佳劃分閾值。閾值的劃分方式為:區間(0,0.1)內以 0.01 為間隔,區間(0.1,1)內以 0.05 為間隔,共計采樣 27 次。
2 結果
本研究流程見圖 1。計算機檢索 CNKI 收錄的 2014 年主題為“口腔”的文獻,共獲得 8 052 條文獻記錄,取前 6 000 條導出所需的標題、摘要內容及其他索引信息后儲存于本地,作為用于 RCT 分類的 CNN 算法模型的訓練樣本。經 2 位標注者按既定流程完成分類后,確定所納入的文獻包括 RCT 共 1 246 條,非 RCT 共 4 754 條。隨后利用該樣本按上述訓練方法完成模型訓練。

計算機檢索 CNKI 收錄的 2018 年 1~3 月主題為“口腔”的文獻,獲得 1 830 條文獻題錄。排除摘要缺失、作者信息不全的題錄后最終納入 1 198 條題錄。經過與訓練樣本相同的分類標注流程后,確定所納入的文獻包括 RCT 共 249 條,非 RCT 共 949 條。2 位標注者首次標注的結果顯示,人工篩選 RCT 的 SEN 為 98.01%,SPE 為 98.82%。采用 CNN 算法模型進行篩選時,RCT 篩選的 SEN 隨劃分閾值升高而減小,而 SPE 隨劃分閾值升高而增大,繪制得到 ROC 曲線的曲線下面積為 0.997 7(圖 2)。當閾值=0.40 時,ROC 曲線上對應的點距離左上角最近。CNN 對 RCT 的篩選 SEN=98.39%,SPE=98.84%。即 CNN 算法模型為“最佳準確度模式”,本次對照試驗結果顯示,CNN 對 RCT 篩選的最高 SEN 為 99.60%,對應 SPE 為 90.62%~94.10%,故閾值=0.06 時的算法模型為“高 SEN 模式”,見表 1。


3 討論
EBM 證據在很大程度上決定著臨床決策的制定,提高臨床證據查詢與篩選的效率和便捷性一直是方法學研究的熱門領域之一。目前研究者和臨床醫生在搜索和找尋證據時需要大量時間檢索篩選文獻,導致獲得所需的證據具有不確定性[15]。利用目前的數據庫索引資源對最佳臨床證據進行檢索篩選對絕大部分醫務人員困難較大。在保證文獻獲取的查全率前提下進行文獻篩選又將帶來巨大的工作量,Borah 等[2]在調查統計了 195 組系統評價撰寫團隊的相關數據后發現,平均從確立選題到文章最終發表需耗時 67.3 周,說明文獻篩選速度會制約系統評價制作時間。雖然英文文獻中針對 RCT 的智能篩選研究已獲得了一定的成果,但中文研究領域仍存在較大的空缺。本研究的結果證明,CNN 算法模型用于篩選中文 RCT 可行,且能達到較好的效果,可為提高系統評價撰寫效率、優化文獻數據庫易查性以及推進 EBM 自動化提供參考。
在傳統的 EBM 工作模式下,系統性檢索步驟往往需要檢索方面的專家參與,復雜而精妙的檢索策略在很大程度上幫助研究者在獲得更加全面、系統的文獻檢索結果的同時盡量排除無關的文獻[2]。利用數據庫的索引信及對研究主題的檢索式,同時對檢索結果以研究設計類型進行篩選一直是 EBM 研究者常用的文獻篩選方法,且獲得了較為可靠的效果[3]。然而,由于現有醫學研究數據庫對于“隨機對照試驗”的索引信息 SEN 并不算高,仍需通過檢索式針對缺失了數據庫索引標簽的小部分文獻進行高 SEN 檢索,使用這種方法的同時也降低文獻篩選查準率與效率。盡管在一些針對更為局限的醫學領域開發的檢索式的 SEN 已可突破 99%,但 SPE 也僅為 45.5%~70.1% 之間[16-19]。
因此,文獻的檢索與篩選過程的高效化獲得了研究者們的關注。針對文獻檢索過程,由 Glanville 等[20]制定的 PubMed 數據庫高 SEN 的 RCT 檢索式過濾器,雖然 SEN 僅為 98.7%,SPE 為 72.7%,但足以讓其成為目前 Cochrane 手冊中推薦的檢索方法[1]。而針對文獻的分類過程,將自然語言處理技術用于文獻分類篩選也是近十年 EBM 方法學研究的熱門領域之一,包括了對文本信息中的文字、詞語、句子及整篇文章的分析理解、提取和加工信息。國外已有部分研究將自然語言處理應用在英文醫學文獻篩選工作上:2015 年 Cohen 等[21]通過運用 PubMed 平臺上有 RCT 注釋的英文文獻和人工審查評價,將得到的已分類文獻用于線性內核支持向量機(linear kernel support vector machine,LKSVM)文本分類器的學習,最終該分類器篩選 RCT 的結果所得 ROC 曲線下面積為 0.965~0.969。2017 年 Wallace 等[4]利用 Cochrane 協作網 CENTRAL 數據庫中的 6 萬余條 RCT 標識信息,對其使用的 LKSVM 不斷進行訓練、調試和測試,最終能夠減少 60%~80% 無關文獻,得到 SEN 為 98% 的 RCT 分類模型。在此之后也有學者在 2018 年通過相似方法得到了 SEN 為 98.4%,SPE 為 77.9% 的算法分類結果[12]。目前的英文 RCT 篩選算法普遍能夠達到 SEN 為 95% 以上,SPE 在 30%~70% 之間[22],而針對中文文獻的 RCT 篩選算法尚處于空白狀態。
而在本研究組織的前瞻性對照試驗中,用于中文醫學文獻 RCT 篩選的 CNN 算法模型在最佳準確度模式下(閾值=0.40)對 RCT 的篩選 SEN 可達 98.39%、SPE 可達 98.84%,均已超過人工水平;而在 SEN 達 99.60% 的高 SEN 模式下(閾值=0.06),SPE 可高達 94.10%。雖然由于試驗納入的文獻樣本較小,文獻內容僅限于口腔醫學文獻,但僅從分類效果的數據來看,無論是 SEN、SPE,還是 ROC 曲線下面積,CNN 算法模型用于中文 RCT 篩選的效果已經能夠媲美目前的英文 RCT 篩選算法,如此出色的篩選效果無疑能夠大大增強研究者對智能算法完成中文 RCT 文獻篩選這一工作的信心。
值得一提的是,由于對系統性與查全性的顧慮,系統評價撰寫查找文獻過程中檢索或篩選的過程均需要保證極高的 SEN,目前對計算機自動篩選文獻的顧慮亦主要集中于此。但不得不承認的是,人工完成的文獻篩選過程也并不一定完全正確,Cohen 等[21]的研究也發現了其訓練的分類模型在 PubMed 數據庫中可以識別出 7 900 條未注釋的 RCT 文獻(占 RCT 總量的 3%)和約 12 900 條潛在 RCT 注釋的分配錯誤;類似的,本次研究中得出的人工篩選 SEN 為 98.01%,SPE 為 98.82%,遠未臻完美。而前文報道的 RCT 篩選工具,包括本次研究使用的用于中文 RCT 文獻篩選的 CNN 算法模型,雖然目前均只處于試驗階段,但其分類效果并不亞于人工水平。此外,在面對大量文獻時,準確度即便僅提高 1%,能減少的文獻數量也是巨大的。可以認為采用智能分類算法篩選文獻對于提升循證證據更新效率以及降低臨床指南滯后性上的價值,或許也足以彌補算法與人工篩選之間的細微差異。
需要指出的是,本次研究過程中將共計 7 198 條中文文獻記錄劃分為了 RCT 與非 RCT 兩類,初步積累了小型的、以研究設計類型進行分類的數據庫資源,但該數據庫內的文獻數量對于深度學習算法訓練而言仍較少,在未來的研究中需要進一步擴大。同時,針對“非 RCT”標簽下的眾多文獻,本研究尚未對其進行分類,未來研究可進一步按照具體的研究設計類型如隊列研究、橫斷面研究等進行細分,以獲得更加豐富的信息。
綜上所述,本研究通過人工標注的方法建立了中文 RCT 分類數據庫并完成了 CNN 算法的訓練。前瞻性對照試驗證明用于中文 RCT 文獻篩選的 CNN 算法模型具有足以替代人工水平的優秀的分類效果,能為推進 EBM 自動化、提高醫學文獻信息結構化提供幫助。然而,實現 EBM 自動化也好、提高醫學數據的易查性也好,對數據庫信息的管理才是根本的解決之道。人工智能算法的主要用武之地是“針對尚沒有標注相關信息的文獻記錄進行檢索信息的補全”,而對于那些未來的新增文獻,如果能夠在文獻收錄之時就能將更加全面、準確的索引信息如研究設計類型、患者、疾病、干預、暴露因素、結局指標等標注恰當,EBM 的研究與實踐一定能邁上更高的臺階。當然這也需要數據庫管理人員以及研究人員的共同努力才能實現。