王晰 李海燕 亢力 劉靜 邢雁輝 楊策 楊樂 李小陽 雷蕾



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