李文杰,王小冬,簡(jiǎn) 剛,唐武斌
(寧波市科技園區(qū)明天醫(yī)網(wǎng)科技有限公司 浙江 寧波 315000)
隨著醫(yī)院信息化建設(shè)的發(fā)展,醫(yī)技檢查報(bào)告也在由紙張化向電子化方向過渡,但是隨之帶來了報(bào)告中拼寫錯(cuò)誤檢查的問題。不同地區(qū)、醫(yī)院,報(bào)告系統(tǒng)中結(jié)構(gòu)化模板的存在著較大差異,醫(yī)生還需要手動(dòng)大量輸入檢查報(bào)告內(nèi)容,對(duì)報(bào)告內(nèi)容的準(zhǔn)確性進(jìn)行快速分析檢測(cè)成為了一個(gè)亟待解決的問題。
傳統(tǒng)用于醫(yī)學(xué)文本檢測(cè)的方法多是檢測(cè)文本中的錯(cuò)別字,沒有考慮到句子中的語(yǔ)序和詞語(yǔ)搭配的錯(cuò)誤。本文將深度學(xué)習(xí)領(lǐng)域中的RCNN(循環(huán)卷積神經(jīng)網(wǎng)絡(luò))文本分類模型應(yīng)用到了醫(yī)學(xué)影像診斷報(bào)告的檢查中來,將文本分類模型用來判斷分句的正誤,結(jié)合恰當(dāng)?shù)募m錯(cuò)策略篩選出錯(cuò)誤分句中的詞語(yǔ),并提示潛在可能的正確詞語(yǔ)。
本方法可以自動(dòng)檢測(cè)影像科醫(yī)生在評(píng)估病人病情時(shí)所寫的影像所見和影像診斷報(bào)告,快速定位到報(bào)告中的拼寫錯(cuò)誤、語(yǔ)序錯(cuò)誤或詞語(yǔ)搭配錯(cuò)誤的位置,并依據(jù)拼音和上下文詞語(yǔ)關(guān)聯(lián)提示可能替換的正確詞語(yǔ)。
深度學(xué)習(xí)火熱,各種網(wǎng)絡(luò)層出不窮,其中應(yīng)用于文本分類的模型也有多種。2014年,Kim[1]提出了一種將CNN應(yīng)用到英文文本分類中的方法,語(yǔ)料的最小粒度為單詞,取得了不錯(cuò)的效果。2015年,Zhang[2]等提出了一種基于字母粒度級(jí)別的CNN英文文本分類模型。同年,Lai[3]等提出了一種基于單詞粒度級(jí)別的RCNN的英文文本分類模型,效果顯著。2016年,Conneau[4]等將VDNN應(yīng)用到了文本分類,Zhou[5]等發(fā)表了基于注意力機(jī)制的BiLSTM應(yīng)用于文本分類的模型。經(jīng)過調(diào)研,本文借鑒了準(zhǔn)確率最高的Lai[3]等提出的RCNN模型,將這種模型結(jié)構(gòu)應(yīng)用到了糾錯(cuò)模型中,表1是幾種模型的文本分類效果測(cè)試對(duì)比。
表1 不同模型的文本分類準(zhǔn)確度對(duì)比(%)
通常報(bào)告中的錯(cuò)誤包括拼寫錯(cuò)誤、語(yǔ)序錯(cuò)誤和詞語(yǔ)搭配錯(cuò)誤,本方法對(duì)文本進(jìn)行糾錯(cuò)的過程如下。
首先通過導(dǎo)入了自定義醫(yī)學(xué)詞庫(kù)的jieba分詞方法分詞,使用詞語(yǔ)搜索詞庫(kù)依次對(duì)句子中的中文單詞進(jìn)行拼寫檢查,如果發(fā)現(xiàn)了潛在錯(cuò)誤單詞,標(biāo)注出來。然后,將文本通過句子分隔符號(hào)(如逗號(hào)、句號(hào)、感嘆號(hào)、問號(hào)等)分隔為一個(gè)個(gè)分句,通過訓(xùn)練的RCNN模型判斷每個(gè)分句的語(yǔ)序和詞組搭配正誤,篩選出來潛在的有問題的分句。接下來,通過詞組詞庫(kù)依次對(duì)有問題分句中相鄰的中文單詞詞組進(jìn)行檢查,對(duì)有問題的詞組進(jìn)行標(biāo)注。最后依據(jù)拼音詞庫(kù)和詞語(yǔ)關(guān)聯(lián)詞庫(kù)對(duì)標(biāo)注有問題的單詞給出一組替代的建議詞。
比如,對(duì)于樣本“兩肺門結(jié)構(gòu)清晰,其內(nèi)未見明顯腫大淋巴結(jié)影?!睉?yīng)用中文分詞方法jieba分詞后的結(jié)果為“兩肺門結(jié)構(gòu)清晰,其內(nèi)未見明顯腫大淋巴結(jié)影。”對(duì)其中的每個(gè)中文單詞依據(jù)詞語(yǔ)搜索詞庫(kù)對(duì)詞語(yǔ)拼寫進(jìn)行檢查,并標(biāo)記出有拼寫錯(cuò)誤的單詞。
然后,按照逗號(hào)和中文結(jié)束標(biāo)點(diǎn)符號(hào)分隔,兩個(gè)分句分別為“兩肺門結(jié)構(gòu)清晰”、“其內(nèi)未見明顯腫大淋巴結(jié)影”。通過編碼詞庫(kù)編碼后送入到模型中進(jìn)行檢測(cè),如果返回結(jié)果為正確,認(rèn)為兩句子的語(yǔ)序和詞語(yǔ)搭配均不存在問題。假如其中一個(gè)模型對(duì)第一個(gè)分句返回結(jié)果為錯(cuò)誤,依據(jù)詞組詞庫(kù)對(duì)分句中的詞語(yǔ)搭配進(jìn)行檢查,并標(biāo)記出來有問題的詞組。對(duì)標(biāo)記出來的錯(cuò)誤詞語(yǔ),依據(jù)拼音詞庫(kù)和詞語(yǔ)關(guān)聯(lián)詞庫(kù),給出一組可替代錯(cuò)誤分詞的建議詞,表2中給出了糾錯(cuò)樣例,下劃線是通過模型檢測(cè)出來的錯(cuò)誤。
采集網(wǎng)絡(luò)上的醫(yī)學(xué)詞庫(kù),加入到j(luò)ieba的自定義詞庫(kù)中,目的在于輔助對(duì)醫(yī)學(xué)上專業(yè)詞匯的分詞。
影像報(bào)告數(shù)據(jù)采集了16萬余條影像診斷報(bào)告數(shù)據(jù)。通過人工的審核,基本保證了所有數(shù)據(jù)的正確性。
通過導(dǎo)入了醫(yī)學(xué)詞典的jieba分詞將所有的影像報(bào)告數(shù)據(jù)進(jìn)行分詞,構(gòu)建出編碼詞庫(kù)DIC1、單詞搜索詞庫(kù)DIC2、詞組搜索詞庫(kù)DIC3、拼音詞庫(kù)DIC4和詞語(yǔ)關(guān)聯(lián)詞庫(kù)DIC5。DIC1是用來對(duì)分詞后詞語(yǔ)編碼,變成模型可以識(shí)別的格式;DIC2是用來檢測(cè)有拼寫錯(cuò)誤的單詞;DIC3是用來定為問題的分句的錯(cuò)誤單詞位置;DIC4和DIC5是用來對(duì)錯(cuò)誤詞語(yǔ)進(jìn)行提示的詞庫(kù)。
將jieba分詞后的影像報(bào)告,通過標(biāo)點(diǎn)符號(hào)分隔為一個(gè)個(gè)分句。原始的分句標(biāo)記為1,代表是正樣本,然后將分句中的單詞隨機(jī)打亂順序,標(biāo)記為0,代表是負(fù)樣本,這樣就構(gòu)建出了語(yǔ)序訓(xùn)練集。類似的,將分句中的單詞,通過隨機(jī)替換的方式,構(gòu)建出來詞語(yǔ)替換訓(xùn)練集。
表2 糾錯(cuò)樣例
本方法中的循環(huán)卷積神經(jīng)網(wǎng)絡(luò)RCNN是一種由RNN和CNN結(jié)合構(gòu)成的人工神經(jīng)網(wǎng)絡(luò),模型中的RNN(Recurrent Neural Network)結(jié)構(gòu)是一種層數(shù)為2層的雙向循環(huán)神經(jīng)網(wǎng)絡(luò),能夠最大程度的捕捉句子中的語(yǔ)義信息,然后引入了一個(gè)CNN中的最大池化層,捕獲文本中的關(guān)鍵字信息。通過結(jié)合循環(huán)結(jié)構(gòu)和最大池化層,模型同時(shí)利用了RNN和CNN的優(yōu)點(diǎn)。圖中展示了模型RCNN的結(jié)構(gòu),該模型能夠整合了一個(gè)單詞和它的上下文來表示這個(gè)單詞,能夠幫助我們獲得一個(gè)更精確的詞語(yǔ)含義,模型中使用了雙向RNN(循環(huán)神經(jīng)網(wǎng)絡(luò))結(jié)構(gòu)用來整合上下文。從卷積神經(jīng)網(wǎng)絡(luò)(CNN)的角度來看,我們之前描述的循環(huán)結(jié)構(gòu)是屬于卷積層,當(dāng)所有單詞的表示都被計(jì)算完畢,連接到一個(gè)最大池化層,最大池化層將不同長(zhǎng)度的文本轉(zhuǎn)化到固定長(zhǎng)度的向量,幫助我們抓取到了整段文本中的信息,最后傳入到了輸出層,關(guān)于網(wǎng)絡(luò)的詳細(xì)介紹見Lai[3]等的論文。
圖:循環(huán)卷積神經(jīng)網(wǎng)絡(luò)(RCNN)結(jié)構(gòu)示意圖[3],假定下角標(biāo)的數(shù)字代表分詞在原始分句中的位置。
通過語(yǔ)序訓(xùn)練集和詞語(yǔ)替換訓(xùn)練集分別訓(xùn)練得到語(yǔ)序糾錯(cuò)模型Model1和詞語(yǔ)搭配模型Model2。測(cè)試集事先隨機(jī)抽取出了10%,剩余的用于訓(xùn)練,訓(xùn)練過程中采用的訓(xùn)練集占和驗(yàn)證集的比例分別為85%和15%。
表3 訓(xùn)練結(jié)果(%)
為了讓模型對(duì)錯(cuò)誤更加敏感,構(gòu)建的語(yǔ)序數(shù)據(jù)集所采用的正負(fù)樣本比例為1:4,而詞語(yǔ)替換數(shù)據(jù)集中所采用的正負(fù)樣本比例為1:3。表3中顯示,通過語(yǔ)序訓(xùn)練集訓(xùn)練得到的模型Model1對(duì)語(yǔ)序的正誤識(shí)別的準(zhǔn)確率達(dá)到了99%以上,而通過詞語(yǔ)搭配訓(xùn)練集訓(xùn)練得到模型Model2對(duì)詞語(yǔ)替換句子正誤識(shí)別的準(zhǔn)確率達(dá)到了98%以上。本訓(xùn)練集、測(cè)試集和驗(yàn)證集中所采用的負(fù)樣本比例較高,如果換成正負(fù)樣本比例1:1的數(shù)據(jù)集,準(zhǔn)確率會(huì)有一定的降低。
本文提供了一種應(yīng)用于醫(yī)學(xué)影像診斷報(bào)告的智能糾錯(cuò)方法,包括詞庫(kù)構(gòu)建過程、模型構(gòu)建過程和智能糾錯(cuò)過程。本方法不僅能夠檢測(cè)常規(guī)的拼寫錯(cuò)誤,另外通過使用訓(xùn)練循環(huán)卷積神經(jīng)網(wǎng)絡(luò)得到的糾錯(cuò)模型,考慮了語(yǔ)序和詞語(yǔ)搭配,依據(jù)拼音詞庫(kù)和詞語(yǔ)關(guān)聯(lián)詞庫(kù),給出一組可替代錯(cuò)誤分詞的建議詞。