本发明涉及机器人技术领域,具体地说,涉及一种用于智能机器人的人机交互方法及装置。
背景技术:
随着科学技术的不断发展,信息技术、计算机技术以及人工智能技术的引入,机器人的研究已经逐步走出工业领域,逐渐扩展到了医疗、保健、家庭、娱乐以及服务行业等领域。而人们对于机器人的要求也从简单重复的机械动作提升为具有拟人问答、自主性及与其他机器人进行交互的智能机器人,人机交互也就成为决定智能机器人发展的重要因素。
聊天系统作为人机交互系统中的核心模块,在人机交互系统中扮演着举足轻重的角色。在日常的人机交互过程中,用户与机器人之间的聊天占据了绝大多数的比例。因此,聊天系统的好坏直接关系到智能机器人产品的用户体验,进而影响用户的去留,提升智能机器人的语言交互能力,是亟待解决的问题。
技术实现要素:
为解决上述问题,本发明提供了一种用于智能机器人的人机交互方法,其包括:
对话交互信息获取步骤,获取用户输入的对话交互信息;
输入话题确定步骤,对所述对话交互信息进行语义分析,得到对应于所述对话交互信息的输入话题;
输出话题确定步骤,根据所述输入话题,利用所述输入话题与各个候选输出话题之间的话题转移概率,从候选输出话题中确定输出话题。
根据本发明的一个实施例,所述方法还包括:
反馈信息生成步骤,根据获取到的当前交互过程的场景信息和所述输出话题,生成反馈信息。
根据本发明的一个实施例,在所述反馈信息生成步骤中,分别判断输出话题所包含的各个候选反馈信息与所述场景信息是否匹配,并根据匹配结果确定所需要的反馈信息。
根据本发明的一个实施例,所述场景信息包括以下所列项中的任一项或几项:
时间信息、地点信息、环境信息和人物信息。
根据本发明的一个实施例,在所述输出话题确定步骤中,根据所述输入话题的ID,利用多维话题转移矩阵确定出输出话题的ID,并根据所述输出话题的ID确定出输出话题。
本发明还提供了一种用于智能机器人的人机交互装置,其包括:
对话交互信息获取模块,用于获取用户输入的对话交互信息;
输入话题确定模块,用于对所述对话交互信息进行语义分析,得到对应于所述对话交互信息的输入话题;
输出话题确定模块,用于根据所述输入话题,利用所述输入话题与各个候选输出话题之间的话题转移概率,从候选输出话题中确定输出话题。
根据本发明的一个实施例,所述装置还包括:
反馈信息生成模块,用于根据获取到的当前交互过程的场景信息和所述输出话题,生成反馈信息。
根据本发明的一个实施例,所述反馈信息生成模块配置为分别判断输出话题所包含的各个候选反馈信息与所述场景信息是否匹配,并根据成功匹配匹配结果确定所需要的反馈信息。
根据本发明的一个实施例,所述场景信息包括以下所列项中的任一项或几项:
时间信息、地点信息、环境信息和人物信息。
根据本发明的一个实施例,所述输出话题确定模块配置为根据所述输入话题的ID,利用多维话题转移矩阵确定出输出话题的ID,并根据所述输出话题的ID确定出输出话题。
本发明能够所提供的用于智能机器人的人机交互方法能够结合实际交互场景来确定最终的反馈信息,相较于现有的人机交互方法,该方法能够使得输出的反馈信息更加符合当前交互场景,从而大幅提高用户与智能机器人交互过程中的体验。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要的附图做简单的介绍:
图1是根据本发明一个实施例的用于智能机器人的人机交互方法的实现流程图;
图2是根据本发明另一个实施例的用于智能机器人的人机交互方法的实现流程图;
图3是根据本发明一个实施例的用于智能机器人的人机交互装置的结构示意图。
具体实施方式
以下将结合附图及实施例来详细说明本发明的实施方式,借此对本发明如何应用技术手段来解决技术问题,并达成技术效果的实现过程能充分理解并据以实施。需要说明的是,只要不构成冲突,本发明中的各个实施例以及各实施例中的各个特征可以相互结合,所形成的技术方案均在本发明的保护范围之内。
同时,在以下说明中,出于解释的目的而阐述了许多具体细节,以提供对本发明实施例的彻底理解。然而,对本领域的技术人员来说显而易见的是,本发明可以不用这里的具体细节或者所描述的特定方式来实施。
另外,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
现有的智能机器人与用于进行对话过程基本上是基于对话库或者语言模型来实现的,通过这种方式可以最大可能地保证智能机器人所反馈的答案的准确性和高质量性。
然而,这种基于对话库或者语言模型的对话方式同样存在诸多弊端,其中一个显著弊端便是如果用户输入的问题相同,那么智能机器人每次都会将相同的答案反馈给用户,或从几条有限的答案中随机选取一条来反馈给用户。而这也就造成了现有的用于智能机器人的人机交互方法会使得智能机器人在与用于进行对话交互过程中输出的答案较为固定,从而使得整个交互过程显得过于呆板,这也就影响了智能机器人的用户体验。
针对现有技术中所存在的上述问题,本发明提供了一种新的用于智能机器人的人机交互方法。该方法首先确定出用户当前输入的交互信息所对应的输入话题,随后通过输入话题与输出话题之间的话题转移概率来从众多话题中确定出输出话题。
为了更加清楚地阐述本发明所提供的用于智能机器人的人机交互方法的实现原理、实现过程以及优点,以下分别结合不同的实施例来对本发明所提供的人机交互方法作进一步地说明。
实施例一:
图1示出了本实施例所提供的用于智能机器人的人机交互方法的实现流程图。
如图1所示,本实施例所提供的人机交互方法首先在步骤S101中获取用户输入的对话交互信息。本实施例中,该方法在步骤S101中所获取到的用户输入的对话交互信息既可以是用户通过智能机器人所配备的键盘(包括虚拟键盘和/或实体键盘)所输入的文本信息,也可以是用户通过智能机器人所配备的语音信息采集设备(例如麦克风)所输入的语音信息,亦可以是由用户输入的语音信息经过自然语言处理得到的文本信息。
需要指出的是,在本发明的其他实施例中,该方法在步骤S101中还可以通过其他合理方式来获取相应形式的对话交互信息,本发明不限于此。
在得到对话交互信息后,该方法会在步骤S102中对步骤S101中所得到的对话交互信息进行语义分析,从而得到对应于该对话交互信息的输入话题。具体地,本实施例中,该方法通过对用户输入的对话交互信息进行处理,可以简要分析出用户所期望表达的语义信息,根据所得到的语义信息也就可以得到对应于该对话交互信息的输入话题。
例如,用户向智能机器人输入诸如“今天外面的阳光真好啊”的对话交互信息,那么该方法通过对该对话交互信息进行解析,可以得出对应于上述对话交互信息的输入话题为“聊天气”。
需要指出的是,在本发明的其他实施例中,还可以通过其他合理的方式来确定出对话交互信息所对应的输入话题,本发明不限于此。例如,在本发明的一个实施例中,该方法可以通过统计用户输入的对话交互信息中的关键字或关键词的方式来确定输入话题。
如图1所示,在得到对应于对话交互信息的输入话题后,该方法会在步骤S103中根据该输入话题,利用输入话题与各个候选输出话题之间的话题转移概率,来从候选输出话题中确定出最终的输出话题。
本实施例中,话题集合中任意两个话题之间都会存在话题转移概率,其中,话题转移概率表征两个话题之间进行转移的概率的高低,即由一个话题得到另一个话题的概率的高低。两个话题之间的话题转移概率的数值越高,那么则由其中一个话题进入到另一个话题的概率(即话题转移的概率)也就越大;反之,两个话题之间的话题转移概率的数值越小,那么则由其中一个话题进入到另一个话题的概率也就越小。本实施例中,各个话题之间的话题转移概率是与当前交互场景有关的。
这样,根据各个话题之间的话题转移概率,也就可以确定出对应于输入话题的各个候选输出话题所出现的概率值,从而根据该概率值便可以从候选输出话题中确定出最终的输出话题。
本实施例中,优选地,该方法在步骤S103中从话题转移概率的取值在一定概率范围内的输出话题中随机选取出最终的输出话题。当然,在本发明的其他实施例中,还可以通过其他合理的方式来从候选输出话题中选取最终的输出话题,本发明不限于此。
从上述描述中可以看出,本实施例所提供的用于智能机器人的人机交互方法在确定输出话题时,不再是像现有人机交互方法那样采用固定的对话库或语言模型来实现,而是通过与当前交互场景有关的话题转移概率来确定输出话题,这样所确定出的输出话题能够使得整个人机交互过程更加生动和人性化。
实施例二:
图2示出了本实施例所提供的用于智能机器人的人机交互方法的实现流程图。
如图2所示,本实施例所提供的人机交互方法首先在步骤S201中获取用户输入的对话交互信息,随后在步骤S202中对步骤S201中所获取到的对话交互信息进行语义分析,从而得到对应于该对话交互信息的输入话题。
需要指出的是,本实施例中步骤S201和步骤S202的实现原理以及实现过程与上述实施例一中步骤S101和步骤S102所涉及的内容类似,故在此不再对步骤S201和步骤S202的相同内容进行赘述。
本实施例中,该方法在步骤S201中除了获取到用户输入的对话交互信息外,还会获取与当前交互过程相关的场景信息。具体地,本实施例中,该方法在步骤S201中所获取到的场景信息优选地包括:时间信息、地点信息、环境信息和人物信息。其中,时间信息能够表征当前对话过程所发生的具体时间,地点信息能够表征当前对话过程所发生的具体位置,环境信息则能够表征当前对话过程中用户以及智能机器人周围的相关事物,而人物信息则能够表征当前对话中所涉及的人物以及相关设备/装置。其中,时间信息和位置信息可以分别通过GPS的授时功能和定位功能来获取,环境信息和/或人物信息可以通过机器人视觉来捕获。
需要指出的是,在本发明的其他实施例中,该方法在步骤S201中所获取到的场景信息既可以仅是以上所列项中的任一项或几项,也可以是其他未列出的合理项,还可以是以上所列项中的任一项后几项与其他未列出的合理项的任意组合,本发明不限于此。可以认知地,在需要的情况下,可以用于场景判断的任何信息,都可以作为场景信息来进行获取。毫无疑问,获取到的场景信息越多,那么通过这些场景信息所重构出的场景与真实场景也就更加准确,这样最终输出的反馈信息也就更加符合用户的实际期望。
在得到对应于步骤S201中所得到的对话交互信息的输入话题后,本方法会在步骤S203中获取输入话题的ID,并利用多维话题转移矩阵确定出输出话题的ID。在得到输出话题的ID后,该方法也就可以得到对应于该ID的话题,即得到输出话题。
本实施例中,该方法会对不同的语义进行分类,并对每一类别用唯一的ID进行标识。例如“无聊”所对应的ID可以为1001,“聊美食”所对应的ID可以为2001,“聊天气”所对应的ID可以为2002,“聊生活”所对应的ID可以为2003等。
例如,如果用户输入诸如“好无聊啊”的对话交互信息,那么通过语义分析可以得到对话交互信息的语义为“无聊”或“对事物感到厌烦”,而该语义则会对应于一唯一的数字ID(例如1001),这样也就确定出了对应于对话交互信息的输入话题的ID。
各个话题的ID之间均会存在一话题转移概率,这样所有话题之间也就形成了一多维话题转移矩阵,多维话题转移矩阵中各个元素即代表相应的两个话题之间的话题转移概率。需要指出的是,在本发明的不同实施例中,话题之间的话题转移概率的取值既可以是通过统计经验来人工预设设定的,也可以是通过对对话交互信息进行处理来分析得到的,本发明不限于此。
在步骤S203中,根据输入话题的ID,利用已知的多维话题转移矩阵也就可以确定出输出话题的ID。这样在步骤S204中该方法也就可以根据步骤S203中确定出的ID来得到对应的话题,即输出话题。
例如,如果用户输入的对话交互信息为“好无聊”时,该对话交互信息的话题ID为1001,ID为“2001”的话题“聊美食”与输入话题之间的话题转移概率为0.2,ID为“2002”的话题“聊天气”与输入话题之间的话题转移概率为0.5,ID为“2003”的话题“聊生活”与输入话题之间的话题转移概率为0.3。由于这三个候选输出话题的话题转移概率的取值均大于了一定的概率值,因此该方法便可以从上述三个候选输出话题中随机选取一个作为最终的输出话题,例如将“聊天气”作为最终的输出话题。
再次如图2所示,本实施例中,在确定出输出话题后,该方法将在步骤S205中分别计算场景信息与输出话题所包含的各个候选反馈信息的是否匹配,并在步骤S206中根据步骤S205中所得到的匹配结果来从候选反馈信息中确定出最终所需要的反馈信息,并将该反馈信息输出给用户。
场景对话用于区别一般对话的显著特征是场景对话具有许多约束性条件存在。与一般聊天对话相比,很多对于一般聊天对话而言十分准确的答案并不适合在当前场景下输出给用户。而另外的一小部分答案,由于其使用了更强的对话约束条件,因此这些答案往往比一般对话聊天的答案具有更好的用户体验。
本实施例所提供的方法将现实世界中的各种各样的场景表示成计算机可以处理的数据形式,具体地,该方法将根据所获取到的场景信息,来将该场景信息所对应的场景表示成对应于不同维度下的字段的形式。
例如,对于“在北京,今天上午是晴天”这样一个场景,该方法可以设置起始时间为“当日八点”、结束时间为“当日十二点”、地点信息为“北京”、天气信息为“晴”的信息。这四个字段的信息就定义了一种计算机可识别的唯一确定的场景,即“在北京,今天上午是晴天”。
因此为了使得最终得到的反馈信息能够更加符合当前对话场景,该方法在步骤S205中会分别计算场景信息与输出话题所包含的各个候选反馈信息的是否匹配。例如,当用户是在“在家里,外面阳光明媚”这一场景下与智能机器人进行人机交互,这时该方法会对所确定出的输出话题“聊天气”中的所有候选反馈信息进行分析,以此判断这些候选反馈信息是否符合“环境:晴;位置:家”这一场景信息,即候选反馈信息是否与当前场景相匹配。
例如,对于“在家里,外面阳光明媚”这一对话场景,对于输出话题“聊天气”中的两个候选反馈信息“天气这么好,无聊的时候要不要考虑出去走走呢”和“我国福建沿海又遭遇台风了”,第一条候选反馈信息与场景信息相匹配,而第二条候选反馈信息与场景信息不匹配,因此该方法也就可以将第一条候选反馈信息作为最终所需要的反馈信息来输出给用户。
从上述描述中可以看出,本实施例所提供的用于智能机器人的人机交互方法能够结合实际交互场景来确定最终的反馈信息,相较于现有的人机交互方法,该方法能够使得输出的反馈信息更加符合当前交互场景,从而大幅提高用户与智能机器人交互过程中的体验。
本发明还提供了一种用于智能机器人的人机交互装置,图3示出了本实施例中该装置的结构示意图。
如图3所示,本实施例所提供的人机交互装置优选地包括:对话交互信息获取模块301、输入话题确定模块302、输出话题确定模块303以及反馈信息生成模块304。其中,对话交互信息获取模块301用于获取用户输入的对话交互信息。
需要指出的是,在本发明的不同实施例中,对话交互信息获取模块301可以不同的装置或设备来实现以获取不同形式的对话交互信息。例如,在发明的一个实施例中,对话交互信息获取模块301可以采用智能机器人所配备的键盘来实现,这样对话交互信息获取模块301也就可以获取到用户输入的文本信息;在本发明的另一个实施例中,对话交互信息获取模块301还可以采用智能机器人所配备的语音信息采集设备(例如麦克风)来实现,这样对话信息获取模块301也就以获取到用户输入的语音信息,进一步地,对话信息获取模块301还可以对获取到的该语音信息进行自然语言处理从而得到相应的文本信息;而在本发明的又一个实施例中,对话信息获取模块301还可以采用相应的装置或设备来同时获取语音信息和文本信息。
在获取到对话交互信息后,对话信息获取模块301会将该对话交互信息传输至输入话题确定模块302,以由输入话题确定模块302来对对话交互信息进行语义分析,从而得到对应于对话交互信息的输入话题。
具体地,本实施例中,输入话题确定模块302通过对用户输入的对话交互信息进行处理,可以简要分析出用户所期望表达的语义信息,根据所得到的语义信息也就可以得到对应于该对话交互信息的输入话题。
需要指出的是,在本发明的其他实施例中,输入话题确定模块302还可以通过其他合理的方式来确定出对话交互信息所对应的输入话题,本发明不限于此。例如,在本发明的一个实施例中,输入话题确定模块302可以通过统计用户输入的对话交互信息中的关键字或关键词的方式来确定输入话题。
在得到对应于对话交互信息的输入话题后,输入话题确定模块302会将输入话题传输给输出话题确定模块303,以由输出话题确定模块303根据该输入话题,根据输入话题与各个候选输出话题之间的对话转移概率,来从候选输出话题中确定出输出话题。
需要指出的是,本实施例中,输出话题确定模块303确定输出话题的具体原理以及实现过程与上述实施例一中步骤S103或实施例二中步骤S203和步骤S204所涉及的内容类似,故在此不再对输出话题确定模块303进行赘述。
本实施例中,对话交互信息获取模块301还可以像实施例二中步骤S201所描述的那样获取与当前交互过程相关的场景信息。反馈信息生成模块304也就可以根据对话信息获取模块301所获取到的场景信息和输出话题确定模块303所确定出的输出话题来生成反馈信息。
需要指出的是,本实施例中,反馈信息生成模块304根据场景信息和输出话题生成反馈信息的具体实现原理以及实现过程与上述实施例二中步骤S205和步骤S206所涉及的内容类似,故在此不再对反馈信息生成模块304进行赘述。
应该理解的是,本发明所公开的实施例不限于这里所公开的特定结构或处理步骤,而应当延伸到相关领域的普通技术人员所理解的这些特征的等同替代。还应当理解的是,在此使用的术语仅用于描述特定实施例的目的,而并不意味着限制。
说明书中提到的“一个实施例”或“实施例”意指结合实施例描述的特定特征、结构或特性包括在本发明的至少一个实施例中。因此,说明书通篇各个地方出现的短语“一个实施例”或“实施例”并不一定均指同一个实施例。
虽然上述示例用于说明本发明在一个或多个应用中的原理,但对于本领域的技术人员来说,在不背离本发明的原理和思想的情况下,明显可以在形式上、用法及实施的细节上作各种修改而不用付出创造性劳动。因此,本发明由所附的权利要求书来限定。