一种中文船舶故障关系抽取方法
文献发布时间:2023-06-19 12:02:28
技术领域
本发明属于深度学习技术领域,尤其是一种基于双向GRU神经网络和注意力机制的方法。
背景技术
随着深度学习的发展,越来越多的深度学习模型被应用到了关系抽取任务中。但是传统的深度学习模型不能解决长距离的学习任务,且当抽取本文的噪声较大时,传统的深度学习模型的表现更差。面对这样的挑战和问题,不同的、高效的、精度高的可用于不同领域的关系抽取神经网络模型,是目前迫切需要解决的问题。
发明内容
发明目的:本发明的目的在于克服现有关系抽取模型的不足,提出一种设计合理且快速准确的基于双向GRU神经网络和注意力机制的中文船舶故障关系抽取方法。
本发明解决其技术问题是采取以下技术方案实现的:
一种基于双向GRU神经网络和注意力机制的中文船舶故障关系抽取方法,包括如下步骤:
步骤一:收集待处理文本,生成文本集,以json文档格式保存;
步骤二:对文本集进行数据预处理;
步骤三:将预处理后的全部文件作为预训练语料库;
步骤四:利用预训练语料库对双向GRU神经网络和注意力机制联合模型进行训练,得到故障关系抽取模型,其中,双向GRU神经网络和注意力机制联合模型包括依次连接的输入层、嵌入层、双向GRU神经网络层、注意力机制层和输出层,双向GRU神经网络和注意力机制联合模型的输入为预处理后的文本,输出为故障语料关系抽取结果;
步骤五:将待处理故障语料进行预处理后,利用故障关系抽取模型完成关系抽取。
进一步地,步骤四中计算第1层嵌入词向量的方法为:
e
其中,v
进一步地,步骤四中使用双向GRU神经网络来训练船舶故障语料库的方法为:
GRU网络是循环神经网络的变形,循环神经网络模型是用来处理时序信息。传统的中文处理模型没有考虑到句子之间的上下关联性问题,而循环的神经网络做出的改进是认为第n个字,与之相关联的是前n-1个字,循环神经网络可以很好的考虑到长文本的上下文关联问题。随着隐藏层数的增加,普通的神经网络会出现梯度消失的问题,因此长短时记忆网络LSTM随之出现。LSTM神经网络包括三个门,输入门、遗忘门和输出门。输入门是决定当前时刻多少状态保留到当前时刻的输入状态;遗忘门是决定保留多少上一时刻的状态到当前状态;输出门是决定输出多少当前时刻的状态。而相比于LSTM神经网络,GRU网络是LSTM网络的简化版本,它仅包含更新门和重置门。更新门决定了前一时刻的信息被输入到当前时刻的量;重置门决定了忽略前一时刻的量。GRU网络结构的双向GRU神经网络层的前向传播公式为:
r
z
y
其中,x
进一步地,步骤四中注意力机制层的输出r为:
M=tanh(H) (7)
α=softmax(w
r=Hα
其中,H是双向GRU神经网络输出的隐藏状态,tanh()表示tanh激活函数,w
进一步地,步骤四中输出层采用sigmod激活函数对注意力机制层的输出进行分类。
附图说明
图1为双向GRU神经网络和注意力机制算法总体流程图;
图2为双向GRU神经网络和注意力机制网络模型图。
具体实施方式
下面结合附图对本发明做更进一步的解释。
本发明环境为处于基于python 3.7版本的Anaconda实验环境中,如图1和2所示,具体流程如下:
首先,对所收集的文件集进行预处理,预处理的内容包括:
(1)收集不同型号船舶故障问题;
(2)将收集处理好的故障语料库进行脱敏处理;
(3)对脱敏后的语料库进行词典的构建;
(4)对部分原始语料库进行人工标注数据。
随后,利用双向GRU网络和注意力机制对故障语料库进行初步训练,其方法为:
(1)将经过预处理的语料库输入到输入层;
(2)构建第一层嵌入层的词向量;
(3)使用双向GRU神经网络对上一层输出的词向量进行训练;
(4)将经过双向GRU网络训练后的数据结合下一层的注意力机制层再次训练;再次训练之前算法会保存上一次训练的精度进行对比,保留精度最大值。
(5)将注意力机制层输出结果通过本层网络的sigmod激活函数处理后,输出语料库实体之间对应的关系类型。
如语料库的文本为机温尚未达到正常时迅速增加负荷导致船舶出现裂纹,经模型提取文本中关系输出:'出现裂纹','故障原因','机温尚未达到正常时迅速增加负荷',以此来达到对语料库中关系的提取。
应当指出,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也在本申请权利要求的保护范围内。
- 一种中文船舶故障关系抽取方法
- 一种基于依存语义的中文无监督开放式实体关系抽取方法