楊 巍,文小平,郭晶磊
(上海中醫藥大學基礎醫學院,上海 201203)
“方證量化模型”是一種基于中醫方證對應理論結合機器學習對中醫基本概念進行量化研究的方法。以往中醫數據挖掘研究往往多集中于專藥、專方、專法、專病或專人的臨床運用領域[1],而在中醫基本概念領域的基礎性研究較少,尤其缺乏量化研究的方法。本研究方法著眼于2個中醫基本概念的比較,即其分別對應的不同方劑數據集之間的量化比較。
“方證量化模型”的基本原理是基于方證對應理論將2個中醫概念的比較轉化為2個方劑集合的比較,再通過機器學習模型對2個方劑集合進行量化比較。
方證對應也稱方證相應,是指方劑的主治病證范疇及該方組方之理法與病人所表現出來的主要病癥或病機相符合[2],是中醫臨床體現“理法方藥”一致性的基本原則。筆者認為,其在數據挖掘領域的本質是對于病、證、癥、病因病機等中醫概念與方劑組成關聯數據集的研究。
通過方證對應,在給定樣本總體范圍內,可以將2個中醫概念的比較問題轉化為其所代表的2個方劑集合的比較。以消渴異名為例,其中“上消”和“消渴”2個中醫概念的比較,可以轉化為上消方劑集合和消渴方劑集合的比較V上消/V消渴。
圖1示,隨機森林是機器學習中的一種高級分類技術,它由Breiman在2001年提出[3],通過隨機放回抽樣[3]來削弱數據間的相關性,構建大量的規則樹,進而通過簡單投票判斷類別,實現對學習樣本集合規則的較優擬合。隨機森林有適用性廣泛的特點,尤其是對離散數據的擬合[4],比較適合方劑集合之間的比較。在給定樣本總體范圍內,比較2個方劑集合的問題,通過隨機森林轉化為以1個方劑集合建模,另一個方劑集合應用模型的形式量化比較2個方劑集合的相似性。以“上消”方劑集合(V上消)和“消渴”方劑集合(V消渴)兩者比較為例,由V消渴生成判定模型F消渴,則V上消/V消渴=F消渴(V上消)/ F消渴(V消渴)=F消渴(V上消)。通俗地說,就是近似地建立一個含有幾百個消渴方證專家的辨別模型系統,通過投票來量化“上消”方劑集合(V上消)和“消渴”方劑集合(V消渴)的相似性,即異名“上消”相對于“消渴”病名的準確性。

圖1 基本邏輯圖
“消渴”是中醫常見的疾病名,以多飲、多食、多尿、身體消瘦或尿濁、尿有甜味為特征的病證[5]?!跋省币辉~最早出現于《黃帝內經》,但是由于中醫古籍浩如煙海又歷經不同朝代的變遷,歷代醫家創造和發展了眾多與“消渴”相似或相關的信息,其表現形式之一就是消渴的異名。這樣的消渴異名多以數十計[6-10],以《中醫方劑大辭典》出現5首及以上對應治療方劑為常見異名條件,消渴的常見異名多達17種(見表1)。通過方證對應基于隨即森林量化消渴異名,可以量化這些消渴相關或者相似的異名,判斷他們指代“消渴”病名的準確性。這樣的量化研究,可以確定消渴病的研究范圍,量化不同異名在消渴研究中的重要程度,清除古代研究相關文獻的學習障礙,更全面地理解歷代醫家對消渴范圍的認識。
本例采用《中醫方劑大辭典》的消渴方劑組成數據,基于隨機森林構建消渴方辨別模型F消渴(圖2),運用模型方證對應判別消渴異名對應方劑是否用于治療消渴。通過其被判別為應用于消渴治療(消渴方)的比例F消渴(V異名),分析消渴異名的準確性(圖3)。

圖2 建立模型圖

圖3 模型應用圖
以《中醫方劑大辭典》電子版為數據來源并導入數據庫,采用“消渴”為關鍵詞,在主治字段進行檢索,選取主治字段包含消渴的方劑463首;在排除消渴方和消渴異名方后的80699首方劑中,以0.5%隨機選取方劑443首作為非消渴方,兩者構成學習集。以表1中消渴常見異名(出現5首方劑及以上對應異名)檢索主治字段,共獲得方劑310首構成應用集。
3.2.1 排除數據 表1示,人工排查主治字段,排除“非”病名、“似”病名等與消渴無關的數據,獲得各檢索條件下篩選后方劑數量。
3.2.2 標準化 提取方劑組成字段的中藥,剔除劑量、炮制和服藥方法等信息,根據《中華人民共和國藥典》《中華本草》《中藥大辭典》《中藥學》《中藥別名速查大辭典》對藥名進行規范。
3.3.1 參數選擇 表1示,從隨機森林調參效率角度,本次研究將在學習集中出現次數12次以上的中藥(共99味)作為隨機森林的構成參數,各檢索條件下篩選后方劑數量。
3.3.2 模型訓練 使用R 語言,調用randomForest包,參數設置try=11,nodesizes=8,ntree=300,其他參數使用默認值。
通過set.seed保證隨機模型的可重復性,以學習集正確率0.96、袋外錯誤率[4]0.16選擇為“異名識別模型”。
其中學習集正確率反映模型對學習集的學習程度,正確771條,錯誤31條,正確率0.96。袋外錯誤率是一種取代測試集的誤差泛估計[4],其中消渴TF值0.12、FT值0.20。
3.3.3 模型應用 表1示,使用“異名識別模型”對應用集進行判斷,獲得各異名對應方屬于消渴方的比例。

表1 不同異名、不同篩選條件下對應方劑數量及準確性比較
準確性在85%以上的異名有“膈消、肺消、上消、下消、消中、三消、腎消、消腎、強中”9個,這些異名與消渴在方劑組成中的相似程度很高,準確性較高,可以認為是消渴的專有異名。
準確性在85%以下65%以上的異名為“中消、渴利、消癉、消谷”4個,通過研究被判斷為非消渴方的主治、功用和組成,能夠發現它們多數與其他疾病同時出現。由此推斷,這些異名可能是作為癥狀出現在其他病種中,將這些異名納入消渴進行分析時,應考慮排除作為其他病種癥狀出現的情況。
準確性在65%以下的異名有“脾癉、熱中、食亦、風消”4個,準確性較低,可以認為是與消渴類似或者有關聯的單獨病種。
表2示,隨機森林相對其他簡單分類方法難以解釋,只能從結果進行逆向推測,且調參困難,面對失衡分布學習集效果不佳。本研究在構建學習集時,應盡量平衡數據,采用隨機抽樣的方式構建非消渴方學習集。隨機森林結果具有隨機性,本研究通過set.seed保證其可重復性。不同模型結果的不穩定問題,改進方法為建立5個同參數不同隨機數(不同seed)的模型,各模型結果基本與原模型的結果分析無差異。
本次研究僅僅是涉及到方劑的組成,如果對藥物劑量、味數、炮制和服用方法也納入分析,數據分析模型將會使結果更加全面和準確。
本研究舉例的方法可以直接運用于各種中醫疾病異名準確性研究,以及現代病名與古代病名的對應關系研究,如骨質疏松癥對應的古代病名是什么。

表2 不同Seed情況下各異名準確性比較
運用本方法可以量化類比方劑功效,如以清熱方劑集構成學習集,瀉火方劑集構成應用集,可以量化瀉火功效與清熱功效的相似度。
本研究方法經過一定變換可以廣泛應用于基于對應方劑的各種中醫基本概念量化比較,如以五臟方劑集構成學習集,三焦方劑集構成應用集,可以量化判斷三焦從方劑組成角度與五臟哪一臟更有相關性。
綜上所述,本研究以量化消渴異名準確性為例,結合方證對應和機器學習,將方劑集合量化比較問題轉換為隨機森林的建模和應用,進而為反映與方劑集合關聯的中醫概念之間量化關系提供一種新的中醫基本概念量化研究方法,即“方證量化模型”。目前本方法還不十分成熟,對于中醫概念轉化為方劑集合、方劑集合變換為隨機森林模型的過程中,如何更好地進行數據信息的取舍、最終結果的參數評估,還需要進一步大量積累實踐經驗和教訓。