一种话题驱动的老人陪伴主动对话机器人的制作方法

文档序号:17938634发布日期:2019-06-18 22:51阅读:623来源:国知局
一种话题驱动的老人陪伴主动对话机器人的制作方法

本发明涉及一种话题驱动的老人陪伴主动对话机器人。



背景技术:

传统目前市场上的对话机器人从功能上分主要有两大类:

1、商用对话机器人:主要用于客户服务、产品介绍、知识提供等提供信息内容的服务;

2、娱乐对话机器人:主要通过问答的方式,向用户提供娱乐消遣服务。

按技术实现方式分类,也是有两大类:

1、基于规则的对话机器人:根据用户的对话输入内容,在事先设定好的应答集合中,根据特定规则选择一个应答;商用对话机器人通常基于一个特定的知识库;

2、动态应答生成机器人:通常是采用机器学习等人工智能技术,针对用户的对话输入内容,在大量应答样本学习的基础上,动态地生成一个应答。其应答质量受其样本集大小和质量的影响。

而针对老人陪伴的对话机器人与上述机器人无论在使用目的还是在实现方式上都不同:

1、使用目的:主要用于解决大批独居老人由于身体原因与外界长期隔绝,缺乏人际交流,以至于长时间不讲话,或者没有谈话对象愿意与其进行有一定深度的交流,产生严重的孤独感。老人陪伴对话机器人主要的目的是和在家中的老人进行有一定深度的对话,激发老人对表达、记忆、联想等大脑功能的使用,并缓解老人的孤独感;而不是提供精准的信息服务;

2、实现方式:与传统对话机器人相比,有两个本质的不同:1)其对话目的是激励老人持续地谈话,而不是提供精准信息;2)吸引老人持续交谈的根本方法是发现老人感兴趣的话题,然后就这些话题开始对话;一旦老人打开了话匣子,机器人主要是倾听和附和,鼓励老人继续说下去。

目前现有的对话机器人中,并没有专门用于老人陪伴聊天的。在所有的聊天机器人中,以娱乐聊天机器人和我们的方案最为接近。主要表现在:1)并非提供特定精准信息,而是向用户提供一定的娱乐体验;2)以机器人说话为主,提供娱乐话料,而不是由用户为主;3)衡量其表现的一个重要指标是象征谈话持续性的对话“回合”数。

现有娱乐聊天机器人在用于老人陪伴时,有几个重大缺陷:

1、技术上它依赖于老人主动发起交谈,自身只做被动响应;这将把一大批不习惯主动发起交谈的老人排除在用户群体以外;而这些老人恰恰是最需要陪伴的群体;

2、其交谈的话题必须由谈话对象来确定并启动,当谈话对象没有一个明确话题时,将陷于僵局,无法有效地将谈话持续下去;这十分不利于长期使用;

3、现有的聊天机器人或者采用基于规则的预制应答(能够保证应答安全,但缺乏即时性特有的趣味性,难以激励老人持续),或者是临时生成应答(能够实现即时性,但可能会脱离老人的兴趣范围,并且产生不安全应答);无法在有效应答(能够激发老人继续对话)和安全应答(有兴趣并避免禁忌和敏感话题)之间达到一个良好的平衡。

而老人陪伴机器人的主要目的是激发老人说话,以老人话语量为主要衡量指标;此外,老人陪伴聊天机器人的使用是长期的,比如每天半小时,因此,话题的新鲜性和趣味性非常重要。

维持一个个性化的老人感兴趣的话题库,并且能够适当地从库中选择话题,来驱动交谈;通过根据心理学的原理对交谈和话题讨论进行有效控制,既保证每次交谈的话语量,也保持长年累月交谈的持续性十分必要,这也是本申请的特点和目标。

本申请涉及技术为语音识别、语义分析、对话控制,语音识别是指将交谈对象的谈话转化为文字的技术;语义分析是从一段中文文字中分析出其意图和主要含义。对话控制是指在人类交谈中使用的一系列技术和技巧,以便驱动谈话向一个特定目标发展,包括话题、谈话的起始和终止、追溯、联想等等;一个重要的对话控制领域是避开禁忌话题和敏感用语。

目前国内在对话控制这一领域的研究很少,甚至可以说是一个空白;尤其是如何监测当前对话状态,和根据对话状态来驱动下一步的对话进程。



技术实现要素:

本发明的目的在于提供一种话题驱动的老人陪伴主动对话机器人,能够主动尝试启动交谈,大大增加使用率;能够智能地根据用户选择个性化的话题,吸引老人持续地交谈,增加谈话量;能够在交谈记录中试探、搜索、发现新的话题,扩大个性化的话题库;能够动态地监测交谈状态,实时地控制谈话;能够采集用于交谈的短期和长期记忆;能够对应答(输出)内容进行过滤,避免禁忌和敏感话题。

为实现上述目的,本发明的技术方案是:一种话题驱动的老人陪伴主动对话机器人,包括:

语音输入子系统,用于采集老人的语音输入信息,并传输给对话处理系统;

对话处理系统,用于处理语音输入信息,并输出相应的语音输出信息给语音输出子系统;

语音输出子系统,用于输出语音输出信息;

所述对话处理系统包括如下软件引擎:

(1)识别引擎,用于识别老人上一轮语音输入信息的话语意义、当前话题、以及当前对话状态与情绪;

(2)控制引擎,用于根据当前对话状态来确定对话策略和话题策略,即对话流程的下一个环节、需调用的模块;其中,

对话策略包括:主动启动新的对话、终止当前对话;

话题策略包括:启动新话题、继续当前话题、转变话题、终止话题;

(3)内容组织引擎,用于根据对话策略和话题策略组织应答的文字与句子内容;

(4)话题库与话题管理引擎,包括:

根据用户的个性化信息建立初始话题库,包括各个话题的偏好分值(权重),还包括需要避免的禁忌话题;

在和老人的对话中搜索、发现新话题,更新话题库,供内容组织引擎使用,同时,更新话题的偏好分值;

根据话题使用的历史纪录和偏好分值,建议待选话题;

(5)记忆库与记忆管理引擎,用于从对话内容中获取关键信息并添加到记忆库中,供控制引擎和内容组织引擎使用;具体的,

记忆库中记忆内容包括:话题名称、关键人物、关键时间、关键地点、关键事件、用户参与场景;

记忆内容分为临时记忆和长期记忆;其中,临时记忆用于明确当前话题交谈的上下文相关性;长期记忆用于进行跨话题的回忆和联想。

在本发明一实施例中,所述对话处理系统,还包括如下软件引擎:

(6)启动引擎,用于尝试主动开始对话,即在当前时间(非繁忙或休息时间),最近x小时没有过交谈,则启动引擎尝试启动对话;首先由声音由小到大的音乐引导(避免惊吓到老人),然后主动打招呼;若用户应答,则开始寒暄话题;否则回到休眠状态,等候被唤醒或下一个尝试主动启动时间。

在本发明一实施例中,所述对话处理系统,还包括如下软件引擎:

(7)内容组织规则引擎,用于提供基于对话样本机器学习的动态规则调整和规则库;

(8)叙述引擎,用于将由内容组织引擎输出的对话内容转换为输出语音信息,并输出给所述语音输出子系统。

在本发明一实施例中,所述话题库与话题管理引擎建立的初始话题库中的话题,其具有若干属性,即:

话题=(名称;偏好;大小;记忆;时间距离);

其中,

名称为话题的名称;

偏好:(-10,10)范围内的一个分值;正数意味着老人喜欢聊该话题,分数越高越喜欢;负数指不喜欢,绝对值越大越不喜欢;

大小:(1,5)范围内的一个数值,表示该话题的潜在范围大小;

记忆:(1,5)范围内的一个数值,表示该话题以往聊过并被记住的细节数量;

时间距离:n,表示自上一次聊当前话题到现在聊当前话题的天数。

在本发明一实施例中,所述话题库与话题管理引擎建立初始话题库及更新话题库的具体方式如下:

建立初始话题库:根据老人的个性化信息建立的、已知的老人感兴趣的话题库;

更新话题库:在老人谈话记录中搜索其潜在的感兴趣的话题,若兴趣明确,将该话题添加到话题库,并赋予其各个属性值;若兴趣不明确,则在下次对话中试探,根据结果判断是否添加到话题库。

在本发明一实施例中,所述记忆库与记忆管理引擎建立记忆库的管理方式如下:

在交谈过程中短期记忆的生成;通过将需要记忆的关键内容作为变量的赋值来实现;

交谈结束后短期记忆向长期记忆的转化:当就一个话题的交谈结束时,其短期记忆或者被转变为长期记忆,永久地记录下来,或者被清零后丢失掉。

在本发明一实施例中,所述对话处理系统具体处理语音输入信息的处理流程如下:

老人的语音输入信息首先经过识别引擎,识别话语意义、当前话题、当前对话状态、当前对话情绪;其中,当前对话状态,包括已持续时间、离对话预期结束时刻的时间、交流速度(每分钟字数)和话语量、交谈回合数;当前对话情绪,包括热烈、正常、冷场;

控制引擎根据当前对话状态,确定对话策略和话题策略,进而判断是否继续对话、是否终止对话、是否附和并继续当前话题、是否需要重新激活当前话题、是否需要转变话题或终止当前话题;

内容组织引擎根据控制引擎输出的对话策略和话题策略,采用内容组织规则引擎的规则库中的规则,组织相关内容的文字;组织相关内容的文字时,可利用记忆库与记忆管理引擎、话题库与话题管理引擎,以激活话题、改变话题;

叙述引擎将组织后的相关内容的文字口语化,添加人格化修饰,转成语音输出信息给语音输出子系统。

相较于现有技术,本发明具有以下有益效果:本发明通过对话处理系统的功能,能够主动尝试启动交谈,大大增加使用率;能够智能地选择话题,吸引老人持续地交谈,增加谈话量;能够在交谈记录中试探、搜索、发现新的话题,扩大个性化的话题库;能够动态地监测交谈状态,实时地控制谈话;能够采集用于交谈的短期和长期记忆;能够对应答内容进行过滤,避免禁忌和敏感话题。

附图说明

图1为本发明机器人系统框图。

图2为本发明对话处理系统的主要软件模块示意图。

图3为本发明对话处理系统从语音输入到语音输出整个过程和各个模块的交互示意图。

图4为本发明启动引擎主动启动交谈的流程图。

图5为本发明话题库更新的流程图。

图6为本发明记忆管理的流程图。

图7为本发明记忆使用流程示意图。

具体实施方式

下面结合附图,对本发明的技术方案进行具体说明。

如图1所示,本发明提供的是一个用于老人日常陪伴聊天的、由话题驱动的、“主动”对话机器人系统;如下图所示,硬件和软件系统由一个语音输入子系统(麦克风)、一个对话处理系统、和一个语音输出子系统(扬声器)组成。其中,系统的硬件部分,麦克风、扬声器和处理对话的硬件均为成熟的产品;硬件系统的三个组成部分可采用通用产品,如智能手机、平板电脑、笔记本电脑或台式电脑的既有部件。本发明的核心是对话处理系统的软件部分。

对话处理系统由以下软件部分组成,有些是本方案的核心部分,有些是为了系统描述的完整性而呈现的非核心部分;系统主要功能如下:

(1)识别引擎(保护部分):识别上一轮用户话语大意、当前话题、当前对话状态与情绪;

(2)控制引擎(保护部分):根据对话的状态来确定对话和话题两个层面的策略,即如何驱动对话流程的下一个环节、调用哪些功能模块

对话策略包括:主动启动新的对话(如果当前是静止状态)、终止当前对话(如果当前是对话状态);

话题策略包括:启动新话题(如果对话刚启动)、继续当前话题、转变话题、终止话题;

(3)内容组织引擎(保护部分):根据对话和话题策略及内容组织规则来组织应答的文字与句子内容,包括语气词等情感渲染;

(4)内容组织规则引擎:基于特定对话样本的机器学习来动态地调整规则库;

(5)话题库与话题管理引擎(保护部分):

寒暄话题库:适用范围广泛的、浅层次对话的初始话题库;

根据用户的个性化信息(职业、教育、经历、爱好、家庭和社交情况等)建立初始话题库,包括各个话题的偏好分值;其中也包括需要避免的禁忌话题(负的偏好分值);

在和老人的对话中搜索、发现新话题,更新话题库,供内容组织引擎使用;

在和老人的对话中分析老人偏好,更新话题偏好分值;

根据话题使用的历史纪录和偏好分值,建议待选话题;

(6)记忆库与记忆管理引擎(保护部分):从对话内容中获取关键信息添加到记忆库中,供控制引擎和内容组织引擎使用;

记忆内容包括:(话题名称、关键人物、关键时间、关键地点、关键事件、用户参与);

记忆分为临时记忆和长期记忆;

临时记忆用于明确本话题交谈中的上下文相关性,尤其是代词的使用,以便理解交谈内容;

长期记忆用于跨话题的回忆和联想,用以在转变话题或开始新话题时做铺垫;

(7)叙述引擎:将由内容组织引擎输出的对话内容转换为语音,以便输出。

如图2所示,展示了对话处理系统的主要的软件模块,其中控制引擎是核心;下半部分的识别引擎、内容组织引擎和叙述引擎是驱动对话流程的主要模块;上半部分的话题库和话题管理引擎、规则库和规则引擎、记忆和记忆管理引擎则为使对话自然、丰满、流畅的辅助模块。

典型的对话流从语音输入到语音输出整个过程和各个系统模块的交互如图3所示,这也是对控制引擎功能的简要描述:

1)交谈对方的语音输入首先经过识别引擎,识别对话大意、当前话题(话题是否有转变)、当前对话状态(已持续时间、离对话预期结束的时间、交流速度和话语量、交谈回合数等)、对话情绪(热烈、正常、冷场);

2)控制引擎根据当前状态,确定对话和话题两个层面的策略:是否继续对话、是否终止对话;是否附和并继续当前话题、是否需要重新激活当前话题、是否需要转变话题或终止当前话题;

3)内容组织引擎根据控制引擎输出的对话和话题策略,采用规则库中的规则,组织相关内容的文字;组织内容时可能会用到记忆(用以激活话题)和话题库(改变话题);

4)叙述引擎将内容文字口语化,添加人格化修饰,转成语音输出。

其中“启动引擎”是对话管理的一部分,因而也是控制引擎的一部分,用于尝试主动开始对话,这是本方案的特点之一。在一系列特定条件满足的情况下,比如,当前时间非繁忙或休息时间,最近x小时没有过交谈,则“启动引擎”尝试启动对话;首先由声音由小到大的音乐引导,然后主动打招呼;如果用户应答,则开始寒暄话题;否则回到休眠状态,等候被唤醒或下一个尝试启动时间。如图4所示,为本发明启动引擎主动启动交谈的流程图。

本发明的一个核心概念是“话题驱动”。通过为每个老人建立其感兴趣的话题库,在交谈时从话题库中选择话题,以吸引老人持续地就这些话题进行对话、倾诉,以达到每天一定话语量的目的。

本发明为话题定义若干个属性:话题=(名称;偏好;大小;记忆;时间距离),其中:

名称为话题的名称,通常覆盖一定的宽度,比如“烹调”、“旅游”、“摄影”“唐史”;

偏好:(-10,10)范围内的一个分值;正数意味着老人喜欢聊该话题,分数越高越喜欢;负数指不喜欢,绝对值越大越不喜欢;比如,抗美援朝的偏好为8,五七干校的偏好为-5;

大小:(1,5)范围内的一个数值,表示该话题的潜在范围大小;例如,战争的大小是5,抗美援朝的大小是3;

记忆:(1,5)范围内的一个数值,表示该话题以往聊过并被记住的细节数量;比如,聊过10次以上,记忆为5,聊过2次记忆为1;

时间距离:n,表示上一次聊这个话题到现在的天数;比如,上一次聊此话题是一个月前,则时间距离是30

如图5所示,展示了话题库更新的流程图,话题库的建立和完善有两个途径:

建立初始话题库:在老人家人的协助下,根据老人的教育、职业、经历、家庭与社会关系等建立的、已知的老人感兴趣的话题库;

更新话题库:在老人谈话记录中搜索其潜在的感兴趣的话题,如果兴趣明确,将添加到话题库,并赋予各个属性值;如果兴趣不明确,在下次对话中试探,根据结果判断是否添加到话题库。

本方案的另外一个核心内容是记忆管理。记忆分为长期记忆和短期记忆,其内容基本相似。

短期记忆:只和本次交谈中的当前话题有关,主要用于记录和协助判断话题内上下文中的相互关系,涉及到的主要人物、时间、地点、事件和场景;主要是在线管理,在话题结束或者话题转变后,部分或全部短期记忆会被转换为该话题的长期记忆,然后短期记忆即清零;

长期记忆:主要是离线管理,内容与短期记忆相似,但是永久性地记录就某个话题交谈时涉及到的主要人物、时间、地点、事件和场景;主要用于关于未来相关该话题的提问、联想,增加对话的趣味性和粘度。

如图6所示,记忆管理流程主要分两个部分:

在交谈过程中短期记忆的生成;这是通过将需要记忆的关键内容作为特别定义的变量的赋值来实现;比如,在一个特定话题交谈中,通过一系列变量来确定当前话题交谈中“人物”、“时间”、“地点”、“事件”和“场景”分别具体指什么,而后续的“我们”和“他们”特指谁,“那个地方”指的是哪里,“那时”又指的是什么时间,等等。

交谈结束后短期记忆向长期记忆的转化。当就一个特定话题的交谈结束时,其短期记忆或者被转变为长期记忆,永久地记录下来,或者被清零后丢失掉;通常,“人物”、“时间”、“地点”、“事件”和“场景”会被转换为长期记忆,而“我们”、“他们”、“那个地方”、“那时”等将会被清零。

图7展示了记忆的使用流程:

话题开始时,首先把一些长期记忆导入,作为短期记忆,同时在对话中积累短期记忆,使用短期记忆;当话题结束时,部分短期记忆转变为长期记忆,然后所有短期记忆被清零。

以上是本发明的较佳实施例,凡依本发明技术方案所作的改变,所产生的功能作用未超出本发明技术方案的范围时,均属于本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1