掌桥专利:专业的专利平台
掌桥专利
首页

一种自然语言理解方法、装置、设备及可读存储介质

文献发布时间:2023-06-19 19:27:02


一种自然语言理解方法、装置、设备及可读存储介质

技术领域

本发明涉及自然语言理解技术领域,具体而言,涉及一种自然语言理解方法、装置、设备及可读存储介质。

背景技术

近年来,随着人工智能的快速发展,自然语言理解(NLU)技术为智能问答系统、多轮对话系统等人机对话应用提供了基础技术支持,因此受到了学术界和工业界的广泛关注。

现有的自然语言理解技术方案中,常见的有独立建模和联合建模两种方式。独立建模的方式是将意图识别任务和语义槽填充任务分别执行,该方式忽略了两个任务之间的关联性。

联合建模的方式将意图识别任务和语义槽填充任务进行联合识别,该方式虽然解决了独立建模参数无法共享的问题,但其在训练中将两个任务共同训练,导致任务的负面信息也会交叉影响。(负面信息交叉影响的消除,是否是通过两个模型在不同任务下训练,然后再进行特征交互实现的,此点对于权利要求1保护范围的范围确定比较关键)并且,联合模型将文本经过同一编码器再经过不同的解码器,以完成两个任务,这种方式没有充分利用模块间的共享资源。

发明内容

本发明的目的在于提供一种自然语言理解方法、装置、设备及可读存储介质,以改善上述问题。为了实现上述目的,本发明采取的技术方案如下:

第一方面,本申请提供了一种自然语言理解方法,包括:

建立并训练双网络结构自然语言理解模型,得到训练后的所述双网络结构自然语言理解模型,所述双网络结构自然语言理解模型包括两种自然语言理解任务的语义编码器、语义解码器,两种自然语言理解任务的语义编码器用于对输入向量进行解析后分别得到第一解析结果、第二解析结果,两种自然语言理解任务的语义解码器用于对第一解析结果、第二解析结果进行交互与解码后分别得到第一解码结果、第二解码结果;

获取输入文本;

将输入文本转化为输入向量;

将输入向量作为训练后的所述双网络结构自然语言理解模型的输入信息,求解所述双网络结构自然语言理解模型,得到输入文本对应的语义信息。

第二方面,本申请还提供了一种自然语言理解装置,包括:

获取模块,用于获取输入文本;

转化模块,用于将输入文本转化为输入向量;

模型建立与训练模块,用于建立并训练双网络结构自然语言理解模型,得到训练后的所述双网络结构自然语言理解模型,所述双网络结构自然语言理解模型包括两种自然语言理解任务的语义编码器、语义解码器,两种自然语言理解任务的语义编码器用于对输入向量进行解析后分别得到第一解析结果、第二解析结果,两种自然语言理解任务的语义解码器用于对第一解析结果、第二解析结果进行交互与解码后分别得到第一解码结果、第二解码结果;

求解模块,用于将输入向量作为训练后的所述双网络结构自然语言理解模型的输入信息,求解所述双网络结构自然语言理解模型,得到输入文本对应的语义信息。

第三方面,本申请还提供了一种自然语言理解设备,包括:

存储器,用于存储计算机程序;

处理器,用于执行所述计算机程序时实现所述自然语言理解方法的步骤。

第四方面,本申请还提供了一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述基于自然语言理解的步骤。

本发明的有益效果为本发明采用双网络结构和异步训练方式完成自然语言理解任务,其能针对现有技术方案中独立建模参数无法共享或者联合模型负面信息交叉的问题进行一定程度上的解决。

本发明通过将输入文本训练后的所述双网络结构自然语言理解模型,所述双网络结构自然语言理解模型包括两种自然语言理解任务的语义编码器、语义解码器,两种自然语言理解任务的语义编码器用于对输入向量进行解析后分别得到第一解析结果、第二解析结果,两种自然语言理解任务的语义解码器用于对第一解析结果、第二解析结果进行交互与解码后分别得到第一解码结果、第二解码结果。由此先各自在相应的自然语言理解任务下建立并且训练下得到具有双网络结构的双网络结构自然语言理解模型,该模型具有两种自然语言理解任务的语义编码器以及两种自然语言理解任务的语义解码器,使得负面信息不会在多个任务同时训练下产生交叉,之后再对将各自然语言理解模型的解析结果之间进行交互与解码,由此实现建模参数共享。

本发明的其他特征和优点将在随后的说明书阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明实施例了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1为本发明实施例中所述的自然语言理解方法流程示意图。

图2为本发明实施例中所述的自然语言理解装置结构示意图。

图3为本发明实施例中所述的自然语言理解设备结构示意图。

图4为本发明实施例中第一特征交互模块的示意图。

图5为本发明实施例中第二特征交互模块的示意图。

图中标记:500、获取模块;600、转化模块;700、模型建立与训练模块;701、第一建立模块;702、第二建立模块;703、第三建立模块;704、第四建立模块;705、第一全连接层;706、第二全连接层706;707、第一softmax分类模块;708、第二softmax分类模块;709、第一理解模块;710、第二理解模块;800、求解模块;900、自然语言理解设备;901、处理器;902、存储器;903、多媒体组件;904、I/O接口;905、通信组件。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本发明的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。

实施例1:

本实施例提供了一种自然语言理解方法。

参见图1,图中示出了本方法包括步骤S100、步骤S200、步骤S300、步骤S400。

步骤S100为获取输入文本。

步骤S200为将输入文本转化为输入向量。

步骤S200具体包括:

将输入文本转化为词向量;

根据注意力机制将词向量转化为上下感知向量;

将词向量与上下感知向量拼接为输入向量。

在本步骤中,将输入文本转化为词向量具体包括:其中长度为N的文本S={s

在本步骤中,为了进一步提取语义特征,根据注意力机制将词向量转化为上下感知向量,本实施例中采用注意力机制获取相应输入文本的上下文感知向量,获取上下文感知向量的公式如下:

C

所述注意力机制采用现有的注意力机制,在此不做赘述。

将词向量与上下感知向量拼接为输入向量具体包括:

将多维向量E

x

其中,x

步骤S300为建立并训练双网络结构自然语言理解模型,得到训练后的所述双网络结构自然语言理解模型,所述双网络结构自然语言理解模型包括两种自然语言理解任务的语义编码器、语义解码器,两种自然语言理解任务的语义编码器用于对输入向量进行解析后分别得到第一解析结果、第二解析结果,两种自然语言理解任务的语义解码器用于对第一解析结果、第二解析结果进行交互与解码后分别得到第一解码结果、第二解码结果;

在本步骤中,建立并训练双网络结构自然语言理解模型,包括:

建立第一Bi-GRU网络,所述第一Bi-GRU网络的输入为所述输入向量,输出为第一解析结果;

建立第二Bi-GRU网络,所述第二Bi-GRU网络的输入为所述输入向量、输出为第二解析结果。

在本步骤中,建立并训练双网络结构自然语言理解模型,包括:

建立第一GRU网络,所述第一GRU网络当前时刻的输入为当前时刻第一Bi-GRU网络的解析结果、第二Bi-GRU网络的解析结果以及上一时刻第一GRU网络的隐藏层、输出,输出为第一解码结果,所述第一解码结果包括第一GRU网络所有时刻的输出;

建立第二GRU网络,所述第二GRU网络当前时刻的输入为当前时刻第一Bi-GRU网络的解析结果、第二Bi-GRU网络的解析结果以及上一时刻第二GRU网络的隐藏层,输出为第二解码结果,所述第二解码结果为第二GRU网络最后一个时刻的输出。

其中,第一GRU网络、第二GRU网络第一时刻均没有隐藏层和上一时刻的输出。

在本步骤中,所述第一Bi-GRU网络、第二Bi-GRU网络对应所述双网络结构自然语言理解模型的两种自然语言理解任务的语义编码器

在本步骤中,第一GRU网络、第二GRU网络对应所述双网络结构自然语言理解模型的两种自然语言理解任务的语义解码器。

在本步骤中,建立并训练双网络结构自然语言理解模型,包括:

建立第一全连接层,所述第一全连接层的输入为第一解码结果、输出为第一解码向量;

建立第二全连接层,所述第二全连接层的输入为第二解码结果、输出为第二解码向量;

建立第一softmax分类模块,所述第一softmax分类模块的输入为第一解码向量、输出为第一类别分布;

建立第二softmax分类模块,所述第二softmax分类模块的输入为第二解码向量、输出为第二类别分布;

建立第一理解模块,所述第一理解模块的输入为第一类别分布、输出为输入文本的第一语义信息;

建立第二理解模块,所述第二理解模块的输出为第二类别分布、输出为输入文本的第二语义信息。

在本步骤中,所述双网络结构自然语言理解模型的所述第一Bi-GRU网络、第二Bi-GRU网络、第一GRU网络、第二GRU网络分别对应为语义槽填充任务模型、意图识别任务模型的语义编码器、语义解码器。

在本步骤中Bi-GRU网络具体运算过程如下:

具体如公式(3)-(5)所示,

在本步骤中,语义槽填充任务模型的语义解码器的具体运算过程如下:

第一GRU网络t时刻的输入为语义槽填充任务模型语义编码器、意图识别任务模型语义编码器t时刻输出的隐藏状态

参见图4所示,显示了语义槽填充任务模型的语义解码器在第一时刻、第二时刻、第三时刻、第四时刻的之间的运算过程。

在本步骤中,意图识别任务模型的语义解码器的具体运算过程如下:

第二GRU网络t时刻的输入为语义槽填充任务模型语义编码器、意图识别任务模型语义编码器t时刻输出的隐藏状态

参见图5所示,显示了意图识别任务模型的语义解码器在N-2时刻、N-1时刻、N时刻之间的运算过程。

在本步骤中:

第一softmax分类模块具体由语义槽填充任务模型的语义解码器的输出作为第一softmax分类模块的输入,输出语义槽位填充的类别分布,具体的计算公式分别如公式(8)所示。

Y

第二softmax分类模块具体由意图识别任务模型的语义解码器的输出作为第二softmax分类模块的输入,输出意图识别的类别分布,具体的计算公式如公式(9)所示;

其中Y

在本步骤中:

第一理解模块具体由语义槽位填充的类别分布作为输入,输出槽位标签序列label

label

第二理解模块具体由意图识别的类别分布作为输入,输出意图类别label

label

步骤S400为将输入向量作为训练后的所述双网络结构自然语言理解模型的输入信息,求解所述双网络结构自然语言理解模型,得到输入文本对应的语义信息。

本方法还包括:

构建第一改进型交叉熵损失函数,第一改进型交叉熵损失函数内包括输出文本的长度、真实第一语义信息、第一语义信息的类别数目、第一理解模块的预测输出;

构建第二改进型交叉熵损失函数,第二改进型交叉熵损失函数内包括真实第二语义信息、第二语义信息的类别数目、第二理解模块的预测输出;

在根据每个训练批次训练双网络结构自然语言理解模型后,利用改进型交叉熵损失函数计算双网络结构自然语言理解模型的损失值,并使用Adam优化器对双网络结构自然语言理解模型的参数进行更新,训练批次包括至少两个样本数据,每个样本数据由第一信息转化得到;

若在预设数量的训练批次内损失值变化率小于第二预设值,停止训练并保存模型。

构建的第一改进交叉熵损失函数、第二改进交叉熵损失函数具体公式如公式(12)、公式(13)所示。其中,Loss

实施例2:

参见图2所示,本实施例提供了一种自然语言理解装置,所述装置包括:

获取模块500,用于获取输入文本;

转化模块600,用于将输入文本转化为输入向量;

模型建立与训练模块700,用于建立并训练双网络结构自然语言理解模型,得到训练后的所述双网络结构自然语言理解模型,所述双网络结构自然语言理解模型包括两种自然语言理解任务的语义编码器、语义解码器,两种自然语言理解任务的语义编码器用于对输入向量进行解析后分别得到第一解析结果、第二解析结果,两种自然语言理解任务的语义解码器用于对第一解析结果、第二解析结果进行交互与解码后分别得到第一解码结果、第二解码结果;

求解模块800,用于将输入向量作为训练后的所述双网络结构自然语言理解模型的输入信息,求解所述双网络结构自然语言理解模型,得到输入文本对应的语义信息。

在本步骤中,所述模型建立与训练模块700,包括:

第一建立模块701,用于建立第一Bi-GRU网络,所述第一Bi-GRU网络的输入为所述输入向量,输出为第一解析结果;

第二建立模块702,用于建立第二Bi-GRU网络,所述第二Bi-GRU网络的输入为所述输入向量、输出为第二解析结果。

在本步骤中,所述模型建立与训练模块,包括:

第三建立模块703,用于建立第一GRU网络,所述第一GRU网络当前时刻的输入为当前时刻第一Bi-GRU网络的解析结果、第二Bi-GRU网络的解析结果以及上一时刻第一GRU网络的隐藏层、输出,输出为第一解码结果,所述第一解码结果包括第一GRU网络所有时刻的输出;

第四建立模块704,用于建立第二GRU网络,所述第二GRU网络当前时刻的输入为当前时刻第一Bi-GRU网络的解析结果、第二Bi-GRU网络的解析结果以及上一时刻第二GRU网络的隐藏层,输出为第二解码结果,所述第二解码结果为第二GRU网络最后一个时刻的输出。

在一些具体的实施例中,模型建立与训练模块700还包括:

第一全连接层705,用于建立第一全连接层,所述第一全连接层的输入为第一解码结果、输出为第一解码向量;

第二全连接层706,用于建立第二全连接层,所述第二全连接层的输入为第二解码结果、输出为第二解码向量;

第一softmax分类模块707,用于建立第一softmax分类模块,所述第一softmax分类模块的输入为第一解码向量、输出为第一类别分布;

第二softmax分类模块708,用于建立第二softmax分类模块,所述第二softmax分类模块的输入为第二解码向量、输出为第二类别分布;

第一理解模块709,用于建立第一理解模块,所述第一理解模块的输入为第一类别分布、输出为输入文本的第一语义信息;

第二理解模块710,用于建立第二理解模块,所述第二理解模块的输出为第二类别分布、输出为输入文本的第二语义信息。

需要说明的是,关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。

实施例3:

相应于上面的方法实施例,本实施例中还提供了一种自然语言理解设备,下文描述的一种自然语言理解设备与上文描述的一种自然语言理解方法可相互对应参照。

图3是根据示例性实施例示出的一种自然语言理解设备900的框图。参见图3所示,该自然语言理解设备900可以包括:处理器901,存储器902。该自然语言理解设备900还可以包括多媒体组件903,I/O接口904,以及通信组件905中的一者或多者。

其中,处理器901用于控制该自然语言理解设备900的整体操作,以完成上述的自然语言理解方法中的全部或部分步骤。存储器902用于存储各种类型的数据以支持在该自然语言理解设备900的操作,这些数据例如可以包括用于在该自然语言理解设备900上操作的任何应用程序或方法的指令,以及应用程序相关的数据,例如联系人数据、收发的消息、图片、音频、视频等等。该存储器902可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,例如静态随机存取存储器(StaticRandomAccessMemory,简称SRAM),电可擦除可编程只读存储器(ElectricallyErasableProgrammableRead-OnlyMemory,简称EEPROM),可擦除可编程只读存储器(ErasableProgrammableRead-OnlyMemory,简称EPROM),可编程只读存储器(ProgrammableRead-OnlyMemory,简称PROM),只读存储器(Read-OnlyMemory,简称ROM),磁存储器,快闪存储器,磁盘或光盘。多媒体组件903可以包括屏幕和音频组件。其中屏幕例如可以是触摸屏,音频组件用于输出和/或输入音频信号。例如,音频组件可以包括一个麦克风,麦克风用于接收外部音频信号。所接收的音频信号可以被进一步存储在存储器902或通过通信组件905发送。音频组件还包括至少一个扬声器,用于输出音频信号。I/O接口904为处理器901和其他接口模块之间提供接口,上述其他接口模块可以是键盘,鼠标,按钮等。这些按钮可以是虚拟按钮或者实体按钮。通信组件905用于该自然语言理解设备900与其他设备之间进行有线或无线通信。无线通信,例如Wi-Fi,蓝牙,近场通信(NearFieldCommunication,简称NFC),2G、3G或4G,或它们中的一种或几种的组合,因此相应的该通信组件905可以包括:Wi-Fi模块,蓝牙模块,NFC模块。

在一示例性实施例中,自然语言理解设备900可以被一个或多个应用专用集成电路(ApplicationSpecificIntegratedCircuit,简称ASIC)、数字信号处理器(DigitalSignalProcessor,简称DSP)、数字信号处理设备(DigitalSignalProcessingDevice,简称DSPD)、可编程逻辑器件(ProgrammableLogicDevice,简称PLD)、现场可编程门阵列(FieldProgrammableGateArray,简称FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述的自然语言理解方法。

在另一示例性实施例中,还提供了一种包括程序指令的计算机可读存储介质,该程序指令被处理器执行时实现上述的自然语言理解方法的步骤。例如,该计算机可读存储介质可以为上述包括程序指令的存储器902,上述程序指令可由自然语言理解设备900的处理器901执行以完成上述的自然语言理解方法。

实施例4:

相应于上面的方法实施例,本实施例中还提供了一种可读存储介质,下文描述的一种可读存储介质与上文描述的一种自然语言理解方法可相互对应参照。

一种可读存储介质,可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述方法实施例的自然语言理解方法的步骤。

该可读存储介质具体可以为U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(RandomAccessMemory,RAM)、磁碟或者光盘等各种可存储程序代码的可读存储介质。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

相关技术
  • 一种浴室加热装置和用于控制浴室加热装置的方法、设备、电子设备及计算机可读存储介质
  • 一种存储池创建方法、装置、设备及可读存储介质
  • 一种元数据存储方法、装置、设备及计算机可读存储介质
  • 一种日志存储方法、装置、设备及可读存储介质
  • 一种数据存储方法、装置、设备及计算机可读存储介质
  • 基于自然语言理解的信息搜索方法、装置、设备及可读存储介质
  • 基于自然语言理解的信息搜索方法、装置、设备及可读存储介质
技术分类

06120115918163