張云純
摘? 要: 本文提出一種基于TF-IDF和互信息的方劑推薦算法。其核心思想是根據(jù)TF-IDF算法的原理,確定核心藥物;再計算核心藥物和方劑間的互信息來確定二者相關性,以此確定最有效的方劑。對名老中醫(yī)治療肺癌的542首方劑,共計342味藥物進行數(shù)據(jù)挖掘,通過該算法獲得核心藥物71味,推薦方劑126首。采用該算法獲得名老中醫(yī)治療肺癌的核心方劑的結果表明,該算法通用性強,效率高。由于不僅探索了藥物層面的規(guī)律,還挖掘了方劑層面的信息,故該算法有較高的實用價值。
關鍵詞: TF–IDF; 有向含權網(wǎng)絡; 互信息; 推薦算法; 權重影響因子
中圖分類號:TP311? ? ? ? ? 文獻標志碼:A? ? ?文章編號:1006-8228(2019)12-42-05
Research on recommendation algorithm based on TF-IDF and Mutual-information
Zhang Yunchun
(School of Computer Science and Engineering, Nanjing university of Science and Technology, Nanjing, Jiangsu 210094, China)
Abstract: This paper proposes a prescription recommendation algorithm based on TF-IDF (Term Frequency-Inverse Document Frequency) and Mutual-information. The core idea is to determine the core drug according to the principle of TF-IDF algorithm. Then, the Mutual-information between the core drug and the prescription is calculated to determine the correlation between the two, so as to determine the most effective prescription. Through the data mining of 542 prescriptions of TCM treatment for lung cancer, a total of 342 drugs, 71 core drugs and 126 recommended prescriptions were obtained by this algorithm. The result of obtaining the core prescription of famous herbalist doctors in the treatment of lung cancer with this algorithm shows that the algorithm has strong universality and high efficiency. The algorithm is of high practical value because it not only explores the law of drug level, but also excavates the information of prescription level.
Key words: TF-IDF; directed weighted network; mutual-information; recommendation algorithm; weight factor
0 引言
在自然語言處理中,常見的文本向量化方法為詞頻-逆向文件頻率(term frequency–inverse document frequency,簡稱TF - IDF)方法。TF - IDF方法的核心思想是:一個詞是否是核心詞匯,需要從該詞匯出現(xiàn)的次數(shù)和該詞匯在整個文檔集合中的代表性這兩方面來考慮。在中醫(yī)領域,方劑和藥物的關系與自然語言處理領域中文檔和詞匯的關系十分類似,同樣,要確定某一味藥是否是核心藥物,也需要同時滿足兩個條件:⑴該藥物是否出現(xiàn)頻率足夠多;⑵該藥物是否僅在某些方劑中出現(xiàn)較多,而在其他方劑中出現(xiàn)較少。
有數(shù)據(jù)顯示,中國癌癥新發(fā)病例占世界的20%,肺癌位居中國癌癥發(fā)病率、死亡率的第一位,已與發(fā)達國家水平相當[1-2]。針對肺癌的中醫(yī)方劑有成千上萬條,其中起到主要作用的藥物數(shù)量雖然少,但是對治療效果起著決定性的作用。如果能夠指出方劑中起到主要作用的藥物,并依據(jù)此推薦方劑,則可有效推動中醫(yī)的發(fā)展。然而,中醫(yī)醫(yī)案數(shù)據(jù)具有數(shù)據(jù)量大、隱含信息量大、數(shù)據(jù)非結構化等特性,僅靠人工提取核心藥物,不僅效率低下,準確度也不高。因此,學界多采用數(shù)據(jù)挖掘與復雜網(wǎng)絡結合的方式提取核心藥物并依此推薦方劑。
復雜網(wǎng)絡(Complex Network),是指具有自組織、自相似、吸引子、小世界、無標度中部分或全部性質(zhì)的網(wǎng)絡[3]。近年來,復雜網(wǎng)絡廣泛應用于社交、自然語言處理及交通領域等。復雜網(wǎng)絡在中醫(yī)藥研究領域的應用也十分普遍,常見的有挖掘藥物和癥候之間的關系,探索藥物配伍之間的規(guī)律,發(fā)現(xiàn)相似的方劑組成等。如Zhou [4]等人利用方劑間的相似度,建立方劑的復雜網(wǎng)絡,然后通過網(wǎng)絡中節(jié)點的度數(shù)分析,提取出度數(shù)最高的幾種方劑,再研究這些方劑中藥物的配伍關系。陳澈[5]等利用復雜網(wǎng)絡對2型糖尿病的用藥規(guī)律進行了研究,進而發(fā)現(xiàn)了治療該病的核心藥物。韓楠[6]等根據(jù)中藥方劑特性構建TCM模型,結合TCM網(wǎng)絡的小世界特性提出TCM網(wǎng)絡的局部適應度模型,分析TCM網(wǎng)絡的特性并挖掘TCM網(wǎng)絡中配伍關系緊密、相似度較大的藥物群。圖模型作為復雜網(wǎng)絡模型的抽象,也極具研究價值。在中醫(yī)領域,通過構建網(wǎng)絡模型,能夠揭示藥物之間的結構關系,進而更深層次地分析方劑與病癥的關聯(lián)。
基于上述原理,本文提出一種基于TF-IDF和互信息的方劑推薦算法(Prescription recommendation algorithm based on TF-IDF and Mutual-information,簡稱PRTM)。首先構建有向含權方劑-藥物網(wǎng)絡模型(Directed Weighted Prescription-Drug Network,簡稱[DWPDN]);其次,基于TF-IDF的原理,衡量藥物的重要性;再利用互信息來衡量核心藥物與方劑的關系,推薦出最具價值的方劑。本研究所采用的數(shù)據(jù)主要包括來自于中醫(yī)科研機構、中醫(yī)院等的臨床數(shù)據(jù)及其內(nèi)部信息平臺上的案例數(shù)據(jù),及部分中醫(yī)藥網(wǎng)站的經(jīng)典醫(yī)案數(shù)據(jù),共計542首。本算法的優(yōu)點在于:①不僅僅確定了核心藥物,還基于互信息的概念,根據(jù)核心藥物進而確定推薦方劑;②具有較強的通用性,對于任何疾病可采用該模型得到對應的推薦方劑;③算法時間、空間復雜度相對較低,執(zhí)行效率高。
1 數(shù)據(jù)預處理
錯誤的輸入會導致錯誤的輸出,如果數(shù)據(jù)集多源異構,且數(shù)據(jù)集中的數(shù)據(jù)存在名稱不規(guī)范、方劑冗余度大等問題,將直接影響結果的準確性。因此,數(shù)據(jù)預處理是數(shù)據(jù)挖掘中一個很重要的步驟。本節(jié)將對上述問題提出解決方案。
1.1 多源異構數(shù)據(jù)集的采集
中醫(yī)肺癌醫(yī)案數(shù)據(jù)的多源異構型主要是指數(shù)據(jù)具有以下特點:⑴來源廣,來自不同的中醫(yī)高等院校、科研機構、中醫(yī)院、權威中醫(yī)藥網(wǎng)站等;⑵格式復雜且相互之間不兼容,主要的格式有sql、xls、txt、html等。如何從多源異構數(shù)據(jù)集中抽取實體關系是重要的研究課題。
針對上述類型的文本,其中,sql、xls文本的結構化程度高,通過簡單的數(shù)據(jù)清洗以及對缺省值的補充和舍去,可達到實體關系抽取的目的。txt通常是非結構化文本,但考慮到此類數(shù)據(jù)通常數(shù)據(jù)量不是很大,可采用人工處理和添加特殊符號進行切分的方法來得到實體之間的關系。較txt文本數(shù)據(jù)、excel和sql,html文件兼有數(shù)據(jù)量大和非結構化兩個特性,如何得到網(wǎng)頁數(shù)據(jù)也是本項研究的核心工作之一。
本研究獲取中醫(yī)藥網(wǎng)站信息的流程如圖1所示。
1.2 藥物名稱規(guī)范化
部分專家使用的方劑中存在著藥物名稱不規(guī)范的問題,比如板藍根會被寫作板蘭根等。本文根據(jù)《中華本草》中的標準名稱,來對中藥的名稱做了規(guī)范化的處理。
考慮其工作量不是很大,此處采用人工查找替換的模式進行。
1.3 方劑聚類
針對同一疾病,不同專家開出的藥方可能完全不同,但也存在著幾首方劑中大部分藥物相同,只有一兩味藥不同的情況,亦有專家直接在某藥方的基礎上標記加減藥物。重復方劑會導致算法執(zhí)行效率低,因此,此處考慮采用計算JACCARD相似度的方式,將相似度值大于0.85的方劑作為同一類方劑,其計算公式如式⑴所示:
⑴
式中的X和Y均表示方劑,分子表示兩首方劑中重疊的藥物味數(shù),分母表示兩首方劑中總共出現(xiàn)的藥物味數(shù)。
2 研究方法
PRTM算法分三個步驟。第一步,構建有向含權方劑-藥物網(wǎng)絡模型[DWPDN];第二步,使用基于改進的TF-IDF方法發(fā)現(xiàn)核心藥物;第三步,在[DWPDN]中根據(jù)點互信息對上一步發(fā)現(xiàn)的核心藥物推薦方劑。
2.1 [DWPDN]模型的構建
方劑學是研究中藥方劑的組成、變化和臨床運用規(guī)律的一門學科,主要包括方劑組成的原則、使用及變化等[7]。方劑藥物網(wǎng)絡的構建主要有藥物-藥物網(wǎng)絡(Drug-Drug Network,簡稱[DDN])、方劑-藥物網(wǎng)絡(Prescription-Drug Network,簡稱[PDN])及方劑-方劑網(wǎng)絡(Prescription-Prescription Network,簡稱[PPN])三種。
[PDN]模型可以表示方劑-藥物關系。具體地,從某個方劑出發(fā),畫出一條有向邊指向某味藥物,即可以表示該方劑與該藥物之間的包含關系。然而,傳統(tǒng)的[PDN]模型并不能較為完整的表示這種模糊關系[8]。譬如,用[PDN]模型表示知識“茯神和黨參是治療肺癌的方劑1中的兩味藥藥物”見圖2。從圖2中可見,茯神和黨參都是方劑中的藥物,至于藥物之間的重要程度卻不得而知,這就使得在具體判斷哪味藥更有效果時帶來不便。顯然,[PDN]模型不能表示出同一方劑與不同藥物之間的模糊對應關系。
針對這些不足,本文引入權值因子(weight factor,簡稱[WF])來度量方劑和藥物關系的模糊性。將傳統(tǒng)的[PDN]模型改進為[DWPDN]模型。將上文的兩條知識用[DWPDN]進行表示,如圖3所示。
本文根據(jù)方劑中藥物的位置情況以及方劑和藥物之間的指向關系來確定[WF],[WF]的定義詳見下一小節(jié)。
2.2 改進的TF-IDF的核心藥物發(fā)現(xiàn)算法
本算法基于結合TF-IDF的原理,將其類比于中藥領域的方劑-藥物關系上,提出一種衡量藥物有效性(Drug Efficacy,簡稱[DE])的標準,其中[DE(dg)]表示藥物[dg]在治療疾病時的有效性,具體公式如式⑵所示。
⑵
式⑵中,[ps[i]]表示第[i]首方劑,[ps_set]表示所有方劑形成的集合,[lenps_set]表示所有方劑的個數(shù),[ps[j]∈ps_setcount(dg∈ps[j])]表示包含[dg]藥物的方劑個數(shù)。需要指明的是,該小節(jié)計算的[DE]值即3.1中方劑與邊之間的權重[WF]。
該公式的含義在于,所確定的藥物的有效性從兩個層面來衡量,即如果一味藥物是核心藥物,不僅需要確保它在方劑中出現(xiàn)的頻次高,還需要保證它不是一味在每首方劑中都會出現(xiàn)的輔佐藥物。例如,假設藥物A作為甜味劑出現(xiàn)在每首方劑中,則式⑵中[log]部分的值為0,整體的值亦為0,也就是說盡管藥物A的頻次很高,卻是一味十分普通的輔佐藥物,不能作為核心藥物。
算法將藥物有效性大于平均值藥物有效性[aveg_de]的藥物作為核心藥物,具體實現(xiàn)流程如下:
2.3 方劑推薦算法
盡管通過上一步中基于改進的TF-IDF核心藥物發(fā)現(xiàn)算法,已經(jīng)確定了淺層知識,即治療肺癌的核心藥物。核心藥物分配在各首方劑之中,如何判斷哪些方劑才是最有效的也是亟待解決的問題。
本文利用上一步得到的核心藥物,從中挖掘一些深層知識,即計算其與方劑的互信息,以確定推薦的方劑。
基于此考慮,本文借鑒互信息的算法思想,將方劑與核心藥物的關系的強度用互信息[9-11]([Mutual] [Information],簡記為[MI])衡量?;バ畔⑵鋵嵕褪屈c互信息[PMI]([Mutual][Pointwise][Information],簡記為[PMI])的加權和。其中,點互信息的定義如式⑶所示:
⑶
其中,[p(x,y)]表示的是[x,y]同時出現(xiàn)的概率,[p(x)和p(y)]分別表示單獨出現(xiàn)[x]和[y]的概率。在本文中,[x]表示某味核心藥物,[y]表示某首方劑。[p(x)]為某一味核心藥物[x]的在所有方劑中的[WF]值,[p(y)]表示方劑[y]中所有藥物的[WF]之和,[p(x,y)]表示方劑[y]中出現(xiàn)核心藥物[x]的[WF]值。則互信息的表示如式⑷所示:
⑷
其中,[X]表示核心藥物的集合,[Y]表示方劑集合。根據(jù)求得的[PMI]值來確定方劑的推薦結果。
3 實驗
3.1 實驗數(shù)據(jù)
本研究所采用的數(shù)據(jù)主共計542首方劑。通過PRTM算法獲取核心藥物71味,獲得推薦方劑126個。
3.2 實驗結果與討論
根據(jù)核心藥物發(fā)現(xiàn)算法,在342味中藥中,平均藥物有效性的值為65.5878,超過該平均值的藥物共有140味。其藥物有效性情況如圖4所示。
圖4顯示,藥物有效性最高近200,最低在65左右。實驗發(fā)現(xiàn),當藥物數(shù)量大于71,有效性的值變化趨勢減緩,因此,實驗選取前71味有效性最高的藥物作為下一步核心方劑發(fā)現(xiàn)算法的輸入值。限于篇幅,表1僅展示了有效性最高的前30味藥及其有效性。
根據(jù)得到的核心藥物,進行基于互信息的核心方劑發(fā)現(xiàn)算法,得到不同方劑的[PMI]值。542首方劑的[PMI]值如圖5所示。
圖5顯示,[PMI]值最高可達到1,即該首方劑中的藥物均為核心藥物。根據(jù)導數(shù)變化情況來看,126首方劑后的[PMI]變化速度減緩。選取前126首方劑作為推薦方劑。限于篇幅,表2僅展示了[PMI]值最高的前5%首(即前6首)方劑的組成。
本算法的時間、空間復雜度不高,542首方劑在實驗平臺上實際運行時間為58.372秒。算法通用性強,針對其他疾病的臨床或醫(yī)案數(shù)據(jù),亦能夠采取該種方法得到核心藥物并挖掘核心方劑。
對實驗結果分析可以發(fā)現(xiàn):
⑴ 基于TF-IDF的原理,對方劑中藥物的權重進行調(diào)整,確保藥物的有效性同時與藥物出現(xiàn)頻次和代表性相關,可以更準確地發(fā)現(xiàn)核心藥物;
⑵ 在傳統(tǒng)的藥物方劑網(wǎng)絡中增加了[WF]后,推薦方劑中所包含的核心藥物的味數(shù)增加了,即所推薦方劑的效果更加完善;
⑶ 使用互信息的思想可以有效地發(fā)現(xiàn)與核心藥物關聯(lián)性大的方劑。
4 結束語
本文提出的PRTM算法從中醫(yī)方劑中確定核心藥物,再根據(jù)核心藥物來推薦方劑,是由淺層知識發(fā)現(xiàn)的層面進入到深層知識發(fā)現(xiàn)的層面的過程,這提升了研究層次。需要承認的是,中藥方劑中發(fā)揮作用的因素較多,今后的研究應該進一步考慮多種影響因子的復合作用來設置復合權重。
參考文獻(References):
[1] 本刊編輯部. 2017年中國最新癌癥數(shù)據(jù)[J]. 中國腫瘤臨床與康復,2017.5:68.
[2] Rebecca L,Siegel M P H,Kimberly D,et al.Cancer statistics[J].CA Cancer J Clin,2018,68(1):7-30
[3] S.Boccaletti,V. Latora, Y.Moreno,M.Chavez, D.-U. Hwang.Complex networks:Structure and dynamics[J]. Physics Reports,2006.4.
[4] Zhou X, Liu B.Network analysis system for traditional Chinese medicine clinical data[C]Biomedical Engineering and Informatics,2009.BMEI09. 2nd International Conference on,IEEE,2009:1-5
[5] 陳澈. 基于復雜網(wǎng)絡的2型糖尿病中醫(yī)核心用藥挖掘及其機制研究[D].北京中醫(yī)藥大學,2018.
[6] Han nan,Qiao Shaojie, Li Tianrui,et al. Algorithm for mining the compatibility law of traditional Chinese medicine prescriptions for complex networks[J].Computer science and exploration,2017.11(7):1159-1165
[7] Luo J,Xu h,Zhou x z, et al. Study on the compatibility and application rules of unstable angina pectoris based on complex network[J].Chinese journal of integrated traditional Chinese and western medicine,2014,34(12):1420-1424. (in Chinese with English abstract)
[8] Li Xin,Wang Tianfang,Xue Xiaolin,et al. Application of complex network to analyze the drug law of traditional Chinese medicine in the treatment of hepatitis cirrhosis [J].Chinese journal of traditional Chinese medicine,2013. 28(5):1495-1499
[9] 韓楠,喬少杰,李天瑞,等.面向復雜網(wǎng)絡的中藥方劑配伍規(guī)律挖掘算法[J].計算機科學與探索,2017.11(7):1159-1165
[10] 羅靜,徐浩,周雪忠,等.基于復雜網(wǎng)絡的不穩(wěn)定型心絞痛中藥配伍應用規(guī)律研究[J].中國中西醫(yī)結合雜志,2014.34(12): 1420-1424
[11] Eirola,e.,Lendasse,a.,Karhunen,J.Variable selection for regression problems using Gaussian mixture models to estimate mutual information[P].Neural Networks (IJCNN), 2014 International Joint Conference on,2014.