CN117033606A - 对话机器人的对话管理方法、系统、设备及介质 - Google Patents
对话机器人的对话管理方法、系统、设备及介质 Download PDFInfo
- Publication number
- CN117033606A CN117033606A CN202311179837.2A CN202311179837A CN117033606A CN 117033606 A CN117033606 A CN 117033606A CN 202311179837 A CN202311179837 A CN 202311179837A CN 117033606 A CN117033606 A CN 117033606A
- Authority
- CN
- China
- Prior art keywords
- dialogue
- robot
- target
- content
- conversation
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000007726 management method Methods 0.000 title claims abstract description 24
- 238000000034 method Methods 0.000 claims description 30
- 238000012545 processing Methods 0.000 claims description 17
- 238000005315 distribution function Methods 0.000 claims description 10
- 238000011084 recovery Methods 0.000 claims description 9
- 238000000605 extraction Methods 0.000 claims description 6
- 238000004590 computer program Methods 0.000 claims description 3
- 238000004891 communication Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 238000013136 deep learning model Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000003062 neural network model Methods 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 238000012549 training Methods 0.000 description 2
- 241000282326 Felis catus Species 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008094 contradictory effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/332—Query formulation
- G06F16/3329—Natural language query formulation or dialogue systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
- G06F16/334—Query execution
- G06F16/3344—Query execution using natural language analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/338—Presentation of query results
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/34—Browsing; Visualisation therefor
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Artificial Intelligence (AREA)
- Mathematical Physics (AREA)
- Human Computer Interaction (AREA)
- Machine Translation (AREA)
Abstract
本申请提供一种对话机器人的对话管理方法、系统、设备及介质,包括:配置每一个对话机器人的人设背景;获取当前用户的前一轮对话结束后与新发起的新对话之间的间隔时间;若间隔时间大于等于预设聊天间隔,则根据预设选取规则,从多个对话机器人中选择目标机器人;获取当前用户对应的历史对话摘要以及最新对话内容,并根据历史对话摘要生成当前用户的人物画像;获取目标机器人的人设背景,并根据目标机器人的人设背景、最新对话内容、历史对话摘要、人物画像以及大语言模型,生成初始回复内容;对初始回复内容进行改写操作以及场景化操作以生成目标回复内容,以便目标机器人针对新对话的进行回复。实现了对机器人的拟人化。
Description
技术领域
本申请涉及人机对话领域,特别涉及一种对话机器人的对话管理方法、系统、设备及介质。
背景技术
随着现代化进程的发展,人机对话领域对于机器人回复的智能性的要求也越来越高。已有的可用于客服回答的机器人在回复内容和回复风格上往往是千篇一律,无法拟人风格化进行回复,很容易识别出来是机器人在回复,用户体验感差。
市场现有的智能客服机器人技术往往都是通过配置QA的方式进行回答,QA即问题(Question)和答案(Answer),仅支持单轮对话,答案往往是一大段内容一次性全部回复;然而由于是预设的答案,所以机器人回复的内容全是相同的。此外,现有的智能客服机器人往往采用知识图谱的技术进行回复内容的生成,即通过先确认意图,查询遍历实体与实体之前的关系,再确认实体的属性,如果属性缺失,再通过反问的方式继续提问,然后返回预设的答案;虽然这种方式可以提供少量的多轮对话能力,但是答案上仍然是相同的,无法实现个性化和拟人化回复。
因此亟需一种能够既能提供多轮对话能力,又能实现拟人化回复的机器人对话管理方法以解决上述技术问题。
发明内容
基于此,有必要针对上述技术问题,提供一种对话机器人的对话管理方法、系统、设备及介质,以实现机器人回复的拟人化风格化。
第一方面,本申请提供一种对话机器人的对话管理方法,所述方法包括:
配置每一个对话机器人的人设背景;
获取当前用户的前一轮对话结束后与新发起的新对话之间的间隔时间;
若所述间隔时间大于等于预设聊天间隔,则根据预设选取规则,从多个所述对话机器人中选择目标机器人;
获取当前用户对应的历史对话摘要以及最新对话内容,并根据所述历史对话摘要生成当前用户的人物画像;
获取所述目标机器人的人设背景,并根据所述目标机器人的人设背景、所述最新对话内容、所述历史对话摘要、所述人物画像以及大语言模型,生成初始回复内容;
对所述初始回复内容进行改写操作以及场景化操作以生成目标回复内容,以便所述目标机器人针对所述新对话的进行回复。
在一些实施例中,所述根据预设选取规则,从多个所述对话机器人中选择目标机器人,包括:
若检测到所述新对话中存在当前用户指定的指定机器人,则选择所述指定机器人为目标机器人;
若检测到所述新对话中不存在当前用户指定的指定机器人,则配置每一所述对话机器人的回复概率并根据所述回复概率的大小生成机器人列表;
遍历所述机器人列表,选择所述回复概率大于等于随机生成的随机数对应的对话机器人为目标机器人。
在一些实施例中,所述配置每一对话机器人的回复概率,包括:
获取每一所述对话机器人对应的第一概率分布D1以及第二概率分布D2;
基于公式P=(D1+a*D2)/(1+a),配置每一所述对话机器人的回复概率P,其中a为大于等于0的预设权重值。
在一些实施例中,所述方法还包括:
设置每一对话机器人的第一语速参数以及第二语速参数;
获取并根据目标机器人的第一语速参数、第二语速参数以及所述目标回复内容的长度,计算所述目标机器人用于回复的目标间隔对话时间。
在一些实施例中,所述对所述初始回复内容进行改写操作,包括:
获取预设的包含使用场景与风格指令的关联关系的风格列表;
获取并根据所述新对话的使用场景,查询所述风格列表以确定与所述新对话对应的目标风格指令;
根据所述目标风格指令,对所述初始回复内容进行改写以生成待定回复内容。
在一些实施例中,所述场景化操作,包括:
获取所述待定回复内容中的特殊字符,并根据预设替换规则替换所述待定回复内容中的所述特殊字符,以生成第一回复内容;
根据特定符号拆分所述第一回复内容,以生成第二回复内容,其中所述第二回复内容由多个短句组成;
获取所述目标机器人的目标分布参数并根据所述目标分布参数确定对应的目标泊松分布函数;
基于所述目标泊松分布函数选择所述第二回复内容中的一个或多个短句作为所述目标回复内容。
在一些实施例中,所述获取当前用户对应的历史对话摘要,包括:
获取当前用户的对话轮数及对应的对话内容,并根据对话发生的时间选取第一预设轮数的对话内容作为历史对话内容;
根据预先训练好的摘要提取模型,对所述历史对话内容进行处理以生成历史对话摘要;
当前用户对应的对话轮数增加第二预设轮数时,更新所述历史对话内容并根据更新后的历史对话内容生成新的历史对话摘要。
第二方面,本申请提供一种对话机器人的对话管理系统,所述系统包括:
背景配置模块,用于配置每一个对话机器人的人设背景;
数据处理模块,用于获取当前用户的前一轮对话结束后与新发起的新对话之间的间隔时间;
机器人选取模块,还用于在所述间隔时间大于等于预设聊天间隔时,根据预设选举规则,从多个所述对话机器人中选择目标机器人;
所述数据处理模块,还用于获取当前用户对应的历史对话摘要以及最新对话内容,并根据所述历史对话摘要生成当前用户的人物画像;
内容生成模块,用于获取所述目标机器人的人设背景,并根据所述目标机器人的人设背景、所述最新对话内容、所述历史对话摘要、所述人物画像以及大语言模型,生成初始回复内容;
内容改写模块,用于对所述初始回复内容进行改写操作以及场景化操作以生成目标回复内容,以便所述目标机器人针对所述新对话的进行回复。
第三方面,本申请提供了一种电子设备,所述电子设备包括:
一个或多个处理器;
以及与所述一个或多个处理器关联的存储器,所述存储器用于存储程序指令,所述程序指令在被所述一个或多个处理器读取执行时,执行如下操作:
配置每一个对话机器人的人设背景;
获取当前用户的前一轮对话结束后与新发起的新对话之间的间隔时间;
若所述间隔时间大于等于预设聊天间隔,则根据预设选取规则,从多个所述对话机器人中选择目标机器人;
获取当前用户对应的历史对话摘要以及最新对话内容,并根据所述历史对话摘要生成当前用户的人物画像;
获取所述目标机器人的人设背景,并根据所述目标机器人的人设背景、所述最新对话内容、所述历史对话摘要、所述人物画像以及大语言模型,生成初始回复内容;
对所述初始回复内容进行改写操作以及场景化操作以生成目标回复内容,以便所述目标机器人针对所述新对话的进行回复。
第四方面,本申请还提供了一种计算机可读存储介质,所述存储介质上存储计算机程序,所述计算机程序使得计算机执行如下操作:
配置每一个对话机器人的人设背景;
获取当前用户的前一轮对话结束后与新发起的新对话之间的间隔时间;
若所述间隔时间大于等于预设聊天间隔,则根据预设选取规则,从多个所述对话机器人中选择目标机器人;
获取当前用户对应的历史对话摘要以及最新对话内容,并根据所述历史对话摘要生成当前用户的人物画像;
获取所述目标机器人的人设背景,并根据所述目标机器人的人设背景、所述最新对话内容、所述历史对话摘要、所述人物画像以及大语言模型,生成初始回复内容;
对所述初始回复内容进行改写操作以及场景化操作以生成目标回复内容,以便所述目标机器人针对所述新对话的进行回复。
本申请实现的有益效果为:
本申请提供了一种对话机器人的对话管理方法,包括:配置每一个对话机器人的人设背景;获取当前用户的前一轮对话结束后与新发起的新对话之间的间隔时间;若所述间隔时间大于等于预设聊天间隔,则根据预设选取规则,从多个所述对话机器人中选择目标机器人;获取当前用户对应的历史对话摘要以及最新对话内容,并根据所述历史对话摘要生成当前用户的人物画像;获取所述目标机器人的人设背景,并根据所述目标机器人的人设背景、所述最新对话内容、所述历史对话摘要、所述人物画像以及大语言模型,生成初始回复内容;对所述初始回复内容进行改写操作以及场景化操作以生成目标回复内容,以便所述目标机器人针对所述新对话的进行回复。通过对用于回复的对话机器人进行选择、对回复内容进行改写以及场景化,赋予回复内容拟人风格,并控制对话机器人回复的频率等,实现了对机器人的拟人化,且可进行多轮回复;每一对话机器人可具备自己的虚拟人设背景,并且在回复内容上呈现风格化的特点。此外,还减少了对用户的打扰,提升了人机交互的用户体验。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图,其中:
图1是本申请实施例提供的一种对话管理方法示意图;
图2是本申请实施例提供的一种对话管理方法流程图;
图3是本申请实施例提供的一种对话管理系统架构图;
图4是本申请实施例提供的电子设备结构图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
应当理解,在本申请的描述中,除非上下文明确要求,否则整个说明书和权利要求书中的“包括”、“包含”等类似词语应当解释为包含的含义而不是排他或穷举的含义;也就是说,是“包括但不限于”的含义。
还应当理解,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本申请的描述中,除非另有说明,“多个”的含义是两个或两个以上。
需要注意的是,术语“S1”、“S2”等仅用于步骤的描述目的,并非特别指称次序或顺位的意思,亦非用以限定本申请,其仅仅是为了方便描述本申请的方法,而不能理解为指示步骤的先后顺序。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本申请要求的保护范围之内。
如背景技术所述,现有的对话机器人在回复用户问题时,无法做到千人千面,只能生硬的回复预先设定的内容,回答内容更像是机器而不像是真人;且不能持续多轮对用户生成的对话进行回复。而本申请提供了一种对话机器人的对话管理方法,实现了对话机器人的拟人化,使得机器人的回复内容具备自己的虚拟人设背景,并且在回复内容上呈现风格化的特点;既减少了对用户的打扰,又能像模拟真人进行回复,从而提升了人机交互的用户体验。本申请提供的对话机器人的对话管理方法可以以API(Application ProgrammingInterface,应用程序编程接口)的方式提供给第三方,操作简单,适用性广,且节约了第三方的开发成本。
实施例一
本申请实施例提供了一种对话机器人的对话管理方法,具体的如图1所示,利用本申请实施例公开的对话管理方法在机器人与用户进行对话时实现机器人的拟人化,包括以下内容:
S1、为每一个对话机器人配置人设背景;
本申请实施例进一步实现需要先设定每个机器人独立的人设背景以使得在与用户进行对话时,实现每个机器人都具备其特有的性格或风格。具体包括但不限于设定机器人的人物姓名/昵称、性别、年龄范围、职业、家庭、说话语气/习惯、爱好、多人物关系与称呼、当前日期、时间以及天气等闲聊话题。在利用API方式将本实施公开的方法嵌入第三方平台时或者将本方法编译为程序时,通过输入背景设定指令实现。
S2、当前用户发起新一轮的对话时,在多个对话机器人中选择一个对话机器人进行回复。
实时采集当前用户的前一轮对话结束与新发起的新对话之间的间隔时间,当间隔时间大于等于预设聊天间隔时,根据预设选取规则从多个对话机器人中选择用于回复对话的目标机器人,以模拟机器人思考的过程。其中,预设聊天间隔为人为预先设定的,单位为秒的时间间隔,用于控制在最后一次与用户进行对话结束之后间隔多长时间再选择新一轮对话的用于回复的对话机器人。可以理解的是,如果只存在一个对话机器人,则无需进行选择,该对话机器人即为目标机器人。
具体的,上述根据预设选取规则从多个对话机器人中选择目标机器人的过程包括:获取每一所述对话机器人对应的第一概率分布D1以及第二概率分布D2。其中,本申请实施例利用真实发生的多人聊天场景的历史数据,构建特定训练数据,训练概率输出模型以确定具有特定人设背景的用户在对话中回复的概率,以确定具备相同人设背景的对话机器人对应的第一概率分布D1。可以理解的是,概率输出模型可以任一经训练后可用于输出特定人设背景的用户在对话中回复的概率的模型,可以是神经网络模型也可以是深度学习模型,本申请对此不作限定。第二概率分布D2为工作人员根据场景需求或者特殊情况,为每一对话机器人预先设定的概率,为可人工干预的概率,例如,可以分时间段来设置,如上班时间对话机器人的回复概率D2设置较小,下班时间对话机器人的回复概率D2甚至较大;或者分场合来设置,例如机器人最近刚养了一只猫,刚进入了养猫微信群交流经验,可能在当前养猫微信群内机器人回复概率D2设置较大,在另一个养狗微信群内机器人回复概率D2设置较小。
在获取到第一概率分布D1以及第二概率分布D2后,需要对D1和D2进行再次调整,具体的,基于公式P=(D1+a*D2)/(1+a),进一步配置每一对话机器人的回复概率P,其中a为大于等于0的预设权重值。可以理解的是,可以针对不同场景需求通过调整a的值实现对每个对话机器人的回复概率P的调整;a越大,第二概率分布D2配置的权重越高;a越小,则第二概率分布D2权重更高,以使得最终确定的每个对话机器人的回复概率P更符合当前场景的要求。
然后根据确定的每一对话机器人的回复概率P的大小,从大到小排序,记作机器人列表;遍历机器人列表,选择回复概率大于等于随机生成的随机数对应的对话机器人为目标机器人;其中,随机数为【0,1】之间随机生成的数。具体的,按照机器人列表的顺序进行遍历,如果对话机器人的回复概率大于等于随机数,则选择当前遍历到的对话机器人为目标机器人;如果遍历完所有的机器人之后仍旧未出现回复概率大于等于随机数的情况,则选择机器人列表中最后一个机器人为目标机器人。值得注意的是,如果上一轮对话中,是对话机器人A说话,那么在本轮目标机器人选择时,遍历的机器人列表为剔除对话机器人A后的机器人列表,并将配置给对话机器人A的回复概率P,平均分配给其他每一个对话机器人;如果整个机器人列表只有一个对话机器人A,则继续选择对话机器人A为目标机器人。
可以理解的是,在一些实施场景中,用户还可能指定回复的机器人,例如说到某个对话机器人的名字或者在聊天软件中@某某对话机器人,此时直接将用户指定的对话机器人作为目标机器人,不适用根据上述预设选取规则去在多个对话机器人中重新选取对话机器人作为目标机器人。
S3、根据目标机器人的人设背景、最新对话内容、历史对话摘要、人物画像以及大语言模型,生成初始回复内容。
获取当前用户对应的历史对话摘要以及最新对话内容,并根据历史对话摘要生成当前用户的人物画像;获取目标机器人的人设背景,并根据目标机器人的人设背景、最新对话内容、历史对话摘要、人物画像以及大语言模型,生成初始回复内容。
具体的,本申请实施例需要分别设置历史摘要对话轮数、历史摘要增量对话轮数以及新对话轮数这三个参数,其中,一轮对话指同一个人在短时间内说的多次连续没有被打断话,合并作为一轮对话;可以将上述三个参数控制的对话轮数当做三个滑动窗口,当产生一轮多轮新的对话内容时,首先进入新对话轮数对应的第一窗口,在第一窗口溢出时(即对话内容的总轮数超出新对话轮数),溢出的一轮或多轮对话内容进入历史摘要增量对话轮数对应的第二窗口;第二窗口内溢出的一轮或多轮对话内容进入历史摘要对话轮数对应的第三窗口,此时第三窗口溢出的一轮或多轮对话内容放弃保存。此外,为支持本申请公开的对话机器人的对话管理方法的实现,本申请实施例还提出将已经发生的对话内容进行回流,按照时间戳顺序存储,得到一个历史聊天消息的队列。可以按照如下格式:
A:XXXXXXX
A:SSSS
B:XXXX
C:XXXXX
A:XXXXX
消息回流通常采用消息队列方式,将聊天内容发送到消息队列,然后另起消息队列,然后存储聊天内容到数据库中。这里用户也可以使用集群模式来加速处理任务,提升系统稳定性与吞吐量。另外,还提出设定合并对话参数,单位为秒;如果是同一用户连续说的多句话,同时时间间隔小于预设间隔参数,则合并对话内容,用逗号拼接作为一轮对话。历史对话摘要生成、最新对话内容生成都是按照合并之后的对话轮数来确定对话范围。
在生成当前用户对应的历史对话摘要时,先获取当前用户的对话轮数以及对应的对话内容,然后确定历史对话内容;利用预先训练好的摘要提取模型对历史对话内容进行处理以生成历史对话摘要。可以理解的是,根据前述内容可知,对话内容存放实际上是根据对话发生的时间从第一窗口到第二窗口再到第三窗口,因此可以根据对话发生的时间选取第一预设轮数的对话内容作为历史对话内容,具体的为将对话时间靠后的与历史摘要对话轮数一致的对话轮数对应的对话内容;其中第一预设轮数与历史摘要对话轮数一致,默认可设置为30轮,本申请对此不做限定。其中,摘要提取模型为任一经训练后能够根据输入模型的内容提取有效摘要的模型,可以是神经网络模型也可以是深度学习模型,本申请对此不作限定。在一些实施场景中,为了更高效的生成历史对话摘要,当前用户对应的对话轮数增加第二预设轮数时,将与第二预设轮数对应的对话内容一次性更新到第二窗口,并将第二窗口内原有的对话内容一次性更新到第三窗口,其中第二预设轮数与历史摘要增量对话轮数一致。默认设置为5轮,可自行定义,本申请对此不作限定;即当前用户对应的对话轮数增加第二预设轮数时,将第二窗口内的与第二预设轮数一致的对话轮数对应的对话内容更新为历史对话内容中,然后根据更新后的历史对话内容并生成新的历史对话摘要。
然后针对历史对话摘要,提取重要内容作为当前用户的人物画像,如将某某人的昵称,某人最近买了某某商品,某某养的宠物名称等特别重要信息单独提取出来作为人物画像。最后将历史对话摘要、当前最新对话轮数对应的最新对话内容(默认是20轮,可自行定义,本申请对此不作限定)、对话机器人的人设背景以及人物画像发送给大语言模型,以初始回复内容。可以理解的是,通常大语言模型会有字数限制,通过提取历史对话摘要可以压缩对话字数,而人物画像让机器人能够有记忆点,记住重要内容,这样利用大语言模型生成的对话内容更容易模拟真人,减少机器人失忆的现象导致说重复的内容。其中,大语言模型包括但不限于openAI的ChatGPT、百度研发的文心一言、复旦大学的MOSS、腾讯的HunYuan大模型、阿里的通义大模型、华为的盘古大模型等。
S4、对初始回复内容进行改写操作以及场景化操作以生成目标回复内容,目标机器人根据生成的目标回复内容在目标间隔对话时间后对所述新对话的进行回复。
上述对初始回复内容进行改写操作包括:获取预设的包含使用场景与风格指令的关联关系的风格列表;获取并根据所述新对话的使用场景,查询风格列表以确定与新对话对应的目标风格指令;根据目标风格指令,对初始回复内容进行改写以生成待定回复内容。具体的,预先为每一使用场景设定一种对话风格,并根据该对话风格设定对应的风格指令,如娱乐聊天场景对应轻松风格,此时设定风格指令为“改写下面对话,末尾加可爱的语气词或表情符”,使得对话机器人生成风格话的待定回复内容。
通常大语言模型生成的内容不完全符合拟人化回复,会有一些字符需要进行替换,使其符合自然语言对话习惯,因此需要对上述生成的待定回复内容进行场景化操作,具体包括:获取待定回复内容中的特殊字符,并根据预设替换规则替换待定回复内容中的特殊字符,以生成第一回复内容;例如将:“{当前说话的机器人名}、{}、【】、[]、你好、大家好、回复、:”等以上符号删除,将“小编”、“站长”等替换成“我”,特殊标点符号如换行符替换成逗号,以及https//替换成https://等等。然后根据特定符号拆分第一回复内容,以生成第二回复内容,其中第二回复内容由多个短句组成,例如在中文对话环境中,按照中文的语言习惯,将段落按照标点符号拆分成句子,常见拆分标点符号如“。!?;!”,同时兼容中英文标点。进一步,根据应用场景中各个用户回复的数据的分析,我们发现用户回复的短句数量符合泊松分布,因此本申请提出预先根据对话机器人的人设背景,为对话机器人设置对应的分布参数λ,其中;获取所述目标机器人的目标分布参数λ,并根据目标分布参数确定目标泊松分布函数 然后在符合目标泊松分布函数的前提下选择第二回复内容中的一个或多个短句,并保持选择出的一个或多个短句在原本对话内容中的顺序,得到一组作为目标回复内容的句子。此外,通常一个句子可能由多个逗号组成,本申请还提出可以在目标回复内容的基础上,按照逗号继续把每一个句子再次分隔成为一组短句。然后对短句再次进行改写操作,如果短句以一些符号开头或结尾,如“"“”,「”等符号,则删除这些符号;如果短句中包含多个emoji表情符号,则最多只保留1至2个表情符,删除多余的表情符,避免机器人发送过多表情符号。另外,本申请还提出设置长度参数,该长度参数表示短句最短字符长度;当有多个短句时,判断短句长度如果小于设置的长度参数,则将隶属于同一个句子拆分的短句前后进行逗号拼接,合并成一个较长的短句,如此循环直到出现短句子长度大于长度参数终止,以避免对话机器人多次出现一句话只说很短的句子的情况。
进一步,目标机器人回复对话时,在满足目标间隔时间后,才会将目标回复内容推送给当前用户,即目标机器人在距离上次说话达到目标间隔时间后再次进行说话;其中,目标间隔时间可以通过为每一对话机器人设定的第一语速参数、第二语速参数以及目标回复内容的长度计算得到,目标间隔时间=第一语速参数*目标回复内容的长度+第二语速参数,单位为秒。此外,本申请还提出每个对话机器人单独设定工作时间参数,表示机器人工作的时间范围,模拟真人的作息习惯。
实施例二
对应上述实施例一,本申请还实施例还提供了一种对话机器人的对话管理方法,如图2所示的流程图,具体包括:
2100、配置每一个对话机器人的人设背景;
优选的,所述方法还包括:
2110、设置每一对话机器人的第一语速参数以及第二语速参数;
2120、获取并根据目标机器人的第一语速参数、第二语速参数以及所述目标回复内容的长度,计算所述目标机器人用于回复的目标间隔对话时间。
2200、获取当前用户的前一轮对话结束后与新发起的新对话之间的间隔时间;
2300、若所述间隔时间大于等于预设聊天间隔,则根据预设选取规则,从多个所述对话机器人中选择目标机器人;
优选的,所述根据预设选取规则,从多个所述对话机器人中选择目标机器人,包括:
2310、若检测到所述新对话中存在当前用户指定的指定机器人,则选择所述指定机器人为目标机器人;
2320、若检测到所述新对话中不存在当前用户指定的指定机器人,则配置每一所述对话机器人的回复概率并根据所述回复概率的大小生成机器人列表;
优选的,所述配置每一对话机器人的回复概率,包括:
2321、获取每一所述对话机器人对应的第一概率分布D1以及第二概率分布D2;
2322、基于公式P=(D1+a*D2)/(1+a),配置每一所述对话机器人的回复概率P,其中a为大于等于0的预设权重值。
2330、遍历所述机器人列表,选择所述回复概率大于等于随机生成的随机数对应的对话机器人为目标机器人。
2400、获取当前用户对应的历史对话摘要以及最新对话内容,并根据所述历史对话摘要生成当前用户的人物画像;
优选的,所述获取当前用户对应的历史对话摘要,包括:
2410、获取当前用户的对话轮数及对应的对话内容,并根据对话发生的时间选取第一预设轮数的对话内容作为历史对话内容;
2420、据预先训练好的摘要提取模型,对所述历史对话内容进行处理以生成历史对话摘要;
2430、当前用户对应的对话轮数增加第二预设轮数时,更新所述历史对话内容并根据更新后的历史对话内容生成新的历史对话摘要。
2500、获取所述目标机器人的人设背景,并根据所述目标机器人的人设背景、所述最新对话内容、所述历史对话摘要、所述人物画像以及大语言模型,生成初始回复内容;
2600、对所述初始回复内容进行改写操作以及场景化操作以生成目标回复内容,以便所述目标机器人针对所述新对话的进行回复。
优选的,所述对所述初始回复内容进行改写操作,包括:
2610、获取预设的包含使用场景与风格指令的关联关系的风格列表;
2620、获取并根据所述新对话的使用场景,查询所述风格列表以确定与所述新对话对应的目标风格指令;
2630、根据所述目标风格指令,对所述初始回复内容进行改写以生成待定回复内容。
优选的,所述场景化操作,包括:
2640、获取所述待定回复内容中的特殊字符,并根据预设替换规则替换所述待定回复内容中的所述特殊字符,以生成第一回复内容;
2650、根据特定符号拆分所述第一回复内容,以生成第二回复内容,其中所述第二回复内容由多个短句组成;
2660、获取所述目标机器人的目标分布参数并根据所述目标分布参数确定对应的目标泊松分布函数;
2670、基于所述目标泊松分布函数选择所述第二回复内容中的一个或多个短句作为所述目标回复内容。
实施例三
对应上述实施例一和实施例二,如图3所示,本申请实施例还提供一种对话机器人的对话管理系统,包括:
背景配置模块310,用于配置每一个对话机器人的人设背景;
数据处理模块320,用于获取当前用户的前一轮对话结束后与新发起的新对话之间的间隔时间;
机器人选取模块330,还用于在所述间隔时间大于等于预设聊天间隔时,根据预设选举规则,从多个所述对话机器人中选择目标机器人;
所述数据处理模块320,还用于获取当前用户对应的历史对话摘要以及最新对话内容,并根据所述历史对话摘要生成当前用户的人物画像;
内容生成模块340,用于获取所述目标机器人的人设背景,并根据所述目标机器人的人设背景、所述最新对话内容、所述历史对话摘要、所述人物画像以及大语言模型,生成初始回复内容;
内容改写模块350,用于对所述初始回复内容进行改写操作以及场景化操作以生成目标回复内容,以便所述目标机器人针对所述新对话的进行回复。
在一些实施场景中,所述机器人选取模块330还用于在检测到所述新对话中存在当前用户指定的指定机器人时,选择所述指定机器人为目标机器人;所述机器人选取模块330还用于在检测到所述新对话中不存在当前用户指定的指定机器人时,配置每一所述对话机器人的回复概率并根据所述回复概率的大小生成机器人列表;所述机器人选取模块330还用于遍历所述机器人列表,选择所述回复概率大于等于随机生成的随机数对应的对话机器人为目标机器人。
在一些实施场景中,所述数据处理模块320,还用于获取每一所述对话机器人对应的第一概率分布D1以及第二概率分布D2;基于公式P=(D1+a*D2)/(1+a),配置每一所述对话机器人的回复概率P,其中a为大于等于0的预设权重值。
在一些实施场景中,所述背景配置模块310还用于设置每一对话机器人的第一语速参数以及第二语速参数;获取并根据目标机器人的第一语速参数、第二语速参数以及所述目标回复内容的长度,计算所述目标机器人用于回复的目标间隔对话时间。
在一些实施场景中,所述内容改写模块350还用于获取预设的包含使用场景与风格指令的关联关系的风格列表;获取并根据所述新对话的使用场景,查询所述风格列表以确定与所述新对话对应的目标风格指令;根据所述目标风格指令,对所述初始回复内容进行改写以生成待定回复内容。
在一些实施场景中,所述内容改写模块350还用于获取所述待定回复内容中的特殊字符,并根据预设替换规则替换所述待定回复内容中的所述特殊字符,以生成第一回复内容;根据特定符号拆分所述第一回复内容,以生成第二回复内容,其中所述第二回复内容由多个短句组成;获取所述目标机器人的目标分布参数并根据所述目标分布参数确定对应的目标泊松分布函数;基于所述目标泊松分布函数选择所述第二回复内容中的一个或多个短句作为所述目标回复内容。
在一些实施场景中,所述数据处理模块320还用于获取当前用户的对话轮数及对应的对话内容,并根据对话发生的时间选取第一预设轮数的对话内容作为历史对话内容;根据预先训练好的摘要提取模型,对所述历史对话内容进行处理以生成历史对话摘要;当前用户对应的对话轮数增加第二预设轮数时,更新所述历史对话内容并根据更新后的历史对话内容生成新的历史对话摘要。
实施例四
对应上述所有实施例,本申请实施例提供一种电子设备,包括:
一个或多个处理器;以及与所述一个或多个处理器关联的存储器,所述存储器用于存储程序指令,所述程序指令在被所述一个或多个处理器读取执行时,执行如下操作:
配置每一个对话机器人的人设背景;
获取当前用户的前一轮对话结束后与新发起的新对话之间的间隔时间;
若所述间隔时间大于等于预设聊天间隔,则根据预设选取规则,从多个所述对话机器人中选择目标机器人;
获取当前用户对应的历史对话摘要以及最新对话内容,并根据所述历史对话摘要生成当前用户的人物画像;
获取所述目标机器人的人设背景,并根据所述目标机器人的人设背景、所述最新对话内容、所述历史对话摘要、所述人物画像以及大语言模型,生成初始回复内容;
对所述初始回复内容进行改写操作以及场景化操作以生成目标回复内容,以便所述目标机器人针对所述新对话的进行回复。
其中,图4示例性的展示出了电子设备的架构,具体可以包括处理器410,视频显示适配器411,磁盘驱动器412,输入/输出接口413,网络接口414,以及存储器420。上述处理器410、视频显示适配器411、磁盘驱动器412、输入/输出接口413、网络接口414,与存储器420之间可以通过总线430进行通信连接。
其中,处理器410可以采用通用的CPU(Central Processing Unit,中央处理器)、微处理器、应用专用集成电路(Application Specific Integrated Circuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本申请所提供的技术方案。
存储器420可以采用ROM(Read Only Memory,可编写存储器)、RAM(Random AccessMemory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器420可以存储用于控制电子设备400执行的操作系统421,用于控制电子设备400的低级别操作的基本输入输出系统(BIOS)422。另外,还可以存储网页浏览器423,数据存储管理系统424,以及图标字体处理系统425等等。上述图标字体处理系统425就可以是本申请实施例中具体实现前述各步骤操作的应用程序。总之,在通过软件或者固件来实现本申请所提供的技术方案时,相关的程序代码保存在存储器420中,并由处理器410来调用执行。
输入/输出接口413用于连接输入/输出模块,以实现信息输入及输出。输入输出/模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。
网络接口414用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信。
总线430包括一通路,在设备的各个组件(例如处理器410、视频显示适配器411、磁盘驱动器412、输入/输出接口413、网络接口414,与存储器420)之间传输信息。
另外,该电子设备400还可以从虚拟资源对象领取条件信息数据库中获得具体领取条件的信息,以用于进行条件判断,等等。
需要说明的是,尽管上述设备仅示出了处理器410、视频显示适配器411、磁盘驱动器412、输入/输出接口413、网络接口414,存储器420,总线430等,但是在具体实施过程中,该设备还可以包括实现正常执行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本申请方案所必需的组件,而不必包含图中所示的全部组件。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,云服务端,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。
实施例五
对应上述所有实施例,本申请实施例还提供一种计算机可读存储介质,其特征在于,其存储计算机程序,所述计算机程序使得计算机执行如下操作:
配置每一个对话机器人的人设背景;
获取当前用户的前一轮对话结束后与新发起的新对话之间的间隔时间;
若所述间隔时间大于等于预设聊天间隔,则根据预设选取规则,从多个所述对话机器人中选择目标机器人;
获取当前用户对应的历史对话摘要以及最新对话内容,并根据所述历史对话摘要生成当前用户的人物画像;
获取所述目标机器人的人设背景,并根据所述目标机器人的人设背景、所述最新对话内容、所述历史对话摘要、所述人物画像以及大语言模型,生成初始回复内容;
对所述初始回复内容进行改写操作以及场景化操作以生成目标回复内容,以便所述目标机器人针对所述新对话的进行回复。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的系统及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述仅为本申请的较佳实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (10)
1.一种对话机器人的对话管理方法,其特征在于,所述方法包括:
配置每一个对话机器人的人设背景;
获取当前用户的前一轮对话结束后与新发起的新对话之间的间隔时间;
若所述间隔时间大于等于预设聊天间隔,则根据预设选取规则,从多个所述对话机器人中选择目标机器人;
获取当前用户对应的历史对话摘要以及最新对话内容,并根据所述历史对话摘要生成当前用户的人物画像;
获取所述目标机器人的人设背景,并根据所述目标机器人的人设背景、所述最新对话内容、所述历史对话摘要、所述人物画像以及大语言模型,生成初始回复内容;
对所述初始回复内容进行改写操作以及场景化操作以生成目标回复内容,以便所述目标机器人针对所述新对话的进行回复。
2.一种基于权利要求1所述的方法,其特征在于,所述根据预设选取规则,从多个所述对话机器人中选择目标机器人,包括:
若检测到所述新对话中存在当前用户指定的指定机器人,则选择所述指定机器人为目标机器人;
若检测到所述新对话中不存在当前用户指定的指定机器人,则配置每一所述对话机器人的回复概率并根据所述回复概率的大小生成机器人列表;
遍历所述机器人列表,选择所述回复概率大于等于随机生成的随机数对应的对话机器人为目标机器人。
3.根据权利要求2所述的方法,其特征在于,所述配置每一对话机器人的回复概率,包括:
获取每一所述对话机器人对应的第一概率分布D1以及第二概率分布D2;
基于公式P=(D1+a*D2)/(1+a),配置每一所述对话机器人的回复概率P,其中a为大于等于0的预设权重值。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
设置每一对话机器人的第一语速参数以及第二语速参数;
获取并根据目标机器人的第一语速参数、第二语速参数以及所述目标回复内容的长度,计算所述目标机器人用于回复的目标间隔对话时间。
5.根据权利要求2所述的方法,其特征在于,所述对所述初始回复内容进行改写操作,包括:
获取预设的包含使用场景与风格指令的关联关系的风格列表;
获取并根据所述新对话的使用场景,查询所述风格列表以确定与所述新对话对应的目标风格指令;
根据所述目标风格指令,对所述初始回复内容进行改写以生成待定回复内容。
6.根据权利要求5所述的方法,其特征在于,所述场景化操作,包括:
获取所述待定回复内容中的特殊字符,并根据预设替换规则替换所述待定回复内容中的所述特殊字符,以生成第一回复内容;
根据特定符号拆分所述第一回复内容,以生成第二回复内容,其中所述第二回复内容由多个短句组成;
获取所述目标机器人的目标分布参数并根据所述目标分布参数确定对应的目标泊松分布函数;
基于所述目标泊松分布函数选择所述第二回复内容中的一个或多个短句作为所述目标回复内容。
7.根据权利要求6所述的方法,其特征在于,所述获取当前用户对应的历史对话摘要,包括:
获取当前用户的对话轮数及对应的对话内容,并根据对话发生的时间选取第一预设轮数的对话内容作为历史对话内容;
根据预先训练好的摘要提取模型,对所述历史对话内容进行处理以生成历史对话摘要;
当前用户对应的对话轮数增加第二预设轮数时,更新所述历史对话内容并根据更新后的历史对话内容生成新的历史对话摘要。
8.一种对话机器人的对话管理系统,其特征在于,所述系统包括:
背景配置模块,用于配置每一个对话机器人的人设背景;
数据处理模块,用于获取当前用户的前一轮对话结束后与新发起的新对话之间的间隔时间;
机器人选取模块,还用于在所述间隔时间大于等于预设聊天间隔时,根据预设选举规则,从多个所述对话机器人中选择目标机器人;
所述数据处理模块,还用于获取当前用户对应的历史对话摘要以及最新对话内容,并根据所述历史对话摘要生成当前用户的人物画像;
内容生成模块,用于获取所述目标机器人的人设背景,并根据所述目标机器人的人设背景、所述最新对话内容、所述历史对话摘要、所述人物画像以及大语言模型,生成初始回复内容;
内容改写模块,用于对所述初始回复内容进行改写操作以及场景化操作以生成目标回复内容,以便所述目标机器人针对所述新对话的进行回复。
9.一种电子设备,其特征在于,所述电子设备包括:
一个或多个处理器;
以及与所述一个或多个处理器关联的存储器,所述存储器用于存储程序指令,所述程序指令在被所述一个或多个处理器读取执行时,执行权利要求1-7任一所述方法。
10.一种计算机可读存储介质,其特征在于,其存储计算机程序,所述计算机程序使得计算机执行权利要求1-7中任一所述方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311179837.2A CN117033606A (zh) | 2023-09-13 | 2023-09-13 | 对话机器人的对话管理方法、系统、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311179837.2A CN117033606A (zh) | 2023-09-13 | 2023-09-13 | 对话机器人的对话管理方法、系统、设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117033606A true CN117033606A (zh) | 2023-11-10 |
Family
ID=88633929
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311179837.2A Pending CN117033606A (zh) | 2023-09-13 | 2023-09-13 | 对话机器人的对话管理方法、系统、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117033606A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117972075A (zh) * | 2024-03-28 | 2024-05-03 | 华南理工大学 | 心智与语言智能体协同的情感对话生成方法 |
-
2023
- 2023-09-13 CN CN202311179837.2A patent/CN117033606A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117972075A (zh) * | 2024-03-28 | 2024-05-03 | 华南理工大学 | 心智与语言智能体协同的情感对话生成方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11043219B1 (en) | Removal of identifying traits of a user in a virtual environment | |
CN117033606A (zh) | 对话机器人的对话管理方法、系统、设备及介质 | |
CN113053388B (zh) | 语音交互方法、装置、设备和存储介质 | |
EP4290351A1 (en) | Environment modeling method and apparatus based on decision flow graph, and electronic device | |
EP3287973A1 (en) | Method and device for information processing | |
CN116303949B (zh) | 一种对话处理方法、系统、存储介质及终端 | |
CN109582904B (zh) | 已发布内容的修改方法、装置、服务器、终端及存储介质 | |
CN104951219A (zh) | 一种移动终端文本输入的方法及移动终端 | |
CN108306813A (zh) | 会话消息的处理方法、服务器及客户端 | |
CN112507104B (zh) | 对话系统获取方法、装置、存储介质及计算机程序产品 | |
CN113655895A (zh) | 应用于输入法的信息推荐方法、装置及电子设备 | |
CN113297371A (zh) | 推荐题目库的生成方法、装置、设备及存储介质 | |
CN116992000A (zh) | 交互信息处理方法、装置、电子设备、计算机可读介质 | |
CN114141236B (zh) | 语言模型更新方法、装置、电子设备及存储介质 | |
CN115879469A (zh) | 文本数据处理方法、模型训练方法、装置及介质 | |
CN115170364A (zh) | 一种学生书籍的阅读方法、装置、设备及存储介质 | |
CN109782925B (zh) | 一种处理方法、装置及电子设备 | |
JP6997046B2 (ja) | アノテーション支援装置 | |
CN110633361A (zh) | 输入控制方法、装置和智能会话服务器 | |
CN117874211B (zh) | 基于saas软件的智能问答方法、系统、介质及电子设备 | |
KR102583122B1 (ko) | 아티스트의 콘텐츠에 기반한 대량 트래픽 메시지의 노출 제어 방법, 장치 및 프로그램 | |
CN111729292B (zh) | 文字游戏中数据处理方法及装置 | |
KR102602095B1 (ko) | 개인화 메시징 서비스 제공 방법, 장치 및 프로그램 | |
CN115952356A (zh) | 信息推送方法、装置和电子设备 | |
CN117933396A (zh) | 生成式智能体的记忆流构建方法以及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |