王晰 李海燕 亢力 劉靜 邢雁輝 楊策 楊樂 李小陽 雷蕾
摘要:目的? 針對中醫(yī)藥數據的特點和數據挖掘的需求,開發(fā)中醫(yī)藥數據挖掘系統(tǒng)(TCM Miner)。方法? TCM Miner基于中醫(yī)藥術語詞表,圍繞中醫(yī)藥數據挖掘工作中的數據清洗、集成、變換、選擇等需求,分別構建用于數據清洗的數據拆分與合并、正異名替換、文本內容抽取、矩陣轉換、中醫(yī)藥文本ETL等功能模塊,用于數據挖掘的關聯關系挖掘、聚類挖掘、貝葉斯處理等功能模塊,及用于中醫(yī)藥翻譯的專業(yè)文章翻譯模塊。結果? TCM Miner有效地解決了中醫(yī)藥數據挖掘過程中數據非標準化、個性化等問題,能夠輔助科研人員進行數據清洗、數據挖掘及中醫(yī)藥文章翻譯,節(jié)省了科研人員的時間精力。結論? TCM Miner為中醫(yī)藥數據清洗和分析提供了有效工具,為中醫(yī)藥傳承創(chuàng)新提供有效途徑。
關鍵詞:中醫(yī)藥;數據挖掘;數據清洗
中圖分類號:R2-05;TP311.5??? 文獻標識碼:A??? 文章編號:2095-5707(2021)04-0001-06
DOI: 10.3969/j.issn.2095-5707.2021.04.001??????? 開放科學(資源服務)標識碼(OSID):
Construction and Application of TCM Miner
WANG Xi, LI Hai-yan, KANG Li, LIU Jing, XING Yan-hui, YANG Ce, YANG Le, LI Xiao-yang, LEI Lei*
(Institute of Information on Traditional Chinese Medicine, China Academy of Chinese Medical Sciences, Beijing 100700, China)
Abstract: Objective To develop TCM Miner in view of the characteristics of TCM data and the needs of data mining. Methods Based on the vocabulary of TCM terms, focusing on the data cleaning, integration, transformation, selection, and other requirements in the data mining of TCM, TCM Miner built function modules for data cleaning, such as data splitting and merging, positive synonym replacement, text content extraction, matrix conversion, TCM text ETL, etc., functional modules for data mining, such as association relationship mining, cluster mining, Bayesian processing for data mining, and professional article translation modules for TCM translation. Results TCM Miner could effectively solve the problems of non-standardization and personalization of data in the process of data mining of TCM, which can be used to assist researchers in data cleaning, data mining and translation of TCM articles, saving researchers time and energy. Conclusion TCM Miner provides an effective tool for TCM data cleaning and analysis, offering an effective way for TCM inheritance and innovation.
Key words: TCM; data mining; data cleaning
基金項目:中國中醫(yī)科學院基本科研業(yè)務費自主選題(ZZ140304、ZZ140309、ZZ11-106)
第一作者:王晰,E-mail: 3317669472@qq.com
*通訊作者:雷蕾,E-mail: leilei@mail.cintcm.ac.cn
在大數據時代背景下,數據挖掘工作逐步在中醫(yī)藥領域開展起來,目前數據挖掘技術在中醫(yī)證候歸納、中醫(yī)方劑、名中醫(yī)臨床經驗、中藥藥性、中藥知識圖譜、針灸取穴規(guī)律、針灸方法選擇與應用等領域均有大量應用,為臨床診治疾病、新藥開發(fā)、醫(yī)學科研等提供了參考、奠定了基礎[1-2]。然而由于中醫(yī)藥數據的不規(guī)范性、小樣本寬數據蘊含復雜信息的特點[3],中醫(yī)藥數據尤其是醫(yī)案數據的挖掘和傳統(tǒng)的“數據挖掘”有不少差別。目前主流的數據挖掘工具如SPSS、R Software、RapidMiner、Weka等已經廣泛應用于自然科學、技術科學、社會科學的各個領域。然而,它們并未考慮中醫(yī)藥數據的特點,因此在中醫(yī)藥數據清洗和挖掘方面有一定局限性。為此,我們開發(fā)了針對中醫(yī)藥數據特點的中醫(yī)藥數據挖掘系統(tǒng)(TCM Miner,http://tcmminer. cintcm.com:8023/tcm/index.jsp),它是整合數據清洗工具、數據挖掘工具和中英文翻譯工具的軟件系統(tǒng),為中醫(yī)藥科研工作者提供數據清洗、數據挖掘計算及中醫(yī)藥文獻翻譯服務,既能滿足學者對于一般數據的挖掘分析,如文獻計量分析、穴位組配規(guī)律分析、中藥組方規(guī)律分析等;又能滿足中醫(yī)藥數據特定需求,如輔助中藥、證候、穴位名稱的規(guī)范。TCM Miner于2017年正式發(fā)布,已經用于中醫(yī)藥數據挖掘領域。藺亞東等[4]使用TCM Miner完成了基于數據挖掘的中醫(yī)治療糖尿病腎病用藥規(guī)律分析,可為臨床辨治糖尿病腎病提供參考。張伏芝等[5]利用TCM Miner完成了基于中醫(yī)臨床文獻的糖尿病周圍神經病變用藥規(guī)律分析,為其中醫(yī)臨床用藥和中藥新藥開發(fā)提供參考。王偉斌[6]以古今郁證醫(yī)案為基礎,利用TCM Miner分析挖掘郁證辨治規(guī)律,為現代郁證的臨床治療提供參考。
1? 中醫(yī)藥數據挖掘系統(tǒng)的構建
1.1? 中醫(yī)藥數據挖掘系統(tǒng)總體設計
TCM Miner由頁面表現層、模塊應用層、功能服務層、核心技術層、數據管理層5個部分組成,見圖1。頁面表現層為所有用戶登錄的入口;模塊應用層是系統(tǒng)內所有的模塊劃分及對應的功能模塊;功能服務層為系統(tǒng)內用到的所有服務,包括文檔服務、搜索服務、關聯服務等;核心技術層利用Spring Security構成了核心的權限驗證體系,并通過日志審計等操作規(guī)范用戶行為;數據管理層主要包括TCM Miner后臺數據庫,存儲用戶角色權限、日志統(tǒng)計等相關數據。
1.2? 中醫(yī)藥數據挖掘系統(tǒng)功能設計
數據挖掘又稱為知識發(fā)現,即從數據中挖掘知識[7]。常用的數據挖掘方法有關聯規(guī)則、聚類、分類與預測等[8],其一般流程包括數據處理、數據挖掘和知識發(fā)現三部分,具體包括數據清理、數據集成、數據選擇、數據變換、數據挖掘、模式評估和知識表示等步驟。目前,數據挖掘工具的功能多集中在數據處理和數據挖掘方面。TCM Miner基于中醫(yī)藥數據的特點,針對數據處理和數據挖掘設計了10個功能模塊,見圖2。⑴數據清洗:包括數據拆分與合并、頻次統(tǒng)計、正異名替換、文本內容抽取、矩陣轉換、中醫(yī)藥文本ETL(數據抽取、轉換和加載)和專業(yè)文章翻譯模塊。⑵數據挖掘:包括關聯關系挖掘、聚類挖掘和貝葉斯處理模塊。
1.2.1? 數據拆分與合并模塊? 中醫(yī)藥處方數據多以“草河車、白芷、防風、大黃……”這樣的數據格式呈現,在數據分析過程中常常需要對中藥名稱進行統(tǒng)計、替換、修正。TCM Miner數據處理模塊可以實現數據的拆分與合并,便于進一步對術語進行統(tǒng)計與規(guī)范。
1.2.2? 頻次統(tǒng)計模塊? 對于數據拆分與合并后的結果,可以通過頻次統(tǒng)計模塊完成數據的統(tǒng)計。此外,對于中藥、證候的正異名統(tǒng)計問題,TCM Miner內置中藥和證候等中醫(yī)藥術語詞表,可以輔助統(tǒng)計輸入數據中規(guī)范術語的頻次。
1.2.3? 正異名替換模塊? 在對中醫(yī)藥文本進行處理時,常常需要將中醫(yī)藥異名替換為正名,工作繁瑣又耗時。正異名替換模塊內置中醫(yī)藥術語詞表,包括2015年版《中華人民共和國藥典》、《中華本草》《GB/T 16751.1-1997中醫(yī)臨床診療術語 疾病部分》《GB/T 16751.2-1997中醫(yī)臨床診療術語 證候部分》《中國中醫(yī)藥學主題詞表》(第3版)、2016年版《醫(yī)學主題詞表(中文)》等,支持用戶進行中醫(yī)藥數據的規(guī)范化處理,提高了數據挖掘的針對性和實用性及中醫(yī)藥術語翻譯的準確性。
1.2.4? 文本內容抽取模塊? 中醫(yī)醫(yī)案多以大段文本的形式存儲,而且夾雜著大量無效信息,不利于數據分析與挖掘。TCM Miner通過自然語言處理技術和內置的中醫(yī)藥術語詞表,可以提取處方數據,為進一步分析處方用藥規(guī)律奠定基礎。
1.2.5? 矩陣轉換模塊? 數據挖掘領域常用的SPSS、RapidMiner等軟件有著強大的計算功能,而中醫(yī)藥處方數據存儲格式大多不符合它們的格式要求。TCM Miner的矩陣轉換模塊可以將一組具有固定分隔符號的數據轉換成不同形式的矩陣格式,包括數據矩陣、共現矩陣、邊權矩陣等,輔助用戶與SPSS、RapidMiner等軟件聯合使用。此外,對于數據矩陣,該模塊還提供逆矩陣計算,可以將數據矩陣轉換成固定符號分隔的數據,極大地方便科研工作的回溯。
1.2.6? 中醫(yī)藥文本ETL模塊? 在實際科研工作中,文本或pdf格式的數據無法直接進行數據分析,需要將數據轉換為Excel格式,通過中醫(yī)藥文本ETL模塊,可以進行txt、doc、docx、xls、xlsx、pdf等多種格式的相互轉化。
1.2.7? 關聯關系挖掘模塊? 關聯關系挖掘可以發(fā)現存在于數據中的隱藏關系[9],TCM Miner基于Apriori算法[10],通過設置最小支持度和最小置信度完成關聯分析。如使用TCM Miner關聯關系挖掘模塊分析針灸取穴規(guī)律,挖掘不同穴位的組配關系。
1.2.8? 聚類挖掘模塊? 聚類是數據挖掘、模式識別等研究方向的重要研究內容之一[11],把1組個體按照相似性歸成若干類別。TCM Miner使用聚類經典算法k-means算法,在使用時需要設置k值,即聚類個數。
1.2.9? 貝葉斯處理模塊? 貝葉斯分類是一種統(tǒng)計學分類方法,可以在已知的樣本類型數據中學習一個模型后預測未知類型樣本屬于特定類的概率[12]。通過貝葉斯處理模塊,可以計算中藥、證候、癥狀等要素之間的概率關系。
1.2.10? 專業(yè)文章翻譯模塊? 中醫(yī)藥翻譯對中西文化交流起到非常重要的橋梁作用。目前常用的翻譯軟件如百度翻譯、谷歌翻譯、有道翻譯等對中醫(yī)藥類型文本的翻譯不夠準確。TCM Miner內置2016年版《醫(yī)學主題詞表(中文)》,可以有效進行中醫(yī)藥術語的英文翻譯工作。
1.3? 中醫(yī)藥數據挖掘系統(tǒng)工作流程設計
⑴文件上傳:用戶將本地文件上傳到TCM Miner,上傳結束后,頁面有上傳文件數據的展示。⑵配置參數:不同功能模塊有不同的參數配置需求,用戶根據需要進行參數設置。⑶結果展示:點擊運行,頁面會出現運行結果展示。⑷結果下載:用戶可以將運算結果下載到本地。
2? 中醫(yī)藥數據挖掘系統(tǒng)的應用
文獻計量分析可以定量揭示某一學科領域的發(fā)展歷程、研究熱點及發(fā)展方向,是中醫(yī)藥數據挖掘領域的主要研究方向之一,主要涉及期刊、主題詞/關鍵詞、作者、機構、發(fā)表年份、基金等指標的統(tǒng)計挖掘。本文以針灸治療失眠的文獻計量研究為例,展示TCM Miner的應用步驟,見圖3。
2.1? 文本處理
以中國生物醫(yī)學文獻服務系統(tǒng)為數據來源,并以("入睡和睡眠障礙"[不加權:擴展] AND "針灸療法"[不加權:擴展])AND 2016-2020[日期]為檢索式,得到459條記錄,下載為.txt文本格式,然后使用TCM Miner中醫(yī)藥文本ETL模塊將文本題錄轉換成Excel格式,見圖4。
2.2? 頻次統(tǒng)計
對于以固定分隔符分隔的一組數據,例如關鍵詞、作者、機構等,可以通過TCM Miner的數據拆分與合并模塊將數據轉換為單個詞,然后使用頻次統(tǒng)計模塊對詞頻進行統(tǒng)計,見圖5。對于本身為單個詞的數據,例如發(fā)表年份、期刊等,可以直接使用TCM Miner的頻次統(tǒng)計模塊進行統(tǒng)計,見圖6。
2.3? 主題詞/關鍵詞聚類分析
對主題詞/關鍵詞聚類分析可以了解一個領域的研究熱點。有學者使用SPSS的層次聚類方法對2003-2013年國內生物醫(yī)學類科技期刊的主題詞進行分析,探討國內可吸入顆粒物PM2.5研究的熱點[13]。使用TCM Miner的矩陣轉換模塊將關鍵詞列轉換為數據矩陣,然后輸入到SPSS中進行層次聚類分析,見圖7。
2.4? 作者高頻組合分析
使用TCM Miner的關聯關系挖掘模塊對作者頻繁項集和強關聯關系進行分析,可以找出作者的高頻組合,進一步明確研究團隊的情況,見圖8。
3? 總結與展望
做好中醫(yī)藥數據挖掘工作是中醫(yī)藥傳承創(chuàng)新的重要方面,然而費時費力的數據處理讓研究者對數據挖掘工作望而卻步。一般來說,在整個數據挖掘工作中,至少60%的精力和時間花在數據處理上[14]。中醫(yī)藥數據有著自身的特點,例如中藥、證候等同物異名現象廣泛存在,中醫(yī)醫(yī)案存儲形式多為大段文本,規(guī)范術語需要耗費大量的人力,給中醫(yī)藥數據挖掘工作帶來不便。TCM Miner以中醫(yī)藥術語詞表為支撐,形成了服務于中醫(yī)藥領域數據清洗、數據挖掘、文本翻譯領域的應用系統(tǒng),有效幫助科研人員進行中醫(yī)藥數據拆分與合并、頻次統(tǒng)計、正異名替換、文本內容抽取、數據轉換、數據挖掘、文本翻譯等工作,節(jié)省了科研人員的時間與精力,為中醫(yī)藥領域的處方用藥規(guī)律分析、文獻分析、針灸取穴規(guī)律分析等提供了有效工具。
由于數據的更新速度快,原有的詞表需要不斷更新,而且隨著數據挖掘的算法越來越多,系統(tǒng)功能模塊也需要不斷增加和優(yōu)化。TCM Miner將不斷完善內置中醫(yī)藥術語詞表和功能模塊,更好地為中醫(yī)藥科研人員提供服務。
參考文獻
[1] 徐靜雯,夏菁,邸若虹,等.數據挖掘技術在中醫(yī)藥研究中的應用進展[J].醫(yī)學綜述,2019,25(18):3672-3676,3681.
[2] 曾悅,張君.數據挖掘技術在中醫(yī)藥領域應用[J].中國中醫(yī)藥信息雜志,2012,19(3):99-100.
[3] 朱彥,朱玲,崔蒙.論中醫(yī)藥數據挖掘[J].中華中醫(yī)藥雜志,2016, 31(8):2932-2935
[4] 藺亞東,張伏芝,雷蕾,等.基于數據挖掘的中醫(yī)治療糖尿病腎病用藥規(guī)律分析[J].中國中醫(yī)藥信息雜志,2020,27(5):102-106.
[5] 張伏芝,藺亞東,雷蕾,等.基于中醫(yī)臨床文獻分析糖尿病周圍神經病變的用藥規(guī)律[J].中國實驗方劑學雜志,2020,26(13):199-205.
[6] 王偉斌.基于古今醫(yī)案的郁證辨治規(guī)律研究[D].北京:中國中醫(yī)科學院,2019.
[7] 胡雪琴,楊寅,崔蒙.關于中醫(yī)藥數據挖掘研究理念變遷的探討[J].中國中醫(yī)藥圖書情報雜志,2017,41(1):12-15.
[8] HAN J W, Kamber M, PEI J.數據挖掘概念與技術(原書第3版)[M].范明,孟小峰,譯.北京:機械工業(yè)出版社,2012.
[9] 周琳,劉樹春.關聯規(guī)則在中醫(yī)臨床信息分析中的應用[J].中國中醫(yī)藥圖書情報雜志,2014,38(4):13-15,21.
[10] 常少春.高效頻繁項集發(fā)現方法與Apriori的改進[D].鎮(zhèn)江:江蘇科技大學,2011.
[11] 孫吉貴,劉杰,趙連宇.聚類算法研究[J].軟件學報,2008,19(1):48-61.
[12] 邢雁輝,崔蒙,儲戟農,等.基于貝葉斯分類算法的治療中風中藥組方研究[J].中西醫(yī)結合心腦血管病雜志,2015,13(4):471-474.
[13] 李玉潔,雷蕾,劉栩岑,等.2003-2013年國內生物醫(yī)學類科技期刊可吸入顆粒物相關研究文獻分析[J].中國實驗方劑學雜志,2015, 21(3):1-5.
[14] 陳亞楠,卓佳,廖廷悟.淺談數據預處理理論[J].中國證券期貨, 2010(9):153.
(收稿日期:2021-02-03)
(修回日期:2021-02-28;編輯:鄭宏)