• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      名老中醫(yī)醫(yī)案數(shù)據(jù)采集與清理算法DCCA的研究

      2018-12-15 11:25:56章亞東胡孔法楊濤謝佳東
      計算機時代 2018年10期
      關(guān)鍵詞:網(wǎng)絡爬蟲醫(yī)案

      章亞東 胡孔法 楊濤 謝佳東

      摘 要: 利用網(wǎng)絡爬蟲抓取網(wǎng)絡中名老中醫(yī)醫(yī)案數(shù)據(jù),可以為醫(yī)案數(shù)據(jù)挖掘提供優(yōu)質(zhì)的原始數(shù)據(jù)。提出了一種基于網(wǎng)絡爬蟲的名老中醫(yī)醫(yī)案數(shù)據(jù)采集與清理算法DCCA(Data Collection and Cleaning Algorithm),處理了12670個網(wǎng)頁,抽取出28813條診次數(shù)據(jù)。與傳統(tǒng)方法比較,DCCA的抓取效率更高、處理結(jié)果屬性清晰、處理后的數(shù)據(jù)冗余度低,極大地提高了中醫(yī)藥網(wǎng)站中名老中醫(yī)醫(yī)案數(shù)據(jù)采集與清理效果。

      關(guān)鍵詞: 名老中醫(yī); 醫(yī)案; 數(shù)據(jù)采集與清理; 網(wǎng)絡爬蟲; DCCA

      中圖分類號:TP311 文獻標志碼:A 文章編號:1006-8228(2018)10-68-03

      Abstract: Using web crawlers to capture the data of famous old Chinese medicine doctors' in the network can provide high quality raw data for medical data mining. This paper proposes a data collection and cleaning algorithm DCCA (Data Collection and Cleaning Algorithm) based on web crawler, which processes 12,670 web pages and extracts 28,813 diagnostic data. Compared with the traditional methods, DCCA has higher crawling efficiency, clearer processing result attributes and lower data redundancy after processing, which greatly improves the data collection and cleaning effect of famous Chinese medicine doctors in Chinese medicine websites.

      Key words: famous Chinese medicine doctor; medical records; data collection and cleaning; web crawler; DCCA

      0 引言

      數(shù)據(jù)挖掘(DataMining)是按照既定的業(yè)務目標從大量的數(shù)據(jù)中提取出潛在、有效并容易被人理解的模式的高級處理過程[1]。名老中醫(yī)是中醫(yī)藥學術(shù)發(fā)展的杰出代表,總結(jié)名老中醫(yī)的經(jīng)驗不僅能豐富中醫(yī)學的理論體系,還能為中醫(yī)藥學術(shù)的進步產(chǎn)生巨大的推動作用[2]。網(wǎng)絡中有大量的數(shù)據(jù),但是數(shù)據(jù)的質(zhì)量不高,研究者們需要花費大量的時間清洗數(shù)據(jù)。如果在收集數(shù)據(jù)的時候能將數(shù)據(jù)進行清理,則會大幅度地提高數(shù)據(jù)挖掘研究者的工作效率。

      網(wǎng)絡爬蟲(Web Crawler)是一個自動下載網(wǎng)頁的計算機程序,是搜索引擎的重要組成部分[3]。目前,國內(nèi)外學者對網(wǎng)絡爬蟲技術(shù)已有一定的研究。孫立偉比較了通用網(wǎng)絡爬蟲、聚焦網(wǎng)絡爬蟲、增量式網(wǎng)絡爬蟲和深層網(wǎng)絡爬蟲四種常見網(wǎng)絡爬蟲[3]。于懷寶的爬蟲系統(tǒng)主要是訪問JS動態(tài)內(nèi)容,并用正則表達式編寫頁面解析模板來抽取數(shù)據(jù)[4]。曾偉輝則對異步交互式網(wǎng)絡 AJAX 框架下的爬蟲進行了研究[5]。上述研究者們的工作主要聚焦在采集數(shù)據(jù)上,忽略了對數(shù)據(jù)的清洗,本文使用DCCA算法,從網(wǎng)站上抓取并篩選出名老中醫(yī)的醫(yī)案數(shù)據(jù),這些數(shù)據(jù)可以為中醫(yī)藥數(shù)據(jù)挖掘提供大量的優(yōu)質(zhì)數(shù)據(jù)。

      1 網(wǎng)絡爬蟲抓取與數(shù)據(jù)抽取方法

      對于醫(yī)療系統(tǒng)數(shù)據(jù)挖掘的研究[6-8],多半集中于現(xiàn)有數(shù)據(jù)的整理分析,缺乏從獲取數(shù)據(jù)、整理數(shù)據(jù)到分析數(shù)據(jù)的完整過程。中醫(yī)藥網(wǎng)站上的數(shù)據(jù)內(nèi)容良莠不齊,數(shù)據(jù)結(jié)構(gòu)多,數(shù)據(jù)的結(jié)構(gòu)化水平低,包含的信息維度高,不符合數(shù)據(jù)挖掘的要求。所以,一個既包含數(shù)據(jù)采集,亦包含數(shù)據(jù)清理的方法亟待研究。本算法包含兩個部分:一是抓取名老中醫(yī)醫(yī)案信息的網(wǎng)頁;二是清洗名老中醫(yī)醫(yī)案的數(shù)據(jù)。

      名老中醫(yī)醫(yī)案數(shù)據(jù)包括了病人基本信息,病情描述信息以及診斷信息等,這些信息的結(jié)構(gòu)復雜且沒有規(guī)律。表1中所示的是網(wǎng)站中關(guān)于治療胸痹醫(yī)案的某一診次的部分內(nèi)容,表1中的數(shù)據(jù)包含了多個維度的信息,且這些信息的出現(xiàn)頻率不確定,這大大地增加了抽取數(shù)據(jù)的難度。

      關(guān)于某疾病,僅有一個診次的醫(yī)案屬于特殊情況。針對這種情況,本文通過DCCA的選擇器來獲得數(shù)據(jù),其中存在特殊的數(shù)據(jù)包含在其他HTML標簽中,從邏輯上這部分特殊數(shù)據(jù)不可丟失。DCCA算法在這個問題上做了如下處理:一,遍歷這個特定的字符數(shù)組,用正則表達式來判斷這些字符數(shù)組中的數(shù)據(jù)是否含有阿拉伯數(shù)字;二,遍歷這些集合,將符合判斷條件的數(shù)據(jù)拼接到最前一個字符串上。經(jīng)實踐檢驗,該數(shù)據(jù)處理方式能夠達到將邏輯上屬于同一部分但在不同HTML標簽中的內(nèi)容整合成同一部分的內(nèi)容。

      不同診次所包含的信息是不斷變化的。例如,某人第一次來就診時醫(yī)生沒有安排其進行輔助檢查,但是隨著病情的變化,第二次就診時醫(yī)生安排其進行輔助檢查,如果把第二診次輔助檢查的信息存放到第一診次的輔助檢查中,就造成了兩條臟數(shù)據(jù)。針對包含多個診次的名老中醫(yī)醫(yī)案信息,DCCA首先區(qū)分不同的診次。主要的方法:一是獲取第二診次的就診時間,將其作為切分第一診次和第二診次及以后診次的標準;二是對第二診次及以后診次的信息按照特殊的標記進行抽取。

      2 網(wǎng)絡爬蟲抓取與數(shù)據(jù)抽取算法描述

      DCCA算法主要是為了抓取中醫(yī)藥網(wǎng)站中名老中醫(yī)的醫(yī)案數(shù)據(jù),并將網(wǎng)頁中的醫(yī)案信息抽取出來存入數(shù)據(jù)庫,并對醫(yī)案數(shù)據(jù)進行清理。

      2.1 抓取網(wǎng)站中有關(guān)名老中醫(yī)的醫(yī)案數(shù)據(jù)網(wǎng)頁

      抓取網(wǎng)站中有關(guān)名老中醫(yī)的醫(yī)案數(shù)據(jù),存放在本地磁盤中,便于比較原始數(shù)據(jù)及清洗后的數(shù)據(jù),檢驗DCCA算法的數(shù)據(jù)清洗效果。

      2.2 醫(yī)案數(shù)據(jù)抽取

      調(diào)用DCCA算法解析名老中醫(yī)醫(yī)案數(shù)據(jù)。算法描述如下:

      算法:DCCA(String path)

      輸入:離線醫(yī)案數(shù)據(jù)的存儲文件路徑path

      輸出:規(guī)范化、標準化后的醫(yī)案數(shù)據(jù)

      ① For x(每個離線醫(yī)案) in path:

      ② 對醫(yī)案數(shù)據(jù)按照特定的標記進行拆分,若存在二診時間,則將值賦給wholedignoisedate,創(chuàng)建數(shù)組strListFirst

      ③ If wholedignoisedate≠空串 then

      ④ 將第一診次數(shù)據(jù)存入strListFirst[0],其他診次的數(shù)據(jù)存入strListFirst[1]中,抽取第一診斷次的具體信息

      ⑤ 抽取strListFirst[1]的內(nèi)容,即按照診次分開,記切分后的字符串數(shù)組為contents_zc

      ⑥ For k(每個診次) in contents_zc:

      ⑦ 對contents_zc(k)的內(nèi)容按照特殊標記抽取,記切分后的字符串數(shù)組為strList2

      ⑧ For h(二診及以上信息字符串數(shù)組strList2中的每個屬性) in strList2:

      ⑨ 根據(jù)摘要(Summary)等關(guān)鍵字切分strList2,將值賦給診斷信息對象(prescrition)的具體屬性

      ⑩ If h start with 中醫(yī)診斷(TcmDiagnosis)、西醫(yī)診斷(MedicalDiagnosis)、方劑組成(PrescriptionComposition) And h不是該診次的最后一個屬性 And 第h+1個屬性start with摘要(Summary)、就診時間(PatientDate)、舌質(zhì)(Tongue)等關(guān)鍵字 then

      [11] 將值strList2.get(h) 賦值給診斷信息對象(prescrtion)的具體屬性

      [12] End

      [13] Else 重復步驟⑨

      [14] End

      [15] End

      [16] End

      [17] End

      [18] Else 根據(jù)"div>p[data-name=屬性名]"將第一診次的信息抽取出來賦值給診斷信息對象(prescrtion)的對應屬性

      [19] End

      [20] End

      3 實驗結(jié)果

      本實驗通過DCCA算法,爬取和清洗了專業(yè)的中醫(yī)藥網(wǎng)站上的名老中醫(yī)醫(yī)案網(wǎng)頁共計12670個。最終獲得了符合要求的名老中醫(yī)醫(yī)案診次數(shù)據(jù)共計28813條,與原始數(shù)據(jù)比較顯示,DCCA算法能夠較好地完成對網(wǎng)絡上的中醫(yī)醫(yī)案數(shù)據(jù)的爬取與清洗工作。部分處理結(jié)果如表2和表3所示。

      表2中是處理結(jié)果中患者的基本信息,主要包括患者姓名、患者性別、就診時間、節(jié)氣、主訴等信息,與原始內(nèi)容比較發(fā)現(xiàn)處理后的第一診次的內(nèi)容中沒有出現(xiàn)第二診次的內(nèi)容,即經(jīng)過DCCA算法處理后的結(jié)果中沒有產(chǎn)生臟數(shù)據(jù)。

      表3中是處理結(jié)果中患者的刻下癥、舌苔、脈象、中醫(yī)診斷、方名、方劑組成等信息,與原始內(nèi)容比較發(fā)現(xiàn):處理后的第一診次的方名等字段的內(nèi)容中不會出現(xiàn)第二診次的方名等字段的內(nèi)容,所以DCCA算法在數(shù)據(jù)清洗的效果上優(yōu)于傳統(tǒng)方式,同時可發(fā)現(xiàn)處理結(jié)果中不同診次的內(nèi)容與原始信息的內(nèi)容完全一致。

      4 結(jié)論

      使用傳統(tǒng)的方法抓取并清洗名老中醫(yī)醫(yī)案,并不能獲取準確的醫(yī)案數(shù)據(jù)。傳統(tǒng)方式抽取頁面內(nèi)容的全部數(shù)據(jù),并將抓取的頁面數(shù)據(jù)存入字符串中,然后根據(jù)頁面數(shù)據(jù)的關(guān)鍵字符來處理字符串,這時候處理完的關(guān)鍵字就會丟失,會造成對數(shù)據(jù)識別的錯誤。再加上醫(yī)案數(shù)據(jù)的結(jié)構(gòu)多樣性,在真正處理時,如果遇到?jīng)]被識別的關(guān)鍵字,就會出現(xiàn)切分錯誤,導致數(shù)據(jù)維度高等相關(guān)問題。

      使用DCCA算法抽取網(wǎng)絡上的名老中醫(yī)醫(yī)案數(shù)據(jù),可以完整地抽取每個診次的全部信息,并且可以避免傳統(tǒng)方法中經(jīng)常出現(xiàn)的第一診次中包含了第二診次及以后診次的數(shù)據(jù)。通過中醫(yī)藥領域的數(shù)據(jù)挖掘研究者對處理結(jié)果的審查,經(jīng)DCCA算法處理后的數(shù)據(jù)達到數(shù)據(jù)挖掘要求。

      參考文獻(References):

      [1] J D Mazimpaka. Trajectory data mining: A review of methods and applications[J]. Journal of Spatial Information Science,2016.13(2016):61-99

      [2] 吳嘉瑞,唐仕歡,郭位先,張曉朦,張冰.基于數(shù)據(jù)挖掘的名老中醫(yī)經(jīng)驗傳承研究述評[J].中國中藥雜志,2014.39(4):614-617

      [3] 孫立偉,何國輝,吳禮發(fā).網(wǎng)絡爬蟲技術(shù)的研究[J].電腦知識與技術(shù),2010.6(15):4112-4115

      [4] 于懷寶.面向建材信息的網(wǎng)絡爬蟲系統(tǒng)的設計與實現(xiàn)[D].北京交通大學,2015.

      [5] 曾偉輝.支持AJAX 的網(wǎng)絡爬蟲系統(tǒng)設計與實現(xiàn)[D].中國科學技術(shù)大學,2009.

      [6] 徐巧云,諸紀,陸雯珺.醫(yī)療大數(shù)據(jù)可視化系統(tǒng)架構(gòu)研究與實踐[J].現(xiàn)代計算機(專業(yè)版),2017.30:27-30

      [7] 孔抗美,張瑩,李韶斌等.醫(yī)院醫(yī)療數(shù)據(jù)挖掘與分析[J].中國衛(wèi)生信息管理雜志,2015.8(6):29-33

      [8] M Herland, T M Khoshgoftaar, R Wald. A review of data mining using big data in health informatics[J]. Journal of Big Data,2014.1:2

      猜你喜歡
      網(wǎng)絡爬蟲醫(yī)案
      醫(yī)案聊齋續(xù)篇 眩暈案
      醫(yī)案聊齋續(xù)篇 吐瀉案
      醫(yī)案聊齋續(xù)篇 晨泄案
      醫(yī)案聊齋續(xù)篇 吐血案
      煉鐵廠鐵量網(wǎng)頁數(shù)據(jù)獲取系統(tǒng)的設計與實現(xiàn)
      基于社會網(wǎng)絡分析的權(quán)威網(wǎng)頁挖掘研究
      主題搜索引擎中網(wǎng)絡爬蟲的實現(xiàn)研究
      淺析如何應對網(wǎng)絡爬蟲流量
      中國市場(2016年23期)2016-07-05 04:35:08
      網(wǎng)絡爬蟲針對“反爬”網(wǎng)站的爬取策略研究
      新加香薷飲醫(yī)案6則
      即墨市| 白朗县| 湖州市| 昭苏县| 武城县| 偃师市| 岳阳县| 天长市| 调兵山市| 芜湖市| 荃湾区| 莎车县| 天津市| 方正县| 驻马店市| 邢台市| 肥乡县| 金寨县| 沙坪坝区| 龙南县| 柞水县| 赤水市| 南溪县| 双鸭山市| 南通市| 马边| 九台市| 临沧市| 九龙县| 吉木乃县| 双牌县| 广德县| 平远县| 永清县| 陇西县| 金溪县| 宜春市| 吉水县| 绥德县| 奉新县| 玉环县|