首页> 中国专利> Biterm主题模型的采样加速方法

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

摘要

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

著录项

  • 公开/公告号CN106776579A

    专利类型发明专利

  • 公开/公告日2017-05-31

    原文格式PDF

  • 申请/专利权人 清华大学;

    申请/专利号CN201710039835.1

  • 发明设计人 徐华;贺星伟;邓俊辉;孙晓民;

    申请日2017-01-19

  • 分类号G06F17/27(20060101);

  • 代理机构北京清亦华知识产权代理事务所(普通合伙);

  • 代理人张润

  • 地址 100084 北京市海淀区清华园

  • 入库时间 2023-06-19 02:23:20

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2019-05-31

    授权

    授权

  • 2017-06-23

    实质审查的生效 IPC(主分类):G06F17/27 申请日:20170119

    实质审查的生效

  • 2017-05-31

    公开

    公开

说明书

技术领域

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

背景技术

随着社交网络的流行,如微博和Twitter等,短文本的主题挖掘越来越重要。Biterm topic model(BTM)是一种主题模型,如图1(a)所示,它不同于传统的主题模型,如LDA(Latent Dirichlet Allocation,文档主题生成模型)等,如图1(b)所示。BTM既适合短文本,也适合长文本,而传统的主题模型会受到短文本特征项稀疏的严重影响,所以一般只适合长文本,但也有许多研究者将这些传统的主题模型用于短文本,主要通过的方法有利用外部知识来丰富短文本,或者是将短文本聚合成长的伪文本。在BTM中,语料库中所有的词对共享一个主题概率分布,主题是互异词项的概率分布,BTM直接对语料库中所有词对中词的生成过程进行建模,而没有对文档直接进行建模,所以BTM无法直接获得文档主题分布,但是这个概率分布可以用过推理得到。

由于短文本不像长文本那样,它缺乏丰富的上下文,传统的主题模型在短文本上遭受了严重的数据稀疏的影响,所以特征稀疏也就成为短文本研究中极具挑战的问题。BTM是针对短文本而提出的,它可以用来处理短文本这种稀疏问题。因为主题是通过相关的词组合而成的,而词间的这种相关性也是通过词共现来体现的,所以直接通过对共现的词对进行建模来学习主题,另外,建模时使用的是整个语料库中的词对,这样能更好的挖掘主题。

也就是说,BTM在短文本主题挖掘方面优于传统的主题模型LDA、PLSA(Probability Latent Semantic Analysis)主题模型等。然而,BTM采用Gibbs采样挖掘短文的主题。每次采样需要O(K)的时间,其中K表示设定的主题数目。由此,可以看出Gibbs采样非常耗时,尤其当K和数据集非常大时,Gibb采用无法满足用户的需求。

发明内容

本发明旨在至少解决上述技术问题之一。

为此,本发明的目的在于提出一种Biterm主题模型的采样加速方法,该方法能够优化BTM的采样时间复杂度,大幅度提高BTM的收敛速度,并且不影响最终的主题聚类质量,不仅可以优化短文主题挖掘的时间,同时也可以优化长文本主题挖掘的时间。

为了实现上述目的,本发明的实施例提出了一种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主题模型。

另外,根据本发明上述实施例的Biterm主题模型的采样加速方法还可以具有如下附加的技术特征:

在一些示例中,还包括:在连续使用K次alias table后,更新所述alias table。

在一些示例中,根据主题的采样推断的条件概率得到所述corpus proposal和word proposal。

在一些示例中,所述条件概率为:

其中,所述(nz+α)为所述corpus>

在一些示例中,构造所述alias table的时间复杂度为O(K),其中,K为设定的主题数目。

在一些示例中,在O(1)时间内为所述Biterm主题模型采样新的主题。

在一些示例中,从所述corpus proposal中采样的一个新的主题的接受概率为:

在一些示例中,从所述word proposal中采样的另一个新的主题的接受概率为:

根据本发明实施例的Biterm主题模型的采样加速方法,基于alias method和MH方法,将采样时间从O(K)降低到常数时间O(1),从而可以优化BTM的采样时间复杂度,大幅度提高BTM的收敛速度及聚类时间,并且不影响最终的主题聚类质量,该方法不仅可以优化短文主题挖掘的时间,同时也可以优化长文本主题挖掘的时间,进而使BTM可以满足大规模数据,以及在线模型的需求。

本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。

附图说明

本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:

图1(a)和图1(b)分别是BTM和LDA的结构示意图;

图2是根据本发明一个实施例的Biterm主题模型的采样加速方法的流程图;

图3是根据本发明另一个实施例的Biterm主题模型的采样加速方法的整体流程图;

图4是根据本发明一个具体实施例的根据Alias Method构造alias table的流程示意图。

具体实施方式

下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。

在本发明的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性。

在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。

以下结合附图描述根据本发明实施例的Biterm主题模型的采样加速方法。

图2是根据本发明一个实施例的Biterm主题模型的采样加速方法的流程图。图3是根据本发明另一个实施例的Biterm主题模型的采样加速方法的整体流程图。如图2所示,并结合图3,该方法包括以下步骤:

步骤S1:基于Alias method方法,为每个词语创建alias table,并选取一个Biterm主题模型。具体地说,将整个语料库转化为biterm set,每次从中选择一个Biterm主题模型。

其中,构造alias table的时间复杂度为O(K),其中,K为设定的主题数目。

步骤S2:以corpus proposal作为建议分布采样。从corpus proposal中,为Biterm主题模型采样一个新的主题(new topic),并计算该主题的接受概率。

具体地,在本发明的一个实施例中,在O(1)时间内为Biterm主题模型采样新的主题。

进一步地,基于Metropolis-Hastings方法,计算从corpus proposal中采样的新的主题的接受概率为:

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

步骤S4:如果是,则更新Biterm主题模型,否则,不更新Biterm主题模型。

步骤S5:以word proposal作为建议分布采样。从word proposal中,为Biterm主题模型采样另一个新的主题,并计算该主题的接受概率。

具体地,在本发明的一个实施例中,在O(1)时间内为Biterm主题模型采样新的主题。

进一步地,基于Metropolis-Hastings方法,计算从word proposal中采样的新的主题的接受概率为:

步骤S6:判断该接受概率是否大于随机数r。

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

具体地,在本发明的一个实施例中,根据主题的采样推断的条件概率得到corpus proposal和word proposal。

其中,BTM采用Gibbs采样推断主题,条件概率为:

其中,(nz+α)为corpus>

进一步地,在本发明的一个实施例中,还包括:在连续使用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的时间复杂度平摊掉,从而实现常数时间内采样。

换言之,本发明实施例的方法的主要原理可概述为:利用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进行采样的过程类似。

需要说明的是,该方法利用corpus proposal作为建议分布,从中采样新的主题。由于该建议分布并不是真正的条件概率公式。因此,从建议分布和真实分布中采样存在偏差。基于此,本发明基于MH方法,引入了接受概率,即从建议分布采样之后跳转到真实分布的概率。

为了便于更好地理解本发明实施例的Biterm主题模型的采样加速方法,以下对该方法涉及到的Alias method方法和MH(Metropolis-Hastings)方法进行具体描述。

具体地说,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之后采样的过程。具体如下:

Algorithm 2 Sampling Process

1:r=randint(n)

2:f=random(0,1)

3:if f<ProbTable[r]then

4:return r

5:else

6:return Alias Table[r]

7:end if

关于MH方法的描述:对于给定的概率分布p(x),希望能有便捷的方式生成它对应的样本。由于马尔科夫链能收敛到平稳分布,因此构造一个转移矩阵为P的马尔科夫链,使得该马尔科夫链的平稳分布恰好是p(x),那么从任何一个初始状态x0出发沿着马尔科夫链转移,得到一个转移序列x0,x1,x2,…,xn,xn+1,…如果马尔科夫在第n步已经收敛了,于是就得到了p(x),的样本。Metropolis算法是首个普适的采样方法,并启发了一系列MCMC方法。作为具体的示例,MCMC采样算法的具体过程如下:

1.初始化马尔科夫链初始状态X0=x0;

2.对t=0,1,2,…t=0,1,2,…,循环以下步骤进行采样;

2.1第t时刻马尔科夫链状态为Xt=xt,采样y∽q(x|xt);

2.2从均匀分布采样u∽Uniform[0,1];

2.3如果u<a(xt,y)=p(y)q(xt|y),则接受转移xt∽y,即Xt+1=y;

2.4否则不接受转移,即Xt+1=xt。

本发明实施例的方法正是基于alias method以及Metropolis-Hastings将采样时间复杂度降低为常数时间O(1)。

在具体实施例过程中,本发明实施例的方法例如基于Linux Ubuntu 64位操作系统,采用eclipse平台开发实现。为了测试本发明实施例的方法的有效性,在具体实施例中,在两个数据集twitter 2011dataset与yahoo answer dataset对目前的BTM与本发明实施例的方法的效率进行了对比。实验结果表明本发明实施例提出的Biterm主题模型的采样加速方法可以大幅度提升BTM的聚类时间。使BTM可以满足大规模数据,以及在线模型的需求。作为一个具体的示例,该方法的执行代码如下:

综上,根据本发明实施例的Biterm主题模型的采样加速方法,基于alias method和MH方法,将采样时间从O(K)降低到常数时间O(1),从而可以优化BTM的采样时间复杂度,大幅度提高BTM的收敛速度及聚类时间,并且不影响最终的主题聚类质量,该方法不仅可以优化短文主题挖掘的时间,同时也可以优化长文本主题挖掘的时间,进而使BTM可以满足大规模数据,以及在线模型的需求。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。

尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同限定。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号