图2. 用于SIENNA的技术途径和方法的高级表示。
本报告详细介绍了一种使用聊天机器人技术与对话者接触的新方法,同时通过使用软件代理中实现的独特虚拟角色积极征求信息。这项研究名为 "调查和获取攻击者信息的策略"(SIENNA),是在国防高级研究计划管理局(DARPA)主动社会工程防御(ASED)项目的技术领域(TA)2下进行的。
我们研究的产品包括两个主要技术:
TA2成功的关键是产生符合逻辑和连贯的对话。这种对话应能有效地吸引对话者并与之互动,就像他们与另一个人交流一样。为了生成内容,我们采用了一种新颖的自然语言生成作者方案,该方案由属性语法驱动。SIENNA-Bot遵循的是一种管道设计方法:
在投入时间设计和开发语言理解和生成组件之前,为了证明这种设计的有效性,我们开发了一个带有简单对话生成器的初步概念验证聊天机器人。这个机器人的目标是确认通过简单的话语技术使对话者参与对话的功效,而不需要开发必要的组件来解析和理解信息内容。由此产生的机器人能够通过扮演两个不同的角色之一来反击冒名顶替的攻击:
在这个基础机器人的基础上,我们接下来研究了通过纳入NLU和NLG将现实主义引入对话的技术。SIENNA中的NLU模块的目标是:
这一目标是通过使用预先训练好的Transformer模型来实现的,该模型增加了理解对话者信息的语用学的层次,同时提取关键的信息,称为标志。由此产生的NLU能够对各种类型的话语行为进行分类,其主要优势在于提供:
例如,通过检测对话者在回答任务时的争论,SIENNA可以利用这一信息来改变任务的方向,或者分配一个新的、可能更容易的任务。信任跟踪的概念也被纳入SIENNA的NLU中,其指导原则是::
从这些公理出发,我们设计了NLU功能,将任务的成功完成与每个信息内容的确定合规性相结合。如果一个任务没有完成,或者NLU模块在信息中检测到愤怒、沮丧或不耐烦等情绪,那么整体的信任度就会下降。相反,如果对话者顺从并愿意回答问题,信任程度就会上升。
我们通过纳入两种技术进一步发展了对话生成功能:
这项工作产生了一个NLG模块,它能够通过与对话者争吵、争论和对一件小事提出异议的过程,根据输入信息的语义产生对话。
随着这些新技术的加入,SIENNA机器人纳入的对话理解和一致性水平远远超出了项目开始时计划的最初 "哑巴 "机器人战略。
SIENNA采取的程序性内容生成方法需要有创造对话领域的能力。具体来说,要有让非开发人员和非SIENNA专家构建新任务的功能。SIENNA使用一种策略,向对话者提出越来越复杂的问题,以消耗对话者的时间,同时从他们那里获得信息。这些问题被称为任务。为了使内容创作者能够为一个领域编写一系列的任务,我们开发了一个用户友好的编辑器,叫做Cervantes。
创建Cervantes编辑器的第一步是设计和开发一种特定领域的语言(DSL)。通过使用DSL,我们建立了一个正式的结构,促进了对Cervantes设计的快速迭代。DSL的语义包括:
由此产生的Cervantes的功能集包括:
在该项目过程中,我们开发了一个由50个任务组成的任务库。此外,我们将塞万提斯部署在一个共享服务器上,所有表演者都可以访问,有多个非雷神BBN技术公司(BBN)的合作者团队创建了任务库,如科罗纳病毒病(COVID)任务库和法院传票库。
总之,SIENNA使用富有表现力的聊天机器人与对话者接触的方法表现出了有效和验证的结果。在该项目过程中,SIENNA捕捉到的真正的正面标志的数量从71%增加到89%。多个非SIENNA团队组织成功地使用塞万提斯创建了他们自己的特定领域追求库。
我们对SIENNA的进一步发展的主要建议是: