论文部分内容阅读
如今,服务机器人正在成为国内外机器人领域研究的重点。我国已经把智能服务机器人列为未来15年重点发展的前沿技术。以家用服务机器人为主的服务机器人产业不断发展,未来市场前景巨大。然而,人机交互中任务理解能力仍然是影响机器人协助人类的一个主要瓶颈,因为机器人能够理解的知识和自然语言表达的任务之间存在巨大差距。具体表现为三个方面:(1)用户指令的表达形式不仅仅是自然语言形式而且是抽象表达不足的(指代或缺省);(2)机器人内部知识与用户任务之间存在巨大的知识缺口;(3)复杂任务到机器人原子行动的分解或规划。因此,本文通过解决这三个方面的问题,实现用户自然语言表达的任务到机器人可以执行的原子行动的分解,从而解决任务理解所面临的问题。首先,解决用户指令的表达形式不仅仅是自然语言形式而且是抽象表达不足的问题。由于用户的表达是自然语言形式,机器人首先需要把用户任务翻译成机器人内部语义表示。在与机器人交互过程中,用户通常会使用不同的词汇同时会覆盖大部分我们日常用到的词汇表。目前,通用的做法是通过标注大量样本数据作为训练集,并用深度学习或机器学习训练得到语义解析器。然而,标注大量的任务训练集是比较耗时的,同时服务机器人领域任务相关数据集较少。为了解决这个问题,本文提出从有限较小的标注集中来训练可靠的框架语义解析器的方法,将自然语言表达的句子翻译到框架语义表示。同时为了解决指代或缺省问题,本文提出新的启发式方法从用户任务的上下文信息中恢复当前任务可能缺失的语义角色。其次,解决机器人内部知识与用户任务之间存在巨大的知识缺口问题。当任务句子被翻译到框架语义表示形式时,机器人还需要对动词框架语义做定义来补充任务规划所需要的知识。然而,现存的大部分工作都是通过专家来手工编写这类知识,使得这部分工作很耗时同时也不容易扩展通用。为了解决这个难题,本文从字典(如FrameNet)或者网上其它类似的资源挖掘出动词的词义并形式化定义,同时这些定义又可以被机器人直接处理。由于现存的动作描述语言并没有给出关于这类知识的完整描述,故本文提出新的元语言框架作为转写的常用动词的知识以及用户任务的表示形式。基于以上的框架,常用动词词义的语义信息从字典中提取以及在元语言框架下转写表示。然后,这些转写知识可以有效填补任务理解中所缺失的知识。最后,解决复杂任务到机器人原子行动的分解或规划问题。由于现存的任务分解方法或者自动规划方法都依赖于手工编写的知识,知识也不足。本文提出基于元语言和回答集编程(ASP)的任务规划,将元语言翻译到ASP规则,并利用ASP自动规划求解用户任务,最终解决机器人内部复杂任务语义形式分解为原子行动序列的问题。机器人通过执行原子动作序列完成用户任务。综上,本文提出利用FrameNet等语义词典中的语义信息填补常用动词的功能性知识,同时结合自然语言语义解析和回答集编程(ASP)自动规划技术来提高机器人在知识不完备情况下的任务理解能力。通过在大量开放任务集中进行方法的比较,并将其应用到服务机器人"可佳"硬件系统中在国际标准测试中进行系统性的验证。实验表明,本文提出的若干关键技术及其结合相较于之前方法能够极大的提高机器人任务理解能力。本文主要贡献和创新点包括:(1)针对用户任务句子语言表达不足以及训练数据量少的问题。本文提出采用参数类型依存关系特征,在少量样本的数据集上训练出合适的对数线性模型,同时提出基于最近邻规则和默认规则解决上下文理解中的缺省和指代问题。实现了可以处理更大规模任务句子的框架语义解析器。(2)针对知识缺口的问题,本文建立一种新的元语言,将过程性开放知识和功能性开放知识表示在同一框架下,补充用户任务语义缺失的知识。(3)针对任务分解或规划问题。结合元语言框架和ASP自动规划技术,提出了若干算法以及整体系统框架。提高了服务机器人的自主程度。