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

端到端模型训练方法、语义理解方法、装置、设备和介质

文献发布时间:2023-06-19 16:04:54



技术领域

本公开涉及计算机领域和自然语言处理领域,尤其涉及一种端到端模型训练方法、语义理解方法、装置、设备和介质。

背景技术

自然语言处理是计算机科学领域与人工智能领域中的一个重要方向,能实现人与计算机之间用自然语言进行有效通信。语义理解是自然语言处理中的重要任务,也是实现智能交互的核心。其主要目的是通过自然语言处理相关技术,识别并标注出用户的音频数据所对应的意图及关键词语的槽位信息。但是,由于中文语义的多样性、文字词语的灵活性以及汉语语言的复杂性等,现有技术中语义理解不够准确,使得用户体验不佳。

发明内容

为了解决上述技术问题,本公开提供了一种端到端模型训练方法、语义理解方法、装置、设备和介质。

第一方面,本公开提供了一种端到端语义理解模型训练方法,该方法包括:

获取训练样本,所述训练样本包括自然语言文本、所述自然语言文本对应的关键词集合以及关键词对应的标签信息集合;

定义端到端语义理解模型的框架,基于所述端到端语义理解模型的框架和所述训练样本,生成对应的语义理解结果,所述语义理解结果包括意图识别结果、关键词以及每个关键词对应的标签信息;

基于预设损失函数,根据所述训练样本对所述端到端语义理解模型的框架进行训练,得到端到端语义理解模型。

作为本公开实施例一种可选的实施方式,所述端到端语义理解模型的框架包括语义特征提取单元、全连接层以及目标结果分数计算单元;

所述语义特征提取单元用于基于所述自然语言文本生成对应的语义向量;

所述全连接层用于对所述语义向量进行融合处理,得到意图识别预测向量和关键词预测向量;

所述目标结果分数计算单元用于基于所述意图识别预测向量和所述关键词预测向量分别得到对应的预测分数,并基于所述预测分数确定所述自然语言文本对应的语义理解结果。

作为本公开实施例一种可选的实施方式,所述基于所述意图识别预测向量和所述关键词预测向量分别得到对应的预测分数,并基于所述预测分数确定所述自然语言文本对应的语义理解结果,包括:

基于所述意图识别预测向量,根据第一参数矩阵,确定对应的第一预测分数;

基于所述关键词预测向量,根据第二参数矩阵,确定对应的第二预测分数;

基于所述意图识别预测向量和所述关键词预测向量,根据第三参数矩阵,确定对应的第三预测分数;

基于所述第一预测分数、所述第二预测分数以及所述第三预测分数,确定所述自然语言文本对应的语义理解结果。

作为本公开实施例一种可选的实施方式,所述语义特征提取单元包括:语义表示层和编码层;

所述语义表示层,用于基于所述自然语言文本生成对应的表示向量;

所述编码层,用于对所述表示向量进行特征提取,得到所述自然语言文本对应的语义向量。作为本公开实施例一种可选的实施方式,所述基于预设损失函数,根据所述训练样本对所述端到端语义理解模型的框架进行训练,得到端到端语义理解模型,包括:

根据所述第一预测分数、所述第二预测分数、所述第三预测分数以及所述标签信息集合,确定所述预设损失函数对应的损失值;

根据所述损失值,调整所述端到端语义理解模型的框架的参数,直至所述端到端语义理解模型的框架收敛,得到端到端语义理解模型。

第二方面,本公开提供了一种语义理解方法,该方法包括:

获取待预测文本;

将所述待预测文本输入端到端语义理解模型中,得到所述待预测文本对应的目标语义理解结果;

其中,所述端到端语义理解模型基于如第一方面任一项所述的方法训练得到。

第三方面,本公开提供了一种端到端语义理解模型训练装置,该装置包括:

样本获取模块,用于获取训练样本,所述训练样本包括自然语言文本、所述自然语言文本对应的关键词集合以及关键词对应的标签信息集合;

框架确定模块,用于定义端到端语义理解模型的框架,基于所述端到端语义理解模型的框架和所述训练样本,生成对应的语义理解结果,所述语义理解结果包括意图识别结果、关键词以及每个关键词对应的标签信息;

模型确定模块,用于基于预设损失函数,根据所述训练样本对所述端到端语义理解模型的框架进行训练,得到端到端语义理解模型。

作为本公开实施例一种可选的实施方式,所述端到端语义理解模型的框架包括语义特征提取单元、全连接层以及目标结果分数计算单元;

所述语义特征提取单元用于基于所述自然语言文本生成对应的语义向量;

所述全连接层用于对所述语义向量进行融合处理,得到意图识别预测向量和关键词预测向量;

所述目标结果分数计算单元用于基于所述意图识别预测向量和所述关键词预测向量分别得到对应的预测分数,并基于所述预测分数确定所述自然语言文本对应的语义理解结果。

作为本公开实施例一种可选的实施方式,所述目标结果分数计算单元,具体用于:

基于所述意图识别预测向量,根据第一参数矩阵,确定对应的第一预测分数;

基于所述关键词预测向量,根据第二参数矩阵,确定对应的第二预测分数;

基于所述意图识别预测向量和所述关键词预测向量,根据第三参数矩阵,确定对应的第三预测分数;

基于所述第一预测分数、所述第二预测分数以及所述第三预测分数,确定所述自然语言文本对应的语义理解结果。

作为本公开实施例一种可选的实施方式,所述语义特征提取单元包括:语义表示层和编码层;

所述语义表示层,用于基于所述自然语言文本生成对应的表示向量;

所述编码层,用于对所述表示向量进行特征提取,得到所述自然语言文本对应的语义向量。

作为本公开实施例一种可选的实施方式,所述模型确定模块,具体用于:

根据所述第一预测分数、所述第二预测分数、所述第三预测分数以及所述标签信息集合,确定所述预设损失函数对应的损失值;

根据所述损失值,调整所述端到端语义理解模型的框架的参数,直至所述端到端语义理解模型的框架收敛,得到端到端语义理解模型。第四方面,本公开提供了一种语义理解装置,该装置包括:

文本获取模块,用于获取待预测文本;

结果确定模块,用于将所述待预测文本输入端到端语义理解模型中,得到所述待预测文本对应的目标语义理解结果;

其中,所述端到端语义理解模型基于如第一方面任一项所述的方法训练得到。

第五方面,本公开还提供了一种计算机设备,包括:

一个或多个处理器;

存储装置,用于存储一个或多个程序,

当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如第一方面中任一项所述的端到端语义理解模型训练方法,或者第二方面中所述的语义理解方法。

第六方面,本公开还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如第一方面中任一项所述的端到端语义理解模型训练方法,或者第二方面中所述的语义理解方法。

本公开实施例提供的技术方案与现有技术相比具有如下优点:首先获取训练样本,训练样本包括自然语言文本、自然语言文本对应的关键词集合以及关键词对应的标签信息集合,然后定义端到端语义理解模型的框架,基于端到端语义理解模型的框架和训练样本,生成对应的语义理解结果,语义理解结果包括意图识别结果、关键词以及每个关键词对应的标签信息,最后基于预设损失函数,根据训练样本对端到端语义理解模型的框架进行训练,得到端到端语义理解模型,通过训练样本对端到端语义理解模型的框架进行端到端训练,得到端到端语义理解模型,使得语义理解更准确,减少误差的积累,且有利于提高领域对话理解的准确性。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。

为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1A为现有技术中语义理解过程的示意图;

图1B为本公开实施例中一种语义理解过程的应用场景示意图;

图2A为根据本公开一个或多个实施例的计算机设备的硬件配置框图;

图2B为根据本公开一个或多个实施例的计算机设备的软件配置示意图;

图2C为根据本公开一个或多个实施例的智能设备中包含的应用程序的图标控件界面显示示意图;

图3A是本公开实施例提供的一种端到端语义理解模型训练方法的流程示意图;

图3B是本公开实施例提供的一种端到端语义理解模型训练方法的原理示意图;

图4A是本公开实施例提供的另一种端到端语义理解模型训练方法的流程示意图;

图4B是本公开实施例提供的另一种端到端语义理解模型训练方法的原理示意图;

图4C是本公开实施例提供的端到端语义理解模型的框架中语义特征提取单元的结构示意图;

图4D是本公开示例性实施例的端到端语义理解模型的框架的结构示意图;

图4E是本公开实施例提供的端到端语义理解模型的框架中目标结果分数计算单元的结构示意图;

图5是本公开实施例提供的一种端到端语义理解模型的总体框架图;

图6A是本公开实施例提供的一种语义理解方法的流程示意图;

图6B是本公开实施例提供的一种语义理解方法的原理示意图;

图7A为本公开实施例提供的一种端到端语义理解模型训练装置的结构示意图;

图7B是本公开实施例端到端语义理解模型训练装置中框架确定模块的结构示意图;

图8为本公开实施例提供的一种语义理解装置的结构示意图;

图9是本公开实施例提供的一种计算机设备的结构示意图。

具体实施方式

为了能够更清楚地理解本公开的上述目的、特征和优点,下面将对本公开的方案进行进一步描述。需要说明的是,在不冲突的情况下,本公开的实施例及实施例中的特征可以相互组合。

在下面的描述中阐述了很多具体细节以便于充分理解本公开,但本公开还可以采用其他不同于在此描述的方式来实施;显然,说明书中的实施例只是本公开的一部分实施例,而不是全部的实施例。

本公开中的术语“第一”和“第二”等是用于区别不同的对象,而不是用于描述对象的特定顺序。例如,第一预测分数和第二预测分数等是用于区别不同的预测分数,而不是用于描述预测分数的特定顺序。

随着智能化技术的高速发展以及智能终端的日益普及,语音、语义等多模态交互成为越来越重要的方式。语义理解(Semantic Understanding)是自然语言处理中的重要任务,也是实现智能交互的核心,其主要目的是通过自然语言处理(Natural languageprocessing,简称NLP)相关技术,识别并标注出用户的音频数据的对应意图及关键词语的槽位信息,槽位信息可以理解为关键词语所属的标签信息。在自然语言处理中,很多任务都依赖语义理解,例如:智能问答、智能家居以及语音助手等,都需要识别并标注出用户的音频数据的语义意图和对应的关键词信息,然后进行其他业务处理。但是,由于中文语义的多样性、文字词语的灵活性以及汉语语言的复杂性,如何提升语义理解的准确性一直是自然语言处理领域所关注的核心问题。

当前垂域语义理解任务通常采用pipeline(管线)方式,分为意图识别(IntentionRecognition)和槽位抽取(Slot Extraction)两个部分。其中,意图识别是指识别该领域下用户的音频数据(如用户的查询query)的具体意图,如在影视垂域下,“我想看XX的电影”与“我想听XX的相声”,分别具有不同的“电影搜索”与“相声搜索”的意图。而意图识别的常用实现方法主要包括基于词典模板的规则分类和基于分类模型的意图分类等;槽位抽取是从音频数据中抽取出被明确定义出的特定概念、属性以及属性值等,并标注其槽位信息,如“我想看DEF的电影”需要识别出演员实体(actor)->“DEF”;影视属性(video topic)->“电影”等关键槽位信息,槽位抽取一般采用序列标注问题进行解决。垂域语义理解任务由意图识别任务和槽位抽取任务串联解决,而意图识别和槽位抽取两个子任务都会产生不同的误差,则整个垂域语义理解任务的准确性为两个子任务准确性连乘,因此,采用pipeline的方式,容易造成子任务误差积累,降低垂域语义理解任务的准确性。

需要说明的是:意图识别相当于是确定音频数据对应的一个分类,而槽位抽取相当于是在该分类下确定更详细的关键词信息,二者结合是为了对音频数据进行更深层次的语义理解。

图1A为现有技术中语义理解过程的示意图。如图1所示,其主要的实现流程如下图所示:自然语言文本为对用户的音频数据A进行识别后所得到的文本内容,也可以为其他文本内容,本实施例不做限制。首先对自然语言文本进行识别,再进行槽位抽取,最终得到自然语言文本所对应的语义理解结果。但是该方法中,由于意图识别和槽位抽取是两个任务,因此容易造成误差的积累,得到的语义理解结果不够准确。

针对上述方法中的缺点,本公开实施例通过先获取训练样本,训练样本包括音频数据对应的自然语言文本、自然语言文本对应的关键词集合以及关键词对应的标签信息集合,然后定义端到端语义理解模型的框架,基于端到端语义理解模型的框架和训练样本,生成对应的语义理解结果,语义理解结果包括意图识别结果、关键词以及每个关键词对应的标签信息,最后基于预设损失函数,根据训练样本对端到端语义理解模型的框架进行训练,得到端到端语义理解模型,通过训练样本对端到端语义理解模型的框架进行端到端训练,得到端到端语义理解模型降低了模型的复杂度,能够使得语义理解更准确,减少误差的积累,且有利于提高领域对话理解的准确性。

图1B为本公开实施例中一种语义理解过程的应用场景示意图。如图1B所示,语义理解过程可用于用户与智能家居的语音交互场景中,假设该场景中的智能设备包括智能设备100(即智能冰箱)、智能设备101(即智能洗衣机)和智能设备102(即智能显示设备),用户想要对该场景中的智能设备进行控制时,需要先发出语音指令,而智能设备在接收到该语音指令时,需要对该语音指令进行语义理解,确定与该语音指令所对应的语义理解结果,便于后续智能设备根据语义理解结果,执行相应的控制指令,满足用户的使用需求。

本公开实施例提供的端到端语义理解模型训练方法和语义理解方法,可以基于计算机设备,或者计算机设备中的功能模块或者功能实体实现。

其中,计算机设备可以为个人计算机(personal computer,PC)、服务器、手机、平板电脑、笔记本电脑、大型计算机等,本公开实施例对此不作具体限定。

示例性的,图2A为根据本公开一个或多个实施例的计算机设备的硬件配置框图。如图2A所示,计算机设备包括:调谐解调器210、通信器220、检测器230、外部装置接口240、控制器250、显示器260、音频输出接口270、存储器、供电电源、用户接口280中的至少一种。其中,控制器250包括中央处理器,视频处理器,音频处理器,图形处理器,RAM,ROM,用于输入/输出的第一接口至第n接口。显示器260可为液晶显示器、OLED显示器、触控显示器以及投影显示器中的至少一种,还可以为一种投影装置和投影屏幕。调谐解调器210通过有线或无线接收方式接收广播电视信号,以及从多个无线或有线广播电视信号中解调出音视频信号,如EPG音视频数据信号。通信器220是用于根据各种通信协议类型与外部设备或服务器进行通信的组件。例如:通信器可以包括Wifi模块,蓝牙模块,有线以太网模块等其他网络通信协议芯片或近场通信协议芯片,以及红外接收器中的至少一种。计算机设备可以通过通信器220与服务器或者本地控制设备建立控制信号和数据信号的发送和接收。检测器230用于采集外部环境或与外部交互的信号。控制器250和调谐解调器210可以位于不同的分体设备中,即调谐解调器210也可在控制器250所在的主体设备的外置设备中,如外置机顶盒等。

在一些实施例中,控制器250,通过存储在存储器上中各种软件控制程序,来控制计算机设备的工作和响应用户的操作。控制器250控制计算机设备的整体操作。用户可在显示器260上显示的图形用户界面(GUI)输入用户命令,则用户输入接口通过图形用户界面(GUI)接收用户输入命令。或者,用户可通过输入特定的声音或手势进行输入用户命令,则用户输入接口通过传感器识别出声音或手势,来接收用户输入命令。

图2B为根据本公开一个或多个实施例的计算机设备的软件配置示意图,如图2B所示,将系统分为四层,从上至下分别为应用程序(Applications)层(简称“应用层”),应用程序框架(Application Framework)层(简称“框架层”),安卓运行时(Android runtime)和系统库层(简称“系统运行库层”),以及内核层。

图2C为根据本公开一个或多个实施例的智能设备(主要为智能播放设备,例如智能电视、数字影院系统或者影音服务器等)中包含的应用程序的图标控件界面显示示意图,如图2C中所示,应用程序层包含至少一个应用程序可以在显示器中显示对应的图标控件,如:直播电视应用程序图标控件、视频点播VOD应用程序图标控件、媒体中心应用程序图标控件、应用程序中心图标控件、游戏应用图标控件等。直播电视应用程序,可以通过不同的信号源提供直播电视。视频点播VOD应用程序,可以提供来自不同存储源的视频。不同于直播电视应用程序,视频点播提供来自某些存储源的视频显示。媒体中心应用程序,可以提供各种多媒体内容播放的应用程序。应用程序中心,可以提供储存各种应用程序。

为了更加详细的说明端到端语义理解模型训练方案,以下将以示例性的方式结合图3A进行说明,可以理解的是,图3A中所涉及的步骤在实际实现时可以包括更多的步骤,或者更少的步骤,并且这些步骤之间的顺序也可以不同,以能够实现本申请实施例中提供的端到端语义理解模型训练方法为准。

图3A是本公开实施例提供的一种端到端语义理解模型训练方法的流程示意图;图3B是本公开实施例提供的一种端到端语义理解模型训练方法的原理示意图。本实施例可适用于对端到端语义理解模型的框架进行训练得到端到端语义理解模型的情况。本实施例方法可由端到端语义理解模型训练装置来执行,该装置可采用硬件/或软件的方式来实现,并可配置于计算机设备中。

如图3A所示,该方法具体包括如下步骤:

S310,获取训练样本,训练样本包括自然语言文本、自然语言文本对应的关键词集合以及关键词对应的标签信息集合。

其中,训练样本可以为从预先确定的训练数据集中所确定的训练样本。训练数据集可以中可以包括基于多个不同用户的多种类型的音频数据所确定的每个音频数据对应的文本内容或者收集的其他文本内容、文本内容中包含的关键词所形成的集合,以及各关键词对应的标签信息所形成的集合。关键词可以理解为文本内容中包含的重要词语。标签信息可以理解为每个关键词对应的属性,如人物属性:演员、歌手以及运动员等;影视属性:电视剧、电影以及综艺节目等。自然语言文本为:从训练数据集中确定的文本内容。

在本公开实施例中,在训练模型之前,需要收集大量训练样本,该大量的训练样本中,可以包括不同类型的自然语言文本、自然语言文本对应的关键词集合以及关键词对应的标签信息集合。

S320,定义端到端语义理解模型的框架,基于端到端语义理解模型的框架和训练样本,生成对应的语义理解结果,语义理解结果包括意图识别结果、关键词以及每个关键词对应的标签信息。

其中,意图识别结果可以理解为自然语言文本中包含的主要意图,即主要事件。例如,自然语言文本为:“我想看XX的电影”,则对应的意图识别结果为:“电影搜索”意图。

在本公开实施例中,通过定义端到端语义理解模型的框架,并通过该框架能够对自然语言文本进行识别,得到自然语言文本对应的意图识别结果、自然语言文本中包含的关键词以及每个关键词对应的标签信息。即:端到端语义理解模型的框架中融合了意图识别和槽位抽取两个任务,能够同时对自然语言文本进行意图识别和槽位抽取。

示例性的,假设自然语言文本为:“看XX的电影”,则通过端到端语义理解模型的框架需要识别出意图识别结果:电影搜索;关键词:XX和电影;每个关键词对应的标签信息:XX对应的标签信息为演员、电影对应的标签信息为影视节目。

S330,基于预设损失函数,根据训练样本对端到端语义理解模型的框架进行训练,得到端到端语义理解模型。

其中,预设损失函数可以为联结时序分类(Connectionist TemporalClassification,简称CTC)损失函数、多分类交叉熵损失函数以及均方损失函数等,具体可以根据实际使用需求确定,还可以通过用户自定义设置,本公开实施例不做限定。

在本公开实施例中,预设损失函数为语义理解模型是否训练合格的衡量标准,从而,有效保证训练得到的语义理解模型具有较高精度的识别结果。可通过预设损失函数计算基于端到端语义理解模型的框架生成的语义理解结果与自然语言文本对应的实际语义理解结果的相似性,来验证端到端语义理解模型的识别精度,以训练出准确度高的端到端语义理解模型。

在本公开实施例中,可以将上述S310中获取的大量训练样本分为训练集和验证集,利用训练集对端到端语义理解模型的框架进行训练,得到端到端语义理解模型,再用验证集对得到的端到端语义理解模型进行验证,若验证合格,则得到训练后的端到端语义理解模型。

在本公开实施例中,首先获取训练样本,训练样本包括自然语言文本、自然语言文本对应的关键词集合以及关键词对应的标签信息集合,然后定义端到端语义理解模型的框架,基于端到端语义理解模型的框架和训练样本,生成对应的语义理解结果,语义理解结果包括意图识别结果、关键词以及每个关键词对应的标签信息,最后基于预设损失函数,根据训练样本对端到端语义理解模型的框架进行训练,得到端到端语义理解模型,通过训练样本对端到端语义理解模型的框架进行端到端训练,得到端到端语义理解模型,使得语义理解更准确,减少误差的积累,且有利于提高领域对话理解的准确性。

图4A是本公开实施例提供的另一种端到端语义理解模型训练方法的流程示意图;图4B是本公开实施例提供的另一种端到端语义理解模型训练方法的原理示意图。本实施例是在上述实施例的基础上进一步扩展与优化。可选的,本实施例主要对端到端语义理解模型的框架的结构进行说明。

S410,获取训练样本,训练样本包括音频数据对应的自然语言文本、自然语言文本对应的关键词集合以及关键词对应的标签信息集合。

S420,定义端到端语义理解模型的框架,端到端语义理解模型的框架包括语义特征提取单元、全连接层以及目标结果分数计算单元。

其中,语义特征提取单元用于基于所述自然语言文本生成对应的语义向量;全连接层用于对所述语义向量进行融合处理,最终得到意图识别预测向量和关键词预测向量;目标结果分数计算单元用于基于所述意图识别预测向量和所述关键词预测向量分别得到对应的预测分数,并基于所述预测分数确定所述自然语言文本对应的语义理解结果。语义向量通常为高维语义向量。

语义特征提取单元的输入为自然语言文本,通过语义特征提取单元先将该自然语言文本中的每个字符转换成对应的表示向量,再对每个表示向量进行特征提取,生成每个字符对应的高维语义向量。全连接层与语义特征提取单元相连,主要是对语义特征提取单元生成的高维语义向量进行整合和降维,其中全连接层包含两个独立的网络,其中一个全连接网络将各字符对应的高维语义向量进行整合输出,然后将各字符整合输出后的向量进行拼接,得到意图识别预测向量;另一个全连接网络则同样是对待预测的关键词的字符对应的高维语义向量进行整合和降维,然后将待预测的关键词对应的字符整合输出后的向量进行拼接,得到关键词预测向量。目标结果分数计算单元则是基于意图识别预测向量和关键词预测向量,根据对应的参数矩阵,能够得到对应的概率预测分数,并基于概率预测分数确定自然语言文本对应的语义理解结果。

在一些实施例中,所述语义特征提取单元包括:语义表示层和编码层;

所述语义表示层,用于基于所述自然语言文本生成对应的表示向量;

所述编码层,用于对所述表示向量进行特征提取,得到所述自然语言文本对应的语义向量。

其中,语义表示层可以采用静态向量文件、动态向量模型、预训练语言模型或者静态向量文件与动态向量模型结合的方式,本实施例不做具体限定。静态字向量文件可以为预先训练好的包含多个汉字及对应表征向量的模型文件。动态向量模型可以为Bert(Bidirectional Encoder Representation from Transformers)预训练模型、生成式预训练模型,如GPT模型等,本实施例不做具体限定。编码层可以采用Transformer-Encoder结构,也可以采用长短期记忆网络(Long Short-Term Memory,简称LSTM)或者循环神经网络(Recurrent Neural Network,简称RNN)等模型,本实施例不做限定。表示向量可以理解为将字符用向量表示所得到的向量。语义向量可以理解为包含语义信息的向量。

本实施例中,通过语义表示层能够将自然语言文本转换成对应的表示向量,以及通过编码层对表示向量进行特征提取,得到自然语言文本对应的语义向量,能够提取出自然语言文本中更深层次的特征,使得提取的特征更丰富,效率更快。

在一些实施例中,所述基于所述自然语言文本生成对应的表示向量,可以具体包括:

根据静态向量文件确定所述自然语言文本对应的第一表示向量;

根据动态向量模型生成所述自然语言文本对应的第二表示向量;

对所述第一表示向量和所述第二表示向量进行拼接,得到所述表示向量。

具体的,根据静态向量模型能够确定自然语言文本中每一个字符对应的第一表示向量,根据动态向量模型能够生成自然语言文本中每一个字符对应的第二表示向量,且第二表示向量之间的前后联系更紧密。针对自然语言文本中的每一个字符,将当前字符对应的第一表示向量和第二表示向量进行拼接,就得到了当前字符对应的表示向量,以此类推,就能够得到自然语言文本中每个字符所对应的表示向量。

本实施例中,通过静态向量文件和动态向量模型二者结合的方式,得到表示向量,能够更好的对自然语言文本的语义特征进行表示。

示例性的,上述通过拼接得到表示向量的过程可以用下式表示:

x

其中,x

在一些实施例中,假设语义表示层得到的表示向量为x

其中,

相应的,通过全连接层对语义向量进行融合处理,得到意图识别预测向量和关键词预测向量的公式如下所示:

g

h

其中,g

在一些实施例中,所述基于所述意图识别预测向量和所述关键词预测向量分别得到对应的预测分数,并基于所述预测分数确定所述自然语言文本对应的语义理解结果,可以具体包括:

基于所述意图识别预测向量,根据第一参数矩阵,确定对应的第一预测分数;

基于所述关键词预测向量,根据第二参数矩阵,确定对应的第二预测分数;

基于所述意图识别预测向量和所述关键词预测向量,根据第三参数矩阵,确定对应的第三预测分数;

基于所述第一预测分数、所述第二预测分数以及所述第三预测分数,确定所述自然语言文本对应的语义理解结果。

其中,第一参数矩阵为意图识别预测向量对应的参数矩阵。第二参数矩阵为关键词预测向量对应的参数矩阵。第三参数矩阵为意图识别预测向量和关键词预测向量组合后的向量所对应的参数矩阵。

在一些实施例中,结合上述公式(1)-(9),第一预测分数、第二预测分数和第三预测分数可以通过下式表示:

S

S

S

其中,S

在根据上述(10)-(12)的公式分别确定出第一预测分数、第二预测分数以及第三预测分数之后,根据第一预测分数、第二预测分数以及第三预测分数这三个分数之和的具体数值,能够确定得到的多个语义理解结果是否准确,三个分数之和越大,对应的语义理解结果越准确。

S430,基于预设损失函数,根据训练样本对端到端语义理解模型的框架进行训练,得到端到端语义理解模型。

本实施例中,首先获取训练样本,训练样本包括音频数据对应的自然语言文本、自然语言文本对应的关键词集合以及关键词对应的标签信息集合,然后定义端到端语义理解模型的框架,端到端语义理解模型的框架包括语义特征提取单元、全连接层以及目标结果分数计算单元,最后基于预设损失函数,根据训练样本对端到端语义理解模型的框架进行训练,得到端到端语义理解模型,基于上述端到端语义理解模型的框架进行训练,有利于提高端到端语义理解模型的准确性,进一步提高领域对话理解的准确性。

在一些实施例中,所述基于预设损失函数,根据训练样本对端到端语义理解模型的框架进行训练,得到端到端语义理解模型,可以具体包括:

根据所述第一预测分数、所述第二预测分数、所述第三预测分数以及所述标签信息集合,确定所述预设损失函数对应的损失值;

根据所述损失值,调整所述端到端语义理解模型的框架的参数,直至所述端到端语义理解模型的框架收敛,得到端到端语义理解模型。

在一些实施例中,预设损失函数的公式如下所示:

S(b,p,r)=S

Loss=-logp

其中,s为自然语言文本,模型参数为θ,Y表示所有组合的三元组,B=[b

具体的,根据第一预测分数、第二预测分数、第三预测分数以及标签信息集合,能够确定出预设损失函数对应的损失值,根据该损失值,调整端到端语义理解模型的框架的参数,直至端到端语义理解模型的框架收敛,得到端到端语义理解模型。

在本实施例中,通过上述方法得到端到端语义理解模型简单高效,有利于提高领域对话理解的准确性。

图4C是本公开实施例提供的端到端语义理解模型的框架中语义特征提取单元的结构示意图,如图4C所示:该语义特征提取单元可以包括语义表示层和编码层。语义表示层和编码层的作用在上述实施例中已经描述过,为了避免重复,此处不再赘述。

图4D是本公开示例性实施例的端到端语义理解模型的框架的结构示意图,如图4D所示:该端到端语义理解模型的框架可以包括Bert预训练模型、Transformer-Encoder、全连接层以及目标结果分数计算单元。Bert预训练模型、Transformer-Encoder、全连接层以及目标结果分数计算单元的作用在上述实施例中已经描述过,为了避免重复,此处不再赘述。

图4E是本公开实施例提供的端到端语义理解模型的框架中目标结果分数计算单元的结构示意图,如图4E所示:目标结果分数计算单元可以包括第一分数确定子单元、第二分数确定子单元、第三分数确定子单元以及结果确定子单元。其中,第一分数确定子单元具体用于:基于意图识别预测向量,根据第一参数矩阵,确定对应的第一预测分数;第二分数确定子单元具体用于:基于关键词预测向量,根据第二参数矩阵,确定对应的第二预测分数;第三分数确定子单元具体用于:基于意图识别预测向量和关键词预测向量,根据第三参数矩阵,确定对应的第三预测分数;结果确定子单元具体用于:基于第一预测分数、第二预测分数以及第三预测分数,确定自然语言文本对应的语义理解结果。

图5是本公开实施例提供的一种端到端语义理解模型的总体框架图,如图5所示:假设自然语言文本为“看BC的电影”,该文本共有六个字符,首先通过语义表示层得到每个字符对应的表示向量;接着通过编码层得到每个字符对应的语义向量,然后通过全连接层将对语义向量进行处理,得到意图识别预测向量和关键词预测向量。具体为通过全连接层的第一全连接网络得到:“看”字对应的第一语义向量为:g

需要说明的是:上述确定自然语言文本对应的语义理解结果的过程已经在上述实施例中描述过,相关的细节此处不再赘述。

图6A是本公开实施例提供的一种语义理解方法的流程示意图;图6B是本公开实施例提供的一种语义理解方法的原理示意图。本实施例可适用于对待预测文本进行预测,得到对应的目标语义理解结果的情况。本实施例方法可由语义理解装置来执行,该装置可采用硬件/或软件的方式来实现,并可配置于计算机设备中。

如图6A所示,该方法具体包括如下步骤:

S610,获取待预测文本。

其中,待预测文本可以为用户的音频数据,例如用户与智能设备语音交互过程中的语音数据,也可以为输入的文本,本实施例不做限定。

S620,将待预测文本输入端到端语义理解模型中,得到待预测文本对应的目标语义理解结果。

其中,所述端到端语义理解模型基于任一实施例所述的端到端语义理解模型训练方法训练得到。目标语义理解结果为端到端语义理解模型的输出结果。目标语义理解结果可以包括待预测文本对应的意图识别结果、关键词以及每个关键词对应的标签信息。

将待预测文本输入至端到端语义理解模型中,就能够得到待预测文本对应的目标语义理解结果。

在本实施例中,通过该语义理解方法,能够快速准确的实现语义理解过程,提高领域对话理解的准确性。

图7A为本公开实施例提供的一种端到端语义理解模型训练装置的结构示意图。该装置配置于计算机设备中,可实现本申请任意实施例所述的端到端语义理解模型训练方法。该装置具体包括如下:

样本获取模块701,用于获取训练样本,所述训练样本包括自然语言文本、所述自然语言文本对应的关键词集合以及关键词对应的标签信息集合;

框架确定模块702,用于定义端到端语义理解模型的框架,基于所述端到端语义理解模型的框架和所述训练样本,生成对应的语义理解结果,所述语义理解结果包括意图识别结果、关键词以及每个关键词对应的标签信息;

模型确定模块703,用于基于预设损失函数,根据所述训练样本对所述端到端语义理解模型的框架进行训练,得到端到端语义理解模型。

作为本公开实施例一种可选的实施方式,图7B是本公开实施例端到端语义理解模型训练装置中框架确定模块702的结构示意图,如图7B所示,框架确定模块702包括:

语义特征提取单元7021,用于基于所述自然语言文本生成对应的语义向量;

全连接层7022,用于对所述语义向量进行融合处理,得到意图识别预测向量和关键词预测向量;

目标结果分数计算单元7023,用于基于所述意图识别预测向量和所述关键词预测向量分别得到对应的预测分数,并基于所述预测分数确定所述自然语言文本对应的语义理解结果。作为本公开实施例一种可选的实施方式,所述目标结果分数计算单元7023,具体用于:

基于所述意图识别预测向量,根据第一参数矩阵,确定对应的第一预测分数;

基于所述关键词预测向量,根据第二参数矩阵,确定对应的第二预测分数;

基于所述意图识别预测向量和所述关键词预测向量,根据第三参数矩阵,确定对应的第三预测分数;

基于所述第一预测分数、所述第二预测分数以及所述第三预测分数,确定所述自然语言文本对应的语义理解结果。

作为本公开实施例一种可选的实施方式,所述语义特征提取单元7021包括:语义表示层和编码层;

所述语义表示层,用于基于所述自然语言文本生成对应的表示向量;

所述编码层,用于对所述表示向量进行特征提取,得到所述自然语言文本对应的语义向量。

作为本公开实施例一种可选的实施方式,所述模型确定模块703,具体用于:

根据所述第一预测分数、所述第二预测分数、所述第三预测分数以及所述标签信息集合,确定所述预设损失函数对应的损失值;

根据所述损失值,调整所述端到端语义理解模型的框架的参数,直至所述端到端语义理解模型的框架收敛,得到端到端语义理解模型。本公开实施例所提供的端到端语义理解模型训练装置可执行本公开任意实施例所提供的端到端语义理解模型训练方法,具备执行方法相应的功能模块和有益效果。

图8为本公开实施例提供的一种语义理解装置的结构示意图。该装置配置于计算机设备中,可实现本申请任意实施例所述的语义理解方法。该装置具体包括如下:

文本获取模块801,用于获取待预测文本;

结果确定模块802,用于将所述待预测文本输入端到端语义理解模型中,得到所述待预测文本对应的目标语义理解结果;

其中,所述端到端语义理解模型基于任一实施例所述的端到端语义理解模型训练方法训练得到。

本公开实施例所提供的语义理解装置可执行本公开任意实施例所提供的语义理解方法,具备执行方法相应的功能模块和有益效果,为避免重复,这里不再赘述。

本公开实施例提供一种计算机设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本公开实施例中的任一种所述的端到端语义理解模型训练方法,或者本公开实施例中的任一种所述的语义理解方法。

图9是本公开实施例提供的一种计算机设备的结构示意图。如图9所示,该计算机设备包括处理器910和存储装置920;计算机设备中处理器910的数量可以是一个或多个,图9中以一个处理器910为例;计算机设备中的处理器910和存储装置920可以通过总线或其他方式连接,图9中以通过总线连接为例。

存储装置920作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本公开实施例中的端到端语义理解模型训练方法对应的程序指令/模块;或者本公开实施例中的语义理解方法对应的程序指令/模块。处理器910通过运行存储在存储装置920中的软件程序、指令以及模块,从而执行计算机设备的各种功能应用以及数据处理,即实现本公开实施例所提供的端到端语义理解模型训练方法或者语义理解方法。

存储装置920可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储装置920可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储装置920可进一步包括相对于处理器910远程设置的存储器,这些远程存储器可以通过网络连接至计算机设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

本实施例提供的一种计算机设备可用于执行上述任意实施例提供的方法,具备相应的功能和有益效果。

本公开实施例还提供了一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时实现上述任意实施例提供的方法执行的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。

其中,该计算机可读存储介质可以为只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等。

为了方便解释,已经结合具体的实施方式进行了上述说明。但是,上述在一些实施例中讨论不是意图穷尽或者将实施方式限定到上述公开的具体形式。根据上述的教导,可以得到多种修改和变形。上述实施方式的选择和描述是为了更好的解释原理以及实际的应用,从而使得本领域技术人员更好的使用实施方式以及适于具体使用考虑的各种不同的变形的实施方式。

技术分类

06120114698821