張 勇 (瀘州醫(yī)學(xué)院生物醫(yī)學(xué)工程系,四川 瀘州 646000)
王鴻度 (瀘州醫(yī)學(xué)院中醫(yī)系; 四川 瀘州 646000)
潘 宏 (瀘州醫(yī)學(xué)院生物醫(yī)學(xué)工程系,四川 瀘州 646000)
從針灸文獻(xiàn)中獲取經(jīng)穴ARFF數(shù)據(jù)集的文本挖掘方法探討
張 勇 (瀘州醫(yī)學(xué)院生物醫(yī)學(xué)工程系,四川 瀘州 646000)
王鴻度 (瀘州醫(yī)學(xué)院中醫(yī)系; 四川 瀘州 646000)
潘 宏 (瀘州醫(yī)學(xué)院生物醫(yī)學(xué)工程系,四川 瀘州 646000)
按照粗糙集理論的數(shù)據(jù)處理方法,對(duì)經(jīng)穴名稱進(jìn)行標(biāo)準(zhǔn)化和數(shù)據(jù)化,把中文經(jīng)穴名轉(zhuǎn)換成離散化的布爾型數(shù)據(jù),通過文件格式的轉(zhuǎn)換,從而得到適用于WEKA挖掘平臺(tái)的RAFF數(shù)據(jù)集。
經(jīng)穴; ARFF;文本挖掘
文本挖掘現(xiàn)在已成為中醫(yī)中藥學(xué)界數(shù)據(jù)挖掘中重要的研究課題。已有研究[1]通過關(guān)聯(lián)和聚類分析出了幾種經(jīng)穴的聯(lián)系。但基于針灸古文獻(xiàn)[2]中治療疾病用穴的文本挖掘在國內(nèi)還為數(shù)不多,對(duì)十四經(jīng)穴的文本挖掘的方法研究也比較少。
數(shù)據(jù)準(zhǔn)備前期,由針灸醫(yī)師在古文獻(xiàn)中勾勒出屬于十四經(jīng)穴的穴位名稱。例如從《百癥賦》“原夫面腫虛浮,須仗水溝,前頂;耳聾氣閉,全憑聽會(huì)、翳風(fēng)。面上蟲行有驗(yàn),迎香可取;耳中蠶噪有聲,聽會(huì)堪攻”文中,可得出面部浮腫,耳聾耳鳴等證候。涉及到的十四經(jīng)穴名有:水溝,前頂,聽會(huì),翳風(fēng),迎香,聽會(huì)。并對(duì)文獻(xiàn)中的經(jīng)穴數(shù)據(jù)采用如下步驟的篩選處理:
1)去除非經(jīng)穴。去除如時(shí)病瘟疫《千金要方·卷十·第五》:“上腭穴,入口里邊,在上縫赤白脈是,針三次,治馬黃黃疸四時(shí)病等。”,里出現(xiàn)的上腭穴。
2)去除經(jīng)外奇穴。去除如癥瘕集聚《醫(yī)學(xué)入門·卷一·治病奇穴》:“痞根穴:專治痞塊,十三椎下各開三寸半,多灸左邊。如左右俱有,左右俱灸?!崩锏钠Ω?。
3)根據(jù)GB12346-90標(biāo)準(zhǔn)化針灸中文經(jīng)穴名稱,具體如下:
把“腧”改為“俞”。如癆瘵《圣濟(jì)總錄·卷一百九十三·治骨蒸》:“……,胃腧二穴……腎腧二穴……又肝腧二穴……”。
把“三里”改為“足三里”。如噎膈《靈樞·邪氣臟腑病形》:“胃病者……膈咽不通,食飲不下,取之三里?!?/p>
把 “四花穴”改為“膈俞、膽俞”。如癆瘵:《醫(yī)學(xué)入門·卷一·治病奇穴》:“經(jīng)門四花:即崔氏四花穴,不灸脊上二穴,各開兩旁成六穴,上二穴,共闊一寸”。
把 “巨虛”改為“上巨虛、下巨虛”。如脅痛《銅人腧穴針灸圖經(jīng)·卷五·足陽明》:“巨虛下廉:胸脅少腹痛?!?/p>
把“臨泣”改為“足臨泣”。如癥瘕集聚《扁鵲神應(yīng)針灸玉龍經(jīng)·針灸歌》:“月閉乳癰臨泣妙,癥瘕膀胱即莫拋”。
把“人中”改為“水溝”。如脅痛《瓊瑤神書·卷二·二百三十五》:“治閃挫腰脅痛:腰間閃挫瀉人中,尺澤先將氣下沖”。
根據(jù)國家標(biāo)準(zhǔn)GB12346-90并參照世界衛(wèi)生組織針灸穴名國際標(biāo)準(zhǔn)《標(biāo)準(zhǔn)針灸穴名》,制作十四經(jīng)穴中英文名稱對(duì)照表1,標(biāo)準(zhǔn)化文獻(xiàn)里出現(xiàn)的經(jīng)穴名。
表1 十四經(jīng)穴中英文名稱對(duì)照表(部分)
目前常用的文本表示模型有:向量空間模型、布爾模型、概率檢索模型等。在建立數(shù)據(jù)源時(shí),利用粗糙集理論進(jìn)行屬性數(shù)據(jù)的約簡,即把每一個(gè)經(jīng)穴看成一個(gè)屬性。輸入數(shù)據(jù)時(shí),若同一文獻(xiàn)中有多次出現(xiàn)的經(jīng)穴名,則去掉冗余的僅保留一個(gè)。如文獻(xiàn)中出現(xiàn)的手三里,表示成:LI10 {LI10,0}或LI10{0,1}。把預(yù)處理完的針灸文獻(xiàn)里的經(jīng)穴名錄入到電子表格中,成為Excel文件,如郁證yuzheng.xls。
3.1經(jīng)穴文件的轉(zhuǎn)換
為進(jìn)行挖掘?qū)嶒?yàn),將Excel文件格式的數(shù)據(jù)轉(zhuǎn)換成WEKA支持的ARFF文件格式,進(jìn)行如下轉(zhuǎn)換:在Microsoft Excel中打開naozhai.xls,選擇“文件”菜單→另存為 “yuzheng”文件名,文件保存類型選擇“CSV(逗號(hào)分隔)”保存,可得到“yuzheng.csv”文件;然后,打開軟件WEKA的Explorer,點(diǎn)擊“Open file”按鈕,打開已有的yuzheng.csv文件,點(diǎn)擊“save”按鈕,在彈出的對(duì)話框中,文件名輸入“yuzheng”,文件類型選擇“Arff data files(*.arff)”,這樣就得到數(shù)據(jù)文件“yuzheng.arff”。另一種方法是打開“Tools”菜單里的“Arff Viewer”窗口,在Arff Viewer窗口打開瀏覽csv文件,另存為ARFF文件也可以。
3.2WEKA和ARFF介紹
本研究中由于經(jīng)穴名是錄入在電子表格中的,適合開源數(shù)據(jù)挖掘軟件WEKA。 WEKA存儲(chǔ)數(shù)據(jù)的格式是ARFF(Attribute-Relation File Format)文件,ARFF數(shù)據(jù)集與很多電子表格或數(shù)據(jù)分析軟件一樣用的是二維表:豎行稱作一個(gè)屬性(Attribute),相當(dāng)于統(tǒng)計(jì)學(xué)中的一個(gè)變量,或者數(shù)據(jù)庫中的一個(gè)字段,這樣的一個(gè)表格在WEKA里呈現(xiàn)的是屬性之間的一種關(guān)系(Relation)。
針灸數(shù)據(jù)集也可看作是二維表的格式,行表示古代針灸文獻(xiàn)中記載的治療某類疾病用穴的名稱,如治療郁證用到的經(jīng)穴。在此次收集到的文獻(xiàn)中一共有91次的記載(記錄);列表示文獻(xiàn)所記載經(jīng)穴穴位的名稱,出現(xiàn)了多少個(gè)名稱,即表有多少個(gè)屬性(字段)。
世界衛(wèi)生組織針灸穴名國際標(biāo)準(zhǔn)化后ARFF文件格式如下所示:
@RELATION naozhai
@ATTRIBUTE DU20 {DU20,0}
@ATTRIBUTE DU1 {DU1,0}
……
@ATTRIBUTE RN12 {RN12,0}
@ATTRIBUTE ST36 {ST36,0}
@DATA
0,0,0,0,0,BL13,0,0,0,0,0,0,0,0,0,0,0,0,SP6,0,……
……
0,0,0,0,0,0,0,0,BL43,0,0,0,0,0,0,0,0,0,0,0,0,……
0,0,0,0,0,0,0,0,0,BL17,0,0,0,0,0,0,0,,0,0,0,0,……
1)由針灸醫(yī)師在古代針灸文獻(xiàn)中先勾畫出經(jīng)穴名稱,再根據(jù)勾畫出的穴名分朝代錄入電子表格XLS格式數(shù)據(jù)源,整理核對(duì)錄入的經(jīng)穴名稱,即數(shù)據(jù)清洗。
西地那非治療新生兒肺動(dòng)脈高壓及其對(duì)循環(huán)內(nèi)皮祖細(xì)胞及腫瘤壞死因子-α的影響…………………………………………………………………………… 樊青曼,等(6):686
2)把每類疾病的針灸治療方案所用到的經(jīng)穴進(jìn)行排序分類匯總,在分類時(shí)檢查是否有重復(fù)的類,如果有則刪除。
3)把生成的十四經(jīng)穴類名復(fù)制成只有中文經(jīng)穴名稱的工作表,生成的表還不是十四經(jīng)穴的國家或國際命名標(biāo)準(zhǔn)的工作表。
4)把上表升序排列,插入一個(gè)表頭,表頭的字段1取名jingxue,表頭的字段2取名point。再把某類疾病對(duì)應(yīng)的工作表另存為DBF4(dBASEⅣ)*.dbf文件。
5)安裝數(shù)據(jù)庫語言VF,獨(dú)占方式打開dbf文件。修改設(shè)置字段 jingxue字段寬度為6個(gè)字符寬度,索引類型為候選索引,設(shè)置point字段寬度為4個(gè)字符寬度。
6)把由十四經(jīng)穴的國際標(biāo)準(zhǔn)中英文代碼的361個(gè)穴名先制作成電子表格文件,然后再轉(zhuǎn)換成數(shù)據(jù)表文件:jingxue361.dfb。表文件jingxue361.dfb文件里也有和前表同名的兩個(gè)字段:jingxue和point,且字段結(jié)構(gòu)也和前表一致,在VF中用經(jīng)穴jingxue361.dbf中的point數(shù)據(jù)填入yuzheng.dbf中的空的point字段里,這樣在yuzheng表中就有了標(biāo)準(zhǔn)化的十四經(jīng)穴英文代碼。
7)再次核對(duì)整理原文經(jīng)穴名與國標(biāo)經(jīng)穴名稱不匹配的記錄,整理完后得到規(guī)范的數(shù)據(jù)表yuzheng.dbf文件,利用VF“文件”菜單的“導(dǎo)出”命令導(dǎo)回生成yuzheng.xls。
8)把到的電子表格文件yuzheng.xls第1第2列數(shù)據(jù)項(xiàng)復(fù)制后轉(zhuǎn)置成兩行,去掉第一行的jingxue和point單元格里內(nèi)容,根據(jù)數(shù)據(jù)源表針灸治療郁癥的經(jīng)穴名所對(duì)應(yīng)的國標(biāo)代碼填入到當(dāng)前電子表格工作表中,得到布爾型數(shù)據(jù)的電子表格yuzheng.xls。
9)把得到的工作表另存為SCV文件類型的數(shù)據(jù)文件yuzheng.csv,然后啟動(dòng)WEKA,打開菜單“Tools”里的“Arff Viewer”,在Arff Viewer窗口打開yuzheng.csv文件,另存為arff文件,這樣就得到了治療郁證所用經(jīng)穴的ARFF的數(shù)據(jù)文件yuzheng.arff。
探勘中醫(yī)針灸古籍中治療多類疾病的醫(yī)案,采用數(shù)據(jù)挖掘方法提煉出古籍背后隱藏的信息,分析出經(jīng)穴數(shù)據(jù)特有的規(guī)則與規(guī)律。本文提出了一個(gè)萃取古代針灸治療各種病癥所用經(jīng)穴的方法。通過此方法得到的針灸治療各類病癥的經(jīng)穴數(shù)據(jù)集RAFF文件是深入挖掘十四經(jīng)穴的寶貴的數(shù)據(jù)資料,為經(jīng)穴文本的數(shù)據(jù)挖掘研究提供了前提條件。
[1]張勇,張豐正.數(shù)據(jù)挖掘在針灸治療鼓脹古代文獻(xiàn)中的應(yīng)用[J].瀘州醫(yī)學(xué)院學(xué)報(bào),2011,34(5):583-584.
[2]趙凌,任玉蘭,梁繁榮.有效整理古代針灸文獻(xiàn)的研究方法與要求[J].成都中醫(yī)藥大學(xué)學(xué)報(bào),2007,30(4):1-2.
[編輯] 一 凡
R245
A
1673-1409(2013)21-0146-03
2013-04-02
瀘州醫(yī)學(xué)院科研基金項(xiàng)目(2012QN-67)
張勇(1976-),男,講師,碩士,主要從事基礎(chǔ)數(shù)學(xué)及數(shù)據(jù)挖掘研究工作;通訊作者:潘宏,E-mail:120725863@qq.com。