«上一篇
文章快速检索     高级检索
下一篇»
  智能系统学报  2017, Vol. 12 Issue (4): 482-490  DOI: 10.11992/tis.201607016
0

引用本文  

张珂, 陈奇. 基于非受限路径自然语言处理中的机器人导航[J]. 智能系统学报, 2017, 12(4): 482-490. DOI: 10.11992/tis.201607016.
ZHANG Ke, CHEN Qi. Robot navigation based on non-restricted route natural language processing[J]. CAAI Transactions on Intelligent Systems, 2017, 12(4): 482-490. DOI: 10.11992/tis.201607016.

基金项目

国家自然科学基金项目(61302163,61302105);河北省自然科学基金项目(Ff2015502062);中央高校基本科研经费项目(2016MS99)

通信作者

张珂, E-mail:zhangke41616@126.com

作者简介

张珂,男,1980年生,副教授,人工智能学会会员,计算机学会会员。主要研究方向为电力智能信息处理、图像处理、自然语言处理、机器人认知;
陈奇,男,1992年生,硕士研究生,主要研究方向为自然语言处理

文章历史

收稿日期:2016-07-18
基于非受限路径自然语言处理中的机器人导航
张珂, 陈奇    
华北电力大学 电子与通信工程系, 河北 保定 071003
摘要:为了实现使用自然语言控制机器人完成自主导航任务,提出一种基于语义角色标注(SRL)的语义提取方法,用于提高机器人对路径自然语言理解的准确率。首先,收集了一个非受限的路径自然语言语料库,在深入研究路径自然语言语料库的基础上,提出了8个语块对语料进行语块分析,完成语义角色标注;然后,对语料进行依存句法分析,完成语义角色标注;接着,结合语块分析和依存句法分析,提出了一种基于语块分析和依存句法分析的语义角色标注方法,实验结果得到的准确率、召回率、F1-值分别达到了98.22%、98.48%和98.35%;最后,基于语义提取结果在机器人Nao平台上完成了机器人问路导航任务。
关键词语义角色标注    路径自然语言    语块分析    依存句法分析    机器人问路导航    
Robot navigation based on non-restricted route natural language processing
ZHANG Ke, CHEN Qi    
Department of Electronic and Communication, North China Electric Power University Code, Baoding 071003, China
Abstract: In order to use a natural-language controlled robot to complete autonomous navigation, this paper proposes a semantic extraction method based on semantic role labeling (SRL), which is used to enhance the understanding of route natural language for robots. First, a non-restricted route natural language corpus is constructed. Then, based on thorough study of this corpus, eight chunks are put forward to analyze the data, which lays the foundation for SRL. Finally, an SRL based on chunking and dependency parsing is proposed. The experimental results of precision, recall, and F1-measurements were 98.22%, 98.48%, and 98.35%, respectively. Using the proposed SRL method, the robot Nao was able to accomplish navigation tasks by asking the way.
Key words: semantic role labeling    route natural language    chunking    dependency parsing    robot navigation by asking the way    

人工智能正在成为我们日常生活中的一个重要组成部分。语言是人类交流的重要方法内容。如果能用自然语言控制机器人,那么机器人将可以由普通人随心所欲地操作。通过自然语言控制机器人比其他方法更简便,也更符合人类的交流习惯,因此通过自然语言进行机器人问路导航是实现机器人导航任务的理想方法之一,对人工智能的发展有重要的意义。

在国外,针对英文的路径自然语言研究已经达到了较高的水平,Yuan等[1]在栅格地图的基础上提出了基于自然语言的路径提取算法,该算法通过改进的隐马尔可夫场算法在路径提取方面取得了较好的结果;Kollar等[2]在Yuan工作的基础上增加了对动词和介词的理解,增强了系统对自然语言的理解能力; Skubic等[3-5]提出了一种利用空间语言驱动机器人在室内环境完成任务的方法,在语块分析的基础上,提出了一种参考-方向-目标(RDT)模型,并通过多个RDT模型建立RDT链完成导航任务。

在国内相关领域的研究还鲜有人涉及,目前的机器人导航方式主要是基于米制地图[6-7]、拓扑地图[8]和混合地图[9]的导航方式。这些方法在导航之前需要采集大量信息用于绘制地图,效率较低。张秀龙、李新德等[10-12]提出了一种基于语块分析的路径自然语言处理方法,其语块分析方法建立在少量语料基础上,且直接采用语块分析提取导航语义对语料的要求较高,因此该方法一般性较差,不适合非受限环境下的路径语言导航任务。

本文提出了一种面向汉语的路径自然语言处理方法,使用基于语块分析和依存句法分析的语义角色标注方法进行语义角色标注,根据提取出的语义角色获得导航语义信息,基于导航语义信息按顺序生成若干个路径单元,最后所有路径单元按顺序生成一条完整的导航路径,指导机器人完成导航任务。本文方法建立在收集的大量非受限语料基础上,语块的选取更加合理,基于语块分析和依存句法分析的语义角色标注方法可以得到更好的标注准确率。从语义角色标注中提取语义是自然语言处理领域最常用的方法之一,对于路径自然语言语料的语义提取,这种方法也有很好的效果。

1 路径自然语言语料收集和预处理 1.1 路径自然语言语料收集

语料库是自然语言处理的基础,目前自然语言处理的主流方法是在大规模语料库的基础上通过机器学习获得较好的自然语言处理结果,因此收集足够规模的路径自然语言语料库是解决路径自然语言导航的第一步。然而建立足够的专业语料库需要大量人力、物力,由于国内针对路径自然语言的研究较少,因此没有专业的汉语路径自然语言语料库。

使用Webots for Nao搭建了10个3-D模拟环境,然后根据模拟环境录制10段视频并给出每个环境的俯视图,为机器人在每个环境中给定一个导航任务(即给出机器人的初始位置和目标位置)。在不告知任务细节的情况下,找100个不同年龄、不同职业的志愿者通过观看视频和俯视图, 自由选择一条可以完成导航任务的路径并给出相应的自然语言路径描述,为了保证语料的一般性,选择的100个志愿者年龄分布从12~60岁,受教育程度从小学到硕士,籍贯分布在全国各地。志愿者在非受限环境下自由选择描述语句,最终收集了1 000条语料。

图 1图 2分别是一个环境的俯视图和视频截图。该环境中的导航任务为:从卧室走到客厅的灯旁。该任务的一条语料为:“机器人向右走到门,进门后沿墙向右走到墙角附近的灯旁”。

图 1 模拟环境俯视图 Fig.1 Top view of simulated environment
图 2 模拟环境视频截图 Fig.2 Video capture of simulated environment

最终收集1 000条路径自然语言语料,构成了本文所采用的路径自然语言语料库。

1.2 路径自然语言语料分词和词性标注

分词和词性标注是中文自然语言处理的基础,分词效果将对机器人问路导航任务产生直接影响。因此,本文使用目前国内分词准确率最高的NLPIR汉语分词系统对收集到的语料进行分词和词性标注处理。

例句:机器人向左走到墙,然后直走到墙角,沿墙向右走到门,进门直走到凳子旁。

分词和词性标注结果:机器人/n向/p左/f走/v到/v墙/n,/wd然后/c直/d走/v到/v墙角/n,/wd沿/p墙/n向/p右/f走/v到/v门/n,/wd进/vf门/n直/d走/v到/v凳子/n旁/f。/wj

2 路径自然语言的句法分析

句法分析技术是自然语言处理中非常重要的一个环节,它可以使计算机像人一样获得自然语言句子的完整句法信息,从而对下一步的语义分析和语用分析提供完备而巨大的句法层次的帮助,让计算机理解人类的语言。

本文将基于句法分析的结果完成语义角色标注从而抽取语义。句法分析的准确率对语义角色标注的结果影响非常大,因此如何提高句法分析的准确率是所面临的一个重要问题。

本文分别采用语块分析和依存句法分析完成路径自然语言语料的句法分析任务。

2.1 语块分析

为了降低句法分析问题的复杂度,Abney[13]首先提出了浅层句法分析(又称语块分析)的概念。语块分析能够在词法分析和语义分析中间架起一座桥梁。它并不要求得到完整的句法树,而只要求识别句子中某些结构相对简单的独立成分。

2.1.1 语块的划分

关于汉语语块的划分,至今没有一个公认权威的标准,很多专家都给出了自己的划分标准[14-16]

由于本文针对路径自然语言,语言现象相对比较简单,通过分析路径自然语言语料,发现路径自然语言主要内容由参考、方向、目标3个要素组成。

例句1:机器人左转(方向转换模块,只有方向)。

例句2:机器走到桌子(无参考向目标前进模块,只有目标)。

例句3:机器人走到沙发右边的花瓶旁边(根据参考向目标前进模块,包含参考和目标)。

例句4:机器人拿桌子上的书(根据参考寻找目标模块)。

以上4种情况是路径自然语言最常见的语言现象。为了更好地完成语料切分任务,又定义了如下几个非常见语块。

例句5:机器人找到笔记本(直接寻找目标模块,只有目标,且一般来说是最终目标)。

例句6:机器人沿墙直走(介词参考模块,只有参考没有目标,一般来说目标在后面的语句中)。

例句7:机器人绕过沙发(空间转换模块)。

最终确定了7个包含语义的语块和1个边界语块。具体情况见表 1

表 1 语块定义 Tab.1 Chunk definition

规定的7个语块有两个优点:1) 语料库中的路径自然语言语料都可以由这7个语块切分,所以不会出现语义丢失的情况;2) 语块的定义很清楚,语块之间的区别很明显,各个语块的特点也很明显,识别时不易出错。还有一个特殊的边界语块:标点符号语块,它不包含任何语义,但是它是很多不同语块的默认边界,对提高语块分析的准确率有重要的作用。

根据定义的语块对原始语料库进行手动语块标注,得到语块分析语料库。下面给出一个语料的语块分析结果:[机器人向左]DT[走到墙]MT[,]PT[然后]O[直走到墙角]MT[,]PT[沿墙]PR[向右]DT[走到门]MT[,]PT[进门]SC[直走到凳子旁]MT[。]PT

2.1.2 基于条件随机场(CRF)的语块分析

语块分析问题是一种分类问题,本文采用条件随机场进行语块分析。条件随机场,是一种鉴别式概率模型,是随机场的一种,它具有表达长距离依赖性和交叠性特征的能力,同时能够较好地解决标注偏置等问题,而且所有特征可以进行全局归一化,能够求得全局的最优解。

CRF是一个在给定输入节点条件下计算输出节点条件概率的无向图模型。对于指定的节点输入值, 它能计算指定节点输出值的条件概率, 其训练目标是使得条件概率最大化。如一个中文词序列x=(机器人,向,左,走,到,墙),定义y为一个长度与x相等的状态序列,y=(B-DT, I-DT, I-DT, B-MT, I-MT, I-MT)。对于一个带有参数Λ={λ1λ2,…,λn}的线性链。CRF将给定的输入序列x得到的状态序列条件概率定义为

${P_\mathit{\Lambda }}\left( {y|x} \right) = \frac{1}{{{Z_\mathit{\Lambda }}\left( x \right)}}{\rm{exp}}\left[ {\sum\limits_{i = 1}^T {\sum\limits_k {{\lambda _k}{f_k}\left( {{y_{t - 1}},{y_t},x,t} \right)} } } \right]$

式中:ZΛ(x)是归一化因子,fk(yt-1, yt, x, t)是整个观察序列和相应标记序列中位置为tt-1标记的特征函数, λK是在训练中得到的并与每个特征fk相关的权重值。

CRF模型的训练采用LBFGS方法, 即在给定输入序列的情况下估计模型参数,把它们对应标注序列构成的集合的条件概率最大化。

CRF模型的关键在于选择Markov阶数和特征集合。通过CRF特征函数可以指定各种状态转换结构, 这些状态转换结构具有不同的Markov阶数, 即特征函数中出现输出标记的个数。高阶特征能把握更多的长度依赖关系, 但也需要更大的训练开销, 并带来更严重的数据稀疏问题。本文选择二阶CRF模型。

所有特征模板由4类模板元素组成,即词本身(W)、词性(P)、词的语块标注(C)、词的依存关系标注(D)。模板元素的下标数字即表示该模板元素的相应词位置,下标为0即表示当前词,-i则表示当前词的前数第i个词,+i则表示当前词的后数第i个词。模板元素和下标数字构成单一特征模板,例如:W0表示当前词,P1表示当前词的词性。单一特征只考虑了单个因素,但是单个因素并不能完全表达上下文的语言现象。因此, 可通过对单一特征进行组合, 构造一些复合特征。例如:C-1/C0表示前数第1个词的语块标注与当前词的语块标注两个单一特征的组合。P-1/P0/P+1则表示前数第1个词的词性和当前词性和后数第1个词的词性3个单一特征的组合。特征模板由所有的特征组成。

表 2是语块分析的特征模板。其中,W-2W-1W0W+1W+2表示5个独立的单一特征。

表 2 语块分析的CRF特征模板 Tab.2 CRF feature template for chunking

定制好特征模板之后,通过训练得到相应的CFR模型,使用该模型可以自动得到语块分析标注结果。

2.2 依存句法分析

在自然语言处理中,有时需要知道句子中词与词之间的依存关系。用词与词之间的依存关系来描述语言结构的框架称为依存语法。利用依存语法进行依存句法分析也是自然语言处理的重要手段之一。

2.2.1 依存句法问题转化为序列标注问题

依存句法问题可以看作一种分类问题。句子中任意两个词都只存在3种依存关系[17]

1) 不存在依存关系;

2) 存在向左的依存关系,即支配词在从属词之前;

3) 存在向右的依存关系,即支配词在从属词之后。

根据以上定义,任何依存关系都可以由距离和方向两个因素决定。将每个词的标签定义为如下形式:[+/-]dPOS。其中“+”表示支配词在从属词之后,“-”表示支配词在从属词之前,POS表示支配词的词性,“d”表示从属词和支配词之间存在和支配词具有相同词性的数量。

2.2.2 基于CRF的依存句法分析

类似于语块分析,依然使用CRF模型完成依存句法分析。

根据本文定义的依存句法标注方式,当前词的依存标签取决于位于其左或其右的支配词,而不是前后多个词。由于依存句法经常会出现较长距离的依存关系,因此尽可能地将特征模板的范围定义得更宽。根据上述特点,定义特征模板如下:W-4W-3W-2W-1W0W+1W+2P-4P-3P-2P-1P0P+1P+2P-2/P-1P-1/P0W-2/W-1

3 路径自然语言的语义角色标注

语义角色标注是一种浅层语义分析,其目标是发现在一个给定的输入句子的每个谓词的论元结构。

自动语义角色标注是在句法分析的基础上进行的,本文分别使用了语块分析和依存句法分析,因此,语义角色标注方法也分为基于语块分析的语义角色标注和基于依存句法分析的语义角色标注。

3.1 语义角色分类

语义角色标注是获取句子层面语义的重要方法,对于路径自然语言来说,其关键语义都包含在某几个语义角色中。因此在语义角色标注的基础上提取语义会比较容易。

语义角色分为核心语义角色和附加语义角色。Arg+数字,表示核心语义角色(core argument),其中Arg0通常表示动作的施事,Arg1通常表示动作的受事,Arg2~Arg4根据谓语动词不同具有不同的语义含义。ArgM-*代表附属成分,这里的“*”表示附属成分的功能,如表 3所示。

表 3 重要的附属成分类型 Tab.3 Important subsidiary types

根据表 3语义角色类型进行手动标注,为语义角色标注提供语料库。下面给出一个语料的语义角色标注结果:[机器人]A0[向左]AM-DIR[走到]V[墙]A1[,]O[然后]AM-ADV[直]AM-ADV[走到]V[墙角]AO[,]O[沿着墙]AM-LOC[向右] AM-DIR[走到]V[门][,]O[进]V[门]A1[直] AM-ADV [走到]V[凳子旁]A1[。]O

本文将语义角色标注作为一个序列标注问题来解决,因此依然用CRF模型进行语义角色标注。

3.2 基于语块分析的语义角色标注

基于语块分析的语义角色标注的模板需要有所变化。最主要的是将语块分析的结果作为特征集添加到语义角色标注的特征模板当中。基于语块分析的语义角色标注特征模板定义如下:W-2W-1W0W+1W+2P-2P-1P0P+1P+2C-2C-1C0C+1C+2W-1/W-0W0/W+1P-1/P0P0/P+1C-1/C0C0/C+1P-2/P-1/P0

3.3 基于依存句法分析的语义角色标注

将依存句法分析的结果作为特征集添加到新的特征模板,基于语块分析的语义角色标注特征模板定义如下:W-2W-1W0W+1W+2P-2P-1P0P+1P+2D-2D-1D0D+1D+2W-1/W-0W0/W+1P-1/P0P0/P+1D-1/D0D0/D+1P-2/P-1/P0

3.4 基于语块分析和依存句法分析的SRL

定义新的特征模板,使用训练语料库训练模型,基于语块分析和依存句法分析的语义角色标注的特征模板定义如下:W-1W0W+1P-1P0P+1C-1C0C+1D-1D0D+1

4 生成导航路径

一条完整的路径可以由多个路径单元组成。本文将路径分割为若干个路径单元,划分原则为每个路径单元有且只有一个运动目标并且运动控制一定存在。根据这两个原则,在获取路径单元时可以根据运动目标和运动控制模块是否都不为空来判断路径单元是否完整。

一个路径单元由4个部分组成:运动主体、运动方向、运动控制、运动目标(可能有运动参考)。这4个部分都可以从不同的语义角色中提取。

1) 运动主体:从A0中根据词性(名词)直接获取,默认为“机器人”。

2) 运动方向:从AM-DIR中根据词性提取,方向包括基本方向(方位词)和角度(量词),默认为“向前”。

规定8个基本方向(前,后,左,右,左前,右前,左后,右后),相隔为45°。如果语料中没有出现具体的角度描述,例如:“向左转”,就默认为“向左转90°”。

3) 运动控制:从V中根据词性获取

导航任务谓词绝大多数都是“走”、“直行”等等动词,有时候可能会出现“穿过”,“绕过”,“拿”这些词语。将表示行走的谓词统一为“走”,因为这些词对导航的影响相同。

4) 运动目标(可能有运动参考)

A1和AM-LOC语义角色就是需要的运动目标,但是对于导航任务来说,名词是较为复杂的模块,因为它既可以作为运动目标也可以作为运动参考,仅仅从语义角色和词性中获取不到清晰的导航信息。本文提出一种基于依存关系提取路径自然语言运动目标和运动参考模块的方法。对于路径自然语言A1和LOC中的名词,包含以下几种情况:

① 单个名词依存于动词,这种情况最简单。这个名词就是运动目标。例如“绕过桌子”,“桌子”依存于动词“绕过”,“桌子”就是运动目标。

② 单个名词并不依存于动词。例如“走到沙发旁”,依存关系为“沙发”依存于“旁”,这时“旁”依存于动词“到”,可以根据这一特点提取到名词短语“沙发旁”。“沙发旁”就是提取到的运动目标。

③ 多个名词(多为两个名词)。对于多个名词,绝大多数是两个名词。偶尔出现3个名词也可以被处理成单个名词。例如“沙发前面的桌子上的花瓶”,可以将“沙发前面的桌子”看作一个名词,“花瓶”看作一个名词,因此可以将多个名词的处理方法简化为两个名词的处理方法。

对于两个名词,可能出现如下两种情况。

1) 名词之间的依存关系是并列关系。

例如“桌子和椅子”,这时可以将它看作单个名词,通过下一步的分析得到正确的运动目标。例如“走到桌子和椅子前”,“桌子和椅子”依存于“前”,“前”依存于动词“走到”,因此“桌子和椅子前”就是运动目标。

2) 名词之间存在依存关系。

例如“拿桌子上的书”,“桌子上的书”被标注为A1,“桌子”依存于“上”,“上”依存于“书”,“书”依存于动词“拿”。“桌子上”可以看作一个名词,此时由于名词“书”依存于动词“拿”,所以“书”是运动目标,“桌子上”依存于名词“书”,它作为运动参考。

少量的运动目标存在于AM-LOC语义角色。对于AM-LOC语义角色,首先根据其中的语块类型确定其是运动参考或者是运动目标。对于“PR”语块,其中的名词短语可以直接填充到运动参考模块。对于“SC”语块,通过上述名词的处理方法填充到相应的模块。

在生成的路径单元的基础上,按顺序将路径单元整合在一起,就生成了最终的导航路径。

5 实验结果与分析

将语料库按照4:1的比例进行划分,其中80%为训练语料,20%为测试语料。然后根据定义的特征模板对训练语料库进行训练,得到相应的训练模型,再用测试语料库测试得到的训练模型的准确率。

本文需要用到以下的实验指标:

${\rm{正确率}}\left( P \right) = \frac{{\rm{正确识别的个体总数}}}{{\rm{识别出的个体总数}}} \times 100\% $
${\rm{召回率}}\left( F \right) = \frac{{\rm{正确识别的个体总数}}}{{\rm{测试集中存在的个体总数}}} \times 100\% $
${F_1} = \frac{{P \cdot R \cdot 2}}{{P + R}} \times 100\% $
5.1 句法分析结果

实验1 语块分析实验

表 4是各个语块分析结果。由表 4可见,语块分析的准确率、召回率、F1值都非常高,说明之前确定的分块类型是合理的,适用于路径自然语言处理领域。较高的语块分析准确率也很符合接下来在语块分析的基础上进行语义角色标注的要求。

表 4 语块分析结果 Tab.4 The result of chunking

实验2 依存句法分析实验

表 5是依存句法实验结果。本文直接用依存句法自动标注的平均值表示依存句法分析结果。和语块分析相比,它的准确率、召回率、F1值都相对较低。其原因有两点:1) 依存句法的依存关系类型较多,而且其划分边界并不明显,导致了识别率下降;2) 由于某些从属词和支配词之间的距离过长,导致了依存关系的标注准确率下降。但是对于某些语义角色标注识别,依存句法相比于语块分析有着更好的效果,下一节将会详细阐述。

表 5 依存句法分析结果 Tab.5 The result of dependency parsing
5.2 语义角色标注结果

实验3 基于语块分析的SRL

表 6是基于语块分析的语义角色标注的结果。从表 6的结果中可以看出,基于语块分析的语义角色标注准确率、召回率、F1值分别达到了96.77%、97.78%、97.27%。

表 6 基于语块分析的SRL结果 Tab.6 The result of SRL based on chunking

实验4 基于依存句法分析的SRL

表 7是基于依存句法分析的语义角色标注结果。通过和表 6得到的结果对比发现,虽然基于依存句法分析的SRL的平均值比基于语块分析的SRL要低。但是对于A0、AM-ADV语义角色,基于依存句法分析的结果明显较好。

表 7 基于依存句法分析的SRL结果 Tab.7 The result of SRL based on dependency parsing

实验5 基于语块分析和依存句法分析的SRL

通过分析表 5表 6发现,对于自然语言处理的语义角色标注任务,语块分析和依存句法分析都有其优点。

基于语块分析的语义角色标注的准确率的平均值更高,这是因为在语块划分时就已经做了初步的语义切分工作。

例如:“DT”语块一般就包含AM-DIR语义角色,训练得到的模型也就更容易识别出AM-DIR语义角色。

基于依存句法分析的语义角色标注虽然平均准确率较低,但是其A0、AM-ADV等语义角色标注准确率非常高,这是因为这些语义角色标注可以很简单地由依存句法标注得到。

例如:A0语义角色,它一般就代表“机器人”,而“机器人”往往就依存于第1个动词,其依存关系标注为“+1V/SBV”。在将依存关系特征加入特征集之后,训练得到模型的语义角色标注准确率就更高。

为了融合依存句法和语块分析的优点,本文提出一种基于语块分析和依存句法分析的融合语义角色标注方法。表 8是基于语块分析和依存句法分析的语义角色标注结果。

表 8 基于语块分析和依存句法分析的SRL结果 Tab.8 The result of SRL based on chunking and dependency parsing

通过分析准确率发现:

1) 基于依存句法分析的SRL的A0和AM-ADV语义角色准确率最高;

2) 基于语块分析的SRL的AM-LOC语义角色准确率最高。

3) 基于语块和句法的SRL的A1、AM-DIR和V的语义角色准确率最高。

综上所述,基于语块加依存句法分析的SRL平均准确率最高。而且对于机器人导航任务来说,路径单元主要由以下4个部分组成:谓词、方向词、参考、目标。这4个部分正好分别在V、AM-DIR、A1中。综合来看,使用第3种方法最合适。

5.3 机器人Nao导航实验

在简单的室内环境中使用Nao机器人完成实际导航任务。本文希望将处理好的自然语言输入给Nao机器人后,Nao机器人可以通过感知周围环境自主完成导航任务。本次实验所需要的图像识别模块通过使用机器人自带的landmark识别函数识别特殊符号替代。

图 3是进行机器人导航实验的实际环境,导航需要识别的物体分别贴上了不同的landmark标签。

图 3 实际环境 Fig.3 Actual environment

实验1 机器人在简单无障碍的环境下完成导航

输入一段自然语言描述的路径导航任务:“机器人向前走到盆栽,再向左走到电脑主机处右转找到吉他。”依次提取出路径单元,将路径单元中“运动目标”、“运动控制”、“运动目标和参考”信息输入,控制机器人依次完成每个路径单元的导航。在行进过程中,机器人通过声纳确定前方是否有物体,再通过图像识别模块判断物体是障碍或者是运动目标。

图 4为实验1的机器人实际行走路线。

图 4 机器人实际行走路线1 Fig.4 Robot walking route 1

图 4中A代表机器人,B代表盆栽,C代表电脑主机,D代表吉他。从图的机器人行进路线可以看出,机器人在简单无障碍的环境下可以很轻松地按照抽取的语义信息向目标前进。

实验2 机器人在复杂有且障碍环境下完成导航

输入一段自然语言描述的路径导航任务:“机器人向前走到床,向左走到椅子旁,再向右转,向前走到花瓶旁,向左走到沙发前,绕过沙发走到书桌前。”

图 5为实验2的机器人实际行走路线。

图 5 机器人实际行走路线2 Fig.5 Robot walking route 2

图 5中A代表机器人,B代表床,C代表椅子,D代表花瓶,E代表沙发,F代表书桌。在机器人预计的行进路线上设置两个障碍:X代表大箱子,Y代表一个站在路线上的行人。从图中机器人行进路线可以看出,机器人在较复杂有障碍的情况下依然可以避开障碍完成导航。

6 结束语

为了最终实现基于路径自然语言处理的机器人导航,本文分别提出了基于语块分析的语义角色标注方法、基于依存句法分析的语义角色标注方法和基于语块分析和依存句法分析融合的语义角色标注方法。通过实验发现,基于语块分析和依存句法分析融合的语义角色标注方法对路径自然语言有最好的处理结果。最后使用Nao机器人实现了在简单环境下完成基于路径自然语言处理的导航任务,验证了本文提出的方法是可行的。由于本文的数据集语料较为充足且在非受限条件下获得,保证了本文问路导航方法的适用性。在后续的研究中,拟搭建更多较为复杂的环境,进一步提高方法的适应导航能力。

参考文献
[1] WEI Y, BRUNSKILL E, KOLLAR T, et al. Where to go:Interpreting natural directions using global inference[C]//IEEE International Conference on Robotics and Automation. Kobe, Japan, 2009:3761-3767. (0)
[2] KOLLAR T, TELLEX S, ROY D, et al. Toward understanding natural language directions[C]//20105th ACM/IEEE International Conference on Human-Robot Interaction(HRI). Osaka, Japan, 2010:259-266. (0)
[3] SKUBIC M, PERZANOWSKI D, BLISARD S, et al. Spatial language for human-robot dialogs[J]. IEEE transactions on systems, man, and cybernetics, part c:applications and reviews, 2004, 34(2): 154-167. DOI:10.1109/TSMCC.2004.826273 (0)
[4] SKUBIC M, HUO Z, ALEXENKO T, et al. Testing an assistive fetch robot with spatial language from older and younger adults[C]//RO-MAN, 2013 IEEE. Gyeongju, South Korea, 2013:697-702. (0)
[5] SKUBIC M, HUO Z, CARLSON L A, et al. Human-driven spatial language for human-robot interaction[C]//AAAI Conference on Human-Robot Interaction in Elder Care. San Francisco, USA, 2011:32-34. (0)
[6] LI X, HUANG X, DEZERT J, et al. A successful applicat ion of DSmT in sonar grid map building and comparison with DST-based approach[J]. International journal of innovative computing, information and control, 2007, 3(3): 539-549. (0)
[7] LI X, DEZERT J, SMARANDACHE F, et al. Evidence support ing measure of similarity for reducing the complexity in informat ion fusion[J]. Information sciences, 2011, 181(10): 1818-1835. DOI:10.1016/j.ins.2010.10.025 (0)
[8] 石朝侠, 洪炳镕, 周彤, 等. 大规模环境下的拓扑地图创建与导航[J]. 机器人, 2007, 29(5): 433-438.
SHI Chaoxia, HONG Bingrong, ZHOU Tong, et al. Topological map building and navigation in large-scale environment ents[J]. Robot, 2007, 29(5): 433-438. (0)
[9] 庄严, 徐晓东, 王伟. 移动机器人几何-拓扑混合地图的构建及自定位研究[J]. 控制与决策, 2005, 20(7): 815-818.
ZHUANG Yan, XU Xiaodong, WANG Wei. Mobile robot geometric-topological map building and self-localization[J]. Control and decision, 2005, 20(7): 815-818. (0)
[10] 张秀龙, 李新德, 戴先中. 基于组块分析的路径自然语言语义角色标注方法[J]. 东南大学学报:自然科学版, 2012, 42(z1): 127-131.
ZHANG Xiulong, LI Xingde, DAI Xianzhong. Semantic role labeling method for route natural language based on chunk parsing[J]. Journal of southeast university:natural science edition, 2012, 42(zl): 127-131. (0)
[11] 李新德, 张秀龙, 戴先中. 一种基于受限自然语言处理的移动机器人视觉导航方法[J]. 机器人, 2011, 33(6): 742-749.
LI Xingde, ZHANG Xiulong, DAI Xianzhong. A visual navigation method of mobile robot based on constrained natural language processing[J]. Robot, 2011, 33(6): 742-749. (0)
[12] 李新德, 张秀龙. 一种面向室内智能机器人导航的路径自然语言处理方法[J]. 自动化学报, 2012, 40(2): 289-305.
LI Xinde, ZHANG Xiulong. A route instruction method using natural language processing for indoor intelligent robot navigation[J]. Acta automatica sinica, 2012, 40(2): 289-305. (0)
[13] ABNEY S P. Parsing by chunks[M]//Principle-Based Parsing. Springer Netherlands, 1991:257-278. (0)
[14] 周强, 孙茂松, 黄昌宁. 汉语句子的组块分析体系[J]. 计算机学报, 1999, 22(11): 1158-1165.
ZHOU Qiang, SUN Maosong, HUANG Changning. Chunk parsing scheme for Chinese sentences[J]. Chinese journal of computers, 1999, 22(11): 1158-1165. DOI:10.3321/j.issn:0254-4164.1999.11.008 (0)
[15] 李素建, 刘群. 汉语组块的定义和获取[C]//全国计算语言学联合学术会议. 苏州, 中国, 2003: 110-115.
LI SUJIAN, LIU QUN. Research on definition and acquisition of chunk[C]//CCL 2016. Suzhou, China, 2003:110-115. (0)
[16] 孙宏林, 俞士汶. 浅层句法分析方法概述[J]. 当代语言学, 2000, 2(2): 74-83.
SUN HONGLIN, YU SHIWEN. A summary of shallow parsing methods[J]. Contemporary linguistics, 2000, 2(2): 74-83. (0)
[17] 计峰, 邱锡鹏. 基于序列标注的中文依存句法分析方法[J]. 计算机应用与软件, 2009, 26(10): 133-135.
JI FENG, QIU XIPENG. A new Chinese dependence analysis method based on sequence labeling model[J]. Computer applications and software, 2009, 26(10): 133-135. DOI:10.3969/j.issn.1000-386X.2009.10.043 (0)