APP下载

限定领域口语对话系统中超出领域话语的协处理方法

2015-04-21王俊东黄沛杰林仙茂徐禹洪李凯茵

中文信息学报 2015年5期
关键词:语料库话语模板

王俊东,黄沛杰,林仙茂,徐禹洪,李凯茵

(华南农业大学 数学与信息学院,广东 广州 510642)



限定领域口语对话系统中超出领域话语的协处理方法

王俊东,黄沛杰,林仙茂,徐禹洪,李凯茵

(华南农业大学 数学与信息学院,广东 广州 510642)

领域外话语的开放性、口语化以及表达多样性,使得现有的限定领域口语对话系统不能很好地处理超出领域话语。该文提出了一种限定领域口语对话系统协处理方案,基于人工智能标记语言AIML,设计一套理解开放语义用户话语的理解模板,并对未匹配话语基于话语相似度进行理解模板分类,进而采用扩展有限状态自动机处理模式,结合对话流程上下文的状态及信息,实现理解模板到应答模板的转换,改变了单纯模板匹配方法在对话流程控制方面的相对缺失。中文手机导购领域的测试表明,该文所提出的协处理方法能有效地辅助口语对话系统完成限定领域完整对话流程,得到更好的用户满意度。

超出领域话语;协处理;AIML;有限状态自动机;口语对话系统

1 引言

口语对话系统(spoken dialogue system)指的是通过自然语言和人交流的计算机系统,主要研究如何能让计算机理解并生成人们日常所使用的语言,对人向计算机提出的问题,通过对话的方式,用自然语言进行回答。研究对话系统的目的是让人同计算机的交流更方便,让计算机具有类似人类的思维从而帮助人们完成更多的工作,从这个角度看,能胜任某一专业领域工作的面向任务(task-oriented)的限定领域(restricted domain)对话系统[1-8],比开放领域(open domain),如面向聊天(chat-oriented)的对话系统[9-10]更有研究意义和应用价值[11]。然而,当使用自然语言对话时,即使用户了解某对话系统的限定领域,例如: 医疗信息咨询、导航或者导购,用户在对话流程中仍然不可避免会使用一些超出领域(out-of-domain,OOD)话语(utterance),如问候、个人问题、表态等。事实上,OOD话语的现象很常见,如AT&T的“How may I help you”系统[2],以及BTaxeCT和Lucent Bell合作开发的“OASIS call-steering”系统[5],大约有20%的用户问题是OOD的。尽管这些限定领域对话系统从完成任务角度上看只需要专注于自己预定义的业务功能,但是,如果能较为妥善地处理好OOD话语,而不仅仅是提示用户话语超出领域,将会有效地提高用户体验[12]。

目前已有的限定领域对话系统,如导航系统[4, 8]、导游系统[7]和信息查询系统[1-3, 5-6]等,基于语义和语法相结合的技术,并结合近年来逐渐成为热点的意图追踪[13]和对话管理[14-16],能有效地理解和处理领域内语义的话语。然而,面对OOD话语的开放性、口语化以及表达多样性,现有的限定领域口语对话系统在处理OOD话语时仍然存在一定困难。不少研究人员开始进行关于限定领域对话系统OOD话语问题的研究,例如,Lane等人[17]开发的机器辅助对话系统和Tür等人[18]开发的虚拟个人助理系统使用基于SVM(support vector machine)主题分类方法计算源话语在领域内各子领域的分类置信度,再使用置信度向量训练一个线性判断模型,并检测源话语是否超出领域,若超出领域,系统可以提示用户当前系统无法处理该任务并引导用户回到领域可处理范围。Celikyitmaz等人[19]也提出了使用LDA(latent dirichlet allocation)主题模型对多领域问题做主题聚类并检测OOD情况。Reichel等人研究的汽车导航领域口语对话系统[8],将在多领域内切换过程中出现错误且不能被任何子领域接受的话语归为OOD情况,并返回给用户做领域选择。但这些工作主要集中在OOD话语的检测识别,并根据检测结果简单响应用户,而缺少对OOD话语的有效处理方法。

面向聊天的开放领域对话系统,如国外的ELIZA[20]、PARRY[21]和ALICE[9, 22],国内的清华大学图书馆的“小图”[23]、机器人小I[24]等,由于设计初衷就是开放领域,在覆盖多领域的语料库的支持下,一定程度上满足了话语开放性、口语化和表达多样性的要求。这些系统可以与用户进行基于自然语言话语的交互,并已被广泛应用到机器助理比如反恐支持平台[25]、计算机辅助英语学习[26]和健康咨询[27]等。然而,这些面向聊天的对话系统几乎都是基于完全精确匹配或者很弱的模糊匹配的模板来搜索回答[28],并没有真正地“理解”用户的问题,并且难于掌控对话流程的系统状态和信息。这类对话系统不能单独应用到复杂任务的限定领域对话。此外,语料库的构建是此类系统的瓶颈,尽管有一些关于语料库自动建设[12, 29]、超出词汇处理[10]等的研究,如Banchs[29]和Ameixa等人[12]分别采用电影剧本和电影字幕来构建语料库,但其话语覆盖程度仍然远远不足以应用于限定领域对话系统中OOD话语的处理。此外,单纯模板匹配方法由于对话上下文及对话状态方面的缺失,难以真正提高OOD话语回答的针对性。

本文提出一种限定领域口语对话系统中处理OOD话语的协处理方案,主要贡献包括:

(1) 根据基于模板匹配方法适合开放语义、口语化话语以及表达多样性的特点,基于人工智能标记语言AIML(artificial intelligence markup language)[30],设计一套用于理解OOD话语的理解模板,并采用基于话语相似度的分类方法,将未匹配话语分类到相应的理解模板,从某种程度上解决了语料库一次性完备构建的困难。

(2) 采用扩展有限状态自动机(extended finite-state machine,EFSM)处理模式,结合对话上下文信息及对话状态,实现理解模板到应答模板的转换,并给出不同应答模板相应的处理程序,改变了单纯模板匹配方法在对话流程控制方面的相对缺失。

本文的方案被应用到我们开发的手机导购对话系统[31],应用测试结果表明,能有效地辅助系统完成限定领域对话流程,得到更好的用户满意度。本文后续部分安排如下:第二节简要介绍协处理方案的系统框架及处理流程;第三节详细介绍了协处理方案;第四节给出了测试验证结果;最后,第五节总结了本文的工作并做了简要的展望。

2 系统框架

图1是我们开发的限定领域口语对话系统的系统框架,目前应用于手机导购领域,加粗部分是本文提出的协处理方案。

在这个框架里,“主处理器”基于自然语言处理技术,完成携带领域语义信息的话语的处理。语义提取、语法分析等技术被应用于口语语言理解。活跃信息表象征着对话系统的“记忆”,目前保持了三种活跃信息,包括商品属性值、对话的上下文以及已推荐商品列表。其中,商品属性值是一般对话系统具有的对话语义框(dialogue frame)[32-33]中的槽信息(slot)。

而“协处理器”,顾名思义,就是主处理器的协处理机制,并不单独完成导购服务,仅在主处理器中的OOD话语检测模块识别不到有效领域语义信息时接收主处理器传来的用户输入话语,并协助完成该对话步骤。协处理方案包括一套有三个模块的协处理机制和三个信息库,其中,AIML语料库支持对OOD话语到理解模板的映射,模板类别语料库支持未匹配话语的理解模板分类,EFSM支持模式转换。基于AIML和EFSM的协处理流程是:首先加载AIML语料库到内存并初始化需要的数据,用户话语进入话语理解模块后匹配上AIML中的理解模板或者在未匹配时通过模板分类算法得到理解模板;接着通过模式转换模块,完成系统模式的转换和理解模板到应答模板的映射,转移条件中的上下文信息来自活跃信息表;最后是对应答模板进行分类处理,得到相应的应答并返回主处理。

图1 限定领域口语对话系统的系统框架

3 AIML和EFSM相结合的协处理方案

3.1 基于AIML的话语理解模板

AIML[30]是经典聊天机器人ALICE[9, 22]所采用的一种XML的人工智能标记语言,定义了一整套具有特定含义的标签。由包含和标签对的知识单元构成,前者表示用户输入需要进行匹配的模板,后者代表匹配成功后用于回答的模板。AIML除了能够处理精确匹配,还能够处理模糊匹配以及优先匹配。

通过对AIML语料库的回答模板(