Biterm主题模型的采样加速方法转让专利

申请号 : CN201710039835.1

文献号 : CN106776579B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 徐华贺星伟邓俊辉孙晓民

申请人 : 清华大学

摘要 :

本发明提出一种Biterm主题模型的采样加速方法,包括:为每个词语创建alias table,选取一个Biterm主题模型;从corpus proposal中,为Biterm采样一个新的主题,计接受概率;判断该接受概率是否大于r;如果是,则更新Biterm,否则,不更新;从word proposal中,为Biterm主题模型采样另一个新的主题,计算接受概率;判断该接受概率是否大于r;如果是,则更新Biterm主题模型,否则,不更新。本发明能够优化BTM的采样时间复杂度,大幅度提高BTM的收敛速度,并且不影响最终的主题聚类质量,不仅可以优化短文主题挖掘的时间,同时也可以优化长文本主题挖掘的时间。

权利要求 :

1.一种Biterm主题模型的采样加速方法,其特征在于,包括以下步骤:S1:基于Alias method方法,为每个词语创建alias table,并选取一个Biterm主题模型;

S2:从corpus proposal中,为所述Biterm主题模型采样一个新的主题,并计算该主题的接受概率;

S3:判断该接受概率是否大于随机获取的随机数r,其中,r大于0且小于1;

S4:如果是,则更新所述Biterm主题模型,否则,不更新所述Biterm主题模型;

S5:从word proposal中,为所述Biterm主题模型采样另一个新的主题,并计算该主题的接受概率;

S6:判断该接受概率是否大于所述随机数r;

S7:如果是,则更新所述Biterm主题模型,否则,不更新所述Biterm主题模型。

2.根据权利要求1所述的Biterm主题模型的采样加速方法,其特征在于,还包括:在连续使用K次alias table后,更新所述alias table。

3.根据权利要求1所述的Biterm主题模型的采样加速方法,其特征在于,根据主题的采样推断的条件概率得到所述corpus proposal和word proposal。

4.根据权利要求3所述的Biterm主题模型的采样加速方法,其特征在于,所述条件概率为:其中,所述(nz+α)为所述corpus proposal,所述 和 为所述word proposal。

5.根据权利要求1所述的Biterm主题模型的采样加速方法,其特征在于,构造所述alias table的时间复杂度为O(K),其中,K为设定的主题数目。

6.根据权利要求1所述的Biterm主题模型的采样加速方法,其特征在于,在O(1)时间内为所述Biterm主题模型采样新的主题。

7.根据权利要求1所述的Biterm主题模型的采样加速方法,其特征在于,从所述corpus proposal中采样的一个新的主题的接受概率为:

8.根据权利要求1所述的Biterm主题模型的采样加速方法,其特征在于,从所述word proposal中采样的另一个新的主题的接受概率为:

说明书 :

Biterm主题模型的采样加速方法

技术领域

[0001] 本发明涉及计算机程序基于组件对象的软件工程技术领域,特别涉及一种Biterm主题模型的采样加速方法。

背景技术

[0002] 随着社交网络的流行,如微博和Twitter等,短文本的主题挖掘越来越重要。Biterm topic model(BTM)是一种主题模型,如图1(a)所示,它不同于传统的主题模型,如
LDA(Latent Dirichlet Allocation,文档主题生成模型)等,如图1(b)所示。BTM既适合短
文本,也适合长文本,而传统的主题模型会受到短文本特征项稀疏的严重影响,所以一般只
适合长文本,但也有许多研究者将这些传统的主题模型用于短文本,主要通过的方法有利
用外部知识来丰富短文本,或者是将短文本聚合成长的伪文本。在BTM中,语料库中所有的
词对共享一个主题概率分布,主题是互异词项的概率分布,BTM直接对语料库中所有词对中
词的生成过程进行建模,而没有对文档直接进行建模,所以BTM无法直接获得文档主题分
布,但是这个概率分布可以用过推理得到。
[0003] 由于短文本不像长文本那样,它缺乏丰富的上下文,传统的主题模型在短文本上遭受了严重的数据稀疏的影响,所以特征稀疏也就成为短文本研究中极具挑战的问题。BTM
是针对短文本而提出的,它可以用来处理短文本这种稀疏问题。因为主题是通过相关的词
组合而成的,而词间的这种相关性也是通过词共现来体现的,所以直接通过对共现的词对
进行建模来学习主题,另外,建模时使用的是整个语料库中的词对,这样能更好的挖掘主
题。
[0004] 也就是说,BTM在短文本主题挖掘方面优于传统的主题模型LDA、PLSA(Probability Latent Semantic Analysis)主题模型等。然而,BTM采用Gibbs采样挖掘短
文的主题。每次采样需要O(K)的时间,其中K表示设定的主题数目。由此,可以看出Gibbs采
样非常耗时,尤其当K和数据集非常大时,Gibb采用无法满足用户的需求。

发明内容

[0005] 本发明旨在至少解决上述技术问题之一。
[0006] 为此,本发明的目的在于提出一种Biterm主题模型的采样加速方法,该方法能够优化BTM的采样时间复杂度,大幅度提高BTM的收敛速度,并且不影响最终的主题聚类质量,
不仅可以优化短文主题挖掘的时间,同时也可以优化长文本主题挖掘的时间。
[0007] 为了实现上述目的,本发明的实施例提出了一种Biterm主题模型的采样加速方法,包括以下步骤:S1:基于Alias method方法,为每个词语创建alias table,并选取一个
Biterm主题模型;S2:从corpus proposal中,为所述Biterm主题模型采样一个新的主题,并
计算该主题的接受概率;S3:判断该接受概率是否大于随机获取的随机数r,其中,r大于0且
小于1;S4:如果是,则更新所述Biterm主题模型,否则,不更新所述Biterm主题模型;S5:从word proposal中,为所述Biterm主题模型采样另一个新的主题,并计算该主题的接受概
率;S6:判断该接受概率是否大于所述随机数r;S7:如果是,则更新所述Biterm主题模型,否则,不更新所述Biterm主题模型。
[0008] 另外,根据本发明上述实施例的Biterm主题模型的采样加速方法还可以具有如下附加的技术特征:
[0009] 在一些示例中,还包括:在连续使用K次alias table后,更新所述alias table。
[0010] 在一些示例中,根据主题的采样推断的条件概率得到所述corpus proposal和word proposal。
[0011] 在一些示例中,所述条件概率为:
[0012]
[0013] 其中,所述(nz+α)为所述corpus proposal,所述 和为所述word proposal。
[0014] 在一些示例中,构造所述alias table的时间复杂度为O(K),其中,K为设定的主题数目。
[0015] 在一些示例中,在O(1)时间内为所述Biterm主题模型采样新的主题。
[0016] 在一些示例中,从所述corpus proposal中采样的一个新的主题的接受概率为:
[0017]
[0018] 在一些示例中,从所述word proposal中采样的另一个新的主题的接受概率为:
[0019]
[0020] 根据本发明实施例的Biterm主题模型的采样加速方法,基于alias method和MH方法,将采样时间从O(K)降低到常数时间O(1),从而可以优化BTM的采样时间复杂度,大幅度
提高BTM的收敛速度及聚类时间,并且不影响最终的主题聚类质量,该方法不仅可以优化短
文主题挖掘的时间,同时也可以优化长文本主题挖掘的时间,进而使BTM可以满足大规模数
据,以及在线模型的需求。
[0021] 本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。

附图说明

[0022] 本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:
[0023] 图1(a)和图1(b)分别是BTM和LDA的结构示意图;
[0024] 图2是根据本发明一个实施例的Biterm主题模型的采样加速方法的流程图;
[0025] 图3是根据本发明另一个实施例的Biterm主题模型的采样加速方法的整体流程图;
[0026] 图4是根据本发明一个具体实施例的根据Alias Method构造alias table的流程示意图。

具体实施方式

[0027] 下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附
图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。
[0028] 在本发明的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对
本发明的限制。此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性。
[0029] 在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本
发明中的具体含义。
[0030] 以下结合附图描述根据本发明实施例的Biterm主题模型的采样加速方法。
[0031] 图2是根据本发明一个实施例的Biterm主题模型的采样加速方法的流程图。图3是根据本发明另一个实施例的Biterm主题模型的采样加速方法的整体流程图。如图2所示,并
结合图3,该方法包括以下步骤:
[0032] 步骤S1:基于Alias method方法,为每个词语创建alias table,并选取一个Biterm主题模型。具体地说,将整个语料库转化为biterm set,每次从中选择一个Biterm主
题模型。
[0033] 其中,构造alias table的时间复杂度为O(K),其中,K为设定的主题数目。
[0034] 步骤S2:以corpus proposal作为建议分布采样。从corpus proposal中,为Biterm主题模型采样一个新的主题(new topic),并计算该主题的接受概率。
[0035] 具体地,在本发明的一个实施例中,在O(1)时间内为Biterm主题模型采样新的主题。
[0036] 进一步地,基于Metropolis-Hastings方法,计算从corpus proposal中采样的新的主题的接受概率为:
[0037]
[0038] 步骤S3:判断该接受概率是否大于随机获取的随机数r,其中,r大于0且小于1。
[0039] 步骤S4:如果是,则更新Biterm主题模型,否则,不更新Biterm主题模型。
[0040] 步骤S5:以word proposal作为建议分布采样。从word proposal中,为Biterm主题模型采样另一个新的主题,并计算该主题的接受概率。
[0041] 具体地,在本发明的一个实施例中,在O(1)时间内为Biterm主题模型采样新的主题。
[0042] 进一步地,基于Metropolis-Hastings方法,计算从word proposal中采样的新的主题的接受概率为:
[0043]
[0044] 步骤S6:判断该接受概率是否大于随机数r。
[0045] 步骤S7:如果是,则更新Biterm主题模型,否则,不更新Biterm主题模型。
[0046] 具体地,在本发明的一个实施例中,根据主题的采样推断的条件概率得到corpus proposal和word proposal。
[0047] 其中,BTM采用Gibbs采样推断主题,条件概率为:
[0048]
[0049] 其中,(nz+α)为corpus proposal, 和 为word proposal。
[0050] 进一步地,在本发明的一个实施例中,还包括:在连续使用K次alias table后,更新alias table。具体地说,为了将采样的时间复杂度从O(K)降低为O(1),在本发明的实施
例中,在构建完alias table之后,可以连续使用K次,(因此,整个语料库的主题变化非常
慢),从而可以将构造alias table的时间复杂度平摊为O(1)。这是因为:如果每次构造完
alias table以后,直接进行采样,然后更新alias table并不会降低时间复杂度。为了将采
样的时间复杂度降低为O(1),故而采用了与AliasLDA和LightLDA相同的策略,即在构造完
alias table之后,连续进行K次采样,这样可以将构造alias table的时间复杂度平摊掉,
从而实现常数时间内采样。
[0051] 换言之,本发明实施例的方法的主要原理可概述为:利用alias method,利用corpus proposal作为建议分布,计算每个词语的alias table。其中,构造alias table的
时间复杂度为O(K),其中K为设定的主题数目。构造完alias table之后,在O(1)时间内为该
biterm分配一个新的主题并计算接受概率。然后,随机产生一个0~1之间的数r。如果r小于
接受概率则判定转移成功,更新biterm的主题,否则判定转移失败,不更新主题。进一步地,
由图2和图3可以看出,为了提高接受概率,本发明的实施例采用了轮流采样的方法,即分别
以corpus proposal和word proposal作为建议分布,从中采样新主题。首先以corpus 
proposal作为建议分布,从中采样主题,以判断采样是否成功,之后再使用word proposal
作为建议分布,从中采样主题,以判断采样是否成功,且根据corpus proposal和word 
proposal进行采样的过程类似。
[0052] 需要说明的是,该方法利用corpus proposal作为建议分布,从中采样新的主题。由于该建议分布并不是真正的条件概率公式。因此,从建议分布和真实分布中采样存在偏
差。基于此,本发明基于MH方法,引入了接受概率,即从建议分布采样之后跳转到真实分布
的概率。
[0053] 为了便于更好地理解本发明实施例的Biterm主题模型的采样加速方法,以下对该方法涉及到的Alias method方法和MH(Metropolis-Hastings)方法进行具体描述。
[0054] 具体地说,Alias method是一个针对离散数据的高效采样算法。给定n个离散概率p1,p2…pn,如果使用普通的采样算法,需要花费O(n)次操作模拟生成一个样本。Alias 
method方法首先需要花费O(n)次操做,构造alias table。如果,在构造好alias table之后
连续进行n次采样,那么每次采样的时间复杂度平摊下来为常数时间即O(1)。例如图4所示,
示意了如何利用离散概率构造alias table。在具体示例中,例如可通过如下算法1描述
alias table的构造过程,通过算法2描述在构造完alias table之后采样的过程。具体如
下:
[0055]
[0056]
[0057] Algorithm 2 Sampling Process
[0058] 1:r=randint(n)
[0059] 2:f=random(0,1)
[0060] 3:if f
[0061] 4:return r
[0062] 5:else
[0063] 6:return Alias Table[r]
[0064] 7:end if
[0065] 关于MH方法的描述:对于给定的概率分布p(x),希望能有便捷的方式生成它对应的样本。由于马尔科夫链能收敛到平稳分布,因此构造一个转移矩阵为P的马尔科夫链,使
得该马尔科夫链的平稳分布恰好是p(x),那么从任何一个初始状态x0出发沿着马尔科夫链
转移,得到一个转移序列x0,x1,x2,…,xn,xn+1,…如果马尔科夫在第n步已经收敛了,于是
就得到了p(x),的样本。Metropolis算法是首个普适的采样方法,并启发了一系列MCMC方
法。作为具体的示例,MCMC采样算法的具体过程如下:
[0066] 1.初始化马尔科夫链初始状态X0=x0;
[0067] 2.对t=0,1,2,…t=0,1,2,…,循环以下步骤进行采样;
[0068] 2.1第t时刻马尔科夫链状态为Xt=xt,采样y∽q(x|xt);
[0069] 2.2从均匀分布采样u∽Uniform[0,1];
[0070] 2.3如果u
[0071] 2.4否则不接受转移,即Xt+1=xt。
[0072] 本发明实施例的方法正是基于alias method以及Metropolis-Hastings将采样时间复杂度降低为常数时间O(1)。
[0073] 在具体实施例过程中,本发明实施例的方法例如基于Linux Ubuntu 64位操作系统,采用eclipse平台开发实现。为了测试本发明实施例的方法的有效性,在具体实施例中,
在两个数据集twitter 2011dataset与yahoo answer dataset对目前的BTM与本发明实施
例的方法的效率进行了对比。实验结果表明本发明实施例提出的Biterm主题模型的采样加
速方法可以大幅度提升BTM的聚类时间。使BTM可以满足大规模数据,以及在线模型的需求。
作为一个具体的示例,该方法的执行代码如下:
[0074]
[0075] 综上,根据本发明实施例的Biterm主题模型的采样加速方法,基于alias method和MH方法,将采样时间从O(K)降低到常数时间O(1),从而可以优化BTM的采样时间复杂度,
大幅度提高BTM的收敛速度及聚类时间,并且不影响最终的主题聚类质量,该方法不仅可以
优化短文主题挖掘的时间,同时也可以优化长文本主题挖掘的时间,进而使BTM可以满足大
规模数据,以及在线模型的需求。
[0076] 在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不
一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何
的一个或多个实施例或示例中以合适的方式结合。
[0077] 尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本
发明的范围由权利要求及其等同限定。