陳召霞 黃雪群 雷永健 劉道文 季東 劉雯姍 沈恩璐 渠田田 馮鐵男



[摘要]?目的?設計一種更有效的方法提升臨床數據中非結構數據的提取率以供臨床應用。方法?基于真實的病案數據,設計病案數據模塊化解析法結合混合算法抽取指標集結果,通過人工與自動化校驗相結合的方法驗證抽取結果。結果?該方法已在專病庫數據平臺實現,10份患者病案的指標集一致率(召回率)為99%,填充率為91.8%。結論?該方法提升了非結構化病案數據提取率和一致率,相較純算法效果明顯。
[關鍵詞]?臨床病案數據模塊化;構建語義標簽確定模型;語料庫;填充率
[中圖分類號]?N37????[文獻標識碼]?A????[DOI]?10.3969/j.issn.1673-9701.2024.17.021
病程記錄、手術記錄等非結構化數據中包含大量診療信息,但這些數據無法直接用于研究分析,需要進行數據清洗和提取才能使用[1]。但準確、全面提取這些信息費時費力,即使引入算法仍然很難達到研究所需數據標準[2]。如何高效高質從非結構化數據中提取符合研究標準的數據是提升臨床研究效率的關鍵技術[3]。本研究參考現有的臨床數據采集協調標準(clinical?data?acquisition?standards?harmonization,CDASH)模塊定義,結合臨床病案數據分布規律,提出了一種將臨床病案數據從非結構化到結構化的方法。現以宮頸癌病案為研究對象,進行策略驗證和效用評估,為非結構病案中的數據抽取提供參考。
1??資料與方法
1.1??非結構臨床數據解析現況分析
目前主流非結構臨床數據提取方法是將以自然語言方式記錄的醫療文檔按照醫學術語的要求進行系統分析,最終以關系型(或者面向對象的)結構將這些語義數據輸入到數據庫中[4]。目前已有大量語義分析大模型(如Convolutional?Neural?Network,Binary?Neural?Networks等),但都很難直接用于醫療數據解析[5]。主要原因在于醫療文字描述有很強的特異性,常規的語義分析大模型缺少病案文本訓練,對醫療文檔的提取率和一致率都非常低。為進一步發揮算法,則需要醫療專業人員對數據進行預處理,并進一步構建符合疾病特性的“語料庫”,參考標準臨床研究體系,形成專業性更強的數據治理流程[6]。
1.2??非結構臨床數據解析方案
為解決數據提取率和一致率低的問題,本方法設計了一種提升數據提取率的策略:參考CDASH標準模塊對現有病案數據進行模塊化標記,即模塊化病案解析法,先按照CDASH標準模塊標注數據在病案中對應的模塊,再對每個模塊中的樣本病案信息進行標注,構建語義標簽確定模型,從而提升數據提取率。CDASH是臨床數據交換標準協會(Clinical?Data?Interchange?Standards?Consortium,CDISC)建立的標準之一,定義了臨床試驗數據采集的基本標準,用于簡化并規范臨床研究中的數據采集過程。具體流程見圖1。
非結構臨床數據解析方案共分為4步。第1步,根據近5年相關臨床研究的文獻、指南、專家共識等確定指標集;第2步,醫療團隊和技術團隊共同參與,進行病案解析和采集數據。即醫學團隊開啟樣本病案模塊和語義標注,構建語義標簽確定模型。技術團隊同步采集數據,制定數據清洗規則;第3步,技術團隊批量結構化病案、清洗數據,結合混合算法抽取指標集結果;第4步,自動化校驗工具驗證抽取結果的準確率(一致率=指標自動填充結果與人工抽取結果一致的數量/人工抽取總數,填充率=指標自動填充數量/人工抽取數量),人工抽檢驗證召回率和填充率。根據每次的抽檢結果回溯問題,直至數據質量合格(應填指標填充率>80%,一致率為100%)后結束評估。人工質控方法:①對照組抽樣:人工隨機抽取10份樣本,統計抽取結果;②實驗組抽樣:從數據庫導出同樣10份樣本數據;③質控合格標準:實驗組結果與對照組結果一致率(召回率)達100%(偏差≤–5%,偏差僅適用于自然語言類描述性指標集結果),應填指標填充率≥80%。
2??結果
2.1??CDASH模塊和臨床數據模塊的映射關系
以CDASH為基礎構建臨床病案數據模塊,探索指標集在病案中的分布規律,建立指標集和CDASH域之間的映射關系,見表1。
2.2??梳理語料庫和語義結構樹
映射關系建立后,需要進一步對非結構化文本數據進行解析,構建病種語料庫,為統計語言學模型做語言加工準備,用來提高程序解讀病案中相關詞匯和語義的能力,為后續數據提取做準備。首先,在基于領域本體的語義分類框架基礎上,對病案語料進行深層次語義加工,建立語義結構樹,見圖2。其次,根據病種特征總結術語和常見句式,標記語義標簽。最終,確定病種代表性敘述、文本斷句標志等特征,從而發現可能的規律構造等價抽取規則。語料庫不能直接套用模板,因為病案的主體內容一般采用自然語言記錄,不同詞可表達相同意思,同一個詞在不同領域也會有不同意思[7]。每個專科和每種疾病有共性,又具有不同的特性,每個課題組的研究方向也相對獨立,對數據收集也各有其特殊要求[8]。直接套用模板只會降低匹配度,因此需要結合病種特征和所屬醫院真實病案進行分析標記,才能構建出匹配項目需求的語料庫。
語義歸納結果直接影響語義映射效果,從而影響數據填充率和一致率。以宮頸癌病種為例,病案中術語會出現簡稱、全稱或醫療行業通用描述,也可能是僅在該院內使用的簡稱。因此術語、句式等的歸納一定要詳盡規范。
2.3??優化數據提取結果
以宮頸癌病種為例,運用純算法提取數據時,提取率不足50%,經過策略優化之后,提取率超過了90%。這是因為純算法只適用于部分結構化病案的數據提取,病案中涉及診療細節的主體內容大都以自然語言方式記錄,很難做到基于統一、嚴格的表格形式來結構化[9]。其次中文語義復雜和個人表達習慣不同等因素,造成機器抓取數據的精準率不高,這就需要更多人工參與病案解析去輔助構建病案文本語義模型[4]。
2.4??結果分析與驗證
人工抽取10份樣本做全量質控,每個樣本397個指標,理論抽取總數3970個,實際抽取1537個。首次人工質控結果:數據庫導出1251個結果,抽取率為81.3%,一致率為97.7%(小部分數據識別不全)。第2次人工質控結果:經過對首次抽取結果的分析和方案修改,此次導出1401個結果,抽取率為91.1%,一致率為99.0%。第3次人工質控結果:針對第2次出現的問題修改方案,此次導出1411個結果,抽取率為91.8%,一致率為99.0%。由于部分指標提取結果識別不全或是無法直接提取,導致填充率略低于人工提取率。
3次質控結果表明:每次方案調整,填充率都不斷接近人工提取率。首次質控是為了驗證指標集填充是否完全覆蓋人工錄入的指標集范圍,填充結果是否與源數據一致,以及分析填充不全和填充錯誤的原因;第2次質控是為了驗證修改方案是否可行以及是否還有其他問題;第3次質控是對第2次質控的查漏補缺,防止遺漏可填充指標集,或指標集填充結果不全。一般經過3輪人工抽樣質控基本可以判定自動填充結果是否趨于穩定。若首輪質控不嚴謹,或第2輪方案調整不合理,則第3輪數據質量依然難以合格,就需要進行第4輪或多輪人工抽樣質控,直至數據質量達標。建議根據填充實際情況制定質控方案,防止方案偏離導致無效質控。
3??討論
本研究方法已達到質控合格標準,一致率為99.0%,填充率為91.8%。而未進行病案解析之前,自動填充率不足50.0%,一致率不足70.0%。在采用了模塊化病案解析法與混合算法相結合的數據抽取方法后,實現了從結構化和非結構化病案文本中抽取符合科研需求的數據,與純算法比對效果較好。此結論已在22家醫院45個專病項目的數據質量調研中被證實。調研結果表明,開展過病案解析的項目數據質量遠高于未進行病案解析或病案解析不充分的項目。45個項目中10個項目分別做了不同程度的病案解析,其數據質量與病案解析程度呈一致性[10]。
基于CDASH標準的模塊化病案解析法,是根據每個病種的獨特性對其進行量身定制的數據預處理方法,能更好地輔助數據解析、清洗過程[11]。該方法要求團隊人員需具備專業醫學背景和數據處理技術,目前大多數技術團隊在數據解析過程中缺乏深層次的病案文本標記和臨床醫學專業人員,也無專業醫學指導,這是該方法在實操中比較常見的的局限性。其次大多數團隊純靠算法進行提取,對自然語言類病案無法精準匹配指標集及有效質控,從而導致填充率和一致率普遍偏低的現象。該方法強調了質控的必要性和重要性,尤其需要注意人工質控的方案調整[12]。因此,本方法對結構化病案采用算法提取,對不能提取的部分結構化病案和非結構化病案使用模塊化病案解析法輔助混合算法進行提取。
語料庫無論在基于規則的數據抽取還是構建模型等機器學習方法中都不可或缺[13]。目前可用的標準化病案語料非常稀缺,這是目前非結構化病案數據不能被有效利用的關鍵因素。不管是作為主要使用者的醫院,還是創建語料庫的團隊,雙方均缺乏專業人員和資源構建豐富、全面的語料庫。新醫科建設倡導進行交叉學科研究,“醫+工”甚至“醫+文”交叉成為創建病案語料庫的新型模式,通過技能互補,構建高質量病案語料庫[14]。
綜上所述,在方法實施中發現病案數據模塊化標記可以為數據遷移、病案管理、疾病預測模型等提供參考。病案數據模塊化標記參照CDASH標準,可以為將來數據遷移做準備[15]。模塊化文本標記明確了病案管理和病案結構化的需求,既可以為臨床制定結構化病案提供指導,又可以為技術人員設計結構化模板提供參考,同時輔助病案管理[16]。另外語料庫還可以輔助建立疾病預測模型,達到輔助診斷的效果[17]。
利益沖突:所有作者均聲明不存在利益沖突。
[參考文獻]
[1] 包小源,?黃婉晶,?張凱,?等.?非結構化電子病歷中信息抽取的定制化方法[J].?北京大學學報:?醫學版,?2018,?50(2):?8.
[2] 謝維佳,?王映濤.?電子病歷系統中檢驗數據信息抽取研究[J].?中國數字醫學,?2015,?10(3):?3.
[3] N?V?OL?A,?ZWEIGENBAUM?P.?Clinical?natural?language?processing?in?2015:?Leveraging?the?variety?of?texts?of?clinical?interest[J].?Yearbook?Med?Inform,?2016,?25(1):?234–239.
[4] 韋玉芳,?施維,?尚于娟,?等.?基于電子病歷數據的臨床表型提取及其應用進展[J].?醫學信息學雜志,?2017,?38(8):?5.
[5] 王辰,?李明,?馬金剛.?電子病歷關系抽取綜述[J].?計算機工程與應用,?2023,?59?(16):?63–73.
[6] 李憶昕,?張穎,?王鈺瑩,?等.?電子病歷歷史數據的提取及在醫學臨床教學中的應用[J].?中國信息技術教育,?2019(15):?3.
[7] 王燦輝,?張敏,?馬少平.?自然語言處理在信息檢索中的應用綜述[J].?中文信息學報,?2007,?21(2):?11.
[8] 李慧杰,?張晴晴,?劉瑞紅,?等.?大數據背景下臨床專病數據庫建設實踐與思考[J].?中國衛生事業管理,?2020,?37(8):?4.
[9] 杜晉華,?尹浩,?馮嵩.?中文電子病歷命名實體識別的研究與進展[J].?電子學報,?2022,?50(12):?3030–3053.
[10] 牛承志,?駱鑫,?趙丹.?臨床科研數據抽取研究[J].?醫學信息學雜志,?2020,?41(7):?25–28.
[11] 印冠錦,?張夢陽,?吳惠庶,?等.?真實世界數據相關標準體系研究與應用進展[J].?醫學信息學雜志,?2022,?43(6):?30–35.
[12] 崔博文,?金濤,?王建民.?自由文本電子病歷信息抽取綜述[J].?計算機應用,?2021,?41(4):?1055–1063.
[13] 楊錦鋒,?關毅,?何彬,?等.?中文電子病歷命名實體和實體關系語料庫構建[J].?軟件學報,?2016,?27(11):?2725–2746.
[14] 冷冰.?近二十年國內醫藥英語相關語料庫建設回顧與展望[J].?現代英語,?2023(3):?4.
[15] 杜賓,?王明文.?跨平臺數據遷移的研究和實現[J].?計算機與現代化,?2001(6):?6.
[16] 羅輝,?薛萬國,?喬屾.?大數據環境下醫院科研專病數據庫建設[J].?解放軍醫學院學報,?2019,?40(8):?6.
[17] WENBO?D,?SHILIANG?S?U?N,?MINZHI?Y?I?N.?Research?and?development?of?medical?knowledge?graph?reasoning[J].?J?Front?Comput?Sci?Technol,?2022,?16(6):?1193.
(收稿日期:2023–12–11)
(修回日期:2024–04–16)