用于分析和管理大量电子文档的工具变得越来越重要。近年来,离散数据的分层贝叶斯模型,已成为一种广泛使用的文本探索和预测分析方法。 主题模型,例如潜在Dirichlet分配(LDA)和更一般的离散分量分析,假定可以使用少量的单词分布(称为主题)来解释观察到的集合LDA是潜在语义索引(LSI)和概率潜在语义索引(pLSI)的概率扩展。 由于其正式的生成语义,LDA已被扩展并应用于作者,电子邮件,计算机视觉,生物信息学和信息检索。

大多数主题模型假设文档在集合中是可交换的,即它们的概率对于置换是不变的。 许多文献集,例如新闻或科学期刊,随着时间的推移而发展。 在本文中,我们开发了连续时间动态主题模型(cDTM),它是离散动态主题模型(dDTM)的扩展。给定一系列文档,我们推断潜在的主题以及它们如何在集合过程中发生变化。cDTM是一个动态主题模型,它使用布朗运动通过连续的文档集合对潜在主题进行建模,其中“主题”是我们期望在集合过程中发展的单词使用模式。我们使用一种有效的变分近似推理算法,该算法利用了文本中观察的稀疏性,这种属性可以让我们轻松处理许多时间点。与cDTM相比,原始离散时间动态主题模型(dDTM)要求将时间离散化。 此外,随着时间粒度的增加,dDTM的变分推断的复杂性迅速增长,这是一种限制细粒度离散化的缺点。

dDTM在表示主题的多项分布的自然参数上使用状态空间模型。这需要将时间离散化为几个时期,并且在每个时期内,LDA用于对其文档进行建模。 在有些文档中,作者分析了1880-2002年的“科学类”杂志,假设文章在每年内都是可交换的。虽然dDTM是一个强大的模型,但离散化的选择会影响后验推断的内存需求和计算复杂性。

为了解决离散化问题,我们认为时间是连续的。这里提出的连续时间动态主题模型(cDTM)用它的连续泛化布朗运动代替了dDTM的离散状态空间模型。 cDTM概括了dDTM,因为它模拟的唯一离散化是测量文档时间戳的分辨率。

通常,cDTM模型将引入比dDTM更多的潜在变量。然而,这个看似更复杂的模型更简单,更有效。正如我们将在下面看到的,变分后验推理过程可以利用文本的自然稀疏性,即在每个测量的时间步长都不使用所有词汇单词的事实。实际上,随着分辨率越来越精细,使用的单词越来越少。

这使得可以以不同的粒度拟合模型。例如,期刊类文章可能在一个问题内可以交换,这个假设比那些可以按年交换的假设更为现实。其他数据(如新闻)可能会经历一段时间而没有任何检测。 虽然dDTM需要表示这些时段内离散刻度的所有主题,但cDTM可以在不牺牲内存或速度的情况下分析此类数据。使用cDTM,可以选择粒度以最大化模型适应性而不是限制计算复杂性。

我们注意到cDTM和dDTM并不是唯一需要考虑时间的主题模型。随时间变化的主题模型(TOT)和动态混合模型(DMM)也包括文档分析中的时间戳。 TOT模型将时间戳视为潜在主题的观察,而DMM假定每个文档的主题混合比例取决于先前的主题混合比例。在TOT和DMM中,主题本身是不变的,时间信息用于更好地发现它们。在此处,我们可以推断不断变化的主题。

一、Continuous Time Dynamic Topic Models(连续时间动态主题模型)

在带时间戳的文档集中,我们希望将其潜在主题建模为在集合过程中进行更改。 例如,在新闻数据中,单个主题将随着与其相关的故事的发展而改变。离散时间动态主题模型(dDTM)建立在可交换主题模型的基础上,以提供这样的机制。在dDTM中,文档被分成连续的组,每个切片的主题从前一个切片的主题演变而来。组中的文档可以是可交换的。

更具体地,主题表示为集合的固定词汇表上的分布。 dDTM假设离散时间状态空间模型控制代表主题的多项分布的自然参数的演化。(回想一下,多项式的自然参数是每个项目概率的对数。)这是逻辑正态分布的时间序列扩展。

dDTM的一个缺点是时间是离散的。如果选择的分辨率太粗糙,那么假设时间步长内的文档是可交换的则不是真的。如果分辨率太精细,那么随着更多时间点的添加,变分参数的数量将会爆炸。选择离散化应该是基于对数据的假设的决定。但是,计算问题可能会妨碍在适当的时间范围内进行分析。

因此,我们需要使用连续时间动态主题模型(cDTM),用于以任意粒度对连续时间序列数据进行建模。cDTM可被视为dDTM的最佳可能分辨率的自然极限,即测量文档时间戳的分辨率。

在cDTM中,我们仍然在其自然参数化中表示主题,但我们使用布朗运动来模拟它们随时间的演变。令i,j(j> i> 0)是两个任意时间索引,是时间戳,并且是它们之间的经过时间。 在K-topic cDTM模型中,术语的第k个(1≤k≤K)主题参数的分布是:

方差随滞后线性增加。

这种结构用作完整生成过程的一个组成部分。(注意:如果j=i+1,我们将写为。)

函数π将不受约束的多项式自然参数映射到平均值上的平均参数:

cDTM如下图所示:

图形解释:cDTM的图形模型表示。主题参数βt的演变由布朗运动控制。变量st是文档dt的观察时间戳。

cDTM可被视为dDTM的概括。两个模型都假设一个项的对数概率在观察之间的时间间隔内表现出方差。 在dDTM中,该间隔被均匀地划分为离散的刻度。 参数控制每个标记的方差,整个区间的方差是该参数乘以标记数。作为该表示的结果,在每个刻度处明确地表示主题,即对术语的完全分布。对于细粒度的时间序列,这导致后验推断的高内存需求,即使观察在整个时间线中稀疏地分布。

然而,在cDTM中,方差是观测之间滞后的函数,并且不需要考虑这些观测之间的离散步骤的概率。 正如我们将在下面看到的那样,可以稀疏地处理推理。 因此,选择正确的粒度成为建模问题而不是受计算问题支配的问题。通过以所需粒度测量文档的时间戳,用cDTM获得dDTM。

类似于布朗运动作为离散时间高斯随机游动的限制过程,cDTM是dDTM的限制过程。用表示dDTM中的pertick方差,并注意它是蜱粒度的函数(使模型具有可比性)。 cDTM是此设置中的限制模型,因为接近零。 我们强调,使用cDTM,我们不需要在观察文档之间的刻度上表示日志概率。 这个观点如下图所示:

图形解释:文档仅在时间s和s 0可用,并且它们之间没有文档。 当σ2→0时,dDTM变为cDTM,我们不再需要表示i和j之间的步长。

二、稀疏变分推理

主题建模的核心问题是后验推断,即确定以观察到的文档为条件的潜在主题结构的分布。 在顺序主题模型中,该结构包括每文档主题比例θd,每个主题分配Z d,n,以及主题分布βt,k的K个序列。 真正的后验是不易处理的,我们使用近似。

已经为主题模型开发了几种近似推理方法。 最广泛使用的是变分推理和吉布斯采。在顺序设置中,吉布斯采样不是一种选择,因为每个主题的单词分布不与单词概率共轭。因此,我们采用了变分方法。

变分方法背后的主要思想是在潜在变量上建立一个简单的分布族,由自由变分参数索引,并找到Kullback-Leibler最接近真实后验的家族成员。对于连续时间过程,变分推理已应用于马尔可夫跳跃过程和扩散过程,其中变分分布也是随机过程。

对于上述cDTM,我们将变分卡尔曼滤波适应于连续时间设置。为简单起见,假设每个时间点都出现一个文档。在他们的算法中,潜在变量的变分分布是:

变量参数是每文档主题比例的Dirichlet γt,每个单词主题分配的多项式φ和β变量,它们是变分卡尔曼滤波器的“观察”。

这些变量是合适的,使得近似的后部接近真实的后部。从变分卡尔曼滤波器中,βk,t,1≤t≤T在变分分布中保持其链式结构。通过坐标上升进行变分推断,更新这些参数中的每一个以最小化真实后验和变分后验之间的KL。

为简单起见,现在我们考虑只有一个主题的模型。这些计算是我们对更一般的潜变量模型所需的那些更简单的版本,但展示了算法的基本特征。 对于cDTM,我们假设一个类似的变分分布,对于每个文档变量具有相同的变分Dirichlet和变分多项式。

原则上,我们可以通过用布朗运动代替状态空间模型,直接将变分卡尔曼滤波算法用于cDTM。 设V是词汇量的大小。虽然在概念上是直截了当的,但这将在矢量β1:T中产生VT变分参数。当T和V很大时,如在精细模型中,后推理将需要大量的时间和记忆。 因此,我们开发了稀疏变分推理过程,在不牺牲准确性的情况下显着提高了其复杂性。

稀疏变分卡尔曼滤波算法背后的主要思想是,如果某些没有描述任何项目的排放,即没有观察到w的t,那么的真实后验仅由 当时对其他词的观察。 因此,对于那些未观察到的w,我们不需要明确表示

下图说明了cDTM的稀疏变分推理背后的想法。在下图中,单词的对数概率的变分后验由观察到的单词的变分观察确定。从置信传播的角度来看,从传播到节点的信念不是由项w修正的,并且该属性保留在稀疏变分推理算法中。变分观测的概率给定是高斯:

我们接下来描述稀疏变分卡尔曼滤波器的前向-后向算法,这是计算更新变分参数的期望所必需的。 对于特定项w,变分前向分布是高斯并且可以表征如下:

图形解释:简化的图形模型显示了稀疏变分推理如何仅与单个主题一起工作。 注意,根据等式2,该生成过程需要归一化到βt,但这不会影响稀疏解。 对于项w,在时间索引t + 1(或时间s t + 1)没有观测值,相应的变分观测值不出现在时间索引t + 1处。对于项w 0,在时间索引处没有观测值 t + 2(或时间s t + 2),相应的变分观测值不出现在时间索引t + 2。

如果在时间步骤t没有观察到w那么:

这意味着前向平均值与上一步保持相同。 除此以外:

类似地,变分后向分布也是高斯分布:

通过这种前向-后向计算,我们转向在稀疏设置中优化变分观测值。 相当于最小化KL正在加强对Jensen不等式给出观察的可能性的约束。

其中H(q)是熵。这简化为:

我们使用δt,w = 1或0来表示是否在变分观测中。 那么上面的条款是:

因此,为了优化变分观测,我们只需要计算导数为那些δt,w = 1.一般存储器要求是 ——总和 每个时间点的唯一项的数量 —— 通常远小于O(VT),即密集表示的算法的存储器要求。 在形式上,我们可以定义数据集的稀疏性:

三、示例

在本节中,我们将在两个新闻语料库中演示cDTM模型。

3.1 新闻语料库

我们使用了两个新闻语料库。首先,“AP”是来自TREC AP语料库的子集,其包含从1988年5月1日到1989年6月30日的新闻。我们提取了有关总统选举的文件,得到了1,342份文件。这些文件按小时加盖时间戳。 其次,“选举08”数据是Digg 1中被列为2008年总统大选一部分的热门文章的摘要。我们使用了02-27-2007至02-22-2008的文章。该数据集有1,040个摘要,时间以天为单位。

下表根据我们可以分析它们的分辨率显示了这些数据的稀疏度信息。这说明了cDTM效率的提高。例如,在选举08数据的日期设置中,稀疏度为0.95。 dDTM模型至少需要比cDTM多20倍的参数来分析此分辨率下的数据。

表说明:两个数据集的稀疏性(如果可用)。 数字越大表示cDTM比dDTM更稀疏的数据集和更高的效率。

3.2 Per-Word Predictive Perplexity

令D t为时间索引t处的文档集。 我们使用不同粒度级别的cDTM对这些数据进行了近似后验推断。为了使模型具有可比性,我们将整个周期的方差设置为相同(参见公式1)。 我们对模型进行了困惑评估。 具体来说,我们根据先前t-1时间指数的数据,计算了时间t的文档的单词预测困惑度:

请注意,较低的数字更好。

由于每个文档在不同粒度的所有模型中只预测一次,我们还计算了时间线上的平均每个词的困惑度,定义为:

在AP数据中,我们从1988年5月15日到1988年5月29日进行了预测。 在选举08数据中,我们从2007年4月26日到2008年2月22日进行了预测。 图a显示了10个主题模型的两个数据集上的时间线上的每字预测困惑的结果。 图b显示了1,3,5和10个主题的平均每单词困惑度的结果。

图a解释:预测比较。 直线是相应的平均预测。(a)AP数据。 周模型表现最佳,但日模型几乎可比。 (b)选举08数据。 月模型表现最佳。

图b解释:平均预测比较。 (a)AP数据。 周模型表现最佳,但日模型几乎可比。 (b)选举08数据。 月模型表现最佳。

从计算的角度来看,我们注意到稀疏推理算法可以让我们有效地拟合不同粒度的模型。 对于AP数据,日模型和周几乎是可比较的。 具有5个和10个主题的模型表现更好。

在选举08数据中,1主题模型表现最佳。 我们怀疑这是因为摘要很短。 更复杂的模型,即具有更多主题的模型,是不合适的。 模型在不同粒度级别上的表现不同,因为每个时间点支持的数据量取决于所选的级别。 不一定是精细粒度模型将包含足够数据以提供更好的预测分布的情况。

3.3 时间戳预测

我们可以进一步使用cDTM进行时间戳预测,根据文档内容对文档进行约会。 为了评估这项任务,我们将每个数据集分成80%的培训和20%的测试集。 我们通过查找时间线上最可能的位置来预测每个测试文档的时间戳。 我们根据测量数据的相同粒度来测量误差。

我们研究了两种方法。 首先是平面方法。 不同粒度的每个模型都尽可能地预测。 第二种是分层方法。 我们使用增加粒度的模型来“放大”预测。 例如,为了预测当天,我们首先找到最佳月份,然后是一个月内的最佳周,然后是一周内的最佳日期。 我们计算测试数据集的平均绝对误差。 下图显示了结果。

图形解释:时间戳预测。 'm'代表'月'的平面方式,'w'代表'周','d'代表'天'和'h'代表'小时'。'm + w'代表结合的分层方法' 月'和'周','m + w + d','w + d','w + d + h'被类似地定义。 基线是通过随机分配时间来预期错误。 (a)AP数据。 5主题和10主题模型比其他模型表现更好,分层方法总能实现最佳性能。 (b)选举08数据。 由于文档较短,1主题模型表现最佳。 分层方法实现了可比较的性能。

分层方法总是比平面方法表现更好或更好。选举08中的AP数据和日模型中的小时模型表现更差。使用较小的数据集,更大的粒度更好。原因还可能在于参数v,目前它在所有模型中共享。

3.4 示例主题

我们通过使用选举08数据中的周模型提供一些示例主题。 我们每两个月对主题进行一次抽样。 下图显示了其中一个主题。 在选举开始时(2007年),更多地讨论了一般性问题,例如“医疗保健”。随着竞争的加剧(2008年),主题更多地是关于候选人自己和更快的变化。

图形解释:使用选举08数据中的周模型的3主题cDTM的示例。 在2007年,主题更多地涉及一般问题,而在2008年左右,更多的是关于候选人和更快的变化。

四、结论

在本文中,我们开发了cDTM,使用布朗运动来模拟连续时间主题演化。 cDTM的主要优点是我们可以使用稀疏变分推理进行快速模型比较。 我们通过测量两个真实世界数据集上的预测似然和时间戳预测精度来演示cDTM的使用。 在未来的工作中,我们计划探索Ornstein-Uhlenbeck(OU)模型,这是布朗模型的推广,允许有界方差。

【文章翻译自外国友人论文】

连续时间动态主题模型(Continuous Time Dynamic Topic Models, cDTM)相关推荐

  1. 计算机视觉-混合动态纹理模型(Mixtures of Dynamic Textures)

    实话实说,对MDT和HMM的区别仍旧不是很确定.以下仅仅记录分析的过程. 动态纹理的表达式: HMM的表达式:(系统介绍可见HMM隐马尔可夫模型的例子.原理.计算和应用 - 知乎,HMM隐马尔可夫模型 ...

  2. gensim中动态主题模型(DTM)两种实现方法(一)

    目录 (一)gensim.models.ldaseqmodel包 1.基本使用方法 2.缩水的地方 (二)gensim.models.wrappers.dtmmodel.DtmModel包 1.没有c ...

  3. Gensim中动态主题模型——dtmmodel的使用

    import gensim import jieba import pandas as pd from gensim import corpora,models from gensim.models. ...

  4. gensim中动态主题模型(DTM)两种实现方法(二)

    第一部分内容请点此阅读:gensim中动态主题模型(DTM)两种实现方法(一) 目录 (二)gensim.models.wrappers.dtmmodel.DtmModel包 1.如何使用呢? 2.c ...

  5. Dynamic Topic Models的Python实现

    Dynamic Topic Models的Python实现 Dynamic Topic Models(DTM)简介 Dynamic Topic Models的实现 数据与预处理 Python实现 Dy ...

  6. 线性连续时间状态空间模型的离散化及实例

    线性连续时间状态空间模型的离散化(Discretization of Linear Continuous-Time State-Space Models) 1 .状态空间模型 非线性连续时间状态空间模 ...

  7. 主题模型综述:短文本、细粒度、加入先验知识、作者写作偏好、主题内涵随时间的变迁、融入词嵌入特性、语言模型加持

    原文链接:https://www.zhihu.com/question/34801598/answer/765580727 主题模型当然有用咯,谁用谁知道!这次我来展示下它的7个"变种&qu ...

  8. 作者主题模型(Author-Topic Model)的Python Gensim实现

    Gensim中的主题模型包括三种,分别是LDA (Latent Dirichlet Allocation) 主题模型.加入了作者因素的作者主题模型 (Author-Topic Model, ATM) ...

  9. NLP︱LDA主题模型的应用难题、使用心得及从多元统计角度剖析

    将LDA跟多元统计分析结合起来看,那么LDA中的主题就像词主成分,其把主成分-样本之间的关系说清楚了.多元学的时候聚类分为Q型聚类.R型聚类以及主成分分析.R型聚类.主成分分析针对变量,Q型聚类针对样 ...

最新文章

  1. Rocksdb 的 MergeOperator 简单使用记录
  2. java中相同名字怎么声明,Java中,同一个类中的两个或两个以上的方法可以有同一个名字,只要他们的参数声明不同即可...
  3. 企业需要建设网站该如何咨询价格呢?
  4. JVM 垃圾回收机制和常见算法
  5. 做事情一定要从小事情着手
  6. [深度学习基础] 4. 卷积神经网络
  7. AUTOSAR从入门到精通100讲(一)-SPI、UART、I2C总线详解
  8. Linux 串口编程二 深入了解 termios
  9. 教你从零搭建Web漏洞靶场OWASP Benchmark
  10. python装饰器函数执行后日志_python使用装饰器作日志处理的方法
  11. MACAPP中引入ffmpeg库完成具体功能
  12. 继腾讯、阿里、字节、快手等后,京东、有赞又爆大裁员,个别部门比例或达40%!...
  13. 在Debian下安装LAMP
  14. 《CCNA学习指南:Cisco网络设备互连(ICND1)(第4版)》——2.2节理解主机到主机的通信模型...
  15. 租用服务器多开虚拟机,云服务器多开虚拟机
  16. linux查看日志相关命令
  17. 【Json】Json校验工具
  18. 基于SpringBoot、Vue的开源情侣空间
  19. 咸鱼CAD笔记—CAD快捷键
  20. 百度搜索结果页url参数详解

热门文章

  1. 工作空间、功能包、节点
  2. css什么是自适应布局,css 自适应布局阮一峰
  3. js的向下取整_【转载】Javascript使用Math.floor方法向下取整
  4. 有一个农场公司,专门向市场销售各类水果,主要包括下列水果:葡萄 Grape,草莓 Stuawberry,苹果 Apple;有一个Fruit接口,包含grow生长,harvest收获和plant方法,
  5. 100天精通Python(基础篇)——第32天:日志logging模块基础+代码实战
  6. html左右超出,css 横向超出滚动 使用flex布局
  7. 网易严选,使用uni-app实现,包含后台数据文件
  8. 您有一个快递方便签收吗?打电话的可能是机器人
  9. android有6G吗,6G RAM安卓来了 你还买2G RAM iPhone吗
  10. 关于JS获取不到动态创建的元素的id的问题