首页 / 专利库 / 人工智能 / 计算幽默 / 基于对话知识库的机器人对话控制方法和系统

基于对话知识库机器人对话控制方法和系统

阅读:580发布:2020-05-17

专利汇可以提供基于对话知识库机器人对话控制方法和系统专利检索,专利查询,专利分析的服务。并且本 发明 涉及一种 机器人 对话控制方法和系统,在对话 知识库 中搜索与输入语句匹配度大于或等于预设匹配度的语句作为第一语句,获取与第一语句对应的回复语句作为第二语句,计算每条第二语句与输入语句的主语属性的关系,并将符合预设条件的关系对应的第二语句作为输出语句输出。由于第一语句为与输入语句较为匹配的语句,即可确保第一语句的合理性,从而可确保与第一语句对应的回复语句的合理性,即确保了第二语句的合理性,第二语句的幽默性参数越大,第二语句越幽默,将幽默性参数最大的第二语句作为输出语句输出,确保了输出语句的幽默性,从而确保了输出语句既合理又幽默。,下面是基于对话知识库机器人对话控制方法和系统专利的具体信息内容。

1.一种机器人对话控制方法,其特征在于,包括以下步骤: 获取输入语句,并从对话知识库中检索与所述输入语句匹配度大于或等于预设匹配度的语句作为第一语句,其中,所述对话知识库包括输入语句集以及与所述输入语句集对应的回复语句集; 从所述对话知识库中检索与所述第一语句对应的回复语句作为第二语句; 获取所述输入语句的主语属性; 分别根据每条所述第二语句以及所述输入语句的主语属性,计算每条所述第二语句的幽默性参数,并将最大所述幽默性参数对应的所述第二语句作为输出语句输出。
2.根据权利要求1所述的机器人对话控制方法,其特征在于,所述分别根据每条所述第二语句以及所述输入语句的主语属性,计算每条所述第二语句的幽默性参数,并将最大所述幽默性参数对应的所述第二语句作为输出语句输出的步骤包括: 将所述主语属性分别与所述第二语句进行合并得到合并语句; 分别根据每条所述合并语句进行搜索,获得搜索结果数量作为所述合并语句的搜索结果数量; 根据所述合并语句的搜索结果数量,计算得到与所述合并语句对应的所述第二语句的幽默性参数,其中,所述第二语句的幽默性参数与所述搜索结果数量成反比; 将最大所述幽默性参数对应的所述第二语句作为输出语句输出。
3.根据权利要求2所述的机器人对话控制方法,其特征在于,所述分别根据每条所述合并语句进行搜索,获得搜索结果数量作为所述合并语句的搜索结果数量的步骤具体为: 分别根据每条所述合并语句,对预设大数据进行搜索或通过搜索引擎进行搜索,获得搜索结果数量作为所述合并语句的搜索结果数量,其中,所述预设大数据包括互联网中产生的语句数据、预设有语句的数据库数据以及预设有语句的文件数据,所述搜索引擎包括互联网搜索引擎和离线搜索引擎。
4.根据权利要求1所述的机器人对话控制方法,其特征在于,所述获取所述输入语句的主语属性的步骤包括: 当所述输入语句没有主语或其主语为第一人称时,通过用户注册信息或对话框中的属性输入获取所述输入语句的主语属性; 当所述输入语句的主语为第二人称时,通过机器人注册信息或对话框中的属性输入获取所述输入语句的主语属性; 当所述输入语句的主语为第三人称时,通过对话框中的属性输入或将所述输入语句的主语作为电子词典或搜索引擎的输入进行搜索,获取所述输入语句的主语属性。
5.根据权利要求1所述的机器人对话控制方法,其特征在于,所述获取输入语句,并从对话知识库中检索与所述输入语句匹配度大于或等于预设匹配度的语句作为第一语句的步骤之前还包括: 获取历史输入语句集以及与所述历史输入语句集对应的历史回复语句集; 根据所述历史输入集以及所述历史回复语句集,构建所述对话知识库。
6.一种机器人对话控制系统,其特征在于,包括: 第一检索模,用于获取输入语句,并从对话知识库中检索与所述输入语句匹配度大于或等于预设匹配度的语句作为第一语句,其中,所述对话知识库包括输入语句集以及与所述输入语句集对应的回复语句集; 第二检索模块,用于从所述对话知识库中检索与所述第一语句对应的回复语句作为第二语句; 属性获取模块,用于获取所述输入语句的主语属性;筛选模块,用于分别根据每条所述第二语句以及所述输入语句的主语属性,计算每条所述第二语句的幽默性参数,并将最大所述幽默性参数对应的所述第二语句作为输出语句输出。
7.根据权利要求6所述的机器人对话控制系统,其特征在于,所述筛选模块包括: 合并单元,用于将所述主语属性分别与所述第二语句进行合并得到合并语句; 搜索单元,用于分别根据每条所述合并语句进行搜索,获得搜索结果数量作为所述合并语句的搜索结果数量; 计算单元,用于根据所述合并语句的搜索结果数量,计算得到与所述合并语句对应的所述第二语句的幽默性参数,其中,所述第二语句的幽默性参数与所述搜索结果数量成反比; 输出单元,将最大所述幽默性参数对应的所述第二语句作为输出语句输出。
8.根据权利要求7所述的机器人对话控制系统,其特征在于,所述搜索单元具体用于分别根据每条所述合并语句,对预设大数据进行搜索或通过搜索引擎进行搜索,获得搜索结果数量作为所述合并语句的搜索结果数量,其中,所述预设大数据包括互联网中产生的语句数据、预设有语句的数据库数据以及预设有语句的文件数据,所述搜索引擎包括互联网搜索引擎和离线搜索引擎。
9.根据权利要求1所述的机器人对话控制系统,其特征在于,所述属性获取模块包括: 第一属性获取单元,用于当所述输入语句没有主语或其主语为第一人称时,通过用户注册信息或对话框中的属性输入获取所述输入语句的主语属性; 第二属性获取单元,用于当所述输入语句的主语为第二人称时,通过机器人注册信息或对话框中的属性输入获取所述输入语句的主语属性; 第二属性获取单元,用于当所述输入语句的主语为第三人称时,通过对话框中的属性输入或将所述输入语句的主语作为电子词典或搜索引擎的输入进行搜索,获取所述输入语句的主语属性。
10.根据权利要求6所述的机器人对话控制系统,其特征在于,还包括: 语句获取模块,用于获取历史输入语句集以及与所述历史输入语句集对应的历史回复语句集; 构建模块,用于根据所述历史输入集以及所述历史回复语句集,构建所述对话知识库。

说明书全文

基于对话知识库机器人对话控制方法和系统

技术领域

[0001]本发明涉及人工智能技术领域,特别涉及一种基于对话知识库的机器人对话控制方法和系统。

背景技术

[0002]随着机器人技术的快速发展,用户对机器人功能的要求也越来越高。幽默感是智慧机器人的最重要内容之一。
[0003]现有机器人与用户交谈时,要么从离线对话数据库或互联网对话数据库中模糊搜索出与用户语句匹配度最大的语句的回复语句进行回复,已有的离线对话数据库或互联网对话数据库及其搜索检索技术已经比较成熟,已有的知识库技术可以充分保证机器人回复语句的合理性,所以可以做到回复尽量合理,但缺乏幽默感。要么故意从离线对话数据库或互联网对话数据库中模糊搜索出与用户语句匹配度最小的语句的回复语句进行回复,回复合理性较低,同时貌似很幽默,但回复“头不对嘴”,显然不是真正的幽默,因为不能把胡言乱语当成是一种幽默,机器人回复语句的合理性和幽默感之间存在矛盾,从而,导致机器人在与用户交谈合理时回复的语句缺乏幽默感。

发明内容

[0004]基于此,有必要针对机器人交谈时合理性与幽默感之间存在矛盾的问题,提供一种保持机器人谈话合理性的同时,提高机器人谈话的幽默感的机器人对话控制方法和系统。
[0005] —种机器人对话控制方法,包括以下步骤:
[0006]获取输入语句,并从对话知识库中检索与所述输入语句匹配度大于或等于预设匹配度的语句作为第一语句,其中,所述对话知识库包括输入语句集以及与所述输入语句集对应的回复语句集;
[0007]从所述对话知识库中检索与所述第一语句对应的回复语句作为第二语句;
[0008]获取所述输入语句的主语属性;
[0009]分别根据每条所述第二语句以及所述输入语句的主语属性,计算每条所述第二语句的幽默性参数,并将最大所述幽默性参数对应的所述第二语句作为输出语句输出。
[0010]本发明还提供一种机器人对话控制系统,包括:[0011 ]第一检索模,用于获取输入语句,并从对话知识库中检索与所述输入语句匹配度大于或等于预设匹配度的语句作为第一语句,其中,所述对话知识库包括输入语句集以及与所述输入语句集对应的回复语句集;
[0012]第二检索模块,用于从所述对话知识库中检索与所述第一语句对应的回复语句作为第二语句;
[0013]属性获取模块,用于获取所述输入语句的主语属性;筛选模块,用于分别根据每条所述第二语句以及所述输入语句的主语属性,计算每条所述第二语句的幽默性参数,并将最大所述幽默性参数对应的所述第二语句作为输出语句输出。
[0014]上述机器人对话控制方法和系统,通过根据输入语句在对话知识库中搜索与该输入语句的匹配度大于预设匹配度的语句作为第一语句,从对话知识库中检索出与第一语句对应的回复语句,并将检索出的回复语句作为第二语句,分别根据每条第二语句以及输入语句的主语属性,计算每条第二语句的幽默性参数,并将最大幽默性参数对应的第二语句作为输出语句输出。由于第一语句为与输入语句的匹配度大于预设匹配度的语句,预设匹配度可预先设置,即可确保第一语句的合理性,从而可确保与第一语句对应的回复语句的合理性,即确保了第二语句的合理性,第二语句的幽默性参数越大,第二语句越幽默,将幽默性参数最大的第二语句作为输出语句输出,确保了输出语句的幽默性,且由于第二语句是与输入语句匹配度较大的语句,确保了第二语句的合理性,输出语句是从第二语句中筛选出,确保了输出语句的合理性,从而确保了输出语句既合理又幽默,即确保机器人回复的合理性的同时提高了与机器人交互的幽默感,即利于机器人的智慧化和幽默化。附图说明
[0015]图1为一种实施方式的机器人对话控制方法的流程图
[0016]图2为另一种实施方式的机器人对话控制方法的流程图;
[0017]图3为另一种实施方式的机器人对话控制方法的流程图;
[0018]图4为另一种实施方式的机器人对话控制方法的流程图;
[0019]图5为用户与机器人交互的示意图;
[0020]图6为一种实施方式的机器人对话控制系统的模块图;[0021 ]图7为另一种实施方式的机器人对话控制系统的模块图;
[0022]图8为另一种实施方式的机器人对话控制系统的模块图;
[0023]图9为另一种实施方式的机器人对话控制系统的模块图。

具体实施方式

[0024]请参阅图1,提供一种实施方式的机器人对话控制方法,包括以下步骤:
[0025] S100:获取输入语句,并从对话知识库中检索与输入语句匹配度大于或等于预设匹配度的语句作为第一语句。
[0026]其中,对话知识库包括输入语句集以及与输入语句集对应的回复语句集。在本实施例中,机器人是指泛义的机器人,包括一切模拟人类行为或思想以及模拟其他生物的机械,也包括一些电脑程序,例如,聊天机器人程序等。在用户需要与机器人进行交互时,用户可向机器人输入语句,从而机器人可获取用户的输入语句,其中,输入语句可以是文字和语音,甚至可以是视频。在本实施例中,输入语句为语音,根据输入语句从对话知识库中检索出与输入语句匹配度大于或等于预设匹配度的语句,并将检索出的语句作为第一语句。例如,可设置预设匹配度为80%,即从对话知识库中检索与输入语句匹配度大于或等于80%的语句作为第一语句,可确保第一语句的合理性。在本实施例中,获取输入语句,并从对话知识库中检索与输入语句匹配度最大的语句作为第一语句,进一步确保第一语句的合理性,具体地,可依据匹配度从大到小的顺序对与输入语句的匹配度大于预设值的语句进行排序,选择排序后的第一个语句作为第一语句,例如,从大到小排序的前m个,m为预设的大于或等于I的自然数,当m=l时,其实就是从对话知识库中检索与输入语句匹配度最大的语句作为第一语句。
[0027]搜索是调用知识库的搜索引擎自动完成的,对话知识库的输入语句集中与用户的输入语句匹配度大于或等于预设匹配度的语句的回复语句即是该用户的输入语句的较为合理的回复语句。在本实施例中,对话知识库可以是预设的,也可以根据平时的对话记录而形成或者补充,根据实际情况,可对对话知识库中的语句进行补充、修改和删除等。
[0028] S200:从对话知识库中检索与第一语句对应的回复语句作为第二语句。
[0029]其中,第一语句是从对话知识库的输入语句集中检索出与用户的输入语句匹配度大于或等于预设匹配度的一条语句,而输入语句集中每条输入语句在知识库中都有对应的多个回复语句,即输入语句与回复语句存在对应关系,所以可以从知识库中检索出第一语句对应的所有回复语句。
[0030] S300:获取输入语句的主语属性。[0031 ]输入语句的主语包括但不限于“我”、“你”、“他”、“她”、人名、动物名,如果输入语句没有主语,则输入语句的主语默认为“我” ο当输入语句的主语为“我”或没有主语,主语属性为用户属性。当输入语句的主语为“您”或“你”,主语属性为机器人属性,机器人属性是预先在机器人中已注册。当输入语句的主语为“他”,主语属性为男性。当输入语句的主语为“她”,主语属性为男性。输入语句的主语也可以是任何人、任何物或任何事,主语属性则是相应人的属性、相应物的属性或相应事的属性。语句和主语可以是中文,也可以是英文或其他语言。
[0032]输入语句的主语为“我”时,对应的是用户属性,此时,可通过注册信息或对话框的属性输入获取主语属性。当通过对话框询问用户,用户输入的是“年轻男性”,则输入语句的主语属性则为“年轻男性”。
[0033] S400:分别根据每条第二语句以及输入语句的主语属性,计算每条第二语句的幽默性参数,并将最大幽默性参数对应的第二语句作为输出语句输出。
[0034]根据第二语句以及输入语句的主语属性,可知第二语句与主语属性的契合程度,当第二语句与主语属性之间的契合程度越低,表示第二语句越幽默,即主语属性相对于第二语句越不合理,表示契合程度越低,则第二语句越幽默。在本实施例中,通过搜索结果数量表示第二语句与主语属性之间的契合程度,即通过搜索结果数量,可知第二语句的幽默性参数。具体地,第二语句与主语属性合并后得到合并语句的搜索结果数量表示第二语句与合并语句的契合程度,即可知第二语句的幽默性参数。分别根据每条第二语句以及输入语句的主语属性,计算每条第二语句的幽默性参数,即可知每条第二语句的幽默性参数,幽默性参数表示语句的幽默程度,幽默性参数越大,对应的语句越幽默,第二语句与主语属性越不契合,第二语句越幽默。例如,第二语句为“我怀孕了”,主语属性为“男性”,则男性相对于语句“我怀孕了”是不太合理的,即第二语句相对于主语属性的合理等级是较低的,但是机器人利用该第二语句作为用户的回复是幽默的。
[0035]可以理解,还可通过搜索结果数量在总搜索结果数量的比重表示第二语句与主语属性之间的契合程度,具体地,第二语句与主语属性合并后得到合并语句的搜索结果数量在总搜索结果数量的比重表示第二语句与合并语句的契合程度,即可知第二语句的幽默性参数。第二语句和主语属性合并后进行搜索的总搜索结果数量为每条第二语句和主语属性合并后进行搜索的搜索结果数量的总数,占的比重越大,第二主语与主语属性契合程度越大,越不幽默。
[0036]上述机器人对话控制方法,通过根据输入语句在对话知识库中搜索与该输入语句的匹配度大于预设匹配度的语句作为第一语句,从对话知识库中检索出与第一语句对应的回复语句,并将检索出的回复语句作为第二语句,分别根据每条第二语句以及输入语句的主语属性,计算每条第二语句的幽默性参数,并将最大幽默性参数对应的第二语句作为输出语句输出。由于第一语句为与输入语句的匹配度大于预设匹配度的语句,预设匹配度可预先设置,即可确保第一语句的合理性,从而可确保与第一语句对应的回复语句的合理性,即确保了第二语句的合理性,第二语句的幽默性参数越大,第二语句越幽默,将幽默性参数最大的第二语句作为输出语句输出,确保了输出语句的幽默性,且由于第二语句是与输入语句匹配度较大的语句,确保了第二语句的合理性,输出语句是从第二语句中筛选出,确保了输出语句的合理性,从而确保了输出语句既合理又幽默,即确保机器人回复的合理性的同时提高了与机器人交互的幽默感,即利于机器人的智慧化和幽默化。
[0037]请参阅图2,在其中一个实施例中,分别根据每条第二语句以及输入语句的主语属性,计算每条第二语句的幽默性参数,并将最大幽默性参数对应的第二语句作为输出语句输出的步骤S400包括:
[0038] S410:将主语属性分别与第二语句进行合并得到合并语句。
[0039]有多少条第二语句,则对应得到相应数量的合并语句,即合并语句的条数与第二语句的条数相同,例如,有3条第二语句,即第一语句的回复语句有3条,分别为A、B、C,主语属性为D,将主语属性分别与每条第二语句进行合并,即是将D分别与A、B、C合并,得到3条合并语句分别为40、80、00,这3条合并语句是分别和第二语句对应的,即合并语句AD对应第二语句A,合并语句BD对应第二语句B,合并语句CD对应第二语句C。
[0040] S420:分别根据每条合并语句进行搜索,获得搜索结果数量作为合并语句的搜索结果数量。
[0041]具体地,从合并语句对应的搜索结果数量的大小可以看出人们对合并语言的认同度,也可看出第二语句与主语属性的契合程度,合并语句的搜索结果数量越小则表明人们对合并语言的认同度越低,则表示第二语句与主语属性的契合程度越低,即表示根据合并语句搜索的内容越不合理,从而可知第二语句越不幽默。
[0042] S430:根据合并语句的搜索结果数量,计算得到与合并语句对应的第二语句的幽默性参数。
[0043]其中,第二语句的幽默性参数与搜索结果数量成反比。例如,第二语句的幽默性参数为与第二语句对应的合并语句的搜索结果数量的倒数。
[0044] S440:将最大幽默性参数对应的第二语句作为输出语句输出。
[0045]每条第二语句有其对应的一条合并语句,例如,2条第二语句分别为A和B,第二语句A对应的合并语句为AD,第二语句B对应的合并语句为BD,根据第合并语句AD的搜索结果数量,计算与合并语句AD对应的第二语句A的幽默性参数,根据合并语句BD的搜索结果数量,计算与合并语句BD对应的第二语句B的幽默性参数,第二语句的幽默性参数是与合并语句的搜索结果数量成反比,即最小搜索结果数量的合并语句对应的第二语句的幽默性参数最大。即合并语句的搜索结果数量越大,合并语句对应的第二语句的幽默性参数越小,越不幽默,合并语句的搜索结果数量越小,合并语句对应的第二语句的幽默性参数越大,越不幽默。从而,将最大幽默性参数对应的第二语句作为输出语句输出即是将最小搜索结果数量的合并语句对应的第二语句作为输出语句输出。
[0046]其中,将输出语句输出给用户的方式可以是文本的方式,也可以是语音的方式,也可以是视频的方式,还可以是其他方式,例如,以表情的方式。
[0047]最小搜索结果数量对应的合并语句对应的第二语句,是从多个第二语句中筛选出与输入语句的主语属性最不契合的一个第二语句,但如果不考虑用户的输入语句的主语属性,该第二语句又是合理的,从而既保持了输出信息的合理性,即确保该语句不是胡言乱语,又让用户意想不到,这是因为用户一般会带着“输入语句的主语属性”去考虑,对用户而言也就最幽默。
[0048]由于第一语句为与输入语句最匹配的语句,即可确保第一语句的合理性,从而可确保与第一语句对应的回复语句的合理性,即确保了第二语句的合理性,合并语句对应的搜索结果数量越小表示合并语句越不合理,则第二语句越幽默,从而最小搜索结果数量对应的合并语句对应的第二语句,是从多个第二语句中筛选出与输入语句的主语属性最不契合的一个语句,从而,提高了与机器人交互的幽默感,从而实现机器人的智慧化和幽默化。
[0049]分别根据每条合并语句进行搜索,获得搜索结果数量作为合并语句的搜索结果数量的步骤S420具体为:
[0050]分别根据每条合并语句,对预设大数据进行搜索或通过搜索引擎进行搜索,获得搜索结果数量作为合并语句的搜索结果数量,其中,预设大数据包括互联网中产生的语句数据、预设有语句的数据库数据以及预设有语句的文件数据,搜索引擎包括互联网搜索引擎和离线搜索引擎。[0051 ]即分别根据每条合并语句,对预设大数据进行搜索或通过搜索引擎进行搜索,可获得与合并语句对应的搜索结果数量。其中,预设大数据包括互联网中产生的语句数据、预设有语句的数据库数据以及预设有语句的文件数据,搜索引擎包括互联网搜索引擎和离线搜索引擎。具体地,通过调用搜索引擎自动完成搜索时,互联网搜索引擎包括但不限于baidu(百度)搜索引擎、google(谷歌)搜索引擎和gf S0S0(谷粉搜搜)搜索引擎等,搜索引擎还包括局域网搜索引擎、基于数据仓库或数据库的离线搜索引擎以及机器人自带的搜索引擎。
[0052]请参阅图3,在其中一个实施例中,获取输入语句,并从对话知识库中检索与输入语句匹配度大于或等于预设匹配度的语句作为第一语句的步骤SlOO之前还包括:
[0053] SOOl:获取历史输入语句集以及与历史输入语句集对应的历史回复语句集;
[0054] S002:根据历史输入集以及历史回复语句集,构建对话知识库。
[0055]其中,对话知识库是事先构建好的,包括但不限于现有的聊天机器人的离线对话数据库、互联网对话数据库以及新构建的对话数据库,对话知识库中包含有大量历史输入语句,每个历史输入语句又对应有多个回复语句,对话知识库中的历史输入语句及其回复语句应尽量丰富,是海量的用户在过去长时间积累的对话聊天数据的基础上形成的。对话知识库具备输入语句的检索引擎,能进行语句的模糊匹配,通过该检索引擎可以从对话知识库的输入语句集中检索出与用户的输入语句匹配度大于或等于预设匹配度的一个语句,对话知识库具备回复语句的检索引擎,可以通过该检索引擎从对话知识库中检索出任一个输入语句对应的所有回复语句。
[0056]在其中一个实施例中,根据历史输入集以及历史回复语句集,构建对话知识库的步骤S002之后还包括:
[0057] S003:获取更新指令,根据更新指令,对对话知识库进行更新。
[0058]由于在实际应用中,对话聊天数据是不断更新的,从而需要对对话知识库进行更新,以使对话知识库不断更新,满足对话要求。从而可根据更新指令,对对话知识库中的输入语句及其回复语句进行更新,例如,对对话知识库的输入语句的增加和修改。
[0059]请参阅图4,在其中一个实施例中,获取输入语句,并从对话知识库中检索与输入语句匹配度大于或等于预设匹配度的语句作为第一语句的步骤SlOO包括:
[0060] SI 10:获取输入语句;
[0061] S120:根据输入语句,通过编辑距离法或最大公共子串法对对话知识库中输入语句集进行筛选,获得与输入语句匹配度大于或等于预设匹配度的语句,将匹配度大于或等于预设匹配度的语句作为第一语句。
[0062]其中,与输入语句匹配度大于或等于预设匹配度的语句转换为输入语句时所需的插入、删除和替换的总次数最少,或者,与输入语句匹配度大于或等于预设匹配度的语句与输入语句具有的最大公共子串最长。
[0063]语句可以表示成字符串,语句匹配度的计算可以转化为字符串匹配度或相似度的计算,从而,进行匹配度计算的方法有多种,可以采用字符串匹配度或相似度算法,例如,编辑距离法,就是用来计算从原串转换到目标串所需要的最少的插入、删除和替换的数目,SP输入语句集中转换为输入语句时所需的插入、删除和替换的总次数最少的语句作为与输入语句匹配度大于或等于预设匹配度的语句,显然当一个语句编辑为另一个语句所需的插入、删除和替换的次数越少,则匹配度越大。另一种方式是最大公共子串法,即两个语句的最大公共子串越长,则这两个语句匹配度越大。
[0064]在其中一个实施例中,获取输入语句的主语属性的步骤S300包括:
[0065] S310:当输入语句没有主语或其主语为第一人称时,通过用户注册信息或对话框中的属性输入获取输入语句的主语属性;
[0066] S320:当输入语句的主语为第二人称时,通过机器人注册信息或对话框中的属性输入获取输入语句的主语属性;
[0067] S330:当输入语句的主语为第三人称时,通过对话框中的属性输入或将输入语句的主语作为电子词典或搜索引擎的输入进行搜索,获取输入语句的主语属性。
[0068]例如,当输入语句的主语为“我”时,对应的属性为用户属性,用户在与机器人交互之前,首先需要在机器人中进行用户注册,获得用户注册信息,其中包括用户的属性等信息,例如,一名女子进行注册时,需要获取用户的姓名、年龄和性别属性等信息,比如,年轻女性是该女子注册的性别属性,从而可更具注册信息获得该年轻女性这一信息,从而获得输入语句的主语属性,或者可以通过弹出对话框的形式询问用户,用户在对话框中输入主语属性,从而获得输入语句的主语属性。当输入语句没有主语时,默认主语为“我”。当输入语句的主语为您或你时,对应的是机器人属性,机器人的属性信息是预先在机器人中已注册,即机器人注册信息,可根据机器人的注册信息可获取主语属性,或可通过对话框中的属性输入获取主语属性。当主语为第三人称时,可通过对话框中的属性输入获取主语信息,也可通过搜索电子词典或搜索引擎获得主语属性,例如,当输入语句的主语为“他”,主语属性为男性,当语句的主语为“她”,主语属性为女性。
[0069]下面以一具体实施对上述机器人对话控制方法加以说明。请参阅图5,为幽默型智慧机器人与人进行交流的示意图。
[0070]首先,当用户跟机器人说“我肚子痛”时,机器人接收用户的输入语句,即“我肚子痛”。[0071 ]然后,在对话知识库中检索到的与“我肚子痛”最匹配的语句有“我肚子痛”,从而将“我肚子痛”作为第一语句。
[0072]再次,从对话知识库中检索出语句为“肚子痛”对应的回复语句,并将对应的回复语句作为第二语句,其中回复语句有“肚子痛,是胃痛”、“肚子痛,来月经了”以及“肚子痛,到了更年期”。然后机器人查询主语的属性,因为这里的主语是“我”,所以主语属性是用户属性。可通过对话框的形式向用户询问来获取用户属性,例如,用户回复“年轻男性”,那么由上述3个第二语句和主语属性可以组合成3个合并语句,分别为“肚子痛,是胃痛,年轻男性”、“肚子痛,来月经了,年轻男性”以及“肚子痛,到了更年期,年轻男性”,将这3个合并语句在大数据搜索引擎中进行搜索,例如,在2015年5月24日在百度搜索引擎中搜,发现找到相关搜索结果数量分别约529000、60300以及266000,即“肚子痛,来月经了,年轻男性”合并语句的搜索结果数量最小,起对应的第二语句“肚子痛,来月经了”的幽默性参数最大,奖最小的数60300的合并语句对应的第二语句是“肚子痛,来月经了”输出给用户。上述整个过程全部是采用计算机系统自动完成的,大数据搜索引擎可采用google、gf soso以及baidu等,均是在海量的用户在过去长时间积累的大数据的基础上形成的,合并对应的搜索结果数量越少,则表明搜索的内容越不合理,其对应的第二语句越幽默。可以理解的是,第二语句属于在知识库中检索到的最匹配的用户语句的回复语句,保证了机器人对用户的输入语句所做回复的合理性。如果某合并语句对应的搜索结果数量越少,则表明该合并语句的内容越不合理,如果某合并语句对应的搜索结果数最少,则表明该合并语句的内容最不合理,而合并语句的不合理,也就是第二语句相对于用户的输入语句的主语的属性的不合理,从而,第二语句越幽默。从而,在多个合并语句对应的搜索结果数量中选取了最小搜索结果数量的合并语句所对应的第二语句输出给用户,保证了机器人对用户的输入语句所做回复的幽默性。例如,上述用“来月经了”作为“肚子痛”的回复是合理的,因为来月经的确可能会引起肚子痛,但因为年轻男性不可能有月经,所以这个回复就显得特别幽默。从结果中还可以看出“肚子痛,到了更年期,年轻男性”的搜索结果数量第二小,所以“到了更年期”作为“肚子痛”的回复也是比较幽默的,因为更年期的确会引起肚子痛,但更年期大多会发生在老年人身上,年轻人有更年期的可能性小,虽然男性也是有些更年期的说法的。而“胃痛”也是对“肚子痛”的合理回复,且年轻男性也是有可能胃痛的,所以不幽默。当主语属性是“老年男性”、“年轻女性”或“老年女性”的情形同理,不再一一赘述。
[0073]在大数据搜索引擎中,由于后台大数据的数据量的变化,不同时间搜到得到的结果数会有所波动,这种波动反映出人们对某一话语的认同度的真实变化,通过本实施例的机器人对话控制方法能真实地反映人们对某一话语的认同度。搜索引擎后台的大数据日益增多,搜索结果就越来越能反映出人们对某一话语的认同度,从而可以依据搜索引擎的结果来判断某话语的合理性和不合理性,进而从中选出幽默的话语来与用户交流。
[0074]请参阅图6,本发明还提供一种实施方式的机器人对话控制系统,包括:
[0075]第一检索模块100:用于获取输入语句,并从对话知识库中检索出与输入语句匹配度大于或等于预设匹配度的语句作为第一语句。
[0076]其中,对话知识库包括输入语句集以及与输入语句集对应的回复语句集。在本实施例中,机器人是指泛义的机器人,包括一切模拟人类行为或思想以及模拟其他生物的机械,也包括一些电脑程序,例如,聊天机器人程序等。在用户需要与机器人进行交互时,用户可向机器人输入语句,从而机器人可获取用户的输入语句,其中,输入语句可以是文字和语音,甚至可以是视频。在本实施例中,输入语句为语音,根据输入语句从对话知识库中检索出与输入语句匹配度大于或等于预设匹配度的语句,并将检索出的语句作为第一语句。例如,可设置预设匹配度为80%,即从对话知识库中检索与输入语句匹配度大于或等于80%的语句作为第一语句,可确保第一语句的合理性。在本实施例中,获取输入语句,并从对话知识库中检索与输入语句匹配度最大的语句作为第一语句,进一步确保第一语句的合理性,具体地,可依据匹配度从大到小的顺序对与输入语句的匹配度大于预设值的语句进行排序,选择排序后的第一个语句作为第一语句,例如,从大到小排序的前m个,m为预设的大于或等于I的自然数,当m=l时,其实就是从对话知识库中检索与输入语句匹配度最大的语句作为第一语句。
[0077]搜索是调用知识库的搜索引擎自动完成的,对话知识库的输入语句集中与用户的输入语句匹配度大于或等于预设匹配度的语句的回复语句即是该用户的输入语句的较为合理的回复语句。在本实施例中,对话知识库可以是预设的,也可以根据平时的对话记录而形成或者补充,根据实际情况,可对对话知识库中的语句进行补充、修改和删除等。
[0078]第二检索模块200:用于从对话知识库中检索与第一语句对应的回复语句作为第二语句。
[0079]其中,第一语句是从对话知识库的输入语句集中检索出与用户的输入语句匹配度大于或等于预设匹配度的一条语句,而输入语句集中每条输入语句在知识库中都有对应的多个回复语句,即输入语句与回复语句存在对应关系,所以可以从知识库中检索出第一语句对应的所有回复语句。
[0080]属性获取模块300,用于获取输入语句的主语属性。[0081 ]输入语句的主语包括但不限于“我”、“你”、“他”、“她”、人名、动物名,如果输入语句没有主语,则输入语句的主语默认为“我” ο当输入语句的主语为“我”或没有主语,主语属性为用户属性。当输入语句的主语为“您”或“你”,主语属性为机器人属性,机器人属性是预先在机器人中已注册。当输入语句的主语为“他”,主语属性为男性。当输入语句的主语为“她”,主语属性为男性。输入语句的主语也可以是任何人、任何物或任何事,主语属性则是相应人的属性、相应物的属性或相应事的属性。语句和主语可以是中文,也可以是英文或其他语言。
[0082]输入语句的主语为“我”时,对应的是用户属性,此时,可通过注册信息或对话框的属性输入获取主语属性。当通过对话框询问用户,用户输入的是“年轻男性”,则输入语句的主语属性则为“年轻男性”。
[0083]筛选模块400,用于分别根据每条第二语句以及输入语句的主语属性,计算每条第二语句的幽默性参数,并将最大幽默性参数对应的第二语句作为输出语句输出。
[0084]根据第二语句以及输入语句的主语属性,可知第二语句与主语属性的契合程度,当第二语句与主语属性之间的契合程度越低,表示第二语句越幽默,即主语属性相对于第二语句越不合理,表示契合程度越低,则第二语句越幽默。在本实施例中,通过搜索结果数量表示第二语句与主语属性之间的契合程度,即通过搜索结果数量,可知第二语句的幽默性参数。具体地,第二语句与主语属性合并后得到合并语句的搜索结果数量表示第二语句与合并语句的契合程度,即可知第二语句的幽默性参数。分别根据每条第二语句以及输入语句的主语属性,计算每条第二语句的幽默性参数,即可知每条第二语句的幽默性参数,幽默性参数表示语句的幽默程度,幽默性参数越大,对应的语句越幽默,第二语句与主语属性越不契合,第二语句越幽默。例如,第二语句为“我怀孕了”,主语属性为“男性”,则男性相对于语句“我怀孕了”是不太合理的,即第二语句相对于主语属性的合理等级是较低的,但是机器人利用该第二语句作为用户的回复是幽默的。
[0085]可以理解,还可通过搜索结果数量在总搜索结果数量的比重表示第二语句与主语属性之间的契合程度,具体地,第二语句与主语属性合并后得到合并语句的搜索结果数量在总搜索结果数量的比重表示第二语句与合并语句的契合程度,即可知第二语句的幽默性参数。第二语句和主语属性合并后进行搜索的总搜索结果数量为每条第二语句和主语属性合并后进行搜索的搜索结果数量的总数,占的比重越大,第二主语与主语属性契合程度越大,越不幽默。
[0086]上述机器人对话控制系统,通过根据输入语句在对话知识库中搜索与该输入语句的匹配度大于预设匹配度的语句作为第一语句,从对话知识库中检索出与第一语句对应的回复语句,并将检索出的回复语句作为第二语句,分别根据每条第二语句以及输入语句的主语属性,计算每条第二语句的幽默性参数,并将最大幽默性参数对应的第二语句作为输出语句输出。由于第一语句为与输入语句的匹配度大于预设匹配度的语句,预设匹配度可预先设置,即可确保第一语句的合理性,从而可确保与第一语句对应的回复语句的合理性,即确保了第二语句的合理性,第二语句的幽默性参数越大,第二语句越幽默,将幽默性参数最大的第二语句作为输出语句输出,确保了输出语句的幽默性,且由于第二语句是与输入语句匹配度较大的语句,确保了第二语句的合理性,输出语句是从第二语句中筛选出,确保了输出语句的合理性,从而确保了输出语句既合理又幽默,即确保机器人回复的合理性的同时提高了与机器人交互的幽默感,即利于机器人的智慧化和幽默化。
[0087]请参阅图7,在其中一个实施例中,筛选模块400包括:
[0088]合并单元410:用于将主语属性分别与第二语句进行合并得到合并语句。
[0089]有多少条第二语句,则对应得到相应数量的合并语句,即合并语句的条数与第二语句的条数相同,例如,有3条第二语句,即第一语句的回复语句有3条,分别为A、B、C,主语属性为D,将主语属性分别与每条第二语句进行合并,即是将D分别与A、B、C合并,得到3条合并语句分别为40、80、00,这3条合并语句是分别和第二语句对应的,即合并语句AD对应第二语句A,合并语句BD对应第二语句B,合并语句CD对应第二语句C。
[0090]搜索单元420:用于分别根据每条合并语句进行搜索,获得搜索结果数量作为合并语句的搜索结果数量。
[0091]具体地,从合并语句对应的搜索结果数量的大小可以看出人们对合并语言的认同度,也可看出第二语句与主语属性的契合程度,合并语句的搜索结果数量越小则表明人们对合并语言的认同度越低,则表示第二语句与主语属性的契合程度越低,即表示根据合并语句搜索的内容越不合理,从而可知第二语句越不幽默。
[0092]计算单元430:用于根据合并语句的搜索结果数量,计算得到与合并语句对应的第二语句的幽默性参数。
[0093]其中,第二语句的幽默性参数与搜索结果数量成反比。例如,第二语句的幽默性参数为与第二语句对应的合并语句的搜索结果数量的倒数。
[0094]输出单元440:用于将最大幽默性参数对应的第二语句作为输出语句输出。
[0095]每条第二语句有其对应的一条合并语句,例如,2条第二语句分别为A和B,第二语句A对应的合并语句为AD,第二语句B对应的合并语句为BD,根据第合并语句AD的搜索结果数量,计算与合并语句AD对应的第二语句A的幽默性参数,根据合并语句BD的搜索结果数量,计算与合并语句BD对应的第二语句B的幽默性参数,第二语句的幽默性参数是与合并语句的搜索结果数量成反比,即最小搜索结果数量的合并语句对应的第二语句的幽默性参数最大。即合并语句的搜索结果数量越大,合并语句对应的第二语句的幽默性参数越小,越不幽默,合并语句的搜索结果数量越小,合并语句对应的第二语句的幽默性参数越大,越不幽默。从而,将最大幽默性参数对应的第二语句作为输出语句输出即是将最小搜索结果数量的合并语句对应的第二语句作为输出语句输出。
[0096]其中,将输出语句输出给用户的方式可以是文本的方式,也可以是语音的方式,也可以是视频的方式,还可以是其他方式,例如,以表情的方式。
[0097]最小搜索结果数量对应的合并语句对应的第二语句,是从多个第二语句中筛选出与输入语句的主语属性最不契合的一个第二语句,但如果不考虑用户的输入语句的主语属性,该第二语句又是合理的,从而既保持了输出信息的合理性,即确保该语句不是胡言乱语,又让用户意想不到,这是因为用户一般会带着“输入语句的主语属性”去考虑,对用户而言也就最幽默。
[0098]由于第一语句为与输入语句最匹配的语句,即可确保第一语句的合理性,从而可确保与第一语句对应的回复语句的合理性,即确保了第二语句的合理性,合并语句对应的搜索结果数量越小表示合并语句越不合理,则第二语句越幽默,从而最小搜索结果数量对应的合并语句对应的第二语句,是从多个第二语句中筛选出与输入语句的主语属性最不契合的一个语句,从而,提高了与机器人交互的幽默感,从而实现机器人的智慧化和幽默化。
[0099]搜索单元420具体用于分别根据每条合并语句,对预设大数据进行搜索或通过搜索引擎进行搜索,获得搜索结果数量作为合并语句的搜索结果数量,其中,预设大数据包括互联网中产生的语句数据、预设有语句的数据库数据以及预设有语句的文件数据,搜索引擎包括互联网搜索引擎和离线搜索引擎。
[0100]即分别根据每条合并语句,对预设大数据进行搜索或通过搜索引擎进行搜索,可获得与合并语句对应的搜索结果数量。其中,预设大数据包括互联网中产生的语句数据、预设有语句的数据库数据以及预设有语句的文件数据,搜索引擎包括互联网搜索引擎和离线搜索引擎。具体地,通过调用搜索引擎自动完成搜索时,互联网搜索引擎包括但不限于baidu(百度)搜索引擎、google(谷歌)搜索引擎和gf soso(谷粉搜搜)搜索引擎等,搜索引擎还包括局域网搜索引擎、基于数据仓库或数据库的离线搜索引擎以及机器人自带的搜索引擎。
[0101]请参阅图8,在其中一个实施例中,机器人对话控制系统还包括:
[0102]语句获取模块001,用于获取历史输入语句集以及与历史输入语句集对应的历史回复语句集;
[0103]构建模块002,用于根据历史输入集以及历史回复语句集,构建对话知识库。
[0104]其中,对话知识库是事先构建好的,包括但不限于现有的聊天机器人的离线对话数据库、互联网对话数据库以及新构建的对话数据库,对话知识库中包含有大量历史输入语句,每个历史输入语句又对应有多个回复语句,对话知识库中的历史输入语句及其回复语句应尽量丰富,是海量的用户在过去长时间积累的对话聊天数据的基础上形成的。对话知识库具备输入语句的检索引擎,能进行语句的模糊匹配,通过该检索引擎可以从对话知识库的输入语句集中检索出与用户的输入语句匹配度大于或等于预设匹配度的一个语句,对话知识库具备回复语句的检索引擎,可以通过该检索引擎从对话知识库中检索出任一个输入语句对应的所有回复语句。
[0105]在其中一个实施例中,机器人对话控制系统还包括:
[0106]更新模块003:用于获取更新指令,根据更新指令,对对话知识库进行更新。
[0107]由于在实际应用中,对话聊天数据是不断更新的,从而需要对对话知识库进行更新,以使对话知识库不断更新,满足对话要求。从而可根据更新指令,对对话知识库中的输入语句及其回复语句进行更新,例如,对对话知识库的输入语句的增加和修改。
[0108]请参阅图9,在其中一个实施例中,第一检索模块100包括:
[0109]获取单元110:用于获取输入语句;
[0110]筛选单元120:用于根据输入语句,通过编辑距离法或最大公共子串法对对话知识库中输入语句集进行筛选,获得与输入语句匹配度大于或等于预设匹配度的语句,将匹配度大于或等于预设匹配度的语句作为第一语句。
[0111]其中,与输入语句匹配度大于或等于预设匹配度的语句转换为输入语句时所需的插入、删除和替换的总次数最少,或者,与输入语句匹配度大于或等于预设匹配度的语句与输入语句具有的最大公共子串最长。
[0112]语句可以表示成字符串,语句匹配度的计算可以转化为字符串匹配度或相似度的计算,从而,进行匹配度计算的系统有多种,可以采用字符串匹配度或相似度算法,例如,编辑距离法,就是用来计算从原串转换到目标串所需要的最少的插入、删除和替换的数目,SP输入语句集中转换为输入语句时所需的插入、删除和替换的总次数最少的语句作为与输入语句匹配度大于或等于预设匹配度的语句,显然当一个语句编辑为另一个语句所需的插入、删除和替换的次数越少,则匹配度越大。另一种方式是最大公共子串法,即两个语句的最大公共子串越长,则这两个语句匹配度越大。
[0113]在其中一个实施例中,属性获取模块300包括:
[0114]第一属性获取单元310,用于当输入语句没有主语或其主语为第一人称时,通过用户注册信息或对话框中的属性输入获取输入语句的主语属性;
[0115]第二属性获取单元320,用于当输入语句的主语为第二人称时,通过机器人注册信息或对话框中的属性输入获取输入语句的主语属性;
[0116]第二属性获取单元330,用于当输入语句的主语为第三人称时,通过对话框中的属性输入或将输入语句的主语作为电子词典或搜索引擎的输入进行搜索,获取输入语句的主语属性。
[0117]例如,当输入语句的主语为“我”时,对应的属性为用户属性,用户在与机器人交互之前,首先需要在机器人中进行用户注册,获得用户注册信息,其中包括用户的属性等信息,例如,一名女子进行注册时,需要获取用户的姓名、年龄和性别属性等信息,比如,年轻女性是该女子注册的性别属性,从而可更具注册信息获得该年轻女性这一信息,从而获得输入语句的主语属性,或者可以通过弹出对话框的形式询问用户,用户在对话框中输入主语属性,从而获得输入语句的主语属性。当输入语句没有主语时,默认主语为“我”。当输入语句的主语为您或你时,对应的是机器人属性,机器人的属性信息是预先在机器人中已注册,即机器人注册信息,可根据机器人的注册信息可获取主语属性,或可通过对话框中的属性输入获取主语属性。当主语为第三人称时,可通过对话框中的属性输入获取主语信息,也可通过搜索电子词典或搜索引擎获得主语属性,例如,当输入语句的主语为“他”,主语属性为男性,当语句的主语为“她”,主语属性为女性。
[0118]以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0119]以上实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈