首页> 中国专利> 基于主题遗传的在线主题建模方法

基于主题遗传的在线主题建模方法

摘要

本发明公开了一种基于主题遗传的在线主题建模方法,包括抓取当前时间片文本数据,按照LDA模型进行主题建模,计算主题强度,主题排名,计算主题的遗传因子,抓取下一个时间片文本数据,转换主题-单词分布向量,计算下一个时间片Dirichlet分布先验参数,采用Gibbs采样方法进行主题建模等步骤。本发明的有益效果在于:1、本发明是一种在线主题模型,适合处理时序文本流,可以较好地应用在舆情监控系统中;2、本发明在保留OLDA模型主题对齐特性的同时,根据主题强度为各个主题设置不同的遗传因子,改善了主题混合和新主题不易及时检测的缺陷;3、本发明的主题强度计算方法能够有效降低宽泛主题的得分。

著录项

  • 公开/公告号CN103793478A

    专利类型发明专利

  • 公开/公告日2014-05-14

    原文格式PDF

  • 申请/专利权人 四川大学;

    申请/专利号CN201410016179.X

  • 发明设计人 陈兴蜀;吴小松;王文贤;杜敏;

    申请日2014-01-14

  • 分类号G06F17/30(20060101);

  • 代理机构51200 成都信博专利代理有限责任公司;

  • 代理人卓仲阳

  • 地址 610065 四川省成都市武侯区一环路南一段24号

  • 入库时间 2024-02-20 00:07:10

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2017-01-11

    授权

    授权

  • 2014-07-16

    著录事项变更 IPC(主分类):G06F17/30 变更前: 变更后: 申请日:20140114

    著录事项变更

  • 2014-06-11

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

    实质审查的生效

  • 2014-05-14

    公开

    公开

说明书

技术领域

本发明涉及网络热点主题的发现与演化分析方法,特别是一种基于主题遗传的在线主题 建模方法。

背景技术

针对论坛、微博等新兴媒体的话题发现与演化分析是当前的一个研究热点,它可以为舆 情发现和预测提供支持,有利于舆情的及时处置,维护社会稳定。近年来,以LDA(Latent  Dirichlet Allocation)为代表的主题模型得到了深入研究。由于LDA本身具有的话题建模能 力,在话题演化领域具有先天的优势。基于LDA的一些扩展模型也在随后被提出,比如反映 主题在时间上强度变化的TOT(Topic Over Time)模型、采用状态空间记录主题内容和强度演 化信息的DTM(Dynamic Topic Model)模型以及考虑多时间粒度主题演化的MTTM(Multiscale  Topic Tomography)模型等。但上述模型都需要全局建模,不具有在线处理新文本的能力。

在线LDA模型(Online LDA,OLDA)模型也是LDA的改进模型,它的主要思想是将主题历 史分布作为当前时间窗口模型的先验参数。在实施中,OLDA为每个主题维护一个时间窗口可 调的演化矩阵矩阵中的每一列都是对应时间窗口内主题k在单词上的分布。各个时间窗 口的分布具有不同权值,用权值向量ωδ表示,δ表示时间窗口大小。在每个时间片的建模过 程中,各主题的先验参数用如下方式求出:

βkt=Bkt-1ωδ

通过以上方式,OLDA适合文本的在线处理,并具有主题对齐的特性,在主题发现与演化 分析中得到了广泛应用。但OLDA的权值向量ωδ是固定值,无法根据主题的动态变化做出调 整。而且同一时间片的各个主题共用相同的权重,该值的设定比较困难。若权重设置过小, 则前后主题不能对齐;若权重设置过大,则历史数据影响过高,从而导致一些并非同一事件 的主题由于共词的出现而被强制对齐在一起。特别是当t时间片有新主题出现时,该主题容易 与某个旧主题混合在一起共同与t-1中的相关主题对齐,造成新主题检测的困难。此外,OLDA 维持一个增量更新的词表,每个时间片中的新词都被加入词表中,最终会因词表太大而导致 内存溢出,并且处理维数的增加使运行时间不断增高。

发明内容

本发明的目的是提供一种基于主题遗传的在线主题建模方法,本方法的主要思想是将前 一个时间片的主题分布“遗传”给当前时间片,作为当前时间片Dirichlet分布(狄利克雷 分布)的先验参数。其中不同主题具有不同的遗传度,遗传度根据主题强度排名计算得出, 两者成正比关系。

实现本发明目的的技术方案如下:一种基于主题遗传的在线主题建模方法,包括

步骤1:令时间片tn为当前时间片,抓取时间片tn中个文本的数据,得到词表

步骤2:按照LDA模型进行主题建模,得到文本的文本-主题分布向量和主题的主题 -单词分布向量其中,m为文本序号,k为主题序号,k=1,2,...,K,K 为主题总数;

步骤3:计算主题强度

步骤4:根据主题强度作出主题排名

步骤5:根据主题排名计算主题的遗传因子

ωktn=a+b-aK(K-Rankktn),Rankktn[1,K];其中,a、b为遗传因子的上、下限;

步骤6:抓取下一个时间片tn+1中个文本的数据,得到词表

步骤7:将词表上的主题-单词分布向量转换为词表上的主题-单词分布向量

步骤8:计算下一个时间片tn+1的主题的Dirichlet分布先验参数

其中,γtn+1=(γ1tn+1,...,γ|Vtn+1|tn+1)是平衡向量,且γitn+1=1/|Vtn+1|,i[1,|Vtn+1|],|Vtn+1|是tn+1时间 片的词表的大小;

步骤9:采用Gibbs采样方法进行主题建模,得到文本的文本-主题分布向量和主题的主题-单词分布向量其中,

步骤10:令时间片tn+1为当前时间片tn,重复步骤3至步骤9。

进一步地,计算主题强度的步骤,包括

步骤31:计算文本的文本-主题分布向量的熵值

entropy(dmtn)=-Σk=1Kθ^m,ktnlog2θ^m,ktn;其中,为在第k维上的值,即时间片tn中第m个

文本在第k个主题上的分布值;

步骤32:对熵值进行正规化处理,得到文档权重

wmtn=1-entropy(dmtn)max{entropy(d1tn),...,entropy(dMtntn)};

步骤33:计算主题强度TS(zktn),TS(zktn)=Σm=1Mtnwmtnθ^m,ktn/Σm=1Mtnwmtn.

更进一步地,将词表上的主题-单词分布向量转换为词表上的主题-单词分布 向量的步骤,包括

步骤71:计算词表与词表的交集,对交集内的所有单词在词表上的主题-单词分布 向量中的分布值求和得到

步骤72:以作为词表中每个新出现的单词的分布值,写入到词表上的主 题-单词分布向量中,其中c为词表中新出现的单词总数;

步骤73:将交集内的单词在词表上的主题-单词分布向量中的分布值,写入到词表上的主题-单词分布向量中。

具体实施时,可以将时间片的长度设为24小时,主题建模的主题总数K设为100,遗传 因子的上限a设为0.6,下限b设为0.1。

本发明的有益效果在于:

1、本发明是一种在线主题模型,适合处理时序文本流,可以较好地应用在舆情监控系统 中;

2、本发明在保留OLDA模型主题对齐特性的同时,根据主题强度为各个主题设置不同的 遗传因子,改善了主题混合和新主题不易及时检测的缺陷;

3、本发明的主题强度计算方法能够有效降低宽泛主题的得分。

附图说明

图1是本发明与OLDA的困惑度比较示意图;

图2是本发明展示几个典型事件的主题强度演化分析的效果图。

具体实施方式

1)令时间片tn为当前时间片,抓取时间片tn中个文本的数据,文本中各自不同的词 组成词表其中,n=1,2,3,...。时间片大小可以根据实际需求设置,比如24小时。文本数 据可以是论坛帖子、博客文章、新闻等各类文本。

2)按照LDA模型进行主题建模,得到文本的文本-主题分布向量和主题的主题- 单词分布向量其中,m为文本序号,k为主题序号,k=1,2,...,KK 为主题总数;K由用户指定,且在各个时间片中值都不变;文本-主题分布向量是K维的 向量,主题-单词分布向量是维的向量,表示词表的大小。

3)计算主题强度,计算步骤如下:

a)计算文本的文本-主题分布向量的熵值

entropy(dmtn)=-Σk=1Kθ^m,ktnlog2θ^m,ktn

式中表示向量在第k维上的值,即时间片tn中第m个文本在第k个主题上的分布值。

b)对熵值进行正规化处理,得到文档权重

wmtn=1-entropy(dmtn)max{entropy(d1tn),...,entropy(dMtntn)}

分母表示个文档熵值里面的最大值。

c)根据主题在各个文档中的分布值和文档权重计算主题强度,主题强度记为表 示tn时间片中的第k个主题;

TS(zktn)=Σm=1Mtnwmtnθ^m,ktn/Σm=1Mtnwmtn

式中分子表示主题在各个文档中的分布值与文档权重乘积的累加和,分母表示文档权重的总 和。

计算主题强度,也可以采用其它的方法,详见后面所述的对比方法。

4)根据主题强度值作出主题排名根据主题强度从高到低依次排名为1~ K。

5)根据主题排名计算主题的遗传因子遗传因子用于控制前一个时间片建模 的输出结果对当前时间片建模过程的影响程度。主题强度越大,遗传因子值越大,主题遗传 的特征越多;反之,主题强度越小,遗传因子也越小,主题遗传的特征越少。如下:

ωktn=a+b-aK(K-Rankktn),Rankktn[1,K]

其中就是tn时间片主题k的排名;参数a、b分别表示主题遗传因子的上、下限,控制 遗传因子大小的浮动范围。

6)抓取下一个时间片tn+1中个文本的数据,对应的词表记为

7)是词表上的分布向量,将其转换为词表上的分布向量。与交集内的 单词分布值不变,这些单词的分布值之和记为然后将平均分配给中新出 现的单词,转换后的分布向量记为具体的做法为:

步骤71:计算词表与词表的交集,对交集内的所有单词在词表上的主题-单词分布 向量中的分布值求和得到

步骤72:以作为词表中每个新出现的单词的分布值,写入到词表上的主 题-单词分布向量中,其中c为词表中新出现的单词总数;

步骤73:将交集内的单词在词表上的主题-单词分布向量中的分布值,写入到词表上的主题-单词分布向量中。

例如,tn时间片中出现了w1,w2,w3三个单词,即tn+1时间片中出现了 w1,w2,w4,w5四个单词,即若主题k在上的分布向量 转换后的分布向量在交集内的单词(w1,w2)上的分布值不变,它们的和为 在消失的单词(w3)上分布值平均分发中新 出现的单词(w4,w5),因此转换后的分布向量以上过程舍弃了在上出现而未在中出现的单词,避免了词表的不断增大。

8)计算下一个时间片tn+1的主题的Dirichlet分布先验参数

其中,γtn+1=(γ1tn+1,...,γ|Vtn+1|tn+1)是平衡向量,且γitn+1=1/|Vtn+1|,i[1,|Vtn+1|],|Vtn+1|是tn+1时间片 的词表的大小。平衡向量保证当遗传因子越小时,先验参数各维上的值越趋于均衡。

Dirichlet分布(狄利克雷分布),被广泛应用于自然语言处理特别是主题模型的研究。 关于Dirichlet分布的介绍:《Pattern Recognition and Machine Learning》,Christopher  M.Bishop著,Springer出版社,2006年出版。

9)采用Gibbs采样方法进行主题建模,得到文本的文本-主题分布向量和主题的主题-单词分布向量其中,

关于Gibbs采样(吉布斯采样)的介绍:《Pattern Recognition and Machine Learning》, Christopher M.Bishop著,Springer出版社,2006年出版。

10)令时间片tn+1为当前时间片tn,重复步骤3至步骤9。

在上述过程中,时间片大小根据情况设定,比如一天;主题数目K建议设置为100。遗 传度的上限a、下限b可以分别取经验值0.6与0.1。

下面对比展示本发明的建模方法与其它建模方法的效果。

从表1看出:OLDA模型有些主题没有及时检测到,或是出现了不同程度的主题混合现象。 而在本发明基于主题遗传的在线主题建模方法IOLDA(Improved online LDA)模型中,趋于消 亡的主题的遗传度会被降低,新词汇的权重相对就高一些,因此新主题更易与前一个时间片 的冷门主题(一般在本时间片消亡)对齐,有效改善OLDA模型中强制混合对齐的问题。

表1主题检测效果对比

困惑度(Perplexity)衡量主题模型对于未观测数据的预测能力,困惑度越小,模型的推 广性越高或者说模型泛化能力越强。困惑度定义如下:

perplexity(Dtest)=exp{-Σd=1Mlogp(wd)Σd=1MNd}

其中Dtest为测试集,wd表示文档d中的可观测单词序列,Nd表示文档d的单词数目。困 惑度的介绍参见:《统计自然语言处理》,宗成庆著,清华大学出版社,2008年出版。从图1 看出,本发明IOLDA具有更小的困惑度,说明本发明提出的模型泛化能力更强。

表2是本发明的主题强度计算方法与论文中常见的另一种计算方法的效果比较,对比方 法的计算方式是直接用主题在各文档中分布之和来度量主题强度,相当于文档权重为1。这 种方法的描述参见论文:《单斌,李芳.基于LDA话题演化研究方法综述[J].中文信息学报, 2010,24(6):43-49》以及《崔凯,周斌,贾焰,等.一种基于LDA的在线主题演化挖掘模 型[J].计算机科学,2010,37(11):156-193》。在本发明中,通过计算文档-主题分布的熵 值,可以为描述某个确定事件的文档赋予较高得分,为内容宽泛的文档赋予较低得分。由于 属于宽泛主题的文档本身往往没有明确的主题倾向,所以本发明的主题强度计算方法可以相 对降低宽泛主题的得分。表2中编号88、55、41、28的主题不是描述某个特定事件,都属于 宽泛主题。从表中看出,本发明的方法计算得到的前5名主题中只有编号55这一个宽泛主题, 其它宽泛主题排名靠后;而对比方法前5名的主题中出现了4个宽泛主题。总体来看,本发 明的主题强度计算方法能够有效调低宽泛主题的得分。

表2主题强度计算方法效果比较

采用本发明提出的方法建模后,可以方便地进一步分析主题强度和内容的演化。强度演 化用主题的强度得分变化描述;内容演化用主题在单词上分布值的变化描述。因为主题是对 齐的,所以考察同一编号的主题在连续时间片中的强度得分和在单词上分布的变化即可。图 2选择了几个典型事件展示了主题强度演化分析的效果。表3以“神十升空”主题为例展示 了主题内容演化分析的效果。

表3“神十升空”主题的内容演化

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号