本發(fā)明涉及醫(yī)學、計算機應用
技術領域:
,特別涉及一種使用語義識別進行自動化疾病編碼轉(zhuǎn)換的方法。
背景技術:
:國際疾病分類(internationalClassificationofdiseases,ICD),是依據(jù)疾病的某些特征,按照規(guī)則將疾病分門別類,并用編碼的方法來表示的系統(tǒng)。是記錄診斷信息的載體,是開展醫(yī)療數(shù)據(jù)分析、疾病診斷分組以及績效評價、醫(yī)??刭M的基礎。在醫(yī)療機構(gòu)實踐中,各地基于疾病特點對編碼進行了不同細化(ICD-10臨床版),且不同醫(yī)院對相同疾病診斷的描述不同。例如,GB-ICD-10中的“瞼痙攣”與BJ-ICD-10中的“眼瞼痙攣”診斷意義相同,前者編碼為“G24.500”,而后者編碼為“G24.501”。由此出現(xiàn)了多個版本不統(tǒng)一問題,嚴重影響著醫(yī)療數(shù)據(jù)的挖掘應用。現(xiàn)有技術中解決此類編碼匹配問題方案,主要依靠文字完全匹配或者人工識別。前種方法遇到文字微小偏差即無法識別,而后種方法工作量大,對人員能力素質(zhì)要求高,難以確保轉(zhuǎn)換準確。技術實現(xiàn)要素:本發(fā)明的目的旨在至少解決所述技術缺陷之一。為此,本發(fā)明的目的在于提出一種使用語義識別進行自動化疾病編碼轉(zhuǎn)換的方法。為了實現(xiàn)上述目的,本發(fā)明的實施例提供一種使用語義識別進行自動化疾病編碼轉(zhuǎn)換的方法,包括:步驟S1,采集原始編碼和診斷描述的對應關系的樣本數(shù)據(jù)集,分別建立編碼歷史庫和診斷文字歷史庫;采集所有標準編碼和診斷描述形成訓練集,分別建立編碼訓練集和診斷文字訓練集;將需要進行轉(zhuǎn)換的診斷描述形成測試集,分別建立編碼測試集和診斷文字測試集;步驟S2,對所述診斷文字歷史庫中的數(shù)據(jù)按照醫(yī)學規(guī)則進行預處理,并對處理后的數(shù)據(jù)按照漢語規(guī)則進行分詞操作;步驟S3,對所述診斷文字訓練集中的數(shù)據(jù)建立同義詞詞庫,并按照醫(yī)學規(guī)則進行處理,并對處理后的數(shù)據(jù)按照漢語規(guī)則進行分詞操作;步驟S4,分詞操作后,將診斷文字歷史庫、診斷文字訓練集中所涉及到不重復詞匯制作為一個詞包,并計算診斷文字歷史庫的詞包中每個詞對應的IDF權(quán)重值;步驟S5,將診斷文字訓練集中每條診斷文字記錄中所有詞,進行分詞操作,并計算每個診斷文字記錄對應的詞向量,再將診斷文字記錄對應的詞向量整合在一起并作為由文字轉(zhuǎn)換而成得訓練集TF-IDF矩陣;步驟S6,讀入要轉(zhuǎn)換的文字進行分詞,取出診斷文字歷史庫的詞包中出現(xiàn)的次數(shù),并提取對應詞的IDF權(quán)重值,轉(zhuǎn)換為TF-IDF矩陣,將所有含有待轉(zhuǎn)換編碼文字的編碼對應的TF-IDF矩陣篩選出來,生出初步篩選后的訓練集TF-IDF矩陣,提取所述編碼測試集,提取前N位值,并從所述初步篩選后的訓練集TF-IDF矩陣中進一步篩選所述編碼訓練集前N位與所述編碼測試集前N位相同的矩陣,作為篩選后的訓練集TF-IDF矩陣;步驟S7,將診斷文字測試集記錄分詞后匹配診斷以形成詞向量,與所有篩選后的記錄按照下面公式計算相似度simij,并返回相似度最大值對應的疾病編碼,其中,表示第i個預測集病例描述轉(zhuǎn)化后的詞向量,表示第j個訓練集病例描述轉(zhuǎn)化后的詞向量;步驟S8,將最終編碼結(jié)果發(fā)送給醫(yī)學專家端進審核,根據(jù)醫(yī)學專家反饋,以優(yōu)化轉(zhuǎn)換效果。進一步,在所述步驟S2和S3中,對診斷文字歷史庫和診斷文字訓練集中的數(shù)據(jù)按照醫(yī)學規(guī)則進行處理之前,還包括如下步驟:對數(shù)據(jù)進行去掉停用詞處理。進一步,在所述步驟S4中,所述每個詞對應的文檔IDF權(quán)重值IDF第i個詞為:其中,i為分詞編號。進一步,在所述步驟S5中,所述計算第j個病例描述每i個詞的權(quán)重值TF-IDF,對每一個編碼對應詞計算下去,并形成TF-IDF矩陣,其中,i為分詞編號,j為病例編號。進一步,在所述步驟S6中,N取5,其中,前N位值包括小數(shù)點在內(nèi)。根據(jù)本發(fā)明實施例的使用語義識別進行自動化疾病編碼轉(zhuǎn)換的方法,根據(jù)醫(yī)生對病人寫的主要診斷文字描述,自動對文字描述所代表的編碼進行轉(zhuǎn)換。具體地是通過獲取一段時期內(nèi)疾病分類編碼和對應文字的樣本數(shù)據(jù)集,然后將要轉(zhuǎn)換目標編碼及其文字,使用機器學習的方法,訓練出使用診斷文字進行轉(zhuǎn)換的轉(zhuǎn)換器。當需要對新來的文字診斷進行編碼轉(zhuǎn)換時,使用這一轉(zhuǎn)換器,即可輸出預測的標準的疾病編碼。本發(fā)明在ICD編碼識別轉(zhuǎn)換中創(chuàng)新應用了自然語言識別(NLP)技術,利用TF-IDF、余弦相似性等算法,實現(xiàn)了不同ICD(國際疾病分類)編碼版本間自動轉(zhuǎn)換,大大提升了編碼轉(zhuǎn)換的效率和準確性,為醫(yī)療數(shù)據(jù)應用(如醫(yī)學研究、疾病控費管理)奠定了基礎。本發(fā)明附加的方面和優(yōu)點將在下面的描述中部分給出,部分將從下面的描述中變得明顯,或通過本發(fā)明的實踐了解到。附圖說明本發(fā)明的上述和/或附加的方面和優(yōu)點從結(jié)合下面附圖對實施例的描述中將變得明顯和容易理解,其中:圖1為根據(jù)本發(fā)明實施例的使用語義識別進行自動化疾病編碼轉(zhuǎn)換的方法的流程圖;圖2為根據(jù)本發(fā)明實施例的使用語義識別進行自動化疾病編碼轉(zhuǎn)換的方法的示意圖。具體實施方式下面詳細描述本發(fā)明的實施例,所述實施例的示例在附圖中示出,其中自始至終相同或類似的標號表示相同或類似的元件或具有相同或類似功能的元件。下面通過參考附圖描述的實施例是示例性的,旨在用于解釋本發(fā)明,而不能理解為對本發(fā)明的限制。本發(fā)明提出了一種使用語義識別進行自動化疾病編碼轉(zhuǎn)換的系統(tǒng),可以根據(jù)醫(yī)生主診斷文字說明進行機器語義識別轉(zhuǎn)換。如圖1和圖2所示,本發(fā)明實施例的使用語義識別進行自動化疾病編碼轉(zhuǎn)換的方法,包括如下步驟:步驟S1,采集原始編碼和診斷描述的對應關系的樣本數(shù)據(jù)集,分別建立編碼歷史庫和診斷文字歷史庫。具體地,采集某地區(qū)近三年所有原始編碼和診斷描述的對應關系的樣本數(shù)據(jù)集,將原始編碼部分記為歷史庫編碼,原始診斷描述記為歷史庫診斷文字。采集所有標準編碼和診斷描述形成訓練集,分別建立編碼訓練集和診斷文字訓練集。具體地,采集所有標準編碼和診斷描述形成訓練集,將訓練集中編碼部分記為訓練集編碼,訓練集診斷描述記為訓練集診斷文字。將需要進行轉(zhuǎn)換的診斷描述形成測試集,分別建立編碼測試集和診斷文字測試集。具體地,將需要進行轉(zhuǎn)換的診斷描述形成測試集,測試集中編碼部分記為測試集編碼,訓練集診斷描述記為測試集診斷文字;步驟S2,對診斷文字歷史庫中的數(shù)據(jù)按照醫(yī)學規(guī)則進行預處理,并對處理后的數(shù)據(jù)按照漢語規(guī)則進行分詞操作;具體地,將歷史庫診斷文字進行去掉停用詞,然后,按照醫(yī)學規(guī)則預處理數(shù)據(jù),將處理好的歷史庫診斷文字數(shù)據(jù)按照漢語規(guī)則進行分詞操作。步驟S3,對診斷文字訓練集中的數(shù)據(jù)建立同義詞詞庫,并按照醫(yī)學規(guī)則進行處理,并對處理后的數(shù)據(jù)按照漢語規(guī)則進行分詞操作。具體地,將診斷文字訓練集進行增加同義詞詞表,并重復上述對歷史庫診斷文字的同樣處理操作,對數(shù)據(jù)進行去掉停用詞處理,按照醫(yī)學規(guī)則進行處理,并對處理后的數(shù)據(jù)按照漢語規(guī)則進行分詞操作。步驟S4,分詞操作后,將診斷文字歷史庫、診斷文字訓練集中所涉及到不重復詞匯制作為一個詞包,并計算診斷文字歷史庫的詞包中每個詞對應的文檔IDF權(quán)重值。在本步驟中,每個詞對應的文檔IDF權(quán)重值IDF第i個詞為:其中,i為分詞編號。步驟S5,將診斷文字訓練集中每條診斷文字記錄中所有詞,進行分詞操作,并計算每個診斷文字記錄對應的詞向量,再將診斷文字記錄對應的詞向量整合在一起并作為由文字轉(zhuǎn)換成的訓練集TF-IDF矩陣。具體地,計算第j個病例描述每i個詞的權(quán)重值TF-IDF,對每一個編碼對應詞計算下去,并形成TF-IDF矩陣,其中,i為分詞編號,j為病例編號。步驟S6,讀入要轉(zhuǎn)換的文字進行分詞,取出診斷文字歷史庫的詞包中出現(xiàn)的次,并提取對應詞的IDF權(quán)重值,轉(zhuǎn)換為TF-IDF矩陣,將所有含有待轉(zhuǎn)換編碼文字的編碼對應的TF-IDF矩陣篩選出來,以便加快計算速度,生出初步篩選后的訓練集TF-IDF矩陣,提取編碼測試集,提取前N位值。優(yōu)選的,N取5,其中,前N位值包括小數(shù)點在內(nèi)。然后,從初步篩選后的訓練集TF-IDF矩陣中進一步篩選編碼訓練集前N位與編碼測試集前N位相同的矩陣,作為篩選后的訓練集TF-IDF矩陣。即,提取測試集編碼,取其前五位值(包含小數(shù)點),在S5的基礎上進一步篩選訓練集編碼前五位與測試集編碼前五位相同的矩陣。步驟S7,將診斷文字測試集記錄分詞后匹配診斷以形成詞向量,與所有篩選后的記錄按照下面公式計算相似度simij,并返回相似度最大值對應的疾病編碼,其中,表示第i個預測集病例描述轉(zhuǎn)化后的詞向量,表示第j個訓練集病例描述轉(zhuǎn)化后的詞向量。步驟S8,將最終編碼結(jié)果發(fā)送給專家端進審核,直至審核通過。將測試數(shù)據(jù)匹配訓練庫的結(jié)果交由醫(yī)療編碼專家審閱,將其中有明顯問題的數(shù)據(jù),修正后,加入訓練集,重復步驟S2至S7,進而不斷優(yōu)化編碼轉(zhuǎn)換器的轉(zhuǎn)換效果,提高工作的準確性。下面對本發(fā)明實施例的使用語義識別進行自動化疾病編碼轉(zhuǎn)換的系統(tǒng),進行舉例說明。(1)采集某地區(qū)醫(yī)院歷史病例描述。表1為病例歷史記錄數(shù)據(jù)集。為了描述方便,表1中僅列出十九條病例。歷史病例庫對于疾病編碼準確性無準確性要求,只需要收集歷史中出現(xiàn)疾病情況即可。JBDMZYZDA00.000古典生物型霍亂A00.001古典生物型霍亂。A00.101埃爾托生物型霍亂A00.901霍亂A00.902霍亂輕型A00.903霍亂中型A00.904霍亂重型A00.905霍亂暴發(fā)型A01.000傷寒A01.000傷寒?A01.001傷寒A01.001+傷寒性肝炎A01.002傷寒桿菌敗血癥A01.003+G01*傷寒并發(fā)腦膜炎A01.004傷寒復發(fā)A01.005傷寒并發(fā)肺炎A01.005+J17.0*傷寒并發(fā)肺炎A01.006傷寒遷延型A01.007傷寒逍遙型表1(2)對歷史數(shù)據(jù)文字進行分詞操作,去掉停用詞(如“和”、“的”),將分詞后所有剩下的不重復詞匯匯總成一張總表,也就是“詞包”。表2為病例歷史記錄分詞后數(shù)據(jù)集。JBDMZYZDA00.000[古典,生物,型,霍亂]A00.001[古典,生物,型,霍亂]A00.101[埃爾托,生物,型,霍亂]A00.901[霍亂]A00.902[霍亂,輕型]A00.903[霍亂,中型]A00.904[霍亂,重型]A00.905[霍亂,暴發(fā)型]A01.000[傷寒]A01.000[傷寒]A01.001[傷寒]A01.001+[傷寒,性,肝炎]A01.002[傷寒桿菌,敗血癥]A01.003+G01*[傷寒,并發(fā),腦膜炎]A01.004[傷寒,復發(fā)]A01.005[傷寒,并發(fā),肺炎]A01.005+J17.0*[傷寒,并發(fā),肺炎]A01.006[傷寒,遷延,型]A01.007[傷寒,逍遙,型]表2匯總后去除重復項后得到的詞包為:腦膜炎,逍遙,敗血癥,型,艾爾托,中型,霍亂,古典,肺炎,傷寒桿菌,重型,暴發(fā)型,并發(fā),復發(fā),性肝炎,生物,遷延,輕型,傷寒。(3)計算歷史詞庫中每一個詞出現(xiàn)的權(quán)值IDF,計算公式是:按照公式,如“腦膜炎”這個詞,在19個病例中出現(xiàn)了1次,則其對應的IDF值為log(1/19)=-2.9444。表3中各詞的IDF值均是由此項公式計算而得。詞IDF腦膜炎-2.94444逍遙-2.94444敗血癥-2.94444型-1.335埃爾托-2.94444中型-2.94444霍亂-0.865古典-2.25129肺炎-2.25129傷寒桿菌-2.94444重型-2.94444暴發(fā)型-2.94444并發(fā)-1.84583復發(fā)-2.94444性肝炎-2.94444生物-1.84583遷延-2.94444輕型-2.94444傷寒-0.64185表3(4)將文字編碼對應準確(疾病分類編碼版本為IDC-10)的數(shù)據(jù)集作為訓練集,為了表示方便只顯示十五條,如下表4所示:表4(5)對標準訓練庫中詞進行同樣分詞處理,去掉停用詞(如“的”、“和”等),如表5所示:JBDMZYZDA00.001[古典,生物,霍亂,型]A00.101[埃爾托,生物,霍亂,型]A00.901[霍亂]A00.902[霍亂,輕型]A00.903[霍亂,中型]A00.904[霍亂,重型]A00.905[霍亂,暴發(fā)型]A01.001[傷寒]A01.002[傷寒桿菌,敗血癥]A01.003[傷寒,并發(fā),腦膜炎]A01.004[傷寒,復發(fā)]A01.005+J17.0*[傷寒,并發(fā),肺炎]A01.006[傷寒,遷延]A01.007[傷寒,逍遙]A01.008[傷寒,并發(fā),腹膜炎]表5(6)將訓練庫中按照每一條記錄中所有詞按照此公式轉(zhuǎn)換成TF-IDF權(quán)重值,最終將疾病編碼-詞由文字轉(zhuǎn)換成TF-IDF矩陣。如疾病代碼A00.001中,分詞結(jié)束后,有古典、生物、霍亂、型4個詞。古典在表3中對應的IDF值為-2.25129,A00.001中共有4個詞,則“古典”在A00.001中對應的值為-2.25129/4=-0.56282,同樣的,“型”在A00.001中對應值為-1.335/4=-0.33,“霍亂”對應值為-0.865/4=-0.22,“生物”對應值為-1.845/4=-0.45,然后把A00.001中其他詞對應值填為0。按照這種方法,對每一個編碼對應詞計算下去,最終可以得到由文字轉(zhuǎn)化而成的矩陣如表6所示。表6(7)讀入將要轉(zhuǎn)換的文字進行分詞,取出步驟三“詞包”中出現(xiàn)過的詞,然后提取對應詞的IDF值,然后將其轉(zhuǎn)換成如步驟(6)中的TF-IDF向量。如“霍亂,由于01群霍亂弧菌,埃爾托生物所致”,分詞后結(jié)果為“霍亂,由于,0,1,霍亂,弧菌,埃爾托,生物,所致”,篩選出詞包中出現(xiàn)過的詞:“霍亂,埃爾托,生物”。查詢他們對應的IDF值,由表3知,分別為:-0.865,-2.944,-1.845。由于分詞最終結(jié)束后此句話共有3個詞,需要對每個詞對應的值除以3。按照步驟三的順序,將各個詞對應的值按照字典表順序可得最終的TF-IDF詞向量為:[0,0,0,0,-0.98,0,-0.29,0,0,0,0,0,0,0,-0.61,0,0,0](8)將所有含有待轉(zhuǎn)換編碼文字的編碼對應的步驟(6)中的TF-IDF矩陣篩選出來。如“霍亂,由于01群霍亂弧菌,埃爾托生物型所致”,分詞后結(jié)果為:“霍亂,埃爾托,生物”,含有這三個詞中任意一個詞的訓練庫句子有古典生物型霍亂、埃爾托生物型霍亂、霍亂、霍亂輕型、霍亂中型、霍亂重型、霍亂暴發(fā)型。對應編碼分別為:A00.001、A00.101、A00.901、A00.902、A00.903、A00.904、A00.905。表7示出了篩選出的矩陣。表7(9)按照余弦相似度公式依次計算這句話和訓練庫中各病例相似程度,選擇相似度值最高的病例的疾病編碼作為最終轉(zhuǎn)換的ICD-10編碼。如“古典生物型霍亂”,古典生物型霍亂分詞結(jié)束后轉(zhuǎn)為“古典,生物,型,霍亂”,查詢表3后得到對應的詞向量為:[0,0,0,-0.33,0,0,-0.22,-0.56,0,0,0,0,0,0,0,-0.46,0,0,0]根據(jù)步驟(7):“霍亂,由于01群霍亂弧菌,埃爾托生物型所致”對應的詞向量為:[0,0,0,0,-0.98,0,-0.29,0,0,0,0,0,0,0,-0.61,0,0,0]按照相似度計算公式:分子為編號A00.001詞向量與待翻譯文字詞向量乘積,分母為各詞向量的長度乘積,計算值為:重復上述相似度計算操作,分別對剩下6個編碼對應的詞向量進行計算,最終分別計算出相似度結(jié)果如表8所示:預測相似度A00.0010.34891244A00.1010.93700953A00.9010.24185056A00.9020.06816853A00.9030.06816853A00.9040.06816853A00.9050.06816853表8最后返回相似度最高的預測編碼,也即“A00.101”。(10)為了進一步優(yōu)化計算效率,在讀取測試數(shù)據(jù)時,同時讀入待轉(zhuǎn)換編碼和待轉(zhuǎn)換文字,對編碼和標準訓練集編碼分別提取前五位數(shù)字,只有當待轉(zhuǎn)換編碼前五位與標準訓練集編碼前五位相同,才納入計算范圍。這樣同時考慮編碼文字相似性和編碼前五位值進行轉(zhuǎn)換編碼,可以極大優(yōu)化系統(tǒng)計算速度。參考表9,如步驟(7)中“霍亂,由于01群霍亂弧菌,埃爾托生物型所致”,其對應待轉(zhuǎn)換編碼為“A00.100”,編碼前五位為“A00.1”,標準訓練集編碼滿足前五位數(shù)值為“A00.1”的代碼只有“A00.101”,這樣即可在步驟(9)比較7次的基礎上,進一步縮小比較范圍達到僅需要比較1次的效果,并可以確定A00.101作為其轉(zhuǎn)換后的編碼。表9(11)以預測值為作為訓練集表和測試集表連表的標準,連接測試數(shù)據(jù)集和訓練集的文字。然后將此結(jié)果反饋給醫(yī)療專家,由專家指出系統(tǒng)預測正確與不足情況,重復步驟(1)至步驟(10)以便從準確度上進一步優(yōu)化本方案。如表10所示,左兩列數(shù)據(jù)為需要轉(zhuǎn)換編碼的數(shù)據(jù),有兩列數(shù)據(jù)為根據(jù)疾病編碼轉(zhuǎn)換系統(tǒng)得出的預測編碼及對應的文字描述。JBDMZYZDpredictiondescribeA00.000霍亂,由于01群霍亂弧菌,霍亂生物型所致A00.901霍亂A00.100霍亂,由于01群霍亂弧菌,埃爾托生物型所致A00.101埃爾托生物型霍亂A00.900霍亂A00.901霍亂A01.000傷寒A01.001傷寒A01.002+G01*傷寒性腦膜炎A01.003+G01*傷寒并發(fā)腦膜炎A01.003傷寒桿菌性敗血癥A01.002傷寒桿菌敗血癥表10根據(jù)本發(fā)明實施例的使用語義識別進行自動化疾病編碼轉(zhuǎn)換的方法,根據(jù)醫(yī)生對病人寫的主要診斷文字描述,自動對文字描述所代表的編碼進行轉(zhuǎn)換。具體地是通過獲取一段時期內(nèi)疾病分類編碼和對應文字的樣本數(shù)據(jù)集,然后將要轉(zhuǎn)換目標編碼及其文字,使用機器學習的方法,訓練出使用診斷文字進行轉(zhuǎn)換的轉(zhuǎn)換器。當需要對新來的文字診斷進行編碼轉(zhuǎn)換時,使用這一轉(zhuǎn)換器,即可輸出預測的標準的疾病編碼。本發(fā)明在ICD編碼識別轉(zhuǎn)換中創(chuàng)新應用了自然語言識別(NLP)技術,利用TF-IDF、余弦相似性等算法,實現(xiàn)了不同ICD(國際疾病分類)編碼版本間自動轉(zhuǎn)換,大大提升了編碼轉(zhuǎn)換的效率和準確性,為醫(yī)療數(shù)據(jù)應用(如醫(yī)學研究、疾病控費管理)奠定了基礎。在本說明書的描述中,參考術語“一個實施例”、“一些實施例”、“示例”、“具體示例”、或“一些示例”等的描述意指結(jié)合該實施例或示例描述的具體特征、結(jié)構(gòu)、材料或者特點包含于本發(fā)明的至少一個實施例或示例中。在本說明書中,對上述術語的示意性表述不一定指的是相同的實施例或示例。而且,描述的具體特征、結(jié)構(gòu)、材料或者特點可以在任何的一個或多個實施例或示例中以合適的方式結(jié)合。盡管上面已經(jīng)示出和描述了本發(fā)明的實施例,可以理解的是,上述實施例是示例性的,不能理解為對本發(fā)明的限制,本領域的普通技術人員在不脫離本發(fā)明的原理和宗旨的情況下在本發(fā)明的范圍內(nèi)可以對上述實施例進行變化、修改、替換和變型。本發(fā)明的范圍由所附權(quán)利要求及其等同限定。當前第1頁1 2 3