APP下载

主动联想型对话机器人的设计与实现

2021-04-06于丹温涛闫晓宇孙伟来关军

软件工程 2021年2期

于丹 温涛 闫晓宇 孙伟 来关军

摘  要:人机对话系统通常仅是用户命令的执行者,很少能主动发起对话,或依据对话以外的内容展开个性化的人机交互。本文提出了联想型对话机器人的概念和对应设计方案,即通过融合用户提问和用户个人特征的方式产生对话内容,这样的对话系统不仅可以主动发出对话邀请,也可以个性化地回答用户问题,提升人机对话的满意度。文章首先介绍了联想型对话机器人与其他类型对话系统的区别与联系,探讨了联想型对话机器人设计所需的关键技术和方法,并以在线教育系统为例,基于有限状态机的方法,构建了主动联想型对话机器人算法模型和联想式对话的生成策略,使机器人能够联想用户的历史行为,生成以用户使用产品为背景的智能对话。

关键词:联想型机器人;对话系统;有限状态机

Abstract: The human-machine dialogue system is usually only the executor of the user's command, and rarely initiates a dialogue that proactively develops personalized human-machine interaction based on content outside but associative to the dialogue. This paper proposes concept and corresponding design of the associative chatbot, that is, dialogue content is generated by integrating user questions and user personal characteristics. Such a dialogue system can not only actively send out dialogue invitations, but also answer user questions in a personalized way, and improve satisfaction of human-machine dialogue. The paper first introduces differences and connections between the associative chatbot and other types of dialogue systems, and discusses key technologies and methods required for designing an associative chatbot. Then, based on Finite-state Machine (FSM) method, this paper takes online education system as an example and constructs algorithm model of proactively associative chatbots and generation strategies of associative dialogues. Therefore, chatbots can associate user's historical behavior with new conversations and generate intelligent dialogues based on user's situation.

Keywords: associative chatbot; dialogue system; Finite-state Machine

1   引言(Introduction)

當用户初次使用多服务人机交互平台[1]系统时,通常由于不熟悉系统而产生迷茫感,需要在使用前阅读庞杂的使用教程。随着用户使用进程的推进,理想的情况是多个子服务之间可以产生联动,平台可以主动地为他们推送个性化定制的服务,例如自动提示用户经常访问的链接即将失效,根据其经常使用的功能做用户行为分析,并加入与用户的互动中等。但遗憾的是,此类功能很少出现在目前已上线的学习平台系统中。

人机对话系统,也有人将其称为对话机器人,已经被广泛应用于人机交互过程等中的个性化沟通或帮助用户完成特定的任务[2,3]。尽管对话系统可以解决一些个性化服务的问题,但传统的对话机器人通常只能通过用户的输入信息来理解或澄清用户意图,再进行答复或通过调用其他API等方式满足用户的需求,以完成任务。很少有对话机器人能够基于用户状态,主动发出对话邀请或产生个性化、具有联想的智能对话。

本文将这种能够与用户进行主动沟通,并能够融合用户提问和用户个人特征信息,产生多种与用户相关联想对话内容的对话系统定义为主动联想型对话机器人。主动联想型对话机器人具有联想功能和主动对话功能,其中联想功能是对话机器人主动发起对话的前提和基础。联想型对话机器人的输入不仅依赖于使用者的对话内容,还包含对话者的其他特征和行为信息,输出的是与用户使用系统行为相关或与自身特征相关的多种类型智能对话。具备联想功能的人机对话系统可以由使用者发起对话,也可以由联想型对话机器人根据使用者的状态主动发起。

联想对话产生的关键是识别和及时更新用户在人机交互系统中各个功能模块的不同使用状态,生成相应推荐引导策略,最终生成对话并主动输出给用户。主动联想型对话机器人可以在用户使用平台的过程中逐渐了解用户,针对用户特点提供个性化推荐功能,让用户产生沉浸式体验,个性化地回答用户问题,提升人机对话的满意度。文章将以在线教育系统为例,基于有限状态机的方法,构建主动联想型对话机器人算法模型和联想式对话的生成策略。

2  相关技术和方法(Related technologies and methods )

现今嵌入人机互动平台系统中的对话机器人多为任务导向型对话机器人[2],它根据用户的指令在特定领域完成相应的任务操作,例如小蜜[3]可以模仿人工客服提供售前导购和售后咨询服务。但对话机器人提供服务的前提通常是用户主动发出对话请求,且仅针对用户提出的内容进行匹配回答,不具备主动性和联想的功能。

综合现有的各类对话机器人的实现技术与方法,在冷启动阶段,基于规则的方法是让对话机器人具备联想功能的首选方法。相较于复杂的统计方法和深度学习算法,规则方法的优点是简单、实用,可以快速实现,其开发成本低,针对特定任务领域的规则可操作性强。树型结构等简单规则框架适用于处理封闭域、架构简单、规则明显的任务,但若对话机器人需要联想系统的各个模块功能和用户的历史行为,普通的规则框架结构将十分繁杂且不易于维护。

联想型对话产生的关键是要了解用户在人机交互系统中各个功能模块的使用状态,从而产生个性智能的对话。有限状态机(Finite State Machine, FSM)是表示有限个状态以及在这些状态之间的转移和动作等行为的数学模型,它本质上就是一种抽象的建模机制[4,5]。显然有限状态机可以帮助我们掌握用户的学习行为和状态。在理论方面,程序设计者将复杂具体的总问题抽象分解成简单清晰的子问题,通过记录过去和当前的状态表现出总问题的变化;在工程层面,有限状态机系统拥有良好的扩展性,可以方便地添加新的功能代码[5]。最著名的有限状态机当属艾伦·图灵假想的设备——图灵机[6],他在1936年的论文《关于可计算数字》中写道:这是一个预示着现代可编程计算机的机器,它们可以通过对无限长的磁带上的符号进行读写和擦除操作来进行任何逻辑运算[7]。文章将采用有限状态机来构建联想型对话机器人的架构。

有限状态机可以被定义为一个五元组 ,

其中为有限状态集合,集合中每个元素对应有限状态机的一个状态;为事件集合;為状态转换函数,它是一个的映射函数;意味着在状态下发生事件时,有限状态机状态将转换为;为有限状态机的初态集;为终态集[8]。由此可见,有限状态机能够把复杂的逻辑拆解为有限的状态,它形成的闭环系统可以处理无尽的事务,从而解耦了模型的多状态和状态间的转换条件[9]。

3   主动联想型对话机器人的设计(Design of actively associative chatbot)

在线学习平台本质上是一种人机交互系统,综合各类在线学习平台,学习者或多或少都遇到了缺少互动、系统不能主动沟通等问题。显然如果在线教育平台除了能够为用户提供多样化学习服务,还能够根据用户在平台上产生的学习行为判断用户的学习状态,从而给出功能推荐、资源推送、安慰鼓励等个性化对话,将极大改进学习者在线学习体验和学习效率。

基于有限状态机的理论和在线教育平台的常见功能,本文设计了一个有限状态机集合来体现用户在在线学习平台上的五种典型学习状态,即知识点、学习结果、勤奋度、情绪、交互形式。本文定义有限状态机集合的初始状态是用户开始学习一门课程,结束状态是课程结课或用户掌握标准。文章设计的有限状态机集合包含五个有限状态机,其各自对应的有限状态集合如表1所示。

有限状态机集合的事件集对应着用户在在线学习平台上产生的行为集合,包括用户主动产生和用户被动记录两种方式,具体如表2所示。

3.1   知识点状态机

知识点状态机能清晰地反映用户正在学习哪一个知识点。知识点状态集包含的状态是用户在在线学习平台上已经或将要学习到的知识点名称,它的初始状态是状态集中概念最基础的知识点,终态是学习过程中最后需要掌握的知识点。

事件是用户在某一知识点上学习的时间或频率超过了设定的阈值。在用户的动作集合中和知识点相关的动作为看视频、构建知识图谱、做试题测试、和对话机器人聊天。如表3所示,这里设定计分机制来量化表达事件。

当累计分值达到10分后,触发状态转移,知识点状态机的状态从当前知识点迁移至下一知识点。

3.2   学习结果状态机

学习结果状态机能体现用户在当前阶段对知识点的掌握程度。它的状态集包含三个状态,按等级由低至高分别为:没掌握、一般、掌握。初始状态为一般,终态为掌握。

此处事件被细分为升级事件和降级事件。在用户的动作集合中和知识点相关的动作为做试题测试。如表4所示,我们同样设定计分机制来量化用户行为。

当累计分值达到10分,升级事件条件得到满足,触发状态转移,学习结果状态上调一级;当累计分值达到-10分,降级事件条件得到满足,触发状态转移,学习结果状态下调一级。

3.3   勤奋度状态机

勤奋度状态机可以表示用户在在线学习平台上学习的努力程度。它的状态集包含三个状态,按等级由低至高分别为:不勤奋、一般、勤奋。初始状态为一般,终态为勤奋。

此处事件仍被细分为升级事件和降级事件。在用户的动作集合中和勤奋度相关的动作为看视频、记笔记、构建知识图谱、做试题测试、和对话机器人聊天、登录在线学习平台的频率和时长。同样地,如表5所示,我们设定计分机制来量化用户行为。

当累计分值达到10分,升级事件条件得到满足,触发状态转移,勤奋度状态上调一级;当累计分值达到-10分,降级事件条件得到满足,触发状态转移,勤奋度状态下调一级。

3.4   情绪状态机

情绪状态机动态反映用户在使用在线学习平台时的情感变化。它的状态集包含三个状态,按等级由低至高分别为:低落、一般、亢奋。初始状态为一般,终态为亢奋。

此处事件仍被细分为升级事件和降级事件。在用户的动作集合中和情绪相关的动作为加群、添加好友、论坛讨论、发送视频弹幕、发表视频评论、和对话机器人聊天、人脸情绪识别。同样地,如表6所示,我们设定计分机制来量化用户行为。

当累计分值达到10分,升级事件条件得到满足,触发状态转移,情绪状态上调一级;当累计分值达到-10分,降级事件条件得到满足,触发状态转移,情绪状态下调一级。

3.5   交互形式状态机

交互形式状态机能反映用户偏于使用在线学习平台的哪种交互方式。它的状态集包含三个状态:自学、他人交互、系统交互。初始状态设置为和系统交互,终态为三个状态中的任意一个。

对应状态集的三个状态,此处事件被细分为自学事件、他人交互事件、系统交互事件。如表7所示,我们同样设定计分机制来量化用户行为。

当某一事件累计分值达到10分后,触发状态转移,交互形式状态机从当前状态迁移至该事件对应的状态。

4  主动联想式对话生成策略(Actively associative dialogue generation strategy)

所谓联想式对话就是联合平台中用户在各个功能模块的不同使用状态来产生个性智能的对话,前面介绍的有限状态机可以帮助我们掌握用户的学习行为和状态,基于此可以设计生成一系列的联想型对话。

基于上一节设计的五种类型的有限状态机随机结合,可以产生不同效果的联想型对话,对话类型至少有20种。考虑到在学习类型的综合平台中,对话机器人的主要作用是在用户学习过程中答疑解惑的伴读机器人,文章选定知识点状态机作为联想型对话的主线,设计知识点状态机分别与其他四种类型状态机的状态结合产生联想型对话的具体策略。

4.1   知识点和学习结果状态机结合

学习结果为“掌握”时,对话机器人将提醒用户当前知识点已达到掌握标准,可以开始下一个知识点的学习了。

学习结果为“一般”时,说明用户在当前知识点还有上升的空间,对话机器人将推送知识点的视频和知识图谱资源,推荐添加已掌握该知识点的用户为好友,集思广益。

学习结果为“没掌握”时,鼓励用户进行盲点检测,判断是否是前置知识点没有完全掌握导致当前知识点的学习结果不佳,建议用户向老师同学寻求帮助,并激勵用户迎难而上。

4.2   知识点和勤奋度状态机结合

勤奋度为“勤奋”时,对话机器人将称赞用户的勤奋,鼓励用户再接再厉。

勤奋度为“一般”时,根据其看视频的时长和做题的频率等行为具体分析哪些方面的学习仍需继续努力。

勤奋度为“不勤奋”时,提醒用户在当前知识点的学习已经持续了多长时间,询问用户是否遇到了困难导致学习不积极,推荐用户参加讨论群让其他用户带动其学习的积极性。

4.3   知识点和情绪状态机结合

用户的情绪状态为“亢奋”时,推荐用户创建群聊带动其他用户共同学习。

用户的情绪状态为“一般”时,提醒用户使用论坛功能,参与视频评论等互动功能。

用户的情绪状态为“低落”时,对话机器人将发送安抚话语,并建议用户多和现实生活中的老师朋友交流。更极端的情况,如果用户多次流露出绝望厌世的情绪,对话机器人将通过后台预警提示该用户的老师对其予以重视。

4.4   知识点和交互形式状态机结合

交互形式长期为“自学”时,提醒用户可以和机器人对话,推送用户当前学习知识点的相关论坛等。

交互形式长期为“系统互动”时,提醒用户记笔记,自建知识图谱加深巩固学习效果。

交互形式长期为“他人互动”时,推送视频资源和测试试题,建议其使用可以产生沉浸式学习体验的功能。

5   结论(Conclusion)

本文提出主动联想型对话机器人的概念,基于有限状态机的方法设计了一种服务于综合学习平台的主动联想型对话机器人。在大数据面板平台和对话机器人都十分风行的今天,联想型对话机器人不仅可以帮助新用户快速熟悉平台上的各个功能,还能够通过用户的历史使用行为评估其使用的效果和状态,并提供个性化帮助支持,让用户在使用平台时拥有沉浸式的体验。本文的算法设计主要基于有限状态机,在未来的工作中将尝试使用强化学习的方法来完成更复杂的任务。

参考文献(References)

[1] 殷宝媛,武法提.学习习惯在线干预的原理与模型设计[J].电化教育研究,2019,40(12):72-79.

[2] Luong T C, Le-Hong P. Towards Task-Oriented Dialogue in Mixed Domains[M]. Hanoi: Computational Linguistics, 2020.

[3] 刘姗姗.浅谈智能机器人对我们生活的影响[J].市场周刊,2015(3):114-116.

[4] 王巍,高德远.有限状态机设计策略[J].计算机工程与应用,1999(07):54-55;73.

[5] Aslan M F, Durdu A, Sabanci K, et al. An approach for learning from robots using formal languages and automata[J]. Industrial Robot, 2019, 46(4):490-498.

[6] 吴哲辉,吴振寰.形式语言与自动机理论[M].北京:机械工业出版社,2007.

[7] 李伟,门佳.一种事件驱动有限状态机的编程实现框架[J].计算机与现代化,2014(6):116-119.

[8] 刘轶,刘涛,张兴军,等.基于有限状态机的呼叫中心软件设计[J].微电子学与计算机,2006(02):83-85.

[9] 徐小良,汪乐宇,周泓.有限状态机的一种实现框架[J].工程设计学报,2003,10(5):251-255.

作者简介:

于  丹(1976-),女,博士,研究员.研究领域:数据分析与挖掘,人工智能.

温  涛(1962-),男,博士,教授.研究领域:智慧教育,人工智能.

闫晓宇(1995-),女,硕士,初级研究员.研究领域:自然语言处理,对话系统.

孙  伟(1978-),男,博士,教授.研究领域:智慧教育,人工智能.

来关军(1984-),男,硕士,中级研究员.研究领域:大数据分析,人工智能.