本申请属于人工智能
技术领域:
,尤其涉及一种语料生成方法、语料生成装置、智能设备及计算机可读存储介质。
背景技术:
:现在已经有越来越多的智能设备具备有人机交互功能。上述智能设备往往会先对用户的输入语句进行词槽抽取及替换操作,再基于替换所得的语料进行意图识别。然而,在输入语句所包含的实体词语较多时,往往也会导致替换所得的语料的数量也较多,这将影响到后续意图识别的效率。技术实现要素:有鉴于此,本申请提供了一种语料生成方法、语料生成装置、智能设备及计算机可读存储介质,可以一定程度上减少错误的替换语料的生成,实现后续对替换语料的处理效率的提升。本申请的第一方面提供了一种方法,包括:接收输入语句;对上述输入语句进行实体词语识别;若上述输入语句存在一个以上实体词语,则获取预设的词槽组合列表,上述词槽组合列表中包含有一个以上词槽组合,每一词槽组合至少包括一个词槽;基于上述词槽组合列表中所包含的词槽组合,对上述输入语句所包含的一个以上实体词语进行匹配及替换,得到一个以上替换语料。本申请的第二方面提供了一种语料生成装置,包括:接收单元,用于接收输入语句;识别单元,用于对上述输入语句进行实体词语识别;获取单元,用于若上述输入语句存在一个以上实体词语,则获取预设的词槽组合列表,上述词槽组合列表中包含有一个以上词槽组合,每一词槽组合至少包括一个词槽;生成单元,用于基于上述词槽组合列表中所包含的词槽组合,对上述输入语句所包含的一个以上实体词语进行匹配及替换,得到一个以上替换语料。本申请的第三方面提供了一种智能设备,上述智能设备包括存储器、处理器以及存储在上述存储器中并可在上述处理器上运行的计算机程序,上述处理器执行上述计算机程序时实现如上述第一方面的方法的步骤。本申请的第四方面提供了一种计算机可读存储介质,上述计算机可读存储介质存储有计算机程序,上述计算机程序被处理器执行时实现如上述第一方面的方法的步骤。本申请的第五方面提供了一种计算机程序产品,上述计算机程序产品包括计算机程序,上述计算机程序被一个或多个处理器执行时实现如上述第一方面的方法的步骤。由上可见,在本申请方案中,首先接收输入语句,然后对上述输入语句进行实体词语识别,若上述输入语句存在一个以上实体词语,则获取预设的词槽组合列表,上述词槽组合列表中包含有一个以上词槽组合,每一词槽组合至少包括一个词槽,并基于上述词槽组合列表中所包含的词槽组合,对上述输入语句所包含的一个以上实体词语进行匹配及替换,得到一个以上替换语料。本申请方案通过预设的词槽组合列表对词槽替换作出限制,避免以无效的词槽组合对输入语句进行词槽替换,可以一定程度上减少错误的替换语料的生成,实现后续对替换语料的处理效率的提升。附图说明为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1是本申请实施例提供的语料生成方法的一种实现流程示意图;图2是本申请实施例提供的语料生成方法的另一种实现流程示意图;图3是本申请实施例提供的语料生成方法中,意图识别模型的训练过程示意图;图4是本申请实施例提供的语料生成装置的结构框图;图5是本申请实施例提供的智能设备的结构示意图。具体实施方式以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。为了说明本申请上述的技术方案,下面通过具体实施例来进行说明。本申请实施例的一种语料生成方法及语料生成装置可应用于机器人、智能手机、平板电脑等具备人工交互功能的智能设备中,为了说明本申请上述的技术方案,下面通过具体实施例来进行说明。实施例一下面对本申请实施例提供的一种语料生成方法进行描述,请参阅图1,本申请实施例中的语料生成方法包括:步骤101,接收输入语句;在本申请实施例中,智能设备可以先获取待识别的输入语句,上述输入语句指的是用户在与智能设备交互的过程中所输入的语句。可选地,上述输入语句可以是用户通过文字所输入的语句;或者,上述语句也可以是用户通过语音所输入的语句,此处不对上述输入语句的输入形式作出限定。步骤102,对上述输入语句进行实体词语识别;在本申请实施例中,智能设备在接收到上述输入语句之后,将首先对输入语句进行实体词语识别。上述实体词语为命名实体,指的是指代实际生活中的实物的词语,例如人名,地名,机构名等;需要注意的是,在本申请实施例中,时间也是一种实体词语,也即,本申请实施例所指的实体词语为广义上的命名实体。在对上述输入语句进行实体词语识别后,将得到上述输入语句所可能包含的所有实体词语。具体地,这里将实体词语分为两大类别,分别为非数字实体及数字实体。针对非数字类的实体词语类别来说,研发人员已预先对每一非数字类的实体词语类别设定了相应的词典树(trietree);也即,若存在实体词语所属的实体词语类别为非数字类的实体词语类别,则其所关联的实体词语识别算法为trietree算法,通过研发人员针对该实体词语类别所预设的词典树进行匹配,即可查找出上述输入语句中所包含的属于该实体词语类别的实体词语。上述词典树算法的优势主要在匹配速度上,在构建好词典树后,其匹配速度往往远快于暴力匹配的匹配速度。针对数字类的实体词语类别来说,研发人员也已经对每一非数字类的实体词语类别设定了相应地匹配规则。以下通过几个具体实例进行说明:以身份证号码识别为例,其所采用的匹配规则为:前五位数代表地区,有一个限定的范围;随后八位数是出生日期,该日期数字也有限定范围,所以该八位数要符合日期规则,例如,不可能出现19901332的数字;最后一位数是验证位,根据身份证前面的所有数字检测该位数字是否符合预设的身份证验证规则。又以在中国所使用的手机号码识别为例,其所采用的匹配规则为:共有十一位数字,并且前两位数是限定的,例如13、15、17、18或19等。为了更加准确的判断一串数字是否为手机号码,除了判断该十一位数字,还可以再看语句中是否出现“号码”、“电话”、“拨打”或“手机”等关键字。举个例子:“交易金额为13727999989”,虽然这一串数字符合11位并且前两位限定,但是语句中没有关键字,因而可以判定这不是电话号码。再以日期识别为例,其所采用的匹配规则为日期正则表达式,该正则表达式具体为“\d(年|year)\d(月|month)\d(日|day)”。也即,若存在实体词语所属的实体词语类别为数字类的实体词语类别,则其会关联对应的实体词语识别规则,根据所关联的实体词语识别规则即可查找出上述输入语句中所包含的属于该该实体词语类别的实体词语。步骤103,若上述输入语句存在一个以上实体词语,则获取预设的词槽组合列表;在本申请实施例中,对上述输入语句进行实体词语识别会出现两种情况,一种情况是无法识别出实体词语,则此时,无法通过实体词语所对应的词槽对上述输入语句中的实体词语进行替换;也即是说,这种情况下,不会基于该输入语句得到数量较多的替换语料,因而,此处不对上述无法识别出实体词语的情况作赘述;另一种情况是识别出上述输入语句中存在实体词语,则此时,可以进一步获取得到预设的词槽组合列表,其中,上述词槽组合列表中包含有一个以上词槽组合,每一词槽组合至少包括一个词槽。具体地,该词槽组合列表为语料人员预先根据人们的日常生活中所使用的语句穷举而得。为了方便理解,下表1给出一词槽组合列表的示例:序号词槽组合1[food]2[drink]3[position,food]4[retail]5[busline]6[city,busline]表1通过该预设的词槽组合列表,可以避免一些无效的词槽组合。例如,假定输入语句为“我想从北京去成都”,包含有“北京”及“成都”这两个实体词语;其中,“北京”只能指代城市,因而“北京”只可能对应“city”这一个词槽,而“成都”可能指代“成都”这个城市,也可能指代“成都”这首歌曲,因而“成都”既能对应“city”这一词槽,也能对应“song”这一词槽;基于此,通过词槽对上述输入语句进行替换时,将能得到多个可能:我想从北京去成都;我想从city去city;我想从city去song;我想从city去成都;我想从北京去city;我想从北京去song;通过表1所给出的词槽组合列表可知,不存在“city”与“song”的搭配,也即,一般不会出现一条替换语料中既有“city”这一词槽又有“song”这一词槽的情况。因而,“我想从city去song”无法与词槽组合列表中的任一词槽组合匹配,其属于无效的替换语料。可见,通过预先设定词槽列表组合的方式,可以在输入语句包含大量实体词语的情况下避免很大一部分无效的替换语料的生成。步骤104,基于上述词槽组合列表中所包含的词槽组合,对上述输入语句所包含的一个以上实体词语进行匹配及替换,得到一个以上替换语料。在本申请实施例中,可以是直接分别通过上述词槽组合列表中所给出的各个词槽组合对上述输入语句中的实体词语进行匹配及替换,所得到的即为最终的替换语料;或者,也可以是先基于所有可能的词槽替换的方式对上述输入语句中的实体词语进行匹配及替换,得到多个候选替换语料后,再将各个候选替换语料的词槽组合与上述词槽组合列表中的词槽组合进行匹配,若匹配成功,也即,若候选替换语料中的词槽组合存在于词槽组合列表中,则保留该候选替换语料,若匹配失败,也即,若候选替换语料中的词槽组合不存在于词槽组合列表中,则剔除该候选替换语料,最后保留的候选替换语料即为最终的替换语料。可选地,上述步骤104具体包括:a1、基于上述词槽组合列表,生成一个以上词槽组合树;在本申请实施例中,包含相同词槽的词槽组合之间可以形成同一词槽组合树中的子节点及父节点,以下通过一实例对词槽组合树作出说明:以上表1给出的词槽组合列表为基础,可以看到词槽组合[food]与[position,food]之间存在相同的词槽,基于此,可以视[position,food]为继承了[food]的词槽组合,也即,[food]为[position,food]的父节点,[position,food]为[food]的子节点。当然,该子节点也可以继续作为另一词槽组合的父节点,例如,假定词槽组合列表中还有一词槽组合[position,food,food],虽然[position,food,food]与[food]也存在相同词槽,但由于[position,food,food]与[position,food]存在相同词槽的数量更多,也即,[position,food,food]与[position,food]的重合度更高,因而,此处认为[position,food]是[position,food,food]的父节点,[position,food,food]是[position,food]的子节点。可以认为,形成了[food]-[position,food]-[position,food,food]这样一个词槽组合树。当然,一个父节点可以有多个子节点,例如,假定词槽组合列表中还有一词槽组合[food,drink],则[food,drink]也可以作为[food]的子节点,也即,[food]存在两个子节点,分别为[food,drink]及[position,food]。可选地,上述词槽组合列表中每一词槽组合都对应有各自的序号,则可以以序号表明父节点与子节点的关系,其表现形式为“x:y”,含义为第x个词槽组合继承于第y个词槽组合,也即冒号之前的序号所对应的词槽组合继承于该冒号之后的序号所对应的词槽组合;则上述例子中,[position,food]继承于[food],[position,food]所对应的序号为“3”,[food]所对应的序号为“1”,那么二者之间的关系可以表示为“3:1”;类似的,[city,busline]继承于[busline],这二者之间的关系可以表示为“6:5”。a2、若上述输入语句所包含的实体词语中,存在能够与目标词槽组合树中的根节点相匹配的实体词语,则基于上述目标词槽组合树对上述输入语句中的各个实体词语进行匹配及替换,得到一个以上替换语料。在本申请实施例中,针对任何一个词槽组合树来说,其根节点都是最为重要的节点,该词槽组合树的其它节点都直接或间接继承于该根节点。基于此,为了便于说明,考虑到智能设备会对所有的词槽组合树进行相同或相似的操作,此处可以将任一词槽组合树选定为目标词槽组合树,并基于该目标词槽组合树对实体词语的匹配及替换过程做出说明:检测该目标词槽组合树的根节点是否与上述输入语句中的任一实体词语相匹配;若该目标词槽组合树的根节点与上述输入语句中的任一实体词语相匹配,则以上述目标词槽组合树的根节点为起点,根据父节点至子节点的顺序依次将上述目标词槽组合树中的各个词槽组合与上述输入语句中的实体词语进行匹配及替换,得到一个以上替换语料。以下举出实例进行说明:在以没有词槽组合树的方式进行替换语料的生成时,假定输入语句为“我想在肯德基吃炸鸡”,基于词槽组合列表的顺序,先根据[food]对输入语句进行匹配及替换,得到“我想在肯德基吃food”;随后再基于[food,position]对输入语句进行匹配及替换,这其中,先算该词槽组合中的[food],得到“我想在肯德基吃food”,再算该词槽组合中的[position],得到“我想在position吃food”;或者,也可以先算该词槽组合中的[position],得到“我想在position吃炸鸡”,再算该词槽组合中的[food],得到“我想在position吃food”。可以看到,上述过程中,出现了重复运算的情况。在以词槽组合树的方式进行替换语料的生成时,假定输入语句为“我想在肯德基吃炸鸡”,检测发现“炸鸡”这一实体词语与[food]相匹配,而[food]又是[food]-[position,food]这一词槽组合树的根节点;基于此,可以先通过[food]对输入语句进行匹配及替换,得到一替换语料“我想在肯德基吃food”;随后,考虑到已基于[food]得到了替换语料“我想在肯德基吃food”,由于[food,position]继承于[food],因而基于[food,position]所得的替换语料也应该继承于基于[food]所得的替换语料,因此,通过词槽[position]对“我想在肯德基吃food”进行进一步词槽替换,得到替换语料“我想在position吃food”。可以看到,上述过程中,不再有重复运算的情况。可见,以词槽组合树的方式进行替换语料的生成时可以避免出现多次重复匹配及替换的情况,可进一步提升替换语料的生成效率。可选地,上述步骤104具体包括:b1、检测上述输入语句的各个实体词语之间,是否存在重叠;在本申请实施例中,在对输入语句进行实体词语识别时,所识别得到的实体词语中可能会有发生重叠的部分。以下以实例进行说明:假定输入语句为“播五月天的阿宝专辑”,则通过上述步骤102所提取到的实体词语会有如下几个:“五月”、“五月天”、“阿宝”和“月”,可以看到,“五月”、“五月天”和“月”这三个实体词语有重叠的部分。b2、若有存在重叠的一个以上实体词语,则分别统计存在重叠的一个以上实体词语的长度;在本申请实施例中,当出现重叠的实体词语时,这些重叠的实体词语会导致后续生成的替换语料出现错误。为了避免错误的替换语料的生成,此处可先统计存在重叠的一个以上实体词语的长度。例如,“五月”、“五月天”和“月”中,“五月”的长度为2,“五月天”的长度为3,“月”的长度为1。b3、在存在重叠的一个以上实体词语中,将长度最长的实体词语作为待替换实体词语,并将不存在重叠的实体词语作为待替换实体词语;在本申请实施例中,可能存在多组存在重叠的一个以上实体词语,例如,实体词语“a1”、“a2”及“a3”之间存在相同的重叠部分“a”,则“a1”、“a2”及“a3”可以作为一组存在重叠的一个以上实体词语;又例如输入语句中还有实体词语“b1”及“b2”,且“b1”及“b2”之间存在相同的重叠部分b,则“b1”及“b2”可以作为另一组存在重叠的一个以上实体词语。在任一组存在重叠的一个以上实体词语中,将长度最长的实体词语作为这一组的待替换实体词语,例如,“a1”、“a2”及“a3”中“a2”的长度最长,“b1”及“b2”中“b2”的长度最长,则“a2”和“b2”将被确定为待替换实体词语;当然,针对不存在重叠的实体词语,它们自身可以直接作为待替换实体词语。则步骤b1所给出的例子中,输入语句“播五月天的阿宝专辑”中所确定的待替换实体词语为“五月天”及“阿宝”。b4、基于上述词槽组合列表中所包含的词槽组合,对上述输入语句所包含的一个以上待替换实体词语进行匹配及替换,得到一个以上替换语料。在本申请实施例中,可基于上述词槽组合列表中所包含的词槽组合,对上述输入语句所包含的一个以上待替换实体词语进行匹配及替换,得到一个以上替换语料。上述过程体现了最大匹配的原则。为了方便理解,以下再通过一具体实例作出说明:输入语句为“我乘坐的mu5937什么时候起飞。”,其中,5937是一个实体词语,mu5937是一个实体词语。基于此,若不执行上述步骤b1至b4的操作,将生成三个替换语料:我乘坐的mu5937什么时候起飞。我乘坐的{airline}什么时候起飞。我乘坐的mu{airline}什么时候起飞。但若基于最大匹配的原则,执行上述步骤b1至b4,将生成两个替换语料:我乘坐的mu5937什么时候起飞。我乘坐的{airline}什么时候起飞。可见,通过上述步骤b1至b4,可以在输入语句存在较多重叠的实体词语时(例如“北京”及“北京市”以及“巨蟹”及“巨蟹座”等),减少替换语料的生成数量,提升替换语料的生成效率及准确性。进一步地,当结合步骤a1、a2以及步骤b1、b2、b3、b4时,上述a2可具体表现为:若上述输入语句所包含的待替换实体词语中,存在能够与目标词槽组合树中的根节点相匹配的待替换实体词语,则基于上述目标词槽组合树对上述输入语句中的各个待替换实体词语进行匹配及替换,得到一个以上替换语料。由上可见,在本申请实施例中,通过预设的词槽组合列表对词槽替换作出限制,避免以无效的词槽组合对输入语句进行词槽替换,可以一定程度上减少错误的替换语料的生成,实现后续对替换语料的处理效率的提升。进一步地,针对存在重复的实体词语,还可以以最大匹配原则查找出其中的待替换实体词语,以进一步减少替换语料的生成数量,并提升替换语料的生成效率及准确性。应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。实施例二在上述实施例一的基础上,本申请实施例二提供了另一种语料生成方法,如图2所示,本申请实施例中的语料生成方法包括:步骤201,接收输入语句;步骤202,对上述输入语句进行实体词语识别;步骤203,若上述输入语句存在一个以上实体词语,则获取预设的词槽组合列表,上述词槽组合列表中包含有一个以上词槽组合,每一词槽组合至少包括一个词槽;步骤204,基于上述词槽组合列表中所包含的词槽组合,对上述输入语句所包含的一个以上实体词语进行匹配及替换,得到一个以上替换语料;在本申请实施例中,上述步骤201、202、203及204分别与上述步骤101、102、103及104相同或相似,具体可参阅上述步骤101、102、103及104的实现流程,此处不作赘述。步骤205,将各个替换语料输入至已训练的意图识别模型中,得到各个替换语料的意图得分及语言模型得分;在本申请实施例中,针对输入语句不存在实体词语的情况,会将输入语句自身直接输入至意图识别模型中。虽然输入语句不存在实体词语的情况不是本申请方案的重点,但是,步骤205、206及207实际上也可以应用于上述输入语句不存在实体词语的情况中,此处不作赘述。在得到一个以上替换语料后,可以依次将各个替换语料输入至已训练的意图识别模型中。具体地,上述意图识别模型可基于循环神经网络(recurrentneuralnetwork,rnn)或卷积神经网络(convolutionalneuralnetworks,cnn)而构建。为了更好的说明本申请实施例的方案,以下先对上述意图识别模型及其工作流程作出说明:意图识别模型在训练过程中所采用的是样本数据,其中,每一样本数据预先已设定好两个标签,分别为意图标签(intent_label)及语言模型标签(languagemodellabel,lm_label),上述意图标签用于指示一样本数据所属的意图类别,上述语言模型标签用于指示上述样本数据是否存在语句错误。以下通过表1所给出的具体实例解释上述两种标签:样本数据意图标签intent_label语言模型标签lm_label我想听city听音乐错误我想听成都听音乐错误我想听song听音乐正确我想去成都去城市错误我要去city去城市正确我要去song去城市错误你好,朋友闲聊正确你好,song闲聊错误表2上述例子中,由于“成都”这一实体词语有可能指的是“城市city”,也可能指的是“歌曲song”,因而根据“我想听成都”这一自然语句可得到的样本数据有“我想听city”、“我想听成都”及“我想听song”这三条。语料人员可知基于这三个样本数据所来源的自然语句,其意图为“听音乐”,因而,语料人员可将这三个样本数据的意图标签均设定为“听音乐”;而这三个样本数据中,语料人员将进一步再选定唯一的一个样本数据为正确的语料,因而,只有“我想听song”这一样本数据的语言模型标签被设定为“正确”,而其它样本数据,也即样本数据“我想听成都”以及“我想听city”的语言模型标签将被设定为“错误”:同样的,基于自然语句“我想去成都”,可得到三个样本数据“我想去成都”、“我想去city”及“我想去song”,这三个样本数据的意图标签将被设定为“去城市”;且这三个样本数据中,只有一个样本数据的语言模型标签将被设定为“正确”,因而,只有“我想去city”这一样本数据的语言模型标签被设定为“正确”,而其它样本数据,也即样本数据“我想去成都”以及“我想去song”的语言模型标签将被设定为“错误”。进一步地,上述意图标签种还有“闲聊”标签,指的是没有正确回答的语料,也可看作为不带有目的性的语料。可以认为,此处的意图有两大类,一类为“闲聊”,“闲聊”意图的意图标签为固定值,例如,可以为0;另一类为“非闲聊”,“非闲聊”意图下又有多个具体的意图类别,例如“听音乐”、“去城市”及“问天气”等,而每一意图类别又分别与唯一的一意图标签对应。需要注意的是,上述各个样本数据的意图标签与语言模型标签都是预先设定好的,也即,上述意图标签及语言模型标签是每一样本数据的固有属性。通过获取样本数据的意图标签及语言模型标签,即可确定各个样本数据所属的意图类别及语言模型类别。其中,语言模型类型包括正样本及负样本。具体地,当一个样本数据的语言模型标签为“正确”时,该样本数据的语言模型类型即可被确定为正样本;而当一个样本数据的语言模型标签为“错误”时,该样本数据的语言模型类型即可被确定为负样本。请参阅图3,在训练过程中,样本数据输入至意图识别模型后,意图识别模型将输出该样本数据所属的意图类别与语言模型类别,这两个类别是意图识别模型所预测而得的,因而,此处为了与样本数据自身的标签所指示的类别相区分,将意图识别模型输出的结果记为预测意图类别及预测语言模型类别,将样本数据的固有属性(也即标签所指示的类别)记为原意图类别及原语言模型类别;随后,基于该意图识别模型所预设的损失函数,计算意图识别模型的损失,并基于该损失更新意图识别模型的模型参数,等待下一次训练。进一步地,可基于上述损失函数对上述意图识别模型进行训练直至达到预设的训练停止条件为止。具体地,上述训练条件与当前训练轮次有关,也与意图识别模型的损失(包括意图损失及语言模型损失)有关,此处不作限定。具体地,为了确定替换语料所属的意图,上述步骤205包括:c1、将目标替换语料输入至已训练的意图识别模型中,得到上述目标替换语料属于各个意图类别的意图得分及上述目标替换语料的语言模型得分,其中,上述目标替换语料为任一替换语料;c2、根据上述目标替换语料所包含的词槽确定目标词槽组合;c3、将上述目标词槽组合所对应的意图类别确定为上述目标替换语料所属的意图类别;c4、将上述目标替换语料所属的意图类别的意图得分确定为上述目标替换语料的意图得分。在本申请实施例中,意图识别模型的输出为多端口:针对意图标签来说,每一意图类别对应一个端口。考虑到有些样本数据可以同时属于两个意图类别,因而,其采用的激活函数为sigmod,其中,每一端口(也即每一意图类别)对应一个sigmod,通过这种方式,可使得意图识别模型能够命中多个意图类别;而针对语言模型标签来说,由于只有“正确”或“错误”这两种可能,因而其可以直接采用softmax作为激活函数。意图识别模型将输出每一替换语料分别属于各个意图类别的意图得分,以及每一替换语料的语言模型得分;其中,一个替换语料在某一意图类别下的意图得分越高,则表明意图识别模型预测该替换语料越有可能属于该意图类别;一个替换语料的语言模型得分越高,则表明意图识别模型预测该替换语料越有可能是正确的表述。具体地,每一意图的意图得分的取值范围及语言模型得分的取值范围均为[0,1]。在语料人员的设置下,每一意图类别可以预先对应一个以上词槽组合,也即,可以预先形成意图类别与词槽组合之间的关联关系。这样一来,可以通过该关联关系,对意图类别进行筛选,其原则为:当替换语料所包含的词槽组合与某一意图类别不存在关联关系时,该替换语料不应该被预测到该意图类别下。也即,假定替换语料所包含的词槽组合为[a,b],又假定当前共有意图类别a、意图类别b及意图类别c这三种意图类别,其中只有意图类别a与[a,b]相关联,那么可以认为该替换语料不可能属于意图类别b及意图类别c,此时智能设备可以对替换语料属于意图类别b的意图得分以及替换语料属于意图类别c的意图得分作mask操作,也即忽略替换语料属于意图类别b的意图得分以及替换语料属于意图类别c的意图得分。下面通过具体实例对上述步骤c1至c4作出说明:假定输入语句为:我想去肯德基吃炸鸡;所生成的替换语料为:a.我想去{position}吃{food}b.我想去{position}吃炸鸡c.我想去肯德基吃炸鸡d.我想去肯德基吃{food}意图类别与词槽组合的关联关系如下表3所示:表3假定替换语料a(也即“我想去position吃food”)所得到的意图得分分别是:饮食(0.8);购物(0.81);娱乐(0.1);服务(0.3)。随后,获取该替换语料a所包含的词槽组合,为[position,food];也即,此时可以确定目标词槽组合为[position,food]。接着,通过表3可知,该目标词槽组合只与“饮食”这一意图类别相关联,也即,该目标词槽组合所对应的意图类别为“饮食”,基于此,将上述目标词槽组合所对应的意图类别(也即“饮食”意图类别)确定为替换语料a所属的意图类别,并对“饮食”意图类别之外的其它意图类别的意图得分进行mask操作,最终所得到的意图得分分别是:饮食(0.8);购物(0);娱乐(0);服务(0)。也即,替换语料a(“我想去position吃food”)的意图得分为饮食(0.8)。步骤206,基于各个替换语料的意图得分及语言模型得分,确定目标替换语料;在本申请实施例中,每一个替换语料都会得到其意图得分以及其语言模型得分,通过对上述意图得分及语言模型得分进行分析,从中确定得到目标替换语料。具体地,上述步骤206包括:d1、检测是否存在符合预设的第一条件的替换语料,上述第一条件为:意图得分大于预设的意图得分阈值,且语言模型得分大于预设的语言模型得分阈值;d2、若存在符合上述第一条件的替换语料,则分别计算各个符合上述第一条件的替换语料的得分总值,并将符合上述第一条件的替换语料中得分总值最高的替换语料确定为目标替换语料,其中,得分总值为意图得分与语言模型得分的和;d3、若不存在符合上述第一条件的替换语料,则检测是否存在符合预设的第二条件的替换语料,上述第二条件为:意图得分大于预设的意图得分阈值;d4、若存在符合上述第二条件的替换语料,则分别计算各个符合上述第二条件的替换语料的得分总值,并将符合上述第二条件的替换语料中得分总值最高的替换语料确定为目标替换语料。其中,研发人员预先设定有一意图得分阈值以及一语言模型得分阈值,则首先基于第一条件对替换语料进行筛选,也即,检测是否存在意图得分大于预设的意图得分阈值且语言模型得分大于预设的语言模型阈值的替换语料。若存在符合第一条件的替换语料,则将这些符合第一条件的替换语料存入第一语料集合中,随后统计上述第一语料集合中各个替换语料的得分总值,也即,针对第一语料集合中的任一替换语料,将该替换语料的意图得分与语言模型得分的和作为该替换语料的得分总值,在得到了第一语料集合中每一替换语料的得分总值后,将其中得分总值最高的替换语料确定为目标替换语料。若不存在符合第一条件的替换语料,则再基于第二条件对替换语料进行筛选,也即,检测是否存在意图得分大于预设的意图得分阈值的替换语料。也即,在不存在符合第一条件的替换语料的情况下,只考虑意图得分。这是因为有些输入语句的实体词语在实体库内没有,导致实体词语没被替换,出现了语言模型得分为0或语言模型得分较少的情况;但由于输入语句中包含意图类别的关键词,所以会有相应的意图类别及意图得分。例如,输入语句为“我想坐飞机去帝都”,其中“帝都”一词无法被识别出来,因此该输入语句不能进行任何词槽替换,其语言模型得分会输出为0,但是由于该输入语句中包含“坐飞机去”这一关键词,因此该输入语句虽然无法识别出实体词语,但是其会被识别至“定航班”这一意图类别中。若存在符合第二条件的替换语料,则将这些符合第二条件的替换语料存入第二语料集合中,随后统计上述第二语料集合中各个替换语料的得分总值,也即,针对第二语料集合中的任一替换语料,将该替换语料的意图得分与语言模型得分的和作为该替换语料的得分总值,在得到了第二语料集合中每一替换语料的得分总值后,将其中得分总值最高的替换语料确定为目标替换语料。可选地,若既不存在符合第一条件的替换语料,也不存在符合第二条件的替换语料,则认为上述输入语句的意图类别为“闲聊”,后续可以基于“闲聊”语句的交互方式生成上述输入语句的答复语句并反馈给用户。步骤207,将上述目标替换语料的意图确定为上述输入语句的意图。在本申请实施例中,当确定了目标替换语料后,该目标替换语料所属的意图类别即指示了上述目标替换语料的意图,并随即可以将上述目标替换语料的意图确定为上述输入语句的意图,并基于该输入语句的意图生成相应的答复语句并反馈给用户。由上可见,在本申请实施例中,通过预设的词槽组合列表对词槽替换作出限制,避免以无效的词槽组合对输入语句进行词槽替换,可以一定程度上减少错误的替换语料的生成,实现后续对替换语料的处理效率的提升。进一步地,针对存在重复的实体词语,还可以以最大匹配原则查找出其中的待替换实体词语,以进一步减少替换语料的生成数量,并提升替换语料的生成效率及准确性。在识别得到了替换语料后,基于这些替换语料进行双标签的意图识别操作,并基于双标签的输出结果确定输入语句的意图。通过上述双标签的方式,可以有效避免过拟合的情况。应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。实施例三本申请实施例三提供了一种语料生成装置,上述语料生成装置可集成于智能设备中,如图4所示,本申请实施例中的语料生成装置400包括:接收单元401,用于接收输入语句;识别单元402,用于对上述输入语句进行实体词语识别;获取单元403,用于若上述输入语句存在一个以上实体词语,则获取预设的词槽组合列表,上述词槽组合列表中包含有一个以上词槽组合,每一词槽组合至少包括一个词槽;生成单元404,用于基于上述词槽组合列表中所包含的词槽组合,对上述输入语句所包含的一个以上实体词语进行匹配及替换,得到一个以上替换语料。可选地,上述生成单元404,包括:词槽组合树生成子单元,用于基于上述词槽组合列表,生成一个以上词槽组合树,其中,包含相同词槽的词槽组合之间可以形成同一词槽组合树中的子节点及父节点;替换语料生成子单元,用于若上述输入语句所包含的实体词语中,存在能够与目标词槽组合树中的根节点相匹配的实体词语,则基于上述目标词槽组合树对上述输入语句中的各个实体词语进行匹配及替换,得到一个以上替换语料,其中,上述目标词槽组合为任一词槽组合树。可选地,上述语料生成子单元,具体用于以上述目标词槽组合树的根节点为起点,根据父节点至子节点的顺序依次将上述目标词槽组合树中的各个词槽组合与上述输入语句中的实体词语进行匹配及替换,得到一个以上替换语料。可选地,上述生成单元404,包括:检测子单元,用于检测上述输入语句的各个实体词语之间,是否存在重叠;统计子单元,用于若有存在重叠的一个以上实体词语,则分别统计存在重叠的一个以上实体词语的长度;确定子单元,用于在存在重叠的一个以上实体词语中,将长度最长的实体词语作为待替换实体词语,并将不存在重叠的实体词语作为待替换实体词语;替换子单元,用于基于上述词槽组合列表中所包含的词槽组合,对上述输入语句所包含的一个以上待替换实体词语进行匹配及替换,得到一个以上替换语料。可选地,上述语料生成装置400还包括:得分获取单元,用于在上述得到一个以上替换语料之后,将各个替换语料输入至已训练的意图识别模型中,得到各个替换语料的意图得分及语言模型得分;目标确定单元,用于基于各个替换语料的意图得分及语言模型得分,确定目标替换语料;意图确定单元,用于将上述目标替换语料的意图确定为上述输入语句的意图。可选地,上述得分获取单元,包括:得分获取子单元,用于将目标替换语料输入至已训练的意图识别模型中,得到上述目标替换语料属于各个意图类别的意图得分及上述目标替换语料的语言模型得分,其中,上述目标替换语料为任一替换语料;目标词槽组合确定子单元,用于根据上述目标替换语料所包含的词槽确定目标词槽组合;意图类别确定子单元,用于将上述目标词槽组合所对应的意图类别确定为上述目标替换语料所属的意图类别;意图得分确定子单元,用于将上述目标替换语料所属的意图类别的意图得分确定为上述目标替换语料的意图得分。可选地,上述目标确定单元,包括:第一检测子单元,用于检测是否存在符合预设的第一条件的替换语料,上述第一条件为:意图得分大于预设的意图得分阈值,且语言模型得分大于预设的语言模型得分阈值;第一计算子单元,用于若存在符合上述第一条件的替换语料,则分别计算各个符合上述第一条件的替换语料的得分总值,并将符合上述第一条件的替换语料中得分总值最高的替换语料确定为目标替换语料,其中,得分总值为意图得分与语言模型得分的和;第二检测子单元,用于若不存在符合上述第一条件的替换语料,则检测是否存在符合预设的第二条件的替换语料,上述第二条件为:意图得分大于预设的意图得分阈值;第二计算子单元,用于若存在符合上述第二条件的替换语料,则分别计算各个符合上述第二条件的替换语料的得分总值,并将符合上述第二条件的替换语料中得分总值最高的替换语料确定为目标替换语料。由上可见,在本申请实施例中,语料生成装置可通过预设的词槽组合列表对词槽替换作出限制,避免以无效的词槽组合对输入语句进行词槽替换,可以一定程度上减少错误的替换语料的生成,实现后续对替换语料的处理效率的提升。进一步地,针对存在重复的实体词语,还可以以最大匹配原则查找出其中的待替换实体词语,以进一步减少替换语料的生成数量,并提升替换语料的生成效率及准确性。在识别得到了替换语料后,基于这些替换语料进行双标签的意图识别操作,并基于双标签的输出结果确定输入语句的意图。通过上述双标签的方式,可以有效避免过拟合的情况。实施例三本申请实施例三提供了一种智能设备,请参阅图5,本申请实施例中的智能设备5包括:存储器501,一个或多个处理器502(图5中仅示出一个)及存储在存储器501上并可在处理器上运行的计算机程序。其中:存储器501用于存储软件程序以及模块,处理器502通过运行存储在存储器501的软件程序以及单元,从而执行各种功能应用以及数据处理,以获取上述预设事件对应的资源。具体地,处理器502通过运行存储在存储器501的上述计算机程序时实现以下步骤:接收输入语句;对上述输入语句进行实体词语识别;若上述输入语句存在一个以上实体词语,则获取预设的词槽组合列表,上述词槽组合列表中包含有一个以上词槽组合,每一词槽组合至少包括一个词槽;基于上述词槽组合列表中所包含的词槽组合,对上述输入语句所包含的一个以上实体词语进行匹配及替换,得到一个以上替换语料。假设上述为第一种可能的实施方式,则在第一种可能的实施方式作为基础而提供的第二种可能的实施方式中,上述基于上述词槽组合列表中所包含的词槽组合,对上述输入语句所包含的一个以上实体词语进行匹配及替换,得到一个以上替换语料,包括:基于上述词槽组合列表,生成一个以上词槽组合树,其中,包含相同词槽的词槽组合之间可以形成同一词槽组合树中的子节点及父节点;若上述输入语句所包含的实体词语中,存在能够与目标词槽组合树中的根节点相匹配的实体词语,则基于上述目标词槽组合树对上述输入语句中的各个实体词语进行匹配及替换,得到一个以上替换语料,其中,上述目标词槽组合为任一词槽组合树。在上述二种可能的实施方式作为基础而提供的第三种可能的实施方式中,上述基于上述目标词槽组合树对上述输入语句中的各个实体词语进行匹配及替换,得到一个以上替换语料,包括:以上述目标词槽组合树的根节点为起点,根据父节点至子节点的顺序依次将上述目标词槽组合树中的各个词槽组合与上述输入语句中的实体词语进行匹配及替换,得到一个以上替换语料。在上述第一种可能的实施方式作为基础而提供的第四种可能的实施方式中,上述基于上述词槽组合列表中所包含的词槽组合,对上述输入语句所包含的一个以上实体词语进行匹配及替换,得到一个以上替换语料,包括:检测上述输入语句的各个实体词语之间,是否存在重叠;若有存在重叠的一个以上实体词语,则分别统计存在重叠的一个以上实体词语的长度;在存在重叠的一个以上实体词语中,将长度最长的实体词语作为待替换实体词语,并将不存在重叠的实体词语作为待替换实体词语;基于上述词槽组合列表中所包含的词槽组合,对上述输入语句所包含的一个以上待替换实体词语进行匹配及替换,得到一个以上替换语料。在上述第一种可能的实施方式作为基础,或者上述第二种可能的实施方式作为基础,或者上述第三种可能的实施方式作为基础,或者上述第四种可能的实施方式作为基础而提供的第五种可能的实施方式中,在上述得到一个以上替换语料之后,处理器502通过运行存储在存储器501的上述计算机程序时还实现以下步骤:将各个替换语料输入至已训练的意图识别模型中,得到各个替换语料的意图得分及语言模型得分;基于各个替换语料的意图得分及语言模型得分,确定目标替换语料;将上述目标替换语料的意图确定为上述输入语句的意图。在上述第五种可能的实施方式作为基础而提供的第六种可能的实施方式中,上述将各个替换语料输入至已训练的意图识别模型中,得到各个替换语料的意图得分及语言模型得分,包括:将目标替换语料输入至已训练的意图识别模型中,得到上述目标替换语料属于各个意图类别的意图得分及上述目标替换语料的语言模型得分,其中,上述目标替换语料为任一替换语料;根据上述目标替换语料所包含的词槽确定目标词槽组合;将上述目标词槽组合所对应的意图类别确定为上述目标替换语料所属的意图类别;将上述目标替换语料所属的意图类别的意图得分确定为上述目标替换语料的意图得分。在上述第五种可能的实施方式作为基础而提供的第七种可能的实施方式中,上述基于各个替换语料的意图得分及语言模型得分,确定目标替换语料,包括:检测是否存在符合预设的第一条件的替换语料,上述第一条件为:意图得分大于预设的意图得分阈值,且语言模型得分大于预设的语言模型得分阈值;若存在符合上述第一条件的替换语料,则分别计算各个符合上述第一条件的替换语料的得分总值,并将符合上述第一条件的替换语料中得分总值最高的替换语料确定为目标替换语料,其中,得分总值为意图得分与语言模型得分的和;若不存在符合上述第一条件的替换语料,则检测是否存在符合预设的第二条件的替换语料,上述第二条件为:意图得分大于预设的意图得分阈值;若存在符合上述第二条件的替换语料,则分别计算各个符合上述第二条件的替换语料的得分总值,并将符合上述第二条件的替换语料中得分总值最高的替换语料确定为目标替换语料。应当理解,在本申请实施例中,所称处理器502可以是中央处理单元(centralprocessingunit,cpu),该处理器还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。存储器501可以包括只读存储器和随机存取存储器,并向处理器502提供指令和数据。存储器501的一部分或全部还可以包括非易失性随机存取存储器。例如,存储器501还可以存储设备类型的信息。由上可见,在本申请实施例中,语料生成装置可通过预设的词槽组合列表对词槽替换作出限制,避免以无效的词槽组合对输入语句进行词槽替换,可以一定程度上减少错误的替换语料的生成,实现后续对替换语料的处理效率的提升。进一步地,针对存在重复的实体词语,还可以以最大匹配原则查找出其中的待替换实体词语,以进一步减少替换语料的生成数量,并提升替换语料的生成效率及准确性。在识别得到了替换语料后,基于这些替换语料进行双标签的意图识别操作,并基于双标签的输出结果确定输入语句的意图。通过上述双标签的方式,可以有效避免过拟合的情况。所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将上述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者外部设备软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。在本申请所提供的实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的系统实施例仅仅是示意性的,例如,上述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。上述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关联的硬件来完成,上述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,上述计算机程序包括计算机程序代码,上述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。上述计算机可读存储介质可以包括:能够携带上述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机可读存储器、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,上述计算机可读存储介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读存储介质不包括是电载波信号和电信信号。以上上述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。当前第1页12