溫 力 江衛(wèi)星 孫豐龍 畢新剛 壽建忠 馬建輝
人工智能是模擬人類智能的一種算法過程,隨著科技的進(jìn)步和發(fā)展,人工智能在醫(yī)學(xué)中的研究正蓬勃發(fā)展[1, 2]。自然語言處理(natural language processing, NLP)作為人工智能的一個分支領(lǐng)域,是將語言轉(zhuǎn)換為計算表達(dá)的形式,可作為工具用于處理腫瘤診療信息,特別是在提取臨床電子病歷(electronic medical records, EMR)文本數(shù)據(jù)中發(fā)揮了重要作用[3]。基于NLP構(gòu)建自由文本挖掘算法去進(jìn)一步挖掘腫瘤臨床信息是十分有前景的新方法,比如提取腫瘤的分期、分級等數(shù)據(jù)[4]。在臨床工作中,惡性腫瘤的分期是預(yù)后評估和制定治療計劃的重要程序之一,美國癌癥聯(lián)合委員會(American Joint Committee on Cancer,AJCC)制定的TNM分期是最常用的癌癥分期系統(tǒng)。腎癌作為泌尿系統(tǒng)常見的惡性腫瘤,其分期依據(jù)主要包括原發(fā)腫瘤直徑、腎周脂肪、腎盂、靜脈瘤栓、區(qū)域淋巴結(jié)侵犯以及遠(yuǎn)處轉(zhuǎn)移。這些臨床資料大部分能從病理報告中獲得,而病理報告是傳達(dá)腫瘤分期的黃金標(biāo)準(zhǔn),可以以自由文本形式存儲,有研究者基于NLP建立了肺癌英文的T分期算法[5]。本研究利用NLP作為工具對筆者醫(yī)院收治的腎癌患者臨床電子病歷數(shù)據(jù)進(jìn)行人工智能自然語言處理分析,提出一種可自動診斷腎癌T分期的算法,以進(jìn)一步協(xié)助病理醫(yī)生進(jìn)行病理診斷。
1.臨床資料收集:收集2018年1月~2020年1月因腎癌于國家癌癥中心、國家腫瘤臨床醫(yī)學(xué)研究中心、中國醫(yī)學(xué)科學(xué)院/北京協(xié)和醫(yī)學(xué)院腫瘤醫(yī)院行手術(shù)治療的200例腎癌患者作為訓(xùn)練組,并選取2015年1月~2017年12月性別、年齡以及病理分期匹配的200例因腎癌行手術(shù)患者作為測試組。病理結(jié)果均以自由文本報告的形式存儲在臨床診療信息系統(tǒng)中,每份報告由幾個結(jié)構(gòu)部分組成,包括腫瘤切除部位、性質(zhì)、分級、腫瘤直徑、侵犯范圍等。所有患者均有完整的病理診斷和病理分期。
3.概念框架:研究框架設(shè)計如圖1所示,將數(shù)字化腎癌病理報告作為輸入,針對腎癌T分期組成的各個要素,病理醫(yī)生使用訓(xùn)練組為各分期要素創(chuàng)建一組同義詞及其詞綴,即表1中的關(guān)鍵詞,同時將分期要素定義為識別域及其值,如“腎周脂肪”為識別域,則“累及”和“未累及”為值。開發(fā)基于規(guī)則模板匹配和基于條件隨機場的兩種信息抽取算法。通過圖2所示流程依據(jù)抽取的信息獲得腎癌病理T分期的預(yù)測結(jié)果,并且在測試組數(shù)據(jù)上計算預(yù)測準(zhǔn)確性,作為分期預(yù)測模型性能的整體評估。
圖1 基于NLP的中文病理報告處理框架及在病理T分期預(yù)測中的應(yīng)用
表1 腎癌病理報告中識別域?qū)?yīng)的關(guān)鍵詞和值提取規(guī)則
圖2 基于識別域值提取的腎癌病理T分期預(yù)測流程圖
4.基于規(guī)則模板匹配的方法:算法分為4個部分,包括預(yù)處理、文本分割、關(guān)鍵詞識別和值提取。首先,在預(yù)處理中統(tǒng)一標(biāo)點符號,將英文的逗號、分號、句號和括號轉(zhuǎn)化為相應(yīng)的中文符號。然后,根據(jù)中文書寫習(xí)慣,以逗號、分號和句號作為分界符號,將預(yù)處理后的文本分割為一些小片段。接著,針對每個關(guān)鍵詞,通過字符串匹配定位出與它相關(guān)的文本小片段。最后,對訓(xùn)練組數(shù)據(jù)中定位出來的文本小片段總結(jié)出規(guī)則模板,設(shè)計正則表達(dá)式進(jìn)行規(guī)則匹配,提取每個識別域?qū)?yīng)的值。信息抽取及T分期預(yù)測過程示例如圖3所示。
圖3 腎癌病理報告病理T分期關(guān)鍵信息抽取示例
具體建立規(guī)則模板的過程如下:針對提取出來的包含關(guān)鍵詞的文本小片段,定位一些規(guī)律性的表達(dá),例如,腫瘤直徑的文字描述一般是關(guān)鍵詞“腫瘤大小”,“最大徑”或者“腫瘤”后面加上相應(yīng)的數(shù)值表達(dá)式;腫瘤累及部位的文字描述一般為具體部位前面或者后面加上特定的描述詞如“累及”、“侵犯”、“見癌”、“瘤栓”等;而關(guān)于腫瘤未累及部位的文字描述,則是在特定描述上再添加否定詞如“未”。筆者研究使用python正則表達(dá)式設(shè)計以下提供進(jìn)行匹配的規(guī)則模板:(R1)關(guān)鍵詞+數(shù)值,例如:最大徑2.5cm;(R2)特定描述+關(guān)鍵詞,例如:侵犯腎上腺;(R3)關(guān)鍵詞+特定描述,例如:腎靜脈瘤栓。對腫瘤累及部位的描述中如出現(xiàn)否定詞則排除,并在正則表達(dá)式中體現(xiàn)。
5.基于條件隨機場的方法:對照著基于規(guī)則模板匹配的方法,用條件隨機場替代文本分割部分和值提取中的語義識別部分。先是預(yù)處理統(tǒng)一標(biāo)點符號,然后使用開源軟件brat標(biāo)注出病理報告中對于判斷腎癌病理T分期有用的陳述信息:(1)大小陳述,如“腫瘤最大徑6.5cm”。(2)累及陳述,如“腎門處可見血管侵犯,形成瘤栓”。(3)未累及陳述,如“未累及腎周脂肪、腎竇脂肪及腎盂”,詳見圖4。類似于命名實體識別,再使用“BMEO” 用于定義每個有用陳述信息的邊界。其中“B”代表起始字符,“E”代表結(jié)束字符,“M”是中間字符,“O”代表其他無關(guān)字符。同時,在邊界信息后面加上陳述類型,所以一個字符完整的標(biāo)注形如“B-大小陳述”或者“O”。模型在預(yù)測的時候,將預(yù)測為同一類陳述的“B”,緊隨其后的一系列“M”以及之后的“E”的字符進(jìn)行連續(xù)組合即為所提取的陳述。
圖4 條件隨機場方法標(biāo)注示例
在對訓(xùn)練組完成標(biāo)注后,研究使用sklearn_crfsuite=0.3.6中的條件隨機場進(jìn)行訓(xùn)練得到模型,用模型對測試組中數(shù)據(jù)進(jìn)行預(yù)測,提取出有用陳述。在條件隨機場提取出有用陳述之后,依據(jù)陳述的類別信息,通過簡單的數(shù)字提取和關(guān)鍵詞搜索就可以得到腫瘤直徑及累及部位信息,從而完成值提取過程。
6.腎癌T分期預(yù)測效能評估:在測試組上,基于不同的信息抽取值算法及流程圖2可以得到病理T分期的預(yù)測值,通過與金標(biāo)準(zhǔn)比較,計算整體的準(zhǔn)確率(precision)、召回率(recall)、F1-分?jǐn)?shù)(F1-score)以及正確率(accuracy)[7]。其中正確率,即預(yù)測正確的數(shù)目與全部病例數(shù)目之比。對于準(zhǔn)確率、召回率和F1-分?jǐn)?shù),設(shè)FP為假陽數(shù)目,TP為真陽數(shù)目,FN為假陰數(shù)目,TN為真陰數(shù)目,則
因為研究的問題為多分類問題,而且類別不平衡,所以針對每一個類別計算出對應(yīng)的準(zhǔn)確率(記為Precisioni)、召回率(記為Recalli)和F1-分?jǐn)?shù)(記為F1-scorei)后,再根據(jù)各類樣本比例配置權(quán)重得到加權(quán)平均值,作為總的準(zhǔn)確率、召回率和F1-分?jǐn)?shù),即
1.腎癌手術(shù)患者的臨床病理特征:本研究共400例患者,其中男性287例,女性113例;患者年齡25~80歲,中位年齡62歲;腫瘤直徑為6.1±2.3cm。透明細(xì)胞癌356例,乳頭狀細(xì)胞癌22例,嫌色細(xì)胞癌13例,其他病理類型包括MIT家族轉(zhuǎn)位性腎癌、集合管癌等共9例。根據(jù)TNM分期標(biāo)準(zhǔn),pT1a期252例,pT1b期69例,pT2a期10例,pT2b期4例,pT3a期59例,pT3b期2例,pT4期4例 (表2)。
表2 400例患者一般臨床資料
2.測試組結(jié)果分析:根據(jù)測試組200例患者效能評估結(jié)果,基于規(guī)則模板匹配方法準(zhǔn)確率為99.0%,召回率為99.0%,F1-分?jǐn)?shù)為99.0%,正確率為99.0%;而基于條件隨機場方法,準(zhǔn)確率為97.1%,召回率為95.5%,F1-分?jǐn)?shù)為96.3%,正確率為95.5%(表3)。前者正確率高于后者(99.0% vs 95.5%,χ2=4.581,P=0.032)。
表3 腎癌病理報告T分期預(yù)測結(jié)果(%)
筆者之前總結(jié)了國內(nèi)外人工智能診斷腎細(xì)胞癌的現(xiàn)狀,關(guān)于人工智能在腎細(xì)胞癌中的研究和應(yīng)用目前尚處于起步階段,主要集中在影像學(xué),而病理研究較少報道[8]。本研究對腎癌病理報告利用人工智能自然語言處理方法進(jìn)行識別和分析,提出可自動診斷腎癌T分期的算法,從而降低病理醫(yī)生負(fù)荷,提高臨床工作效率。
近年來,越來越多的研究證實人工智能在醫(yī)學(xué)研究中展現(xiàn)出了巨大的優(yōu)勢,特別是在大數(shù)據(jù)的趨勢下,人工智能作為一種自動化的工具,在多個方面直接或者間接地減輕醫(yī)療工作的負(fù)擔(dān)[9~11]。通過醫(yī)學(xué)圖片的人工智能深度學(xué)習(xí)可協(xié)助診斷,如Campanella等[12]開發(fā)了多層面的人工智能決策支持系統(tǒng),對共15187例癌癥患者包括44732張病理切片進(jìn)行了測試,診斷準(zhǔn)確性的曲線下面積達(dá)0.98,預(yù)計能減少70%病理醫(yī)生的工作量。通過病歷文本的自然語言處理可協(xié)助腫瘤分期,如Nguyen等[5]使用基于規(guī)則的符號分類從718例肺癌的自由文本病理報告中實現(xiàn)對肺癌自動分期,準(zhǔn)確性可達(dá)到80%左右。在泌尿腫瘤方面,Schroeck等[13]報道了從600份膀胱癌病理報告中提取信息的基于規(guī)則方法的準(zhǔn)確性在68%~98%。Odisho等[14]開發(fā)了一種對前列腺癌病理報告和臨床指標(biāo)的識別算法,準(zhǔn)確性為94.8%~100%。而缺乏腎癌的自然語言文本處理的相關(guān)研究報道。
本研究利用自然語言方法對腎癌的病理報告進(jìn)行了提取分析,首先收集2018年1月~2020年1月200例腎癌病理報告作為訓(xùn)練組,既往2015年1月~2017年12月年齡、性別、病理分期匹配的200例腎癌病理報告作為測試組,然后分別使用基于規(guī)則模板匹配和基于條件隨機場兩種方法預(yù)測腎癌的T分期,結(jié)果顯示,兩者在測試組的正確率分別為99.0% 和95.5%(P=0.032)。在測試組的方法性能評估中,對于規(guī)則匹配方法的準(zhǔn)確度為99.0%,召回率為99.0%,F1-分?jǐn)?shù)為99.0%;對于條件隨機場方法的準(zhǔn)確度97.1%,召回率為95.5%,F1-分?jǐn)?shù)為96.3%。從以上結(jié)果的準(zhǔn)確性來看,兩種不同的自然語言處理方法均是可行的,使用規(guī)則匹配的方法可能略好。但筆者發(fā)現(xiàn)規(guī)則匹配的方法雖然實現(xiàn)了關(guān)鍵信息的提取,如作為處理更大的數(shù)據(jù)集或更換癌種后,可能需要設(shè)計更復(fù)雜的規(guī)則模板,而基于條件的隨機場法可自主學(xué)習(xí)標(biāo)注陳述的關(guān)鍵信息,可能在大數(shù)據(jù)上具有較好的適應(yīng)性優(yōu)勢。
筆者對在本研究中預(yù)測錯誤的病理報告也進(jìn)行了分析,錯誤的識別主要源自病理報告內(nèi)容不完整,在按照規(guī)則流程進(jìn)行分期時,因缺乏識別域和值導(dǎo)致識別錯誤,如病理報告中未描述腫瘤直徑,則識別為Tx。因此,筆者認(rèn)為完整的病理報告是提高準(zhǔn)確程度的必要因素,這樣也有利于規(guī)范病理醫(yī)生的報告書寫,根據(jù)病理報告識別內(nèi)容可形成病理報告書寫統(tǒng)一規(guī)范,適合在基層推廣,提高基層醫(yī)療水平。另外,根據(jù)本研究結(jié)果可開發(fā)相應(yīng)的軟件系統(tǒng),協(xié)助病理醫(yī)生進(jìn)行分期,大大減少病理醫(yī)生的工作量。
本研究存在一定的局限性:(1)研究來自單中心的病例,病理報告書寫規(guī)范比較統(tǒng)一,仍需與其他機構(gòu)合作進(jìn)行完善識別工作。(2)本研究入組病例數(shù)量有限,準(zhǔn)確度可能有偏差,需進(jìn)一步收集大樣本量的病理資料去驗證。(3)本研究僅為單個癌種的識別算法,對其他癌種并不適用,筆者將在下一步利用本體語言去擴(kuò)大適用范圍。
綜上所述,使用自然語言處理通過病理報告診斷腎癌病理T分期是可行的方法,基于規(guī)則匹配的算法具有較高準(zhǔn)確度。但這些研究結(jié)果有待下一步多中心、大樣本量的數(shù)據(jù)去證實。國內(nèi)外尚無腎癌病理報告人工智能識別自動診斷T分期的報道,本研究可作為未來研究的初步參考。