(5)
其中dist(sd,wz)表示词汇wz的词嵌入ewz与文档d的语义编码sd之间的余弦相似度。
其次,可采用词嵌入与词嵌入之间的余弦相似度来作为词汇—词汇部分的GPU增强的衡量条件。相关词汇集合RWw是指所有与当前被采样的词汇w的余弦相似度大于阈值ρ的词汇集合。设当前被采样的词汇为w,词汇—词汇增强矩阵为B,需要对属于相关词汇集合RWw中的所有词汇进行同步增强,集合中每个词汇在各自位置上的共现次数将增加b(0
(6)
通过文档—主题和词汇—词汇两部分的GPU增强,文档主题之间具有更高的语义相似度,同时在一个主题中的词汇也将拥有更高的语义相似度。
2.2.3 DGPU-LDA模型结构
本文提出了双GPU语义增强主题模型DGPU-LDA(double generalized polya Urn with LDA)。DGPU-LDA以基本的LDA结构为基础,将文档—主题GPU增强和词汇—词汇GPU增强这两个方面融合到词汇的主题分配采样过程中。
DGPU-LDA的模型结构如图2所示,其中右侧方框中间部分分别表示了在文档—主题层面的GPU强化和在词汇—词汇层面的GPU强化。在词汇—词汇上的GPU强化只依赖于词嵌入向量,而在文档—主题上的GPU强化同时依赖于词嵌入向量和DS-Bi-LSTM框架得到的文档语义编码两部分。与LDA相比,DGPU-LDA模型整体上避免了引入额外的随机变量和先验分布,因此其参数推断过程的简便性得到了保证。除了在词汇采样方式上有所差别,DGPU-LDA的词汇生成过程与LDA差别不大,因此不再赘述。
图2 DGPU-LDA模型结构图
2.3 模型参数推断
本文的模型参数推断过程的基础是坍缩吉布斯采样[25]。坍缩吉布斯采样是一种基于马尔可夫假设的随机算法。由于其操作简便,且在小规模数据集上计算效率较高,因此应用场景广泛,其中就包括主题模型参数推断过程。
本文提出的DGPU-LDA通过两个语义强化机制对词汇的主题分配进行约束,因此在坍缩吉布斯采样过程中,两种GPU模型的结合是一个关键点。此外,传统的基于马尔可夫假设的坍缩吉布斯认为,仅由前一时间点的主题分配来决定当前时间点的主题分配。然而,这一假设是否成立还尚未证明,主题分配序列之间在不同时间点下的关系还有待研究。因此,为了增强前后时间片之间主题的相关性,本文采用深度神经网络对DGPU-LDA的参数推断过程进行改进。针对DGPU-LDA模型的参数推断算法将结合横向的双GPU强化机制以及纵向的LSTM神经网络主题分配依赖建模。
首先,融合文档—主题GPU强化和词汇—词汇GPU强化后,根据坍缩吉布斯采样的公式,关于当前词汇的主题分配的采样概率如式(7)所示。
(7)
其次,本文构建了一个基于LSTM的主题分配依赖网络来分析当前词汇的历史主题分配对于最终主题分配序列的影响。该网络的原理与预测句子的下一个词汇类似,由一层前向LSTM神经网络构成。整个网络从输入层到输出层依次为每一时间点主题分配序列构成的one-hot模型向量,LSTM隐藏层,Softmax激活函数,最后输出结果是下一个时间点每个词汇分配给不同主题的概率。
无监督的主题建模和不带标注的主题抽取文本导致模型需要先标注整个文档集合的每一个词汇的主题,才能将其作为主题分配依赖网络的训练样本。本文采用LDA模型来标注每一个词汇的主题,最终文档集合的主题标注序列将采用LDA模型收敛后主题分配序列。
最终,结合基于双GPU强化的坍缩吉布斯采样和主题分配依赖网络,当前词汇下的相应主题分配的采样概率可表示为式(8)。
(8)
其中LSTM(zd,n)为主题分配依赖网络的输出,π为两部分的平衡因子。
该采样概率算法通过在历史主题分配中提取有利于当前主题分配采样的信息来提高参数推断过程的上下文一致性。
3 实验结果及分析3.1 实验数据集
本文使用两个数据集来验证提出的基于深度学习的主题模型有效性,分别是来自于搜狗新闻数据集(SogouCA)2012版*http://www.sogou.com/labs/resource/ca.php.的中文数据集和来自于20新闻组数据集(20 Newsgroups)*http://kdd.ics.uci.edu/databases/20newsgroups/20-newsgroups.html.的英文数据集。表1展示了这两个数据集的相关属性。
表1 数据集属性
本文在搜狗新闻数据集的20个主题中选择了12个新闻数目较多的主题,分别是“科技”“女性”“娱乐”“国际”“政治”“军事”“文化”“教育”“体育”“健康”“财经”“汽车”。本文在12个主题中分别随机选择4 000条新闻来组成主题模型的文档集合,其中3 000条属于训练集,1 000条属于测试集,总计48 000条。而对于20新闻组数据集,本文剔除了相关噪声文本,最终得到大小为11 328的训练集和大小为7 511的测试集。
本文在构建好的训练集和测试集上对文本内容进行分词,去除停用词和词性标注等预处理工作。本文采用Jieba分词*https://github.com/fxsjy/jieba/.作为中文分词工具,为了得到每一个文档的候选实体关系标注词汇,还要在新闻文本上先后进行词性标注和命名实体识别。而在英文文本上,本文采用NLTK*http://www.nltk.org/.来进行分词、去除停用词、词性标注和命名实体识别等一系列预处理工作。
3.2 实验设置
本文采用的对比主题模型为LDA[1]、GPU-DMM[24]、NTM[13]。下面将介绍所有对比主题模型的基本方法和相关参数。
(1) LDA: 一种广泛使用的概率主题模型。本文使用Python genism主题建模工具包*http://radimrehurek.com/gensim/.来进行LDA建模。
(2) GPU-DMM: 一个基于词嵌入以及狄利克雷多项式混合模型的语义强化主题模型*https://github.com/NobodyWHU/GPUDMM.。在该模型中,词汇—词汇GPU强化部分语义相关性数值设置为0.5,强化值为0.2。
(3) NTM: 一个基于神经网络的主题模型*https://github.com/elbamos/NeuralTopicModels.。NTM由n-gram来进行文本表示,因此在最终实验结果中将以Bi-gram(二元词组)的形式来表示文档主题。
(4) DGPU-LDA: 本文提出的概率主题模型。相似度阈值由相似度分布来给出,即截取前10%左右。词汇—词汇GPU强化部分的强化值b设为0.1,相似度阈值ρ设为0.5。文档—主题GPU强化部分的强化值a设为0.2,相似度阈值κ设为0.2。主题分配依赖网络中平衡因子π的值设为0.8。
此外,所有模型的词汇列表的长度均设为5 000。在参数推断过程中,LDA、GPU-DMM、DGPU-LDA模型均迭代50次,模型中的文档—主题分布的先验参数α均设为50/K,主题—词汇分布的先验参数β均设为0.05。而在NTM中,两个隐藏层即文档—主题隐藏层、主题—词汇(n-gram)隐藏层的神经元个数均设为256,迭代训练次数设为50次。
3.3 主题语义连贯性评价
点对互信息(point-wise mutual information, PMI)[26]是最常用的主题语义连贯性自动评价指标,PMI值的高低表示了主题语义连贯性的强弱。相关研究表明, PMI值自动评价的结果与人工评价结果相差无几[27],可以认为PMI值能有效表示文档的主题语义连贯性,因此本文也采用PMI值来评估文档的主题语义连贯性。对于主题—词汇分布φk,其PMI值可通过式(9)计算。
(9)
其中p(wi)表示词汇wi在测试文档集中的出现概率,p(wi,wj)表示词汇wi和词汇wj在测试文档集中的联合概率,V为词汇列表的维数。受词汇列表长度的影响,本文只选取概率值最高的前十个词汇来计算PMI值。
图3和图4分别展示了在两个数据集上,不同主题个数K下的LDA、GPU-DMM、NTM、DGPU-LDA这四个主题模型的PMI值。
图3 搜狗新闻数据集主题PMI值
图4 20新闻组数据集主题PMI值
由图3可知,在搜狗新闻数据集上,相较于其他模型,本文提出的DGPU-LDA具有较高的PMI值,表明本文方法得到的主题语义连贯性较强。此外,LDA模型PMI值最低,这是因为它缺乏文档以及词汇方面的语义强化,语义连贯性较差。NTM是LDA模型的变体,虽然使用神经网络来重构建模,但是也没有在语义强化方面作改进,因此其PMI值相对低于采用了语义强化的其他模型。而GPU-DMM模型产生的主题具有一定的语义连贯性,是因为它融合了词嵌入方面的语义强化,但是该模型仅考虑词汇—词汇层面的语义强化,语义强化程度低于本文提出的DGPU-LDA模型。
结合图4可知,在20新闻组数据集上,上述结论仍然成立。然而在该数据集上,相比于搜狗新闻数据集,各个模型的PMI值的差异较小。而且,主题个数的增加并没有对四个模型的PMI值产生显著影响。这可能因为中英文两种语言存在基本差异,导致英文主题建模的词汇列表往往要长于中文主题建模的词汇列表。
3.4 主题词效果展示
本文需要分析各个主题模型中抽取出的主题的代表词汇,以便于更直观地展现主题的语义连贯性。对于每个主题,本文将展示主题—词汇分布中概率值最高的前五个词。而对于NTM,本文将以二元词组的形式展示其主题。本文只以搜狗新闻数据集上的“体育”“财经”和“汽车”这三个主题为例来展示各个主题模型在这三个类别下的主题代表词汇以及其中的与主题无关的冲突词(用加粗黑体标识),最终主题词生成结果如表2所示,这里展示的是主题个数K设为40时所有主题模型的效果。
由表2可知,以上四个模型中,LDA模型效果最差,产生的主题可读性较低,主题中与主题无关的冲突词较多,例如“成本”和“标准”均为“体育”主题下的冲突词。NTM模型的冲突词组数目仍然偏多,因为该模型没有通过语义强化来增强主题的可读性,主题词表现较差。而GPU-DMM以及本文提出的DGPU-LDA主题可读性较高,产生的主题代表词汇中冲突词较少。本文提出的DGPU-LDA与GPU-DMM相比,具有更少的冲突词,但是不具备明显优势。一个可能的原因是DGPU-LDA无法直接在主题代表词汇的语义连贯性上体现文档—主题语义强化的效果,为了得到进一步的结论,还需要考虑文档层面。
表2 主题代表词汇展示
3.5 文本分类效果评价
为了验证模型整体有效性,本节将在文本分类任务中运用DGPU-LDA模型进行实验。本文从提出的文档语义编码框架DS-Bi-LSTM在文档语义表征方面的有效性和主题模型整体在文本分类任务方面的准确性这两方面来评价文本分类效果。采用的分类模型为支持向量机。
(1) DS-Bi-LSTM文档语义编码有效性评价
文档语义编码框架DS-Bi-LSTM能够对文档的语义进行嵌入表示,是DGPU-LDA的基础。为了得到分类准确率,本文首先使用DS-Bi-LSTM框架,以嵌入的形式表示训练集中的文档,继而计算对应的特征矩阵,最后将特征矩阵应用到文本分类任务中,计算方法的分类准确率。该编码框架采用的是底层特征表示方法,因此本文使用传统的向量空间模型和M-Skip-Gram作为基准方法。向量空间模型的思路是通过特征词汇上的词频向量来表示文本,本文将选取5 000个词汇作为特征词汇。与之相对的是,M-Skip-Gram则首先通过Skip-Gram模型构建词嵌入,然后将文档的所有词汇的词嵌入的平均值作为该文档的特征向量。上述三种特征表示方法对应的文本分类准确率如表3所示,每种方法的分类实验将重复十次,取每次结果的均值和方差来展示。
表3 不同特征表示方法下的文本分类效果
根据表3的准确率结果可知,相比于传统的向量空间模型及M-Skip-Gram模型,本文提出的DS-Bi-LSTM编码框架在文档特征表示方面有较好的表现。基于DS-Bi-LSTM文档编码框架的有效性,DGPU-LDA才能在文本分类上具有优异的表现。
(2) 主题模型整体有效性评价
通常可以使用文本分类任务来评价主题模型的有效性,文本分类任务准确率的高低代表了主题模型抽取出的主题的特征表达能力的强弱。图5和图6分别展示了在两个数据集中,对应于不同主题数K,LDA、GPU-DMM、NTM、DGPU-LDA这四个主题模型的文本分类准确率。
图5 搜狗新闻数据集文本分类准确率
图6 20新闻组数据集文本分类准确率
由图5和图6可知,GPU-DMM模型及本文提出的DGPU-LDA模型在搜狗新闻数据集上,主题数K=100时,准确率分别达到了0.767和0.788;在20新闻组数据集上,主题数K=100时,准确率分别达到了0.804和0.813,文本分类的准确率均为最高,这说明基于双向LSTM语义强化的主题模型能够更强地刻画文档特征表示。
4 总结
本文提出了一个基于双向LSTM语义强化的概率主题模型DGPU-LDA。首先,本文对文档宏观语义的重要性进行了强调,设计了一个基于双向LSTM的文档语义编码框架DS-Bi-LSTM来进行文档的嵌入表示。其次,在吉布斯采样过程中,分别从文档—主题和词汇—词汇两个角度进行GPU强化。最后,在主题模型的参数推断中,使用LSTM网络来刻画整个吉布斯采样的迭代过程。实验表明, DGPU-LDA充分利用了文档层面的语义信息,具有较强的语义连贯性和较高的准确率。今后将通过引入知识库来扩展语义信息,使DS-Bi-LSTM框架适应于短文本建模场景。此外,为了适应大规模训练集下的主题建模,还将研究分布式训练DGPU-LDA算法。
[1] David M B, Andrew Y N, Michael I J. Latent Dirichlet Allocation[J]. Journal of Machine Learning Research, 2003 (3): 993-1022.
[2] Alex Graves, Jurgen Schmidhuber. Framewise Phoneme Classification with Bidirectional LSTM and Other Neural Network Architectures[J]. Neural Networks, 2005, 18(5-6): 602-610.
[3] Samuel Kotz, Hosam M M, Philippe Robert. On generalized polya Urn models[J]. Statistics Probability Letters, 2000, 49(2): 163-173.
[4] Jeffrey L E. Finding Structure in Time[J]. Cognitive Science, 1990, 14(2): 179-211.
[5] Sepp Hochreiter, Jürgen Schmidhuber. Long Short-term Memory[J]. Neural Computation, 1997, 9(8): 1735-1780.
[6] David Andrzejewski, Xiaojin Zhu, Mark Craven. Incorporating domain knowledge into topic modeling via dirichlet forest priors[C]//Proceedings of ICML’09, 2009: 25-32.
[7] Zhiting Hu, Gang Luo, Mrinmaya Sachan, et al. Grounding Topic Models with Knowledge Bases[C]//Proceedings of IJCAI’16, 2016: 1578-1584.
[8] Zhiyuan Chen, Bing Liu. Topic modeling using topics from many domains, lifelong learning and big data[C]//Proceedings of ICML’14, 2014: 703-711.
[9] Zhiyuan Chen, Bing Liu. Mining topics in documents: standing on the shoulders of big data[C]//Proceedings of KDD’14, 2014: 1116-1125.
[10] Geoffrey E. Hinton, Simon Osindero, Yee-Whye Teh. A fast learning algorithm for deep belief nets[J]. Neural Computation, 2006, 18(7): 1527-1554.
[11] Hugo Larochelle, Stanislas Lauly. A neural autoregressive topic model[C]//Proceedings of NIPS’12, 2012: 2708-2716.
[12] Nitish Srivastava, Ruslan Salakhutdinov, Geoffrey Hinton. Modeling documents with a deep boltzmann machine[C]//Proceeding of UAI’13, 2013.
[13] Ziqiang Cao, Sujian Li, Yang Liu, et al. A novel neural topic model and its supervised extension[C]//Proceedings of AAAI’15, 2015: 2210-2216.
[14] Fei Tian, Bin Gao, Di He, et al. Sentence level recurrent topic model: Letting topics speak for themselves[C]//Proceedings of arXiv:1604.02038v2, 2016.
[15] Ilya Sutskever, Oriol Vinyals, Quoc V Le. Sequence to sequence learning with neural networks[C]//Proceedings of NIPS’14, 2014: 3104-3112.
[16] Dzmitry Bahdanau, KyunghyunCho, Yoshua Bengio. Neural machine translation by jointly learning to align and translate[C]//Proceedings of ICLR’15, 2015.
[17] Wayne Xin Zhao, Jing Jiang, Jianshu Weng, et al. Comparing twitter and traditional media using topic models[C]//Proceedings of ECIR’11, 2011: 338-349.
[18] Chen Xing, Wei Wu, Yu Wu, et al. Topic aware neural response generation[C]//Proceedings of AAAI’17, 2017: 3351-3357.
[19] Shuangyin Li, Yu Zhang, Rong Pan, et al. Recurrent attentional topic model[C]//Proceedings of AAAI’17, 2017: 3223-3229.
[20] Tomas Mikolov, Kai Chen, Greg Corrado, et al. Efficient estimation of word representations in vector space[C]//Proceedings of CoRR, abs/1301.3781, 2013.
[21] Tomas Mikolov, Ilya Sutskever, Kai Chen, et al. Distributed representations of words and phrases and their compositionality[C]//Proceedings of NIPS’13, 2013: 3111-3119.
[22] Han Xiao, Minlie Huang, Xiaoyan Zhu. SSP: Semantic space projection for knowledge graph embedding with text descriptions[C]//Proceedings of AAAI’17, 2017: 3104-3110.
[23] Teng Long, Ryan Lowe, Jackie Chi Kit Cheung, et al. Leveraging lexical resources for learning entity embeddings in multi-relational data[C]//Proceedings of ACL’16, 2016: 112-117.
[24] Chenliang Li, Haoran Wang, Zhiqian Zhang, et al. Topic modeling for short texts with auxiliary word embeddings[C]//Proceedings of SIGIR’16, 2016: 165-174.
[25] Thomas L G, Mark Steyvers. Finding scientific topics[C]//Proceedings of PNAS’04, 2004: 5228-5235.
[26] David Newman, Jey Han Lau, Karl Grieser, et al. Automatic evaluation of topic coherence[C]//Proceedings of HLT’10, 2010: 100-108.
[27] Jey Han Lau, David Newman, Timothy Baldwin. Machine reading tea leaves: Automatically evaluating topic coherence and topic model quality[C]//Proceedings of EACL’14, 2014: 530-539.
E-mail: zhujiahui@whu.edu.cn