1.一种基于机器人操作系统ROS的人机交互方法,包括如下步骤:
(1)安装系统:
在微型主机中安装机器人操作系统ROS;
(2)创建人机交互库:
在微型主机中创建人机交互所需的常问问答FAQ库、实时性问题库、机器人控制指令库;
(3)初始化分类器:
利用常问问答FAQ库中的所有问题、实时性问题库中的所有问题、机器人控制指令库中的所有指令训练贝叶斯分类器,完成分类器初始化;
(4)获取文字信息:
将机器人外置麦克风采集的语音信息识别为文字信息,将识别的文字信息发送到贝叶斯分类器;
(5)对文字信息进行语义分析:
(5a)利用中文分词方法,对贝叶斯分类器接收到的文字信息进行分词、停用词去除处理,收集处理后的文字信息包含的词语,得到文字信息词语集;
(5b)依照贝叶斯分类词表中词语的顺序,将文字信息词语集中每个词语在贝叶斯分类词表中出现的次数组成一维向量;利用贝叶斯分类器计算一维向量属于常问问答FAQ库、实时性问题库、机器人控制指令库的概率值,选取最大概率值对应的类别库,作为文字信息所属类别库;
(5c)利用相似度计算方法,分别计算文字信息与其所属类别库中每个问题、指令信息的语义相似度值,从中选取语义相似度值最大的问题、指令信息;
(5d)采用机器人操作系统ROS提供的服务Service通信方式,将文字信息和选取的问题、指令信息以请求的形式发送至机器人服务功能节点;
(6)机器人服务功能节点响应请求:
机器人服务功能节点采用机器人操作系统ROS提供的服务Service通信方式,响应客户Client的请求,为客户Client提供服务。
2.根据权利要求1所述的基于机器人操作系统ROS的人机交互方法,其特征在于,步骤(2)中所述的常问问答FAQ库是指,通过采用上下罗列“常问问题+常问问题答案”内容的形式编写的人机交互时有固定回答内容的日常交流问题。
3.根据权利要求1所述的基于机器人操作系统ROS的人机交互方法,其特征在于,步骤(2)中所述的实时性问题库是指,通过采用上下罗列“实时性问题”内容的形式编写的人机交互时实时性变动不固定回答内容的日常交流问题。
4.根据权利要求1所述的基于机器人操作系统ROS的人机交互方法,其特征在于,步骤(2)中所述的机器人控制指令库是指,通过采用上下罗列“控制指令”内容的形式编写的人机交互时控制机器人的指令文字信息。
5.根据权利要求1所述的基于机器人操作系统ROS的人机交互方法,其特征在于,步骤(3)中所述训练贝叶斯分类器的具体步骤如下:
第一步,利用中文分词方法对常问问答FAQ库中的所有问题、实时性问题库中的所有问题、机器人控制指令库中的所有指令进行分词、停用词去除处理,收集处理后的常问问答FAQ库中的所有问题包含的词语,组成常问问答FAQ库问题词语集;收集处理后的实时性问题库中的所有问题包含的词语,组成实时性问题库问题词语集;收集处理后的机器人控制指令库中的所有指令包含的词语,组成机器人控制指令库指令词语集;
第二步,将常问问答FAQ库问题词语集、实时性问题库问题词语集、机器人控制指令库指令词语集组成贝叶斯分类词表;
第三步,按照下式,计算先验概率值:
其中,P(wk|vj)表示在vj的条件下wk出现的先验概率值,wk表示贝叶斯分类词表中的第k个词语,vj表示常问问答FAQ库问题词语集、实时性问题库问题词语集或者机器人控制指令库指令词语集,nk表示wk在vj中出现的次数,nj表示vj包含的词语个数,Vocabulary表示贝叶斯分类词表,|·|表示统计总数操作。
6.根据权利要求1所述的基于机器人操作系统ROS的人机交互方法,其特征在于,步骤(6)中所述的机器人服务功能节点包括提供语音合成及音频播放服务的功能节点、实时性信息获取服务的功能节点、机器人控制服务的功能节点。