一种基于自然语言的机器人交互方法和系统与流程

文档序号:11730567阅读:403来源:国知局
一种基于自然语言的机器人交互方法和系统与流程

本发明属于机器人领域,尤其涉及一种基于自然语言的机器人交互方法和系统。



背景技术:

目前,机器人的使用已经逐渐普及到各个领域,例如,聊天机器人、酒店或银行的前台服务机器人、深海水下探测机器人以及产线包装机器人,等等。目前的机器人采用的交互方式包括:键盘/按键操作、显示屏菜单操作、单片机控制下的固定动作的控制以及语音控制(固定模式的语音控制或简单的聊天功能),等等。

上述现有的交互方式中,传统的键盘/按键和显示屏操作方式,其主要的缺陷是带来比较繁琐的点击操作,外出或者远距离操作上更是不方便,而语音控制的交互方式目前虽然已经达到了一个较高的水准,但是还存在不确定性的问题,例如,很多情况下用户问了机器却没有回复,一方面是机器无法准确识别语音内容,另一方面就是系统可能不支持用户的语音控制命令或者是识别了语音但是却无法理解。

基于便捷与不确定性的考虑,“能动嘴说话解决的,就不要动手去操控”,一种方案解决上述交互方式缺陷的是自然语音的交互。当用户不想进行繁琐复杂的点击操作时,仅仅需要用户轻轻说几句话就可以远程操控机器人,实现这一交互方式的前提是机器人能够准确理解语义,在此基础上处理用户的指令,这也是衡量一个语音交互系统智慧程度至关重要的一环。遗憾的是,目前业界在这一点上仍然存在不足,导致人机(用户与机器人)交互仍然不畅通。



技术实现要素:

本发明的目的在于提供一种基于自然语言的机器人交互方法和系统,以提高机器人的智能和人机交互的便捷性。

本发明第一方面提供一种基于自然语言的机器人交互方法,所述方法应用于包括机器人前端和机器人云服务器组成的系统,所述机器人前端包括语音接收模块、语音播报模块和语音交互处理模块,所述方法包括:

在机器人处于唤醒状态下,所述语音接收模块将接收到的自然语音识别为对应的文字信息;

若所述文字信息属于操控指令,则所述语音交互处理模块下发所述操控指令至机器人本体执行操控指令,若所述文字信息属于问答信息,则将所述问答信息上传至机器人云服务器;

所述机器人云服务器对所述问答信息进行智能识别,将进行智能识别后得到的问题答案反馈至所述语音交互处理模块;

所述语音交互处理模块将所述问题答案转换为问题答案对应的语音信息;

所述语音播报模块向用户播报所述问题答案对应的语音信息。

本发明第二方面提供一种基于自然语言的机器人交互系统,所述系统包括机器人前端和机器人云服务器,所述机器人前端包括语音接收模块、语音播报模块和语音交互处理模块;

所述语音接收模块,用于在机器人处于唤醒状态下,将接收到的自然语音识别为对应的文字信息;

所述语音交互处理模块,用于若所述文字信息属于操控指令时下发所述操控指令至机器人本体执行操控指令,若所述文字信息属于问答信息时将所述问答信息上传至机器人云服务器;

所述机器人云服务器,用于对所述问答信息进行智能识别,将进行智能识别后得到的问题答案反馈至所述语音交互处理模块;

所述语音交互处理模块,用于将所述问题答案转换为问题答案对应的语音信息;

所述语音播报模块,用于向用户播报所述问题答案对应的语音信息。

从上述本发明技术方案可知,由于在机器人处于唤醒状态下,机器人前端的语音接收模块能够将接收到的自然语音识别为对应的文字信息并分类处理,将属于问答信息的文字信息上传至机器人云服务器,由机器人云服务器对所述问答信息进行智能识别后得到的问题答案反馈至机器人前端的语音交互处理模块,再由语音交互处理模块将问题答案转换为问题答案对应的语音信息,语音播报模块向用户播报所述问题答案对应的语音信息。因此,本发明提供的技术方案提高了机器人人机交互系统的智能化水平,能够准确识别用户的自然语音的含义,执行相应的操作,从而使得人机交互更加顺畅和便捷。

附图说明

图1是本发明实施例一提供的基于自然语言的机器人交互方法的实现流程示意图;

图2是本发明实施例二提供的基于自然语言的机器人交互系统的结构示意图;

图3是本发明实施例三提供的基于自然语言的机器人交互系统的结构示意图;

图4是本发明实施例四提供的基于自然语言的机器人交互系统的结构示意图;

图5-a是本发明实施例五提供的基于自然语言的机器人交互系统的结构示意图;

图5-b是本发明实施例六提供的基于自然语言的机器人交互系统的结构示意图;

图5-c是本发明实施例七提供的基于自然语言的机器人交互系统的结构示意图;

图6-a是本发明实施例八提供的基于自然语言的机器人交互系统的结构示意图;

图6-b是本发明实施例九提供的基于自然语言的机器人交互系统的结构示意图;

图6-c是本发明实施例十提供的基于自然语言的机器人交互系统的结构示意图。

具体实施方式

为了使本发明的目的、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

本发明实施例提供一种基于自然语言的机器人交互方法,所述方法应用于包括机器人前端和机器人云服务器组成的系统,所述机器人前端包括语音接收模块、语音播报模块和语音交互处理模块,所述方法包括:在机器人处于唤醒状态下,所述语音接收模块将接收到的自然语音识别为对应的文字信息;若所述文字信息属于操控指令,则所述语音交互处理模块下发所述操控指令至机器人本体执行操控指令,若所述文字信息属于问答信息,则将所述问答信息上传至机器人云服务器;所述机器人云服务器对所述问答信息进行智能识别,将进行智能识别后得到的问题答案反馈至所述语音交互处理模块;所述语音交互处理模块将所述问题答案转换为问题答案对应的语音信息;所述语音播报模块向用户播报所述问题答案对应的语音信息。本发明实施例还提供相应的基于自然语言的机器人交互系统。以下分别进行详细说明。

请参阅附图1,是本发明实施例一提供的基于自然语言的机器人交互方法的实现流程示意图,该方法应用于包括机器人前端和机器人云服务器组成的系统,其中,机器人前端包括语音接收模块、语音播报模块和语音交互处理模块。附图1示例的基于自然语言的机器人交互方法主要包括以下步骤s101至步骤s105,详细说明如下:

s101,在机器人处于唤醒状态下,语音接收模块将接收到的自然语音识别为对应的文字信息。

需要说明的是,在步骤s101之前,系统可以进行一个初始化过程,主要包括机器人前端的初始化和机器人后端大脑数据的初始化,其中,机器人前端的初始化包括从机器人云服务器接收指令参数数据(常用的用户指令数据和同义词表等数据),并初始化本地的业务逻辑,设置系统参数(包括波特率、语音格式和声道等数据)以及启动监听唤醒服务进程,即启动机器人“听”和“说”的功能。而机器人后端大脑数据的初始化相对要复杂一些,主要是录入机器人领域专业数据和个性数据,其中,个性数据是指每个机器人都有的一套自己的属性库即个性(例如,兴趣爱好、姓名、性别、特长、居住城市、所属公司、年龄、喜欢的颜色和运动等),系统根据每个机器人的属性库,分别建立情绪引擎,使每个机器人都具有自己的个性情绪,例如,如果你哈哈大笑,它会知道你现在很开心,如果你皱眉,它就明白有什么事在困扰你,等等;机器人领域专业数据是指根据机器人的领域和作用域,分别录入该领域内的机器人的指令数据和该领域内的容易混淆的文字数据,例如,同音字、同义词、停止词、近义词以及大量的通用语料数据等,人要聪明就要学习,机器人也一样,也要不断的学习,才会变得聪明,机器人的学习分为两个阶段,初级阶段和高级智阶段,其中,初级阶段就是机器人被动接受新事物、新思维、新知识,即不断地训练机器人,给它输入更多的数据,使其能掌握更多的知识,机器人后台提供一个对机器人进行训练的功能,采用的方法是模拟现实的问答录入大量的模板问答数据,这些数据分为两类,一类是机器人领域专业数据,如果有现成的文字数据则直接导入到后台语料数据库中,如果没有则要录入专业的问答数据,另一类是非专业数据,包括个性数据,这类非专业数据就像人们日常对话一样,例如,你好、你叫什么名字?你老家在哪里?你几岁了?等等。

需要说明的是,机器人的状态分为休眠状态和唤醒状态,其中,休眠状态是指机器人接收语音,但是不处理除唤醒词外的语音信息,而唤醒状态是指机器人正常接收外部语音信息并记录外部语音信息。若机器人在休眠状态,则接收语音并处理,检查收到的语音是否是唤醒词,若不是则忽略该条信息,若收到的语音是唤醒词,则激活机器人状态,使之成为唤醒状态,开始正常接收语音信息并向下一个环节传递语音信息,机器人收到的语音数据包含噪音、回声以及正常的语音数据,因此,在正常进行唤醒处理之前,要采用回声消除和抑噪处理,如此,在一定程度上可以提高语音唤醒机器人的概率。

作为本发明一个实施例,语音接收模块将接收到的自然语音识别为对应的文字信息主要包括:判断自然语音属于静音还是非静音,若自然语音属于非静音,则记录所述非静音的数据并处理所述非静音的数据。系统时刻计算自然语音的音量分贝,若音量分贝小于某个音量阈值,则认为是无语音输入即此时的自然语音是静音,若自然语音的音量分贝大于阈值,则认为有语音输入即此时的自然语音为非静音。在判断自然语音是静音时,机器人则丢弃此时的自然语音,不做处理;在判断自然语音是非静音时,则认为是有效数据,开始记录语音数据,系统随时根据静音时长判断语音输入是否结束,机器人获取到有效数据后,则开始处理语音数据。

s102,若语音接收模块识别出的文字信息属于操控指令,则语音交互处理模块下发操控指令至机器人本体执行操控指令,若语音接收模块识别出的文字信息属于问答信息,则将问答信息上传至机器人云服务器。

在本发明实施例中,操控指令可以语音控制机器人的行走、转向、调整机器的状态(包括开机、关机和运行模式等)、播放音乐和调整风速等。若语音接收模块识别出的文字信息属于操控指令,则语音交互处理模块下发操控指令至机器人本体执行操控指令,控制机器人的上述行为。若语音接收模块识别出的文字信息属于问答信息,则将问答信息上传至机器人云服务器,由机器人云服务器进行问答处理。

s103,机器人云服务器对问答信息进行智能识别,将进行智能识别后得到的问题答案反馈至语音交互处理模块。

在本发明实施例中,机器人云服务器对问答信息进行智能识别包括:将所述问答信息进行分类,并根据所述问答信息所属的业务类别进行相应的处理。具体地,机器人云服务器可根据问答信息,将问答信息进行分类处理,分类参照前期用户设定的模板或者模板语料进行智能识别,识别该问答信息是属于哪个类别(例如,询问天气、空气质量、汽车违章和何种星座等),然后进入该类别的分支进行业务处理。

需要说明的是,为了提高机器人云服务器对问答信息进行智能识别的速度和准确率,本发明采用了lucene倒排索引和/或编辑距离等算法。lucene是一个高性能的全文检索工具,不是一个完整的全文检索引擎,而是一个全文检索引擎的架构,提供了完整的查询引擎和索引引擎,部分文本分析引擎,其具有如下突出的优点:(1)索引文件格式独立于应用平台,主要在于lucene定义了一套以8位字节为基础的索引文件格式,使得兼容系统或者不同平台的应用能够共享建立的索引文件;(2)在传统全文检索引擎的倒排索引的基础上,实现了分块索引,能够针对新的文件建立小文件索引,提升索引速度,然后通过与原有索引的合并,达到优化的目的,该框架已经默认实现了一套强大的查询引擎,可获得强大的查询能力,lucene的查询实现中默认实现了布尔操作、模糊查询(fuzzysearch)和分组查询等。而编辑距离算法的公式如下:

编辑距离算法是指从字符串a变成字符串b时所需的最少编辑操作(包括增加、删除和插入字符串等)次数,在本发明实施例中,用于求解两个字符串的相似度;一般而言,编辑距离越小,两个串的相似度越大。

s104,语音交互处理模块将机器人云服务器进行智能识别后得到的问题答案转换为问题答案对应的语音信息。

s105,语音播报模块向用户播报问题答案对应的语音信息。

如果不考虑语音播报的流畅性,上述步骤s103至s105顺次执行,即,机器人云服务器将进行智能识别后得到的问题答案反馈至语音交互处理模块后,语音交互处理模块将机器人云服务器进行智能识别后得到的问题答案转换为问题答案对应的语音信息,语音播报模块再向用户播报问题答案对应的语音信息。

为了增强语音播报的流畅性,在本发明实施例中,语音交互处理模块还可以将机器人云服务器反馈回来的问题答案上传至机器人云服务器,以使机器人云服务器将所述问题答案分段转化为语音流,此时,语音播报模块向用户播报所述问题答案对应的语音信息可以是:语音交互处理模块从机器人云服务器下载分段转化得到的语音流并传输至语音收发模块的同时,语音播报模块向用户播报分段转化后得到的语音流,即,语音交互处理模块一边从机器人云服务器下载分段转化得到的语音流并传输至语音收发模块,语音播报模块一边向用户播报分段转化后得到的语音流,两者并行执行,直到收到结束标识,语音播报模块才停止播放,这种并行执行的方式可以明显地节省时间,等待延迟时间较少。

在上述本发明提供的实施例中,在语音播报模块向用户播报问题答案对应的语音信息时,若用户发出停止播报的语音信息,则采用回波抵消算法消除语音播报模块所播报语音的回声,以便语音接收模块接收用户发出的停止播报的语音指令,用户随时打断机器人的语音播报。

从上述附图1示例的基于自然语言的机器人交互方法可知,由于在机器人处于唤醒状态下,机器人前端的语音接收模块能够将接收到的自然语音识别为对应的文字信息并分类处理,将属于问答信息的文字信息上传至机器人云服务器,由机器人云服务器对所述问答信息进行智能识别后得到的问题答案反馈至机器人前端的语音交互处理模块,再由语音交互处理模块将问题答案转换为问题答案对应的语音信息,语音播报模块向用户播报所述问题答案对应的语音信息。因此,本发明提供的技术方案提高了机器人人机交互系统的智能化水平,能够准确识别用户的自然语音的含义,执行相应的操作,从而使得人机交互更加顺畅和便捷。

请参阅附图2,是本发明实施例二提供的基于自然语言的机器人交互系统的结构示意图。为了便于说明,附图2仅示出了与本发明实施例相关的部分。附图2示例的基于自然语言的机器人交互系统主要包括机器人前端201和机器人云服务器202,其中,机器人前端201包括语音接收模块203、语音播报模块204和语音交互处理模块205,详细说明如下:

语音接收模块203,用于在机器人处于唤醒状态下,将接收到的自然语音识别为对应的文字信息;

语音交互处理模块204,用于若语音接收模块203识别出的文字信息属于操控指令时下发操控指令至机器人本体执行操控指令,若语音接收模块203识别出的文字信息属于问答信息时将问答信息上传至机器人云服务器202;

机器人云服务器202,用于对问答信息进行智能识别,将进行智能识别后得到的问题答案反馈至语音交互处理模块205;

语音交互处理模块205,用于将问题答案转换为问题答案对应的语音信息;

语音播报模块204,用于向用户播报问题答案对应的语音信息。

附图2示例的语音接收模块203包括判断单元301和处理单元302,如附图3所示本发明实施例三提供的基于自然语言的机器人交互系统,其中:

判断单元301,用于判断自然语音属于静音还是非静音;

处理单元302,用于若判断单元301的判断结果为自然语音属于非静音,则记录非静音的数据并处理非静音的数据。

附图2示例的机器人云服务器202包括分类处理模块401,如附图4所示本发明实施例四提供的基于自然语言的机器人交互系统。分类处理模块401用于将问答信息进行分类,并根据问答信息所属的业务类别进行相应的处理。

附图2至附图4任一示例的语音交互处理模块204还可以包括上传单元501,语音播报模块204还可以包括语音流播放单元502,如附图5-a至附图5-c实施例五至实施例七提供的基于自然语言的机器人交互系统,其中:

上传单元501,用于将问题答案上传至机器人云服务器202,以使机器人云服务器202将问题答案分段转化为语音流;

语音流播放单元502,用于语音交互处理模块205从机器人云服务器202下载语音流并传输至语音收发模块203的同时,向用户播报分段转化后得到的语音流。

附图2至附图4任一示例的基于自然语言的机器人交互系统还可以包括回波抵消模块601,如附图6-a至附图6-c实施例八至实施例十提供的基于自然语言的机器人交互系统。回波抵消模块601用于在语音播报模块204向用户播报问题答案对应的语音信息时,若用户发出停止播报的语音信息,则采用回波抵消算法消除语音播报模块204所播报语音的回声,以便语音接收模块203接收用户发出的停止播报的语音指令。

需要说明的是,上述装置各模块/单元之间的信息交互、执行过程等内容,由于与本发明方法实施例基于同一构思,其带来的技术效果与本发明方法实施例相同,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。

本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(rom,readonlymemory)、随机存取存储器(ram,randomaccessmemory)、磁盘或光盘等。

以上对本发明实施例所提供的基于自然语言的机器人交互方法和系统进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1