一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于显著性信息门控机制的关键词生成方法与流程

2021-10-20 00:18:00 来源:中国专利 TAG:门控 关键词 成方 生成 机制


1.本发明属于关键词生成技术领域,涉及一种基于显著性信息门控机制的关键词生 成方法。


背景技术:

2.在社会上,随着科技的不断发展,信息呈现井喷式的增长,人们在日常生活和工 作中都面临着信息过载的问题,例如社交软件的推送轰炸、关注者的大量讯息等。因 此,如何从海量信息中快速又准确的获取有价值的内容成为人们的迫切需求。
3.针对给定文档实现关键词的生成,即提取出文档中具有代表性的、能传达文本主 题的词或短语,能够很大程度减轻人们阅读的时间和精力。meng等人提出了一种基于 编码器

解码器的序列到序列(sequence

to

sequence,seq2seq)关键词生成模型(r.meng, s.zhao,s.han,et al.deep keyphrase generation[c],proceedings of the 55th annualmeeting of the association for computational linguistics,vancouver:acl,2017(1):582
–ꢀ
592.),该模型更好地编码了文档语义,能够生成不存在于源文中的关键词,其编码器 和解码器的实现均为循环神经网络(recurrent neural network,rnn)。wang等人在meng 的基础上提出了主题感知的社交媒体语言关键词生成方法(y.wang,j.li,h.p.chan,etal.topic

aware neural keyphrase generation for social media language[j],arxiv preprintarxiv:1906.03889,2019.),该方法的关键词生成模型为seq2seq,它将主题表示融入编 码器隐状态中,再输入解码器,实现了神经主题模型和关键词生成模型的联合建模。
[0004]
但是,基于rnn或其变体的传统关键词生成方法存在缺陷。rnn模型存在着长 距离依赖问题,它针对间隔太远的输入信息难以记忆,因此可能产生梯度消失和梯度 爆炸。此外,这些模型的输入普遍需要经过分词的文本输入,因此它在一定程度上会 受到前期数据预处理的影响,特别是针对中文数据,影响程度将加大。


技术实现要素:

[0005]
发明目的:本发明所要解决的技术问题是针对现有技术的不足,提供一种基于显 著性信息门控机制的关键词生成方法,以预训练模型bert(双向transformer编码器, bidirectional encoder representations from transformers)为编码器,以基于显著性信息 的门控机制的saliency

transformer为解码器构建网络模型。有效解决了传统模型受数 据预处理质量影响的问题,并且也有效解决了传统基于rnn方法存在的长距离依赖问 题。
[0006]
为了解决上述技术问题,一种基于显著性信息门控机制的关键词生成方法,包括 以下步骤:
[0007]
步骤s1:获取源文档目标文档数据集,对源文档目标文档数据集中的源文档进行 预处理,构建训练数据集、验证数据集和测试数据集。
[0008]
进一步地,步骤s1中,使用的数据来自于新浪微博的创建话题标签下用户所发送 的帖子;其中,源文档即微博正文,目标文档是用户自己所携带的话题。
[0009]
进一步地,步骤s1中,预处理包括去除源文档中的非正文冗余内容,对源文档进 行数据清洗;其中非正文冗余内容包括页面标签和非法字符;对源文档进行数据清洗 包括:去重、去除非法字符、英文单词小写化以及去除任意一方存在缺失的源文档目 标文档。
[0010]
进一步地,步骤s1中,按照8:1:1的比例将预处理后的源文档目标文档数据集 划分为训练数据集、验证数据集和测试数据集。
[0011]
步骤s2:利用bert tokenizer分词器对训练数据集中的源文档以及目标文档进行 分词并编码为向量,主要包括:
[0012]
步骤s21:以字为单位,将训练数据集中的源文档以及目标文档的每个字,通过预 训练模型bert自带的字典将每个字转换成字典索引,形成字典索引序列;
[0013]
步骤s22:使用[cls]符号用作字典索引序列头部,用[sep]分隔符用作字典索引序 列尾部,得到输入字典索引序列input_ids;设置分隔嵌入向量为0,得到分隔字典索引 序列segment_ids;
[0014]
步骤s23:设置最大序列长度,超过即截断,小于最大长度将用0填充;最终得到 源文档的特征向量:源文档输入字典索引向量src_input_ids和源文档分隔字典索引向 量src_segment_ids;目标文档的特征向量:目标文档输入字典索引向量tgt_input_ids 和目标文档分隔字典索引向量tgt_segment_ids;
[0015]
步骤s24:将源文档输入字典索引向量src_input_ids和目标文档输入字典索引向量 tgt_input_ids转换为对应的词嵌入、序列嵌入和词位置嵌入,最后分别对三者求和,得 到最终的源文档输入向量和目标文档输入向量。
[0016]
进一步地,步骤s23中,设置源文档的最大序列长度为100;设置目标文档最大序 列长度为10。
[0017]
步骤s3:使用预训练模型bert作为编码器,在transformer解码器端增加显著性 门控机制,构建saliency

transformer解码器模块,共同构建网络,主要包括:
[0018]
步骤s31:搭建由12层transformer编码器单元堆叠组成的bert编码器,每层 transformer编码器单元包括两个模块:多头自注意力模块和前馈神经网络模块;每个 模块上都加入了残差连接和层归一化操作;使用bert

base

chinese预训练模型作为 bert编码器的初始参数;
[0019]
步骤s32:搭建6层transformer解码器单元组成模块,每层transformer解码器 单元包括三个模块:掩蔽多头自注意力模块、多头自注意力模块和前馈神经网络模块; 每个模块上个都加入了残差连接和层归一化操作;在每层transformer解码器多头自注 意力模块上,利用sigmoid函数设置显著性门控,构建saliency

transformer解码器模 块。
[0020]
进一步地,步骤s31具体为:
[0021]
(1)设置n组注意力头,将输入向量分别与n组初始化权重矩阵w
q
、w
k
以及w
v
相 乘,得到n组对应的请求q、键k和值v;
[0022]
(2)以点乘注意力为基础,对每组的请求q、键k和值v计算得到输入向量的一个 自注意力矩阵:
[0023][0024]
将n个自注意力矩阵拼接起来和权重矩阵w
o
相乘,得到最终矩阵;
[0025]
(3)对最终矩阵进行残差连接和层归一化操作后,通过前馈神经网做变换:
[0026]
ffn(x)=max(0,xw1 b1)w2 b2;
[0027]
变换后再进行一次残差连接和层归一化操作;
[0028]
(4)重复上述过程12次,得到词标记的768维隐层表示。
[0029]
进一步地,步骤s32具体为:
[0030]
(1)利用transformer解码器的掩蔽多重注意力机制和bert解码器输出的语义表示 进行多头自注意力机制建模:
[0031][0032]
(2)使用sigmoid函数对bert编码器的输出转换得到的请求q和键k运算得到显 著性分数值g,显著性分数值g在0到1之间:
[0033]
g=sigmoid[(wq)(wl
t
)];
[0034]
(3)将显著性分数值g与(1)中多头自注意力机制建模得到的注意力进行同位元素 对应相乘,减少输入向量中低语义词的权重,最终得到融合显著性信息的输入向量;
[0035]
(4)通过前馈神经网络模块和层归一化操作后得到对应字典索引的概率分布。
[0036]
步骤s4:使用步骤s2中分词编码后的训练数据集训练网络,训练过程中参考验证 数据集的准确度和损失下降程度调整网络模型超参数。
[0037]
进一步地,步骤s4中,损失函数选用交叉熵损失函数。
[0038]
步骤s5:对测试数据集中的源文档进行分词编码,根据步骤s4中训练好的网络, 使用束搜索算法采样得到关键词短语。
[0039]
步骤s6:对步骤s5中采样得到的关键词短语进行处理,最终得到关键词。
[0040]
进一步地,步骤s6中,处理包括:去除空格、去重以及去除非法字符。
[0041]
有益效果:
[0042]
1.基于预训练bert编码器能够编码蕴含上下文信息的文本表示,而且由于编码器 bert模型以字符级别为输入,模型将不再受分词准确性的影响,有效解决了传统模型 受数据预处理质量影响的问题。
[0043]
2.saliency

transformer解码器使用注意力机制来捕获依赖,有效解决了传统基于rnn 方法存在的长距离依赖问题,同时与传统transformer结构相比,本发明利用基于显著 性信息的门控机制过滤低语义词,提高了解码能力。
附图说明
[0044]
图1是transformer结构;
[0045]
图2是模型整体结构。
具体实施方式
[0046]
下面结合附图和具体实施方式对本发明做更进一步的具体说明,本发明的上述发 明目的和技术方案的优点将会变得更加清楚。
[0047]
实施例
[0048]
本实施例使用python语言在pytorch框架下构建网络模型,在gpu环境下进行模 型训练与测试。实验环境情况如下:cpu:48颗gold 5218 cpu@2.30ghz; 内存:256gb;gpu:六块p40;显存:24gb;操作系统:centos 3.10.0; python:3.7;torch:1.6.0。
[0049]
一种基于显著性信息门控机制的关键词生成方法,包括以下步骤:
[0050]
步骤s1:爬取新浪微博2014年1月至8月期间创建的话题标签下用户所发送的帖 子,获取源文档目标文档数据集,源文档即微博正文,目标文档,即对应的标准关键 词是用户自己所携带的话题,通常话题标签为1

2个;去除源文档中的非正文冗余内 容,包括页面标签和非法字符;对源文档进行数据清洗,包括:去重、去除非法字符、 英文单词小写化以及去除任意一方存在缺失的源文档目标文档;最终获得共计46296 条数据,其中,源文档平均长度为33.07,目标文档即关键词平均长度为1.06;按照8: 1:1的比例将所有数据划分为训练数据集、验证数据集和测试数据集。
[0051]
步骤s2:以字为单位,将训练数据集中的源文档以及目标文档的每个字,通过预 训练模型bert自带的字典将每个字转换成字典索引,形成字典索引序列;使用[cls] 符号用作字典索引序列头部,用[sep]分隔符用作字典索引序列尾部,得到输入字典索 引序列input_ids;将源文档当做一个句子,设置分隔嵌入向量为0,得到分隔字典索引 序列segment_ids;设置源文档的最大序列长度为100,超过即截断,小于最大长度将 用0填充,最终得到源文档的特征向量:源文档输入字典索引向量src_input_ids和源 文档分隔字典索引向量src_segment_ids;设置目标文档的最大序列长度为10,超过即 截断,小于最大长度将用0填充,最终目标文档的特征向量:目标文档输入字典索引 向量tgt_input_ids和目标文档分隔字典索引向量tgt_segment_ids;将源文档输入字典索 引向量src_input_ids和目标文档输入字典索引向量tgt_input_ids转换为对应的词嵌入、 序列嵌入和词位置嵌入,最后分别对三者求和,得到最终的源文档输入向量和目标文 档输入向量。
[0052]
步骤s3:如图1所示,搭建由12层transformer编码器单元堆叠组成的bert编 码器,使用bert

base

chinese预训练模型作为bert编码器的初始参数;设置8组注 意力头,将输入向量分别与8组初始化权重矩阵w
q
、w
k
以及w
v
相乘,得到8组对 应的请求q、键k和值v;以点乘注意力为基础,对每组的请求q、键k和值v计算 得到输入向量的一个自注意力矩阵;将8个自注意力矩阵拼接起来和权重矩阵w
o
相乘, 得到最终矩阵;对最终矩阵进行残差连接和层归一化操作后,通过前馈神经网做变换; 变换后再进行一次残差连接和层归一化操作;重复上述过程12次,得到词标记的768 维隐层表示;搭建6层transformer解码器单元组成模块;在每层transformer解码器 多头自注意力模块上,利用sigmoid函数设置显著性门控,构建saliency

transformer 解码器模块;利用transformer解码器的掩蔽多重注意力机制和bert解码器输出的语 义表示进行多头自注意力机制建模;使用sigmoid函数对bert编码器的输出转换得 到的请求q和键k运算得到显著性分数值g,将显著性分数值g与上述多头自注意力 机制建模得到的注意力进行同位元素对应相乘,减少输入向量中低语义词
的权重,最 终得到融合显著性信息的输入向量;通过前馈神经网络模块和层归一化操作后得到对 应字典索引的概率分布,整体模型如图2所示。
[0053]
步骤s4:使用步骤s2中分字编码后的训练数据集训练网络,训练过程中,每 200steps进行一次验证,参考验证数据集的准确度和交叉熵损失函数下降程度优化网络 模型的超参数;选用adam优化器,epoch为100,学习率为0.001。
[0054]
步骤s5:如表1所示,本实施例采用的测试数据源文档为:“来看看我拍的mv冰 桶挑战我接受易小星的挑战同时还会向瓷娃娃罕见病关爱中心als项目捐款接下来点 名张三李四王五谢谢点此播放美拍录制”,这是一则讨论冰桶挑战相关的微博,经过对 源文档的预处理,并通过bert tokenizer分词器对源文档进行分词编码,转化为特征 向量后,加载到步骤s4中已经训练好的模型中进行预测,得到对应到词典的概率分布; 经过束搜索算法采样,束宽设为5,第一个时间步长,选取当前条件概率最大的5个词, 当做候选输出序列的第一个词;之后的每个时间步长,基于上个步长的输出序列,挑 选出所有组合中条件概率最大的5个,作为该时间步长下的候选输出序列;始终保持5 个候选,直到生成<eos>句末结束符为止;最后从5个候选中挑出最优的,得到最终预 测结果,即存在空格的“冰桶挑战;美拍”。
[0055]
步骤s6:对步骤s5中采样得到的关键字进行处理,包括去空格、去重以及去除 非法字符,最终得到关键词输出给用户,即“冰桶挑战;美拍”。
[0056]
表1测试用例
[0057][0058]
本发明提供了一种基于显著性信息门控机制的关键词生成方法,具体实现该技术 方案的方法和途径很多,以上所述仅是本发明的优选实施方式,应当指出,对于本技 术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和 润饰,这些改进和润饰也应视为本发明的保护范围。本实施例中未明确的各组成部分 均可用现有技术加以实现。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜