随着社会的发展与生活水平的提高,服务机器人越来越多地进入到人们的家庭[1].面对复杂多样的服务要求与家庭环境,如何通过用户自然语言请求获得详细具体、贴合环境的任务流程相关文本描述,即服务策略,是机器人高质量完成任务的关键[2].Thomason等[3]提出通过对话解析语义与获取概念信息,将人类自然语言指令转换为机器人离散动作序列;Wang等[4]提出基于语义知识和概率推理的分层任务网络,提高了机器人任务规划的自主性和有效性;Walker等[5]使用神经语义解析器,将自然语言指令转换为可执行操作描述赋予机器人.上述方法仅从指令中获取服务策略,不适合涉及多物品操作的复杂任务.Zhang等[6-10]结合强化学习与问答系统,通过工具信息扩展问题表示,设置基于先验知识、语义相似性的分级奖励,将自然语言信息转换为机器人可执行操作序列;Thenmozhi等[11]利用语义解析器,结合标记方法与空间上下文,将自然语言命令转换为机器人控制语言以完成用户任务.采用上述方法生成服务策略通常不会考虑机器人执行任务所处环境,给出的策略信息中可能包含当前环境所不存在物品,使机器人无法获得相应物品导致任务执行失败,不能达到生成服务策略的目的,因此当机器人执行任务时,具备一种环境适应性服务策略生成方法是十分必要的.文本生成技术作为自然语言处理领域的关键技术[12]目前发展出了一系列通用模型,如Seq2Seq模型[13]和ELMo模型[14]等,以及基于Transformer[15]结构的BERT模型[16]、GPT模型[17]、GPT-2模型[18]等,在多种自然语言处理任务中取得了长足进展.基于上述研究现状,本研究提出一种面向环境适应性的机器人服务策略生成方法,结合本地环境物品信息与文本生成技术,适应性改变服务策略内容以确保策略中所含物品均为本地存在且可操作物品,满足当前执行环境限制.在策略驱动下,使家庭服务机器人能够高效率、高质量完成家政任务.1 适应性策略生成方法面向环境适应性的机器人服务策略生成方法框架包含4个部分,如图1所示.10.13245/j.hust.228784.F001图1面向环境适应性的机器人服务策略生成方法框架a.请求分析.获取用户音频,转换为文本信息,提取短语模块,映射至服务指令,以理解用户意图.b.关键字扩展.将服务指令表征为动态词向量,以获取深层语义信息,并与关键字序列集指令名称完成向量空间检索匹配,获取待选序列.c.本地环境匹配.提取待选关键字序列中物品与动作词条,与本体知识库相关信息进行匹配获取,运用推理引擎更新信息,生成服务关键字序列.d.策略生成.对文本生成模型进行多领域语料预训练与服务策略数据集微调,并使用服务关键字序列引导生成适应性服务策略.1.1 请求分析用户是机器人服务任务的发布者,首先应对其任务请求进行分析,流程如图2所示.10.13245/j.hust.228784.F002图2用户任务请求分析流程步骤1 利用语音识别,对音频进行静音抑制与消噪,经声学特征提取转换将口语化语音请求转换为文本信息.步骤2 通过词法分析,对文本信息进行分词、词性标注、命名实体识别等操作,作为预处理;利用Stanford Parser进行句法分析,生成句法分析树.步骤3 利用结构化文本,进行文本特征提取,由词频与词性划定重点词,并基于句法分析树中词汇依存关系,分离短语模块.步骤4 将短语模块映射至服务指令集,按照相关性排序,得到请求对应服务指令(I).指令集内各服务指令互不重复,服务指令示例如表1所示.10.13245/j.hust.228784.T001表1服务指令示例Service Instruction服务指令cook some foodturn on lightwash clothes做饭开灯洗衣服pick up phone接电话make coffee做咖啡1.2 关键字扩展自然语言生成模型生成文本具有一定随机性,影响最终生成效果的因素包括模型训练情况与输入文本长度等.仅使用服务指令作为模型输入,输入长度过短,生成过程由于无效词汇积累会发生主题偏离,生成完整有效服务策略难度较大;因此,本研究提出结合服务指令与关键字序列作为输入,利用后者辅助服务策略生成,降低生成难度,提高可靠性.基于服务指令的关键字扩展流程见图3,图中:T1,T2,…,Tn为单词词汇;E1,E2,…,En为单词向量表征.10.13245/j.hust.228784.F003图3关键字扩展流程首先,将相关文本信息转换为向量形式的词嵌入表征.ELMo模型通过双向长短期记忆(long short term memory,LSTM)网络根据不同上下文调整更新向量表示,为动态词向量表征,可以获取深层语义信息,解决词汇在不同语境下一词多义问题,因此利用ELMo模型,将服务指令文本与关键字序列集中指令信息转换为动态词嵌入,通过余弦相似度计算二者空间距离,遍历集合完成查询检索,将成功匹配的对应序列作为待选输出.关键字序列集中的指令信息与序列关系为一对多映射,形式如表2所示.10.13245/j.hust.228784.T002表2关键字序列示例服务指令关键字序列wash clothes(grab,basket),(put,clothes),(washing machine),(put,clothes),(put,detergent),(switch)cook some food(fill,pot),(put,egg),(put,pot),(boil),(turn off),(put,egg)cook some food(grab,pan),(pour,water),(put,stove),(switch,stove),(add,carrots),(add,salt),(shake,pan)1.3 本地环境匹配作为适应性服务策略生成重要参考因素,本地环境信息须一并进行综合考虑.根据服务指令与关键字序列集,可将服务请求扩展至若干待选序列,各序列均包含数目不等的操作物品与操作动作,将二者与本地环境信息、机器人信息进行匹配,进一步得到更详细、贴合家庭环境的服务关键字序列,流程如图4所示.10.13245/j.hust.228784.F004图4本地环境匹配流程针对同一服务的多条待选关键字序列,利用自然语言处理工具包(natural language toolkit,NLTK)依次进行处理.根据词性标注结果提取动作与物品词条:由标签NN,NNS获取操作物品,由标签VB,VBD,VBG,VBN,VBP获取操作动作.将提取的信息与本地家庭环境知识进行匹配.本体用来描述特定领域中存在的对象类型、概念、属性及相互关系,具有共享、概念化、明确性和形式化等特征,可用于知识的存储与使用.因此,家庭环境知识使用本体语言描述,并采用Protégé工具储存.以物品属性为例,使用李泚泚[19]提出的六大属性进行知识管理,部分属性如图5所示.Protégé工具具备推理功能,通过语义网规则语言(semantic web rule language,SWRL)编写推理规则,即可使用基于Java的专家系统框架(Java expert shell system,JESS)推理机进行知识推理.10.13245/j.hust.228784.F005图5物品属性模型示例物品信息则通过为资源描述框架(resource description framework,RDF)开发的查询语言与数据获取协议(SPARQL protocol and RDF query language,SPARQL)查询匹配相关知识,若匹配成功则进一步获取相关信息,如位置信息;若匹配失败则利用Jess推理机结合WordNet,基于功能属性查询相同功能物品作为替换,再获取相关信息;若推理失败则将序列淘汰.在动作信息方面,若匹配成功则不做处理,若匹配失败则淘汰序列.综合任务执行动作与物品深层信息,得到服务关键字序列,若数目多于一条,则根据原始序列匹配程度作为优先级排序生成.原始序列匹配程度越高,说明服务关键字序列中替换物品越少,与当前家庭环境越契合.1.4 策略生成生成模型采用基于Transformer结构的GPT-2中型模型,以得到与当前家庭环境契合的机器人服务策略,模型整体堆叠12层Transformer-Decoder,词向量维度为1 024.模型训练方式为预训练加微调.预训练阶段使用无标签多领域文本进行训练,微调阶段采用家庭服务策略数据集进行训练,更新调整特定领域网络层参数.在生成阶段,除输入服务指令之外,同时输入服务关键字序列引导模型生成,以提高最终生成策略可靠性与可执行性,并降低主题偏离风险.家庭服务策略数据集示例如表3所示.10.13245/j.hust.228784.T003表3服务策略示例服务指令服务策略wash clothesGrab the basket of clothes and go to the bedroom.Put shirt into the basket of clothes and go to washing machine.Put the shirt into the washing machine.Put detergent and close the washing machine and switch it onmake coffeeWalk to the kitchen.Take out the coffee filter.Put it in the coffee pot.Take out the ground coffee.Put it in the coffee pot.Put cup under the coffee pot.Push the start button.Wait.Pick up coffee2 实验结果与分析2.1 实验数据实验数据采用自制家庭服务策略数据集,数据来源于WikiHow网站服务知识文本信息和RoboHow虚拟环境中机器人执行任务的动作序列集.WikiHow是一个开放的互联网网站,包括多个家政相关知识模块,如兴趣与手艺、家居与园艺、饮食与休闲等,具体服务知识包括如何洗碗、如何用微波炉煮米饭、如何在礼盒上系丝带等.由于该网站信息利用半结构化文本表示,易于提取,因此使用网络爬虫爬取文本知识,保存至本地.RoboHow是一个基于虚拟仿真环境的服务任务-动作序列数据集,由于其动作序列描述准确明了,易于机器人执行,因此将其作为原始数据集另一部分.在原始数据集的基础上,首先,采用正则表达式去除无关字符,整合数据格式;然后,采用人工筛选方法,去除人称代词、与家庭服务无关的文本及描述过于抽象的文本;最后,获得服务策略数据集,用于模型微调.基于TF-IDF准则对其中的策略数据进行关键字提取,同时利用NLTK提取动名词,获得关键字序列集,用于关键字扩展.单独提取出服务指令,得到服务指令集,用于请求分析.实验数据分布如表4所示.10.13245/j.hust.228784.T004表4实验数据分布表属性训练集测试集策略数目2 012201服务种类词汇总数64271 1001998 1212.2 评价指标本研究采用文本生成通用评价方法双语评价替补(bilingual evaluation understudy,BLEU)作为评价指标.通过计算候选策略与标准策略的词单元重合度来区分候选策略质量,计算公式为VBLEU=VBPexp∑n=1NWnlog(Pn),式中:Pn为候选策略与标准策略的n-gram重合度(n=1,2,3,4),1-gram反应候选策略准确性,2-gram及以上反应候选策略流畅性;Wn为权值,本研究采用均匀加权,故Wn=0.25;VBP为长度惩罚因子,计算公式为VBP=1 (lcls);e1-ls/lc (lc≤ls),式中:lc为生成的候选策略文本长度;ls为参考策略有效长度,当存在多个参考策略时,选取与候选策略最接近的长度.此外,通过人为主观地对服务策略的可行性、逻辑性及流畅性等方面进行评价,以此确定生成服务策略整体质量.2.3 实验结果与分析2.3.1 客观指标为验证所提出方法的有效性,另设5个对照组进行对比实验,包括3个对照模型及GPT-2的预训练模型与微调模型.字符级循环神经网络char-RNN是Karpathy A提出的基于LSTM的文本生成模型,在字符维度上,通过已观测字符序列,预测下一字符出现概率.Seq2Seq作为经典文本处理框架,在文本生成领域已获得较多应用,包括基于RNN的Seq2Seq模型及基于Transformer的Seq2Seq模型等.对于GPT-2生成模型,另设立预训练模型与微调模型,不同组别对比实验结果:模型char-RNN的BLEU分数为0.170 1;模型Seq2Seq-RNN的BLEU分数为0.198 7;模型Seq2Seq-Transformer的BLEU分数为0.227 2;GPT-2(预训练模型)的BLEU分数为0.225 7;GPT-2(微调模型)的BLEU分数为0.257 3;本文方法(引导模型)的BLEU分数为0.306 8.由上述结果可知,本研究提出的服务策略生成方法在BLEU评价指标下综合表现最优.对比分析实验结果可得:基于Transformer的Seq2Seq模型与基于RNN的Seq2Seq模型相比,性能有了较大提升,反映出Transformer具有更强的语义特征提取能力,能够捕获长距离文本特征,在自然语言生成任务上表现更佳;对比GPT-2预训练模型与GPT-2微调模型指标,可看出后者性能表现得到较大提升,也从侧面印证了微调训练的重要性与有效性;在本文方法中,通过关键字引导模型生成,提高了生成内容与服务指令的相关性,降低了生成难度,进一步提升了指标评价,获得了良好效果.2.3.2 主观评价在主观评价方面,邀请了10名机器人研究者对生成方法及生成内容进行评估.研究者在三个维度上用1~5的评分标准对服务策略进行评分,即可行性(基于当前家庭环境的物品房间信息、服务策略是否可被机器人顺利执行)、逻辑性(物品操作流程与动作序列是否满足逻辑关系)和流畅性(策略描述是否满足语法结构).针对可行性的评判,主要参考标准为:在生成策略所包含的多种物品中,有多少比例的物品是当前环境中所存在的.针对逻辑性的评判,主要参考标准为:在生成策略所包含的多条动作序列中,有多少比例的序列是满足先后逻辑关系的.针对流畅性的评判,主要参考标准为:在生成策略所包含的多条描述中,有多少比例的描述是满足语法结构的.最后将三种评分的平均分作为最终得分.主观评价得分如表5所示,服务策略生成示例如表6所示.10.13245/j.hust.228784.T005表5主观评价得分模型可行性逻辑性流畅性平均分GPT-2(预训练)1.972.533.552.68GPT-2(微调)2.662.873.643.06本文方法(引导)3.533.223.653.4710.13245/j.hust.228784.T006表6服务策略生成示例服务指令服务策略cook some foodFill up pot water.Put pot away.Cook other stuff.Put egg in.Cook eggs.Put pot on the counter.Wait.Turn off when pot bell begins.Put egg in the cupwash clothesGrab basket and move it near washing machines.Put clothes in basket.Get wash basket away other things.Start washing machine washing clothes and placing it next door.Put clothes bags into other cleaning units.Put detergent near washing unit door.Switch power units.Turn on machine由表5可知:本研究提出的服务策略生成方法在可行性、逻辑性、流畅性三个维度上综合表现最优.在可行性维度上,本文方法结合了家庭环境物品信息与机器人动作信息,确保任务执行要素满足本地环境限制,与其他模型策略相比,可执行度更高;且基于GPT-2强大的语言建模能力,辅以关键字序列引导策略生成,文本序列逻辑性得到进一步增强;在生成文本的流畅性评估上,三个模型的字词语法结构与语义关联性相差较小,也从侧面体现了GPT-2模型本身的优越性能.由表6可见:由本文方法生成的两条服务策略,在客观指标与人为评判上均获得了较高评价.3 结论针对目前机器人家政服务现状,提出了一种面向环境适应性的机器人服务策略生成方法.首先对用户自然语言请求分析,提取服务意图,映射至服务指令,利用对应关键字序列,结合本体知识库中的家庭环境物品动作信息,进行匹配推理,并将结果信息用于引导本生成模型输出服务策略.实验表明,最终生成的服务策略具备良好的可行性、逻辑性与流畅性及良好的性能指标表现.