一种语义理解方法及装置、设备、计算机可读介质与流程

文档序号:15492642发布日期:2018-09-21 20:56阅读:141来源:国知局
本申请涉及电子信息领域,尤其涉及一种语义理解方法及装置、设备、计算机可读介质。
背景技术
:随着人工智能技术的不断突破和各种智能终端设备的日益普及,人机交互在人们日常工作和生活中出现的频率越来越高。语音交互作为最便捷的交互方式之一,已经成为人机交互的重要手段。人机交互对话系统被应用在各种智能终端设备中,如:电视、手机、车载、智能家居以及机器人等。而在人机交互对话系统中如何理解用户的意图是最为关键的技术。由于人类语言具有多样性、复杂性和歧义性,一句话往往可以表达多种意图,但当前的人机交互对话系统,只能够给出一种语义理解结果,对于涉及到多意图的语音(多意图可以理解为至少两个事件,例如“打开空调、关闭收音机”),会出现无结果或者只给出一种语义理解结果的问题,如:“先打开空调然后关闭收音机”,可能无输出结果,或者输出结果:“打开空调”,又例如:“导航到万达广场选择一条不堵的路线”可能输出结果:“导航不堵的路线”。可见,现有的语义理解方法,对于多意图的语句的理解不够准确。技术实现要素:本申请提供了一种语义理解方法及装置、设备、计算机可读介质,目的在于解决对于多意图的语句的理解不够准确的问题。为了实现上述目的,本申请提供了以下技术方案:一种语义理解方法,包括:依据预设的领域分类,将待理解的语句划分为第一类子句,其中,每个所述第一类子句属于所述领域分类中的一个分类;依据预设的意图分类,将每个所述第一类子句划分为第二类子句,其中,每个所述第二类子句属于所述意图分类中的一个分类;从每个所述第二类子句中提取槽信息。可选的,所述依据预设的领域分类,将待理解的语句划分为第一类子句包括:将所述待理解的语句中的每个字作为输入,使用领域判别模型,得到所述待理解的语句中的每个字的领域标签,所述待理解的语句中的任意一个字的所述领域标签包括:该字所属的领域分类的名称以及第一位置信息,所述第一位置信息为该字在满足第一条件的所有字中的位置信息,所述第一条件为所述待理解的语句中与该字属于相同的领域分类的字,所述位置包括起始、中间和结束。可选的,所述领域判别模型的训练过程包括:针对所述预设的领域分类中的每一种分类,分别收集第一预设数量条语句,并对收集的语句标注所述领域标签;收集第二预设数量条不属于所述预设的领域分类中的任何一个分类的语句,并标注不属于所述预设的领域分类的标签;使用标注后的语句训练第一排序标注模型的目标函数,得到所述领域判别模型。可选的,所述依据预设的意图分类,将每个所述第一类子句划分为第二类子句包括:将所述第一类子句中每一个具有相同领域分类名称的字作为输入,使用与所述第一类子句所属的领域分类对应的意图判别模块,得到所述第一类子句中的每个字的意图标签,所述第一类子句中的任意一个字的所述意图标签包括:该字所属的意图分类的名称以及第二位置信息,所述第二位置信息为该字在满足第二条件的所有字中的位置信息,所述第二条件为所述第一类子句中与该字属于相同的领域分类以及相同的意图分类的字,所述位置包括起始、中间和结束,其中,每一个领域分类对应一个意图判别模块,不同的领域分类对应的意图判别模块不同。可选的,任意一个所述领域分类对应的所述意图判别模块的训练方法包括:收集属于该领域分类的第三预设数量条语句,并对收集的每条语句标注所述意图标签;收集第四预设数量不属于预设的意图分类中的任何一个分类的语句,并标注不属于所述预设的领域分类的标签;使用标注后的语句训练第二排序标注模型的目标函数,得到该领域分类对应的所述意图判别模块。可选的,所述从每个所述第二类子句中提取槽信息包括:将第二类子句中的每一个字和所述第二类子句的意图向量作为输入,使用与所述第二类子句所属的领域分类对应的槽信息判别模型,得到所述第二类子句中的每个字的槽信息标签,所述第二类子句中的任意一个字的槽信息标签包括:该字所属的槽信息的名称以及第三位置信息,所述第三位置信息为该字在满足第三条件的所有字中的位置信息,所述第三条件为所述第二类子句中与该字属于相同的领域分类、相同的意图分类、且具有相同的槽信息的字;其中,每一个领域分类对应一个槽信息判别模块,不同的领域分类对应的槽信息判别模块不同。可选的,任意一个所述领域分类对应的所述槽信息判别模块的训练方法包括:收集属于该领域分类的第五预设数量条语句,并对收集的语句标注槽信息标签;收集第六预设数量不属于预设的槽信息中的任何一个槽信息的语句,并标注不属于所述预设的槽信息的标签;使用标注后的语句训练第三排序标注模型的目标函数,得到该领域分类对应的所述槽信息判别模块。可选的,在所述从每个所述第二类子句中提取槽信息之后,还包括:将所述待理解语句的分词结果、所述槽信息候选路径以及所述待理解语句中的所述第二类子句的意图向量作为输入,使用预设的模型,对槽信息候选路径进行评分,所述槽信息候选路径由从每个所述第二类子句中提取的至少一个槽信息组合形成;依据所述评分,确定槽信息提取结果。一种语义理解装置,包括:第一划分模块,用于依据预设的领域分类,将待理解的语句划分为第一类子句,其中,每个所述第一类子句属于所述领域分类中的一个分类;第二划分模块,用于依据预设的意图分类,将每个所述第一类子句划分为第二类子句,其中,每个所述第二类子句属于所述意图分类中的一个分类;提取模块,用于从每个所述第二类子句中提取槽信息。可选的,所述第一划分模块用于依据预设的领域分类,将待理解的语句划分为第一类子句包括:所述第一划分模块具体用于,将所述待理解的语句中的每个字作为输入,使用领域判别模型,得到所述待理解的语句中的每个字的领域标签,所述待理解的语句中的任意一个字的所述领域标签包括:该字所属的领域分类的名称以及第一位置信息,所述第一位置信息为该字在满足第一条件的所有字中的位置信息,所述第一条件为所述待理解的语句中与该字属于相同的领域分类的字,所述位置包括起始、中间和结束。可选的,所述第一划分模块还用于,采用如下方法,训练所述领域判别模型:针对所述预设的领域分类中的每一种分类,分别收集第一预设数量条语句,并对收集的语句标注所述领域标签;收集第二预设数量条不属于所述预设的领域分类中的任何一个分类的语句,并标注不属于所述预设的领域分类的标签;使用标注后的语句训练第一排序标注模型的目标函数,得到所述领域判别模型。可选的,所述第二划分模块用于依据预设的意图分类,将每个所述第一类子句划分为第二类子句包括:所述第二划分模块具体用于,将所述第一类子句中每一个具有相同领域分类名称的字作为输入,使用与所述第一类子句所属的领域分类对应的意图判别模块,得到所述第一类子句中的每个字的意图标签,所述第一类子句中的任意一个字的所述意图标签包括:该字所属的意图分类的名称以及第二位置信息,所述第二位置信息为该字在满足第二条件的所有字中的位置信息,所述第二条件为所述第一类子句中与该字属于相同的领域分类以及相同的意图分类的字,所述位置包括起始、中间和结束,其中,每一个领域分类对应一个意图判别模块,不同的领域分类对应的意图判别模块不同。可选的,所述第二划分模块还用于,按照以下方法,训练任意一个所述领域分类对应的所述意图判别模块:收集属于该领域分类的第三预设数量条语句,并对收集的每条语句标注所述意图标签;收集第四预设数量不属于预设的意图分类中的任何一个分类的语句,并标注不属于所述预设的领域分类的标签;使用标注后的语句训练第二排序标注模型的目标函数,得到该领域分类对应的所述意图判别模块。可选的,所述提取模块用于从每个所述第二类子句中提取槽信息包括:所述提取模块具体用于,将第二类子句中的每一个字和所述第二类子句的意图向量作为输入,使用与所述第二类子句所属的领域分类对应的槽信息判别模型,得到所述第二类子句中的每个字的槽信息标签,所述第二类子句中的任意一个字的槽信息标签包括:该字所属的槽信息的名称以及第三位置信息,所述第三位置信息为该字在满足第三条件的所有字中的位置信息,所述第三条件为所述第二类子句中与该字属于相同的领域分类、相同的意图分类、且具有相同的槽信息的字;其中,每一个领域分类对应一个槽信息判别模块,不同的领域分类对应的槽信息判别模块不同。可选的,所述提取模块还用于,按照以下方法,训练任意一个所述领域分类对应的所述槽信息判别模块:收集属于该领域分类的第五预设数量条语句,并对收集的语句标注槽信息标签;收集第六预设数量不属于预设的槽信息中的任何一个槽信息的语句,并标注不属于所述预设的槽信息的标签;使用标注后的语句训练第三排序标注模型的目标函数,得到该领域分类对应的所述槽信息判别模块。可选的,还包括:筛选模块,用于在所述提取模块从每个所述第二类子句中提取槽信息之后,将所述待理解语句的分词结果、所述槽信息候选路径以及所述待理解语句中的所述第二类子句的意图向量作为输入,使用预设的模型,对槽信息候选路径进行评分,所述槽信息候选路径由从每个所述第二类子句中提取的至少一个槽信息组合形成;并依据所述评分,确定槽信息提取结果。一种语义理解设备,包括:存储器和处理器;所述存储器用于存储一个或多个程序;所述处理器用于执行所述一个或多个程序,以使得所述语义理解设备实现以上所述语义理解方法。一种计算机可读介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行以上所述语义理解方法。本申请所述的语义理解方法及装置、设备,依据预设的领域分类,将待理解的语句划分为第一类子句,再依据预设的意图分类,将每个所述第一类子句划分为第二类子句,最后从每个第二类子句中提取槽信息,其中,每个第一类子句属于领域分类中的一个分类,每个第二类子句属于意图分类中的一个分类,可见,本申请所述的语义理解方法及装置,采用不同的划分维度,按照逐级划分子句的方式,能够得到多领域多意图下的槽信息,因此,能够针对多意图的语句,得到准确性较高的多意图的理解结果。附图说明为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本申请实施例公开的一种语义理解方法的流程图;图2为本申请实施例公开的语义理解方法的具体实现过程的流程图;图3为本申请实施例公开的语义理解方法中从多条槽信息候选路径中选取一条路径的流程图;图4为本申请实施例公开的一种语义理解装置的结构示意图。具体实施方式本申请实施例公开了一种语义理解方法及装置,可以应用在具有人机交互功能的电子设备中,例如电视、手机、车载、智能家居以及机器人等设备。下面将结合本申请实施例中的附图,以智能车载系统为例,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。图1为本申请实施例公开的一种语义理解方法,包括以下步骤:s101:依据预设的领域分类,将待理解的语句划分为子句,其中,每个子句属于一个领域分类。为了便于后续说明,将该步骤中划分的子句称为第一类子句。其中,待理解的语句可以为依据采集到的用户的语音识别出的语句。表1为以车载系统为例,预设的领域分类包括:地图、电话、收音机、天气和命令控制。表1举例说明,待理解的语句为:“打开空调播放安徽交通广播”,划分出的第一类子句为“打开空调”(属于表1中的命令控制领域)和“播放安徽交通广播”(属于表1中的收音机领域)。又例如,待理解的语句为:“导航到万达广场选择最快路线”,划分出的第一类子句仍为原句:“导航到万达广场选择最快路线”(属于表1中的地图领域)。s102:依据预设的意图分类,将每一个第一类子句划分为第二类子句,其中,每个第二类子句属于一个意图分类。表2以车载系统为例,示出了表1所示的每个领域分类下的意图分类,例如,命令控制领域分类下,包括的意图分类有:打开、关闭以及返回。表2接上例,待理解的语句为:“打开空调播放安徽交通广播”,划分出的第一类子句为“打开空调”和“播放安徽交通广播”。其中,子句“打开空调”划分出的第二类子句仍为“打开空调”(属于表2中的命令控制领域下的打开意图),子句“播放安徽交通广播”划分出的第二类子句仍为“播放安徽交通广播”(属于表2中的收音机领域下的播放意图)。又例如,待理解的语句为:“导航到万达广场选择最快路线”,划分出的第一类子句为:“导航到万达广场选择最快路线”,划分出的第二类子句为“导航到万达广场”(属于表2中的地图领域下的导航意图)和“选择最快路线”(属于表2中的地图领域下的路线意图)。s103:从每个第二类子句中提取槽信息。其中,槽信息可以理解为关键字。表3为表2所示的领域分类和意图分类下的槽信息的示例。表3例如,第二类子句“导航到万达广场”提取的槽信息为“万达广场”(endloc)。需要说明的是,每种意图下提取的槽信息可以为预先定义的槽信息的一部分,而非全部,例如,“导航到万达广场”提取的槽信息为“万达广场”(endloc),而非startloc\endloc\landmark\distance中的全部。需要说明的是,本实施例中所示的表格仅为针对智能车载系统的举例,在实际中,可以根据不同的产品需求,制定不同的领域分类、意图分类和槽信息。从图1所示的过程可以看出,本实施例所述的语义理解方法,先从领域分类的维度,将待理解的语句划分为第一类子句,再从意图分类的维度,将每一个第一类子句划分为第二类子句,最后提取每个第二类子句的槽信息,因此,能够得到待理解的语句中所包括的不同领域分类、以及不同意图分类下的槽信息,也就是说,语义理解的结果包括不同领域不同意图下的识别结果,因此,对于多意图的待识别语句,能够完整理解出多个意图,提高理解的准确性。并且,申请人在研究的过程中发现,现有的语义理解方法,之所以不能够理解出多个意图,是因为如果采用现有的语义理解算法,要理解出多个意图的算法执行难度高:虽然从理论上,可以从理解出一个意图的方式扩展到理解出多个意图的方式,但是考虑到算法复杂度以及硬件的支持度等原因,实际上,要理解出多个意图的算法很难被执行。而图1所示的语义理解方法,逐级拆分子句,上一级拆分的每个子句作为下一级拆分的对象,这种逐级拆分、逐级理解的方式,具有较高的可执行性。图1中的各个步骤,均可以使用训练好的模型实现,下面将详细说明如何训练模型以及如何使用训练好的模型实现图1所示的步骤。图2为图1所示的步骤的具体实现流程,包括以下步骤:s201:使用领域判别模型,得到待理解的语句中的每个字的领域标签。即将待理解的语句作为领域判别模型的输入,领域判别模型输出待理解的语句中的每个字的领域标签。待理解的语句中的任意一个字的领域标签包括:该字所属的领域分类的名称以及第一位置信息,第一位置信息为该字在满足第一条件的所有字中的位置信息,其中,第一条件为待理解的语句中与该字属于相同的领域分类的字。具体的,位置包括起始(如起始信息以b表示)、中间(如中间信息以m表示)以及结束(如结束信息以e表示)。需要说明的是,如果一个字不属于预设的领域分类中的任何一个分类,则输出特定的、能够区别与预设的领域标签名称的标识,例如特定的标识为s。需要说明的是,领域分类标记为s的字,可以不进行后续意图以及槽信息的识别,以节省资源。表4为待理解的语句输入领域判别模型后,输出的每个字的领域标签的示例。本实施例中的示例,均以表3中举例的领域分类、意图分类和槽信息为例。表4示例1:打开空调播放安徽交通广播pos打开空调播放安徽交通广播pospos↓↓↓↓↓↓↓↓↓↓↓↓posposcmd_bcmd_mcmd_mcmd_eradio_bradio_mradio_mradio_mradio_mradio_mraido_mradio_epos示例2:导航到万达广场选择最快路线pos导航到万达广场选择最快路线pospos↓↓↓↓↓↓↓↓↓↓↓↓↓posposmap_bmap_mmap_mmap_mmap_mmap_mmap_mmap_mmap_mmap_mmap_mmap_mmap_epos示例3:查询一下92号汽油的价格pos查询一下92号汽油的价格pospos↓↓↓↓↓↓↓↓↓↓↓posposssssssssssspos以示例1为例,“打”对应的领域标签cmd_b中,cmd表示领域分类的名称:命令控制,b表示“打”在属于cmd领域的所有字中所占的位置为起始位置,即“打”为属于cmd领域的第一个字。示例3中,未确定出每个字的领域分类,因此,输出为s。基于第一位置信息,可以看出,得到每个字的领域标签后,即划分出第一类子句。本实施例中,每个字可作为一个向量输入领域判别模型,向量的长度可以为100。以上各个示例的表格中,pos表示分隔符。本实施例中,领域判别模型采用但不限于“单词嵌入embedding+双向长短时记忆模型lstm+条件随机场crf”神经网络模型(其它排序标注模型均可)。领域判别模型的训练方法为:针对预设的领域分类中的每一种分类,分别收集第一预设数量例如10万条语句,每条语句标注领域标签。收集第二预设数量例如20万条不属于预设的领域分类中的任何一个领域分类的语句,并标注每条语句的领域标签为s。使用上述收集的带有标签的语料数据,训练神经网络模型的目标函数:。其中,为预测的领域标签的概率值。具体的训练算法可以参见现有技术,这里不再赘述。s202:使用与第一类子句所属的领域分类对应的意图判别模块,得到每个字的意图标签。其中,第一类子句所属的领域分类由s201中得到的领域标签表示。本实施例中,预设的领域分类中的每一个领域分类,对应一个意图判别模块。将第一类子句中每一个具有相同领域分类名称的字作为对应的意图判别模块的输入,意图判别模块输出每个字的意图标签。第一类子句中的任意一个字的意图标签包括:该字所属的意图分类的名称以及第二位置信息,第二位置信息为该字在满足第二条件的所有字中的位置信息,第二条件为所述第一类子句中与该字属于相同的领域分类以及相同的意图分类的字。具体的,位置包括起始(如起始信息以b表示)、中间(如中间信息以m表示)以及结束(如结束信息以e表示)。如果一个字不属于预设的意图分类中的任意一个分类,则输出特定标识,例如s。表5为属于命令控制和地图领域分类的字分别输入对应的意图判别模块后,输出的每个字的意图标签的示例。表5示例1:打开空调播放安徽交通广播示例2:导航到万达广场选择最快路线表4中的示例1的“打”为例,意图标签open_b中,open表示命令控制领域下的打开意图,b表示“打”在同属于命令控制的子句“打开空调”中属于相同意图分类的字中处于起始位置。基于第二位置信息,可以看出,得到每个字的意图标签后,即划分出第二类子句。本实施例中,每个字可作为一个向量输入意图域判别模型,向量的长度可以为100。本实施例中,意图判别模型采用但不限于“embedding+双向lstm+crf”神经网络模型(其它排序标注模型均可)。每种领域分类对应一个意图判别模型。任意一个领域分类对应的意图判别模型的训练方法为:收集属于该领域分类的第三预设数量例如10万条语句,每条语句标注意图标签。收集第四预设数量例如20万条不属于预设的意图分类中的任何一个分类的语句,并标注每条语句的意图标签为s。使用上述收集的带有标签的语料数据,训练神经网络模型的目标函数:为预测的意图标签的概率值。具体的训练算法可以参见现有技术,这里不再赘述。s203:对每一个具有领域标签和意图标签的字(即第二类子句中的字),确定槽信息标签。第二类子句中的任意一个字的槽信息标签包括:该字所属的槽信息的名称(例如表3所示)以及第三位置信息,第三位置信息为该字在满足第三条件的所有字中的位置信息,第三条件为第二类子句中与该字属于相同的领域分类、相同的意图分类、且具有相同的槽信息的字。具体的,位置包括起始(如起始信息以b表示)、中间(如中间信息以m表示)以及结束(如结束信息以e表示)。因不同类型的槽信息具有自身的特点,因此,为了更好地抽取槽信息,本实施例中,采用不同的抽取方式:1、文法规则方式,该方式适用于不可枚举但规律性强的槽信息的提取。例如时间、金额等,使用以下abnf文法即正则表达式,分析提取槽信息:$digital=0|1|2|3|4|5|6|7|8|9;$date=$digital<2,4>年$digital<1-2>月$digital<1-2>日;$money=$digital<0,->[亿|万|千|百|十]元。2、词典方式,该方式适用于可枚举型槽信息的提取。以城市名称为例,词典为list(city)={北京,上海,广州,深圳,杭州…}。采用词典匹配的方式,提取槽信息。以上两种方式的具体实现可以参见现有技术,这里不再赘述。3、对于不可枚举且规律性不强的槽信息,本实施例中,采用槽信息判别模型提取:槽信息判别模型的输入为第二类子句中的每一个字和第二类子句的意图向量。其中,任意一个第二类子句的意图向量的示例为:意图向量的长度为一个领域分类下的意图分类的总数量,该领域分类下的意图分类一一对应向量中的一个元素,该字所述的意图分类对应的元素为1,其它元素均为0。每一个字可作为一个向量,向量的长度可以为100。表6为地图领域导航意图下子句的槽信息示例:表6本实施例中,槽信息判别模型采用但不限于“embedding+双向lstm+crf”神经网络模型(其它排序标注模型均可)。每个领域分类对应一个槽信息判别模型。任意一个领域分类对应的槽信息判别模型的训练方法为:收集属于该领域分类的第五预设数量例如10万条语句,每条语句标注槽信息标签。收集第六预设数量例如20万条不属于预设的槽信息中的任何一个槽信息的语句,并标注每条语句的槽信息标签为s。使用上述收集的带有标签的语料数据,训练神经网络模型的目标函数:其中,为预测的槽信息标签的概率值。具体的训练算法可以参见现有技术,这里不再赘述。需要说明的是,以上三种槽信息提取方式,可以并行使用,即对于每个字均进行以上三种方式的提取,在实际应用中,可能有些方式无输出结果,也可能有多种方式均输出结果,即提取出不同的槽信息,也可能一种方式即输出多个槽信息,对于槽信息的最终结果的选择,后续将进行说明。当然,也可以针对每一个意图分类训练一个槽信息判别模型,本案在此不做限定。在每一个意图分类分别对应一个槽信息判别模型的情况下,槽信息判别模型的输入数据中,可以不包括第二类子句的意图向量。至此,分别确定了待理解语句中的每个字的领域分类、意图分类以及槽信息,因此,完成了对于待理解语句理解。基于逐步理解领域分类、意图分类以及槽信息的方式,对于每一步分别训练相应的模型,所以,模型训练的可执行性较高。并且,对于不同的领域分类,使用不同的意图判别模块和槽信息判别模块,使得对于多意图的理解结果的准确性更高。需要说明的是,图2所示的利用模型判定的方式,仅为图1的一种具体实现方式的举例,除了利用模型,还可以使用其它方式,例如依据预设的对应关系判定的方式进行判定,这里不再赘述。如前所述,最终提取的槽信息可能有多组,也可能一组槽信息中包括多个槽信息,多个槽信息可以组成不同的槽信息路径,例如,槽信息路径1(path1)=<slot_a,slot_b,slot_c>,path2=<slot_a,slot_d>。即槽信息a、b和c组成一种槽信息候选路径,槽信息a和d组成另一种槽信息候选路径。本实施例中所述的槽信息候选路径由从第二类子句中提取的至少一个槽信息组合形成,为了提高选择效率,可选的,不同的所述槽信息候选路径至少具有一个不相同的槽信息。因此,本申请所述的方法,进一步的,可以从多条槽信息候选路径中选取一条路径。具体过程如图3所示,包括以下步骤:s301:将待理解的语句进行分词处理,得到分词结果。s302:使用排序模型,将分词结果、槽信息候选路径以及第二类子句的意图向量作为输入,确定每个槽信息候选路径的评分。其中,分词结果可以为分词结果中的每个分词组成的向量,向量的长度可以为m*100,其中m为分词的个数。槽信息候选路径可以为每个槽信息候选路径和每个分词组成的向量,向量的长度可以为n*100,n为候选路径分词的个数。第二类子句的意图向量如前所述,这里不再赘述。需要说明的是,以上三种向量并不一定均作为输入,可以至少选择一种作为排序模型的输入,但作为输入的向量越多,则输出的结果越准确。本实施例中,排序模型采用但不限于cnn模型(其它排序模型均可)。对于不同的领域分类,可以使用相同的排序模块。排序模型的训练方式为:复用领域判别模块的训练语句,并对每个语句标注正确路径patht,通过程序伪造错误路径pathf,最终将正确路径和错误路径形成pair对<patht,pathf>。使用上述收集的带有标签的语料数据,训练cnn模型的目标函数:s(θ)>thre其中,pt(θ)i表示正确路径得分,pf(θ)i表示错误路径得分,最终得分s(θ)大于阈值thre。s303:依据每个槽信息候选路径的评分,确定最终的槽信息路径。通常,将评分最高的槽信息路径作为最终的槽信息路径。举例说明,子句“导航到3公里的十里庙街道”提取的槽信息候选路径包括:path1:导航到$distance的$endlocpath2:导航到$distance的$distance庙街道执行图3所示的过程后得到的评分分别为:path1,0.95。path2,0.2。因此,将path1作为最终的槽信息路径,该路径中的槽信息,为最终确定的槽信息。图4为本申请实施例公开的一种语义理解装置,包括:第一划分模块、第二划分模块和提取模块,可选的,还可以包括筛选模块。其中,第一划分模块用于依据预设的领域分类,将待理解的语句划分为第一类子句。第二划分模块用于依据预设的意图分类,将每个所述第一类子句划分为第二类子句。提取模块用于从每个所述第二类子句中提取槽信息。筛选模块用于在所述提取模块从每个所述第二类子句中提取槽信息之后,对槽信息候选路径进行评分,并依据所述评分,确定槽信息提取结果。以上各个模块的功能的具体实现过程,可以参见上述方法部分,这里不再赘述。图3所示的语义理解装置,采用不同的划分维度(即领域、意图、槽信息),按照逐级划分子句的方式,能够得到多领域多意图下的槽信息,因此,能够针对多意图的语句,得到准确性较高的多意图的理解结果。本申请实施例还公开了一种语义理解设备和计算机可读介质。具体的,语义理解设备包括存储器和处理器。存储器用于存储一个或多个程序。处理器用于执行所述一个或多个程序,以使得所述语义理解设备实现以下功能前述实施例所述的语义理解功能。计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行前述实施例所述的语义理解功能。本申请实施例方法所述的功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算设备可读取存储介质中。基于这样的理解,本申请实施例对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一台计算设备(可以是个人计算机,服务器,移动计算设备或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1