基于共轭分布和参数估计算法的文本大数据主题分析应用综述
2021-12-31朱颖奇李艳玲郭振东
朱颖奇, 李艳玲, 林 民,2, 郭振东
(1.内蒙古师范大学 计算机科学技术学院,内蒙古 呼和浩特 010022; 2,内蒙古师范大学 应用数学中心,内蒙古 呼和浩特 010022)
信息技术的提升、互联网大数据的发展、无纸化办公的普及,极大推动了自然语言形式文本的电子化进程。除新闻、社交信息这些依赖互联网快速传播的大规模文本数据之外,学术论文、医学资料、文化古籍等各种专业领域的文本数据也在大量产生和积累。上述以自然语言形式存储的海量文本都可以称为文本大数据。文本大数据的产生规律和数据本身蕴含的潜在信息,具有重要研究价值。文本的主题分析是语义分析中的基础和重点内容。文本主题是一个抽象概念,它由一组具有相关含义的词汇描述; 一篇文本通常包括多个主题,例如一篇关于奥运会的新闻稿中包含“运动”“旅游”等多个主题。
文本主题分析被应用于社会、科技、文化等多领域的多种任务中。首先,能够深入探究社会问题、现象,提高社会运行管理效率[1]。其次,能够多角度观察总结专业领域研究成果和现状,推动专业领域技术发展,指导领域发展方向[2]; 也可挖掘出政策主题和发展主题,以明确国家和国际政策的战略路线以及当前政策影响下相关专业领域的发展形势[3]。最后,文本主题分析对知识积累、文化传承也具有巨大作用,能有效提取和分析不同语言表示的领域知识文化主题信息,对增进民族地区通用语言与民族语言的知识共享和传播、传承各民族优秀文化具有重要现实意义。
综上所述,利用计算机进行文本大数据主题分析,能够高效、准确分析海量文本,挖掘出其中隐藏的核心内容和发展规律,对社会政治、经济、科技、文化的发展具有推动作用,也能够辅助相关政策的制定。面向文本大数据的主题分析是一项十分必要且紧迫的任务,因此,本文从技术角度阐述了国内外利用主题模型对文本进行主题分析的现状,旨在为主题分析的性能提升提供参考。
1 文本主题分析存在的问题及主题模型改进思路
主题模型最初是一种概率统计模型,后来发展到深度学习领域,故而其模型构建过程中,包含大量应用数学理论、模型优化算法以及文本处理知识。目前多数综述文章都按照模型所属类别进行分类,例如基于概率统计和基于深度学习两种类别,但是新方法的提出多基于前人的方法,不同类型的方法之间也在交叉融合,所以难以只按照方法类别进行归类。因此,本文从两个角度进行主题模型的综述:第一,针对不同问题的模型改进方法; 第二,按照模型改进方法采取不同方式进行归类。
1.1 存在问题
(1) 短文本数据稀疏。一篇文档根据文本的长度可分为长文本和短文本,论文、新闻报道等一般都是长文本,微博正文、商品描述等一般是短文本。由于短文本上下文信息有限,涉及的主题较为单一,多义词的真实含义难以确定。而主题模型是一种从后验分布推断先验分布的模型,所以在短文本样本数量规模小、数据稀疏、文档主题单一的情况下,建模能力受到限制。
(2) 不能充分考虑上下文内容。传统主题模型将文档中的词看作词袋模型,只在文档层面上考虑词汇的分布,没有考虑文档之间的关系、词汇之间的关系、词汇重要性、上下文语境等。
(3) 文档-主题分布和主题-词分布的适用性和准确性有待提高。LDA(latent dirichlet allocation)[4]最初根据经验假设传统主题模型的两个分布是多项分布,主题和词的取值都决定于各自分布的参数,主题的一致性、连贯性和主题之间的多样性都直接受到分布参数的影响。但是,如何选择更接近真实分布的初始假设分布?如何提高分布参数推理算法的精确性?这些都是主题模型需要不断探索的内容。
1.2 改进思路
为解决上述问题,国内外研究人员从三个方面对主题模型进行了改进。
(1) 增加外部辅助信息。主题模型的优势是一种无监督算法,能够在给定的文档上直接进行隐含主题挖掘,无需人工标注。但是对于语言来说,其文化背景、时代背景、领域范围等外部信息都对文本含义、文本主题起到至关重要的影响。而且在其他自然语言任务中,增加外部辅助信息也被证明是提高模型性能的有效方式。增加外部辅助信息的方式可细分为三种。
① 从额外的大规模语料库获取全局语言信息。在自然语言处理中为模型添加背景知识是常用而有效的方法,如著名的BERT(bidirectional encoder representations from transformers)模型,采用大规模语料用于预训练。所以,将基于大规模/领域性语料的预训练过程加入主题模型中,是获取全局语言信息的方法之一。
② 从文档、词的关系中挖掘局部语言信息。通常文档与文档、文档与词、词与词之间具有一定的关联关系。如新闻中讨论相同话题的文档,通常在同一个版块中,词和词之间的共现关系也能体现主题分布。所以语料的局部语言信息也值得深入挖掘。
③ 加入与任务相关的约束和知识。文本主题分析可用于文档表示、文档特征提取等,作为其他下游自然语言处理任务的基础环节。当下游任务是分类任务时,文档的标签可以使模型对主题的分布有预先判断。所以当主题模型被用于特定领域文本或者特定任务时,可以提取任务相关信息以辅助主题分析。
(2) 改进参数分布的共轭先验。主题模型中两个重要分布是文档-主题分布和主题-词分布,求解这两个分布的关键在于确定分布的类型和参数。最初主题模型将两个分布假设为多项分布,从统计学角度利用多项分布的共轭先验(即狄利克雷分布,Dirichlet distribution)求解参数,但随着神经网络的自编码器在参数优化效果上的提升,其它更适用于自编码器的分布被加入主题模型中,求解过程更加迅速、准确。所以分布的类型和参数均有改进。
(3) 改进采样过程。传统主题模型采用吉布斯采样,为提高模型收敛速度和效果,有一些改进方法。
下面以上述三种模型改进思路为线索对近年来文献进行阐述,并指出解决的问题。
2 增加外部辅助信息
为主题模型增加的外部信息包括三种: 大规模语料库的语言信息; 文档和词关系的局部信息; 与任务相关的领域知识或约束。
2.1 从额外的大规模语料库获取全局语言信息
额外的大规模语料库语言信息可通过预训练得到,将预训练结果作为主题模型的一种输入,代表模型有ETM、TWE、JTW、TSTNM、LDA2Vec2016、transformer+LDA等。
Mikolovt等[5]最早提出Word2Vec词嵌入模型,通过使目标词与周围上下文词在样本空间中共现概率最大化来得到目标词的低维稠密向量表示。用词向量表示文档单词能包含单词上下文信息,也能包含大规模训练语料隐含的语言知识。
词嵌入主题模型将词嵌入融合到LDA模型中,融入了单词上下文信息,改进了词袋表示。Moody[6]提出LDA2Vec模型,在LDA中加入Word2Vec词向量既优化了单词特征,也能提高计算单词间相似度的准确率,缓解了LDA在处理短文本中的困难,能生成具有可解释的主题分布。但是一个单词也许会有多种含义,一种词向量无法表示不同情境下单词的不同含义,所以Liu 等[7]提出了一种主题词嵌入(topical word embeddings,TWE)模型,该模型将主题和主题-词对视作“伪词”放入Skip-Gram模型进行训练,令每个单词在不同主题下具有不同的向量表达。Shi等[8]提出了基于Skip-Gram的主题词嵌入(skip-gram topical word embeddings,STE)模型,首先当给定一个目标词及其主题时,构建一个可以预测上下文词的生成函数; 其次设计一个最大期望(expectation maximization,EM)采样方法,E步骤用于评价主题分布的质量,M步用于更新主题分布和词向量。Dieng等[9]进一步提出了嵌入主题模型(embedding topic model,ETM),把主题作为单词的上下文语义依赖,通过最大化主题的单词生成概率优化主题向量,并将主题向量映射到与词向量一致的语义空间,改善了生成主题的一致性。TWE等能够将主题信息加入词向量的训练之中,并利用词向量的上下文信息辅助生成主题分布。ETM的优势是可以直接训练出主题向量,并将词向量和主题向量联合训练。Zhu等[10]结合这两种思路提出了主题-词嵌入联合模型(joint topic word-embedding,JTW),利用Skip-Gram思想训练出主题向量,该模型首先将中心词和上下文词作为编码器的输入,获得隐含主题向量和主题分布,随后利用解码器,通过主题分布和主题向量分别重构上下文词和中心词。
此外,BERT模型将Transformer[11]编码器作为模型的主体结构,通过海量语料的训练和在具体任务中的微调(fine-tuning),得到了一组适用性广泛、上下文语境敏感的词向量,解决了以往Word2Vec、Glove等模型的聚义问题。所以将BERT与主题模型相结合也是一种新颖的改进思路。Alexander等[12]认为,BERT的微调机制虽然很好,但需要从大量参数中获得语境信息,而主题模型采用自编码器结构时,又需要缩减维度来获得更具可解释性的主题,两者难以同时训练。因此,笔者将一篇文档分别表示为BOW表示和基于BERT的自编码“教师”(BERT-based auto-encoder teacher,BAT)表示,将两种表示同时输入“学生”神经主题模型中,这样既包含预训练Transformer中丰富的语境知识,又兼顾主题模型的可解释性,这种“教师”-“学生”训练模式是一种用于模型压缩的知识蒸馏架构,它对于大规模和小规模的模型结合具有借鉴意义。
2.2 从文档、词的关系中挖掘局部语言信息
文档和词关系的局部信息常常考虑文档之间的相似性、文档和词的共现关系及词对文本的注意力、词和词的共现关系、层次关系,代表模型有:BTM、GraphBTM、TSNTM、JEA-LDA等。
短文本主题分析的难点在于一篇文档包含的词数目太少,不能给文档的主题分布提供更多信息。降低数据稀疏性主要从两个方面着手,一是增加词数目,二是扩大选词范围。基于此,Yan等[13]提出BTM(biterm topic model),提取语料级别的共现词对(Biterm是指共现词对)代替原来的单个词,将词共现信息引入主题模型,极大缓解了短文本数据稀疏性。此后,研究人员开始基于BTM做出改进。Cheng等[14]提出IBTM(incremental biterm topic model),对Biterm集合进行建模,并使用增量式吉布斯采样(incremental Gibbs sampling),实现主题参数的更新,克服了 BTM 不能增量抽取主题的缺点。而Li等[15]结合了上文中提到的词嵌入,提出 R-BTM 模型,利用词嵌入生成的相似词表来提取更连贯的 Biterm,从而抽取出质量更高的主题。虽然BTM能够缓解短文本的稀疏问题,但是在语料库上建模时,仍存在不能顾及长文档内部丰富主题的缺陷,因此Zhu等[16]提出基于图的BTM(graph BTM),它在多个文档上使用滑动窗口,提取窗口中的所有单词共现,构造出单词共现图,并使用GCN对词共现图进行建模,作为编码器主题模型的输入。GraphBTM既考虑了词共现关系,又提取了文档范围的局部结构信息。上述是在平面上对词进行建模,而TSNTM[17]是在树结构上对词和主题进行层次建模,具有通用含义的主题和词靠近根节点,含有具体含义的主题和词更靠近叶节点。
BTM及其变体只考虑了单词关系而忽略了文档关系,讨论同一个话题的文档通常情况下会有相似的词分布,通过在主题模型中引入文档关系能够提高所提取主题的质量[18]。Zhou等[19]提出了一种基于文档关系图的神经主题建模,将语料库表示为文档关系图卷积网络(graph convolutional network,GCN),节点是文档和单词,边体现文档-单词共现关系。刘佳琦等[20]用孪生神经网络实现变分自编码器神经主题模型,两个不同的文档被输入孪生神经网络,其相似度被加入损失函数中,提升了模型中隐变量和输入文档之间的相关性。
上述模型直接对模型添加文档和词之间的关系进行改进,此外,还可利用注意力机制对主题施加词注意力,JEA-LDA[21]结合了单词嵌入和主题嵌入结构,并在单词和主题之间添加注意力机制,用来捕获主题与单词之间的相互作用关系。
2.3 加入与任务相关的约束和知识
与任务相关的领域知识或约束信息,多数在有监督主题模型中采用,将文档标签、文本特征作为外部信息,还有直接利用主题质量评价指标指导模型优化,代表模型有:linkLDA、Supervised Topic Model、s-To-MCAT和基于强化学习的神经主题模型等。
主题模型除了能直接分析文本之外,还可以为其他下游任务服务。根据任务的内容可以额外加入任务相关的知识,以提高主题分布的合理性。如在处理社交媒体文本时,对用户的兴趣和行为模式进行建模[22]; 或者在研究文本主题演变过程时,将时间信息加入主题模型中,例如TOT模型[23]、DTM模型[24]和LPOBTM模型[25]; 在知识图谱的任务中,将LDA与实体向量编码的知识相结合,通过“知识”分布对LDA的词分布和主题分布的参与来提高主题语义的一致性和连贯性[26]。
很多下游任务是有监督任务,样本特征、样本标签成为良好的辅助信息。LF-LDA模型[27]将主题-词分布换成 “主题-特征分布+特征-词分布”混合分布,而Tr-sLDA[28]则进一步将主题-标签分布中的“标签”变成源域和目标域的交集,上述两个例子中,不仅能计算词在主题上的分布,还能计算特征和标签在主题上的分布,这使主题的使用范围更广。
最典型的有监督主题模型是sLDA(surpervised LDA)[29],它在主题模型中加入文档标签作为响应变量,与主题模型同时训练。sLDA是基于概率统计的方法,也有将主题建模和非线性分类相结合的方法(GPSTM)[30],但更多的有监督主题模型采用了基于神经网络的方法,常用的有变分自编码器和对抗生成网络。
SNTM[31]是一种典型有监督神经网络主题模型,它在NTM的基础上增加了一个标签层,本质上是增加了一个主题-标签分布,具体采用pairwise方法对输入的文档对进行排序,使用主题-标签分布计算出两个输入文档的标签,模型期望令正例标签值最大化,令负例标签值最小化。
主题模型本质上是一种文档生成模型,随着对抗生成网络(generative adversarial networks,GAN)的提出,主题和文档的生成过程可以用GAN来模拟,由此提出了ATM[32],ATM的生成器能捕获潜在文档-主题语义分布和文档-词级语义表示。传统的主题模型采用的是近似解析,而ATM直接使用鉴别器网络来识别输入文档是真是假,其输出信号可以帮助生成器从Dirichlet分布的随机噪声中构造更真实的文档。尽管ATM能够发现更连贯的主题,但由于缺乏主题推理模块,它不能用于归纳给定文档的主题分布,这种局限性阻碍了它在文本分类等下游任务中的应用。而在MCAT中[33],主题建模是一种主题分布和词分布之间的转换过程,生成器将从Dirichlet先验中随机抽取的主题分布转换为相应的词分布,编码器将文档的词分布表示反向转换为文档的主题分布表示。除此之外,对抗网络的损失函数只能保证生成器生成的样本与真实样本同分布,但是实际上更希望模型输入输出的文档是一一对应的,也就是A-B-A还可以再迁移回来,即循环一致性。
神经变分推理在文本处理方面取得了许多进展。但是由于主题本身的质量评价没有最优值,所以其主题模型的目标只能包括最小化重建文档损失,不能考虑主题的连贯性和一致性,但最小化重建错误并不意味着能得到高质量的主题。所以有学者[34]借鉴强化学习的思想,将话题连贯性作为奖励信号引入基于VAE的主题模型训练中。由于强化学习的机制十分强大,而且将主题质量加入主题训练是一种十分新颖的想法,所以本文认为基于强化学习的主题模型非常具有潜力。
3 改进参数分布的共轭先验
主题模型中两个重要分布是文档-主题分布和主题-词分布,随着主题推断数据规模扩大和问题复杂度提高,主题模型包含了越来越多的隐变量和额外信息,模型参数的推断过程变得愈加复杂。变分自编码器(variational auto-encoder,VAE)[35]通过神经网络近似主题模型中隐变量的后验分布,即变分推断过程,提供了一种适合处理大数据并且扩展性强的主题模型训练方法。
为了克服传统主题模型需要复杂推理算法的局限性,设计了神经变分文档模型(neural variational document model,NVDM)[36],NVDM是一个无监督的文本生成模型,旨在为每个文档提取一个连续的潜在语义向量。该模型是一个变分自编码器:MLP(multilayer Perceptron)编码器(推断网络)将文档的词袋模型表示压缩为一个连续的潜在分布,softmax解码器(生成模型)生成词来重构文档。自此,基于神经网络的主题模型开始快速发展。
自编码器在主题模型中的使用不仅令分布的推断过程更加简便,而且可以尝试更多种主题分布和参数分布。原始主题模型的分布是多项分布-狄利克雷分布(Dirichlet)的共轭分布,但是变分自编码器的参数更新只适合“location-scale”分布簇的分布,而Dirichlet分布不属于这个分布,所以在NVDM中采用高斯分布来代替Dirichlet分布。高斯LDA中[37-38],主题-词分布由多项分布变为多变量高斯分布,其参数分布也是高斯分布。但是使用高斯先验会产生一些不相干和相似的主题。Sutton等[39]提出了LDA-VAE 和Prod LDA,作者认为Dirichlet分布比高斯分布更适合于主题建模,所以用Logistic正态分布近似Dirichlet先验分布,有助于产生更连贯和多样的主题。为了不改变Dirichlet分布,Nan等[40]提出了一种基于WAE(wasserstein autoencoder)框架的主题模型W-LDA,在潜在文档-主题空间中,通过分布匹配方法直接近似Dirichlet先验,不需要采用任何高斯近似,保持了主题模型原本的Dirichlet先验,在一定程度上也可以解决后验失效问题。除Dirichlet分布、高斯分布、Logistic正态分布,还有学者采用Weibull分布[41],Weibull分布可以更好地逼近Gamma分布,并通过均匀噪声进行简单的重参数化,有助于高效地计算推断网络参数的梯度。
4 改进采样过程
随着自编码器主题模型的广泛使用,采样过程被省略,关于采样的改进方法较少。主题模型中常用的采样方法是吉布斯采样,IBTM[14]使用增量式吉布斯采样替代吉布斯采样,实现主题参数的更新,克服了 BTM 不能增量抽取主题的缺点。高斯LDA中采用了一种collapsed Gibbs sampling算法来加快模型求解速度。此外也有少量其它采样方法,例如基于负采样解码器的短文本主题建模[42],负采样原理是从文本中根据主题-词分布采样到的词作为正样本,将其他主题中概率较高但未分配给当前文本的单词作为负样本,这样能使主题词的分布相互推开,从而为产生不同的主题提供更好的学习目标。
5 总结与展望
本文从三个方面介绍了近年来文本主题模型的改进方法,以下对这三个方面进行总结,并给出可能的改进方向。
(1) 增加外部辅助信息。
① Word 2Vec是一个非常成熟的词表示模型,但是近年来基于transformer的BERT模型更具有发展潜力,因为BERT能够从更大规模的语料中挖掘更深层次的语言信息。
② BTM及其变种充分考虑了词共现知识,文档之间的关系研究较少。
③ 近年来基于变分自编码器的主题模型数量众多,但是对抗生成网络的判别器能够在模型中加入更多标签类信息,更加值得关注和研究。此外,基于强化学习的主题模型构思新颖,关键在于能够把不定量主题评价指标(连贯性、一致性)加入模型训练中去,这一点非常值得关注。
(2) 改进参数分布的共轭先验。
由于变分自编码器的广泛使用,Dirichlet分布逐渐被高斯分布取代。但是依旧有学者不断尝试回归到Dirichlet分布中,以获得更连续、更一致的主题。
(3) 改进采样过程。
由于神经网络主题模型得到更多实用,所以传统采样过程被网络参数自动更新所取代,而且采样过程对模型的改进效果不明显,所以近年来对于采样的改进比较困难,也相对较少。