自适应潜在狄利克雷模型选择的方法及装置与流程

文档序号:13697536阅读:342来源:国知局
技术领域本发明涉及自然语言处理技术领域,具体的涉及一种自适应潜在狄利克雷模型选择的方法及装置。

背景技术:
随着互联网的快速发展,信息总量日益剧增,人们对信息的高效检索和获取的需求日益强烈。由于网上信息的表现形式多以文本为主,因此对文本信息进行自动分类成为信息检索领域的重要研究热点。文本自动分类方法中根据文本内容确定关联的类别,以基于统计机器学习的文本分类方法应用最为广泛,其中一种常见模型是隐含狄利克雷分配(LatentDirichletAllocation,LDA)模型。LDA模型是一种主题模型,可以用来识别大规模文档集或语料库中潜藏的主题信息,得到文档-主题概率分布以及主题-词概率分布,在文本挖掘领域包括文本主题识别、文本分类以及文本相似度计算方面都有应用。在LDA模型的计算中主题数K的设置受限于个人经验,并且不同规模大小的语料库有不同的特性,即使同一规模大小的不同语料库也存在差异,这给K的设置带来很大挑战,常常由于K值设置的不合理性导致LDA模型的精度较差从而影响后续的分析计算。

技术实现要素:
本发明的目的在于提供一种自适应潜在狄利克雷模型选择的方法及装置,该发明解决了的技术问题。本发明的一方面提供一种自适应潜在狄利克雷模型选择的方法,包括以下步骤:步骤S100:将语料库转换为用于LDA模型计算的文档词频矩阵F,并根据语料库规模设置初始主题数K,迭代计算LDA模型;步骤S200:每轮迭代后,根据LDA模型的主题-词概率分布的平均余弦距离相似度r相对上一轮迭代计算中的平均余弦距离相似度r_old是增大或减小,改变主题数K的变化方向dk,进而更新主题数K,并将更新后的主题数K作为下一轮LDA模型迭代的主题数继续进行迭代计算,迭代计算结束后,得到当前语料库的LDA模型;主题数K的更新规则:k=k_old+dk*alpha*k_old,其中,k_old为上一次迭代的主题数,dk为主题数K的变化方向,随机初始化为1或-1;alpha为学习因子,可设置为固定值或随着迭代次数变化的序列值。进一步地,文档词频矩阵F的构建包括以下步骤:步骤S110:对语料库中的文档按顺序编号索引;步骤S120:对每个文档进行分词处理并构建词典;步骤S130:基于词典构建形式如下的文档词频矩阵F:F=f1,1f1,2....f1,N-1f1,Nf2,1f2,2....f2,N-1f2,N....................fM-1,1fM-1,2....fM-1,N-1fM-1,NfM,1fM,2....fM,N-1fM,N]]>其中,M为文档数量,N为词典词数,矩阵中的行表示文档,列表示该词在词典中的索引,fi,j表示词典中的第j个词在第i个文档中出现的次数。进一步地,初始化主题数K包括dk,eps,alpha和maxIteration,其中,maxIteration为最大迭代次数,eps为迭代结束阈值。进一步地,对LDA模型的求解方法为基于Gibbs采样的算法。进一步地,LDA模型中主题-词概率分布为K*N的矩阵,K为主题数,N为词典中所含词的个数,其每一行表示一个主题的词概率分布,第k个主题的第t个词的概率的计算公式为:其中,βt为主题-词概率分布的先验概率分布狄利克雷分布的超参数向量β的第t个分量,为第k个主题中第t个词出现的次数;主题向量之间的余弦距离相似度dx,y和平均相似余弦距离相似度r,分别通过下式计算:r=Σx=0K-1Σy=x+1Kdx,yK×(K-1)/2]]>其中,dx,y表示中第x个主题向量与第y个主题向量之间的余弦距离相似度,表示的第x个主题的第n个词的概率值,表示第x个主题向量的模,K为主题数,N为词典中所含词的个数。进一步地,dk的更新规则为:当r-r_old>0时,dk方向取反,即dk=-1*dk;当r-r_old<0时dk不变;dk的更新结束条件为:当满足r-r_old小于eps或者迭代次数达到maxIteration时,结束迭代计算。本发明的另一方面还提供了一种如上述方法用自适应潜在狄利克雷模型选择装置,包括:初始值设定模块,用于将语料库转换为用于LDA模型计算的文档词频矩阵F,并根据语料库规模设置初始主题数K,迭代计算LDA模型;迭代更新模块,用于每轮迭代后,根据LDA模型的主题-词概率分布的平均余弦距离相似度r相对上一轮迭代计算中的平均余弦距离相似度r_old是增大或减小,改变主题数K的变化方向dk,进而更新主题数K,并将更新后的主题数K作为下一轮LDA模型迭代的主题数继续进行迭代计算,迭代计算结束后,得到当前语料库的LDA模型;主题数K的更新规则:k=k_old+dk*alpha*k_old,其中,k_old为上一次迭代的主题数,dk为主题数K的变化方向,随机初始化为1或-1;alpha为学习因子,可设置为固定值或随着迭代次数变化的序列值。进一步地,初始值设定模块包括:编号模块:用于对语料库中的文档按顺序编号索引;词典构建模块:用于对每个文档进行分词处理并构建词典;文档词频矩阵计算模块:用于基于词典构建形式如下的文档词频矩阵F:F=f1,1f1,2....f1,N-1f1,Nf2,1f2,2....f2,N-1f2,N....................fM-1,1fM-1,2....fM-1,N-1fM-1,NfM,1fM,2....fM,N-1fM,N]]>其中,M为文档数量,N为词典词数,矩阵中的行表示文档,列表示该词在词典中的索引,fi,j表示词典中的第j个词在第i个文档中出现的次数。本发明的技术效果:本发明提供的自适应潜在狄利克雷模型选择的方法,能够为不同规模大小的语料库计算出一个相对于初始设置的K值更合适的LDA模型,并且在迭代计算次数足够大的情况下,可计算出趋向最优的LDA模型,从而有效提高了LDA模型的精度。本发明提供的自适应潜在狄利克雷模型选择的方法通过动态调整主题数K,有效避免因个人经验主观设置K导致的模型不合理问题,提高了模型的精度;本发明提供的自适应潜在狄利克雷模型选择的方法通过设置合适的迭代次数,可用于小批量的语料库的实时计算,选择出适合语料库的模型。具体请参考根据本发明的自适应潜在狄利克雷模型选择的方法及装置提出的各种实施例的如下描述,将使得本发明的上述和其他方面显而易见。附图说明图1是本发明提供的狄利克雷模型选择方法的优选实施例流程示意图;图2是本发明提供的狄利克雷模型选择装置的优选实施例结构示意图。具体实施方式构成本申请的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。参见图1,本发明一方面提供了一种自适应潜在狄利克雷模型选择的方法,包括以下步骤:步骤S100:将语料库转换为用于LDA模型计算的文档词频矩阵F,并根据语料库规模设置初始主题数,迭代计算LDA模型;步骤S200:每轮迭代后,根据LDA模型的主题-词概率分布的平均余弦距离相似度r相对上一轮迭代计算中的平均余弦距离相似度r_old是增大或减小,改变主题数K的变化方向dk,进而更新主题数K,并将更新后的主题数K作为下一轮LDA模型迭代的主题数继续进行迭代计算,迭代计算结束后,得到当前语料库的LDA模型;主题数K的更新规则:k=k_old+dk*alpha*k_old,其中,k_old为上一次迭代的主题数,dk为主题数K的变化方向,随机初始化为1或-1;alpha为学习因子,可设置为固定值或随着迭代次数变化的序列值。此处根据语料库规模设置初始主题数可根据经验值进行设定,也可以在实施中采用公式K=N/V设置初始主题数,其中K为主题数,N为词典中所含词的个数,V为每个主题所包含的平均词数。采用该公式能简单的将V设置为固定值(经验值)如取100,也可采用复杂的方式对V进行取值如根据N的大小设置V值(如N<10000时取V=100,10000<N<100000时取V=200,....)。词典是词的集合,以列表形式存储。通过上述步骤可实现对初始设置的主题数K实现自动修改,自动获得满足具体文档语料库要求的主题数K。从而避免了不断修改LDA模型主题数K的麻烦。本发明提供方法利用余弦距离测度作为LDA模型好坏的评估标准,通过后续检验可知,采用该指标衡量得到的LDA模型主题数,能有效提高所得LDA模型对各类语料库的准确性。通过动态调整主题个数K,在一定程度上避免了因个人经验主观设置K导致的模型不合理问题,提高了模型的精度;通过设置合适的迭代次数,可用于小批量的语料库的实时计算,选择出适合该语料库的LDA模型,从而提高筛选效率。优选的,文档词频矩阵F的构建包括以下步骤:步骤S110:对语料库中的文档按顺序编号索引;步骤S120:对每个文档进行分词处理并构建词典;步骤S130:基于词典构建形式如下的文档词频矩阵F:F=f1,1f1,2....f1,N-1f1,Nf2,1f2,2....f2,N-1f2,N....................fM-1,1fM-1,2....fM-1,N-1fM-1,NfM,1fM,2....fM,N-1fM,N]]>其中,M为文档数量,N为词典词数,矩阵中的行表示文档,列表示该词在词典中的索引,fi,j表示词典中的第j个词在第i个文档中出现的次数。文档词频矩阵F是语料库中文档的向量化表示,是一种词袋模型(即忽略了词的空间位置关系,只包含词的统计信息),每一行表示一篇文档中词的词频统计,词频为0表示文档不包含该词,不为0表示包含该词。只有先将语料库中的文档转化为文档词频矩阵F表示才能用于LDA聚类计算。优选的,初始化主题数K包括dk,eps,alpha和maxIteration,其中dk为K的变化方向,随机初始化为1或-1(1为正向,-1为负向),alpha为学习因子,alpha可设置为固定值或设置为随着迭代次数变化的序列值,maxIteration为最大迭代次数,eps为迭代结束阈值。设置这些主题数的向量并结合后续计算,能有效提高该迭代计算方法对主题数K的更新准确率,提高迭代得到的主题数K用于LDA模型的计算准确率。使用主题数K对文档词频矩阵F进行LDA模型聚类计算。对LDA模型进行求解的方法可以为:基于变分EM(VariationalEM)的算法、基于Gibbs(吉布斯)采样的算法以及期望传播(Expectation-Propagation)的算法。优选为基于Gibbs采样的算法。优选的,LDA模型中主题-词概率分布为K*N的矩阵,K为主题数,N为词典中所含词的个数,其每一行表示一个主题的词概率分布,其中第k个主题的第t个词的概率的计算公式如下其中βt为主题-词概率分布的先验概率分布狄利克雷分布的超参数向量β的第t个分量,为主题K中第t个词出现的次数。可通过Gibbs采样计算得到,具体计算方法参见GHeinrich在2005年发表的技术报告《Parameterestimationfortextanalysis》。主题向量之间的余弦距离相似度dx,y和平均相似余弦距离相似度r,分别通过下式计算:r=Σx=0K-1Σy=x+1Kdx,yK×(K-1)/2]]>其中,dx,y表示中第x个主题向量与第y个主题向量之间的余弦距离相似度,表示的第x个主题的第n个词的概率值,表示第x个主题向量的模,k为主题数,N为词典(即步骤S120中构建的词典)。采用这些公式计算能计算得到平均相似余弦距离相似度r可用于度量主题之间的相关性,r越小表示主题之间相关性越小,当r=0时表示主题之间互不相关是最理想的聚类结果。优选的,dk的更新规则为:当r-r_old>0(r增大)时,dk方向取反,即dk=-1*dk。当r-r_old<0(r减小)时dk不变,其中r为当前迭代的平均相似度,r_old为上一轮迭代的平均相似度。按此规则进行dk更新能保证平均相似余弦距离相似度r的值不断减小以得到最佳的聚类结果。优选的,使用当前主题数K对文档词频矩阵F继续进行LDA模型聚类迭代计算,当满足r-r_old(平均相似度r的变化)小于eps或者迭代次数达到maxIteration时,流程结束,输出当前的LDA模型。按此条件进行dk更新结束能保证平均相似余弦距离相似度r的值不断减小以得到最佳的聚类结果。本发明提供的上述方法具体包括以下步骤:a)对语料库进行预处理得到文档词频矩阵F。①对语料库文档按顺序编号索引;②对每个文档进行分词处理并构建词典;③基于词典构建文档词频矩阵F,文档词频矩阵的形式如下:F=f1,1f1,2....f1,N-1f1,Nf2,1f2,2....f2,N-1f2,N....................fM-1,1fM-1,2....fM-1,N-1fM-1,NfM,1fM,2....fM,N-1fM,N]]>其中M为文档数量,N为词典词数,矩阵中的行表示文档,列表示词在词典的索引,fi,j表示词典中第j个词在第i个文档中的出现次数。b)根据词典中所含词的个数初始化主题数K;初始化dk,eps,alpha,maxIteration,其中dk为K的变化方向随机初始化为1或-1(1为正向,-1为负向),alpha为学习因子,alpha可设置为固定值也可设置为随着迭代次数变化的序列值,maxIteration为最大迭代次数,eps为迭代结束阈值。c)使用主题数K对文档词频矩阵F进行LDA模型聚类计算。对LDA模型进行求解的主要方法有基于变分EM(VariationalEM)的算法、基于Gibbs(吉布斯)采样的算法以及期望传播(Expectation-Propagation)的算法,在本发明的实施案例中假设采用Gibbs采样的求解算法,但不限于Gibbs采样算法。d)根据c)中得到的LDA模型中的主题-词概率分布计算主题向量之间的余弦距离相似度和平均相似度r。计算公式为r=Σi=0K-1Σj=i+1Kdi,jK×(K-1)/2]]>其中di,j表示中第i个主题向量与第j个主题向量之间的余弦距离相似度,表示的第i个主题的第n个词的概率值,表示第i个主题向量的模,k为主题数,N为词典中所含词的个数。e)更新主题数K,更新公式为k=k_old+dk*alpha*k_old,k_old为上一次迭代的主题数。f)更新dk,dk的更新规则为当r-r_old>0(r增大)时,dk方向取反,即dk=-1*dk,r-r_old<0(r减小)时dk不变,其中r为当前迭代的平均相似度,r_old为上一迭代的平均相似度。g)使用新主题数K跳转到c)继续迭代,当满足r-r_old(平均相似度r的变化)小于eps或者迭代次数达到maxIteration时流程结束,输出当前的LDA模型。参见图2,本发明的另一方面提供了一种上述方法用自适应潜在狄利克雷模型选择装置,包括:初始值设定模块100,用于将语料库转换为用于LDA模型计算的文档词频矩阵F,并根据语料库规模设置初始主题数K,迭代计算LDA模型;迭代更新模块200,用于每轮迭代后,根据LDA模型的主题-词概率分布的平均余弦距离相似度r相对上一轮迭代计算中的平均余弦距离相似度r_old是增大或减小,改变主题数K的变化方向dk,进而更新主题数K,并将更新后的主题数K作为下一轮LDA模型迭代的主题数继续进行迭代计算,迭代计算结束后,得到当前语料库的LDA模型;主题数K的更新规则:k=k_old+dk*alpha*k_old,其中,k_old为上一次迭代的主题数,dk为主题数K的变化方向,随机初始化为1或-1;alpha为学习因子,可设置为固定值或随着迭代次数变化的序列值。采用该装置能避免单纯依靠经验选择主题数K导致无法适用于很多未经筛选的语料库,从而提高对不同语料库输出具有专门针对性LDA模型的效率。优选的,初始值设定模块包括:编号模块:用于对语料库中的文档按顺序编号索引;词典构建模块:用于对每个文档进行分词处理并构建词典;文档词频矩阵计算模块:用于基于词典构建形式如下的文档词频矩阵F:F=f1,1f1,2....f1,N-1f1,Nf2,1f2,2....f2,N-1f2,N....................fM-1,1fM-1,2....fM-1,N-1fM-1,NfM,1fM,2....fM,N-1fM,N]]>其中,M为文档数量,N为词典词数,矩阵中的行表示文档,列表示该词在词典中的索引,fi,j表示词典中的第j个词在第i个文档中出现的次数。采用该装置进行文档词频矩阵F,所得文档词频矩阵F是语料库中文档的向量化表示,是一种词袋模型(即忽略了词的空间位置关系,只包含词的统计信息),每一行表示一篇文档中词的词频统计,词频为0表示文档不包含该词,不为0表示包含该词。只有先将语料库中的文档转化为文档词频矩阵F表示才能用于LDA聚类计算。本领域技术人员将清楚本发明的范围不限制于以上讨论的示例,有可能对其进行若干改变和修改,而不脱离所附权利要求书限定的本发明的范围。尽管己经在附图和说明书中详细图示和描述了本发明,但这样的说明和描述仅是说明或示意性的,而非限制性的。本发明并不限于所公开的实施例。通过对附图,说明书和权利要求书的研究,在实施本发明时本领域技术人员可以理解和实现所公开的实施例的变形。在权利要求书中,术语“包括”不排除其他步骤或元素,而不定冠词“一个”或“一种”不排除多个。在彼此不同的从属权利要求中引用的某些措施的事实不意味着这些措施的组合不能被有利地使用。权利要求书中的任何参考标记不构成对本发明的范围的限制。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1