本發(fā)明屬于大數(shù)據(jù)醫(yī)療領(lǐng)域,具體涉及一種將體檢診斷數(shù)據(jù)轉(zhuǎn)化為疾病標(biāo)簽的方法。
背景技術(shù):
隨著人們生活水平的提高、保健意識的增強(qiáng),健康體檢逐漸成為一種社會時尚,人們已經(jīng)改變了只有在得病時才去醫(yī)院的傳統(tǒng)觀念,定期體檢已經(jīng)被大多數(shù)人所接受。因此,醫(yī)院積累了海量的電子體檢數(shù)據(jù)。然而,原生的電子體檢數(shù)據(jù)中,存在大量的非結(jié)構(gòu)化的文本體檢數(shù)據(jù)。這些文本數(shù)據(jù)往往無序雜亂冗余,出自各個水平各種習(xí)慣的醫(yī)生之手,有著很大的局限性,無法被很好的利用起來。
大數(shù)據(jù)醫(yī)療是當(dāng)前的一個熱點(diǎn),是指通過大數(shù)據(jù)相關(guān)技術(shù),分析醫(yī)療領(lǐng)域的數(shù)據(jù)并挖掘其中的知識從而大幅度提高醫(yī)療服務(wù)。在過去的幾十年中,大數(shù)據(jù)已經(jīng)深深地影響了每一個企業(yè),包括醫(yī)療保健行業(yè)。如今,大量的數(shù)據(jù)可以讓醫(yī)療保健更加高效,更加個性化。自然語言處理是大數(shù)據(jù)密切相關(guān)的技術(shù)。在大數(shù)據(jù)的輔助下,自然語言處理也依托于大數(shù)據(jù)有了更多的發(fā)展,出現(xiàn)了如word2vec、LDA等新技術(shù)。
目前,在每次體檢結(jié)束后,獲取的體檢診斷數(shù)據(jù)是有復(fù)雜形式的醫(yī)生診斷文本,并未將診斷結(jié)果轉(zhuǎn)換為概要的疾病名稱,難以被用戶快速理解并且難以被后續(xù)大數(shù)據(jù)醫(yī)療應(yīng)用用以分析醫(yī)療數(shù)據(jù)。因此,在可以獲得完整原始的體檢診斷數(shù)據(jù)的基礎(chǔ)上,提出對醫(yī)生診斷結(jié)果進(jìn)行分析的方法,進(jìn)而分類生成疾病類目樹并進(jìn)行數(shù)字編碼化,再在實(shí)際的數(shù)據(jù)上反饋出體檢診斷結(jié)果的疾病標(biāo)簽,是具有其切實(shí)的研究意義和應(yīng)用前景的。
技術(shù)實(shí)現(xiàn)要素:
鑒于上述,本發(fā)明提出了一種將體檢診斷數(shù)據(jù)轉(zhuǎn)化為疾病標(biāo)簽的方法,主要采用多種自然語言處理技術(shù)挖掘體檢診斷數(shù)據(jù)中疾病結(jié)果,提取其中疾病分類結(jié)構(gòu)并進(jìn)行編碼數(shù)字化,為體檢記錄提供標(biāo)準(zhǔn)疾病名稱標(biāo)簽,從而更直接的描述體檢的結(jié)果并可以為其他大數(shù)據(jù)醫(yī)療服務(wù)。
本發(fā)明的目的是分析體檢數(shù)據(jù)中醫(yī)生對病人體檢數(shù)據(jù)的診斷結(jié)果,找出其中的疾病名稱,并進(jìn)行聚類查找,建立疾病的類目樹,從而提供一個將原始的診斷結(jié)果轉(zhuǎn)換成疾病標(biāo)簽的方法。
一種將體檢診斷數(shù)據(jù)轉(zhuǎn)化為疾病標(biāo)簽的方法,包括如下步驟:
(1)對體檢診斷數(shù)據(jù)進(jìn)行文本分詞和新詞發(fā)現(xiàn)處理,得到詞序列;
(2)在詞序列中,提取所需要的疾病詞匯,得到疾病名稱;
(3)對疾病名稱中的同義詞進(jìn)行歸并,得到歸并的疾病名稱;
(4)對疾病進(jìn)行聚類,建立疾病類目樹;
(5)根據(jù)歸并的疾病名稱和疾病類目樹進(jìn)行疾病標(biāo)記,得到疾病標(biāo)簽。
步驟(1)的具體步驟為:
(1-1)對體檢診斷數(shù)據(jù)中原生的診斷結(jié)果進(jìn)行分詞,得到文本詞序列;
(1-2)根據(jù)文本詞序列中詞語之間的關(guān)系進(jìn)行詞語合并,得到新詞匯;
(1-3)對新詞匯再進(jìn)行分詞,得到詞序列。
在步驟(1-1)中,對于體檢診斷數(shù)據(jù)中原生的診斷結(jié)果,首先,使用字典生成的Trie樹進(jìn)行分詞匹配,然后,對其分詞匹配的結(jié)果做進(jìn)一步地索引和統(tǒng)計(jì),得到最大概率分詞結(jié)果,稱為文本詞序列。
利用Trie樹進(jìn)行分詞匹配時,對于同一個字符串時常可以有多種分詞方式,作為優(yōu)選,采用動態(tài)規(guī)劃求解字符串的最大概率分詞結(jié)果。
在步驟(1-2)中,在體檢診斷數(shù)據(jù)中,由于體檢診斷文本的特殊性,難以在第一次分詞即可得到最佳的效果,很多疾病相關(guān)的詞匯可能會被誤拆,因此,根據(jù)分詞結(jié)果中詞語之間的關(guān)系進(jìn)行詞語合并,得到新詞匯,便于后續(xù)的使用。作為優(yōu)選,通過統(tǒng)計(jì)點(diǎn)互信息指標(biāo)來判斷詞語之間的關(guān)系。點(diǎn)互信息(Point-wise Mutual Information,PMI)是衡量兩個事物(例如兩個詞)之間的相關(guān)性的指標(biāo),廣泛應(yīng)用于機(jī)器學(xué)習(xí)領(lǐng)域,其原理如以下公式所示:
在概率論中,如果x跟y不相關(guān),則p(x,y)=p(x)p(y)。二者相關(guān)性越大,則p(x,y)與p(x)p(y)的差值就越大。同樣,在y出現(xiàn)的情況下x出現(xiàn)的條件概率p(x|y)除以x本身出現(xiàn)的概率p(x)也表示x跟y的相關(guān)程度。對于相鄰的詞,例如:出現(xiàn)P(甲狀腺結(jié)節(jié))的概率遠(yuǎn)大于P(甲狀腺)P(結(jié)節(jié))的概率時,認(rèn)為甲狀腺結(jié)節(jié)是一個語料庫中的新詞。
在步驟(2)中,采用統(tǒng)計(jì)方法TF-IDF提取詞序列中的關(guān)鍵詞(疾病名稱),并結(jié)合停用詞庫,基本獲得體檢診斷結(jié)果文本的標(biāo)簽,即為疾病名稱。統(tǒng)計(jì)方法TF-IDF(term frequency–inverse document frequency)用以評估一字詞對于一個文本集或一個語料庫中的其中一份文本的重要程度。字詞的重要性隨著它在文本中出現(xiàn)的次數(shù)成正比增加,但同時會隨著它在語料庫中出現(xiàn)的頻率成反比下降。詞頻(term frequency,TF)是指某一個給定的詞語在該文本中出現(xiàn)的次數(shù)。逆文本頻率(inverse document frequency,IDF)由總文本數(shù)目除以包含該詞語之文本的數(shù)目,再將得到的商取對數(shù)得到。
在步驟(3)中,獲取的所有疾病詞匯中存在大量的同義詞,如后發(fā)性白內(nèi)障擁有別名繼發(fā)性白內(nèi)障和繼發(fā)性內(nèi)障,他們都需要被歸并到一個疾病。這里為了發(fā)現(xiàn)各個疾病詞匯的同義詞,采用word2vec算法將各個疾病名稱抽象成數(shù)學(xué)向量,再使用數(shù)學(xué)向量的距離計(jì)算同義詞。
在步驟(4)中,為了更多地理解各個疾病之間的關(guān)系,在所有疾病名稱都提取完畢之后,對疾病名稱進(jìn)行聚類,獲取疾病之間的類目關(guān)系。本發(fā)明采用了隱含狄利克雷分布(Latent Dirichlet Allocation,LDA)進(jìn)行疾病聚類。LDA是一種文檔主題生成模型,也稱為一個三層貝葉斯概率模型,包含詞、主題和文檔三層結(jié)構(gòu)。
本發(fā)明方法主要是分析體檢數(shù)據(jù)中醫(yī)生對病人體檢數(shù)據(jù)的診斷結(jié)果,找出其中的疾病名稱,并進(jìn)行聚類查找,建立疾病的類目樹,從而將原始的診斷結(jié)果轉(zhuǎn)換成疾病標(biāo)簽。該方法具有的優(yōu)點(diǎn)為:
(1)使用PMI對醫(yī)療體檢診斷結(jié)果進(jìn)行新詞發(fā)現(xiàn),可以發(fā)現(xiàn)許多未發(fā)現(xiàn)的新疾病詞匯。
(2)對于大量疾病詞匯,使用word2vec算法發(fā)現(xiàn)其中的同義詞,在規(guī)范化疾病名稱的同時也減少了冗余的詞語。
(3)使用LDA進(jìn)行疾病的聚類,可以方便地獲得各個類別的疾病之間的聯(lián)系。
附圖說明
圖1為基于體檢診斷數(shù)據(jù)的疾病標(biāo)簽系統(tǒng)結(jié)構(gòu)圖;
圖2為同義詞發(fā)現(xiàn)算法word2vec示意圖;
圖3為局部疾病標(biāo)簽類目樹示例圖。
具體實(shí)施方式
為了更為具體地描述本發(fā)明,下面結(jié)合附圖及具體實(shí)施方式對本發(fā)明的技術(shù)方案進(jìn)行詳細(xì)說明。
如圖1所示,本發(fā)明將體檢診斷數(shù)據(jù)轉(zhuǎn)化為疾病標(biāo)簽的方法包括以下步驟:
步驟1,文本分詞:對體檢診斷數(shù)據(jù)中原生的診斷結(jié)果進(jìn)行分詞,得到文本詞序列。
文本分詞需要詞典以獲得較高的準(zhǔn)確率,這里選用的是從外部語料庫收集得到的基礎(chǔ)詞典結(jié)合相關(guān)的醫(yī)療詞典。對于體檢數(shù)據(jù)中原生的診斷結(jié)果,使用字典生成的Trie樹進(jìn)行分詞匹配,對其分詞匹配的結(jié)果做進(jìn)一步地索引和統(tǒng)計(jì),得到最大概率分詞結(jié)果,稱為文本詞序列。
Trie樹又稱單詞查找樹,是一種樹形結(jié)構(gòu),用于保存大量的字符串。它的優(yōu)點(diǎn)是:利用字符串的公共前綴來節(jié)約存儲空間。利用Trie樹分詞可以大幅度提高分詞的速度。對于同一個字符串時??梢杂卸喾N分詞方式,這里使用動態(tài)規(guī)劃求解字符串的最大概率分詞結(jié)果。
步驟2,新詞發(fā)現(xiàn):根據(jù)文本詞序列中詞語之間的關(guān)系進(jìn)行詞語合并,得到新詞匯。
在這個步驟中,根據(jù)步驟1分詞結(jié)束后的各個統(tǒng)計(jì)信息,重點(diǎn)對相鄰的詞進(jìn)行分析。采用PMI指標(biāo)來判斷詞語之間的關(guān)系,對于相鄰的詞,如出現(xiàn)P(甲狀腺結(jié)節(jié))的概率遠(yuǎn)大于P(甲狀腺)P(結(jié)節(jié))的概率時,認(rèn)為甲狀腺結(jié)節(jié)是一個語料庫中的新詞。
步驟3,文本分詞:對新詞匯再進(jìn)行分詞,得到詞序列。
此步驟進(jìn)行分詞的方法與步驟1中的分詞方法相同,都是采用字典生成的Trie樹進(jìn)行分詞匹配,采用動態(tài)規(guī)劃求解字符串的最大概率分詞結(jié)果。
步驟4,疾病提?。涸谠~序列中提取所需要的疾病詞匯,得到疾病名稱。
這里使用統(tǒng)計(jì)方法TF-IDF提取詞序列中的疾病名稱,并結(jié)合停用詞庫,基本獲得體檢診斷結(jié)果文本的標(biāo)簽,即為疾病名稱。對于每個診斷文本數(shù)據(jù),TF-IDF都可以找出其中出現(xiàn)較多而在其他診斷文本數(shù)據(jù)里面出現(xiàn)并不多的詞語。
步驟5,同義詞歸并:對疾病名稱中的同義詞進(jìn)行歸并,得到歸并的疾病名稱;
此處,采用word2vec算法將各個疾病名稱抽象成數(shù)學(xué)的向量,再使用數(shù)學(xué)向量的距離計(jì)算同義詞。如圖2所示,CBOW和Skip-gram是word2vec算法的兩種實(shí)現(xiàn),其中,w(t)是指任意位置的一個詞,而w(t-1)則為其對應(yīng)位置的前一個詞,w(t+1)為其對應(yīng)位置的后一個詞,CBOW算法是根據(jù)一個詞的前后兩個詞可以推斷出當(dāng)前詞,而Skip-gram算法為根據(jù)一個詞,可以推斷出它上下文的可能環(huán)境。word2vec算法的基本思想是通過訓(xùn)練將每個詞映射成K維實(shí)數(shù)向量(K為模型中的超參數(shù)),通過詞之間的距離(比如cosine相似度、歐氏距離等)來判斷它們之間的語義相似度。它采用一個三層的神經(jīng)網(wǎng)絡(luò),輸入層-隱層-輸出層,這個三層神經(jīng)網(wǎng)絡(luò)本身是對語言模型進(jìn)行建模,但也同時獲得一種單詞在向量空間上的表示,而這個副作用才是Word2vec的真正目標(biāo)。當(dāng)獲得每個詞的詞向量后,可以根據(jù)詞向量之間的距離來尋找一個詞的同義詞。
步驟6,疾病聚類:對疾病進(jìn)行聚類,建立疾病類目樹;
此步驟中采用LDA進(jìn)行疾病聚類,以獲取疾病之間的類目關(guān)系,建立類目樹,圖3為建立好的類目樹的局部圖。對于語料庫中的每篇文檔,LDA定義了如下生成過程:
(1)對每一篇文檔,從主題分布中抽取一個主題;
(2)從上述被抽到的主題所對應(yīng)的單詞分布中抽取一個單詞;
(3)重復(fù)上述過程,直至遍歷文檔中的每一個單詞。
在假設(shè)這樣的文檔生成方式后,求取這個模型的各個參數(shù),從而求出每個主題及主題內(nèi)部的詞分布。對于體檢診斷數(shù)據(jù)庫而言,每個主題內(nèi)部的詞都是疾病的名稱,而每個主題就是一個類別的疾病。
步驟7,標(biāo)簽提取:根據(jù)歸并的疾病名稱和疾病類目樹進(jìn)行疾病標(biāo)記,得到每個體檢文本唯一的疾病標(biāo)簽。
以上所述的具體實(shí)施方式對本發(fā)明的技術(shù)方案和有益效果進(jìn)行了詳細(xì)說明,應(yīng)理解的是以上所述僅為本發(fā)明的最優(yōu)選實(shí)施例,并不用于限制本發(fā)明,凡在本發(fā)明的原則范圍內(nèi)所做的任何修改、補(bǔ)充和等同替換等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。