亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

一種基于tf?idf改進(jìn)算法的疾病癥狀推導(dǎo)方法

文檔序號:10725389閱讀:601來源:國知局
一種基于tf?idf改進(jìn)算法的疾病癥狀推導(dǎo)方法
【專利摘要】本發(fā)明提供一種基于TF?IDF改進(jìn)算法的疾病癥狀推導(dǎo)方法,包括下列步驟:1)請醫(yī)學(xué)專家根據(jù)科室分類編寫疾病癥狀對應(yīng)字典;2)分析每一個(gè)科室的文檔,統(tǒng)計(jì)癥狀詞頻TF;3)分析所有的文檔,統(tǒng)計(jì)計(jì)算反向詞頻ITF;4)查詢每個(gè)疾病的搜索引擎月查詢量,并找出最大的查詢量,進(jìn)而計(jì)算出搜索引擎查詢指數(shù)。5)基于以上計(jì)算出的TF,IDF和搜索引擎查詢指數(shù)按照公式計(jì)算出最終的權(quán)重。本發(fā)明解決了目前傳統(tǒng)疾病癥狀推導(dǎo)方法推理邏輯復(fù)雜,依賴于醫(yī)學(xué)專家經(jīng)驗(yàn)知識,并且醫(yī)學(xué)知識形式化困難等缺陷,通過TF?IDF算法計(jì)算出的詞頻和搜索引擎搜索指數(shù)加權(quán)求和的方法,極大的提高了目前推導(dǎo)方法的效率,并利用搜索引擎大數(shù)據(jù)提高了導(dǎo)診的準(zhǔn)確性。
【專利說明】
一種基于TF-1DF改進(jìn)算法的疾病癥狀推導(dǎo)方法
技術(shù)領(lǐng)域
[00011本軟件方法涉及一種基于TF-IDF的疾病癥狀推導(dǎo)方法,對現(xiàn)有的TF-IDF算法做了 改進(jìn),綜合運(yùn)用了大數(shù)據(jù)技術(shù)和機(jī)器學(xué)習(xí)算法來提高疾病導(dǎo)診的有效性。
【背景技術(shù)】
[0002] 隨著互聯(lián)網(wǎng)和傳統(tǒng)行業(yè)的結(jié)合越來越緊密,人們通過網(wǎng)絡(luò)獲取一些簡單疾病的初 步診斷結(jié)果來指導(dǎo)就醫(yī)行為已經(jīng)變得越來越普遍。在這樣的大趨勢下,應(yīng)用計(jì)算機(jī)技術(shù),人 工智能技術(shù)進(jìn)行疾病初步診斷、導(dǎo)醫(yī)的應(yīng)用如雨后春筍般涌現(xiàn)。智能疾病導(dǎo)診系統(tǒng)本質(zhì)上 屬于一種醫(yī)療專家系統(tǒng)。國外較早出現(xiàn)的有MYCIN系統(tǒng)和Internist-1/QMR系統(tǒng);國內(nèi)有 2006年胡波設(shè)計(jì)實(shí)現(xiàn)的基于知識庫的AISCP導(dǎo)醫(yī)系統(tǒng),2011年習(xí)明實(shí)現(xiàn)的基于web的社區(qū)智 能醫(yī)療服務(wù)系統(tǒng)。但這些系統(tǒng)幾乎都是基于知識庫和推理規(guī)則的專家系統(tǒng),需要醫(yī)療專家 根據(jù)自己的知識經(jīng)驗(yàn)制定一套完整的推理規(guī)則。然而由于醫(yī)學(xué)專家診斷疾病是一個(gè)創(chuàng)造性 的過程,很難將這種知識、經(jīng)驗(yàn)用計(jì)算機(jī)語言表達(dá)出來,所以專家系統(tǒng)在醫(yī)學(xué)領(lǐng)域一直沒有 得到很好的利用。

【發(fā)明內(nèi)容】

[0003] 為了克服現(xiàn)有疾病癥狀推導(dǎo)方法的缺陷,本方法提出一種基于TF-IDF算法的疾病 權(quán)重計(jì)算方法。并以該計(jì)算方法為指導(dǎo),構(gòu)建了自己的智能導(dǎo)診系統(tǒng)。用戶輸入自己的癥 狀,年齡,性別信息,系統(tǒng)能根據(jù)動態(tài)調(diào)整的癥狀疾病權(quán)重,查詢出最可能患的疾病。
[0004] TF_IDF(term frequency-inverse document frequency)是一種統(tǒng)計(jì)方法,用以 評估一字詞對于一個(gè)文件集或一個(gè)語料庫中的其中一份文件的重要程度。字詞的重要性隨 著它在文件中出現(xiàn)的次數(shù)成正比增加,但同時(shí)會隨著它在語料庫中出現(xiàn)的頻率成反比下 降。它的主要思想是:如果某個(gè)詞或短語在一篇文章中出現(xiàn)的頻率TF高,并且在其他文章中 很少出現(xiàn),則認(rèn)為此詞或者短語具有很好的類別區(qū)分能力,適合用來分類。TF-IDF實(shí)際上 是:TF*IDF,TF詞頻(Term Frequency),IDF逆向文件頻率(Inverse Document Frequency)。 TF表示詞條在文檔中出現(xiàn)的頻率。
[0006] 其中m表示詞ti在文檔η中出現(xiàn)的次數(shù);Eknk表示文檔η中詞的總個(gè)數(shù);
[0007] IDF逆向文件頻率的主要思想是:如果包含詞條U的文檔越少,也就是| {cUhed} 越小,IDF越大,則說明詞條t具有很好的類別區(qū)分能力。公式如下:
[0009]其中|D|表示文檔的總數(shù)目;| {cUhed} |表示包含詞。的文檔的數(shù)目;
[0010]在本推導(dǎo)方法中,對TF-IDF算法做了一定程度的改進(jìn),計(jì)算方法如下:
[0012]其中m表示癥狀ti在同科室疾病η中出現(xiàn)的次數(shù);Eknk表示同科室疾病η中癥狀詞 出現(xiàn)的總個(gè)數(shù);
[0014] 其中|D|表示疾病的總數(shù)目;| {ddied} |表示包含癥狀。的疾病的數(shù)目;
[0015] TFIdfi,n = tfi,nX idfi
[0016] 了?1(1汀11表示癥狀ti與疾病η的相關(guān)度。
[0017] 由于醫(yī)學(xué)領(lǐng)域的診斷是一個(gè)不確定的推理過程,疾病有好幾種癥狀,但癥狀不是 一種疾病特有的,根據(jù)癥狀推理出的疾病不一定正確??紤]到用戶查詢的疾病一般都是常 見疾病,所以引入疾病在搜索引擎指數(shù)中的用戶關(guān)注度作為疾病常見度,用不同疾病用戶 關(guān)注度的值ua n的比值來計(jì)算疾病j的權(quán)重Wn,以權(quán)重的大小來區(qū)分不同疾病的常見都,則疾 病的常見度參數(shù)值為

[0019] 有了常見度這個(gè)參數(shù)后,和上文中的TFIdfi,η結(jié)合,最終得到的癥狀ti與疾病η的 相關(guān)度為:
[0020] CFn=ai*TFIdfi,n+a2*ffn
[0021] 其中 ai+a2 = l
[0022 ]本方法的特點(diǎn)是:
[0023] 1.和疾病輔助診斷專家系統(tǒng)相比,該方法簡單高效,不用復(fù)雜的推理演繹,不用將 復(fù)雜的醫(yī)學(xué)知識形式化,適合用計(jì)算機(jī)程序?qū)崿F(xiàn)。
[0024] 2.運(yùn)用了大數(shù)據(jù)技術(shù)(搜索引擎關(guān)鍵詞搜索指數(shù)的引入)提高了導(dǎo)診的準(zhǔn)確性。相 比較局限于醫(yī)生個(gè)人經(jīng)驗(yàn)的專家系統(tǒng),本方法運(yùn)用大數(shù)據(jù)技術(shù),挖掘當(dāng)前一段時(shí)間互聯(lián)網(wǎng) 用戶搜索頻率較高的疾病,來對TF-IDF算法結(jié)果進(jìn)行矯正,只要數(shù)據(jù)足夠真實(shí)可靠就可以 很大程度的提高了計(jì)算的準(zhǔn)確性。
【附圖說明】
[0025] 圖1為本發(fā)明整體方法流程圖 [0026]圖2為計(jì)算詞頻TF的方法流程圖 [0027]圖3為計(jì)算反向詞頻ITF的方法流程圖
[0028]圖4為計(jì)算搜索引擎搜索指數(shù)的方法流程圖
【具體實(shí)施方式】
[0029]為了了解本發(fā)明的技術(shù)內(nèi)容,特舉具體實(shí)施例并配合【附圖說明】如下。
[0030]圖1為本發(fā)明實(shí)施例的一種基于TF-IDF改進(jìn)算法的疾病癥狀推導(dǎo)方法整體流程 圖。其特征在于包含以下步驟:
[0031 ] 1)請醫(yī)生準(zhǔn)備程序輸入材料,按科室分類的疾病癥狀對應(yīng)文檔。以內(nèi)科文檔為例, 具體形式如下:
[0032] 1.1.2肺炎(胸部)(男與女)(全部年齡)
[0033] 癥狀:
[0034] 寒戰(zhàn)(全身);發(fā)熱(全身);頭痛(頭部);肌肉酸痛(全身);納差(腹部);咳嗽(胸 部);咳痰(胸部);血痰(胸部);膿痰(胸部);氣促(胸部);胸痛(胸部);腹痛(腹部);惡心(腹 部);嘔吐(腹部);腹脹(腹部);腹瀉(腹部);煩躁(全身);神志模糊(全身);嗜睡(全身);昏 迷(全身);咽痛(頸部);
[0035] 2)寫程序計(jì)算每一個(gè)癥狀的TF詞頻,具體做法是,讀取某一個(gè)科室文檔,統(tǒng)計(jì)每一 個(gè)癥狀出現(xiàn)的次數(shù),以及該文檔中所有癥狀詞語出現(xiàn)的總個(gè)數(shù)。假設(shè)第i個(gè)癥狀出現(xiàn)次數(shù)為 m,文檔中所有癥狀詞的總個(gè)數(shù)Σ knk <=
[0036] 3)寫程序計(jì)算IDF逆向文件頻率。具體做法是,讀取所有文檔,先統(tǒng)計(jì)和某個(gè)癥狀 ^有關(guān)聯(lián)的所有疾病個(gè)數(shù)為| {dAed} |,然后統(tǒng)計(jì)所有文檔中疾病的總個(gè)數(shù)|D|。則idfi =
[0037] 4)然后計(jì)算TFIdf i,n = tf i,n X idf i,并把結(jié)果保存在數(shù)據(jù)庫TFIdf表里。
[0038] 寫定時(shí)程序獲取每個(gè)疾病的搜索引擎指數(shù)。統(tǒng)計(jì)得到最大的疾病搜索引擎指數(shù) max(uan);
,并保存在數(shù)據(jù)庫疾病指數(shù)表中。
[0039]當(dāng)用戶選擇癥狀查詢時(shí),去TFIdf表取出TFIdfi,n,去搜索引擎指數(shù)表中取出疾病η 的Wn。計(jì)算總權(quán)重CFr^a^TFIdfi.n+C^Wn。對多個(gè)癥狀分別計(jì)算出CF后直接相加,然后倒序 排列,找出前10個(gè)結(jié)果展示給用戶。
[0040]圖2為計(jì)算詞頻TF的流程圖。其思想是讀取一個(gè)科室文檔,分析每一個(gè)癥狀詞語出 現(xiàn)的次數(shù)和整個(gè)文檔中出現(xiàn)的癥狀總個(gè)數(shù),然后求他們的商。TF反映了某個(gè)癥狀在該科室 中的重要性。具體步驟如下:步驟1:建立Map〈string,Integer>map保存癥狀和該癥狀在該 文檔中出現(xiàn)的總次數(shù)。步驟2:逐個(gè)讀取文檔中的癥狀詞,并將癥狀出現(xiàn)次數(shù)統(tǒng)計(jì)信息保存 在map中。步驟3:遍歷map中的癥狀信息,統(tǒng)計(jì)出該文檔中的總癥狀數(shù)al ICount。步驟4:對于 每一個(gè)癥狀 S,計(jì)算它的 TF=map.get(S)/allCount;
[0041 ]圖3為計(jì)算反向詞頻ITF的流程圖。具體步驟是:步驟1:建立Map〈String,List〈 String?mapl保存疾病和對應(yīng)的癥狀列表,建立Map〈String,Integer>map2保存癥狀和對 應(yīng)關(guān)聯(lián)疾病的個(gè)數(shù)。步驟2:讀取所有科室文檔中的數(shù)據(jù)。由于準(zhǔn)備的文檔素材都是疾病和 癥狀對應(yīng)的段落,因此讀取每一個(gè)疾病癥狀段落,保存疾病和它對應(yīng)的癥狀到mapl。步驟3: 遍歷mapl,分離出癥狀和它對應(yīng)的疾病個(gè)數(shù)保存到map2。步驟3:計(jì)算每一個(gè)癥狀s的idf = log(mapl.getKeys().count()/map2.get(s));
[0042] 圖4為計(jì)算搜索引擎指數(shù)的流程圖。具體步驟是:步驟1:讀取疾病庫中的所有疾病 名稱,并建立疾病和搜索量的對應(yīng)關(guān)系對象Map〈String,Int eger>map。步驟2:取每一個(gè)疾 病名稱D,去搜索引擎api查詢它的月搜索量count,并作保存操作map. put (D,count);步驟 3:遍歷11^找出11^((3〇11111:);4:計(jì)算每一個(gè)疾病〇11的搜索引擎搜索指數(shù)¥11 = 11^.861:(〇11)/ max(count);
[0043] 綜上所述,通過該方法可以比較準(zhǔn)確的判斷出用戶的一些常見病癥,用戶去醫(yī)院 之前能給出一些必要的指導(dǎo),并做一些準(zhǔn)備工作。
【主權(quán)項(xiàng)】
1. 一種基于TF-IDF改進(jìn)算法的疾病癥狀推導(dǎo)方法,其特征在于,通過分析醫(yī)學(xué)專家編 寫的疾病癥狀對應(yīng)文檔,應(yīng)用TF-IDF算法建立癥狀和疾病之前的對應(yīng)權(quán)重。為了進(jìn)一步提 高權(quán)重的準(zhǔn)確性,本方法實(shí)時(shí)爬取疾病搜索引擎查詢次數(shù),計(jì)算出搜索引擎搜索指數(shù),對 TF-IDF算法所求權(quán)重進(jìn)行進(jìn)一步修正。疾病癥狀權(quán)重建立后,用戶輸入癥狀,系統(tǒng)查詢預(yù)先 計(jì)算好的保存在數(shù)據(jù)庫中的癥狀疾病對應(yīng)權(quán)重,倒排序后返回給用戶。應(yīng)用該推導(dǎo)方法可 以有效的分析出癥狀和疾病的對應(yīng)關(guān)系強(qiáng)弱,最終實(shí)現(xiàn)通過多個(gè)癥狀組合判定用戶可能患 的疾病,為用戶就醫(yī)前提供更多指導(dǎo)。該方法包含以下步驟: 1) 基于TF-IDF算法計(jì)算疾病癥狀權(quán)重。TF即詞頻,在本方法中指的是癥狀在某科室文 檔中出現(xiàn)的頻率。TF =癥狀在該文檔中出現(xiàn)的次數(shù)/文檔中所有癥狀詞出現(xiàn)的次數(shù)。IDF表 示的是一個(gè)癥狀和其他科室疾病的關(guān)聯(lián)強(qiáng)弱,如果一個(gè)癥狀在所有科室文檔中都出現(xiàn)的比 較多,則該癥狀和每個(gè)疾病的關(guān)聯(lián)度就不是很強(qiáng)。IDF =癥狀關(guān)聯(lián)疾病個(gè)數(shù)/文檔中所有疾 病個(gè)數(shù)。 2) 計(jì)算某一個(gè)疾病在搜索引擎中的查詢指數(shù)。搜索引擎查詢指數(shù)指的是某疾病在搜索 引擎中被查詢的次數(shù)和疾病在搜索引擎中的查詢次數(shù)的最大值的比值。2. 根據(jù)權(quán)利1所述的基于TF-IDF算法的疾病權(quán)重計(jì)算方法,其特征在于,包括以下步 驟; 步驟1:醫(yī)學(xué)專家準(zhǔn)備疾病癥狀字典文檔。按科室對疾病進(jìn)行分類,每個(gè)分類的疾病放 在一個(gè)文檔中。多個(gè)文檔組成一個(gè)集合放在同一個(gè)文件夾下。 步驟2:計(jì)算每一個(gè)癥狀的詞頻TF。選取某一個(gè)科室的疾病癥狀字典文檔,讀入計(jì)算機(jī) 內(nèi)存,對文檔中的文本進(jìn)行分詞,分別統(tǒng)計(jì)每一個(gè)癥狀在該文檔中出現(xiàn)的次數(shù)和該文檔中 所有癥狀詞出現(xiàn)的次數(shù)。并對這兩個(gè)統(tǒng)計(jì)值相除。即詞頻TF =癥狀在該文檔中出現(xiàn)的次數(shù)/ 文檔中所有癥狀詞出現(xiàn)的次數(shù)。 步驟3:計(jì)算逆向文檔頻率IDF。在本方法中IDF表征的是一個(gè)癥狀和其他科室疾病的關(guān) 聯(lián)強(qiáng)弱,如果一個(gè)癥狀詞的詞頻TF在某一個(gè)科室文檔中出現(xiàn)的頻率高,并且在其他整個(gè)文 檔中出現(xiàn)的頻率低,則可以認(rèn)為該癥狀在該科室文檔中的疾病中比較重要。具體計(jì)算步驟 是讀取所有字典文檔,統(tǒng)計(jì)每個(gè)癥狀關(guān)聯(lián)的疾病個(gè)數(shù),以及所有文檔中所有的疾病個(gè)數(shù),則 逆向文檔頻率IDF =癥狀關(guān)聯(lián)疾病個(gè)數(shù)/文檔中所有疾病個(gè)數(shù)。 步驟4:計(jì)算TFIDF = TF*IDF,然后將結(jié)果保存到數(shù)據(jù)庫中做持久化。3. 根據(jù)權(quán)利1所述的搜索引擎搜索指數(shù)計(jì)算方法,其特征在于,包括以下步驟: 步驟1:寫定時(shí)程序去搜索引擎爬取每個(gè)疾病關(guān)鍵詞的搜索指數(shù)。在所有指數(shù)中找出最 大的搜索引擎月查詢次數(shù),然后將每一個(gè)搜索引擎月搜索量和該最大月搜索量的比值作為 搜索指數(shù)。 步驟2:最后對TFIDF和搜索引擎搜索指數(shù)兩個(gè)值做加權(quán)求和。
【文檔編號】G06F19/00GK106096273SQ201610412964
【公開日】2016年11月9日
【申請日】2016年6月8日 公開號201610412964.6, CN 106096273 A, CN 106096273A, CN 201610412964, CN-A-106096273, CN106096273 A, CN106096273A, CN201610412964, CN201610412964.6
【發(fā)明人】周作建, 楊陽, 胡云, 周作霞
【申請人】江蘇華康信息技術(shù)有限公司, 十方健康管理(江蘇)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1