基于深度学习的嵌入式主题模型研究
来源:用户上传
作者:吴少康 刘磊 曹恒
摘要:近年来,火灾报警涉及的建筑遍及各行各业。为了对火灾涉及的不同建筑进行有效划分,从而更好地预防,文章通过改进短文本分类过程中的特征提取,从而使建筑分类更加科学、准确。特征提取作为短文本分类特征工程中的一个步骤,在整个短文本分类过程中尤为重要,也是短文本分类中的一个难点问题。文章基于ELECTRA的嵌入式主题模型(ETM),进行短文本处理,获取特征向量,为后续特征降维、分类器的学习作出了铺垫,同时也有效解决了文本中一词多义的问题。文章也为提高建筑分类的准确率和效率,为从事建筑火灾预防的其他研究人员的研究提供了实际借鉴意义。
关键词:深度学习;ELECTRA;主题模型;词嵌入;短文本分类
中图分类号:TP18 文献标识码:A
文章编号:1009-3044(2022)28-0007-04
1 概述
在自然语言处理领域,语义表征一直作为一个基础性研究问题而存在,大致可以将语义表征分为三个阶段,分别为以词袋模型为典型代表的特征工程阶段,以word2vec为典型代表的浅层表征阶段,以基于transformer的Bert为典型代表的深层表征阶段,嵌入式主题模型(ETM)虽然充分考虑了低频词与停用词,同时在使用word2vec基础上也有效解决了词与词之间的位置关系,但在面对不同上下文遇到多x词时[1],会被默认为同一向量,无法区分语义差异。对此本文将深层表征阶段的ELECTRA模型与嵌入式主题模型进行了融合,有效解决了一词多义问题,同时相较于传统的Bert模型,ELECTRA模型拥有更高的分类效率,全位置的训练预测,以及对预训练与微调的不一致问题进行了优化。通过实验结果对比分析,ELECTRA与嵌入式主题模型结合后,能够提取出代表性强、关联度高的主题词,在应用于海量文本数据时效果明显。
2 常见的文本表示模型介绍
2.1 词袋模型
词袋模型的概念最早出现在1954年,泽里格・哈里斯的论文中[2]。2002年,Ruch.P等人将词袋模型运用于医疗记录。2012年,Mingyuan jiu等人提出了一种监督码书学习和词袋模型优化的新方法。2014年,Alexandros losifidis提出了一个基于词袋模型表示的人类行为识别新框架。2016年,Yanshan Li等人提出了一种名为FBoW的新型词袋模型来描述基于FST的图像。词袋模型的思想是将训练文本中的每个词都独立表示,看成一个无序的集合,然后分别统计每个词出现的次数。对于每个词表示出的one-hot向量,只有一个特定位置是1,其余都是0。可见,词袋模型对原训练文本的语序关系已经完全丢失,同时,当面对海量的文本文档时,每句话的矩阵会过于稀疏,从而影响内存和计算效率。
2.2 主题模型
主题模型始于1998年Christos H.Papadimitriou等人提出的潜在语义分析(LSA),本质上来说,LSA是一种基于SVD的线性变换,即把文本从单词向量空间映射到语义向量空间。LSA的优势在于,通过低维空间对同义词进行表示,提取其对应的类似主题,但是LSA模型不是概率模型,无法从概率的角度来理解,同时LSA虽然可以解决一义多词问题,但无法解决一词多义问题。1999年,Thomas Hofmann提出的基于统计概率的PLSA[3],实则是对LSA的概率化,通过引入一个生成模型给予LSA概率意义上的解释。同时通过多项式分布对词频向量进行表示,更好地刻画了一词多义[4]。但是PLSA中只是将文档与主题,主题与词的分布作为参数而不是随机变量,所以语料库会不断增大而导致过拟合现象。2003年,David M.Blei等人提出了隐含狄利克雷分布(Latent Dirichlet Allocation,LDA)[5]。该模型实则是对PLSA进行了贝叶斯化,优势在于添加了参数的先验分布,将模型的参数看成随机变量,规避了PLSA的过拟合现象。在此之后衍生出了很多改进版本,例如2005年Teh提出的Hierarchical Dirichlet Process(HDP),优势为自动确定topic的个数。2006年由Wei Li和Andrew McCallum提出的弹珠机分布模型(pachinko allocation model)。对于以上不同改进方式的主题模型,其基本思想都是通过对文档中词语的统计和判断并聚类,从文本文档中抽取具有代表性的主题,同时能够通过运算获取每个文本文档的主题分布。
2.3 词嵌入模型
词嵌入模型最早于2000年在约书亚・本吉奥的论文中提出,该论文叙述了为将词语空间有效降维,通过神经概率语言模型使得词语分布式表示的过程。在之后的改进中,有Roweis和Saul提出的局部线性嵌入(LLE),和传统的降维方式关注样本方差相比,LLE的优点在于可以学习任意维的局部线性的低维流形,同时计算复杂度较小,实现较为容易[6]。2013年,具有代表性的word2vec模型由谷歌的Tomas Mikolov团队发明,word2vec模型根据预测方式的不同可以分为两类,一类为通过输入一个词向量的方式来预测该词对应上下文的内容,此类称为CBOW模型。另一类为通过输入上下文信息的方式来预测单个词语的内容,此类称为skip-gram。相比于之前的词嵌入模型,word2vec会考虑上下文信息,同时维度更少,所以准确率更高、通用性更强,效率更高。但word2vec作为一种静态的模型,难以动态优化,同时word2vec中词和向量是一对一的关系,所以在处理多义词时,仍难以应对。
3 常见的预训练模型介绍
3.1 基于特征融合的ELMo的预训练模型
ELMo的全称为Embedding from Language Models,ELMo模型通过双向的LSTM对输入的数据集进行词向量表示,ELMo的改进之处有两点,一是使用了多层LSTM,二是添加了后向语言模型(backward LM) ,即给定后文预测前文。相比于传统的LSTM,多层LSTM在输入时,会进行两种方式输入,一个是由左向右的正向输入,一个则是由右向左的反转输入,通过这种方式的改进,可以获取更加充分的上下文信息,从而更加精确地学习。其中第一层的LSTM主要作用是获取句型特征,第二层LSTM是为了获取语义特征。相同点在于,对于其中每一层LSTM,都会对单词特征和上下文词向量对应拼接,之后将训练模型的每层LSTM的输出以及单词向量进行加权求和[7]。但是ELMo中的双向LSTM是相对独立的设置,在训练时,分别对输入的文本文档进行由左向右的正向输入和由右向左的反向输入,并将两种输入后的隐节点状态拼接在一起。因此,从本质上来说,ELMo依旧是单向的预测上下文,这也是限制ELMo功能的局限所在。
nlc202212021114
3.2 基于GPT的生成式预训练模型
GPT的全称为Generative Pre-Training,属于自回归(AR)语言模型,在应对生成式任务时有天然的优势。同时GPT的特征抽取器运用的是多层Transformer Decoder,其特征抽取能力强于ELMo所采用的LSTM[8]。为了避免预测当前词时,后向词语产生影响,GPT采用了Mask Multi-Head Attention的方式解决。 同时,GPT也是所有预训练模型中第一个融入Transformer的预训练模型。 相较于上文提出的ELMo运用到的LSTM特征抽取技术,Transformer的特征抽取能力明显更具优势。
3.3 基于Transformer-XL预训练模型
Transformer-XL是在vanilla Transformer的基础上改进而来[9],在通过融入循环机制(Recurrence Mechanism) 后,Transformer-XL每次预测前进的速度有所提升,每次可以以一个段一个段的体量进行移动训练。同时充分使用移动所经过的段中包含的数据来对当前段进行预测输出。而不再需要vanilla Transformer中,一次仅能前进一个阶段,同时在对段落进行重新组建时,还需要从首位开始计算。Transformer-XL改进之后,使得当前段在建模的时,实现长期依赖性。
3.4 基于XLNet预训练模型
XLNet属于自回归(AR)语言模型,XLNet模型主要分为两个步骤,第一个步骤为语言模型预训练阶段,第二个步骤为任务数据Fine-tuning阶段[10]。XLNet的改进之处在于使用了更加海量、高质量的训练数据。同时将传统的Transformer中融入Query流型自注意力取代了使用自编码模式中的Mask标记。另外,在对较长文本数据处理时,融入了transformer XL的核心思想。
3.5 基于RoBERTa预训练模型
RoBERTa是在Bert的基础上进行改进的。RoBERTa改进了优化函数参数,在Masking策略上,通过动态掩码的方式训练,动态生成mask的过程只体现在输入的阶段,而在预处理阶段并未使用mask。通过这种方式,当数据量逐渐增大时,模型逐渐适应不同的掩码策略,学习不同的语言表示。同时在模型的输入格式上,证明了NSP(Next Sentence Prediction) 训练策略的不足,去掉了下一句预测(NSP) 任务,采用了更大的batch size,收敛明显更快,效果也更好。
3.6 基于BERT的预训练模型
BERT预训练模型属于自编码(AE)语言模型,相较于自回归语言模型,自编码语言模型可以更好地将上下文信息融入模型中。BERT模型的独特之处在于通过Masked LM捕获词语级别的数据,通过Next Sentence Prediction捕获句子级别的数据[11]。
4 ELECTRA模型结构介绍
ELECTRA模型针对传统的Bert预训练模型做出了改进和创新,ELECTRA模型相对于传统的Bert预训练模型,更加省时、省力、高效。同时,针对传统的Bert模型在mask时并未从训练持续到真实预测整个过程,从而导致出现练习和预测过程不一致的问题,ELECTRA模型作出了改进。ELECTRA引入了GAN,将整个多分类简化为二分类问题,从而使得预训练模型效率得到显著提高,并且模型的体量也有了较大的收缩。ELECTRA主要由两部分组成,分别是生成器(Generator) 和判别器(Discriminator) ,生成器的任务主要是将语句中的字词进行掩盖并更换[12],并依次对更换与非更换的字词进行标注,判别器的任务主要是对句子中的每个字词进行判断。例如输入语句“徽月楼酒店”,ELECTRA中的生成器会对句子中的字进行随机遮盖,例如,将句中的“楼”“酒”等字进行遮盖并标记,并将被遮盖的字符依次替代成另外的字符,如“光”“花”,具体步骤如图1所示。
ELECTRA模型的组成部分生成器和判别器都是由神经网络组成,但由于每部分对应的作用存在差异,所以需要通过不同的损失函数给予损失判断。生成器作为一个特殊的小型MLM,在[mask]所在的区域对词语进行预测,通过代替输入文本中的部分字词,对应的损失函数如公式(1) 所示。而判别器是使用了Replaced Token Detection(RTD)预训练任务代替了传统BERT所使用的Masked Language Model(MLM),从而对输入文本中的字词进行判断是否被其代替。对应的损失函数如公式(2) 所示。
[PG(xt|x)=exp(e(xt)ThG(x)t)x'exp(e(x')ThG(x)t)] (1)
[D(x,t)=sigmoid(wThD(x)t)] (2)
5 嵌入式主题模型(ETM)介绍
ETM全称为Embedded Topic Model,是在LDA的理论基础上搭建出来的,LDA模型包括生成过程和逆生成过程,生成过程主要包括步骤如下:首先决定文档中单词的数量,然后将随机一个主题分布分配给文档,对应生成文档中的词语,在整个生成过程中,依次给每个文档的主体分布一个助推,在词语的随机分布中选择一个词语,之后重复以上两个步骤,直到单词数量达到初始设定的上限。当希望能够获得这批数据的主题分布情况时,LDA求解文档的主题分布实际是上述过程的逆过程,即从文档开始,反过来去提取文档中的主题。逆生成过程主要包括步骤如下:首先,随机给每篇文档中的每个单词分配(assign)k个主题中的一个主题,对于每篇文档m,更新(重新采样Resample)单词的主题,假设除了当前文档之外的所有主题分配是正确的,计算两个概率,在文档m中的单词被分派到主题f的概率P( f|m),整个文本中分派至主题f的单词中是单词w的概率P( w|f),之后对基于这两个概率的乘积P( f|d)*P(w|f)分派给单词w一个新的主题,循环上述步骤,直至平稳状态,最终得到文本的主题分布。
nlc202212021114
而ETM使用了深度学习构建模型,其模型如图2所示,但仅使用了DNN搭建,依旧没有考虑文档中词语的先后顺序,对比LDA文档的生成过程,ETM主要的改进在于从主题分布中选取某一单词时引入了词嵌入,ETM为每个主题建立了主题分布向量,根据词向量与主题分布向量的关系,从主题分布中提取出单词。
6 ELECTRA-ETM模型介绍
基于ELECTRA-ETM流程框架图如图3所示,该模型的主要流程为:先将数据集进行预处理操作,在此步骤中主要对数据集进行分词、分句处理,通过ELECTRA模型练习文本,获得ELECTRA模型和特定领域专有文本融合后的嵌入词,并将其输入给ELECTRA-ETM模型,预测网络中进行文本词袋的练习,生成网络中进行词嵌入的练习,在练习完成后,通过运行ELECTRA-ETM的自编码器,即可获得文本的主题词。
7 分析
本文通过融合主题一致性[PN]和主题多样性[PV]两个指标进行方法的性能评测,公式如下:
[PN=1TT=1T145i=110j=i+110fmTi,mTj]
[fmi,mj=logpmi,mjpmipmj-logpmi,mj]
[PV=uniquem1topN,m2topN,…,mTtopNT×N]
其中[f?,?]是标准化点互信息,[pmi,mj]是词[mi]和[mj]在文档中共现的概率,[pmi]是词[mi]的边际概率。[(m(1)topN,m(2)topN,…,m(T)topN)]表示所有T个主题的排名中最可能的N个词语。
ELECTRA-ETM模型c传统的ETM模型比较,主题一致性和主题多样性有了显著提高,从而表明ELECTRA-ETM模式能够更加准确、高效地进行主题提取。同时,由于ELECTRA模型能够运用上下文中的信息准确地获取词语含义,使得ELECTRA-ETM模型可以在词嵌入方式下,对一词多义的处理更加准确,模型性能显著提高。
8 结论
本文致力于通过对大量关于建筑火灾的文档数据集进行主题提取并分类,从而提高对高风险类建筑火灾的预防,针对其中主题词提取涉及的语言模型难点问题,将ELECTRA模型与嵌入式主题模型进行融合,有效地解决了不同语境中一词多义的问题,同时ELECTRA对传统的Bert模型进行了改进和完善,ELECTRA-ETM可以更好地提取短文本中的主题关键词,为今后建筑火灾的分析和预防提供了实际借鉴意义。
参考文献:
[1] 邹].基于聚类算法的文本挖掘研究[D].成都:电子科技大学,2020.
[2] Harris Z.Distributional structure[J]. Word, 1954, 10(2-3): 146-162.
[3] 王一宾,郑伟杰,程玉胜,等.基于PLSA学习概率分布语义信息的多标签分类算法[J].南京大学学报(自然科学),2021,57(1):75-89.
[4] Hofmann T . Probabilistic latent semantic indexing, In ACM SIGIR Forum,2017,51(2) :211-218.
[5] 王梦宇.基于LDA主题模型的在线评论聚类研究[D].兰州:兰州大学,2021.
[6] 李元,耿泽伟.基于LLE与K均值聚类算法的工业过程故障诊断[J].系统仿真学报,2021,33(9):2066-2073.
[7] 王帅.基于LSTM和特征生成的网络流量分类[D].南京:南京邮电大学,2021.
[8] 冯文刚.基于深度长短记忆模型的民航安保事件分析[J].中国安全科学学报,2021,31(9):1-7.
[9] 袁艺.基于轨迹数据挖掘的道路状况感知[D].北京:北京交通大学,2021.
[10] 杨敬闻.基于XLNet与字词融合编码的中文命名实体识别研究[D].长春:吉林大学,2020.
[11] 刘豪,王雨辰.BERT与GSDMM融合的聚类短文本分类[J].计算机系统应用,2022,31(2):267-272.
[12] 王小鹏,孙媛媛,林鸿飞.基于刑事Electra的编-解码关系抽取模型[J].计算机应用,2022,42(1):87-93.
【通联编辑:唐一东】
nlc202212021114
转载注明来源:https://www.xzbu.com/8/view-15442888.htm