一种基于BERT模型技术的电力科技成果数据抽取方法与流程

文档序号:22256261发布日期:2020-09-18 13:44阅读:186来源:国知局
一种基于BERT模型技术的电力科技成果数据抽取方法与流程

本发明涉及语义分析技术领域,具体来说是一种基于bert模型技术的电力科技成果数据抽取方法。



背景技术:

电力工业作为国家重大的能源支撑体系,在发电、输电、变电、配电、用电等电力生产和生活服务的各环节拥有众多科技成果。近年来,随着电力信息化的不断深入和电能应用领域的不断拓宽,电力科技成果的数量正以前所未有的速度增长。

电力科技成果包含各种电力相关的专利、论文和项目成果,可以帮助人们解决实际生产和生活中的问题。电力科技成果数量庞大、分布广泛,但其中只有少量数据存储在电力企业联合会、中国电机工程学会等数据库中,多数的数据存储在互联网中。数据库中储存的电力科技成果数据是结构化的数据,可以直接被计算机识别和使用,同时结构化电力科技成果数据中蕴含着大量有价值的信息,是构建电力知识图谱的基础,也是提供有价值的电力决策信息的前提条件。而互联网中的大量电力科技成果却以非结构化的形式存储,难以被计算机直接使用。

因此,面向电力科技成果的知识抽取方法要求从各种非结构化形式的电力科技成果数据(自然语言文本为主)中抽取出大量结构化的数据,对已有知识库中的结构化数据进行补充。在我国,目前应用较多的电力知识抽取方法多为循环神经网络(recurrentneuralnetwork)或者长短期记忆(longshorttermmemory),这两种方法的缺点是模型的训练时间长度与文本的长度正相关,文本的长度越长、模型训练时间越长。因此,这两种方法难以针对大规模的电力科技成果文本进行知识抽取。

bert(bidirectionalencoderrepresentationsfromtransformers)模型是jacobdevlinetal.于2018年提出的一种自然语言处理模型,它引入了transformer架构和预训练机制。transformer架构实现了单词的并行处理,而预训练机制加快了模型权重的更新速度。因此,bert模型在大规模文本上的训练时间远小于rnn和lstm。同时,bert依靠transformer模型真正做到了全文感知,因而它的精确度也得到了巨大的提升,它在11项自然语言处理任务中取得了最好的成绩。

那么,如何将将bert应用于电力领域,从电力自然语言文本中提取非结构化信息数据已经成为急需解决的技术问题。



技术实现要素:

本发明的目的是为了解决现有技术中难以针对网络中的非结构化数据进行数据抽取的缺陷,提供一种基于bert模型技术的电力科技成果数据抽取方法来解决上述问题。

为了实现上述目的,本发明的技术方案如下:

一种基于bert模型技术的电力科技成果数据抽取方法,包括以下步骤:

11)进行结构化数据的抽取:针对电力科技成果数据库中的结构化数据进行抽取,抽取出结构化数据;

12)非结构化数据的抽取:针对互联网进行搜索,搜索出非结构化形式存储的电力科技成果数据;

13)非结构化数据的分析:利用bert模型对非结构化形式数据进行分析,分析出其对应的实体,形成结构化数据。

所述非结构化数据的分析包括以下步骤:

21)获取电力科技成果自然语言文本;

22)设定bert模型的编码器模块;

23)设定bert模型的解码器模块;

24)利用bert模型对电力科技成果自然语言文本进行遍历处理。

所述设定bert模型的编码器模块包括以下步骤:

31)设定transformer为12层,编码器模块transformer的每一个输入向量,即词向量与位置向量之和为x,模型中有三个权重矩阵wq,wk和wv

32)将这三个矩阵和输入向量进行点积运算得到查询向量q、键向量k和值向量v,其运算公式如下:

xwq=q

xwk=k

xwv=v;

33)设定将一个句子中所有的输入向量x从上至下依次排列,形成矩阵x,矩阵x的每一行对应一个输入向量;将查询向量、键向量和值向量从上至下依次排列,得到对应的三个矩阵q、k、v,输出矩阵z定义为:

其中,dk为q、k、v三种向量的维度大小,输出矩阵z为每个输出向量z从上至下依次排列形成的矩阵;

34)z再与一个转换矩阵w0相乘得到z0,w0用于将z的维度与x统一,w0初始值由预训练得到;

输出矩阵z与输入矩阵x相加之后需要进行归一化,得到z1

z1=layernorm(x+z);

然后传入一个前馈神经网络,输出一个矩阵z2,再进行一次归一化操作,得到z3

z3=layernorm(z1+z2)。

所述设定bert模型的解码器模块包括以下步骤:

41)设定解码器模块为6层,解码器模块在编码器模块基础上增加了一个attention层,该层名称为maskedmulti-headattention,

maskedmulti-head机制使用多组wq,wk和wv,生成多个不同的z,然后将所有的z拼接起来,形成一个大型的z矩阵;该机制将每个w0拼接起来,得到一个大型的w0矩阵,z0仍然由z与w0相乘得到;

42)设定attention层的k、v、q均由解码器输入向量生成,该层用于解码层不能看见未来的输出信息,将未来的输出隐藏起来;

43)解码器第二个attention层的k、v由编码器输出向量生成,q由上一层的输出向量生成。

所述利用bert模型对电力科技成果自然语言文本进行遍历处理包括以下步骤:

51)使用bert模型自带的分词工具对电力科技成果自然语言文本进行分句和分词,选择第一个句子的单词;

52)使用bert模型自带的词嵌入工具针对句子中的词汇生成向量;

53)将生成的向量输入bert模型中,加载预训练权重;

54)输入bert模型的输入向量经过编码器模块和解码器模块的处理,生成一个实数向量;

55)将实数向量输入到线性变换层中,线性变换层将该向量投射为一个维度与本句单词数量相等的向量中,将整个句子的单词作为词典,词典中的每个单词对应向量的一个维度;

56)将该向量的所有维度进行softmax归一化,每个维度表示一个单词被选中的概率,其都为正数、上限1.0;其中概率最大的两个值对应的词典中的单词极为该句子抽取出的两个实体,形成结构化数据;

57)选择下一个句子,返回步骤54),直到电力科技成果自然语言文本遍历完。

有益效果

本发明的一种基于bert模型技术的电力科技成果数据抽取方法,与现有技术相比从海量电力科技成果文本数据中抽取出结构化和非结构化的电力科技成果信息,能够提高文本信息的抽取精度和速度,帮助人们快速的获得大量高质量的电力科技成果数据,为后续构建电力知识图谱奠定了良好的基础。

本发明通过获取大量的结构化电力科技成果数据,弥补数据库中数据不足的问题,为构建电力知识图谱奠定基础;同时提升大规模电力科技成果数据知识抽取的速度,缩短模型运算时间;提升了电力科技成果信息的抽取精度,提高电力科技成果数据质量。

附图说明

图1为本发明的方法顺序图。

具体实施方式

为使对本发明的结构特征及所达成的功效有更进一步的了解与认识,用以较佳的实施例及附图配合详细的说明,说明如下:

如图1所示,本发明所述的一种基于bert模型技术的电力科技成果数据抽取方法,包括以下步骤:

第一步,进行结构化数据的抽取:针对电力科技成果数据库中的结构化数据利用现有传统方法进行抽取,抽取出结构化数据。

第二步,非结构化数据的抽取:利用传统搜索技术针对互联网进行搜索,搜索出非结构化形式存储的电力科技成果数据。

第三步,非结构化数据的分析:利用bert模型对非结构化形式数据进行分析,分析出其对应的实体,形成结构化数据。bert是一个在transformer基础上发展起来的模型,它在编码部分使用了12层的transformer,12个注意力头(attentionhead)。bert的输入可以是单一的一个句子或者是句子对,输入词向量是三个向量之和:

tokenembedding:经过bert的词向量生成工具生成的词向量。

segmentembedding:表明这个词属于哪个句子,ea表示前一句,eb表示后一句。

positionembedding:表明这个词的位置,可以使用transformer的位置编码,也可以通过学习得到。

在此,利用bert模型实现了文本的双向预测,同时实现了语句之间的关系学习,能够获取句子级别的语义特征。电力科技成果文本的语句之间存在着复杂的关系,使用普通的知识抽取算法提取出的实体精度较差。bert模型可以帮助我们从句子中提取出进度较高的实体,这些实体就是我们需要的结构化的电力科技成果信息。

非结构化数据的分析具体步骤如下:

(1)获取电力科技成果自然语言文本。

(2)设定bert模型的编码器模块。其具体步骤如下:

a1)设定transformer为12层,编码器模块transformer的每一个输入向量,即词向量与位置向量之和为x,模型中有三个权重矩阵wq,wk和wv

a2)将这三个矩阵和输入向量进行点积运算得到查询向量q、键向量k和值向量v,其运算公式如下:

xwq=q

xwk=k

xwv=v;

a3)设定将一个句子中所有的输入向量x从上至下依次排列,形成矩阵x,矩阵x的每一行对应一个输入向量;将查询向量、键向量和值向量从上至下依次排列,得到对应的三个矩阵q、k、v,输出矩阵z定义为:

其中,dk为q、k、v三种向量的维度大小,输出矩阵z为每个输出向量z从上至下依次排列形成的矩阵;

a4)z再与一个转换矩阵w0相乘得到z0,w0用于将z的维度与x统一,w0初始值由预训练得到;

输出矩阵z与输入矩阵x相加之后需要进行归一化,得到z1

z1=layernorm(x+z)

然后传入一个前馈神经网络,输出一个矩阵z2,再进行一次归一化操作,得到z3

z3=layernorm(z1+z2)。

(3)设定bert模型的解码器模块。其具体步骤如下:

b1)设定解码器模块为6层,解码器模块在编码器模块基础上增加了一个attention层,该层名称为maskedmulti-headattention,

maskedmulti-head机制使用多组wq,wk和wv,生成多个不同的z,然后将所有的z拼接起来,形成一个大型的z矩阵;该机制将每个w0拼接起来,得到一个大型的w0矩阵,z0仍然由z与w0相乘得到;

b2)设定attention层的k、v、q均由解码器输入向量生成,该层用于解码层不能看见未来的输出信息,将未来的输出隐藏起来;

b3)解码器第二个attention层的k、v由编码器输出向量生成,q由上一层的输出向量生成。

在此,transformer的编码操作是可以并行的,由于每个单词的三个权重矩阵wq,wk和wv都是相同的,因此可以将整个句子的单词并行输入,提高了编码的速度,加快了模型的运行速度。解码器必须一个一个的输出,因为上一个位置的解码输出是下一个解码器的输入,而最初的解码器输入一般直接使用编码器的输出。

同时,bert使用预训练的方法初始化transformer中的各种权重,包括wq,wk和wv等等。bert的预训练包含以下两种:

第一种,maskedlm(遮掩的语言模型)

为了训练一个深度双向表示(deepbidirectionalrepresentation),bert模型采用了一种简单的方法,即随机屏蔽(masking)部分输入词汇,然后只预测那些被屏蔽的词汇。论文将这个过程称为“maskedlm”(mlm)。训练数据生成器随机选择15%的词汇进行maskedlm,例如在这个句子“mydogishairy”中,它选择的词汇是“hairy”。然后,执行以下过程:

80%的时间:用[mask]标记替换单词,例如,mydogishairy→mydogis[mask]

10%的时间:用一个随机的单词替换该单词,例如,mydogishairy→mydogisapple

10%的时间:保持单词不变,例如,mydogishairy→mydogishairy.这样做的目的是将表示偏向于实际观察到的单词。

第二种,下一句预测(nextsentenceprediction):在自然语言处理中,经常需要理解两个句子之间的关系。为了训练一个理解句子的模型关系,预先训练一个二进制化的下一句预测任务,这一任务可以从任何单语语料库中生成。具体地说,当选择句子a和b作为预训练样本时,b有50%的可能是a的下一个句子,也有50%的可能是来自语料库的随机句子。例如:

input=[cls]themanwentto[mask]store[sep]

heboughtagallon[mask]milk[sep]

label=isnext

input=[cls]theman[mask]tothestore[sep]

penguin[mask]areflight##lessbirds[sep]

label=notnext

根据bert模型的官方数据,下一句预测的精确度可以达到97%-98%。

同时,bert的预训练还可以是由google完成的,当进行电力科技成果知识抽取任务时,我们可以直接调用官方中文预训练权重,这样可以减少权重的更新次数,提高模型的运行速度。

(4)利用bert模型对电力科技成果自然语言文本进行遍历处理。其具体步骤如下:

c1)使用bert模型自带的分词工具对电力科技成果自然语言文本进行分句和分词,选择第一个句子的单词;

c2)使用bert模型自带的词嵌入工具针对句子中的词汇生成向量;

c3)将生成的向量输入bert模型中,加载预训练权重;

c4)输入bert模型的输入向量经过编码器模块和解码器模块的处理,生成一个实数向量;

c5)将实数向量输入到线性变换层中,线性变换层将该向量投射为一个维度与本句单词数量相等的向量中,将整个句子的单词作为词典,词典中的每个单词对应向量的一个维度;

c6)将该向量的所有维度进行softmax归一化,每个维度表示一个单词被选中的概率,其都为正数、上限1.0;其中概率最大的两个值对应的词典中的单词极为该句子抽取出的两个实体,形成结构化数据;

c7)选择下一个句子,返回步骤c4),直到电力科技成果自然语言文本遍历完。

以上显示和描述了本发明的基本原理、主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是本发明的原理,在不脱离本发明精神和范围的前提下本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明的范围内。本发明要求的保护范围由所附的权利要求书及其等同物界定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1