最优主题数计算方法及装置与流程

文档序号:12596166阅读:350来源:国知局
最优主题数计算方法及装置与流程

本发明涉及机器学习技术领域,更具体地说,涉及一种最优主题数计算方法及装置。



背景技术:

在自然语言处理过程中,文档对于计算机通常被当作是一个无限维度的向量。而这种无限维度的向量对于计算机本身又是不可被计算的,这时就需要对文本进行降维处理,让它以一定维度的数学向量储存在计算机中以便计算。主题模型(Topic Model)就是一种常见的文档降维方法。主题模型的实质是对文档中隐含主题的一种建模方法。具体的,主题模型就是通过已知的“词语-文档”矩阵进行训练,得到“词语-主题”矩阵和“主题-文档”矩阵的过程。其中,“词语-文档”矩阵表示每个文档中每个词语的词频(即出现的概率);“词语-主题”矩阵表示每个主题中每个词语出现的概率;“主题-文档”矩阵表示每个文档中每个主题出现的概率。

上述训练过程,需要先获取若干个主题数,然后基于每一个主题数,通过“词语-文档”矩阵进行训练,得到每一个主题数对应的“词语-主题”矩阵和“主题-文档”矩阵,然后从上述若干个主题中选择一个最优的主题数,将该最优主题数对应的“词语-主题”矩阵和“主题-文档”矩阵作为最优结果输出。

显然,主题数是主题模型的一个重要参数。如果最优主题数选择不当(主题数过少或过多)会导致主题模型的输出结果的质量较差。因此,如何选择最优主题数成为亟待解决的问题。



技术实现要素:

本发明的目的是提供一种最优主题数计算方法及装置,以提高主题模型的输出结果的质量。

为实现上述目的,本发明提供了如下技术方案:

一种最优主题数计算方法,包括:

获取主题模型中使用的若干个主题数;

对应每一个所述主题数,获取所述主题数对应的,每个主题中每个词语出现的第一概率,以及每个文档中每个主题出现的第二概率;

基于所述第一概率和所述第二概率,计算两两主题间的第一相似度,以及两两词语间的第二相似度;

基于所述主题数对应的两两主题间的第一相似度、所述主题数对应的两两词语间的第二相似度以及所述主题数,计算所述主题数对应的平衡相似度,所述平衡相似度的大小用于衡量主题数的优劣;

将平衡相似度满足预设条件时的主题数确定为最优主题数。

通过上述过程可知,本发明实施例中,基于主题数对应的两两主题间的第一相似度、主题数对应的两两词语间的第二相似度以及主题数,计算主题数对应的用于衡量主题数的优劣的平衡相似度;将平衡相似度满足预设条件时的主题数确定为最优主题数。从而可以基于如下原则获取最优主题数:主题数尽可能多,以保证最大程度的语义覆盖,但是却不能过多;各个主题尽可能表达独立含义,尽量不存在语义交叉;相同含义的词语越少越好,以保证用最少的词语来表示尽可能多的语义。

上述方法,优选的,所述基于所述主题数对应的两两主题间的第一相似度、所述主题数对应的两两词语间的第二相似度以及所述主题数,计算所述主题数对应的平衡相似度,包括:

计算所述主题数对应的两两主题间的第一相似度的第一和值,以及所述主题数对应的两两词语间的第二相似度的第二和值;

将所述第一和值和所述第二和值的乘积与所述主题数的平方值做商运算,得到所述主题数对应的平衡相似度。

上述方法,优选的,所述将平衡相似度满足预设条件时的主题数确定为最优主题数,包括:

将平衡相似度最小时的主题数确定为最优主题数。

上述过程中,通过分母主题数的平方来确保主题数不会过大;通过对两两主题间的相似度求和,并且通过平衡相似度最小来使得主题数范围内的主题间语义叠加最小;通过对两两词语间的相似度求和,并且通过平衡相似度最小来使得当前主题数范围内的主题中所有词语语义叠加最小。

上述方法,优选的,基于所述第一概率计算两两主题间的第一相似度,包括:

获取与第一主题对应的第一向量,以及与第二主题对应的第二向量;所述第一向量中的元素为所述第一主题中各个词语出现的第一概率,所述第二向量中的元素为所述第二主题中各个词语出现的第一概率;

基于所述第一向量和所述第二向量计算所述第一主题和所述第二主题间的第一相似度。

上述方法,优选的,基于所述第一概率和所述第二概率计算两两词语间的第二相似度,包括:

计算不同文档中同一主题出现的第二概率的第三和值;

对应每一个主题,计算主题对应的所述第三和值与主题中第一词语出现的第一概率的第一乘积,将第一乘积结果与语料库中所述第一词语的词频做商运算,得到在所述第一词语出现的条件下,每一个主题的第三概率;计算主题对应的所述第三和值与主题中第二词语出现的第一概率的第二乘积,将第二乘积结果与语料库中所述第二词语的词频做商运算,得到在所述第二词语出现的条件下,每一个主题的第四概率;

获取与所述第一词语对应的第三向量,以及与所述第二词语对应的第四向量;所述第三向量中的元素为在所述第一词语出现的条件下,各个主题的第三概率;所述第四向量中的元素为在所述第二词语出现的条件下,各个主题的第四概率;

基于所述第三向量和所述第四向量计算所述第一词语和所述第二词语间的第二相似度。

一种最优主题数计算装置,包括:

第一获取模块,用于获取主题模型中使用的若干个主题数;

第二获取模块,用于对应每一个所述主题数,获取所述主题数对应的,每个主题中每个词语出现的第一概率,以及每个文档中每个主题出现的第二概率;

第一计算模块,用于基于所述第一概率和所述第二概率,计算两两主题间的第一相似度,以及两两词语间的第二相似度;

第二计算模块,用于基于所述主题数对应的两两主题间的第一相似度、所述主题数对应的两两词语间的第二相似度以及所述主题数,计算所述主题数对应的平衡相似度,所述平衡相似度的大小用于衡量主题数的优劣;

确定模块,用于将平衡相似度满足预设条件时的主题数确定为最优主题数。

本发明实施例提供的最优主题数计算装置,基于主题数对应的两两主题间的第一相似度、主题数对应的两两词语间的第二相似度以及主题数,计算主题数对应的用于衡量主题数的优劣的平衡相似度;将平衡相似度满足预设条件时的主题数确定为最优主题数。从而可以基于如下原则获取最优主题数:主题数尽可能多,以保证最大程度的语义覆盖,但是却不能过多;各个主题尽可能表达独立含义,尽量不存在语义交叉;相同含义的词语越少越好,以保证用最少的词语来表示尽可能多的语义。

上述装置,优选的,所述第二计算模块包括:

第一计算单元,用于计算所述主题数对应的两两主题间的第一相似度的第一和值,以及所述主题数对应的两两词语间的第二相似度的第二和值;

第二计算单元,用于将所述第一和值和所述第二和值的乘积与所述主题数的平方值做商运算,得到所述主题数对应的平衡相似度。

上述装置,优选的,所述确定模块用于,将平衡相似度最小时的主题数确定为最优主题数。

上述最优主题数计算装置,通过分母主题数的平方来确保主题数不会过大;通过对两两主题间的相似度求和,并且通过平衡相似度最小来使得主题数范围内的主题间语义叠加最小;通过对两两词语间的相似度求和,并且通过平衡相似度最小来使得当前主题数范围内的主题中所有词语语义叠加最小。

上述装置,优选的,所述第一计算模块用于基于所述第一概率计算两两主题间的第一相似度,包括:

第一获取单元,用于获取与第一主题对应的第一向量,以及与第二主题对应的第二向量;所述第一向量中的元素为所述第一主题中各个词语出现的第一概率,所述第二向量中的元素为所述第二主题中各个词语出现的第一概率;

第三计算单元,用于基于所述第一向量和所述第二向量计算所述第一主题和所述第二主题间的第一相似度。

上述装置,优选的,所述第一计算模块用于基于所述第一概率和所述第二概率计算两两词语间的第二相似度,包括:

第四计算单元,用于计算不同文档中同一主题出现的第二概率的第三和值;

第五计算单元,用于对应每一个主题,计算主题对应的所述第三和值与主题中第一词语出现的第一概率的第一乘积,将第一乘积结果与语料库中所述第一词语的词频做商运算,得到在所述第一词语出现的条件下,每一个主题的第三概率;计算主题对应的所述第三和值与主题中第二词语出现的第一概率的第二乘积,将第二乘积结果与语料库中所述第二词语的词频做商运算,得到在所述第二词语出现的条件下,每一个主题的第四概率;

第二获取单元,用于获取与所述第一词语对应的第三向量,以及与所述第二词语对应的第四向量;所述第三向量中的元素为在所述第一词语出现的条件下,各个主题的第三概率;所述第四向量中的元素为在所述第二词语出现的条件下,各个主题的第四概率;

第六计算单元,用于基于所述第三向量和所述第四向量计算所述第一词语和所述第二词语间的第二相似度。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1a为“词语-文档”矩阵的一种示例;

图1b为“词语-主题”矩阵的一种示例图;

图1c为“主题-文档”矩阵的一种示例图;

图2为本发明实施提供的最优主题数计算方法的一种实现流程图;

图3为本发明实施提供的基于主题数对应的两两主题间的第一相似度、主题数对应的两两词语间的第二相似度以及主题数,计算主题数对应的平衡相似度的一种实现流程图;

图4为本发明实施提供的计算两两主题间的第一相似度的一种实现流程图;

图5为本发明实施提供的计算两两词语间的第二相似度的一种实现流程图;

图6为基于本发明实施例中公式(1)相关实施例提供的,最优主题数计算方法计算过程中平衡相似度的一种变化趋势图;

图7为基于本发明实施例中公式(1)相关实施例提供的,最优主题数计算方法计算过程中平衡相似度的另一种变化趋势图;

图8为利用基于信息熵的困惑度来评价主题模型整体质量的时,困惑度的变化趋势图;

图9为本发明实施提供的最优主题数计算装置的一种结构示意图;

图10为本发明实施提供的第二计算模块的一种结构示意图;

图11为本发明实施提供的第一计算模块的一种结构示意图;

图12为本发明实施提供的第一计算模块的另一种结构示意图。

说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的部分,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示的以外的顺序实施。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有付出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

为了更好的理解本发明实施例,首先对主题模型的训练过程进行说明。

在训练开始之前,需要技术人员根据先验知识确定若干个主题数,主题数即为主题的个数。为方便叙述,这里将第r个主题数记为Nr(r=1,2,3,4,……,n),n表示主题数的个数。

在启动训练过程后,首先,对于语料库中的一系列文档,通过对文档进行分词,计算各个文档中每个词语的词频就可以得到“词语-文档”矩阵。

“词语-文档”矩阵的一种示例如图1a所示。“词语-文档”矩阵表示每个文档中每个词语的词频(即出现的概率),也就是说,若“词语-文档”矩阵中某个元素对应的文档为d,对应的词语为w,则该元素的取值为P(w|d)。

主题模型的训练过程,就是对应每一个主题数,通过图1a所示的“词语-文档”矩阵得到“词语-主题”矩阵和“主题-文档”矩阵,然后,根据一定的规则找到最优主题数,输出与最优主题数对应的“词语-主题”矩阵和“主题-文档”矩阵的过程。

其中,“词语-主题”矩阵的一种示例图如图1b所示,“词语-主题”矩阵表示每个主题中每个词语出现的概率,也就是说,若“词语-主题”矩阵中某个元素对应的主题为t,对应的词语为w,则该元素的取值为P(w|t)。“主题-文档”矩阵的一种示例图如图1c所示,“主题-文档”矩阵表示每个文档中每个主题出现的概率,也就是说,若“主题-文档”矩阵中某个元素对应的主题为t,对应的文档为d,则该元素的取值为P(t|d)。

1a-1c三个矩阵满足如下关系:“词语-文档”矩阵等于“主题-文档”矩阵与“词语-主题”矩阵的乘积。

本发明实施例就是提供一种确定最优主题数的方法及装置。

请参阅图2,图2为本发明实施提供的最优主题数计算方法的一种实现流程图,可以包括:

步骤S21:获取主题模型中使用的若干个主题数。

主题模型使用的若干各主题数即为主题模型训练开始之前,由技术人员根据先验知识确定的若干个主题数。

例如,确定了8个主题数,分别为4,20,25,35,37,65,88。若主题数为4,则“词语-主题”矩阵和“主题-文档”矩阵中的主题数均为4,即,“词语-主题”矩阵的行数为4,“主题-文档”矩阵的列数为4。同理,若主题数为25,则“词语-主题”矩阵和“主题-文档”矩阵中的主题数均为25,即,“词语-主题”矩阵的行数为25,“主题-文档”矩阵的列数为25。

步骤S22:对应每一个主题数,获取该主题数对应的,每个主题中每个词语出现的第一概率,以及每个文档中每个主题出现的第二概率。

主题数确认后,相对应的“词语-主题”矩阵和“主题-文档”矩阵就确定了,而“词语-主题”矩阵表示每个主题中每个词语出现的概率,“主题-文档”矩阵表示每个文档中每个主题出现的概率,因此,对应每一个主题数,该主题数对应的每个主题中每个词语出现的第一概率,以及每个文档中每个主题出现的第二概率是已知的。可以直接从“词语-主题”矩阵和“主题-文档”矩阵中读取每个主题中每个词语出现的第一概率,以及每个文档中每个主题出现的第二概率。

步骤S23:基于第一概率和第二概率,计算两两主题间的第一相似度,以及两两词语间的第二相似度。

在一可选的实施例中,两两主题间的第一相似度可以通过词语的语义分布来计算。对于一个主题来说,词语的语义分布即为:不同的词语在该主题中出现的概率。

两两词语间的第二相似度可以通过主题的语义分布来计算。对于一个词语来说,主题的语义分布即为:在该词语出现的情况下,各个主题的概率。例如,“苹果”出现的时候,会有一定的概率来表示水果,也有一定的概率表示为电子产品。那么,苹果这个词的语义分布即为,在苹果这个词出现的情况下,主题“水果”的概率,以及主题“电子产品”的概率。其中,主题的语义分布可以基于“词语-主题”矩阵和“主题-文档”矩阵计算得到。

为便于区分,可以将通过词语的语义分布计算两两主题间的相似度记为正向相似度;将通过主题的语义分布计算两两词语间的相似度记为反向相似度。

步骤S24:基于主题数对应的两两主题间的第一相似度、主题数对应的两两词语间的第二相似度以及主题数,计算主题数对应的平衡相似度,平衡相似度的大小用于衡量主题数的优劣。

对应每一个主题数,基于该主题数对应的两两主题间的第一相似度、该主题数对应的两两词语间的第二相似度以及该主题数,计算该主题数对应的平衡相似度。也就是说,每一个主题数对应一个平衡相似度。

步骤S25:将平衡相似度满足预设条件时的主题数确定为最优主题数。

本发明实施例提供的计算最优主题数的方法,基于主题数对应的两两主题间的第一相似度、主题数对应的两两词语间的第二相似度以及主题数,计算主题数对应的用于衡量主题数的优劣的平衡相似度;将平衡相似度满足预设条件时的主题数确定为最优主题数。从而可以基于如下原则获取最优主题数:主题数尽可能多,以保证最大程度的语义覆盖,但是却不能过多;各个主题尽可能表达独立含义,尽量不存在语义交叉;相同含义的词语越少越好,以保证用最少的词语来表示尽可能多的语义。

在一可选的实施例中,基于主题数对应的两两主题间的第一相似度、主题数对应的两两词语间的第二相似度以及主题数,计算主题数对应的平衡相似度的一种实现流程图如图3所示,可以包括:

步骤S31:计算主题数对应的两两主题间的第一相似度的第一和值,以及主题数对应的两两词语间的第二相似度的第二和值;

假设主题个数为m,则共有m(m-1)/2个两两主题间的第一相似度,因此,两两主题间的第一相似度的第一和值是指上述m(m-1)/2个第一相似度的和值;同理,若“词语-文档”矩阵中,词语数为q,则共有q(q-1)/2个两两词语间的第二相似度,因此,两两词语间的第二相似度的第二和值是指上述q(q-1)/2个第二相似度的和值。

步骤S32:将第一和值和第二和值的乘积与主题数的平方值做商运算,得主题数对应的平衡相似度。

若用K表示主题数,主题数K对应的平衡相似度为BlanceSimilarity(K),则平衡相似度的计算公式为:

其中,W表示所有词语的集合,T表示与主题数K对应的所有主题的集合;similarity(wi,wj)表示词语wi和词语wj的相似度;similarity(ti,tj)表示主题ti和主题tj的相似度。

基于上述平衡相似度的计算方法,可以将平衡相似度最小时的主题数确定为最优主题数。若用K0表示最优主题数,则K0可以用公式表示为:

其中,argmin是一个数学符号,表示函数BlanceSimilarity(K)取值最小时的自变量K的取值。

本发明实施例中,通过分母K2来确保主题数不会过大,为了让主题数尽可能的多,在实际使用中可以按照主题数K从小到大的顺序进行训练;为了让各个主题尽可能表达独立含义,不存在语义交叉,通过对两两主题间的相似度求和,并且通过平衡相似度最小来使得主题数范围内的主题间语义叠加最小;为了保证相同含义的词语尽可能少(包括:相同词语尽可能不在多个主题中存在,并且相同含义的词语尽可能少),通过对两两词语间的相似度求和,并且通过平衡相似度最小来使得当前主题数范围内的主题中所有词语语义叠加最小。

另外,本发明实施例提供的计算最优主题数的方法计算简单,且计算量小,节省计算资源。

在另一可选的实施例中,在计算主题数对应的两两主题间的第一相似度的第一和值,以及主题数对应的两两词语间的第二相似度的第二和值之后,可以计算第一和值和第二和值的乘积,然后将主题数的平方值与乘积结果做商运算,得到主题数对应的平衡相似度。此时,可以将平衡相似度最大时的主题数确定为最优主题数。本实施例中,最优主题数的计算公式为:

其中,argmax是一个数学符号,表示函数BlanceSimilarity(K)取值最大时的自变量K的取值。

与图3所示实施例不同,本发明实施例中,通过分子K2来确保主题数不会过大,为了让主题数尽可能的多,在实际使用中可以按照主题数K从小到大的顺序进行训练;为了让各个主题尽可能表达独立含义,不存在语义交叉,通过对两两主题间的相似度求和,并且通过平衡相似度最大来使得主题数范围内的主题间语义叠加最小;为了保证相同含义的词语尽可能少(包括:相同词语尽可能不在多个主题中存在,并且相同含义的词语尽可能少),通过对两两词语间的相似度求和,并且通过平衡相似度最大来使得当前主题数范围内的主题中所有词语语义叠加最小。

在一可选的实施例中,可以基于第一概率计算两两主题间的第一相似度。对于任意两个主题,分别为第一主题和第二主题,计算这两个主题间的第一相似度的一种实现流程图如图4所示,可以包括:

步骤S41:获取与第一主题对应的第一向量,以及与第二主题对应的第二向量;其中,第一向量中的元素为第一主题中各个词语出现的第一概率,第二向量中的元素为第二主题中各个词语出现的第一概率;

以图1b为例,主题1对应的向量为(B11,B12,B13,…),主题2对应的向量为(B21,B22,B23,…),主题3对应的向量为(B31,B32,B33,…),依此类推。

步骤S42:基于第一向量和第二向量计算第一主题和第二主题间的第一相似度。

可以计算第一向量和第二向量之间的KL散度,通过KL散度来衡量第一主题和第二主题间的相似度。KL散度越小,表征第一主题和第二主题间越相似,即相似度越大。KL散度越大,表征第一主题和第二主题间越不相似,即相似度越小。

也可以计算第一主题和第二主题间的余弦相似度,即,计算第一向量和第二向量的夹角余弦值,通过夹角余弦值来衡量第一主题和第二主题的相似度。夹角余弦值越小,表征第一主题和第二主题间越相似,即相似度越大。夹角余弦值越大,表征第一主题和第二主题间越不相似,即相似度越小。

还可以计算第一向量和第二向量的欧式距离,通过欧式距离来衡量第一主题和第二主题间的相似度。欧式距离越小,表征第一主题和第二主题间越相似,即相似度越大。欧式距离越大,表征第一主题和第二主题间越不相似,即相似度越小。

当然,本发明实施例中,并不限于以上几种方式计算第一主题和第二主题间的第一相似度,还可以通过其它方式计算第一主题和第二主题间的第一相似度,例如,计算第一向量和第二向量的皮尔森系数,通过皮尔森系数来衡量第一主题和第二主题间的相似度。

在一可选的实施例中,可以基于第一概率和第二概率计算两两词语间的第二相似度,对于任意两个词语,分别为第一词语和第二词语,计算这两个词语间的第二相似度的一种实现流程图如图5所示,可以包括:

步骤S51:计算不同文档中同一主题出现的第二概率的第三和值;

这里的不同文档是指语料库中的各个文档。第二概率可以从“主题-文档”矩阵中直接读取。

以图1c为例,不同文档中主题1出现的第二概率的第三和值为:C11+C21+C31+…;不同文档中主题2出现的第二概率的第三和值为:C12+C22+C32+…;不同文档中主题3出现的第二概率的第三和值为:C13+C23+C33+…;依此类推。

不同文档中,主题ti出现的第二概率的第三和值用公式表示为:∑d∈DP(ti|d),其中,d表示文档,D表示文档集合。

步骤S52:对应每一个主题,计算主题对应的第三和值与主题中第一词语出现的第一概率的第一乘积,将第一乘积结果与语料库中第一词语的词频做商运算,得到在第一词语出现的条件下,每一个主题的第三概率;计算主题对应的第三和值与主题中第二词语出现的第一概率的第二乘积,将第二乘积结果与语料库中第二词语的词频做商运算,得到在第二词语出现的条件下,每一个主题的第四概率;

下面以第i个主题ti为例进行说明。对应第i个主题ti,计算主题ti对应的第三和值与主题ti中第一词语(为方便叙述记为w1)出现的第一概率的第一乘积,将第一乘积结果与语料库中第一词语的词频做商运算,得到在第一词语出现的条件下,主题ti的概率P(ti|w1),用公式表示为:

其中,∑d∈DP(ti|d)表示不同文档中,主题ti出现的第二概率的第三和值,d表示文档,D表示文档集合,P(w1|ti)表示主题ti中第一词语w1出现的概率,P(w1)表示在整个语料库中第一词语w1的词频。

同理,对应第i个主题ti,计算主题ti对应的第三和值与主题ti中第二词语(为方便叙述记为w2)出现的第一概率的第二乘积,将第二乘积结果与语料库中第二词语的词频做商运算,得到在第二词语出现的条件下,主题ti的概率P(w2|ti),用公式表示为:

其中,∑d∈DP(ti|d)表示不同文档中,主题ti出现的第二概率的第三和值,d表示文档,D表示文档集合,P(w2|ti)表示主题ti中第二词语w2出现的概率,P(w2)表示在整个语料库中第二词语w2的词频。

上述第一词语和第二词语为语料库中的任意两个词语。

同理,对应其它任意一个主题,在第一词语出现的情况下,该主题的概率的计算方式可以参照前述计算过程,这里不在一一详述。

步骤S53:获取与第一词语对应的第三向量,以及与第二词语对应的第四向量;其中,第三向量中的元素为在第一词语出现的条件下,各个主题的第三概率;第四向量中的元素为在第二词语出现的条件下,各个主题的第四概率;

第一词语对应的第三向量为(P(t1|w1),P(t2|w1),P(t3|w1),…),第二词语对应的第四向量为(P(t1|w2),P(t2|w2),P(t3|w2),…)。

步骤S54:基于第三向量和第四向量计算第一词语和第二词语间的第二相似度。

可以计算第三向量和第四向量之间的KL散度,通过KL散度来衡量第一词语和第二词语间的相似度。KL散度越小,表征第一词语和第二词语间越相似,即相似度越大。KL散度越大,表征第一词语和第二词语间越不相似,即相似度越小。

也可以计算第一词语和第二词语的余弦相似度,即,计算第三向量和第四向量的夹角余弦值,通过夹角余弦值来衡量第一词语和第二词语的相似度。夹角余弦值越小,表征第一词语和第二词语间越相似,即相似度越大。夹角余弦值越大,表征第一词语和第二词语间越不相似,即相似度越小。

还可以计算第三向量和第四向量的欧式距离,通过欧式距离来衡量第一词语和第二词语间的相似度。欧式距离越小,表征第一词语和第二词语间越相似,即相似度越大。欧式距离越大,表征第一词语和第二词语间越不相似,即相似度越小。

当然,本发明实施例中,并不限于以上几种方式计算第一词语和第二词语间的第二相似度,还可以通过其它方式计算第一词语和第二词语间的第二相似度,例如,计算第三向量和第四向量的皮尔森系数,通过皮尔森系数来衡量第一词语和第二词语间的第二相似度。

下面通过具体的测试实例说明本发明实施例的有效性。

本测试实例中,计算了相同语料条件下,主题数被设定为5,25,35,40,45,47,50,100的主题模型结果。然后通过本发明实施例提供的最优主题数计算方法计算最优主题数,并通过基于信息熵的困惑度来计算最优主题数。

如图6所示,为基于本发明实施例中公式(1)相关实施例提供的,最优主题数计算方法计算过程中平衡相似度的一种变化趋势图,其中,相似度的计算采用了余弦相似度计算方法。图6中,横轴表示主题数,纵轴表示平衡相似度。

如图7所示,为基于本发明实施例中公式(1)相关实施例提供的,最优主题数计算方法计算过程中平衡相似度的另一种变化趋势图,其中,相似度的计算采用了KL散度计算方法。图7中,横轴表示主题数,纵轴表示平衡相似度。

基于本发明实施例中的公式(2),结合图6和图7所示的平衡相似度的变化趋势,可以看出,不管是图6所示示例,还是图7所示示例,最优主题数均为40。

困惑度是LDA(Latent Dirichlet Allocation,隐含狄利克雷分布)的作者Blei在LDA原论文中通过利用主题模型去拟合原文本时的信息熵来评价主题模型整体质量的方法。该方法将困惑度最小时的主题数确定为最优主题数。困惑度计算公式如下所示:

其中,perlexity表示困惑度,z表示主题,d表示文档,D表示文档集合,即语料库,w表示词语,|d|表示文档d中词语的个数,∑d∈D|d|表示语料库中词语的个数。

如图8所示,为利用基于信息熵的困惑度来评价主题模型整体质量的时,困惑度的变化趋势图。图8中,横轴表示主题数,纵轴表示困惑度。

从图8可以看出,当主题数为40时,困惑度最小。即最优主题数也为40。

将图6或图7与图8进行比较可知,本发明实施例提供的最优主题数计算方法是有效的。而且,图6和图7所示示例中,所使用的相似度计算方法为计算向量相似度比较通用的方法,因此,可以看出,本发明实施例中,相似度计算方法并不影响最优主题数的计算结果,本发明实施例提供的最优主题数计算方法可以采用任何相似度算法来进行最优主题数的计算,适用范围较广。

与方法实施例相对应,本发明实施例还提供一种最优主题数计算装置。本发明实施例提供的最优主题数计算装置的一种结构示意图如图9所示,可以包括:

第一获取模块91,第二获取模块92,第一计算模块93,第二计算模块94和确定模块95;其中,

第一获取模块91用于获取主题模型中使用的若干个主题数;

第二获取模块92用于对应每一个主题数,获取主题数对应的,每个主题中每个词语出现的第一概率,以及每个文档中每个主题出现的第二概率;

第一计算模块93用于基于第一概率和第二概率,计算两两主题间的第一相似度,以及两两词语间的第二相似度;

第二计算模块94用于基于主题数对应的两两主题间的第一相似度、主题数对应的两两词语间的第二相似度以及主题数,计算主题数对应的平衡相似度,平衡相似度的大小用于衡量主题数的优劣;

确定模块94用于将平衡相似度满足预设条件时的主题数确定为最优主题数。

本发明实施例提供的最优主题是计算装置,基于主题数对应的两两主题间的第一相似度、主题数对应的两两词语间的第二相似度以及主题数,计算主题数对应的用于衡量主题数的优劣的平衡相似度;将平衡相似度满足预设条件时的主题数确定为最优主题数。从而可以基于如下原则获取最优主题数:主题数尽可能多,以保证最大程度的语义覆盖,但是却不能过多;各个主题尽可能表达独立含义,尽量不存在语义交叉;相同含义的词语越少越好,以保证用最少的词语来表示尽可能多的语义。

在一可选的实施例中,第二计算模块94的一种结构示意图如图10所示,可以包括:

第一计算单元101和第二计算单元102;其中,

第一计算单元101用于计算主题数对应的两两主题间的第一相似度的第一和值,以及主题数对应的两两词语间的第二相似度的第二和值;

第二计算单元102用于将第一和值和第二和值的乘积与主题数的平方值做商运算,得到主题数对应的平衡相似度。

在一可选的实施例中,确定模块95具体用于,将平衡相似度最小时的主题数确定为最优主题数。

在一可选的实施例中,第一计算模块93用于基于第一概率计算两两主题间的第一相似度,第一计算模块93的一种结构示意图如图11所示,可以包括:

第一获取单元111和第三计算单元112;其中,

第一获取单元111用于获取与第一主题对应的第一向量,以及与第二主题对应的第二向量;第一向量中的元素为第一主题中各个词语出现的第一概率,第二向量中的元素为第二主题中各个词语出现的第一概率;

第三计算单元112用于基于第一向量和第二向量计算第一主题和第二主题间的第一相似度。

在另一可选的实施例中,第一计算模块93用于基于第一概率和第二概率计算两两词语间的第二相似度,第一计算模块93的另一种结构示意图如图12所示,可以包括:

第四计算单元121,第五计算单元122,第二获取单元123和第六计算单元124;其中,

第四计算单元121用于计算不同文档中同一主题出现的第二概率的第三和值;

第五计算单元122用于对应每一个主题,计算主题对应的第三和值与主题中第一词语出现的第一概率的第一乘积,将第一乘积结果与语料库中第一词语的词频做商运算,得到在第一词语出现的条件下,每一个主题的第三概率;计算主题对应的第三和值与主题中第二词语出现的第一概率的第二乘积,将第二乘积结果与语料库中第二词语的词频做商运算,得到在第二词语出现的条件下,每一个主题的第四概率;

第二获取单元123用于获取与第一词语对应的第三向量,以及与第二词语对应的第四向量;第三向量中的元素为在第一词语出现的条件下,各个主题的第三概率;第四向量中的元素为在第二词语出现的条件下,各个主题的第四概率;

第六计算单元124用于基于第三向量和第四向量计算第一词语和第二词语间的第二相似度。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统(若存在)、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1