发明名称 一种中药方剂核心药物的发现方法
摘要 一种中药方剂核心药物的发现方法,由改进聚类算法和加权TF-IDF算法两部分组成,聚类算法包括方剂数据的预处理、聚类距离函数的选择和聚类挖掘算法三部分,其中方剂数据的预测理将方剂数据处理成适合聚类算法的模型;聚类距离的选择用于选择合理的聚类距离函数;距离挖掘算法用于将相似的方剂聚类成一个簇;加权TF-IDF算法用于计算药物的权重,发明的权重计算公式结合聚类结果、药物顺序重要度、TF-IDF算法三部分;算法具有较高的准确性。
申请公布号 CN104820775A 申请公布日期 2015.08.05
申请号 CN201510183745.0 申请日期 2015.04.17
申请人 南京大学 发明人 张雷;刘焕锐;资帅;王强;吴和生;谢俊元
分类号 G06F19/00(2011.01)I 主分类号 G06F19/00(2011.01)I
代理机构 南京瑞弘专利商标事务所(普通合伙) 32249 代理人 陈建和
主权项 一种中药方剂核心药物的发现方法,其特征在于,由改进聚类算法和加权TF‑IDF算法两部分组成,聚类算法包括方剂数据的预处理、聚类距离函数的选择和聚类挖掘算法三部分,其中方剂数据的预测理将方剂数据处理成适合聚类算法的模型;聚类距离的选择用于选择合理的聚类距离函数;距离挖掘算法用于将相似的方剂聚类成一个簇;加权TF‑IDF算法用于计算药物的权重,发明的权重计算公式结合聚类结果、药物顺序重要度、TF‑IDF算法三部分;所述的方剂数据的预处理,其采用的是向量空间模型。每首方剂抽象成一个向量,方剂中的药物表示为向量的某一维。如果方剂包含某种药物,则其对应的维为1,否则为0;所述的聚类距离函数的选择,采用的是余弦距离函数,其距离为:<img file="FDA0000701380960000011.GIF" wi="724" he="238" />能够合理度量两个方剂的相似性;这里αi,βi分别是方剂向量;所述的聚类挖掘算法,其采用的是改进的基于节点部分分配的K‑Means算法;算法预先设置一个阈值α,在将节点分配到中心点的时候,对于到所有中心点的距离都超过α的节点,暂时不把它分配到任何中心节点所表示的聚类;这样在一轮分配结束的时候可能会存在一些未被分配的节点。在下一轮分配的时候,从这些节点中在随机选取一些种子节点作为中心点;这样通过不断的迭代,最终数据集中的每个节点都会被分配到合适的分类中;所述的药物顺序重要度,其指的是方剂组成中某一药物的重要程度;其定义为:<img file="FDA0000701380960000012.GIF" wi="209" he="127" />这里h<sub>i</sub>是方剂中的第i味药物,I(h<sub>i</sub>)为药物h<sub>i</sub>的顺序重要度;药物h在所有方剂中的总重要度定义为:<maths num="0001" id="cmaths0001"><math><![CDATA[<mrow><mi>I</mi><mrow><mo>(</mo><mi>h</mi><mo>)</mo></mrow><mo>=</mo><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>m</mi></munderover><msub><mi>I</mi><mi>i</mi></msub><mrow><mo>(</mo><mi>h</mi><mo>)</mo></mrow><mo>;</mo></mrow>]]></math><img file="FDA0000701380960000013.GIF" wi="334" he="156" /></maths>所述的TF‑IDF算法,指的是信息学中的词频‑逆文档频率算法;一个词的权重定义为:<img file="FDA0000701380960000014.GIF" wi="696" he="156" />这里n<sub>i,j</sub>是词频,表示单词t<sub>i</sub>在文件d<sub>j</sub>出现次数。|D|表示语料库中的文件总数,|{j:t<sub>i</sub>∈d<sub>j</sub>}|表示包含单词t<sub>i</sub>的文件的数目;根据下式计算药物h的权重W(h,x),用于计算药物h在治疗某种病x的权重指数,定义为:<maths num="0002" id="cmaths0002"><math><![CDATA[<mrow><mi>W</mi><mrow><mo>(</mo><mi>h</mi><mo>,</mo><mi>x</mi><mo>)</mo></mrow><mo>=</mo><mrow><mo>(</mo><msub><mi>&Sigma;</mi><mrow><msub><mi>c</mi><mi>i</mi></msub><mo>&Element;</mo><mi>set</mi><mrow><mo>(</mo><mi>x</mi><mo>)</mo></mrow></mrow></msub><mi>I</mi><mrow><mo>(</mo><mi>h</mi><mo>&Element;</mo><msub><mi>c</mi><mi>i</mi></msub><mo>)</mo></mrow><mo>)</mo></mrow><mo>&times;</mo><mi>log</mi><mrow><mo>(</mo><mfrac><mrow><mo>|</mo><mo>|</mo><mi>all</mi><mo>_</mo><mi>set</mi><mo>|</mo><mo>|</mo></mrow><mrow><msub><mi>&Sigma;</mi><mrow><msub><mi>c</mi><mi>j</mi></msub><mo>&Element;</mo><mi>all</mi><mo>_</mo><mi>set</mi></mrow></msub><mi>count</mi><mrow><mo>(</mo><mi>h</mi><mo>&Element;</mo><msub><mi>c</mi><mi>j</mi></msub><mo>)</mo></mrow></mrow></mfrac><mo>)</mo></mrow><mo>,</mo></mrow>]]></math><img file="FDA0000701380960000021.GIF" wi="1226" he="166" /></maths>公式前半部分<maths num="0003" id="cmaths0003"><math><![CDATA[<mrow><mo>(</mo><msub><mi>&Sigma;</mi><mrow><msub><mi>c</mi><mi>i</mi></msub><mo>&Element;</mo><mi>set</mi><mrow><mo>(</mo><mi>x</mi><mo>)</mo></mrow></mrow></msub><mi>I</mi><mrow><mo>(</mo><mi>h</mi><mo>&Element;</mo><msub><mi>c</mi><mtext>i</mtext></msub><mo>)</mo></mrow><mo>)</mo></mrow>]]></math><img file="FDA0000701380960000022.GIF" wi="384" he="99" /></maths>为药物在治疗某种病的方剂的词频,后半部分<img file="FDA0000701380960000023.GIF" wi="578" he="169" />表示整个方剂数据库聚类数除以药物h在整个方剂数据库中出现的权重的商的对数,为药物在方剂数据总库的“逆文档频率”;公式中的count(h∈c<sub>j</sub>)定义为<img file="FDA0000701380960000024.GIF" wi="742" he="167" />I(h∈c<sub>i</sub>)定义为<img file="FDA0000701380960000025.GIF" wi="776" he="184" />两个子公式中,h表示具体的药物,c<sub>i</sub>表示方剂的聚类i,f表示某首方剂,||c<sub>i</sub>||表示方剂聚类c<sub>i</sub>中包含的方剂的数目,bool(h∈f)表示药物h是否出现在方剂f中,出现为1,不出现为0;count(h∈c<sub>i</sub>)表示药物h在方剂聚类c<sub>i</sub>中出现的次数除以方剂聚类的方剂数,值域是[0,1];I<sub>f</sub>(h)为药物h在方剂f中的顺序重要度,定义<img file="FDA0000701380960000026.GIF" wi="218" he="129" />这里i表示药物h是方剂f的第i味药物;I(h∈c<sub>i</sub>)表示药物h在方剂聚类c<sub>i</sub>中的总顺序重要度除以聚类方剂数;set(x)表示治疗病x的所有方剂,all_set表示整个方剂数据库;<img file="FDA0000701380960000027.GIF" wi="396" he="102" />表示药物h在治疗病x的方剂聚类中出现的权重,为药物“加权词频”。
地址 210093 江苏省南京市鼓楼区汉口路22号