本发明涉及属于机器人控制领域的一种机器人指令解析方法,尤其是一种基于关键动词特征全密度传递的服务机器人指令解析方法。
背景技术:
在人与智能服务机器人交互过程中,采用自然语言的表达形式有利于用户下达任务指令。由于用户任务描述中常常存在冗余信息或者存在表达不足的情况,机器人需要进行任务理解,即将开放式的复杂指令解析为一种结构化的内部表示以便后续的执行。框架语义表示法是一种可靠的机器内部表示方法,它通过构造覆盖任务内容的框架结构将指令解析任务转换为框架分类与框架填充两个子任务。
目前将自然语言指令解析为框架表示的两类主要方法是基于词典的关键词匹配方法与基于词向量的神经网络方法。但面对机器人服务指令领域的文本,现有方法的解析效果不足。关键词匹配方法需要构建一个覆盖所有用户描述的领域词典,通常存在遗漏与歧义的问题。神经网络方法仅依赖词向量特征进行语义解析,忽略了整体任务意图对不同词向量的依赖差异,造成了神经网络难以聚焦于包含核心任务信息的关键动词。
技术实现要素:
为了克服解决现有技术的不足,本发明提出一种基于关键动词特征全密度传递的服务机器人指令解析方法,将自然语言描述的指令文本解析为对应任务框架。
为了实现这一目的,本发明采用的技术方案步骤如下:
第一步,服务机器人在已知应用环境下工作,例如室内陪护、物流配送、工业辅助等场景。构建服务机器人的各种候选服务下的各种服务指令文本的数据库,每个服务指令文本中均已标注有指令语义,并对服务指令文本中的每个字进行独热编码表示获得每个字的独热编码字向量,利用停用词表采用去停用词方法对服务指令文本进行预处理,去除语气助词等常见的冗余词汇,避免后续模型处理过拟合;
服务指令文本是输入到服务机器人的输入控制指令,可以是文字打字输入也可以是语音输入转换为文字获得,具体实施可采用bio标注方法对服务指令文本进行处理获得每个服务指令文本的指令语义。
第二步,将数据库划分为训练集和验证集;
第三步,采用斯坦福文本分析工具对每条服务指令文本进行分词,以每个词作为节点并额外建立虚拟根节点,虚拟根节点为独立于词的节点之外的节点,虚拟根节点和词的节点均为节点,解析每条服务指令文本中各词的词性与各节点间的依存关系,提取到虚拟根节点距离最远的动词作为关键动词,关键动词结合自身在服务指令文本的上下文信息构造特征作为关键动词的上下文特征xkverb,作为全密度双向长短期记忆网络模型的输入之一;
所述的距离为两个节点之间的具有依存关系的总数;
第四步,搭建全密度双向长短期记忆网络模型,用训练集训练模型参数,验证集进行超参数调试;
以服务指令文本其对应的候选服务类型和各个指令语义,作为全密度双向长短期记忆网络模型的预测标签。
第五步,采用训练好的全密度双向长短期记忆网络模型针对待测的一段文本指令处理提取获得候选服务的类型及其候选服务下的服务对象、目标对象、移动动作终点等指令语义,完成解析。
具体实施在第一步中,候选服务f的类型根据候选服务对应的机器人动作性质分为“携带”、“切割”、“倾倒”、“获取”、“给予”、“抓取”、“研磨”、“放置”、“清洗”、“聊天”、“安装”、“移除”等。
所述第三步中,所发明的关键动词上下文特征xkverb包括关键动词的独热编码词向量xkey、关键动词上下文相邻词xcontext、区域标记xmark的三部分;关键动词的独热编码词向量是由词中所包含的每个字的独热编码字向量连接构成,关键动词上下文相邻词xcontext为与关键动词相邻且在一个字邻域内的各词的独热编码词向量的矢量和,区域标记xmark表示每个字与关键动词的远近依赖关系;如果字在关键动词的一个字邻域内,则区域标记xmark=1,否则区域标记xmark=0。
所述第四步中,所述的全密度双向长短期记忆网络模型包含依次连接的四层双向长短期记忆网络(bilstm),相邻层双向长短期记忆网络之间除了常规的依次连接以外还采用特殊设计的全密度高速通道方式进行依存连接,使得四层双向长短期记忆网络形成堆叠结构,具体表示如下:
h1=bilstm(x)
其中,hi表示第i层双向长短期记忆网络层的输出,i=1、2、3、4;σ为sigmoid函数,
第四层双向长短期记忆网络的输出h4经过线性维度转换和softmax操作处理后得到每个字对应的指令语义的概率分布:
ys=softmax(wsh4 bs)
其中,ws表示为第四层双向长短期记忆网络针对候选服务的训练矩阵参数,bs表示为第四层双向长短期记忆网络针对候选服务的训练向量参数;
第四层双向长短期记忆网络最后一个单元的单独输出ht4经过线性维度转换和softmax操作处理后得到服务指令文本对应的候选服务的概率分布:
其中,wi表示为第四层双向长短期记忆网络最后一个单元针对候选服务的训练矩阵参数,bi表示为第四层双向长短期记忆网络最后一个单元针对候选服务的训练向量参数;ht4表示第四层双向长短期记忆网络最后一个单元的输出。
所述第四步中,训练时,以服务指令文本及其独热编码词向量xword与关键动词上下文特征xkverb拼接后结果作为输入特征,以服务指令文本其对应的候选服务类型和各个指令语义,作为全密度双向长短期记忆网络模型的预测标签,输入全密度双向长短期记忆网络模型进行训练。
所述的候选服务包含有机器人对象、服务对象、目标对象、目标对象位置、移动路径终点、移动路径经过点、服务时间、使用工具、执行速度、执行频率等指令语义。
本发明将服务指令解析任务转化为框架分类及框架填充两个子任务,通过精准地捕捉解析出带有冗余信息的服务指令文本中的核心要素,能够用于辅助机器人理解复杂的指令意图。
本发明的有益效果是:
本发明方法能准确有效解析获得服务机器人的服务指令文本。
针对自然语言指令中关键动词包含核心任务意图的特点,本发明基于依存关系路径构建了关键动词上下文特征,使网络模型聚焦于学习各字词与关键动词之间的依赖关系,提高指令语义的解析效果。
此外本发明设计采用了全密度双向长短期记忆网络通过稠密的高速通道结构,缓解了多层双向长短期记忆网络训练时存在的梯度消失问题。该机制使模型训练时的梯度信息多通道回流,提升了深层网络的拟合能力,强化了指令解析的效果。
附图说明
图1是本发明方法的流程图。
图2是本发明中提取关键动词所使用的依存句法分析实例图
图3是本发明构建的关键动词上下文特征示意图
图4是本发明使用的全密度高速通道机制示意图。
图5是本发明使用的全密度双向长短期记忆网络示意图。
图6是本发明得到的指令解析结果实例图。
具体实施方式
以下结合附图对本发明作进一步的详细描述。
如图1所示,本发明的实施例及其实施过程如下:
第一步,服务机器人在已知应用环境下工作,例如室内陪护、物流配送、工业辅助等场景。构建服务机器人的各种候选服务下的各种服务指令文本的数据库,每个服务指令文本中均已标注有指令语义,并对服务指令文本中的每个字进行独热编码表示获得每个字的独热编码字向量,利用停用词表采用去停用词方法对服务指令文本进行预处理;
具体实施在第一步中,候选服务f的类型根据候选服务对应的机器人动作性质分为“携带”、“切割”、“倾倒”、“获取”、“给予”、“抓取”、“研磨”、“放置”、“清洗”、“聊天”、“安装”、“移除”等。
第二步,将数据库划分为训练集和验证集;
第三步,采用斯坦福文本分析工具对每条服务指令文本进行分词,以每个词作为节点并额外建立虚拟根节点,虚拟根节点为独立于词的节点之外的节点,虚拟根节点和词的节点均为节点,解析每条服务指令文本中各词的词性与各节点间的依存关系,提取到虚拟根节点距离最远的动词作为关键动词,关键动词结合自身在服务指令文本的上下文信息构造特征作为关键动词的上下文特征xkverb;
距离为两个节点之间的具有依存关系的总数;
如图2所示,第三步中,对例句“我需要你去帮我拿这本书到卧室”采用斯坦福文本分析工具解析出的依存关系包括“拿”和“书”之间的直接宾语关系(dobj)、“帮”和“拿”之间的从句补充关系(ccomp)、“需要”和“帮”之间的开放从句补充关系(xcomp)等。例句中动词节点包括“需要”、“帮”和“拿”。由于“拿”为动词中到虚拟根节点的距离最远的节点,为三个依存关系,因此“拿”为例句中的关键动词。
如图3所示,关键动词上下文特征xkverb包括关键动词的独热编码词向量xkey、关键动词上下文相邻词xcontext、区域标记xmark的三部分;关键动词的独热编码词向量是由词中所包含的每个字的独热编码字向量连接构成,关键动词上下文相邻词xcontext为与关键动词相邻且在一个字邻域内的各词的独热编码词向量的矢量和,区域标记xmark表示每个字与关键动词的远近依赖关系;如果字在关键动词的一个字邻域内,则区域标记xmark=1,否则区域标记xmark=0
第四步,搭建全密度双向长短期记忆网络模型,用训练集训练模型参数,验证集进行超参数调试;
如图4所示,全密度双向长短期记忆网络模型包含依次连接的四层双向长短期记忆网络(bilstm),相邻层双向长短期记忆网络之间除了依次连接以外还采用全密度高速通道方式进行依存连接,使得四层双向长短期记忆网络形成堆叠结构,具体表示如下:
h1=bilstm(x)
如图5所示,第四层双向长短期记忆网络的输出h4经过线性维度转换和softmax操作处理后得到每个字对应的指令语义的概率分布:
ys=softmax(wsh4 bs)
第四层双向长短期记忆网络最后一个单元的单独输出ht4经过线性维度转换和softmax操作处理后得到服务指令文本对应的候选服务的概率分布:
训练时,以服务指令文本及其独热编码词向量xword与关键动词上下文特征xkverb拼接后结果作为输入特征,以服务指令文本其对应的候选服务类型和各个指令语义,作为全密度双向长短期记忆网络模型的预测标签,输入全密度双向长短期记忆网络模型进行训练。在模型训练过程中批处理数目为16,长短期记忆单元的隐藏向量大小为64,优化器为adam,并使用提前停止策略。为了减轻梯度爆炸现象,需在训练过程中使用梯度裁剪技术,并将裁剪范数设置为5。为防止过度拟合,输入层和输出层的丢弃率均设为0.5。
第五步,采用训练好的全密度双向长短期记忆网络模型针对待测的一段文本指令处理提取获得候选服务的类型及其候选服务下的服务对象、目标对象、移动动作终点等指令语义,完成解析。
如图6所示,模型的最终输出结果为一个附带具体指令语义的候选服务意图。对例句“我需要你去帮我拿这本书到卧室”,模型的最终输出结果是此指令的候选服务为携带,指令中提及的“我”为携带的服务对象,“这本书”为携带的目标对象,“卧室”为携带的移动路径终点。
1.一种基于关键动词特征全密度传递的服务机器人指令解析方法,其特征在于该方法步骤如下:
第一步,服务机器人在已知应用环境下工作,构建服务机器人的各种候选服务下的各种服务指令文本的数据库,每个服务指令文本中均已标注有指令语义,并对服务指令文本中的每个字进行独热编码表示获得每个字的独热编码字向量,利用停用词表采用去停用词方法对服务指令文本进行预处理;
第二步,将数据库划分为训练集和验证集;
第三步,采用斯坦福文本分析工具对每条服务指令文本进行分词,以每个词作为节点并额外建立虚拟根节点,解析每条服务指令文本中各词的词性与各节点间的依存关系,提取到虚拟根节点距离最远的动词作为关键动词,关键动词结合自身在服务指令文本的上下文信息构造特征作为关键动词的上下文特征xkverb;
第四步,搭建全密度双向长短期记忆网络模型,用训练集训练模型参数,验证集进行超参数调试;
第五步,采用训练好的全密度双向长短期记忆网络模型针对待测的一段文本指令处理提取获得候选服务的类型及其候选服务下的服务对象、目标对象、移动动作终点等指令语义,完成解析。
2.根据权利要求1所述的一种基于关键动词特征全密度传递的服务机器人指令解析方法,其特征在于:所述第三步中,所发明的关键动词上下文特征xkverb包括关键动词的独热编码词向量xkey、关键动词上下文相邻词xcontext、区域标记xmark的三部分;关键动词的独热编码词向量是由词中所包含的每个字的独热编码字向量连接构成,关键动词上下文相邻词xcontext为与关键动词相邻且在一个字邻域内的各词的独热编码词向量的矢量和,区域标记xmark表示每个字与关键动词的远近依赖关系。
3.根据权利要求1所述的一种基于关键动词特征全密度传递的服务机器人指令解析方法,其特征在于:所述第四步中,所述的全密度双向长短期记忆网络模型包含依次连接的四层双向长短期记忆网络,相邻层双向长短期记忆网络之间除了依次连接以外还采用全密度高速通道方式进行依存连接,使得四层双向长短期记忆网络形成堆叠结构,具体表示如下:
h1=bilstm(x)
其中,hi表示第i层双向长短期记忆网络层的输出,i=1、2、3、4;σ为sigmoid函数,
第四层双向长短期记忆网络的输出h4经过线性维度转换和softmax操作处理后得到每个字对应的指令语义的概率分布:
ys=softmax(wsh4 bs)
其中,ws表示为第四层双向长短期记忆网络针对候选服务的训练矩阵参数,bs表示为第四层双向长短期记忆网络针对候选服务的训练向量参数;
第四层双向长短期记忆网络最后一个单元的单独输出
其中,wi表示为第四层双向长短期记忆网络最后一个单元针对候选服务的训练矩阵参数,bi表示为第四层双向长短期记忆网络最后一个单元针对候选服务的训练向量参数;
4.根据权利要求1所述的一种基于关键动词特征全密度传递的服务机器人指令解析方法,其特征在于:所述第四步中,训练时,以服务指令文本及其独热编码词向量xword与关键动词上下文特征xkverb拼接后结果作为输入特征,以服务指令文本其对应的候选服务类型和各个指令语义,作为全密度双向长短期记忆网络模型的预测标签,输入全密度双向长短期记忆网络模型进行训练。
5.根据权利要求1所述的一种基于关键动词特征全密度传递的服务机器人指令解析方法,其特征在于:所述的候选服务包含有机器人对象、服务对象、目标对象、目标对象位置、移动路径终点、移动路径经过点、服务时间、使用工具、执行速度、执行频率等指令语义。
技术总结