本发明涉及自然语言处理和人工智能领域,特别涉及一种lstm神经网络训练方法及装置。
背景技术:
深度学习技术作为人工智能“连接主义”学派的代表,近年来在语音、视觉、自然语言处理等领域取得了令人瞩目的成就,并已在互联网、安防、教育、医疗、工业制造等行业实现了落地。
人类产生的数据中包含大量时间序列,如语音信号、音频信号、文本、金融数据、设备日志等,这些数据存在时间维度上的前后关系。卷积神经网络rnn(recurrentneuralnetwork)因此被发明,通过将每时刻的隐藏状态传递给下一时刻来“记忆”之前的信息,进而获得对时序数据进行学习的能力。目前,基于rnn神经网络已出现了语音识别、机器翻译、乐曲生成、文本生成、情感分析、dna序列分析、视频行为识别、命名实体识别、文本分类等多个应用。然而,对于较长的时序数据,逐层的记忆传递会因为参数矩阵的谱范数以及激活函数导数的累乘而出现疾速下降,出现“梯度消失”,最终无法保留长时间的信息。
在rnn网络的基础上,hochreater和schmidhuber等学者提出了长短时记忆网络lstm(longshorttimememory),通过精心设计和训练的门函数来控制每个时刻的记忆进入后续单元的比例来保证长期记忆的不丢失。定量分析可以认为,lstm将反向传播的梯度计算由联乘变为了求和,从而降低了传播误差大幅下降的概率,有效解决了“梯度消失”问题。由于lstm包含遗忘门、输入门和输出门,每个门都需要对相应的参数矩阵进行训练,导致计算开销过大,cho等提出了门控单元网络gru,将三个门减少至两个,在保持网络性能的前提下降低了网络训练的计算量。进一步地,研究发现数据的输入顺序可能导致网络训练结果的改变。在此基础上又提出了双向长短时记忆网络bi-lstm。因此,当前所指采用循环神经网络实现的应用一般指基于lstm网络及其变体。
近两年的研究进一步发现,人类对于信息的获取并非按照顺序或者反序依次处理的方式,而会对部分重要信息产生更高级别的关注,最终获得对全部信息的理解。google在2017年提出了注意力(attention)机制,将上述生理规律转换为编码器和解码器之间映射的权重表示,取得了较好的效果。然而基于注意力机制的transformer模型结构复杂,训练计算开销极大。
技术实现要素:
本发明的目的在于:提供了一种lstm神经网络训练方法及装置,解决了在自然语言处理中,基于注意力机制的transformer模型结构复杂,训练计算开销极大的问题。
本发明采用的技术方案如下:
一种lstm神经网络训练方法,包括由无标注文本生成的训练数据,将无标注文本中的关键词处理后根据关键词对训练数据进行加权,提升训练数据对特征信息的携带能力,将加权后的训练数据用于lstm神经网络训练。本发明借鉴人类在获取信息时对关键位置或者词语形成注意力聚焦的生理学基础,结合长短时记忆网络lstm,提出了一种不改变模型结构的模型训练方法,通过改变训练数据中关键信息的权重,获得性能更好的模型训练结果。
进一步的,所述由无标注文本生成的训练数据,将无标注文本中的关键词处理后根据关键词对训练数据进行加权,提升训练数据对特征信息的携带能力,将加权后的训练数据用于lstm神经网络训练的方法包括以下步骤:
s1、将无标注文本作为训练文本,对训练文本进行预处理;
s2、对预处理后的训练文本进行识别,生成训练文本的关键词;
s3、对训练文本中的词语进行编码,得到高维空间连续词向量,对关键词进行同样的编码得到关键词向量;
s4、将关键词向量添加至对应的词向量对词向量进行加权得到最终的训练数据;
s5、将最终的训练数据输入lstm神经网络进行训练。
进一步的,所述步骤s1中对训练文本进行预处理的方法包括清洗、分词、去停用词中的至少一种。
进一步的,所述步骤s2中的关键词包括实体关键词、关系关键词和事件关键词。对预处理后的训练文本进行命名实体识别,获得常见的如姓名、地址、组织机构、时间、货币、数量等命名实体,建立实体关键词。然后对预处理训练文本进行实体关系抽取,如实体间存在关系,判断实体关系是否属于常见的组件与整体、工具的使用、成员集合、因果、实体目的地、内容与容器、信息与主题、生产与被生产和实体与原产地等类型,并形成关系关键词。对预处理训练文本进行事件抽取,如句子中存在事件,判断是否属于生活、移动、事务、商业、冲突、交流、个人、司法等类型,并形成事件关键词。
进一步的,所述步骤s3中的关键词线路包括分别与实体关键词、关系关键词和事件关键词对应的实体向量、关系向量和事件向量。
所述步骤s4中将关键词向量添加至对应的词向量对词向量进行加权包括实体增强加权、关系增强加权和事件增强加权。
实体增强加权:将实体向量添加至网络输入相同位置的词向量,即对属于实体的词的位置对应的词向量进行加权。
关系增强加权:若文本实体存在关系,则将对应关系向量添加至网络输入每个位置的词向量,即将实体关系对应词的词向量加入训练数据。
事件增强加权:若文本中存在事件,则将对应事件向量添加至网络输入每个位置的词向量,即将事件对应词的词向量加入训练数据。
进一步的,所述步骤s3中对训练文本中的词语进行编码和对关键词进行同样的编码的编码方法为先进行one-hot编码再进行word2vector词向量转化。
进一步的,所述lstm神经网络进行训练的方法包括前向传播和沿时反向传播算法。
进一步的,所述步骤s5中将最终的训练数据分批逐次输入lstm神经网络进行训练直到满足训练停止条件。
一种lstm神经网络训练方法及装置,包括:
存储器,用于存储可执行指令;
多核处理器,用于执行所述存储器中存储的可执行指令,实现如上述的lstm神经网络训练方法。
综上所述,由于采用了上述技术方案,本发明的有益效果是:
1.本发明一种lstm神经网络训练方法及装置,模拟注意力机制,通过训练调整训练数据实现网络参数优化。本方法在构建训练数据集阶段,借鉴人类感知过程中对关键信息形成聚焦的思想,将文本中关键信息如实体、关系、事件转换为嵌入式表达,并在原仅由词向量形成训练向量的基础上,添加了关键信息的向量,使得文本中的关键信息得到强化,改变了原训练数据关键信息和非关键信息权重相同的现状,使得网络训练更易捕捉特征、得到性能更优的网络;
2.本发明一种lstm神经网络训练方法及装置,引入关系向量和事件向量,提升不同文本特征属性。本方法将词嵌入思想拓展到文本其余重要特征,如实体关系、事件等,对特征进行嵌入处理并以一定的权重添加入训练向量,提升文本训练数据对特征信息的携带能力。因此,能够更好地提升数据质量;
3.本发明一种lstm神经网络训练方法及装置,训练数据维数不变,不增加计算量。深度学习主要计算量包含在训练神经网络的前向传播和反向传播的矩阵相乘中。对于序列到序列模型,需训练编码器对应的网络和解码器对应的网络,共包含两个完整的深度神经网络。本方法仍采用单个神经网络模型,这样能有效减少计算量和计算所需的存储空间;
4.本发明一种lstm神经网络训练方法及装置,未改变网络结构,易于在现有应用基础上在线修正。本方法在现有lstm结构基础上,仅改变训练数据重要信息特征比例,训练获得最新网络参数。由于网络结构未发生变化,在获得新的训练文本时,可以通过在线方式对网络迭代训练,得到最新参数而无需重新配置模型资源。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图,其中:
图1是本发明的流程示意图;
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合图1对本发明作进一步地详细描述,所描述的实施例不应视为对本发明的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本发明实施例的目的,不是旨在限制本发明。
对本发明实施例进行进一步详细说明之前,对本发明实施例中涉及的名词和术语进行说明,本发明实施例中涉及的名词和术语适用于如下的解释。
one-hot编码:将每个词编码为向量,其长度为词典总单词数。记录该单词对应在词典中的索引,将向量中该索引位置元素记为1,其余位置元素为0,则为单词对应的one-hot编码向量。
word2vector词向量转化:由于one-hot编码的稀疏性,使得有相近含义的单词不具备相关性,因此通过训练将每个词映射成为一个固定长度的稠密向量,该稠密向量即为单词对应的词向量。
实施例1
一种lstm神经网络训练方法,包括由无标注文本生成的训练数据,将无标注文本中的关键词处理后根据关键词对训练数据进行加权,提升训练数据对特征信息的携带能力,将加权后的训练数据用于lstm神经网络训练。本发明借鉴人类在获取信息时对关键位置或者词语形成注意力聚焦的生理学基础,结合长短时记忆网络lstm,提出了一种不改变模型结构的模型训练方法,通过改变训练数据中关键信息的权重,获得性能更好的模型训练结果。
实施例2
本实施例与实施例1的区别在于,所述由无标注文本生成的训练数据,将无标注文本中的关键词处理后根据关键词对训练数据进行加权,提升训练数据对特征信息的携带能力,将加权后的训练数据用于lstm神经网络训练的方法包括以下步骤:
s1、将无标注文本作为训练文本,对训练文本进行预处理;
s2、对预处理后的训练文本进行识别,生成训练文本的关键词;
s3、对训练文本中的词语进行编码,得到高维空间连续词向量,对关键词进行同样的编码得到关键词向量;
s4、将关键词向量添加至对应的词向量对词向量进行加权得到最终的训练数据;
s5、将最终的训练数据输入lstm神经网络进行训练。
实施例3
本实施例与实施例2的区别在于,所述步骤s1中对训练文本进行预处理的方法包括清洗、分词、去停用词中的至少一种。
进一步的,所述步骤s2中的关键词包括实体关键词、关系关键词和事件关键词。对预处理后的训练文本进行命名实体识别,获得常见的如姓名、地址、组织机构、时间、货币、数量等命名实体,建立实体关键词。然后对预处理训练文本进行实体关系抽取,如实体间存在关系,判断实体关系是否属于常见的组件与整体、工具的使用、成员集合、因果、实体目的地、内容与容器、信息与主题、生产与被生产和实体与原产地等类型,并形成关系关键词。对预处理训练文本进行事件抽取,如句子中存在事件,判断是否属于生活、移动、事务、商业、冲突、交流、个人、司法等类型,并形成事件关键词。
进一步的,所述步骤s3中的关键词线路包括分别与实体关键词、关系关键词和事件关键词对应的实体向量、关系向量和事件向量。
所述步骤s4中将关键词向量添加至对应的词向量对词向量进行加权包括实体增强加权、关系增强加权和事件增强加权。
实体增强加权:将实体向量添加至网络输入相同位置的词向量,即对属于实体的词的位置对应的词向量进行加权。
关系增强加权:若文本实体存在关系,则将对应关系向量添加至网络输入每个位置的词向量,即将实体关系对应词的词向量加入训练数据。
事件增强加权:若文本中存在事件,则将对应事件向量添加至网络输入每个位置的词向量,即将事件对应词的词向量加入训练数据。
实施例4
本实施例与实施例2的区别在于,所述步骤s3中对训练文本中的词语进行编码和对关键词进行同样的编码的编码方法为先进行one-hot编码再进行word2vector词向量转化。
进一步的,所述lstm神经网络进行训练的方法包括前向传播和沿时反向传播算法。
进一步的,所述步骤s5中将最终的训练数据分批逐次输入lstm神经网络进行训练直到满足训练停止条件。
实施例5
一种lstm神经网络训练方法及装置,包括:
存储器,用于存储可执行指令;
多核处理器,用于执行所述存储器中存储的可执行指令,实现如上述的lstm神经网络训练方法。
实施例6
如图1所示,本方案一种具体在执行步骤:
s01,准备大规模的无标注文本作为训练文本,对文本进行清洗、分词、去停用词等预处理。
s02,对预处理训练文本进行命名实体识别,获得常见的如姓名、地址、组织机构、时间、货币、数量等命名实体,建立实体关键词。
s03,对训练文本进行实体关系抽取,如实体间存在关系,判断实体关系是否属于常见的组件与整体、工具的使用、成员集合、因果、实体目的地、内容与容器、信息与主题、生产与被生产和实体与原产地等类型,并形成关系关键词。
s04,对训练文本进行事件抽取,如句子中存在事件,判断是否属于生活、移动、事务、商业、冲突、交流、个人、司法等类型,并形成事件关键词。
s05,将词语进行one-hot编码,再进行词向量转化word2vector,得到高维空间连续词向量。
s06,基于s5词向量结果,获取文本中实体、关系词、事件词对应的词向量,形成实体向量、关系向量和事件向量。
s07,实体增强:将实体向量添加至网络输入相同位置的词向量,即对属于实体的词位置对应的词向量进行加权。
s08,关系增强:如文本实体存在关系,则将对应关系向量添加至网络输入每个位置的词向量,即将实体关系对应词的词向量加入训练数据。
s09,事件增强:如文本中存在事件,则将对应事件向量添加至网络输入每个位置的词向量,即将事件对应词的词向量加入训练数据。
s010,将经过实体增强、关系增强和事件增强的数据作为新训练数据,进行分批,作为神经网络输入。
s011,将分批数据逐次输入初始生成的lstm神经网络,并通过前向传播和沿时反向传播算法训练网络。
s012,判断是否满足训练停止条件,如未满足,则重复步骤s11,如满足,则进入步骤13。
s013,得到训练好的长短时记忆神经网络模型。
s014,算法结束。
实施例7
本实施例为实体关键词、关系关键词和事件关键词的抽取举例:
在前不久a市召开的科创板后备企业座谈会上,成都xxxx股份有限公司与其他20家科创板后备企业相关负责人齐齐亮相。只是素来低调的xxxx的知名度似乎并没有其他企业那么高,但“干货”却是满满的:国内领先的大数据平台及人工智能服务提供商;业务涉及全球七十多个国家和地区;估值已接近10亿元人民币。因此,公司被b省证监局列为“科创板上市辅导重点企业”。
对预处理训练文本进行命名实体识别,获得常见的如姓名、地址、组织机构、时间、货币、数量等命名实体,建立实体关键词:a市、成都xxxx股份有限公司、xxxx、b省证监局、20家、七十多个、10亿元。
对训练文本进行实体关系抽取,如实体间存在关系,判断实体关系是否属于常见的组件与整体、工具的使用、成员集合、因果、实体目的地、内容与容器、信息与主题、生产与被生产和实体与原产地等类型,并形成关系关键词:成都xxxx股份有限公司-科创板后备企业、a市-b省证监局、成都xxxx股份有限公司-大数据平台及人工智能服务提供商等。
对训练文本进行事件抽取,如句子中存在事件,判断是否属于生活、移动、事务、商业、冲突、交流、个人、司法等类型,并形成事件关键词:科创板上市、企业座谈会等。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。