溫 力 江衛星 孫豐龍 畢新剛 壽建忠 馬建輝
人工智能是模擬人類智能的一種算法過程,隨著科技的進步和發展,人工智能在醫學中的研究正蓬勃發展[1, 2]。自然語言處理(natural language processing, NLP)作為人工智能的一個分支領域,是將語言轉換為計算表達的形式,可作為工具用于處理腫瘤診療信息,特別是在提取臨床電子病歷(electronic medical records, EMR)文本數據中發揮了重要作用[3]。基于NLP構建自由文本挖掘算法去進一步挖掘腫瘤臨床信息是十分有前景的新方法,比如提取腫瘤的分期、分級等數據[4]。在臨床工作中,惡性腫瘤的分期是預后評估和制定治療計劃的重要程序之一,美國癌癥聯合委員會(American Joint Committee on Cancer,AJCC)制定的TNM分期是最常用的癌癥分期系統。腎癌作為泌尿系統常見的惡性腫瘤,其分期依據主要包括原發腫瘤直徑、腎周脂肪、腎盂、靜脈瘤栓、區域淋巴結侵犯以及遠處轉移。這些臨床資料大部分能從病理報告中獲得,而病理報告是傳達腫瘤分期的黃金標準,可以以自由文本形式存儲,有研究者基于NLP建立了肺癌英文的T分期算法[5]。本研究利用NLP作為工具對筆者醫院收治的腎癌患者臨床電子病歷數據進行人工智能自然語言處理分析,提出一種可自動診斷腎癌T分期的算法,以進一步協助病理醫生進行病理診斷。
1.臨床資料收集:收集2018年1月~2020年1月因腎癌于國家癌癥中心、國家腫瘤臨床醫學研究中心、中國醫學科學院/北京協和醫學院腫瘤醫院行手術治療的200例腎癌患者作為訓練組,并選取2015年1月~2017年12月性別、年齡以及病理分期匹配的200例因腎癌行手術患者作為測試組。病理結果均以自由文本報告的形式存儲在臨床診療信息系統中,每份報告由幾個結構部分組成,包括腫瘤切除部位、性質、分級、腫瘤直徑、侵犯范圍等。所有患者均有完整的病理診斷和病理分期。

3.概念框架:研究框架設計如圖1所示,將數字化腎癌病理報告作為輸入,針對腎癌T分期組成的各個要素,病理醫生使用訓練組為各分期要素創建一組同義詞及其詞綴,即表1中的關鍵詞,同時將分期要素定義為識別域及其值,如“腎周脂肪”為識別域,則“累及”和“未累及”為值。開發基于規則模板匹配和基于條件隨機場的兩種信息抽取算法。通過圖2所示流程依據抽取的信息獲得腎癌病理T分期的預測結果,并且在測試組數據上計算預測準確性,作為分期預測模型性能的整體評估。

圖1 基于NLP的中文病理報告處理框架及在病理T分期預測中的應用

表1 腎癌病理報告中識別域對應的關鍵詞和值提取規則

圖2 基于識別域值提取的腎癌病理T分期預測流程圖
4.基于規則模板匹配的方法:算法分為4個部分,包括預處理、文本分割、關鍵詞識別和值提取。首先,在預處理中統一標點符號,將英文的逗號、分號、句號和括號轉化為相應的中文符號。然后,根據中文書寫習慣,以逗號、分號和句號作為分界符號,將預處理后的文本分割為一些小片段。接著,針對每個關鍵詞,通過字符串匹配定位出與它相關的文本小片段。最后,對訓練組數據中定位出來的文本小片段總結出規則模板,設計正則表達式進行規則匹配,提取每個識別域對應的值。信息抽取及T分期預測過程示例如圖3所示。

圖3 腎癌病理報告病理T分期關鍵信息抽取示例
具體建立規則模板的過程如下:針對提取出來的包含關鍵詞的文本小片段,定位一些規律性的表達,例如,腫瘤直徑的文字描述一般是關鍵詞“腫瘤大小”,“最大徑”或者“腫瘤”后面加上相應的數值表達式;腫瘤累及部位的文字描述一般為具體部位前面或者后面加上特定的描述詞如“累及”、“侵犯”、“見癌”、“瘤栓”等;而關于腫瘤未累及部位的文字描述,則是在特定描述上再添加否定詞如“未”。筆者研究使用python正則表達式設計以下提供進行匹配的規則模板:(R1)關鍵詞+數值,例如:最大徑2.5cm;(R2)特定描述+關鍵詞,例如:侵犯腎上腺;(R3)關鍵詞+特定描述,例如:腎靜脈瘤栓。對腫瘤累及部位的描述中如出現否定詞則排除,并在正則表達式中體現。
5.基于條件隨機場的方法:對照著基于規則模板匹配的方法,用條件隨機場替代文本分割部分和值提取中的語義識別部分。先是預處理統一標點符號,然后使用開源軟件brat標注出病理報告中對于判斷腎癌病理T分期有用的陳述信息:(1)大小陳述,如“腫瘤最大徑6.5cm”。(2)累及陳述,如“腎門處可見血管侵犯,形成瘤栓”。(3)未累及陳述,如“未累及腎周脂肪、腎竇脂肪及腎盂”,詳見圖4。類似于命名實體識別,再使用“BMEO” 用于定義每個有用陳述信息的邊界。其中“B”代表起始字符,“E”代表結束字符,“M”是中間字符,“O”代表其他無關字符。同時,在邊界信息后面加上陳述類型,所以一個字符完整的標注形如“B-大小陳述”或者“O”。模型在預測的時候,將預測為同一類陳述的“B”,緊隨其后的一系列“M”以及之后的“E”的字符進行連續組合即為所提取的陳述。

圖4 條件隨機場方法標注示例
在對訓練組完成標注后,研究使用sklearn_crfsuite=0.3.6中的條件隨機場進行訓練得到模型,用模型對測試組中數據進行預測,提取出有用陳述。在條件隨機場提取出有用陳述之后,依據陳述的類別信息,通過簡單的數字提取和關鍵詞搜索就可以得到腫瘤直徑及累及部位信息,從而完成值提取過程。
6.腎癌T分期預測效能評估:在測試組上,基于不同的信息抽取值算法及流程圖2可以得到病理T分期的預測值,通過與金標準比較,計算整體的準確率(precision)、召回率(recall)、F1-分數(F1-score)以及正確率(accuracy)[7]。其中正確率,即預測正確的數目與全部病例數目之比。對于準確率、召回率和F1-分數,設FP為假陽數目,TP為真陽數目,FN為假陰數目,TN為真陰數目,則
因為研究的問題為多分類問題,而且類別不平衡,所以針對每一個類別計算出對應的準確率(記為Precisioni)、召回率(記為Recalli)和F1-分數(記為F1-scorei)后,再根據各類樣本比例配置權重得到加權平均值,作為總的準確率、召回率和F1-分數,即
1.腎癌手術患者的臨床病理特征:本研究共400例患者,其中男性287例,女性113例;患者年齡25~80歲,中位年齡62歲;腫瘤直徑為6.1±2.3cm。透明細胞癌356例,乳頭狀細胞癌22例,嫌色細胞癌13例,其他病理類型包括MIT家族轉位性腎癌、集合管癌等共9例。根據TNM分期標準,pT1a期252例,pT1b期69例,pT2a期10例,pT2b期4例,pT3a期59例,pT3b期2例,pT4期4例 (表2)。

表2 400例患者一般臨床資料
2.測試組結果分析:根據測試組200例患者效能評估結果,基于規則模板匹配方法準確率為99.0%,召回率為99.0%,F1-分數為99.0%,正確率為99.0%;而基于條件隨機場方法,準確率為97.1%,召回率為95.5%,F1-分數為96.3%,正確率為95.5%(表3)。前者正確率高于后者(99.0% vs 95.5%,χ2=4.581,P=0.032)。

表3 腎癌病理報告T分期預測結果(%)
筆者之前總結了國內外人工智能診斷腎細胞癌的現狀,關于人工智能在腎細胞癌中的研究和應用目前尚處于起步階段,主要集中在影像學,而病理研究較少報道[8]。本研究對腎癌病理報告利用人工智能自然語言處理方法進行識別和分析,提出可自動診斷腎癌T分期的算法,從而降低病理醫生負荷,提高臨床工作效率。
近年來,越來越多的研究證實人工智能在醫學研究中展現出了巨大的優勢,特別是在大數據的趨勢下,人工智能作為一種自動化的工具,在多個方面直接或者間接地減輕醫療工作的負擔[9~11]。通過醫學圖片的人工智能深度學習可協助診斷,如Campanella等[12]開發了多層面的人工智能決策支持系統,對共15187例癌癥患者包括44732張病理切片進行了測試,診斷準確性的曲線下面積達0.98,預計能減少70%病理醫生的工作量。通過病歷文本的自然語言處理可協助腫瘤分期,如Nguyen等[5]使用基于規則的符號分類從718例肺癌的自由文本病理報告中實現對肺癌自動分期,準確性可達到80%左右。在泌尿腫瘤方面,Schroeck等[13]報道了從600份膀胱癌病理報告中提取信息的基于規則方法的準確性在68%~98%。Odisho等[14]開發了一種對前列腺癌病理報告和臨床指標的識別算法,準確性為94.8%~100%。而缺乏腎癌的自然語言文本處理的相關研究報道。
本研究利用自然語言方法對腎癌的病理報告進行了提取分析,首先收集2018年1月~2020年1月200例腎癌病理報告作為訓練組,既往2015年1月~2017年12月年齡、性別、病理分期匹配的200例腎癌病理報告作為測試組,然后分別使用基于規則模板匹配和基于條件隨機場兩種方法預測腎癌的T分期,結果顯示,兩者在測試組的正確率分別為99.0% 和95.5%(P=0.032)。在測試組的方法性能評估中,對于規則匹配方法的準確度為99.0%,召回率為99.0%,F1-分數為99.0%;對于條件隨機場方法的準確度97.1%,召回率為95.5%,F1-分數為96.3%。從以上結果的準確性來看,兩種不同的自然語言處理方法均是可行的,使用規則匹配的方法可能略好。但筆者發現規則匹配的方法雖然實現了關鍵信息的提取,如作為處理更大的數據集或更換癌種后,可能需要設計更復雜的規則模板,而基于條件的隨機場法可自主學習標注陳述的關鍵信息,可能在大數據上具有較好的適應性優勢。
筆者對在本研究中預測錯誤的病理報告也進行了分析,錯誤的識別主要源自病理報告內容不完整,在按照規則流程進行分期時,因缺乏識別域和值導致識別錯誤,如病理報告中未描述腫瘤直徑,則識別為Tx。因此,筆者認為完整的病理報告是提高準確程度的必要因素,這樣也有利于規范病理醫生的報告書寫,根據病理報告識別內容可形成病理報告書寫統一規范,適合在基層推廣,提高基層醫療水平。另外,根據本研究結果可開發相應的軟件系統,協助病理醫生進行分期,大大減少病理醫生的工作量。
本研究存在一定的局限性:(1)研究來自單中心的病例,病理報告書寫規范比較統一,仍需與其他機構合作進行完善識別工作。(2)本研究入組病例數量有限,準確度可能有偏差,需進一步收集大樣本量的病理資料去驗證。(3)本研究僅為單個癌種的識別算法,對其他癌種并不適用,筆者將在下一步利用本體語言去擴大適用范圍。
綜上所述,使用自然語言處理通過病理報告診斷腎癌病理T分期是可行的方法,基于規則匹配的算法具有較高準確度。但這些研究結果有待下一步多中心、大樣本量的數據去證實。國內外尚無腎癌病理報告人工智能識別自動診斷T分期的報道,本研究可作為未來研究的初步參考。