《基于LDA主题模型的中医药数据挖掘方法.pdf》由会员分享,可在线阅读,更多相关《基于LDA主题模型的中医药数据挖掘方法.pdf(14页珍藏版)》请在专利查询网上搜索。
1、(10)申请公布号 CN 103365978 A(43)申请公布日 2013.10.23CN103365978A*CN103365978A*(21)申请号 201310276021.1(22)申请日 2013.07.01G06F 17/30(2006.01)(71)申请人浙江大学地址 310027 浙江省杭州市浙大路38号浙大计算机学院曹光彪东楼505(72)发明人姜晓红 严海明 商任翔 吴朝晖陈英芝(74)专利代理机构杭州裕阳专利事务所(普通合伙) 33221代理人应圣义(54) 发明名称基于LDA主题模型的中医药数据挖掘方法(57) 摘要本发明涉及中医药信息检索领域,公开了一种基于LDA主。
2、题模型的中医药数据挖掘方法,包括以下具体步骤:1)先在LDA模型中确定处方-主题和主题-药剂两组先验,处方-主题和主题-药剂分别由超参数和确定,使用AS方式对两组先验进行先验假设;2)确定LDA模型中的主题数目;3)采用Gibbs采样方法对上述LDA模型进行求解;4)生成LDA模型的语义RDF文档,将LDA模型的结果映射至四元组,并用语义RDF文档进行表示;5)将药剂和处方进行关联,建立处方-主题-药剂的可视化结构网络G。本发明的优点在于,适用于海量中药处方的处理和挖掘,并可以得到可视化的结构模型。(51)Int.Cl.权利要求书2页 说明书8页 附图3页(19)中华人民共和国国家知识产权局(。
3、12)发明专利申请权利要求书2页 说明书8页 附图3页(10)申请公布号 CN 103365978 ACN 103365978 A1/2页21.一种基于LDA主题模型的中医药数据挖掘方法,包括以下具体步骤:1)先在LDA模型中确定处方-主题和主题-药剂两组先验,处方-主题和主题-药剂分别由超参数和确定,使用AS方式对两组先验进行先验假设,所述AS方式为:处方-主题分布采用非对称的先验,主题-药剂分布采用对称的先验;2)确定LDA模型中的主题数目;3)采用Gibbs采样方法对上述LDA模型进行求解;4)生成LDA模型的语义RDF文档,所述语义RDF文档包括一个四元组集合,所述四元组包括主体,谓词。
4、,客体,权重,将LDA模型的结果映射至四元组,并用语义RDF文档进行表示;5)将药剂和处方进行关联,建立处方-主题-药剂的可视化结构网络G,该结构网络G由顶点集合V和边集合E组成,即G(V,E),顶点集合V是包含处方、主题和药剂的本体的集合,边集合E是主题和药剂之间的关系的集合,其中,建立可视化结构网络G的步骤包括:对于语义RDF文档中的四元组集合中的每一个四元组,如果该四元组的权重高于预设的概率阈值p,则将该四元组加入所述可视化结构网络G中,将该四元组的主体和客体并入顶点集合V,将该四元组的谓词并入边集合E,当全部四元组均加入所述可视化结构网络G后,即得到最终的中医药主题模型网络图。2.根据。
5、权利要求1所述的基于LDA主题模型的中医药数据挖掘方法,其特征在于,还包括预处理步骤:将所有处方划分为T个主题,用z表示每个主题z在药剂库V上的多项分布,用d表示每个处方d对T个主题的多项分布,其中,处方d的生成方式包括:采样dDir(),对于处方中的每个药剂w,采样一个主题标签zMulti(d),并生成与该主题标签z相对应的wMulti(z),其中(.)Dir(),Dir表示狄利克雷分布,Multi表示多项分布。3.根据权利要求1所述的基于LDA主题模型的中医药数据挖掘方法,其特征在于,所述步骤3还包括以下具体步骤:预处理:进行中药处方文档转换,修改文档向量集合w使得得到w,其中重量(wm,。
6、n)为处方中药剂的重量,重量(dm)为每个处方的重量;初始化:遍历每个中药处方文档中的每一个单词,对Zm,n采样,使得Zm,mkMulti(1/k),令文档-主题计数加1,令主题-单词计数加1,令文档-主题计数nm加1,令主题-单词计数nk加1;Gibbs采样:遍历每个中药处方文档中的每一个单词,令计数nm、nk分别减1;令当前单词满足令计数分别加1;检查收敛性,如果收敛且未达到迭代次数上限,分别从参数集合和中读取参数;其中,w为文档向量集合,K为主题数目,nm,nk分别为计数统计及其计数和,p(zi|.)为条件概率数组,z为主题相关度集合,、分别为多项分布参权 利 要 求 书CN 10336。
7、5978 A2/2页3数集合。权 利 要 求 书CN 103365978 A1/8页4基于 LDA 主题模型的中医药数据挖掘方法技术领域0001 本发明涉及中医药信息检索领域,特别涉及一种基于LDA主题模型的中医药数据挖掘方法。背景技术0002 本发明涉及机器学习领域内主题模型的相关内容,主要有向量空间模型,奇异值分解与LSA,概率隐含语义分析pLSA,潜在狄利克雷分配LDA等。0003 向量空间模型被广泛应用在信息检索领域,最初由Salton在TREC项目中使用BOW(Bag Of Words)模型,即文档中单词具有可交换性(Exchangeability)来刻画单词和文本的关系。在他的模型。
8、中,单词的语义是独立于文本的,每个单词是单词空间中的一个维度,用这样的方法可以描述整个语料库(文档的集合)。0004 潜在语义分析(Latent Semantic Analysis)就是在文档和单词之间引入一个隐含语义层,原有的文档-单词关系变成了文档-隐含语义-单词。它使用奇异值分解(SVD,singular value decomposition)来挖掘这个层隐含的关系。0005 类似于LSA,概率隐含语义分析(pLSA,Probability Latent Semantic Analysis)也在文档-单词之间引入了一个隐含语义空间,不过pLSA是用概率模型来描绘的。在pLSA中,文本是。
9、由共现矩阵表达,即(d,w)对。其中(di,wj)表示文档di和单词wj共同出现,即文档标号为i的文档里面出现了单词j。这里需要强调的是Bag-Of-Words模型忽略掉文档里面单词出现次序,语料库里面的文档的次序默认也是忽略的。0006 潜在狄利克雷分配LDA是一种层次贝叶斯模型。它的概率图模型如图1所示。图中M表示文档的总数目,N是一个文档中的单词数目。是每个文档的主题分布的狄利克雷先验参数,是每个主题的单词分布的狄利克雷先验参数,即P(w|z);是语料库中的每个文档与T个主题的多项分布(Multinomial Distribution)。0007 可以看出LDA是一个三层贝叶斯概率模型,。
10、它和PLSA最大的区别是增加了对主题的混合权重引进了Dirichlet先验,用一个超参数(即参数的参数)来产生参数。0008 由于中医药处方/药物数据具有其特殊性:中医药处方/药物成分记录不完全符合BOW模型,因此采用上述方法对现有的中药处方进行信息检索无法准确地得到中药处方/药物数据,因此,需要开发一种可以进一步准确地挖掘处方/药物数据的方法。发明内容0009 本发明针对现有方法无法有效地得到中医药处方中隐含的关系信息的缺点,提供了一种新型的基于LDA主题模型的中医药数据挖掘方法。0010 为实现上述目的,本发明可采取下述技术方案:0011 基于LDA主题模型的中医药数据挖掘方法,包括以下具。
11、体步骤:0012 1)先在LDA模型中确定处方-主题和主题-药剂两组先验,处方-主题和主题-药剂分别由超参数和确定,使用AS方式对两组先验进行先验假设,所述AS方式为:处说 明 书CN 103365978 A2/8页5方-主题分布采用非对称的先验,主题-药剂分布采用对称的先验;0013 2)确定LDA模型中的主题数目;0014 3)采用Gibbs采样方法对上述LDA模型进行求解;0015 4)生成LDA模型的语义RDF文档,所述语义RDF文档包括一个四元组集合,所述四元组包括主体,谓词,客体,权重,将LDA模型的结果映射至四元组,并用语义RDF文档进行表示;0016 5)将药剂和处方进行关联,。
12、建立处方-主题-药剂的可视化结构网络G,该结构网络G由顶点集合V和边集合E组成,即G(V,E),顶点集合V是包含处方、主题和药剂的本体的集合,边集合E是主题和药剂之间的关系的集合,其中,建立可视化结构网络G的步骤包括:对于语义RDF文档中的四元组集合中的每一个四元组,如果该四元组的权重高于预设的概率阈值p,则将该四元组加入所述可视化结构网络G中,将该四元组的主体和客体并入顶点集合V,将该四元组的谓词并入边集合E,当全部四元组均加入所述可视化结构网络G后,即得到最终的中医药主题模型网络图。0017 作为优选,还包括预处理步骤:将所有处方划分为T个主题,用z表示每个主题z在药剂库V上的多项分布,用。
13、d表示每个处方d对T个主题的多项分布,其中,处方d的生成方式包括:采样dDir(),对于处方中的每个药剂w,采样一个主题标签zMulti(d),并生成与该主题标签z相对应的wMulti(z),其中(.)Dir(),Dir表示狄利克雷分布,Multi表示多项分布。0018 作为优选,所述步骤3还包括以下具体步骤:0019 预处理:进行中药处方文档转换,修改文档向量集合w使得得到w,其中重量(wm,n)为处方中药剂的重量,重量(dm)为每个处方的重量;0020 初始化:遍历每个中药处方文档中的每一个单词,对Zm,n采样,使得Zm,n=kMulti(1/k),令文档-主题计数加1,令主题-单词计数加。
14、1,令文档-主题计数nm加1,令主题-单词计数nk加1;0021 Gibbs采样:遍历每个中药处方文档中的每一个单词,令计数nm、nk分别减1;令当前单词满足令计数分别加1;检查收敛性,如果收敛且未达到迭代次数上限,分别从参数集合和中读取参数;0022 其中,w为文档向量集合,K为主题数目,nm,nk分别为计数统计及其计数和,p(zi|.)为条件概率数组,z为主题相关度集合,、分别为多项分布参数集合。0023 本发明由于采用了以上技术方案,具有显著的技术效果:0024 采用药剂重量而非普通文档中的词频进行数据处理,并相应地改进了Gibbs-LDA算法来适应上述对数据处理手段的变更,达到准确地求。
15、解中医药处方数据的LDA模型参数说 明 书CN 103365978 A3/8页6的目的,同时,将处理所得到的数据采用结构网络的方式输出,更易于可视化操作,可以准确地表达出中医药处方和药剂之间的特殊关联,从而解决了现有技术无法对其进行准确分析的难题。进一步地,通过改进现有的Gibbs采样方法,令推导过程得以简化,求解效果良好,并减少了数据处理的时间。附图说明0025 图1为潜在狄利克雷分配LDA的概率图模型示意图。0026 图2为中医药主题模型网络结果示意图。0027 图3为本发明所使用的数据挖掘系统的结构示意图。具体实施方式0028 下面结合实施例对本发明作进一步的详细描述。0029 实施例1。
16、0030 本发明使用基于B/S架构的数据挖掘系统,如图3所示,该应用系统包括服务端和客户端,其中,客户端为应用层,包括第三方平台的数据挖掘应用模块,数据挖掘方案制定模块和方案执行模块。服务端包括服务层、汇聚层和资源层,其中,服务层包括公用数据挖掘接口和DartSpora系统调用接口,汇聚层包括资源管理模块、权限管理模块和挖掘方案管理模块,资源层包括数据库、本地文件系统、分布式文件系统、数据挖掘算法库、并行分布式数据挖掘算法库和领域相关数据挖掘算法库。0031 服务端,资源层与汇聚层之间的数据传输格式为JDBC、JSDL、ExampleSet等格式,其中ExampleSet为自定义序列化格式,可。
17、以用于算子之间数据传输;汇聚层与服务层之间传输的数据格式为XML,所有的算子(Operator)和实验都是通过XML来配置的;服务端和客户端与一般WEB容器类似,主要传输HTML、js、图片等静态文件和Ajax使用到的XML、JSON格式的动态数据。0032 假设所有处方的集合一共有T个主题,每个主题用z表示为药剂库V上面的多项分布z;进一步假设每个处方d对这T个主题也是一个多项分布d。由于处方的来源是不同的医师所开出的药方,这些药方被上传到本地文件系统或者分布式文件系统内,对药方/药剂的数据关联进行挖掘的过程,也同时是一个对所有的中医药药方的数据进行检索的过程。0033 下面描述一个处方的生。
18、成过程:0034 对不同的服务器中的药方进行采样dDir();0035 对于处方中的每个药剂w,进行以下操作:0036 采样一个主题标签zMulti(d);0037 生成对应的wMulti(z)。0038 其中(.)Dir(),Dir表示狄利克雷分布,Multi表示多项分布。0039 将上述处方应用与以下的中医药数据挖掘。0040 先验的假定。在中医药LDA模型中,有处方-主题、主题-药剂两组先验,他们由超参数alpha和beta确定。实际上pLSA是LDA模型的MAP(Maximum A Posteriori)估计,先验采用的是对称的狄利克雷概率。说 明 书CN 103365978 A4/8。
19、页70041 先验假设有两种方式:1)一个对称的(Symmetry);2)另外一个是非对称的(Asymmetric)。他们一共有四种组合:0042 AA:处方-主题、主题-药剂分布都采用非对称的先验;0043 AS:处方-主题分布采用非对称的先验,而主题-药剂分布采用对称的先验;0044 SA:处方-主题分布采用对称的先验,而主题-药剂分布采用非对称的先验;0045 SS:处方-主题、主题-药剂都采用对称的先验;0046 我们采用上述的AS的方式。0047 确定LDA主题模型中主题的数目,这是该模型非常关键的一个问题。由于中医药理论体系中的一个重要分支是五行理论,所以我们将中医药主题模型的主题。
20、数目设为5.0048 改进Gibbs采样方法。标准的LDA的模型求解过程是一个最优化的问题,一般采用极大似然估计法。实际中一般使用以下三种不精确的方法进行模型的求解:0049 基于Gibbs采样的方法;0050 基于变分法的期望最大化(EM)方法;0051 基于期望推荐的方法。0052 基于Gibbs采样的方法推导起来简单,并且求解效果良好,但是一般的Gibbs-LDA算法是用于处理文本数据的,而中医药处方/药物数据具有其特殊性:中医药处方/药物成分记录不完全符合BOW模型,因为其药剂大多是通过重量来描述的,而不是普通文档中的词频。所以需要改进Gibbs-LDA算法来求解中医药处方数据的LDA。
21、模型参数。0053 生成主题模型的语义RDF(Resource Description Framework)文档。统一资源描述框架RDF是用于描述网络资源的W3C标准,它使用XML进行编写,包含一组三元组(Triple),即:一个主体(Subject)、一个谓词(Predicate或属性,Property)和一个客体(Object)。由于通过主题模型挖掘所得的结果中含有权重,为了表达方便,这里可以将RDF扩展为四元组(主体,客体,谓词,权重),从而我们便可以将主题模型挖掘所得的结果用四元组的RDF图来进行表达了。0054 主题模型可视化,如图1所示,中药药剂和处方的关系可以关联起来,读取本地文。
22、件系统或者分布式文件系统上的药方,并建立一个处方-主题-药剂网络,该网络能够展示他们三者的关系。假设最终网络图G是由顶点集合V和边集合E组成,即G=,顶点V是本体(ontology)的集合,包含处方、主题和药剂,即V=.;边集合E是由处方-主题的关系,主题-药剂的关系E之间的边的集合,即E=.。中医药主题模型网络图生产算法如下:0055 算法:GRAPH-GENERATE0056 输入:语义RDF文档中的四元组集合w,概率阈值p0057 输出:中医药主题模型网络图G=(V,E)0058 for wwdo0059 if w权重p then0060 将该条记录加入结果:0061 1.VVWsubj。
23、ectWobject0062 2.EEWpredicate0063 done说 明 书CN 103365978 A5/8页80064 在中医药数据中,由于处方/药物包含的中草药药剂并不是以“词频”的形式来表示其在这个文档中的“重要性”即p(w|d),而一个处方/药物里面的中草药并没有“词频”这个概念,一个中草药一般只出现一次,所以,如果直接采用Gibbs-LDA算法,各个一个文档中的词频都是相等的,这样不能够很好地对实际情况进行建模,所以需要对原始的Gibbs-LDA算法进行改进。一个简单而有效的方法是利用中草药重量信息,一个处方/药物里面中草药的重量占比更能够很好地描述它在这个处方/药剂里面。
24、的重要程度(实际中,药物的作用机理是中草药里面的化学成分的含量,为了简化模型,这里使用中草药药剂重量来描述它的重要程度)。0065 改进的Gibbs-LDA算法主要过程如下:0066 算法Improved-GibbsLDA(w,,K)0067 输入:文档向量集合w(其中,文档向量集合w是药物/处方的集合,通过映射存储于本地文件系统或者分布式文件系统内的处方的集合可以得到上述文档向量集合w),超参数,主题数目K0068 全局数据:计数统计及其计数和nm,nk,条件概率数组p(zi|.)0069 输出:主题相关度集合z,多项分布参数集合和,超参数,0070 /文档预处理:w转换为w0071 for。
25、 all文档m1,Mdo0072 for all单词n1,Nmin文档m do0073 修改wm,n,使得0074 /初始化0075 将所有参数置为0:nm,nk0076 for all文档m1,Mdo0077 for all单词n1,Nmin文档m do0078 对Zm,n采样,使得Zm,n=kMulti(1/K)0079 增加文档-主题计数:0080 增加主题-单词计数:0081 增加文档-主题计数:nm+10082 增加主题-单词计数:nk+10083 /初始化结束0084 /Gibbs采样0085 while not finished do0086 for all文档m1,Mdo008。
26、7 for all单词n1,Nmin文档m do0088 /当前单词wm,n说 明 书CN 103365978 A6/8页90089 减少计数:nm-1;nk-10090 /多项分布采样,更新参数0091 更新分布参数0092 0093 0094 0095 使之满足0096 增加计数:0097 /检查收敛性,并读取参数0098 if收敛并且没有达到迭代次数上限then0099 /读取归一化参数0100 依据以下公式从参数集合中读取参数0101 依据以下公式从参数集合中读取参数0102 可以看出上述Improved-GibbsLDA算法主要体现在增加了对文档的预处理工作,该步骤能够使得处方/药物里面的中草药的重量占比正比于它对处方/药物的“贡献率”,这样能够更好地对现实中的情况进行建模,也能够提升实验的效果。0103 下面是一个处方和药剂所对应的关系表:说 明 书CN 103365978 A7/8页100104 0105 应用上述数据挖掘方法对上述处方和药剂之间的对应关系进行挖掘,得到以下的主题挖掘结果:0106 0107 说 明 书CN 103365978 A10。