李穎 王月 郝建軍 王嘉鋒
摘要:針對中醫(yī)診斷過于依賴醫(yī)生經(jīng)驗的問題,提出一種基于互信息的中醫(yī)癥狀推薦系統(tǒng)。首先,對原始病例數(shù)據(jù)進行中醫(yī)癥狀規(guī)范化,構建癥狀術語字典,使系統(tǒng)輸入規(guī)范的癥狀;然后,通過互信息計算癥狀之間的關聯(lián)性;最后,利用歸一化折損累計增益(NDCG)指標驗證癥狀的推薦效果,獲得癥狀的推薦列表。實驗結果表明,該系統(tǒng)能根據(jù)一個癥狀或多個癥狀獲得其他相關聯(lián)的癥狀,實現(xiàn)中醫(yī)癥狀推薦功能。
關鍵詞:中醫(yī);互信息;癥狀推薦;數(shù)據(jù)挖掘;癥狀術語字典;歸一化折損累計增益
中圖分類號:TP311???????????文獻標志碼:A ???????????文章編號:1674-2605(2023)05-0008-06
DOI:10.3969/j.issn.1674-2605.2023.05.008
Chinese Medicine Symptoms Recommendation System Based on Mutual Information
LI Ying1??WANG Yue2 ?HAO Jianjun3??WANG Jiafeng3
(1.Dongguan Zhongke Institute of Cloud Computing, Dongguan 523000, China
2.Guangdong Electronics Industry Research Institute Co., Ltd., Dongguan 523000, China
3.Guangzhou Huangpu Traditional Chinese Medicine Hospital, Guangzhou 510700, China)
Abstract:?A Chinese medicine symptom recommendation system based on mutual information is proposed to address the issue of excessive reliance on doctor experience in Chinese medicine diagnosis. Firstly, standardize Chinese medicine symptoms on the original case data, construct a symptom terminology dictionary, and enable the system to input standardized symptoms; Then, calculate the correlation between symptoms through mutual information; Finally, use the NDCG indicator to verify the recommendation effect of symptoms and obtain a recommended list of symptoms. The experimental results show that the system can obtain other related symptoms based on one or more symptoms, and achieve the recommendation function of Chinese medicine symptoms.
Keywords:?Chinese medicine; mutual information;?symptoms recommendation; data mining; dictionary of symptom terms; normalized discounted cumulative gain
0??引言
我國中醫(yī)學博大精深、歷史悠久,是現(xiàn)代醫(yī)療體系重要的組成部分。中醫(yī)的診療過程包括四診識別和辨證論治2個階段,即醫(yī)生先通過望、聞、問、切,結合診療經(jīng)驗辨別患者的身體狀況和疾病信息;再總結提取相應的癥狀,得到證候信息,從而做出診斷并
給出治療方案。在癥狀提取過程中,醫(yī)生通常根據(jù)患者當前癥狀詢問相關聯(lián)的癥狀,這個過程非常依賴醫(yī)生的個人經(jīng)驗,經(jīng)驗較少的醫(yī)生難以獲取準確癥狀。近年來,隨著互聯(lián)網(wǎng)、人工智能技術的快速發(fā)展,相關技術已經(jīng)應用于中醫(yī)領域[1-3],推動了中醫(yī)現(xiàn)代化發(fā)展的進程[4-5]。結合人工智能與大數(shù)據(jù)技術進行中醫(yī)輔助診斷,推薦與患者當前癥狀相關聯(lián)的其他癥狀,具有十分重要的現(xiàn)實意義。
宋海貝等[6]基于層次聚類和卷積神經(jīng)網(wǎng)絡開發(fā)了中醫(yī)舌像面像輔助診療系統(tǒng),可對舌像和面像進行自動診斷和分析,并將結果實時反饋給用戶,達到健康管理的目的。余江維等[7]利用文本挖掘與自動分類技術,通過TF-IDF算法進行中醫(yī)證候的自動分類與量化研究,得到不同證型的證候分布,驗證了TF-IDF相對熵量化中醫(yī)證候的可行性。任晉宇等[8]利用數(shù)據(jù)挖掘和度量學習技術挖掘、整理中醫(yī)診療經(jīng)驗知識,建立病案相似度的計算方法,設計并實現(xiàn)了中醫(yī)輔助診療推薦系統(tǒng)。
推薦系統(tǒng)是互聯(lián)網(wǎng)領域有效的信息過濾方法,可避免信息過載,實現(xiàn)個性化服務。主流的推薦系統(tǒng)一般采用基于信息內(nèi)容、基于協(xié)同過濾、基于知識、混合的推薦方法[9-10]。近年來,已有許多學者將推薦系統(tǒng)的思想應用于中醫(yī)癥狀推薦領域。吳信朝等[11]利用癥狀之間的余弦相似度確定患者的推薦癥狀,實現(xiàn)中醫(yī)癥狀的推薦功能,解決了人工經(jīng)驗強耦合的問題,能夠從較多的相似癥狀中,篩選并確定患者的推薦癥狀。曹靜[12]提出基于癥狀關聯(lián)網(wǎng)絡的中醫(yī)輔助問診提示癥狀推薦算法,通過分析中醫(yī)問診數(shù)據(jù)得到下一步問診提示,提高醫(yī)生辨證的準確性。
本文利用互信息技術,分析中醫(yī)癥狀的相關性,實現(xiàn)根據(jù)患者當前癥狀推薦相關聯(lián)癥狀的功能,可輔助醫(yī)生診療,提高醫(yī)生的工作效率。
1??中醫(yī)癥狀推薦系統(tǒng)
基于互信息的中醫(yī)癥狀推薦系統(tǒng)主要包括在線癥狀輸入模塊、癥狀提取模塊、癥狀關聯(lián)度計算模塊、癥狀推薦模塊4部分,系統(tǒng)框圖如圖1所示。
在線癥狀輸入模塊輸入患者的當前癥狀;癥狀提取模塊構建癥狀病例數(shù)據(jù)集;癥狀關聯(lián)度計算模塊計算與輸入癥狀相關聯(lián)的前k個癥狀;癥狀推薦模塊輸出推薦的癥狀。
1.1??癥狀提取
原始病例數(shù)據(jù)是描述患者信息的自然語言文本,而基于互信息的中醫(yī)癥狀推薦系統(tǒng)的數(shù)據(jù)處理需使用具體的癥狀向量,因此需要對病例數(shù)據(jù)進行癥狀提取操作。
首先,對原始病例數(shù)據(jù)進行數(shù)據(jù)清洗,選取主述及現(xiàn)病史部分文本,通過正則表達式等操作過濾噪聲內(nèi)容,篩選出包含患者癥狀相關信息的自然語言文本句子。
然后,制定癥狀術語字典。由于中醫(yī)癥狀描述方式眾多且尚未有統(tǒng)一的術語字典,同一個癥狀有多種不同的描述方式。為便于后續(xù)處理,將中醫(yī)癥狀描述規(guī)范化,制定癥狀術語字典。如鼻腔分泌物清稀、有鼻水這兩種癥狀描述可以規(guī)范化為鼻流清涕。先將描述癥狀的自然語言文本數(shù)據(jù)轉(zhuǎn)化為結構化數(shù)據(jù),并使數(shù)據(jù)標注盡可能去模糊化;再結合臨床病例數(shù)據(jù)與《中醫(yī)診斷學》[13]、《中醫(yī)癥狀鑒別診斷學》[14]、《常見癥狀鑒別診斷學》[15]中的癥狀術語及解釋,得到癥狀術語字典。
最后,利用癥狀術語字典對病例數(shù)據(jù)進行癥狀提取,獲得患者的證候信息,構建癥狀病例數(shù)據(jù)集。病例數(shù)據(jù)中的癥狀提取方法為:1) 通過規(guī)范化的癥狀名及別稱進行字符串匹配,匹配相似度利用萊文斯坦距離(一個字符串轉(zhuǎn)成另一個字符串所需的最少編輯操作次數(shù))來衡量;2) 計算2個字符串的相似度時,將較長的字符串裁剪成與較短字符串相同長度的多個子字符串,計算各個子字符串與較短字符串的萊文斯坦距離,并以其最小值作為2個字符串的相似度。2個字符串相似度的定義為
若病例數(shù)據(jù)的自然語言文本與某個癥狀關鍵字的相似度大于設定閾值,則認為該文本中有這個癥狀。通過不斷迭代學習可得到最優(yōu)閾值,從而準確提取文本對應的癥狀。
1.2??癥狀關聯(lián)度計算
基于互信息的中醫(yī)癥狀推薦系統(tǒng)的關鍵步驟為癥狀關聯(lián)度計算,通過癥狀關聯(lián)度可獲得與當前輸入癥狀相關的其他癥狀。本文利用互信息算法來計算癥狀病例數(shù)據(jù)集的癥狀關聯(lián)度,流程如圖2所示。
互信息表示變量X和Y的關聯(lián)程度,關聯(lián)程度越高,互信息值越大,計算公式為
首先,以測試集中病例數(shù)據(jù)主述癥狀為輸入,現(xiàn)病史的癥狀為真實癥狀,利用互信息矩陣計算并選取前k個互信息值高的推薦癥狀;然后,利用測試集中推薦癥狀的歸一化折損累計增益(normalized discounted cumulative gain, NDCG)指標來驗證推薦準確度,并根據(jù)NDCG指標來調(diào)整算法參數(shù),反復迭代得到最佳參數(shù);最后,合并訓練集和測試集,計算癥狀的互信息矩陣。
NDCG用于評估推薦結果的效果,取值范圍為0~1,值越大推薦效果越好,計算公式為
推薦系統(tǒng)返回一個推薦癥狀列表,每個推薦癥狀都有相關性的評分值。
1.3 ?癥狀推薦
通過癥狀關聯(lián)度計算模塊得到癥狀病例數(shù)據(jù)集的互信息矩陣后,新的在線輸入癥狀可利用該互信息矩陣來計算當前癥狀與數(shù)據(jù)集中其他癥狀的互信息值,最后選取前k個互信息值高的癥狀作為當前癥狀的推薦癥狀。
2??實驗
2.1 ?實驗數(shù)據(jù)
本文采用的病例數(shù)據(jù)來自某醫(yī)院的臨床門診病例數(shù)據(jù)共3?312條。對病例數(shù)據(jù)中的癥狀規(guī)范化處理后,癥狀術語字典包含844種規(guī)范癥狀,2?232種別稱。
2.2 ?實驗結果與分析
首先,將原始病例數(shù)據(jù)中的主述文本和現(xiàn)病史文本進行數(shù)據(jù)預處理,劃分為包含癥狀信息的單個文本句子;然后,對文本句子進行癥狀提取,本文癥狀提取采用的字符串相似度閾值為0.7;最后,將癥狀提取算法得到的癥狀與真實存在的癥狀進行對比計算,在病歷主訴文本中的準確率為88.32%,在現(xiàn)病史文本中的準確率為83.04%。部分文本癥狀提取結果如表1所示。
本實驗采用的3?312條病例數(shù)據(jù)包含17?875個癥狀,431種癥狀類別,癥狀間可兩兩組合成9?729對癥狀對,其中出現(xiàn)頻次最高的前10對癥狀對如表2所示。
利用公式(3)計算癥狀對的互信息值,取得分高的前10對癥狀對如表3所示。
由表3可知,出現(xiàn)頻次高的癥狀對的互信息值不一定大,這是因為互信息值的計算不僅取決于癥狀對共同出現(xiàn)的概率,還與每個癥狀單獨出現(xiàn)的概率成反比。如失眠癥狀出現(xiàn)次數(shù)較多,導致包含該癥狀的癥狀對的互信息值變小。
為了減少偶然性,將癥狀病例數(shù)據(jù)集按4∶1隨機劃分為訓練集和測試集。利用訓練集數(shù)據(jù)計算互信息矩陣,將訓練集中的癥狀兩兩組合,共得到8?723對癥狀對,互信息值最高的前10對癥狀對及互信息值如表4所示。
由表4可知,訓練集中失眠和煩躁癥狀對的互信息值最高,表示訓練集中失眠和煩躁癥狀關聯(lián)性相對較高。
根據(jù)癥狀對的互信息值,構建癥狀對互信息矩陣。該矩陣是一個431×431的二維數(shù)組,每一行每一列為一個癥狀,數(shù)值為癥狀對的互信息值。利用互信息矩陣計算訓練集中的推薦癥狀,具體操作為:將訓練集的主述癥狀作為輸入,計算其對應的推薦癥狀列表;如果輸入多于2個癥狀,則將各癥狀單獨輸入后得到的推薦列表對應的癥狀推薦分數(shù)相加。測試集隨機抽取5個病例數(shù)據(jù)的癥狀輸入與推薦癥狀(設置為前10個)及病例數(shù)據(jù)中真實出現(xiàn)的癥狀結果如表5所示。
由表5可知,推薦的前10個癥狀基本可以涵蓋實際癥狀,僅有個別特殊關聯(lián)性較小的癥狀未被推薦,如咳嗽與大便溏的癥狀對在數(shù)據(jù)集中只有69對,其互信息值較低,前10個推薦癥狀中未給出大便溏的癥狀。
為了進一步研究不同推薦癥狀個數(shù)對推薦結果的影響,分別計算測試集中5~50個推薦癥狀的NDCG值及F1分數(shù),結果如表6所示。
由表6可知:隨著推薦癥狀個數(shù)增多,推薦結果的NDCG值也不斷增大,說明增加推薦癥狀個數(shù)有利于數(shù)據(jù)集中癥狀關聯(lián)性較小的癥狀推薦,可提高頻率較少的特殊關聯(lián)癥狀推薦的準確度;當推薦癥狀個數(shù)為20時,F(xiàn)1分數(shù)最高,說明推薦癥狀個數(shù)為20時,推薦效果最好。
根據(jù)上述實驗結果,設置推薦癥狀個數(shù)為前20個,在癥狀病例數(shù)據(jù)集內(nèi)計算癥狀對的互信息值,構建互信息矩陣,推薦相關聯(lián)癥狀。實驗采用5組輸入癥狀,最終的推薦效果如表7所示。
由表7可知,采用基于互信息的中醫(yī)癥狀推薦系統(tǒng)得到的推薦癥狀基本為輸入癥狀的相關癥狀。
3??結論
本文主要研究從臨床病例數(shù)據(jù)的癥狀提取基于互信息技術的癥狀推薦的全過程。實驗結果表明,本文提出的基于互信息的中醫(yī)癥狀推薦系統(tǒng)可有效推薦當前癥狀的相關聯(lián)癥狀,在醫(yī)生問診過程中給予提示,減輕醫(yī)生因經(jīng)驗不足而導致的診斷困難。同時該系統(tǒng)應用于醫(yī)院病歷系統(tǒng),有助于醫(yī)生快速方便地記錄癥狀信息,提高病歷錄入的效率。后續(xù)研究中可不斷補充完善病例數(shù)據(jù)庫資源,進一步提高系統(tǒng)的穩(wěn)定性和可靠性。
參考文獻
[1] 李艷,楊國慶,雙嬌月.人工智能在醫(yī)療應用中的新進展[J].中國醫(yī)藥導報,2021,18(13):43-46.
[2] 陳挺木.一種疫情防控用服務機器人系統(tǒng)的設計與驗證[J].機電工程技術,2022,51(12):241-243.
[3] 劉輝,牛智有.電子鼻技術及其應用研究進展[J].中國測試,?2009,35(3):6-10.
[4] 任相閣,任相穎,李緒輝,等.醫(yī)療領域人工智能應用的研究進展[J].世界科學技術-中醫(yī)藥現(xiàn)代化,2022,24(2):762-770.
[5] 文杭,黃麗,劉江,等.人工智能技術在中醫(yī)臨床診療中的應用研究進展[J].中國醫(yī)藥導報,2021,18(8):42-45.
[6] 宋海貝,溫川飆,程小恩.基于AI的中醫(yī)舌象面象輔助診療系統(tǒng)構建[J].時珍國醫(yī)國藥,2020,31(2):502-505.
[7] 余江維,余泉,張?zhí)?,?基于TF-IDF相對熵的中醫(yī)證候量化研究[J].世界科學技術-中醫(yī)藥現(xiàn)代化,2015,17(10):1986-1991.
[8] 任晉宇,白琳,鐘華.中醫(yī)輔助診療推薦系統(tǒng)設計與實現(xiàn)[J]. 中國中醫(yī)藥圖書情報雜志,2021,45(3):1-5.
[9] XU Hailing, WU Xiao, LI Xiaodong, et al. Comparison study of Internet recommendation system[J]. Journal of Software, 2009, 20(2):350-362.
[10] 鄭誠,徐啟南,章金平.基于互信息的推薦系統(tǒng)方法研究[J]. 微電子學與計算機,2018,35(12):76-79;84.
[11] 吳信朝,阮曉雯,陳遠旭.一種無監(jiān)督中醫(yī)癥狀推薦方法、裝置、設備及介質(zhì):CN114743670A[P].2022-07-12.
[12] 曹靜.基于復雜網(wǎng)絡的推薦算法在中醫(yī)輔助問診中的應用研究[D].鎮(zhèn)江:江蘇大學,2018.
[13] 李燦東.中醫(yī)診斷學[M].北京:中國中醫(yī)藥出版社,2016.
[14] 姚乃禮.中醫(yī)癥狀鑒別診斷學[M].北京:人民衛(wèi)生出版社, 2002.
[15] 朱豫川,鄭海軍,馮衛(wèi)華.常見癥狀鑒別診斷學[M].北京:中醫(yī)古籍出版社,2001.
作者簡介:
李穎,女,1986年生,博士研究生,工程師,主要研究方向:知識圖譜和深度學習在中醫(yī)藥大數(shù)據(jù)的融合應用。E-mail: liying@casc.ac.cn
王月,女,1996年生,碩士研究生,工程師,主要研究方向:自然語言處理在中醫(yī)領域的應用研究。E-mail: wangyue_hit0616@163.com
郝建軍,男,1955年生,教授,主任中醫(yī)師,主要研究方向:臨床內(nèi)科和中西醫(yī)結合的臨床研究。E-mail:?2217064411@qq.com
王嘉鋒,男,1979年生,大學本科,主任中醫(yī)師,主要研究方向:中醫(yī)內(nèi)科、醫(yī)院管理。E-mail:?670097078@qq.com