一种基于朴素贝叶斯算法的机器人模块语义分类方法
【专利摘要】本发明公开一种基于朴素贝叶斯算法的机器人模块语义分类方法,包括:为模块添加语义标签;根据已知分类的模块建立样本集合;计算模块的后验概率;对模块进行分类;显然分类结果。针对机器人功能复杂,有大量的模块被调用,而这些模块在显示呈现给用户时是按照网络地址组织的,不方便用户查找调用的问题,本发明利用朴素贝叶斯分类法将机器人程序功能模块进行自动分类,使大量的模块按照功能进行组织显示,只需提供用户简单的使用功能,不需要给用户提供内部模块的结构和组成关系,用户启动机器人后,只需要对图形用户界面模块进行操作,而不需要去连接各个功能模块,大大方便了用户查找调用。
【专利说明】一种基于朴素贝叶斯算法的机器人模块语义分类方法
【技术领域】
[0001]本发明属于机器人分散控制【技术领域】,具体涉及一种基于朴素贝叶斯算法的机器人模块语义分类方法。
【背景技术】
[0002]OpenRTM-aist是由日本国家高级产业科学技术研究院(AIST)研发的开源中间件平台,米用 CORBA (Common Object Request Broker Architecture,公共对象请求代理体系结构)体系结构。RTM (Robot Technology Middleware)技术有效屏蔽了底层操作系统的复杂性,使程序开发人员面对一个简单而统一的开发环境,减少程序设计的复杂性,并且消除了开发语言和网络协议间的差异,为机器人系统开发提供多种通信服务机制。在智能机器人系统中,引入OpenRTM-aist平台,将不同的功能分割为不同的模块,并封装成为RT-Component (RTC),如图2所示,通过通信网络将各模块组合构成机器人系统。其核心优势在于,它给机器人的硬件及软件开发提供了标准平台,增强了软件资源和功能构件的可再利用性,避免了大量重复工作,缩短了开发周期,降低了开发成本。不仅如此,RTM技术还使系统的各个中间件通过通信网络将各种机器人要素进行自由组合从而利用现有的模块资源构成多样化的机器人系统。
[0003]RTM能够使用图形化的编程工具RTC-1ink对不同的RTC进行集成和组装,RTC名字会顺序地显示在各自IP节点目录下。当所有的RTC激活后用户要根据自己需要的功能进行模块查找以便组成自己需要的系统。所以用户需要了解每个RTC的功能以及组成系统所需要的模块。但是,用户并不能对所有的模块功能进行了解,导致用户在自己组织系统过程中遇到瓶颈,阻碍RTM平台的正确简洁运行。
[0004]近年来随着数据挖掘技术的发展,朴素贝叶斯分类方法在理论上有了进一步的创新。申请号为200610011747.2的专利提出一种两级组合文本分类方法,能大大减少时间消耗并能提高系统分类正确率。但该发明仅围绕着分类精度与速度方面进行研究,没有给出分类方法对机器人功能模块分类的具体应用方法。
【发明内容】
[0005]针对现有技术中存在的问题,本发明提出一种基于朴素贝叶斯算法的机器人模块自动分类方法,该方法能够对启动后的RTC进行自主分类。只需提供用户简单的使用功能,不需要给用户提供内部模块的结构和组成关系,用户启动机器人后,只需要对GUI(Graphical User Interface,图形用户界面)模块进行操作,而不需要去连接各个功能模块。
[0006]为了实现上述目的,本发明采用以下技术方案。
[0007]—种基于朴素贝叶斯算法的机器人模块语义分类方法,在用户计算机的命名服务器中运行,包括以下步骤:
[0008]步骤一,为模块添加语义标签。[0009]在功能模块设计封装时,从模块运行位置、内部传感器、外部传感器和算法类型四个角度为机器人功能模块加入语义标签。模块运行位置可以分为机器人运行模块与PC机运行模块两个特征词;内部传感器分为里程计与陀螺仪两个特征词;外部传感器分为激光传感器、Kinect、相机与RFID四个特征词;算法类型分为采集、匹配、导航、通信与控制五个特征词。每个模块分配一个语义标签,该语义标签是根据机器人功能模块的特点从以上四个角度选出的一组特征词的组合,例如SP2ATM模块,因为该模块运行在PC上,并且调用里程计和激光传感器,完成了机器人的导航功能,所以它的语义标签为“PC,里程计,激光,导航”。[0010]步骤二,根据已知分类的模块建立样本集合。
[0011]在未知分类的模块分类之前首先要建立样本集合,即已确定分类归属的模块集合
[0012]步骤三,计算模块的后验概率。
[0013]将模块注册到命名服务器,命名服务器提取模块语义标签,并根据语义标签计算模块的后验概率。方法如下:
[0014](I)计算样本集合中类别k的先验概率P(Ck):
[0015]P(Ck)等于样本集合中属于类别k的模块数量占样本集合模块总数的比例。Ck代表类别k,k=l, 2,…,K,K为类别总数。
[0016](2)计算类别k中语义标签为Cli的概率P(GliIck):
[0017]
【权利要求】
1.一种基于朴素贝叶斯算法的机器人模块语义分类方法,其特征在于,在用户计算机的命名服务器中依次运行以下步骤: 步骤一,为模块添加语义标签; 在功能模块设计封装时,从模块运行位置、内部传感器、外部传感器和算法类型四个角度为机器人功能模块加入语义标签;模块运行位置分为机器人运行模块与PC机运行模块两个特征词;内部传感器分为里程计与陀螺仪两个特征词;外部传感器分为激光传感器、Kinect、相机与RFID四个特征词;算法类型分为采集、匹配、导航、通信与控制五个特征词;每个模块分配一个语义标签,该语义标签是根据机器人功能模块的特点从以上四个角度选出的一组特征词的组合; 步骤二,根据已知分类的模块建立样本集合; 步骤三,计算模块的后验概率; 将模块注册到命名服务器,命名服务器提取模块语义标签,并根据语义标签计算模块的后验概率;方法如下: (1)计算样本集合中类别k的先验概率P(Ck): P(ck)等于样本集合中属于类别k的模块数量占样本集合模块总数的比例;ck代表类别k,k=l,2,...,!(,K 为类别总数; (2)计算类别k中语义标签为Cli的概率P(GliIck):
2.根据权利要求1所述的一种基于朴素贝叶斯算法的机器人模块语义分类方法,其特征在于,由于P(Cli)均相等,且模块屯所属类别为后验概率P (ck Idi)最大的类别,所以实际计算时用P(Ck)P(GliIck)代替P(CkIdi)来简化后验概率的计算。
【文档编号】G06F9/44GK103713900SQ201310711341
【公开日】2014年4月9日 申请日期:2013年12月20日 优先权日:2013年12月20日
【发明者】贾松敏, 董政胤, 李秀智, 庞雄伟, 郭兵 申请人:北京工业大学