CN115809665A - 一种基于双向多粒度注意力机制的无监督关键词抽取方法 - Google Patents
一种基于双向多粒度注意力机制的无监督关键词抽取方法 Download PDFInfo
- Publication number
- CN115809665A CN115809665A CN202211593847.6A CN202211593847A CN115809665A CN 115809665 A CN115809665 A CN 115809665A CN 202211593847 A CN202211593847 A CN 202211593847A CN 115809665 A CN115809665 A CN 115809665A
- Authority
- CN
- China
- Prior art keywords
- vector
- attention
- grained
- matrix
- fine
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Machine Translation (AREA)
Abstract
本发明公开了基于双向多粒度注意力的无监督学习关键词抽取方法,包括以下步骤:提取所述原生文本D中的短语,构建关键词候选集合;将原生文本D和关键词候选集合向量化;使用自注意力机制处理细粒度向量Xi以提高细粒度向量的自身表征能力,得到与细粒度向量Xi相同维度的强化细粒度向量X′;强化粗粒度向量;获得评分矩阵和关键词张量序列,得到编码器模型结果表明,训练模型并得到关键词。这种方法在关键词筛选时,提供一种通过双向多粒度注意力调节模型训练过程中进行特征选择的有效机制,以帮助关键词抽取模型在训练过程中,尽可能地利用关键词提供的信息进行下游任务。
Description
技术领域
本文发明涉及文本关键词抽取方法,详细地说是一种基于双向多粒度注意力的无监督学习关键词抽取方法,属于自然语言中关键词抽取技术领域。
背景技术
关键词抽取是自然语言处理任务中的基础任务,这个任务在具有其泛用性和热门性的同时,兼具其独特性带来的挑战。它需要准确地在文本中找到显著表征其主题信息的片段。得益于深度学习的快速发展,关键词抽取任务取得了优秀的成果,不仅在下游任务中起到中流砥柱的作用,在直接应用中同样得到广泛认可。
对于有监督模型的训练,从大量文本中训练整合信息是必然的过程,但是,关键词抽取领域一直缺乏权威的大型数据集,且关键字的选择和重要性即使在不同人之间也存在差异化较大的筛选标准。这使关键词抽取结果在很长时间,仅仅作为参考工具使用。SIF(Smooth Inverse Frequency)中认为预训练模型生成的句向量本身就在极力表达句子的主题信息。而关键词正是广大研究希望获得的极大表征语料主题信息的词集合,那么由句向量指导关键词抽取,即可获得贴切的关键词抽取结果,现有的方法大多利用人工指定规则,结合预训练模型输出句向量进行关键词评分排序工作,这种方法无法兼顾语料中所有蕴藏的特征,存在经验模型缺少普适性的普遍缺点。自注意力机制,利用嵌入向量信息对自身进行注意力计算优化自然语言任务模型的训练。
大部分无监督模型通过提取词向量,设计算法进行排序,这种截取的词向量往往丢失了上下文信息,造成效果损失。而有监督方法则舍弃词向量,利用耦合上下文信息的字向量序列,通过编码-解码模型进行训练预测,这种方法不可控,且依赖标注语料对字向量重新解释。
发明内容
本发明的目的是针对现有技术的不足,提供一种通过双向多粒度注意力调节模型训练过程中进行特征选择的有效机制,以帮助关键词抽取模型在训练过程中,尽可能地利用关键词提供的信息进行下游任务,在此之后,利用模型对关键词地注意力权重即可间接获得可靠的关键词抽取结果。
本发明提供一种基于双向多粒度注意力机制的无监督关键词抽取方法,包括以下步骤:
步骤(1)获取原生文本D,提取所述原生文本D中的短语,构建关键词候选集合;
步骤(2)将原生文本D和关键词候选集合向量化:
2-1获取原生文本D后,利用三种特殊标记[CLS]、[SEP]和[PAD]对原生文本进行规整操作;其中,[CLS]放在所有文本之前;[SEP]用于分开两个句子,句子末尾使用[SEP]标注;[PAD]用于整齐化句子的长度以便后续并行计算;规整操作后,得到长度格式统一化的原生文本D′;
2-2将原生文本D′送入Bert模型,获得所述Bert模型的隐藏层,取所述隐藏层中的最后四层,;按下式所示,连接所述最后四层作为嵌入结果向量,
X0=concat(HiddenLayer-4:)
将所述嵌入结果向量作为表征原生文本的细粒度向量X0=[x1,x2,x3,…,xN];其中,x1,x2,x3,…,xN;代表所有原生文本D′中的Token的向量表示;
2-3将所述细粒度向量X0映射至所述关键词候选集合,得到关键词候选嵌入向量表示,作为表征原生文本D′的粗粒度向量C0,生成方式下式所示,
步骤(3)引入由若干层自注意力层组成的自注意力模块,使用自注意力机制处理细粒度向量Xi以提高细粒度向量的自身表征能力,得到与细粒度向量Xi相同维度的强化细粒度向量X′;
步骤(4)强化粗粒度向量:
4-1添加多头注意力模块,所述多头注意力模块包括若干多头注意力层,第一层多头注意力层接受细粒度向量X0和粗粒度向量C0作为输入;通过细粒度向量补充粗粒度向量在生成过程中丢失的上下文语义信息;多头注意力层按下式所示的方式生成问询矩阵Qc、键矩阵K和值矩阵V;
Qc=MultiHeadQ(C0)
K=MultiHeadK(X0)
V=MultiHeadV(X0)
4-2以Qc,K,V三矩阵作为输入,进行注意力计算Attention,使用问询矩阵qc和键矩阵K相乘,得到粗粒度向量对细粒度向量进行关注后的注意力矩阵;将所述注意力矩阵中权值进行缩放和遮蔽操作后执行SoftMax函数,最后对值矩阵V进行加权求和计算获取新的粗粒度特征向量Attention(Qc,K,V),具体过程如下式所示,
其中,dk是多头注意力层的嵌入维度;
4-3将所述新的粗粒度特征向量更新到粗粒度向量C0中,将得到的结果平铺开,进行全连接层优化,得到更新向量;
按如下式所示的方法,利用所述更新向量对粗粒度向量C0进行残差更新normalize,得到强化的粗粒度向量C1
C1=normalize(C0+Attention(Qc,K,V))
4-4所述多头注意力模块中,多头注意力层的层数与步骤(3)中所述自注意力层的层数相同;第i+1层所述多头注意力层接受原生文本的细粒度向量Xi和粗粒度向量Ci作为输入,以强化后的粗粒度向量Ci+1为输出;经过多层迭代,得到粗粒度向量C′,所述多层迭代的层数为多头注意力模块中多头注意力层的层数;
步骤(5)获得评分矩阵Ms和关键词张量序列,得到编码器模型:
5-1添加多头注意力模块,以细粒度向量X′和粗粒度向量C′作为输入;通过多头注意力机制,由X′生成问询矩阵QX,由C′生成键矩阵KC和值矩阵VC;
5-2以所述问询矩阵QX、键矩阵KC和值矩阵VC作为输入,进行注意力计算Attention以完成对粗粒度向量的打分,使用所述问询矩阵QX和键矩阵KC相乘,得到注意力矩阵作为评分矩阵Ms,矩阵中每一个元素mij表示第i个细粒度表示xi对第j个粗粒度表示cj的注意力;
5-3为了让评分矩阵Ms作用于模型训练,使用评分矩阵Ms和值矩阵VC作为输入,将评分矩阵Ms中权值进行缩放和遮蔽操作后执行SoftMax函数,最后对值矩阵VC进行加权求和计算,得到关键词张量序列;
步骤(6)构建损失函数,获取已打标签的训练数据对所述编码器模型进行训练,得到训练完毕的模型,将待抽取关键词的待测文本输入所述训练完毕的模型,得到基于待测文本生成的评分矩阵;
基于所述待测文本生成的评分矩阵对候选关键词进行排序,输出排序靠前的若干个候选关键词,作为所述待测文本的关键词。
作为优选,所述步骤(1)具体包括以下步骤:
所述提取所述原生文本D中的短语,包括:为使用结巴分词库对原生文本D进行分词和词性标注处理,获得分词序列,根据词性,筛选得到名词短语,记录所述名词短语在原生文本D中的位置,得到候选词位置集合,所述候选词位置集合中的元素为名词短语在原生文本中的位置;
所述构建关键词候选集合,包括:以所述候选词位置集合作为输入,根据所述候选词位置集合中,名词短语在原生文本中的位置查询得到候选词,利用停用词表和词性剔除常用短语;对语义重复或文字重复的短语进行合并去重;针对去除冗余信息后的候选词位置集合,如果集合元素数量多于预设值,则从所述候选词位置集合中删除短语的字数长度不在二到四范围内的短语;如果集合元素少于预设值,则随机从原生文本D中提取文本作为所述候选词位置集合中的元素,填充所述候选词位置集合;;输出按上述方法更新后的候选词位置集合作为关键词候选集合。
作为优选,所述步骤(3)中:
每个所述自注意力层的逻辑相同,所述自注意力层的层数人为预先设定;
所述使用自注意力机制处理细粒度向量Xi,包括:第一层接受所述细粒度向量X0作为输入,第i+1层则接受Xi作为输入,按如下式所示进行处理:
Xi+1=normalize(Xi+SelfAttention(Xi))
通过自注意力层self attention,使Xi对自身完成特征强化,通过归一化操作normalize获取强化后的细粒度向量Xi+1作为第i+1层的输出。
作为优选,所述步骤(6)中,以关键词张量序列作为输入进行所述训练,所述训练的过程中,epoch设置为300,学习率为0.00001,batch size为128,使用Adam优化器渐进式的调整学习率;
所述损失函数为标准的交叉熵损失,按如下式所示的方法构建所述损失函数,
其中,n表示原生文本D′长度,y1:t为下游任务中真实标签,θ为模型参数;通过反向传播优化模型参数。
作为优选,所述步骤(6)中,基于所述待测文本生成的评分矩阵对候选关键词进行排序的具体过程包括:按如下方式压缩评分矩阵得到分数向量Scorej,所述分数向量Scorej代表对关键词重要程度的评估,每个候选关键词均有相应的分数向量Scorej;
其中,其中n表示原生文本D′长度,利用所述分数向量Scorej,对候选关键词进行排序。
本发明有益效果如下:
本发明提出的双向多粒度注意力无监督学习是一种通过下游任务来抽取主题信息进行关键词抽取的有效机制,将多项下游任务的训练结果提供了联合应征了模型在关键词提取中的效果。
结果表明,这种方法具有更好的鲁棒性和自适应能力。根据标签匹配度标准性能指标进行测试,其中评估指标包括:F1_5/F1_10/F1_15/P_15/R_5/R_10/R_15。在INSPEC数据集上进行测试,测试结果分别为:0.174/0.218/0.234/0.223/0.136/0.217/0.247。测试结果均在领域内无监督学习中属于领先水平。
附图说明
图1是本发明的整体实施方案流程图;
图2是本发明的输入序列嵌入模型CKEM示意图;
图3是本发明的逆向多粒度注意力机制RMAL示意图;
图4是本发明的整体结构示意图;
图5是本发明的逆向多粒度注意力矩阵部分截取实例图;
图6是本发明关键词抽取实施例图。
具体实施方式
本发明认为,构建模型促使句向量对关键词进行注意力计算,根据现代机器学习机制,利用自然语言下游任务中大量优质语料进行反向传播训练,强化注意力计算参数,自动捕获广域语料中的特征。最终提取模型中的注意力模块,构建新的无监督模型,充分利用预训练模块进行评分预测。
本发明结合上述思路设计无监督模型,利用注意力机制驱动模型自动对关键词进行评分。结合字词两种粒度向量,本发明提出一种双向多粒度注意力机制,正向注意力过程驱使词向量关注字向量,补足词向量筛选过程丢失的上下文信息,在词向量学习到相应特征之后,逆向注意力过程驱使字向量关注词向量,完成对词向量打分的过程。
模型分两步,第一步利用广义语料训练多粒度注意力机制模块,第二部利用注意力机制模块对关键词进行无监督抽取任务。在第一步训练任务中,分别使用正向多粒度注意力模块MAL(Multi-Granularity Attention Layer),逆向多粒度注意力模块RMAL(Reverse Multi-Granularity Attention Layer)。正向多粒度注意力负责词向量向字向量序列进行注意力计算,词向量是原句的片段节选,截取过程丢失了其在原句中的上下文信息,因此需要词向量在字向量中学习丢失的信息,即进行正向多粒度注意力运算。模型需要给词向量进行评分排序用于后续下游任务训练,正是这种机制才能在训练过程强化句向量对关键词的筛选能力,为此构建逆多粒度注意力模块,驱使字向量对词向量进行注意力计算,获取关注度评分。当完成第一步训练后,进行第二步工作,提取其逆向多粒度注意力模块,嫁接至关键词抽取模型中,用作评分依据,最终不必依赖关键词标注训练集,本模型即可获得效果堪比有监督训练的抽取效果。
首先,对本申请实施例中涉及的名词进行简要介绍:
原生文本:由自然语言形式表述的未加工文本,即任意一段文字。
结巴分词库:经典的中文分词算法库。
Token:文本进行切割后的序列中的最小单位,通常用一个数字表示。
停用词:如“的”、“一个”等常用但对语义分析帮助不大的字词。
注意力机制:机器学习中常用算法,模型自动学习加权和参数后进行加权和。
自注意力机制:一个向量对自身执行注意力机制的算法。
多头注意力机制:执行注意力机制前,对向量进行划分的操作。
编码器-解码器:一种模型结构,编码器负责将输入转换成解码器可以接受的形式,解码器根据转换结果输出指定目标。
无监督学习:不依赖人工标注数据集进行训练的模型称为无监督学习模型。
Bert:自然领域常用的预训练模型。
Concat:连接两个张量的算法。
SoftMax:将数据进行归一化的算法。
下面结合附图对本发明作进一步描述。
参照图1是本发明的整体实施方案流程图,一种基于双向多粒度注意力和无监督学习的关键词抽取方法,包括以下步骤:
步骤(1)对原生文本D进行处理,提取所述原生文本D中的短语,构建关键词候选集合。
进一步的,所述步骤(1)具体实现过程如下:
1-1获取未经处理的原生文本D,使用结巴分词库对原生文本D进行分词和词性标注处理,获得分词序列,根据词性,筛选得到名词短语,记录所述名词短语在原生文本中的位置,得到候选词位置集合,所述候选词位置集合中的元素为名词短语在原生文本中的位置;
1-2以所述候选词位置集合作为输入,根据所述候选词位置集合中,名词短语在原生文本中的位置查询得到候选词,利用停用词表和词性剔除常用短语;对语义重复或文字重复的短语进行合并去重;针对去除冗余信息后的候选词位置集合,如果集合元素数量多于预设值,则从所述候选词位置集合中删除短语的字数长度不在二到四范围内的短语;如果集合元素少于预设值,则随机从原生文本D中提取文本作为所述候选词位置集合中的元素,填充所述候选词位置集合;输出按上述方法更新后的候选词位置集合作为关键词候选集合。
1-3将关键词候选集合和原生文本D打包送往下一步。
步骤(2)将原生文本和关键词候选集合向量化:将原生文本和步骤(1)中得到的关键词集合作为输入。利用预设符号对原生文本进行规整和填充,获取原生文本Token化序列;对于Token化序列使用预训练模型Bert进行向量嵌入,获得原生文本的向量化结果X0;利用关键词集合和原生文本的对应关系,截取X0作为关键词候选集合嵌入向量化结果C0。此时X0,C0分别作为原生文本细粒度向量和粗粒度向量表示。进一步的,所述步骤(2)具体实现过程如下:
2-1获取原生文本D后,利用三种特殊标记[CLS]、[SEP]和[PAD]对原生文本进行规整操作。其中,[CLS]放在所有文本之前;[SEP]用于分开两个句子,句子末尾使用[SEP]标注;[PAD]用于整齐化句子的长度以便后续并行计算。规整操作后,得到长度格式统一化的原生文本D′。
2-2将原生文本D′送入Bert模型,获得所述Bert模型的隐藏层,取所述隐藏层中的最后四层,按下式所示,连接所述最后四层作为嵌入结果向量,
X0=concat(HiddenLayer-4:) (1)
将所述嵌入结果向量作为表征原生文本的细粒度向量X0=[x1,x2,x3,…,xN];其中,x1,x2,x3,…,xN代表:所有原生文本D′中的Token的向量表示;
2-3将所述细粒度向量X0映射至所述关键词候选集合,得到关键词候选嵌入向量表示,作为表征原生文本D′的粗粒度向量C0,生成方式如公式(2)所示,其中表示细粒度向量X0中到的所有向量按序组成的新向量,cib,cie分别表示第i个关键词候选的起始位置和结束位置;在此之后使用0填充C0使其长度统一便于后续并行计算,。
步骤(3)接受细粒度向量Xi为输入,为了加强细粒度向量语义信息,增加模型性能,添加自注意力层,细粒度向量Xi通过对自身进行关注,优化自身表征能力,获取相同维度的强化细粒度向量Xi+1作为输出,模型有多层,最终强化结果记为X′。进一步的,所述步骤(3)具体实现过程如下:
3-1添加自注意力模块,所述添加自注意力模块包括若干自注意力层,每个自注意力层的逻辑相同,设定自注意力层的层数,第一层接受所述细粒度向量X0作为输入,第i+1层则接受Xi作为输入;
以第i+1层为例,为了强化细粒度向量Xi的表征能力,通过自注意力层selfattention,Xi对自身完成特征强化,通过归一化操作normalize获取强化后的细粒度向量Xi+1作为第i+1层的输出。
Xi+1=normalize(Xi+SelfAttention(Xi)) (3)
3-2原生文本的细粒度向量X0在经过设定的所述自注意力层的层数强化后,以X′表示经最终强化完毕的原生文本的细粒度向量。
步骤(4)粗粒度向量Ci和细粒度向量Xi作为此阶段输入,粗粒度向量Ci需要根据细粒度向量Xi修正自身缺失的上下文信息。添加多头注意力模块,此模块由多层多头注意力组成,所述每层多头注意力层和步骤(3)每层自注意力层并行进行,步骤(3)需要不断提供新的细粒度向量作为输入。两项输入粗粒度向量Ci和细粒度向量Xi进行注意力操作,通过多头注意力机制,粗粒度向量Ci向细粒度向量Xi进行注意力运算,从中获取缺失的信息,完成对自身语义的补足,得到强化粗粒度向量Ci+1作为输出,经过多层输出,最终强化结果记为C′。进一步的,所述步骤(4)具体实现过程如下:
4-1添加多头注意力模块,所述多头注意力模块包括若干多头注意力层,第一层分别接受原生文本的细粒度向量X0和粗粒度向量C0作为输入;粗粒度向量在生成过程中丢失了上下文语义,所以需要通过关注细粒度向量补足信息。为此设置多头注意力层(MultiHead Layer),如公式(4)、公式(5)、公式(6)所示,生成问询矩阵Qc、键矩阵K和值矩阵V。
Qc=MultiHeadQ(C0) (4)
K=MultiHeadK(X0) (5)
V=MultiHeadV(X0) (6)
4-2为了完成粗粒度向量对细粒度向量的关注学习,接受Qc,K,V三矩阵作为输入,进行注意力计算(Attention Calculate),使用问询矩阵Qc和键矩阵K相乘,得到粗粒度向量对细粒度向量进行关注后的注意力矩阵。将注意力矩阵中权值进行缩放和遮蔽操作后执行SoftMax函数,最后对值矩阵V进行加权求和计算获取新的粗粒度特征向量Attention(Qc,K,V)。公式(7)表述计算过程,其中dk是多头注意力层的嵌入维度。
4-3接受新的粗粒度特征向量,将其更新到真正的粗粒度向量C0表示中,将粗粒度特征向量结果平铺开,进行全连接层优化,得到更新向量,利用更新向量对粗粒度向量C0进行残差更新,得到强化的粗粒度向量表示C1。公式(8)形容利用归一化进行残差更新的流程。
C1=normalize(C0+Attention(Qc,K,V)) (8)
4-4多头注意力模块有多层,层数与步骤(3)相同,且两个模块每层一一对应,并行执行;第i+1层接受原生文本的细粒度向量Xi和粗粒度向量Ci作为输入,以强化后的粗粒度向量Ci+1为输出;经过多层迭代,将最终强化结果记为原生文本粗粒度向量C′。
步骤(5)获取多层强化后的细粒度向量X′和粗粒度向量C′。模型需要对粗粒向量C′做最后的评分,以验证训练结果。同样对两项输入进行注意力操作,通过多头注意力机制,但是与步骤(4)相反,由细粒度向量Xi向粗粒度向量Xi进行注意力运算,获取注意力矩阵作为一项输出,同时注意力矩阵对粗粒度向量X′执行加权过滤,取得关键词张量序列为另一输出。进一步的,所述步骤(5)具体实现过程如下:
5-1设置一个多头注意力模块,以原生文本的细粒度向量X′和原生文本的粗粒度向量C′作为输入。由X′生成问询矩阵QX,由C′生成键矩阵KC和值矩阵VC,模块的结构图参照图3。
5-2以QX,KC,VC三矩阵作为输入,进行注意力计算(Attention Calculate)以完成对粗粒度向量的打分,使用问询矩阵QX和键矩阵Kc相乘,得到注意力矩阵作为评分矩阵Ms,矩阵中每一个元素mij表示第i个细粒度表示xi对第j个粗粒度表示cj的注意力。评分矩阵Ms部分截取如参照图5。
5-3为了让评分矩阵Ms作用于模型训练,因此使用评分矩阵Ms和值矩阵VC作为输入,将评分矩阵Ms中权值进行缩放和遮蔽操作后执行SoftMax函数,最后对值矩阵VC进行加权求和计算获取关键词张量序列用于后续步骤。
至此完成所有编码器任务。
步骤(6)两种产物,两种用途。在获取上一步骤的两种产物:评分矩阵Ms、关键词张量序列之后。评分矩阵Ms作为重要性权重用于筛选关键词;关键词张量序列用于后续下游任务的解码。不同的下游任务训练集共用一个编码器进行训练,反向传播共同提升编码器表征能力,最终编码器投入关键词筛选工作,输出包含更为可靠的关键词排序信息的注意力矩阵。
进一步的,所述步骤(6)具体实现过程如下:
6-1为了模型吸收广义语料中蕴含的信息,以关键词张量序列作为输入,训练模型在多项下游任务中进行训练,此处以主题多分类为例,epoch设置为300,学习率为0.00001,batch size为128,使用Adam优化器渐进式的调整学习率。利用标准的交叉熵损失函数L(θ)来训练模型,反向传播即可优化模型参数,最终输出可靠的下游任务结果,此处为主题分类结果。交叉熵损失函数如公式(9)所示。
其中,y1:t为下游任务中真实标签,θ为模型参数。
6-2训练完毕模型,迁移其编码器模块,利用评分矩阵Ms作为输入,压缩评分矩阵得到分数向量Scorej,如公式(10)所示,其中n表示原生文本D′长度,分数向量指示模型对关键词重要程度的评估,一一对应关键词候选。利用分数向量,对候选关键词进行排序,取评分靠前的关键词候选作为抽取结果。
实施例1:
如图6所示,针对一条特殊句子作为原生文本D:“展览是从佛教造像开始的。佛教对我们来说相对熟悉,但一开始我们并没有看到佛像,而是一个巨大的佛足印。中国艺术研究院美术研究所研究员王镛介绍说:在佛教造像当中,首先佛教诸神和原始佛教就是抵触的。”详细叙述模型如何进行关键词抽取,且下游任务选择主题分类数据集。
步骤(1)接受原生文本D作为输入,获取关键词候选集合{'原始','研究所',…,'美术','造像','介绍','中国艺术'}。从集合中剔除类似“开始”、“的”等停用词语。
步骤(2)调用模型对原生文本和关键词候选集合进行向量化。原生文本D为中文句子,添加如步骤2-1所述的三种特殊标记后,每个标记和原句中的每个字都被嵌入化为一项数字化表示,用X0表示作为原生文本D的细粒度向量表示。而关键词候选集合中所有词语均出自原生文本D,通过这种对应关系裁剪细粒度向量X0,获取原生文本D的粗粒度表示C0。
步骤(3)细粒度向量Xi通过对自身进行自注意力运算,强化自身语义。输出优化后的细粒度向量Xi+1。
步骤(4)虽然类似“美术”、“造像”,“介绍”等关键词候选集合中元素完成了向量化,但是这些孤立的词语缺失了它们在句子中的具体上下文信息和结构信息,因此构建注意力模块促使这些粗粒度表示Ci向细粒度向量Xi进行关注学习,强化自身语义,获取优化后的粗粒度表示Ci+1。
步骤(5)模型需要对优化完毕的粗粒度表示C′做最后的评分,这些粗粒度表示一一对应关键词候选集合,评分即使对关键词候选的评分。取粗粒度表示C′和细粒度表示X′做注意力计算。获取注意力矩阵作为评分矩阵Ms,如图4所示,即是此例中评分矩阵。此矩阵明显标注了关键词候选的重要性。同时,模型根据评分矩阵Ms生成关键词张量序列。
步骤(6)两种产物:评分矩阵Ms和关键词张量序列。关键词张量序列被送入解码器中,此例的下游任务为主题分类,因此解码器输出句子对应主题,即:“艺术”。同时利用评分矩阵Ms,模型利用排序方法,无监督抽取出相应的关键词:{“美术”、“中国艺术”、“佛像”、“研究员”、“佛教”、“研究所”、“造像”}。
实施例2:
模型替换下游任务,同样进行相应训练,选用Multi30k数据集作为模型训练,此数据集是一个英文德文互译的翻译任务数据集,模型的编码器无需改动,微调解码器,即可完美运行相关数据集,根据Multi30k数据集训练得到的模型在INSPEC数据集上进行测试,INSPEC数据集为关键词抽取基础数据集。其中评估指标包括:F1,P,R。其中F1表示F1指数,P表示准确率,R表示召回率。
Claims (5)
1.一种基于双向多粒度注意力机制的无监督关键词抽取方法,其特征在于,包括以下步骤:
步骤(1)获取原生文本D,提取所述原生文本D中的短语,构建关键词候选集合;
步骤(2)将原生文本D和关键词候选集合向量化:
2-1获取原生文本D后,利用三种特殊标记[CLS]、[SEP]和[PAD]对原生文本进行规整操作;其中,[CLS]放在所有文本之前;[SEP]用于分开两个句子,句子末尾使用[SEP]标注;[PAD]用于整齐化句子的长度以便后续并行计算;规整操作后,得到长度格式统一化的原生文本D′;
2-2将原生文本D′送入Bert模型,获得所述Bert模型的隐藏层,取所述隐藏层中的最后四层,;按下式所示,连接所述最后四层作为嵌入结果向量,
X0=concat(HiddenLayer-4:)
将所述嵌入结果向量作为表征原生文本的细粒度向量X0=[x1,x2,x3,…,xN];其中,x1,x2,x3,…,xN;代表所有原生文本D′中的Token的向量表示;
2-3将所述细粒度向量X0映射至所述关键词候选集合,得到关键词候选嵌入向量表示,作为表征原生文本D′的粗粒度向量C0,生成方式下式所示,
步骤(3)引入由若干层自注意力层组成的自注意力模块,使用自注意力机制处理细粒度向量Xi以提高细粒度向量的自身表征能力,得到与细粒度向量Xi相同维度的强化细粒度向量X′;
步骤(4)强化粗粒度向量:
4-1添加多头注意力模块,所述多头注意力模块包括若干多头注意力层,第一层多头注意力层接受细粒度向量X0和粗粒度向量C0作为输入;通过细粒度向量补充粗粒度向量在生成过程中丢失的上下文语义信息;多头注意力层按下式所示的方式生成问询矩阵Qc、键矩阵K和值矩阵V;
Qc=MultiHeadQ(C0)
K=MultiHeadK(X0)
V=MultiHeadV(X0)
4-2以Qc,K,V三矩阵作为输入,进行注意力计算Attention,使用问询矩阵Qc和键矩阵K相乘,得到粗粒度向量对细粒度向量进行关注后的注意力矩阵;将所述注意力矩阵中权值进行缩放和遮蔽操作后执行SoftMax函数,最后对值矩阵V进行加权求和计算获取新的粗粒度特征向量Attention(Qc,K,V),具体过程如下式所示,
其中,dk是多头注意力层的嵌入维度;
4-3将所述新的粗粒度特征向量更新到粗粒度向量C0中,将得到的结果平铺开,进行全连接层优化,得到更新向量;
按如下式所示的方法,利用所述更新向量对粗粒度向量C0进行残差更新normalize,得到强化的粗粒度向量C1
C1==normalize(C0+Attention(Qc,K,V))
4-4所述多头注意力模块中,多头注意力层的层数与步骤(3)中所述自注意力层的层数相同;第i+1层所述多头注意力层接受原生文本的细粒度向量Xi和粗粒度向量Ci作为输入,以强化后的粗粒度向量Ci+1为输出;经过多层迭代,得到粗粒度向量C′,所述多层迭代的层数为多头注意力模块中多头注意力层的层数;
步骤(5)获得评分矩阵Ms和关键词张量序列,得到编码器模型:
5-1添加多头注意力模块,以细粒度向量X′和粗粒度向量C′作为输入,通过多头注意力机制,由X′生成问询矩阵QX,由C′生成键矩阵KC和值矩阵VC;
5-2以所述问询矩阵QX、键矩阵KC和值矩阵VC作为输入,进行注意力计算Attention以完成对粗粒度向量的打分,使用所述问询矩阵QX和键矩阵KC相乘,得到注意力矩阵作为评分矩阵Ms,矩阵中每一个元素mij表示第i个细粒度表示xi对第j个粗粒度表示cj的注意力;
5-3为了让评分矩阵Ms作用于模型训练,使用评分矩阵Ms和值矩阵VC作为输入,将评分矩阵Ms中权值进行缩放和遮蔽操作后执行SoftMax函数,最后对值矩阵VC进行加权求和计算,得到关键词张量序列;
步骤(6)构建损失函数,获取已打标签的训练数据对所述编码器模型进行训练,得到训练完毕的模型,将待抽取关键词的待测文本输入所述训练完毕的模型,得到基于待测文本生成的评分矩阵;
基于所述待测文本生成的评分矩阵对候选关键词进行排序,输出排序靠前的若干个候选关键词,作为所述待测文本的关键词。
2.如权利要求1所述的一种基于双向多粒度注意力机制的无监督关键词抽取方法,其特征在于,所述步骤(1)具体包括以下步骤:
所述提取所述原生文本D中的短语,包括:为使用结巴分词库对原生文本D进行分词和词性标注处理,获得分词序列,根据词性,筛选得到名词短语,记录所述名词短语在原生文本D中的位置,得到候选词位置集合,所述候选词位置集合中的元素为名词短语在原生文本中的位置;
所述构建关键词候选集合,包括:以所述候选词位置集合作为输入,根据所述候选词位置集合中,名词短语在原生文本中的位置查询得到候选词,利用停用词表和词性剔除常用短语;对语义重复或文字重复的短语进行合并去重;针对去除冗余信息后的候选词位置集合,如果集合元素数量多于预设值,则从所述候选词位置集合中删除短语的字数长度不在二到四范围内的短语;如果集合元素少于预设值,则随机从原生文本D中提取文本作为所述候选词位置集合中的元素,填充所述候选词位置集合;;输出按上述方法更新后的候选词位置集合作为关键词候选集合。
3.如权利要求1所述的一种基于双向多粒度注意力机制的无监督关键词抽取方法,其特征在于,所述步骤(3)中:
每个所述自注意力层的逻辑相同,所述自注意力层的层数人为预先设定;
所述使用自注意力机制处理细粒度向量Xi,包括:第一层接受所述细粒度向量X0作为输入,第i+1层则接受Xi作为输入,按如下式所示进行处理:
Xi+1=normalize(Xi+SelfAttention(Xi))
通过自注意力层self attention,使Xi对自身完成特征强化,通过归一化操作normalize获取强化后的细粒度向量Xi+1作为第i+1层的输出。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211593847.6A CN115809665B (zh) | 2022-12-13 | 2022-12-13 | 一种基于双向多粒度注意力机制的无监督关键词抽取方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211593847.6A CN115809665B (zh) | 2022-12-13 | 2022-12-13 | 一种基于双向多粒度注意力机制的无监督关键词抽取方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115809665A true CN115809665A (zh) | 2023-03-17 |
CN115809665B CN115809665B (zh) | 2023-07-11 |
Family
ID=85485654
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211593847.6A Active CN115809665B (zh) | 2022-12-13 | 2022-12-13 | 一种基于双向多粒度注意力机制的无监督关键词抽取方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115809665B (zh) |
Citations (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108376131A (zh) * | 2018-03-14 | 2018-08-07 | 中山大学 | 基于seq2seq深度神经网络模型的关键词抽取方法 |
CN109543017A (zh) * | 2018-11-21 | 2019-03-29 | 广州语义科技有限公司 | 法律问题关键词生成方法及其系统 |
CN109918510A (zh) * | 2019-03-26 | 2019-06-21 | 中国科学技术大学 | 跨领域关键词提取方法 |
CN110619034A (zh) * | 2019-06-27 | 2019-12-27 | 中山大学 | 基于Transformer模型的文本关键词生成方法 |
CN111160017A (zh) * | 2019-12-12 | 2020-05-15 | 北京文思海辉金信软件有限公司 | 关键词抽取方法、话术评分方法以及话术推荐方法 |
US20210005183A1 (en) * | 2019-07-03 | 2021-01-07 | Qualcomm Incorporated | Orthogonally constrained multi-head attention for speech tasks |
CN112667800A (zh) * | 2020-12-21 | 2021-04-16 | 深圳壹账通智能科技有限公司 | 关键词生成方法、装置、电子设备及计算机存储介质 |
CN112668321A (zh) * | 2020-12-29 | 2021-04-16 | 竹间智能科技(上海)有限公司 | 关键词提取方法及装置、电子设备、存储介质 |
CN112784047A (zh) * | 2021-01-25 | 2021-05-11 | 重庆邮电大学 | 一种基于自注意力机制的可控可解释司法文本分类方法 |
CN112883171A (zh) * | 2021-02-02 | 2021-06-01 | 中国科学院计算技术研究所 | 基于bert模型的文档关键词抽取方法及装置 |
WO2021203581A1 (zh) * | 2020-04-10 | 2021-10-14 | 深圳壹账通智能科技有限公司 | 基于精标注文本的关键信息抽取方法、装置及存储介质 |
CN114491104A (zh) * | 2020-11-13 | 2022-05-13 | 北京达佳互联信息技术有限公司 | 一种识别关键词的方法及装置 |
CN114692610A (zh) * | 2020-12-31 | 2022-07-01 | 北京金山数字娱乐科技有限公司 | 关键词确定方法及装置 |
CN114781367A (zh) * | 2022-04-18 | 2022-07-22 | 东南大学 | 一种基于词干信息融合的关键词生成方法 |
US20220253604A1 (en) * | 2021-02-09 | 2022-08-11 | Ancestry.Com Operations Inc. | Context-based keyphrase extraction from input text |
CN115017260A (zh) * | 2022-05-12 | 2022-09-06 | 南京优慧信安科技有限公司 | 一种基于子主题建模的关键词生成方法 |
CN115114427A (zh) * | 2022-03-21 | 2022-09-27 | 国家计算机网络与信息安全管理中心 | 基于预训练和多任务学习的文本摘要和关键词抽取方法 |
-
2022
- 2022-12-13 CN CN202211593847.6A patent/CN115809665B/zh active Active
Patent Citations (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108376131A (zh) * | 2018-03-14 | 2018-08-07 | 中山大学 | 基于seq2seq深度神经网络模型的关键词抽取方法 |
CN109543017A (zh) * | 2018-11-21 | 2019-03-29 | 广州语义科技有限公司 | 法律问题关键词生成方法及其系统 |
CN109918510A (zh) * | 2019-03-26 | 2019-06-21 | 中国科学技术大学 | 跨领域关键词提取方法 |
CN110619034A (zh) * | 2019-06-27 | 2019-12-27 | 中山大学 | 基于Transformer模型的文本关键词生成方法 |
US20210005183A1 (en) * | 2019-07-03 | 2021-01-07 | Qualcomm Incorporated | Orthogonally constrained multi-head attention for speech tasks |
CN111160017A (zh) * | 2019-12-12 | 2020-05-15 | 北京文思海辉金信软件有限公司 | 关键词抽取方法、话术评分方法以及话术推荐方法 |
WO2021203581A1 (zh) * | 2020-04-10 | 2021-10-14 | 深圳壹账通智能科技有限公司 | 基于精标注文本的关键信息抽取方法、装置及存储介质 |
CN114491104A (zh) * | 2020-11-13 | 2022-05-13 | 北京达佳互联信息技术有限公司 | 一种识别关键词的方法及装置 |
WO2022134759A1 (zh) * | 2020-12-21 | 2022-06-30 | 深圳壹账通智能科技有限公司 | 关键词生成方法、装置、电子设备及计算机存储介质 |
CN112667800A (zh) * | 2020-12-21 | 2021-04-16 | 深圳壹账通智能科技有限公司 | 关键词生成方法、装置、电子设备及计算机存储介质 |
CN112668321A (zh) * | 2020-12-29 | 2021-04-16 | 竹间智能科技(上海)有限公司 | 关键词提取方法及装置、电子设备、存储介质 |
CN114692610A (zh) * | 2020-12-31 | 2022-07-01 | 北京金山数字娱乐科技有限公司 | 关键词确定方法及装置 |
CN112784047A (zh) * | 2021-01-25 | 2021-05-11 | 重庆邮电大学 | 一种基于自注意力机制的可控可解释司法文本分类方法 |
CN112883171A (zh) * | 2021-02-02 | 2021-06-01 | 中国科学院计算技术研究所 | 基于bert模型的文档关键词抽取方法及装置 |
US20220253604A1 (en) * | 2021-02-09 | 2022-08-11 | Ancestry.Com Operations Inc. | Context-based keyphrase extraction from input text |
CN115114427A (zh) * | 2022-03-21 | 2022-09-27 | 国家计算机网络与信息安全管理中心 | 基于预训练和多任务学习的文本摘要和关键词抽取方法 |
CN114781367A (zh) * | 2022-04-18 | 2022-07-22 | 东南大学 | 一种基于词干信息融合的关键词生成方法 |
CN115017260A (zh) * | 2022-05-12 | 2022-09-06 | 南京优慧信安科技有限公司 | 一种基于子主题建模的关键词生成方法 |
Non-Patent Citations (8)
Title |
---|
HAORAN DING ET AL: "Attention-based Unsupervised Keyphrase Extraction and Phrase Graph for COVID-19 Medical Literature Retrieval", 《ACM TRANSACTIONS ON COMPUTING FOR HEALTHCARE》, vol. 3, no. 1, pages 1, XP058668574, DOI: 10.1145/3473939 * |
HAORAN DING ET AL: "AttentionRank: Unsupervised Keyphrase Extraction using Self and Cross Attentions", 《PROCEEDINGS OF THE 2021 CONFERENCE ON EMPIRICAL METHODS IN NATURAL LANGUAGE PROCESSING》, pages 1919 * |
YU ZHANG ET AL: "Keywords extraction with deep neural network model", 《NEUROCOMPUTING》, vol. 383, pages 113 - 121, XP086041707, DOI: 10.1016/j.neucom.2019.11.083 * |
于强 等: "基于深度学习的关键词生成研究综述", 《计算机工程与应用》, vol. 58, no. 14, pages 27 - 39 * |
彭伟乐 等: "基于注意力机制面向短文本多分类的关键词权重优化", 《计算机应用》, vol. 41, no. 2, pages 19 - 24 * |
王霞: "基于深度学习的文本关键词生成研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》, no. 1, pages 138 - 2589 * |
祖弦 等: "一种基于全局和局部特征表示的关键词抽取算法", 《云南大学学报(自然科学版)》, pages 1 - 13 * |
陈朝先: "融合深度学习的基于图的文本关键词提取算法研究", 《中国优秀硕士学位论文全文数据库信息科技辑》, no. 1, pages 138 - 3618 * |
Also Published As
Publication number | Publication date |
---|---|
CN115809665B (zh) | 2023-07-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110188781B (zh) | 一种基于深度学习的古诗文自动识别方法 | |
CN109189925A (zh) | 基于点互信息的词向量模型和基于cnn的文本分类方法 | |
CN111414481A (zh) | 基于拼音和bert嵌入的中文语义匹配方法 | |
CN111506728B (zh) | 基于hd-mscnn的层次结构文本自动分类方法 | |
CN114153971B (zh) | 一种含错中文文本纠错识别分类设备 | |
CN115204143B (zh) | 一种基于prompt的文本相似度计算方法及系统 | |
CN114780582A (zh) | 基于表格问答的自然答案生成系统及其方法 | |
Chen et al. | Sheffield at e2e: structured prediction approaches to end-to-end language generation | |
CN111444720A (zh) | 一种英文文本的命名实体识别方法 | |
CN113806543B (zh) | 一种基于残差跳跃连接的门控循环单元的文本分类方法 | |
CN112948588B (zh) | 一种用于情报快速整编的中文文本分类方法 | |
CN114548117A (zh) | 一种基于bert语义增强的因果关系抽取方法 | |
Singh et al. | Deep Learning based Abstractive Summarization for English Language. | |
CN113779966A (zh) | 一种基于注意力的双向cnn-rnn深度模型的蒙文情感分析方法 | |
CN113988054A (zh) | 一种面向煤矿安全领域的实体识别方法 | |
CN113051892A (zh) | 基于transformer模型的汉语词义消歧方法 | |
CN116011441A (zh) | 基于预训练模型和自动感受野的关键词抽取方法与系统 | |
CN115809665A (zh) | 一种基于双向多粒度注意力机制的无监督关键词抽取方法 | |
CN113157914B (zh) | 一种基于多层循环神经网络的文档摘要提取方法及系统 | |
CN113157855B (zh) | 一种融合语义与上下文信息的文本摘要方法及系统 | |
CN114996455A (zh) | 一种基于双知识图谱的新闻标题短文本分类方法 | |
CN112464673B (zh) | 融合义原信息的语言含义理解方法 | |
CN114510569A (zh) | 基于ChineseBERT模型和注意力机制的化工突发事件新闻分类方法 | |
Jin et al. | Research on multi-granularity ensemble learning based on Korean | |
Subhash et al. | Indo-Aryan Dialect Identification Using Deep Learning Ensemble Model |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |