本发明涉及人机交互技术领域,具体地说,涉及一种面向智能机器人的自定义意图识别的实现方法及装置。
背景技术:
随着科学技术的不断发展,信息技术、计算机技术以及人工智能技术的引入,机器人的研究已经逐步走出工业领域,逐渐扩展到了医疗、保健、家庭、娱乐以及服务行业等领域。人们对于机器人的要求也从简单重复的机械动作提升为具有高度智能型、自主性及与其他智能体交互的智能机器人。
为了满足人们日益增长的需求,本领域技术人员需要不断提高智能机器人的交互能力和智能性,使智能机器人的用户体验越来越好。
技术实现要素:
本发明提供了一种面向智能机器人的自定义意图识别的实现方法,包括:
获取用户输入的针对目标应用的意图识别解析样例及对应待识别意图;
对解析样例进行语义理解,结合实体词库识别所述解析样例中的实体词,确定所述实体词对应的实体名称,根据所述实体名称生成所述待识别意图的匹配规则;
获取需意图识别的文本数据,结合所述匹配规则及所述实体词库,判断所述文本数据是否匹配所述待识别意图;
当匹配成功时,执行所述待识别意图对应的控制指令。
根据本发明的一个实施例,本发明提供的面向智能机器人的自定义意图识别的实现方法还包括:
接收用户输入的对应所述待识别意图的实体名称及其对应的实体词列表;
将所述实体名称与所述实体词列表对应存储在实体词库中。
根据本发明的一个实施例,实体词库中还包括预先存储的实体名称及其对应实体词;
当用户输入的对应所述待识别意图的实体词与预先存储的实体词重复时,优先使用用户输入的该实体词对应的实体名称。
根据本发明的一个实施例,所述意图的类型包括:应用内意图和应用启动意图;
所述方法还包括:
接收用户输入的意图类型并与所述待识别意图关联存储;
当所述待识别意图的意图类型为应用内意图,所述方法还包括:
设定所述待识别意图的识别启动条件为其对应应用的应用启动意图识别成功。
根据本发明的一个实施例,本发明提供的面向智能机器人的自定义意图识别的实现方法还包括:
结合确定的实体名称,生成匹配参数
输出所述各实体词、对应实体名称及关联的匹配参数;;
接收用户对所述匹配参数的必要性设定;
结合所述匹配参数的必要性设定,生成所述匹配规则。
根据本发明的一个实施例,当匹配参数的设定为必要时;
接收用户输入的所述匹配参数对应的实体词获取请求并保存;
所述需意图识别的文本数据中缺少所述匹配参数对应的实体词,且所述需意图识别的文本数据与所述待识别意图的匹配度高于其它当前可匹配意图时,
输出所述匹配参数对应的实体词获取请求;
获取意图识别补充文本并解析,提取所述回复中与所述匹配参数对应的实体词,结合提取的实体词进行所述待识别意图的匹配。
根据本发明的一个实施例,接收用户输入的所述匹配参数对应的实体词获取请求并保存之后,还包括:
接收用户输入的实体词获取请求输出最多次数,并保存;
在输出所述匹配参数对应的实体词获取请求之前,还包括:
获取所述实体词获取请求输出次数;
当所述输出次数等于所述最多次数,判断所述待识别有意图匹配失败。
根据本发明的一个实施例,当所述匹配参数设定为非必要时;
接收用户输入的对应所述匹配参数的默认实体词并保存;
当所述需意图识别的文本数据中缺少与所述匹配参数对应的实体词,且所述需意图识别的文本数据与所述待识别意图的匹配度高于其它当前可匹配意图时,
获取所述默认实体词,结合所述默认实体词进行意图识别。
根据本发明的一个实施例,所述根据所述实体名称生成所述待识别意图的匹配规则包括:
结合确定的实体名称,生成匹配参数;
输出所述各实体词、对应实体名称及关联的匹配参数;
接收到接收用户根据输出的所述实体词、对应实体名称或关联的匹配参数输入的修改数据时,根据所述修改数据更新实体词库、匹配参数或实体词、实体名称、匹配参数之间的对应关系;
根据当前匹配参数生成所述待识别意图的匹配规则。根据本发明的一个实施例,当所述获取的需意图识别的文本数据为用户输入的测试文本数据时,所述方法还包括:
结合实体词库及所述匹配规则,识别所述文本数据中的实体词,确定所述实体词对应的实体名称,及关联的匹配参数,并输出所述实体词、实体名称及关联的匹配参数;
接收用户根据输出的所述实体词、实体名称或关联的匹配参数输入的修改数据,
根据所述修改数据更新实体词库、匹配参数或实体词、实体名称、匹配参数之间的对应关系,并根据当前匹配参数更新所述待识别意图的匹配规则。
本发明实施例还提供一种面向智能机器人的自定义意图识别的实现装置,包括:
获取模块,用于获取用户输入的针对目标应用的意图识别解析样例及对应待识别意图;
匹配规则生成模块,用于对解析样例进行语义理解,结合实体词库识别所述解析样例中的实体词,确定所述实体词对应的实体名称,根据所述实体名称生成所述待识别意图的匹配规则;
意图识别模块,获取需意图识别的文本数据,结合所述匹配规则及所述实体词库,判断所述文本数据是否匹配所述待识别意图;
指令执行模块,用于当意图识别模块输出的结果为匹配成功时,执行所述待识别意图对应的控制指令。
根据本发明的一个实施例,本发明提供的面向智能机器人开发的自定义意图识别装置还包括:
自定义实体词库模块,用于接收用户输入的对应所述待识别意图的实体名称及其对应的实体词列表,将所述实体名称与所述实体词列表对应存储在实体词库中。
根据本发明的一个实施例,所述实体词库中还包括预先存储的实体名称及其对应实体词;
当用户输入的对应所述待识别意图的实体词与预先存储的实体词重复时,优先使用用户输入的该实体词对应的实体名称。
根据本发明的一个实施例,所述意图的类型包括:应用内意图和应用启动意图;
所述匹配规则生成模块还用于:
接收用户输入的意图类型并与所述待识别意图关联存储;
当所述待识别意图的意图类型为应用内意图,所述匹配规则生成模块还用于:
设定所述待识别意图的识别启动条件为其对应应用的应用启动意图识别成功。
根据本发明的一个实施例,所述匹配规则生成模块跟据所述实体名称生成所述待识别意图的匹配规则包括:
结合确定的实体名称,生成匹配参数
输出所述各实体词、对应实体名称及关联的匹配参数;;
接收用户对所述匹配参数的必要性设定;
结合所述匹配参数的必要性设定,生成所述匹配规则。
根据本发明的一个实施例,当匹配参数的设定为必要时;
所述匹配规则生成模块还用于,接收用户输入的所述匹配参数对应的实体词获取请求并保存;
当所述需意图识别的文本数据中缺少所述匹配参数对应的实体词,且所述需意图识别的文本数据与所述待识别意图的匹配度高于其它当前可匹配意图时,
所述意图识别模块还用于输出所述匹配参数对应的实体词获取请求;
获取意图识别补充文本并解析,提取所述回复中与所述匹配参数对应的实体词,结合提取的实体词进行所述待识别意图的匹配。
根据本发明的一个实施例,所述匹配规则生成模块接收用户输入的所述匹配参数对应的实体词获取请求并保存之后,还用于:
接收用户输入的实体词获取请求输出最多次数,并保存;
所述意图识别模块在输出所述匹配参数对应的实体词获取请求之前,还用于:
获取所述实体词获取请求输出次数;
当所述输出次数等于所述最多次数,判断所述待识别有意图匹配失败。
根据本发明的一个实施例,当所述匹配参数设定为非必要时;
所述匹配规则生成模块还用于接收用户输入的对应所述匹配参数的默认实体词并保存;
当所述需意图识别的文本数据中缺少与所述匹配参数对应的实体词,且所述需意图识别的文本数据与所述待识别意图的匹配度高于其它当前可匹配意图时,
所述意图识别模块还用于获取所述默认实体词,结合所述默认实体词进行意图识别。
根据本发明的一个实施例,所述匹配规则生成模块根据所述实体名称生成所述待识别意图的匹配规则用于:
结合确定的实体名称,生成匹配参数
输出所述各实体词、对应实体名称及关联的匹配参数;
接收到用户根据所述实体词、对应实体名称或关联的匹配参数输入的修改数据时,根据所述修改数据更新实体词库、匹配参数或实体词、实体名称、匹配参数之间的对应关系;
根据当前匹配参数生成所述待识别意图的匹配规则。
当所述获取的需意图识别的文本数据为用户输入的测试文本数据时,所述装置还包括:
反馈模块,用于结合实体词库及所述匹配规则,识别所述文本数据中的实体词,确定所述实体词对应的实体名称,及关联的匹配参数,并输出所述实体词、实体名称及关联的匹配参数;
更新模块,用于接收用户根据输出的所述实体词、实体名称或关联的匹配参数输入的修改数据,根据所述修改数据更新实体词库、匹配参数或实体词、实体名称、匹配参数之间的对应关系,并根据当前匹配参数更新所述待识别意图的匹配规则。
本发明提供了一种面向智能机器人的自定义意图识别的实现方法及装置,可以使智能机器人应用的开发者根据自己的需求进行意图识别的自定义,增加了智能机器人应用的开发灵活度,并且可以使应用的开发者通过简单的设定实现应用意图识别的设计,可以令更多的应用开发者加入到智能机器人的应用开发中,提高了智能机器人技术的发展速度,令智能机器人的交互能力和智能性越来越强,能够满足更多人的需求,用户体验越来越好。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要的附图做简单的介绍:
图1是本发明实施例提供的一种面向智能机器人的自定义意图识别的实现方法流程图;
图2是本发明实施例提供的匹配规则的生成方法流程图之一;
图3是本发明实施例提供的一种实体词获取方法流程图;
图4是本发明实施例提供的匹配规则的生成方法流程与之二;
图5是本发明实施例提供的一种增大意图识别正确率的方法流程图;
图6是本发明实施例提供的一种应用开发者和应用开发平台之间的信令交互图;
图7是本发明实施例提供的一种面向智能机器人的自定义意图识别的实现装置结构示意图;
图8是本发明实施例提供的另一种面向智能机器人的自定义意图识别的实现装置结构示意图。
具体实施方式
以下将结合附图及实施例来详细说明本发明的实施方式,借此对本发明如何应用技术手段来解决技术问题,并达成技术效果的实现过程能充分理解并据以实施。需要说明的是,只要不构成冲突,本发明中的各个实施例以及各实施例中的各个特征可以相互结合,所形成的技术方案均在本发明的保护范围之内。
同时,在以下说明中,出于解释的目的而阐述了许多具体细节,以提供对本发明实施例的彻底理解。然而,对本领域的技术人员来说显而易见的是,本发明可以不用这里的具体细节或者所描述的特定方式来实施。
另外,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
目前,智能机器人技术在不断提高,越来越多的开发者加入了智能机器人应用开发的行列,然而,由于智能机器人的交互方式与传统的交互方式不同,与传统的手机和电脑等移动终端的触控式或者鼠标的操作方式相比,安装在智能机器人上的应用,由于智能机器人的智能性和类人性要求,需要主动响应用户的语音或者文字输入的意图,这就需要智能机器人有较强的意图识别能力。
由于开发者可能开发的应用多种多样,智能机器人很难对每个开发者开发的应用都进行准确度较高的意图识别,并且也不能要求所有的应用开发者都具有独立的开发机器人的能力,能够针对其应用单独开发可意图识别的机器人,因此,如何实现让机器人能够对各应用开发者设定的意图都能理解,满足应用开发者不需要独立开发机器人,即可满足其应用的意图识别自定义需求,是本领域技术人员亟需解决的问题。
为了解决这个问题,本发明提供了一种面向智能机器人的自定义意图识别的实现方法,通过本发明,智能机器人应用的开发者可以设定针对其应用的意图识别规则,从而使智能机器人的意图识别能力满足其应用的需求。
本申请提供的方法和装置意图服务于智能机器人应用的开发者,因此,本文中出现的用户均代表智能机器人应用的开发者。本申请中的智能机器人可以是智能硬件、实体机器人以及微信公众号和移动应用等第三方平台,本申请中智能机器人中的应用,可以是安装在实体机器人中的可从应用商店下载的客户端软件app,也可以是用于微信公知号,网络平台,或移动应用上,实现家居场景,或者客服场景上某一具有交互功能的应用模块,或者其他任何基于人工智能技术,通过意图识别来实现与人的交互的应用或功能。本申请提供的方法的执行主体可以是用于智能机器人应用开发的平台或者系统。
如图1所示,本申请提供的面向智能机器人的自定义意图识别的实现方法,包括:
s101、获取用户输入的针对目标应用的意图识别解析样例及对应待识别意图;
s102、对解析样例进行语义理解,结合实体词库识别所述解析样例中的实体词,确定所述实体词对应的实体名称,根据所述实体名称生成所述待识别意图的匹配规则;
s103、获取需意图识别的文本数据,结合所述匹配规则及所述实体词库,判断所述文本数据是否匹配所述待识别意图;
s104、当匹配成功时,执行所述待识别意图对应的控制指令。
其中,以天气查询应用为例,用户输入的意图识别解析样例可以是“北京今天天气怎么样”,对应的待识别意图可以是“查天气”,接收到这样的解析样例之后;
本发明提供的自定义意图识别方法,可以通过语义理解对解析样例进行解析,并结合实体词库,识别解析样例中的实体词,例如,“北京今天天气怎么样”,其中的实体词包括“北京”,“今天”,进一步,确定各实体词对应的实体名称,例如,“北京”的实体名称可以为“城市”,“今天”的实体名称可以为“时间”。
其中,实体和实体名称可以是用户自定义存储在实体库中的,也可以是该开发系统或平台中默认存在的实体及其对应的实体名称,例如,系统的实体库中默认存储了实体名称为“城市”的多个实体,如“北京、上海、长沙、沈阳、扬州。。。”那么,该天气应用的开发者就可以不需要添加新的实体名称为“城市”的实体,如果系统实体库中不存在实体名称为“城市”的实体,那么天气应用的开发者可以自定义实体名称为“城市”的一系列实体。
在实际应用中,如果应用的开发者定义的实体与系统实体库中预先存储的实体出现冲突,二者的实体名称不同,那么默认以应用开发者定义的实体名称为准。
例如,用户定义了一系列实体名称为“城市”的实体,其中包括“北京”,如果实体库中预先将“北京”的实体名称定义为“首都”,那么在进行当前应用的意图识别的自定义中,“北京”的实体名称默认为用户定义的实体名称“城市”。
在获取了解析样例中各实体的实体名称后,可以根据各实体名称生成匹配规则,生成的匹配规则的形式本领域技术人员可以自行设定,例如,对于“北京今天天气怎么样”这样的解析样例,解析规则可以为:在文本数据中检索关键词“实体名称:城市”+“天气”,即,对于后续接收到的需进行意图识别的文本数据,如果文本数据中包括实体名称为“城市”词汇,并且包括“天气”这一词汇,即识别该文本数据的意图为“查天气”,执行“查天气”意图对应的控制指令;或者,解析规则可以为在文本数据中检索关键词“实体名称:城市”+“实体名称:时间”+“天气”,即,对于后续接收到的需进行意图识别的文本数据,如果文本数据中包括实体名称为“城市”词汇,以及实体名称为“时间”的词汇,并且包括“天气”这一词汇,即识别该文本数据的意图为“查天气”,执行“查天气”意图对应的控制指令。
应用的意图可以划分为应用内意图和应用启动意图,其中,应用启动意图可以理解为启动应用相关的意图,例如,可以为“启动查天气应用”,而应用内意图,可以包括“查天气”,“关闭查天气应用”。
在应用开发者创建一个意图的自定义识别机制时,可以请该应用开发者选择该意图的类型,该应用是应用启动意图,还是应用内意图。
较佳的,还可以针对各意图设置相应的识别启动条件,
则本申请提供的方法还包括:
接收用户输入的意图类型并与所述待识别意图关联存储;
当所述待识别意图的意图类型为应用内意图,本申请提供的方法还包括:
设定所述待识别意图的识别启动条件为其对应应用的应用启动意图识别成功。
实际应用中,对于查天气应用,其应用内意图“查天气”的识别启动条件可以为“启动天气查询应用”这一意图识别成功,即,只有在查天气应用已启动的情况下,才能实现“查天气”这一意图的识别。
通过这一设定,可以合理的减少智能机器人在进行意图识别时的处理量,当智能机器人中安装多个应用时,对于如果每次都基于所有意图进行匹配,处理量是很可观的,对于硬件的要求也较高,并且可能造成智能机器人不必要的处理延迟,影响智能机器人的用户体验。
进一步,对于解析样例中的各实体,在进行规则设定时,可以通过必要性设定,来避免意图识别时由于实体缺失造成不必要的识别失败,如图2所示,必要性设定的实现方式可以为:
s201、结合确定的实体名称,生成匹配参数;
s202、输出所述各实体词、对应实体名称及关联的匹配参数;
s203、接收用户对所述匹配参数的必要性设定;
s204、结合所述匹配参数的必要性设定,生成所述匹配规则。
例如,对于查天气这一意图,针对“北京今天天气怎么样”这一解析可以获取到的“北京”的实体名称为“城市”,关联的匹配参数可以为“city”,“今天”的实体名称“时间”,关联的匹配参数可以为“time”,再对“city”和“time”这两个匹配参数的必要性进行设定,可以将“city”和“time”的必要性都设定为必要,再据此生成匹配规则,其中,“city”与实体名称“城市”相关联,“time”与实体名称“时间”相关联,匹配规则可以为:文本数据中包括关键词“city”(必要)+“time”(必要)+天气,即文本数据中一定要包括“city”关联的实体名称对应的一个实体词,和“time”关联的实体名称对应的一个实体词。
如果应用开发者要开发查列车班次这一应用,输入的解析样例可以为“北京到上海的列车班次”,解析并提取到“北京”的实体名称“城市”,关联的匹配参数可以为“fromcity”,“上海”的实体名称为“城市”,关联的匹配参数可以为“tocity”,其中“fromcity”与实体名称“城市”相关联,“tocity”也与实体名称“城市”相关联,可以将“fromcity”和“tocity”的必要性都设定为必要,再据此生成匹配规则,匹配规则可以为:文本数据中包括关键词“fromcity”(必要)+“tocity”(必要)+列车,即文本数据中一定要包括“fromcity”关联的实体名称对应的一个实体词,和“tocity”关联的实体名称对应的一个实体词,在这种情况下,需要文本数据中存在两个“城市”对应的实体词,才能识别为查列车班次,例如“北京”和“上海”,“扬州”和“南京”等等。
进一步,当匹配参数的设定为必要时,还需要存储实体词获取请求,例如,针对“city”这一匹配参数,可以请应用开发者设定其对应的“实体词获取请求”,在获取的需意图识别的文本数据中缺少所述匹配参数对应的实体词,且所述需意图识别的文本数据与所述待识别意图的匹配度高于其它当前可匹配意图时,输出所述匹配参数对应的实体词获取请求,以获取意图识别补充文本。例如,“实体词获取请求”可以是“请问是哪个城市的天气”,在智能机器人对需意图识别的文本数据进行解析,确定该文本数据与“查天气”这一意图的匹配度高于其他意图,但是该文本数据中缺少“city”这一必要匹配参数,则可以输出“请问是哪个城市的天气”,此时,机器人的使用者,可以再对需求进行补充,通过语音或者文本输入“北京”,智能机器人通过对语音转化为文本,或者通过用户的文本输入直接获取“北京”这一对应“city”的实体词,进而可以将当前意图确定为“查天气”,执行“查天气”对应的控制指令。
进一步,本申请提供的方法,还可以请应用开发者进行实体词获取最多次数的设定,例如,设定“city”这一必要匹配参数的获取次数为“2”,则在实际应用中,若在智能机器人对需意图识别的文本数据进行解析,确定该文本数据与“查天气”这一意图的匹配度高于其他意图,但是该文本数据中缺少“city”这一必要匹配参数,则最多输出两次“请问是哪个城市的天气”这个问题,如图3所示,本申请提供的方法,在输出所述匹配参数对应的实体词获取请求之前,还包括:
s301、获取所述实体词获取请求输出次数;
s302、当所述输出次数等于所述最多次数,判断所述待识别有意图匹配失败。
本申请的另一实施例中,匹配参数设定为非必要时,可以令应用开发者输入对应所述匹配参数的默认实体词并保存,当所述需意图识别的文本数据中缺少与所述匹配参数对应的实体词,且所述需意图识别的文本数据与所述待识别意图的匹配度高于其它当前可匹配意图时,获取所述默认实体词,结合所述默认实体词进行意图识别。
例如,“time”这一匹配参数,可以设定为非必要,对应输入默认实体词“今天”,那么当智能机器人的使用者提问“北京天气怎么样”,可以确认其与“查天气”这一意图的匹配度高于其他意图,就可以使用默认实体词,默认该使用者在提问“北京今天的天气怎么样”,进而匹配“查天气”的意图,执行“查天气”对应的控制指令。
根据本发明的另一个实施例,如图4所示,根据所述实体名称生成所述待识别意图的匹配规则包括:
s401、结合确定的实体名称,生成匹配参数
s402、输出所述各实体词、对应实体名称及关联的匹配参数;
s403、接收到用户根据所述输出的实体词、对应实体名称或关联的匹配参数输入的修改数据时,根据所述修改数据更新实体词库、匹配参数或实体词、实体名称、匹配参数之间的对应关系;
s404、根据当前匹配参数生成所述待识别意图的匹配规则。
匹配参数的引入,如前文示例,是为了当解析样例中存在两个实体名称相同的实体词时,进行区分。
本申请提供的方法,可以将实体词、对应实体名称和关联匹配参数的结果输出给应用开发者,应用开发者可以根据需求根据输出的实体词、对应实体名称或匹配参数输入修改数据,修改数据可以是对实体词对应的实体名称的更正,或者对实体名称对应的匹配参数的更正,或者对未识别到的实体词及其对应实体名称,实体名称关联的匹配参数的补充,或者对实体词、实体名称、匹配参数之间对应关系的更正或者补充,应用开发者通过此方式可以根据需求自定义实体词,实体名称,匹配参数,及三者之间的关系,使意图的匹配规则更符合应用开发者的需求。
进一步,本方法中,获取到的需意图识别的文本数据,可能是机器人使用者输入的语音,智能机器人对其进行语音识别后,得到的文本数据,也可能是机器人使用者在对话输入界面上输入的文本数据,还可能是应用的开发者为了测试自定义意图识别的实现效果,而输入的测试文本数据,当获取的需意图识别的文本数据为用户输入的测试文本数据时如图5所示,本申请提供的方法还包括:
s501、结合实体词库及所述匹配规则,识别所述文本数据中的实体词,确定所述实体词对应的实体名称,及关联的匹配参数,并输出所述实体词、实体名称及关联的匹配参数;
s502、接收用户根据输出的所述实体词、实体名称或关联的匹配参数输入修改数据;
s503、根据所述修改数据更新实体词库、匹配参数或实体词、实体名称、匹配参数之间的对应关系,并根据当前匹配参数更新所述待识别意图的匹配规则。
实际应用中,对于“查天气”意图,如果该查天气应用的应用开发者输入“昌平今天天气怎么样”,可能由于“昌平”的实体名称是市辖区而不能成功进行意图识别,此时,输出“昌平今天天气怎么样”这一文本中提取到的实体词、实体名称及关联的匹配参数给该开发者,开发者可以将“市辖区”这一实体名称与“city”这一匹配参数相关联,从而使查天气的应用,对市辖区级别的查询,也可以响应。进一步,该开发者也可以修改“city”这一匹配参数的名称,使其逻辑上可以包括“城市”和“市辖区”,例如修改为“address”。通过图4和图5所示的方法,可以提高自定义意图识别的准确率,便于应用开发者对词库进行补充,对匹配参数进行修正,使意图开发者能够根据需求进一步自定义实体词,实体名称,匹配参数,及三者之间的关系,使意图的匹配规则更符合应用开发者的需求,使意图识别的准确率更高
如用户未输入任何修改数据,则默认识别结果正确,不需要对匹配规则进行更新。
由于本发明的方法描述的是在计算机系统中实现的。该计算机系统例如可以设置在机器人的控制核心处理器中。例如,本文所述的方法可以实现为能以控制逻辑来执行的软件,其由机器人控制系统中的cpu来执行。本文所述的功能可以实现为存储在非暂时性有形计算机可读介质中的程序指令集合。当以这种方式实现时,该计算机程序包括一组指令,当该组指令由计算机运行时其促使计算机执行能实施上述功能的方法。可编程逻辑可以暂时或永久地安装在非暂时性有形计算机可读介质中,例如只读存储器芯片、计算机存储器、磁盘或其他存储介质。除了以软件来实现之外,本文所述的逻辑可利用分立部件、集成电路、与可编程逻辑设备(诸如,现场可编程门阵列(fpga)或微处理器)结合使用的可编程逻辑,或者包括它们任意组合的任何其他设备来体现。所有此类实施例旨在落入本发明的范围之内。
本申请提供的面向智能机器人的自定义意图识别的实现方法,可以用于应用开发平台,应用开发服务器,或者可用于机器人应用开发的机器人本身,可以通过应用开发网站,应用开发器的形式,为智能机器人的应用开发者提供服务。
以应用开发平台为例,本申请提供的面向智能机器人的自定义意图识别的实现方法中,应用开发者,应用开发平台之间的信令交互流程如图6所示。
应用开发平台接收应用开发者输入的自定义意图识别请求,提示应用开发者输入解析样例及对应的待识别意图,可以通过输入框的方式进行提醒,当然,也可以通过其他形式进行提示,本申请不进行限定。应用开发者可以自定义实体词库,输入解析样例、待识别意图,应用开发者也可以不进行实体词库的自定义,直接使用系统中已经存储的实体词库,当用户自定义了实体和实体名称时,优先使用用户定义的实体和对应实体名称,进行自定义意图识别的。
应用开发平台对应用开发者输入解析样例进行语义理解,并根据当前的实体词库,提取解析样例中的实体词,确定对应实体名称及关联的匹配参数,并输出实体词,实体名称及关联的匹配参数给应用开发者。
应用开发者可以根据自定义意图识别的需要对实体词,实体名称及关联的匹配参数进行修改,如果接收到应用开发者的修改,应用开发平台可以基于修改后的匹配参数更新当前待识别意图的匹配规则。
进一步,应用开发者可以输入测试文本到应用开发平台,应用开发平台对测试文本进行解析,基于匹配规则进行意图识别,输出意图识别结果和测试文本识别结果给应用开发者,由应用开发者根据这两个结果确定是否需要对文本识别结果进行修正,应用开发者输入修正或者补充信息,应用开发平台根据应用开发者的输入,更新实体词库或实体名称与匹配参数的对应关系,并更新文本识别结果意图识别结果。
本发明实施例还提供一种面向智能机器人的自定义意图识别的实现装置,该实现装置的具体实施例可参考本发明实施中的自定义面向智能机器人的意图识别的实现方法的实施例,在此不做重复限定,本发明实施例提供的面向智能机器人的自定义意图识别的实现装置可以装载在网络服务器,以平台的形式服务于应用开发者,也可以存在于可进行应用开发的机器人上,可以实现智能硬件、实体机器人以及微信公众号和移动应用等第三方平台上的自定义意图识别的实现,如图7所示,该实现装置的结构包括:
获取模块701,用于获取用户输入的针对目标应用的意图识别解析样例及对应待识别意图;
匹配规则生成模块702,用于对解析样例进行语义理解,结合实体词库识别所述解析样例中的实体词,确定所述实体词对应的实体名称,根据所述实体名称生成所述待识别意图的匹配规则;
意图识别模块703,获取需意图识别的文本数据,结合所述匹配规则及所述实体词库,判断所述文本数据是否匹配所述待识别意图;
指令执行模块704,用于当意图识别模块输出的结果为匹配成功时,执行所述待识别意图对应的控制指令。
进一步,根据本发明的一个实施例,本发明提供的面向智能机器人开发的自定义意图识别装置还包括:
自定义实体词库模块,用于接收用户输入的对应所述待识别意图的实体名称及其对应的实体词列表,将所述实体名称与所述实体词列表对应存储在实体词库中。
根据本发明的一个实施例,所述实体词库中还包括预先存储的实体名称及其对应实体词;
当用户输入的对应所述待识别意图的实体词与预先存储的实体词重复时,优先使用用户输入的该实体词对应的实体名称。
根据本发明的一个实施例,所述意图的类型包括:应用内意图和应用启动意图;
所述匹配规则生成模块还用于:
接收用户输入的意图类型并与所述待识别意图关联存储;
当所述待识别意图的意图类型为应用内意图,所述匹配规则生成模块还用于:
设定所述待识别意图的识别启动条件为其对应应用的应用启动意图识别成功。
根据本发明的一个实施例,所述匹配规则生成模块跟据所述实体名称生成所述待识别意图的匹配规则包括:
结合确定的实体名称,生成匹配参数
输出所述各实体词、对应实体名称及关联的匹配参数;;
接收用户对所述匹配参数的必要性设定;
结合所述匹配参数的必要性设定,生成所述匹配规则。
根据本发明的一个实施例,当匹配参数的设定为必要时;
所述匹配规则生成模块还用于,接收用户输入的所述匹配参数对应的实体词获取请求并保存;
当所述需意图识别的文本数据中缺少所述匹配参数对应的实体词,且所述需意图识别的文本数据与所述待识别意图的匹配度高于其它当前可匹配意图时,
所述意图识别模块还用于输出所述匹配参数对应的实体词获取请求;
获取意图识别补充文本并解析,提取所述回复中与所述匹配参数对应的实体词,结合提取的实体词进行所述待识别意图的匹配。
根据本发明的一个实施例,所述匹配规则生成模块接收用户输入的所述匹配参数对应的实体词获取请求并保存之后,还用于:
接收用户输入的实体词获取请求输出最多次数,并保存;
所述意图识别模块在输出所述匹配参数对应的实体词获取请求之前,还用于:
获取所述实体词获取请求输出次数;
当所述输出次数等于所述最多次数,判断所述待识别有意图匹配失败。
根据本发明的一个实施例,当所述匹配参数设定为非必要时;
所述匹配规则生成模块还用于接收用户输入的对应所述匹配参数的默认实体词并保存;
当所述需意图识别的文本数据中缺少与所述匹配参数对应的实体词,且所述需意图识别的文本数据与所述待识别意图的匹配度高于其它当前可匹配意图时,
所述意图识别模块还用于获取所述默认实体词,结合所述默认实体词进行意图识别。
根据本发明的一个实施例,所述匹配规则生成模块根据所述实体名称生成所述待识别意图的匹配规则用于:
结合确定的实体名称,生成匹配参数
输出所述各实体词、对应实体名称及关联的匹配参数;
接收到用户对实体词、对应实体名称或关联的匹配参数输入的修改数据时,根据所述修改数据更新实体词库、匹配参数或实体词、实体名称、匹配参数之间的对应关系;
根据当前匹配参数生成所述待识别意图的匹配规则。
当所述获取的需意图识别的文本数据为用户输入的测试文本数据时,所述装置还包括:
反馈模块,用于结合实体词库及所述匹配规则,识别所述文本数据中的实体词,确定所述实体词对应的实体名称,及关联的匹配参数,并输出所述实体词、实体名称及关联的匹配参数;
更新模块,用于接收用户根据输出的所述实体词、实体名称或关联的匹配参数输入修改数据,根据所述修改数据更新实体词库、匹配参数或实体词、实体名称、匹配参数之间的对应关系,并根据当前匹配参数更新所述待识别意图的匹配规则。
进一步,如图8所示,本申请还提供一种本发明提供了一种面向智能机器人的自定义意图识别的实现装置,包括存储器801和一个或多个处理器802,其中,存储器801存储一个或多个计算机可读程序代码,所述一个或多个处理器802用于执行一个或多个计算机可读程序代码以实现:
获取用户输入的针对目标应用的意图识别解析样例及对应待识别意图;
对解析样例进行语义理解,结合实体词库识别所述解析样例中的实体词,确定所述实体词对应的实体名称,根据所述实体名称生成所述待识别意图的匹配规则;
获取需意图识别的文本数据,结合所述匹配规则及所述实体词库,判断所述文本数据是否匹配所述待识别意图;
当匹配成功时,执行所述待识别意图对应的控制指令。
根据本发明的一个实施例,所述一个或多个处理器802还用于执行一个或多个计算机可读程序代码以实现:
接收用户输入的对应所述待识别意图的实体名称及其对应的实体词列表;
将所述实体名称与所述实体词列表对应存储在实体词库中。
根据本发明的一个实施例,实体词库中还包括预先存储的实体名称及其对应实体词;
当用户输入的对应所述待识别意图的实体词与预先存储的实体词重复时,优先使用用户输入的该实体词对应的实体名称。
根据本发明的一个实施例,所述意图的类型包括:应用内意图和应用启动意图;
所述一个或多个处理器802还用于执行一个或多个计算机可读程序代码以实现:
接收用户输入的意图类型并与所述待识别意图关联存储;
当所述待识别意图的意图类型为应用内意图,所述一个或多个处理器802还用于执行一个或多个计算机可读程序代码以实现:
设定所述待识别意图的识别启动条件为其对应应用的应用启动意图识别成功。
根据本发明的一个实施例,所述一个或多个处理器802还用于执行一个或多个计算机可读程序代码以实现:
结合确定的实体名称,生成匹配参数
输出所述各实体词、对应实体名称及关联的匹配参数;;
接收用户对所述匹配参数的必要性设定;
结合所述匹配参数的必要性设定,生成所述匹配规则。
根据本发明的一个实施例,当匹配参数的设定为必要时;
接收用户输入的所述匹配参数对应的实体词获取请求并保存;
所述需意图识别的文本数据中缺少所述匹配参数对应的实体词,且所述需意图识别的文本数据与所述待识别意图的匹配度高于其它当前可匹配意图时,
输出所述匹配参数对应的实体词获取请求;
获取意图识别补充文本并解析,提取所述回复中与所述匹配参数对应的实体词,结合提取的实体词进行所述待识别意图的匹配。
根据本发明的一个实施例,接收用户输入的所述匹配参数对应的实体词获取请求并保存之后,还包括:
接收用户输入的实体词获取请求输出最多次数,并保存;
在输出所述匹配参数对应的实体词获取请求之前,还包括:
获取所述实体词获取请求输出次数;
当所述输出次数等于所述最多次数,判断所述待识别有意图匹配失败。
根据本发明的一个实施例,当所述匹配参数设定为非必要时;
接收用户输入的对应所述匹配参数的默认实体词并保存;
当所述需意图识别的文本数据中缺少与所述匹配参数对应的实体词,且所述需意图识别的文本数据与所述待识别意图的匹配度高于其它当前可匹配意图时,
获取所述默认实体词,结合所述默认实体词进行意图识别。
根据本发明的一个实施例,所述根据所述实体名称生成所述待识别意图的匹配规则包括:
结合确定的实体名称,生成匹配参数
输出所述各实体词、对应实体名称及关联的匹配参数;;
结合所述匹配参数生成匹配规则;
当所述获取的需意图识别的文本数据为用户输入的测试文本数据时,所述一个或多个处理器802还用于执行一个或多个计算机可读程序代码以实现:
结合实体词库及所述匹配规则,识别所述文本数据中的实体词,确定所述实体词对应的实体名称,及关联的匹配参数,并输出所述实体词、实体名称及关联的匹配参数;
接收用户根据输出的所述实体词、实体名称或关联的匹配参数输入修改数据,
根据所述修改数据更新实体词库、匹配参数或实体词、实体名称、匹配参数之间的对应关系,并根据当前匹配参数更新所述待识别意图的匹配规则。
应该理解的是,本发明所公开的实施例不限于这里所公开的特定结构、处理步骤或材料,而应当延伸到相关领域的普通技术人员所理解的这些特征的等同替代。还应当理解的是,在此使用的术语仅用于描述特定实施例的目的,而并不意味着限制。
说明书中提到的“一个实施例”或“实施例”意指结合实施例描述的特定特征、结构或特性包括在本发明的至少一个实施例中。因此,说明书通篇各个地方出现的短语“一个实施例”或“实施例”并不一定均指同一个实施例。
虽然上述示例用于说明本发明在一个或多个应用中的原理,但对于本领域的技术人员来说,在不背离本发明的原理和思想的情况下,明显可以在形式上、用法及实施的细节上作各种修改而不用付出创造性劳动。因此,本发明由所附的权利要求书来限定。