999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

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

2018-12-15 11:25:56章亞東胡孔法楊濤謝佳東
計算機時代 2018年10期

章亞東 胡孔法 楊濤 謝佳東

摘 要: 利用網(wǎng)絡(luò)爬蟲抓取網(wǎng)絡(luò)中名老中醫(yī)醫(yī)案數(shù)據(jù),可以為醫(yī)案數(shù)據(jù)挖掘提供優(yōu)質(zhì)的原始數(shù)據(jù)。提出了一種基于網(wǎng)絡(luò)爬蟲的名老中醫(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)絡(luò)爬蟲; DCCA

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

網(wǎng)絡(luò)爬蟲(Web Crawler)是一個自動下載網(wǎng)頁的計算機程序,是搜索引擎的重要組成部分[3]。目前,國內(nèi)外學(xué)者對網(wǎng)絡(luò)爬蟲技術(shù)已有一定的研究。孫立偉比較了通用網(wǎng)絡(luò)爬蟲、聚焦網(wǎng)絡(luò)爬蟲、增量式網(wǎng)絡(luò)爬蟲和深層網(wǎng)絡(luò)爬蟲四種常見網(wǎng)絡(luò)爬蟲[3]。于懷寶的爬蟲系統(tǒng)主要是訪問JS動態(tài)內(nèi)容,并用正則表達(dá)式編寫頁面解析模板來抽取數(shù)據(jù)[4]。曾偉輝則對異步交互式網(wǎng)絡(luò) AJAX 框架下的爬蟲進(jìn)行了研究[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)絡(luò)爬蟲抓取與數(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)復(fù)雜且沒有規(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標(biāo)簽中,從邏輯上這部分特殊數(shù)據(jù)不可丟失。DCCA算法在這個問題上做了如下處理:一,遍歷這個特定的字符數(shù)組,用正則表達(dá)式來判斷這些字符數(shù)組中的數(shù)據(jù)是否含有阿拉伯?dāng)?shù)字;二,遍歷這些集合,將符合判斷條件的數(shù)據(jù)拼接到最前一個字符串上。經(jīng)實踐檢驗,該數(shù)據(jù)處理方式能夠達(dá)到將邏輯上屬于同一部分但在不同HTML標(biāo)簽中的內(nèi)容整合成同一部分的內(nèi)容。

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

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

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

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ī)范化、標(biāo)準(zhǔn)化后的醫(yī)案數(shù)據(jù)

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

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

③ If wholedignoisedate≠空串 then

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

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

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

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

⑧ For h(二診及以上信息字符串?dāng)?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 重復(fù)步驟⑨

[14] End

[15] End

[16] End

[17] End

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

[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)絡(luò)上的中醫(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ī)案,并不能獲取準(zhǔn)確的醫(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)切分錯誤,導(dǎo)致數(shù)據(jù)維度高等相關(guān)問題。

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

參考文獻(xiàn)(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)絡(luò)爬蟲技術(shù)的研究[J].電腦知識與技術(shù),2010.6(15):4112-4115

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

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

[6] 徐巧云,諸紀(jì),陸雯珺.醫(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

主站蜘蛛池模板: 婷婷五月在线视频| 国产免费怡红院视频| 精品国产欧美精品v| 亚洲精品日产精品乱码不卡| 久久久久亚洲精品无码网站| 亚洲中文在线看视频一区| 欧美特黄一级大黄录像| 国产视频一区二区在线观看| 亚洲专区一区二区在线观看| 国产福利小视频在线播放观看| 国产乱人激情H在线观看| 在线观看无码av免费不卡网站| 爆乳熟妇一区二区三区| 久久国产V一级毛多内射| 亚洲天堂久久| 亚洲综合激情另类专区| 亚洲精品自在线拍| 亚洲精品无码不卡在线播放| 免费看黄片一区二区三区| 亚洲欧美综合精品久久成人网| 久久久久88色偷偷| 91亚洲视频下载| 国产成人精品一区二区免费看京| 久久影院一区二区h| 国产青榴视频在线观看网站| 91尤物国产尤物福利在线| 国产又黄又硬又粗| 亚洲伦理一区二区| 国产91麻豆免费观看| 午夜激情婷婷| 国产不卡网| 久久9966精品国产免费| 四虎亚洲国产成人久久精品| 亚洲成aⅴ人片在线影院八| 一级全免费视频播放| 国产特级毛片aaaaaa| 国内老司机精品视频在线播出| 色婷婷成人| 国产成人精品一区二区三区| 免费人欧美成又黄又爽的视频| 国产精品嫩草影院av| 亚洲精品在线观看91| 欧美日韩国产系列在线观看| 欧美午夜理伦三级在线观看| 国产精品午夜福利麻豆| P尤物久久99国产综合精品| 国产午夜不卡| 国产成人调教在线视频| 91小视频在线观看| 99久久人妻精品免费二区| 国内精品久久久久久久久久影视 | 中文字幕有乳无码| 一级一级一片免费| 亚洲欧美天堂网| 国产国产人在线成免费视频狼人色| 国产91丝袜| 国产91九色在线播放| 国产精品欧美激情| jizz在线免费播放| 天天色天天综合| 成人亚洲视频| 在线国产综合一区二区三区| 久久这里只有精品8| 人妻熟妇日韩AV在线播放| 91小视频在线播放| 亚洲久悠悠色悠在线播放| 全色黄大色大片免费久久老太| 9cao视频精品| 亚洲一区无码在线| 国产精品偷伦视频免费观看国产 | 亚洲日本中文字幕乱码中文| 国产精品流白浆在线观看| 四虎精品免费久久| 午夜福利无码一区二区| 国产区免费| 69精品在线观看| 日韩a在线观看免费观看| 又黄又湿又爽的视频| 在线日韩日本国产亚洲| 中国毛片网| 麻豆a级片| 亚洲欧美日韩天堂|