用于语音对话平台的语义资源训练方法及系统与流程

文档序号:15969610发布日期:2018-11-16 23:23阅读:299来源:国知局

本发明涉及语义训练领域,尤其涉及一种用于语音对话平台的语义资源训练方法及系统。

背景技术

开发者在语音对话平台的前端进行的操作,例如语音技能的配置修改、添加/修改任务、添加/修改意图等,一旦开发者修改了这些数据,语音对话平台就需要进行语义训练,开发者可以根据语音对话平台的语义训练结果来进行进一步的开发操作。

在语义训练的时候,为了减少语义训练的复杂度,通常会将层级扁平化,之后再进行训练。

在实现本发明过程中,发明人发现相关技术中至少存在如下问题:

由于扁平化的处理,导致扁平化之后每次的训练都需要训练全部的语义资源,不能做到迭代训练,训练速度较慢;其次,在语义识别的时候,每次都需要使用非常大的语义资源来做识别,这样大大占用了识别的时间,使得识别速度缓慢,并且增加了识别中的资源使用。



技术实现要素:

为了至少解决现有技术中训练语义资源速度较慢,扁平化处理导致的识别速度缓慢,识别中资源占用率高的问题。

第一方面,本发明实施例提供一种用于语音对话平台的语义资源训练方法,包括:

响应于语音对话平台中语音产品的发布按钮的点击,在所述语音产品的历史训练信息中获取训练脚本的第一版本号,获取所述语音对话平台的训练脚本的第二版本号;

当所述第一版本号与所述第二版本号一致时,确定所述语音产品中未修改数据对应的第一语义资源,被修改数据对应的第二语义资源;

根据所述被修改数据,确定所述第二语义资源的训练类别,为所述第二语义资源确定至少一个子训练;

通过所述至少一个子训练,确定第三语义资源,将所述第一语义资源与所述第三语义资源结合,以完成所述语义资源的训练。

第二方面,本发明实施例提供一种用于语音对话平台的语义资源训练系统,包括:

版本号确定程序模块,用于响应于语音对话平台中语音产品的发布按钮的点击,在所述语音产品的历史训练信息中获取训练脚本的第一版本号,获取所述语音对话平台的训练脚本的第二版本号;

语义资源确定程序模块,用于当所述第一版本号与所述第二版本号一致时,确定所述语音产品中未修改数据对应的第一语义资源,被修改数据对应的第二语义资源;

训练类别确定程序模块,用于根据所述被修改数据,确定所述第二语义资源的训练类别,为所述第二语义资源确定至少一个子训练;

语义资源训练程序模块,用于通过所述至少一个子训练,确定第三语义资源,将所述第一语义资源与所述第三语义资源结合,以完成所述语义资源的训练。

第三方面,提供一种电子设备,其包括:至少一个处理器,以及与所述至少一个处理器通信连接的存储器,其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本发明任一实施例的用于语音对话平台的语义资源训练方法的步骤。

第四方面,本发明实施例提供一种存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现本发明任一实施例的用于语音对话平台的语义资源训练方法的步骤。

本发明实施例的有益效果在于:通过响应于语音对话平台中语音产品的发布按钮的点击,能够在开发者修改了产品中技能和/或词库的数据之后,实时更新语义资源,方便开发者的调试,提升开发者的使用体验。由于通过比对修改了哪些数据,在训练的时候,只需要训练修改的部分资源,节省了服务器的资源,使得在服务器资源紧缺的情况下,仍可以保持高效的完成语义资源训练,进一步提高开发者的使用体验。

附图说明

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

图1是本发明一实施例提供的一种用于语音对话平台的语义资源训练方法的流程图;

图2是本发明一实施例提供的一种用于语音对话平台的语义资源训练系统的结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

如图1所示为本发明一实施例提供的一种用于语音对话平台的语义资源训练方法的流程图,包括如下步骤:

s11:响应于语音对话平台中语音产品的发布按钮的点击,在所述语音产品的历史训练信息中获取训练脚本的第一版本号,获取所述语音对话平台的训练脚本的第二版本号;

s12:当所述第一版本号与所述第二版本号一致时,确定所述语音产品中未修改数据对应的第一语义资源,被修改数据对应的第二语义资源;

s13:根据所述被修改数据,确定所述第二语义资源的训练类别,为所述第二语义资源确定至少一个子训练;

s14:通过所述至少一个子训练,确定第三语义资源,将所述第一语义资源与所述第三语义资源结合,以完成所述语义资源的训练。

在本实施方式中,所述语音对话平台是面向开发者的智能对话开放平台。为了让整个智能对话内容更加容易被开发者理解,更加人性化,降低开发者的入手难度,提高开发者的开发速度。对语音识别/语义识别等基础技术做了多层高度抽象,抽象成产品/技能/任务/意图/说法等各个层级。所述语音对话平台的语义训练是技能级别的,技能中包括任务,任务下又有意图,意图下才是说法的实体,为了保证更广泛的识别,在语音技能中添加了词库。

所述语音对话平台的语义训练和识别是技能级别的。技能类似于一个app,通过语音对话完成一个或者多个特定功能,如微信支持多种功能:消息、朋友圈、支付等,任务就是其中的一个功能,如查询地址,导航,搜索周边或定位。任务是技能的重要组成成分之一,是完成某一项功能的单轮对话或者多轮对话的合集。用户的每一轮对话,都可以认为是一个意图,一个任务由一个或者多个意图组成。

语义识别的功能就是识别出用户说的话是否命中了这个技能,如果命中了该技能,那又是命中了哪个任务和意图。语义识别到具体的意图之后,才能继续后面的数据处理和结果展示。

开发者在所述语音对话平台中对语音产品进行开发,当开发者将语音产品中的语音技能和/或词库开发完毕后,进行发布测试。

对于步骤s11,语音对话平台响应于语音产品发布按钮的点击,对所述语音产品的历史训练信息进行查询,查询所述语音产品的上一次的训练脚本的版本号,例如,所述语音产品的历史训练信息中记录的上次训练所述语音产品的训练脚本的版本号为2.0;获取所述语音对话平台的训练脚本的第二版本号。

对于步骤s12,例如所述语音对话平台的训练脚本的版本号为2.0,所述第一版本号与所述第二版本号一致,确定所述语音产品中,未修改数据对应的第一语义资源,被修改数据对应的第二语义资源。其中,由于所述语音产品不是第一次提交,例如,可以在语音对话平台中查到历史版本,从而可以确定出当前发布语音产品中哪些数据修改过,哪些没有修改过,从而确定出了语音产品中未修改数据对应的第一语义资源,被修改数据对应的第二语义资源。

对于步骤s13,根据所述被修改的数据,确定所述第二语义资源的训练类别,为所述第二语义资源确定至少一个子训练,例如,所述语音产品中的语音技能被修改:添加和/或修改语音技能,修改语音技能中的意图和/或说法;所述语音产品中的词库被修改。针对于这些被修改数据,来确定所述第二语义资源的训练类别,从而确定出至少一个子训练。

对于步骤s14,通过在步骤s13中确定的至少一个子训练,确定训练后的第三语义资源,将所述第一语义资源和所述第三语义资源相结合,将子任务的训练结果以及上次训练中未变动的语义资源,按照语义解析服务需要的格式整合,并根据训练用到的训练脚本/训练时间/训练路径来生成此次训练信息,最终生成语义资源,完成语音的对话平台中语义资源的训练。

通过该实施方式可以看出,通过响应于语音对话平台中语音产品的发布按钮的点击,能够在开发者修改了产品中技能和/或词库的数据之后,实时更新语义资源,方便开发者的调试,提升开发者的使用体验。由于通过比对修改了哪些数据,在训练的时候,只需要训练一小部分资源,节省了服务器的资源,使得在服务器资源紧缺的情况下,仍可以保持高效的完成语义资源训练,进一步提高开发者的使用体验。

作为一种实施方式,在本实施例中,所述语义资源训练类别包括:任务分类、意图识别、词库识别;

所述被修改数据包括:语音技能、意图和/或说法、词库;

当所述被修改数据至少包括语音技能时,所述第二语义资源的子训练至少包括任务分类训练,

当所述被修改数据至少包括意图和/或说法时,所述第二语义资源的子训练至少包括任务分类训练以及意图识别训练,

当所述被修改数据至少包括词库时,所述第二语义资源的子训练至少包括词库识别训练。

在本实施方式中,例如,开发者在语音产品的语音技能中的天气技能中添加了查询天气的意图,并且,在词库中加入了一些比较冷门的地名。这样扩充了所述语音产品的功能,并且使得所述语音产品地区适用更加广泛,这样,被修改的数据包括意图以及词库。

当所述被修改数据包括意图以及词库时,所述第二语义资源的子训练至少包括任务分类训练、意图识别训练以及词库识别训练。

通过该实施方式可以看出,通过对被修改的数据进行任务拆分,对同类别的任务进行统一训练,针对于不同的任务进行相对应的训练,提高了训练效果。

作为一种实施方式,在本实施例中,当所述第一版本号与所述第二版本号不一致时,根据所述语音产品中所有数据,确定所述语音产品的语义资源的训练类别,为所述语义资源确定至少一个子训练,以训练所述语义资源。

在本实施方式中,当发现了训练版本不一致时,应该在所述语音对话平台中重新训练所有技能。每次训练完的语音识别资源只要不是一部分由1.0版本的训练脚本训练,一部分由2.0版本的训练脚本训练,那么这个语义资源就是可用的,语音对话平台会根据其版本来调用相应的内核版本使用。确认版本,是为了保证一个资源的训练脚本是一致的,如果不一致,语音对话平台的内核将无法确定对应于所述语音对话产品到底是该调用哪个版本的内核。

通过该实施方式可以看出,通过比对训练脚本的版本号,保证了语音对话平台的可以明确的调用内核,防止因同一语音产品中各语义资源的训练脚本的版本不统一,而产生的内核调用问题。

作为一种实施方式,在本实施例中,所述方法还包括:通过协程池对所述至少一个子训练并行训练。

一般线程池和进程池最好处理相同或者相似的任务,如果任务的输入输出有比较大的差别,那么进程池和线程池在对任务返回结果的处理上要使用回调函数来继续执行后面的任务,加大了开发难度,也容易引发bug。由于所述子任务有多种类型,如果每种任务都增加一个线程池,那么并行效果会差很多。如果多类型的任务放到一个线程池中,那么会增加开发的难度。因此采用技术来实现一个协程池,使用的时候只需要添加一个修饰符就可以实现将训练任务添加到协程池中。简化了代码量,同时也保证了并行的效果。

通过该实施方法可以看出,通过并行训练进一步的加快了训练的速度,降低了开发者的等待时间,提高了开发者的使用体验。

如图2所示为本发明一实施例提供的一种用于语音对话平台的语义资源训练系统的结构示意图,本实施例的技术方案可适用于对设备的用于语音对话平台的语义资源训练方法,该系统可执行上述任意实施例所述的用于语音对话平台的语义资源训练方法,并配置在终端中。

本实施例提供的一种用于语音对话平台的语义资源训练系统包括:版本号确定程序模块11,语义资源确定程序模块12,训练类别确定程序模块13和语义资源训练程序模块14。

其中,版本号确定程序模块11用于响应于语音对话平台中语音产品的发布按钮的点击,在所述语音产品的历史训练信息中获取训练脚本的第一版本号,获取所述语音对话平台的训练脚本的第二版本号;语义资源确定程序模块12用于当所述第一版本号与所述第二版本号一致时,确定所述语音产品中未修改数据对应的第一语义资源,被修改数据对应的第二语义资源;训练类别确定程序模块13用于根据所述被修改数据,确定所述第二语义资源的训练类别,为所述第二语义资源确定至少一个子训练;语义资源训练程序模块14用于通过所述至少一个子训练,确定第三语义资源,将所述第一语义资源与所述第三语义资源结合,以完成所述语义资源的训练。

进一步地,所述语义资源训练类别包括:任务分类、意图识别、词库识别;

所述被修改数据包括:语音技能、意图和/或说法、词库;

当所述被修改数据至少包括语音技能时,所述第二语义资源的子训练至少包括任务分类训练,

当所述被修改数据至少包括意图和/或说法时,所述第二语义资源的子训练至少包括任务分类训练以及意图识别训练,

当所述被修改数据至少包括词库时,所述第二语义资源的子训练至少包括词库识别训练。

进一步地,所述系统还用于:当所述第一版本号与所述第二版本号不一致时,根据所述语音产品中所有数据,确定所述语音产品的语义资源的训练类别,为所述语义资源确定至少一个子训练,以训练所述语义资源。

进一步地,所述系统还用于:通过协程池对所述至少一个子训练并行训练。

本发明实施例还提供了一种非易失性计算机存储介质,计算机存储介质存储有计算机可执行指令,该计算机可执行指令可执行上述任意方法实施例中的用于语音对话平台的语义资源训练方法;

作为一种实施方式,本发明的非易失性计算机存储介质存储有计算机可执行指令,计算机可执行指令设置为:

响应于对词库编辑页面中创建词库按钮的点击,生成词条编辑界面,其中,所述词条编辑界面至少包括词条添加按钮;

响应于语音对话平台中语音产品的发布按钮的点击,在所述语音产品的历史训练信息中获取训练脚本的第一版本号,获取所述语音对话平台的训练脚本的第二版本号;

当所述第一版本号与所述第二版本号一致时,确定所述语音产品中未修改数据对应的第一语义资源,被修改数据对应的第二语义资源;

根据所述被修改数据,确定所述第二语义资源的训练类别,为所述第二语义资源确定至少一个子训练;

通过所述至少一个子训练,确定第三语义资源,将所述第一语义资源与所述第三语义资源结合,以完成所述语义资源的训练。

作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本发明实施例中的测试软件的方法对应的程序指令/模块。一个或者多个程序指令存储在非易失性计算机可读存储介质中,当被处理器执行时,执行上述任意方法实施例中的用于语音对话平台的语义资源训练方法。

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

本发明实施例还提供一种电子设备,其包括:至少一个处理器,以及与所述至少一个处理器通信连接的存储器,其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本发明任一实施例的用于语音对话平台的语义资源训练方法的步骤。

本申请实施例的客户端以多种形式存在,包括但不限于:

(1)移动通信设备:这类设备的特点是具备移动通信功能,并且以提供话音、数据通信为主要目标。这类终端包括:智能手机(例如iphone)、多媒体手机、功能性手机,以及低端手机等。

(2)超移动个人计算机设备:这类设备属于个人计算机的范畴,有计算和处理功能,一般也具备移动上网特性。这类终端包括:pda、mid和umpc设备等,例如ipad。

(3)便携式娱乐设备:这类设备可以显示和播放多媒体内容。该类设备包括:音频、视频播放器(例如ipod),掌上游戏机,电子书,以及智能玩具和便携式车载导航设备。

(4)其他具有数据处理功能的电子装置。

在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”,不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

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