本發(fā)明涉及文本挖掘和中醫(yī)藥信息處理領(lǐng)域。尤其是涉及一種基于概率主題模型和中藥基本屬性的方劑功能預(yù)測(cè)方法。
背景技術(shù):
中醫(yī)是中國(guó)創(chuàng)造的以傳統(tǒng)醫(yī)學(xué)為主的醫(yī)學(xué)。上千年的積累使得中醫(yī)積累了內(nèi)容豐富的醫(yī)學(xué)典籍與記錄,這些資源蘊(yùn)含了大量未知的知識(shí)。隨著數(shù)字化技術(shù)的發(fā)展,中醫(yī)藥數(shù)字化資源越來(lái)越龐大,越來(lái)越多的學(xué)者也將數(shù)據(jù)挖掘技術(shù)應(yīng)用于中醫(yī)藥以實(shí)現(xiàn)特定目的的分析與規(guī)律發(fā)現(xiàn)。方劑學(xué)作為中醫(yī)藥學(xué)的一個(gè)研究分支,需要按照組方原則,選擇恰當(dāng)?shù)乃幬锖侠砼湮?,酌定合適的劑量、劑型和用法。其中,一個(gè)方劑的功效往往需要通過(guò)過(guò)漫長(zhǎng)復(fù)雜的動(dòng)物或臨床實(shí)驗(yàn),但臨床或動(dòng)物實(shí)驗(yàn)耗費(fèi)大量的人力、物力及時(shí)間。如果通過(guò)計(jì)算機(jī)信息挖掘技術(shù)對(duì)新形成的方劑進(jìn)行預(yù)測(cè),獲得該方劑的部分功效信息,就可以為開(kāi)展大規(guī)模臨床或動(dòng)物實(shí)驗(yàn)提供極其有價(jià)值的參考,大大提升臨床的實(shí)驗(yàn)效率。鑒于此,本案發(fā)明人的關(guān)注點(diǎn)在于如何通過(guò)計(jì)算機(jī)信息挖掘技術(shù),利用現(xiàn)有的中醫(yī)藥數(shù)字資源實(shí)現(xiàn)方劑的功效預(yù)測(cè),從而為方劑研究提供有價(jià)值的臨床證據(jù)。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的是克服現(xiàn)有技術(shù)的不足,提供一種基于概率主題模型和中藥基本屬性的方劑功能預(yù)測(cè)方法。
本發(fā)明解決其技術(shù)問(wèn)題所采用的技術(shù)方案包括以下步驟:
步驟1、數(shù)據(jù)預(yù)處理
針對(duì)方劑大辭典數(shù)據(jù)庫(kù),應(yīng)用中醫(yī)藥學(xué)語(yǔ)分詞系統(tǒng)對(duì)方劑信息進(jìn)行分詞處理,提取出方劑名、方劑功效、方劑對(duì)應(yīng)的中藥、中藥劑量和劑量單位,對(duì)劑量單位進(jìn)行統(tǒng)一化,對(duì)方劑中的中藥劑量進(jìn)行標(biāo)準(zhǔn)化;針對(duì)中藥數(shù)據(jù)庫(kù),應(yīng)用中醫(yī)藥學(xué)分詞系統(tǒng)對(duì)中藥的功效、性味和歸經(jīng)三大屬性進(jìn)行分詞,去停用詞,對(duì)提取出來(lái)的結(jié)構(gòu)化屬性數(shù)據(jù)進(jìn)行0-1量化處理,得到每味中藥的屬性向量,存入數(shù)據(jù)庫(kù),所述的方劑大辭典數(shù)據(jù)庫(kù)和中藥數(shù)據(jù)庫(kù)均為半結(jié)構(gòu)化數(shù)據(jù)。
步驟2、根據(jù)方劑名和方劑對(duì)應(yīng)的中藥,得到“方劑-中藥”矩陣,將方劑功效作為隱含主題,應(yīng)用LDA概率主題模型對(duì)“方劑-中藥”矩陣進(jìn)行主題建模,在模型中結(jié)合配伍數(shù)據(jù)庫(kù)得到方劑功效和中藥之間治療關(guān)系的概率屬性向量,存入數(shù)據(jù)庫(kù)。
步驟3、根據(jù)每幅方劑的中藥列表和統(tǒng)一化后的中藥劑量,計(jì)算中藥在方劑中的頻次,取頻次最高的兩味中藥作為君藥和臣藥,并根據(jù)中藥的頻次利用TFIDF模型提取中藥在方劑中的權(quán)重系數(shù),構(gòu)造方劑的權(quán)重向量,存入數(shù)據(jù)庫(kù)。
步驟4、按照中醫(yī)傳統(tǒng)理論中的組方原則,方劑中的中藥有君臣佐使之分,而方劑的功效主要由君藥和臣藥決定。針對(duì)方劑大辭典數(shù)據(jù)庫(kù)中的每副方劑,合并君藥的屬性向量、臣藥的屬性向量以及方劑的權(quán)重向量,構(gòu)成方劑的特征向量,輸入SVM分類器對(duì)模型進(jìn)行訓(xùn)練,通過(guò)one-versus-rest方法構(gòu)造多類別分類器。
步驟5、輸入需要預(yù)測(cè)的新方劑信息,新方劑信息包括中藥名和相應(yīng)的劑量;根據(jù)方劑功效和中藥之間關(guān)系的概率屬性向量,應(yīng)用貝葉斯公式計(jì)算該方劑隸屬于某個(gè)功效的概率值,根據(jù)概率值從大到小排序,選取在特定閾值范圍內(nèi)的功效,得到功效集合一U1(U1有可能為空集)。
步驟6、根據(jù)步驟4得到待預(yù)測(cè)方劑的特征向量,輸入SVM多分類器進(jìn)行方劑功效預(yù)測(cè),得到功效集合二U2。
步驟7、將功效集合一和功效集合二作并集操作,得到最終的方劑功效集合U=U1∪U2。
所述步驟1的具體實(shí)現(xiàn)內(nèi)容包括:
①將中藥的不同劑量單位按照下列規(guī)則統(tǒng)一換算成克:
一兩=31.25克
一錢=3.125克
一分=0.3125克
②按照下列公式對(duì)方劑中不同中藥的劑量繼續(xù)標(biāo)準(zhǔn)化:
其中:di表示方劑中某中藥的劑量,代表標(biāo)準(zhǔn)化后的中藥劑量,dmax表示某中藥常用劑量中的最大值;dmin表示某中藥常用劑量中的最小值;
③所述的方劑功效包括和解劑、固澀劑、安神劑、開(kāi)竅劑、治燥劑、治風(fēng)劑、瀉下劑、消導(dǎo)化積劑、表里雙解劑、清熱劑、溫里劑、理氣劑、理血?jiǎng)?、癰瘍劑、祛暑劑、祛濕劑、祛痰劑、補(bǔ)益劑、解表劑、驅(qū)蟲(chóng)劑。
④所述的中草藥性味指藥物的性質(zhì)和氣味,即四氣五味,包括寒、熱、溫、涼、辛、甘、酸、苦、咸。歸經(jīng)采用十二臟腑經(jīng)絡(luò)法表述,歸心、肝、脾、肺、腎、胃、大腸、小腸、膀胱、膽、心包、三焦經(jīng)。功效以雙字詞為單位描述,如“清熱”、“解毒”、“涼血”等。其中,性味中出現(xiàn)“微寒”,“微熱”等表述,用0.5量化,其余采用0-1量化構(gòu)造向量空間。
所述步驟2的具體實(shí)現(xiàn)過(guò)程如下:
2-1.設(shè)定超參數(shù)α=2.5,β=0.1;
2-2.利用Gibbs采樣方法對(duì)LDA概率主題模型進(jìn)行參數(shù)估計(jì),迭代次數(shù)為100;
2-3.完成采樣后,查詢中藥配伍數(shù)據(jù)庫(kù):
若中藥hi不具備相關(guān)的配伍藥,按照下式計(jì)算“中藥-功效”的概率矩陣ψ:
若中藥hi和hj為配伍藥對(duì),計(jì)算“藥對(duì)-功效”的概率矩陣θ:
其中,W代表中藥的總數(shù),表示中藥hi分配給功效k的次數(shù),不包括當(dāng)前分配;代表分配給功效k的中藥總次數(shù),不包括中藥hi分配給功效k的次數(shù);代表分配給功效k的中藥總次數(shù),不包括中藥hi、hj分配給功效k的次數(shù)。
所述步驟3的具體實(shí)現(xiàn)過(guò)程如下:
3-1.針對(duì)每幅方劑p,假定中藥味數(shù)為Np,計(jì)算中藥hi在方劑中的頻次F(hi),取頻次最高的兩味中藥作為君藥和臣藥。
3-2.利用TFIDF模型計(jì)算中藥hi對(duì)方劑的重要程度,根據(jù)每味中藥在方劑中的TFIDF值構(gòu)造方劑p的權(quán)重向量m代表來(lái)自方劑數(shù)據(jù)庫(kù)中的唯一中藥總數(shù)。
其中,若方劑p包含中藥hi,則ti=TFIDF(hi),否則ti=0。
所述步驟5的具體實(shí)現(xiàn)過(guò)程如下:
5-1.用戶輸入待預(yù)測(cè)方劑H(p)={h1,h2,...hNp},hi代表中藥,應(yīng)用貝葉斯公式計(jì)算該方劑隸屬于功效k的概率:
其中,xi=1表示中藥hi存在配伍藥對(duì),否則xi=0。
5-2.針對(duì)方劑H(p),返回滿足下式的功效k,取閾值T=1e-8,得到功效集合一:
p(k|H(p))>T。
本發(fā)明有益效果如下:
本發(fā)明在現(xiàn)有的中醫(yī)藥數(shù)字資源的基礎(chǔ)上,通過(guò)概率主題模型挖掘出方劑功效和中藥之間的治療關(guān)系,通過(guò)貝葉斯公式有效地計(jì)算出方劑的功能。此外,結(jié)合君藥和臣藥在方劑功效中發(fā)揮的主要作用,通過(guò)中藥在方劑中的頻次計(jì)算自動(dòng)得到方劑中的君、臣藥,并利用TFIDF模型提取方劑的權(quán)重向量,合并君藥的屬性向量、臣藥的屬性向量以及方劑的權(quán)重向量作為方劑的特征向量,利用SVM多分類器進(jìn)一步提升了方劑功效預(yù)測(cè)的準(zhǔn)確度,從而為方劑研究提供有價(jià)值的臨床證據(jù)。
附圖說(shuō)明
圖1是本發(fā)明的流程圖。
具體實(shí)施方式
下面結(jié)合附圖對(duì)本發(fā)明作進(jìn)一步說(shuō)明。
如圖1所示,基于概率主題模型和中藥基本屬性的方劑功能預(yù)測(cè)方法包括以下步驟:
步驟1、數(shù)據(jù)預(yù)處理
針對(duì)方劑大辭典數(shù)據(jù)庫(kù),應(yīng)用中醫(yī)藥學(xué)語(yǔ)分詞系統(tǒng)對(duì)方劑信息進(jìn)行分詞處理,提取出方劑名、方劑功效、方劑對(duì)應(yīng)的中藥、中藥劑量和劑量單位,對(duì)劑量單位進(jìn)行統(tǒng)一化,對(duì)方劑中的中藥劑量進(jìn)行標(biāo)準(zhǔn)化;針對(duì)中藥數(shù)據(jù)庫(kù),應(yīng)用中醫(yī)藥學(xué)分詞系統(tǒng)對(duì)中藥的功效、性味和歸經(jīng)三大屬性進(jìn)行分詞,去停用詞,對(duì)提取出來(lái)的結(jié)構(gòu)化屬性數(shù)據(jù)進(jìn)行0-1量化處理,得到每味中藥的屬性向量,存入數(shù)據(jù)庫(kù),所述的方劑大辭典數(shù)據(jù)庫(kù)和中藥數(shù)據(jù)庫(kù)均為半結(jié)構(gòu)化數(shù)據(jù)。
步驟2、根據(jù)方劑名和方劑對(duì)應(yīng)的中藥,得到“方劑-中藥”矩陣,將方劑功效作為隱含主題,應(yīng)用LDA概率主題模型對(duì)“方劑-中藥”矩陣進(jìn)行主題建模,在模型中結(jié)合配伍數(shù)據(jù)庫(kù)得到方劑功效和中藥之間治療關(guān)系的概率屬性向量,存入數(shù)據(jù)庫(kù)。
步驟3、根據(jù)每幅方劑的中藥列表和統(tǒng)一化后的中藥劑量,計(jì)算中藥在方劑中的頻次,取頻次最高的兩味中藥作為君藥和臣藥,并根據(jù)中藥的頻次利用TFIDF模型提取中藥在方劑中的權(quán)重系數(shù),構(gòu)造方劑的權(quán)重向量,存入數(shù)據(jù)庫(kù)。
步驟4、按照中醫(yī)傳統(tǒng)理論中的組方原則,方劑中的中藥有君臣佐使之分,而方劑的功效主要由君藥和臣藥決定。針對(duì)方劑大辭典數(shù)據(jù)庫(kù)中的每副方劑,合并君藥的屬性向量、臣藥的屬性向量以及方劑的權(quán)重向量,構(gòu)成方劑的特征向量,輸入SVM分類器對(duì)模型進(jìn)行訓(xùn)練,通過(guò)one-versus-rest方法構(gòu)造多類別分類器。
步驟5、輸入需要預(yù)測(cè)的新方劑信息,新方劑信息包括中藥名和相應(yīng)的劑量;根據(jù)方劑功效和中藥之間關(guān)系的概率屬性向量,應(yīng)用貝葉斯公式計(jì)算該方劑隸屬于某個(gè)功效的概率值,根據(jù)概率值從大到小排序,選取在特定閾值范圍內(nèi)的功效,得到功效集合一U1(U1有可能為空集)。
步驟6、根據(jù)步驟4得到待預(yù)測(cè)方劑的特征向量,輸入SVM多分類器進(jìn)行方劑功效預(yù)測(cè),得到功效集合二U2。
步驟7、將功效集合一和功效集合二作并集操作,得到最終的方劑功效集合U=U1∪U2。
所述步驟1的具體實(shí)現(xiàn)內(nèi)容包括:
①將中藥的不同劑量單位按照下列規(guī)則統(tǒng)一換算成克:
一兩=31.25克
一錢=3.125克
一分=0.3125克
②按照下列公式對(duì)方劑中不同中藥的劑量繼續(xù)標(biāo)準(zhǔn)化:
其中:di表示方劑中某中藥的劑量,代表標(biāo)準(zhǔn)化后的中藥劑量,dmax表示某中藥常用劑量中的最大值;dmin表示某中藥常用劑量中的最小值。
③所述的方劑功效包括和解劑、固澀劑、安神劑、開(kāi)竅劑、治燥劑、治風(fēng)劑、瀉下劑、消導(dǎo)化積劑、表里雙解劑、清熱劑、溫里劑、理氣劑、理血?jiǎng)b瘍劑、祛暑劑、祛濕劑、祛痰劑、補(bǔ)益劑、解表劑、驅(qū)蟲(chóng)劑。
④所述的中草藥性味指藥物的性質(zhì)和氣味,即四氣五味,包括寒、熱、溫、涼、辛、甘、酸、苦、咸。歸經(jīng)采用十二臟腑經(jīng)絡(luò)法表述,歸心、肝、脾、肺、腎、胃、大腸、小腸、膀胱、膽、心包、三焦經(jīng)。功效以雙字詞為單位描述,如“清熱”、“解毒”、“涼血”等。其中,性味中出現(xiàn)“微寒”,“微熱”等表述,用0.5量化,其余采用0-1量化構(gòu)造向量空間。
所述步驟2的具體實(shí)現(xiàn)過(guò)程如下:
2-1.設(shè)定超參數(shù)α=2.5,β=0.1;
2-2.利用Gibbs采樣方法對(duì)LDA概率主題模型進(jìn)行參數(shù)估計(jì),迭代次數(shù)為100;
2-3.完成采樣后,查詢中藥配伍數(shù)據(jù)庫(kù):
若中藥hi不具備相關(guān)的配伍藥,按照下式計(jì)算“中藥-功效”的概率矩陣ψ:
若中藥hi和hj為配伍藥對(duì),計(jì)算“藥對(duì)-功效”的概率矩陣θ:
其中,W代表中藥的總數(shù),表示中藥hi分配給功效k的次數(shù),不包括當(dāng)前分配;代表分配給功效k的中藥總次數(shù),不包括中藥hi分配給功效k的次數(shù)。代表分配給功效k的中藥總次數(shù),不包括中藥hi、hj分配給功效k的次數(shù)。
所述步驟3的具體實(shí)現(xiàn)過(guò)程如下:
3-1.針對(duì)每幅方劑p,假定中藥味數(shù)為Np,計(jì)算中藥hi在方劑中的頻次F(hi),取頻次最高的兩味中藥作為君藥和臣藥。
3-2.利用TFIDF模型計(jì)算中藥hi對(duì)方劑的重要程度,根據(jù)每味中藥在方劑中的TFIDF值構(gòu)造方劑p的權(quán)重向量m代表來(lái)自方劑數(shù)據(jù)庫(kù)中的唯一中藥總數(shù)。
其中,若方劑p包含中藥hi,則ti=TFIDF(hi),否則ti=0。
所述步驟5的具體實(shí)現(xiàn)過(guò)程如下:
5-1.用戶輸入待預(yù)測(cè)方劑H(p)={h1,h2,...hNp},hi代表中藥,應(yīng)用貝葉斯公式計(jì)算該方劑隸屬于功效k的概率:
其中,xi=1表示中藥hi存在配伍藥對(duì),否則xi=0。
5-2.針對(duì)方劑H(p),返回滿足下式的功效k,取閾值T=1e-8,得到功效集合一:
p(k|H(p))>T。
實(shí)施例
1、輸入一個(gè)新方劑,包含各中藥和相應(yīng)的劑量。
2、根據(jù)方劑功效和中藥之間關(guān)系的概率屬性向量數(shù)據(jù)庫(kù),應(yīng)用貝葉斯公式計(jì)算新方劑隸屬于某個(gè)功效的概率值,根據(jù)概率值從大到小排序,選取在特定閾值范圍內(nèi)的功效,得到功效集合一U1。
3、針對(duì)新方劑中的中藥列表和統(tǒng)一化后的中藥劑量,計(jì)算中藥在方劑中的頻次,取頻次最高的兩味中藥作為君藥和臣藥,并根據(jù)中藥的頻次利用TFIDF模型提取中藥在方劑中的權(quán)重系數(shù),構(gòu)造方劑的權(quán)重向量。
4、查找中藥屬性數(shù)據(jù)庫(kù),得到君藥和臣藥的屬性向量,合并君藥的屬性向量、臣藥的屬性向量以及方劑的權(quán)重向量,構(gòu)成新方劑的特征向量,輸入SVM多分類器進(jìn)行方劑功效預(yù)測(cè),得到功效集合二U2。
5、合并功效集合一和功效集合二,得到新方劑的預(yù)測(cè)功效。
所述的步驟2通過(guò)以下子步驟實(shí)現(xiàn):
2.1)假定輸入的新方劑為H(p)={h1,h2,...hNp},hi代表中藥,應(yīng)用貝葉斯公式計(jì)算該方劑隸屬于功效k的概率:
其中,xi=1表示中藥hi存在配伍藥對(duì),否則xi=0。
2.2)針對(duì)新方劑H(p),返回滿足下式的功效k,取閾值T=1e-8,得到功效集合一:
p(k|H(p))>T
所述的步驟3通過(guò)以下子步驟實(shí)現(xiàn):
3.1)針對(duì)新方劑,假定中藥味數(shù)為Np,計(jì)算中藥hi在方劑中的頻次F(hi),取頻次最高的兩味中藥作為君藥和臣藥。
3.2)利用TFIDF模型計(jì)算中藥hi對(duì)新方劑的重要程度,根據(jù)每味中藥在新方劑中的TFIDF值構(gòu)造新方劑的權(quán)重向量m代表來(lái)自方劑數(shù)據(jù)庫(kù)中的唯一中藥總數(shù)。
其中,若新方劑包含中藥hi,則ti=TFIDF(hi),否則ti=0。
本實(shí)例的輸入新方劑信息為石膏(50g),知母(18g),甘草(6g),粳米(9g),計(jì)算得到的君藥和臣藥分別為石膏和知母,功效集合一U1={清熱劑},功效集合二U2={開(kāi)竅劑,清熱劑},最終得到的預(yù)測(cè)功效為開(kāi)竅劑和清熱劑。
需要說(shuō)明的是,本實(shí)施例假定SVM多分類器已經(jīng)訓(xùn)練完畢。