CN113987148A - 基于虚拟聊天角色的聊天方法以及相关装置 - Google Patents
基于虚拟聊天角色的聊天方法以及相关装置 Download PDFInfo
- Publication number
- CN113987148A CN113987148A CN202111267221.1A CN202111267221A CN113987148A CN 113987148 A CN113987148 A CN 113987148A CN 202111267221 A CN202111267221 A CN 202111267221A CN 113987148 A CN113987148 A CN 113987148A
- Authority
- CN
- China
- Prior art keywords
- chat
- role
- user
- virtual
- preset
- 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
- 238000000034 method Methods 0.000 title claims abstract description 105
- 238000003058 natural language processing Methods 0.000 claims abstract description 100
- 230000008569 process Effects 0.000 claims abstract description 62
- 230000015654 memory Effects 0.000 claims description 57
- 230000008451 emotion Effects 0.000 claims description 35
- 230000004044 response Effects 0.000 claims description 30
- 230000033764 rhythmic process Effects 0.000 claims description 26
- 238000013136 deep learning model Methods 0.000 claims description 23
- 230000007774 longterm Effects 0.000 claims description 23
- 230000007787 long-term memory Effects 0.000 claims description 9
- 230000007246 mechanism Effects 0.000 claims description 9
- 238000004590 computer program Methods 0.000 claims description 8
- 238000012549 training Methods 0.000 claims description 8
- 238000012544 monitoring process Methods 0.000 claims description 4
- 230000006403 short-term memory Effects 0.000 claims description 4
- 230000006854 communication Effects 0.000 abstract description 8
- 238000004891 communication Methods 0.000 abstract description 7
- 238000013135 deep learning Methods 0.000 description 7
- 238000001514 detection method Methods 0.000 description 7
- 238000012545 processing Methods 0.000 description 6
- 238000004422 calculation algorithm Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 230000002452 interceptive effect Effects 0.000 description 5
- 230000009466 transformation Effects 0.000 description 5
- 238000000844 transformation Methods 0.000 description 5
- 239000008186 active pharmaceutical agent Substances 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 230000004927 fusion Effects 0.000 description 3
- 230000006698 induction Effects 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 230000036651 mood Effects 0.000 description 3
- 230000005856 abnormality Effects 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000012952 Resampling Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
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
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/01—Social networking
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- General Health & Medical Sciences (AREA)
- General Business, Economics & Management (AREA)
- Tourism & Hospitality (AREA)
- Strategic Management (AREA)
- Primary Health Care (AREA)
- Human Computer Interaction (AREA)
- Marketing (AREA)
- Human Resources & Organizations (AREA)
- Economics (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请公开了一种基于虚拟聊天角色的聊天方法以及相关装置。该方法包括接收用户通过社交账号选择的至少一个虚拟聊天角色的选择指令,其中所述虚拟聊天角色至少包括如下之一的定制化属性特征:故事剧情、语言风格、角色性格;响应于所述选择指令,并确定当前拟进行聊天的所述虚拟聊天角色;接收用户输入的聊天信息,基于所述虚拟聊天角色以及预设自然语言处理模型生成符合当前语境的开放性场景对话聊天内容,将所述符合当前语境的聊天内容发送至所述社交账号对应的终端。本申请解决了聊天机器人无法较好地处理开放交流语境下的用户聊天信息的技术问题。通过本申请将虚拟聊天角色人设和故事与开放性场景对话生成结合到一起,优化并真实化了整个聊天过程。
Description
技术领域
本申请涉及计算机软件领域,具体而言,涉及一种基于虚拟聊天角色的聊天方法以及相关装置。
背景技术
自然语言处理,能够在对话、翻译、文本总结、情感分析等领域达到不错的准确度。
基于自然语言处理的聊天机器人主要集中实现的任务性的有限场景。然而在开放交流语境下,非任务式的聊天机器人无法较好地在与用户的沟通过程中表现得流畅、真实以及具有代入感,使得用户聊天体验不佳。
针对相关技术中聊天机器人无法较好地处理开放交流语境下的用户聊天信息的问题,目前尚未提出有效的解决方案。
发明内容
本申请的主要目的在于提供一种基于虚拟聊天角色的聊天方法以及相关装置,以解决聊天机器人无法较好地处理开放交流语境下的用户聊天信息的问题。
为了实现上述目的,根据本申请的一个方面,提供了一种基于虚拟聊天角色的聊天方法用于服务端。
根据本申请的基于虚拟聊天角色的聊天方法包括:接收用户通过社交账号选择的至少一个虚拟聊天角色的选择指令,其中所述虚拟聊天角色至少包括如下之一的定制化属性特征:故事剧情、语言风格、角色性格,所述故事剧情用于建立所述虚拟聊天角色与预设故事剧情的关联属性,所述语言风格用于表征所述虚拟聊天角色的预设聊天属性,所述角色性格用于表征所述虚拟聊天角色的预设人设属性,所述虚拟聊天角色用于在聊天过程中根据所述预设故事剧情、所述角色性格以及所述语言风格动态调整预设自然语言处理模型以使对话聊天内容符合预先定制化设置,所述社交账号的唯一身份标识与所述至少一个虚拟聊天角色绑定;响应于所述选择指令,并确定当前拟进行聊天的所述虚拟聊天角色;接收用户输入的聊天信息,基于所述虚拟聊天角色以及预设自然语言处理模型生成符合当前语境的开放性场景对话聊天内容,其中所述聊天内容用于在用户与所述虚拟聊天角色聊天过程中实时动态切换,以符合所述虚拟聊天角色的所述语言风格,和/或所述角色性格,和/或所述故事剧情,和/或所述用户意图;将所述符合当前语境的聊天内容发送至所述社交账号对应的终端。
进一步地,所述基于所述虚拟聊天角色以及预设自然语言处理模型生成符合当前语境的聊天内容,还包括:基于所述虚拟聊天角色的属性特征以及基于深度学习模型的预设自然语言处理模型,判断所述聊天内容是否满足预设聊天响应条件,其中所述基于深度学习模型的预设自然语言处理模型用于检测聊天过程中用户的对话意图以及对话情绪,并输出符合当前话题节奏的预设对话回复,所述基于深度学习模型的预设自然语言处理模型还包括:基于开源数据库加载的预训练自然语言模型,所述话题节奏包括话题主题匹配度、话题切换匹配度,所述话题主题匹配度用于表征所述当前话题是否与用户当前语境衔接匹配,所述话题切换匹配度用于表征在不同话题之间进行切换时的响应时间;如果判断所述聊天内容满足预设聊天响应条件,则采用对应的对话策略进行响应。
进一步地,所述接收用户输入的聊天信息,基于所述虚拟聊天角色以及预设自然语言处理模型生成符合当前语境的聊天内容包括:识别所述用户输入的多轮聊天信息,检测定位得到所述虚拟聊天角色的角色预设知识库;根据所述角色预设知识库,搜索并匹配出答案信息;将所述答复信息与预设自然语言处理模型,生成融合所述答案信息且符合当前语境的聊天内容,所述聊天内容具有与用户具有可交互性的所述语言风格和所述故事剧情,以及符合所述虚拟聊天角色的角色性格。
进一步地,所述接收用户通过社交账号选择的至少一个虚拟聊天角色的选择指令之前,还包括:所述服务端预先配置动态调整机制,通过所述动态调整机制用以根据当前语境和/或所述故事剧情,判断用户情感信息并分析用户意图;根据所述用户情感信息以及所述用户意图,判断是否需要切换当前聊天话题;如果是,则中断结束当前故事剧情并切换至目标聊天话题之后生成新的聊天内容,再与用户继续进行下一轮聊天,其中所述目标聊天话题包括与用户当前情感相同或相似的话题;如果否,则按照所述故事剧情与用户继续进行下一轮聊天并保持对用户意图的监听。
进一步地,所述接收用户通过社交账号选择的至少一个虚拟聊天角色的选择指令之前,还包括:所述服务端预先通过动态提示词配置知识库,通过所述知识库定制在不同对话阶段中所述虚拟聊天角色所需的背景信息以及知识;配置所述虚拟聊天角色的所述故事剧情、所述语言风格以及所述角色性格,得到所述虚拟聊天角色的定制化属性特征;所述接收用户输入的聊天信息,基于所述虚拟聊天角色以及预设自然语言处理模型生成符合当前语境的开放性场景对话聊天内容,包括:接收用户输入的聊天信息,基于所述虚拟聊天角色的定制化属性特征与当前对话所处的开放性场景,通过所述预设自然语言处理模型生成符合当前语境的所述开放性场景的对话聊天内容。
进一步地,所述接收用户输入的聊天信息,基于所述虚拟聊天角色以及预设自然语言处理模型生成符合当前语境的开放性场景对话聊天内容,其中所述聊天内容用于在用户与所述虚拟聊天角色聊天过程中实时动态切换,以符合所述虚拟聊天角色的所述语言风格,和/或所述角色性格,和/或所述故事剧情,和/或所述用户意图包括:根据所述用户输入的聊天信息,区分并分离出所述虚拟聊天角色对用户的长期知识记忆以及短期知识记忆,其中,所述用户输入的聊天信息包括当前聊天信息或历史聊天信息,所述长期知识记忆用于作为用户积累且在一定周期内的有效信息,所述短期知识记忆用以作为用户非固定且非周期性的随机信息;基于所述虚拟聊天角色对用户的长期知识记忆以及短期知识记忆,在与用户聊天过程中匹配时,调用所述长期知识记忆以及短期知识记忆并与所述预设自然语言处理模型一同生成符合当前语境的开放性场景对话聊天内容。
为了实现上述目的,根据本申请的另一方面,提供了一种基于虚拟聊天角色的聊天装置用于服务端。
根据本申请的基于虚拟聊天角色的聊天装置包括:接收模块,用于接收用户通过社交账号选择的至少一个虚拟聊天角色的选择指令,其中所述虚拟聊天角色至少包括如下之一的定制化属性特征:故事剧情、语言风格、角色性格,所述故事剧情用于建立所述虚拟聊天角色与预设故事剧情的关联属性,所述语言风格用于表征所述虚拟聊天角色的预设聊天属性,所述角色性格用于表征所述虚拟聊天角色的预设人设属性,所述虚拟聊天角色用于在聊天过程中根据所述预设故事剧情、所述角色性格以及所述语言风格动态调整预设自然语言处理模型以使对话聊天内容符合预先定制化设置,所述社交账号的唯一身份标识与所述至少一个虚拟聊天角色绑定;响应模块,用于响应于所述选择指令,并确定当前拟进行聊天的所述虚拟聊天角色;生成模块,用于接收用户输入的聊天信息,基于所述虚拟聊天角色以及预设自然语言处理模型生成符合当前语境的开放性场景对话聊天内容,其中所述聊天内容用于在用户与所述虚拟聊天角色聊天过程中实时动态切换,以符合所述虚拟聊天角色的所述语言风格,和/或所述角色性格,和/或所述故事剧情,和/或所述用户意图;发送模块,用于将所述符合当前语境的聊天内容发送至所述社交账号对应的终端。
为了实现上述目的,根据本申请的另一个方面,还提供了一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
为了实现上述目的,根据本申请的再一个方面,还提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。
在本申请实施例中基于虚拟聊天角色的聊天方法以及相关装置,采用接收用户通过社交账号选择的至少一个虚拟聊天角色的选择指令的方式,通过响应于所述选择指令,并确定当前拟进行聊天的所述虚拟聊天角色,达到了接收用户输入的聊天信息,基于所述虚拟聊天角色以及预设自然语言处理模型生成符合当前语境的开放性场景对话聊天内容,并将所述符合当前语境的聊天内容发送至所述社交账号对应的终端的目的,从而实现了对虚拟角色人设的塑造,并结合了剧情故事等可交互的内容和长期记忆,自然生成对话内容的技术效果,进而解决了聊天机器人无法较好地处理开放交流语境下的用户聊天信息的技术问题。
附图说明
构成本申请的一部分的附图用来提供对本申请的进一步理解,使得本申请的其它特征、目的和优点变得更明显。本申请的示意性实施例附图及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请实施例的基于虚拟聊天角色的聊天方法的硬件架构示意图;
图2是根据本申请实施例的基于虚拟聊天角色的聊天方法流程示意图;
图3是根据本申请实施例的基于虚拟聊天角色的聊天装置结构示意图;
图4是根据本申请实施例的基于虚拟聊天角色的聊天方法的原理示意图;
图5是根据本申请优选实施例的基于虚拟聊天角色的聊天方法的流程示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
在本申请中,术语“上”、“下”、“左”、“右”、“前”、“后”、“顶”、“底”、“内”、“外”、“中”、“竖直”、“水平”、“横向”、“纵向”等指示的方位或位置关系为基于附图所示的方位或位置关系。这些术语主要是为了更好地描述本申请及其实施例,并非用于限定所指示的装置、元件或组成部分必须具有特定方位,或以特定方位进行构造和操作。
并且,上述部分术语除了可以用于表示方位或位置关系以外,还可能用于表示其他含义,例如术语“上”在某些情况下也可能用于表示某种依附关系或连接关系。对于本领域普通技术人员而言,可以根据具体情况理解这些术语在本申请中的具体含义。
此外,术语“安装”、“设置”、“设有”、“连接”、“相连”、“套接”应做广义理解。例如,可以是固定连接,可拆卸连接,或整体式构造;可以是机械连接,或电连接;可以是直接相连,或者是通过中间媒介间接相连,又或者是两个装置、元件或组成部分之间内部的连通。对于本领域普通技术人员而言,可以根据具体情况理解上述术语在本申请中的具体含义。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
如图1所示,是本申请实施例中的基于虚拟聊天角色的聊天方法的硬件架构示意图。其中,包括:数据库100、后端服务器200、用户端300、虚拟聊天角色400。所述用户端300上通过预先安装的应用程序与所述后端服务器200进行通信,所述应用程序包括但不限于客户端或者小程序。
所述后端服务器200中的自然语言处理系统以自然语言处理与深度学习为基础,能够将所述虚拟聊天角色400的人设和故事与所述用户端300的开放性场景对话生成结合到一起。所述后端服务器200可以根据用户对话信息和历史聊天记录,以及预先为该虚拟角色人设打造的故事剧情和语言风格配置,生成富有交互性和符合定制化角色的人设故事的对话,并能够融合定制化角色的长期知识与记忆。用户在用户端300可以通过网络API接口直接和所述虚拟聊天角色400进行多轮对话聊天。对于不同的定制化角色只需要属于不同的ID即可,同时网络API接口将会返回后端服务器200中的自然语言处理系统生成的结果。
具体而言,在所述后端服务器200中的自然语言处理系统主要分为两大子模块,其中后端服务器200通过python flask服务器框架进行开发,能够对收到的网络请求进行预处理,并通过开发的不同API实现业务和商业逻辑。后端服务器采用了SQL数据库(数据库100)记录用户的基本信息和聊天记录。
此外,后端服务器200中的算法模块也通过python flask框架与后端服务器模块进行交互,其中自然语言处理的框架采用了pytorch和TensorFlow深度学习框架,同时结合了huggingface transformers库加载开源的预训练模型。所述算法模块另实现了深度学习框架底层加速提高了模型的运行速度,同时轻量级的模型实现了多线程CPU和GPU的并行增加系统处理吞吐量和处理效率。
上述python flask框架、huggingface transformers库仅为举例,并不用于限定本申请实施例中的技术方案。
对于定制化的虚拟聊天角色400的通过后端服务器配置(或由用户定制化),需要按照代码的要求提供一下资源:角色的剧本与剧情,角色的知识库及与其他角色的关系,角色的语言风格文件。
后端服务器需要的其他资源包括但不限于:预训练的对话生成模型、知识检测匹配模型、情感分析模型、共情检测模型、是非判别模型、语义归纳模型、语义提取模型、对话衔接匹配模型、告别检测模型、不安全词汇语句检测模型、用户极端情绪检测模型、多样性重采样生成模型。本领域技术人员能够了解,上述模型对于本领域技术人员而言是可基于本领域技术人员的公知技术手段或现有技术进行实现的,在本申请的实施例中并不进行具体限定,本领域技术人员可以根据实际使用场景进行选择,故不再进行赘述。
实施例一
如图2所示,该方法包括如下的步骤S201至步骤S204:
步骤S201,接收用户通过社交账号选择的至少一个虚拟聊天角色的选择指令,其中所述虚拟聊天角色至少包括如下之一的定制化属性特征:故事剧情、语言风格、角色性格,所述故事剧情用于建立所述虚拟聊天角色与预设故事剧情的关联属性,所述语言风格用于表征所述虚拟聊天角色的预设聊天属性,所述角色性格用于表征所述虚拟聊天角色的预设人设属性,所述虚拟聊天角色用于在聊天过程中根据所述预设故事剧情和所述角色性格以及所述语言风格动态调整预设自然语言处理模型以使对话聊天内容符合预先定制化设置,所述社交账号的唯一身份标识与所述至少一个虚拟聊天角色绑定;
步骤S202,响应于所述选择指令,并确定当前拟进行聊天的所述虚拟聊天角色;
步骤S203,接收用户输入的聊天信息,基于所述虚拟聊天角色以及预设自然语言处理模型生成符合当前语境的开放性场景对话聊天内容,其中所述聊天内容用于在用户与所述虚拟聊天角色聊天过程中实时动态切换,以符合所述虚拟聊天角色的所述语言风格,和/或所述角色性格,和/或所述故事剧情,和/或所述用户意图;
步骤S204,将所述符合当前语境的聊天内容发送至所述社交账号对应的终端。
从以上的描述中,可以看出,本申请实现了如下技术效果:
采用接收用户通过社交账号选择的至少一个虚拟聊天角色的选择指令的方式,通过响应于所述选择指令,并确定当前拟进行聊天的所述虚拟聊天角色,达到了接收用户输入的聊天信息,基于所述虚拟聊天角色以及预设自然语言处理模型生成符合当前语境的开放性场景对话聊天内容,并将所述符合当前语境的聊天内容发送至所述社交账号对应的终端的目的,从而实现了对虚拟角色人设的塑造,并结合了剧情故事等可交互的内容和长期记忆,自然生成对话内容的技术效果,进而解决了聊天机器人无法较好地处理开放交流语境下的用户聊天信息的技术问题。
上述步骤S201中后端服务器接收用户通过社交账号选择的至少一个虚拟聊天角色的选择指令。需要注意的是,所述社交账号包括但不限于用户的手机号、邮箱以及其他可用于作为账号的信息。社交账号用于表征当前用户接入聊天的方式至少包括社交聊天应用。
作为一种可选的实施方式,所述虚拟聊天角色至少包括如下之一的定制化属性特征:故事剧情、语言风格、角色性格。通过后端服务器预先配置得到多个所述虚拟聊天角色。并且,将故事剧情、语言风格、角色性格作为所述虚拟聊天角色的定制化属性特征。
具体而言,故事剧情可以分为故事开始语,故事结束语,故事暂停,自由对话,剧情支线选择,剧情话题选择等组件。
此外,语言风格配置包括但不限于预设的剧本与介绍,人物自身相关知识,人物与其他角色的关系,常用词句等。
具体而言,对于所述故事剧情用于建立所述虚拟聊天角色与预设故事剧情的关联属性,比如,虚拟聊天角色A的故事剧情是故事剧本A1,此时的故事剧本A1具有关联属性,所述虚拟聊天角色A会按照所述故事剧本A1作为聊天主线。
对于所述语言风格用于表征所述虚拟聊天角色的预设聊天属性。比如,虚拟聊天角色A的语言风格A2,此时的语言风格A2作为预设聊天属性,在所述虚拟聊天角色A聊天的过程中会模仿语言风格A2与用户进行聊天。
对于所述角色性格用于表征所述虚拟聊天角色的预设人设属性。比如,虚拟聊天角色A的角色性格A3,此时的角色性格A3预设人设属性,不论在任何聊天语境下,所述虚拟聊天角色A会依照角色性格A3与用户进行聊天。
作为一种优选的实施方式,所述虚拟聊天角色用于在聊天过程中根据所述预设故事剧情、所述角色性格以及所述语言风格动态调整预设自然语言处理模型以使对话聊天内容符合预先定制化设置,所述社交账号的唯一身份标识与所述至少一个虚拟聊天角色绑定。所述社交账号的唯一身份标识还可以与所述多个虚拟聊天角色绑定,并与所述多个虚拟聊天角色建立聊天关系。
需要注意的是,所述虚拟聊天角色用于在聊天过程中根据所述预设故事剧情和/或,所述角色性格以及所述语言风格动态调整预设自然语言处理模型以使对话聊天内容符合预先定制化设置,在某些语境下需要按照预设故事剧情的轨迹进行聊天,在另一些语境下则需要按照角色性格以及所述语言风格动态调整预设自然语言处理模型以使对话聊天内容符合预先定制化设置。另外,在某些语境下需要按照预设故事剧情以及角色性格进行聊天。
需要注意的是,所述虚拟聊天角色用于在聊天过程中根据所述预设故事剧情和/或,所述角色性格以及所述语言风格动态调整预设自然语言处理模型以使对话聊天内容符合预先定制化设置,可以基于某种预设故事剧情以及某种角色性格进行的聊天过程中语义或意图相似度阈值范围的设置,从而实现此功能。
上述步骤S202中后端服务器响应于所述选择指令,并确定当前拟进行聊天的所述虚拟聊天角色。需要注意的是,当前拟进行聊天的所述虚拟聊天角色即是用户通过用户端选择的虚拟聊天角色。根据用户的选择指令,确定至少一个所述虚拟聊天角色。
上述步骤S203中后端服务器接收用户输入的聊天信息,基于所述虚拟聊天角色以及预设自然语言处理模型生成符合当前语境的开放性场景对话聊天内容。在后端服务器生成聊天内容的时候,都会基于所述虚拟聊天角色作为考量或者占有一定的权重因素。通过自然语言模型生成的过程中能够实时动态的改变语言生成轨迹和路径,使之更符合虚拟角色的说话语气和人设。
作为一种可选的实施方式,用户输入的聊天信息包括但不限于,用户当前输入或者用户的历史输入信息即聊天记录。当开始聊天时所述预设自然语言处理模型可以使用预训练模型,先对初始的输入进行自然语言处理,分析并得到用户的意图。
作为一种优选的实施方式,所述聊天内容用于在用户与所述虚拟聊天角色聊天过程中实时动态切换,以符合所述虚拟聊天角色的所述语言风格。比如,当满足某种聊天语境的情况下,所述聊天内容会不断地随着聊天进行动态切换,从而符合所述虚拟聊天角色的所述语言风格。语言风格可以是活泼、严谨等,也可以是正式、非正式场合等。
作为一种优选的实施方式,所述聊天内容用于在用户与所述虚拟聊天角色聊天过程中实时动态切换,以符合所述虚拟聊天角色的所述角色性格。比如,当满足某种聊天语境的情况下,所述聊天内容会不断地随着聊天进行动态切换,从而符合所述虚拟聊天角色的角色性格。角色性格可以是深思熟虑,沉着冷静,善于自控,内向沉静、谨慎稳重,爱好交际、健谈等等。
作为一种优选的实施方式,所述聊天内容用于在用户与所述虚拟聊天角色聊天过程中实时动态切换,以符合所述虚拟聊天角色的所述故事剧情。比如,当满足某种聊天语境的情况下,所述聊天内容会不断地随着聊天进行动态切换,从而符合所述虚拟聊天角色的所述故事剧情。所述故事剧情可以与角色属性建立关联或者与预设故事剧本建立关联。
作为一种优选的实施方式,所述聊天内容用于在用户与所述虚拟聊天角色聊天过程中实时动态切换,以符合所述虚拟聊天角色的所述用户意图。比如,聊天过程中实时动态切换,以符合所述虚拟聊天角色的所述故事剧情。比如,当满足某种聊天语境的情况下,所述聊天内容会不断地随着聊天进行动态切换,从而符合所述虚拟聊天角色的用户意图。用户意图可以包括但不限于想聊天述说情感、需要聊天陪护、需要聊天打发时间等等。
作为一种优选的实施方式,所述聊天内容用于在用户与所述虚拟聊天角色聊天过程中实时动态切换,以符合所述虚拟聊天角色的所述语言风格,所述角色性格,所述故事剧情,和所述用户意图,即在此场景下均要满足。
上述步骤S204中后端服务器将所述符合当前语境的聊天内容发送至所述社交账号对应的终端。
作为一种可选的实施方式,所述符合当前语境的聊天内容是基于自然语言处理系统生成的且带有丰富的可交互内容。
作为一种可选的实施方式,所述符合当前语境的聊天内容是基于自然语言处理系统生成的且与所述虚拟聊天角色的属性特征是完全匹配的。
作为一种优选的实施方式,通过多轮对话信息的方式,可以校正上一轮对话过程中的相似或不清楚的用户意图。
此外,后端服务器具有对用户输入或者系统生成的不安全话语,歧视,黄暴等信息进行检测和过滤的能力,能够及时监测出异常并反馈、过滤信息。
此外,后端服务器在合适的场景下能够基于语义理解,和预设的定制化虚拟角色的人设,生成对应包括但不限于表情符号、表情包和图片,可以进一步丰富用户与该对话系统的交互体验。
作为本实施例中的优选,所述基于所述虚拟聊天角色以及预设自然语言处理模型生成符合当前语境的聊天内容,还包括:基于所述虚拟聊天角色的属性特征以及基于深度学习模型的预设自然语言处理模型,判断所述聊天内容是否满足预设聊天响应条件,其中所述基于深度学习模型的预设自然语言处理模型用于检测聊天过程中用户的对话意图以及对话情绪,并输出符合当前话题节奏的预设对话回复,所述基于深度学习模型的预设自然语言处理模型还包括:基于开源数据库加载的预训练自然语言模型,所述话题节奏包括话题主题匹配度、话题切换匹配度,所述话题主题匹配度用于表征所述当前话题是否与用户当前语境衔接匹配,所述话题切换匹配度用于表征当与当前主题不匹配时,与其他话题的匹配程度;如果判断所述聊天内容满足预设聊天响应条件,则采用对应的对话策略进行响应。
具体实施时,后端服务器基于所述虚拟聊天角色的属性特征以及基于深度学习模型的预设自然语言处理模型,判断所述聊天内容是否满足预设聊天响应条件。所述基于深度学习模型的预设自然语言处理模型能够检测用户的对话意图和对话情绪,并给出符合话题节奏的流畅对话回复。
需要注意的是,本领域技术人员可以通过多种方式建立基于深度学习模型的预设自然语言处理模型,在本申请的实施例中并不进行具体限定。
所述基于深度学习模型的预设自然语言处理模型用于检测聊天过程中用户的对话意图以及对话情绪,并输出符合当前话题节奏的预设对话回复。所述话题节奏包括话题主题匹配度、话题切换匹配度。对于整个话题节奏的把控,可以通过与话题主题是否匹配或者对于话题切换的响应时间来作为参考。
比如,对话意图可以通过自然语言处理模型进行识别,分析并得到用户在当前语境下的意图。同时,对话情绪可以通过情绪模型进行判断,分析并得到用户在当前语境下的与意图关联的情绪或者,基于情绪而影响的用户意图。
所述基于深度学习模型的预设自然语言处理模型还包括:基于开源数据库加载的预训练自然语言模型,所述话题节奏包括话题主题匹配度、话题切换匹配度,所述话题主题匹配度用于表征所述当前话题是否与用户当前语境衔接匹配,所述话题切换匹配度用于表征当与当前主题不匹配时,与其他话题的匹配程度;如果判断所述聊天内容满足预设聊天响应条件,则采用对应的对话策略进行响应。
具体实施时,基于开源数据库加载的预训练自然语言模型可以是huggingfacetransformers库加载开源的预训练模型。
其中,所述话题节奏包括话题主题匹配度、话题切换匹配度,所述话题主题匹配度用于表征所述当前话题是否与用户当前语境衔接匹配,所述话题切换匹配度用于表征当与当前主题不匹配时,与其他话题的匹配程度。这些作为参考指标或者阈值范围调整话题节奏。
其中,如果判断所述聊天内容满足预设聊天响应条件,则采用对应的对话策略进行响应。也就是说,如果满足预设的预设聊天响应条件,则可以调用对应的处理模型或者数据库对聊天内容进行响应。
作为本实施例中的优选,所述接收用户输入的聊天信息,基于所述虚拟聊天角色以及预设自然语言处理模型生成符合当前语境的聊天内容包括:识别所述用户输入的多轮聊天信息,检测定位得到所述虚拟聊天角色的角色预设知识库;根据所述角色预设知识库,搜索并匹配出答案信息;将所述答复信息与预设自然语言处理模型,生成融合所述答案信息且符合当前语境的聊天内容,所述聊天内容具有与用户具有可交互性的所述语言风格和所述故事剧情,以及符合所述虚拟聊天角色的角色性格。
具体实施时,后端服务器通过识别所述用户输入的多轮聊天信息,并检测、定位得到所述虚拟聊天角色的角色预设知识库;根据所述角色预设知识库,搜索并匹配出答案信息。即自然语言处理系统可以识别用户对于角色知识库的问询并通过搜过匹配的方式关联最相关的答案,并把答案融合到自然语言生成的过程当中去。然后,后端服务器将所述答复信息与预设自然语言处理模型,生成融合所述答案信息且符合当前语境的聊天内容,所述聊天内容具有与用户具有可交互性的所述语言风格和所述故事剧情,以及符合所述虚拟聊天角色的角色性格。
也就是说,当前语境下的聊天内容是具有与用户具有可交互性的所述语言风格和所述故事剧情并且符合所述虚拟聊天角色的角色性格。
作为本实施例中的优选,所述接收用户通过社交账号选择的至少一个虚拟聊天角色的选择指令之前,还包括:所述服务端预先配置动态调整机制,通过所述动态调整机制用以根据当前语境和/或所述故事剧情,判断用户情感信息并分析用户意图;根据所述用户情感信息以及所述用户意图,判断是否需要切换当前聊天话题;如果是,则中断结束当前故事剧情并切换至目标聊天话题之后生成新的聊天内容,再与用户继续进行下一轮聊天,其中所述目标聊天话题包括与用户当前情感相同或相似的话题;如果否,则按照所述故事剧情与用户继续进行下一轮聊天并保持对用户意图的监听。
具体实施时,后端服务器预先配置动态调整机制,并且需要通过所述动态调整机制用以根据当前语境和/或所述故事剧情,判断用户情感信息并分析用户意图,所述动态调整机制可以根据实际使用情况进行选择或者配置。
根据所述用户情感信息以及所述用户意图,判断是否需要切换当前聊天话题;如果是,则中断结束当前故事剧情并切换至目标聊天话题之后生成新的聊天内容,再与用户继续进行下一轮聊天,其中所述目标聊天话题包括与用户当前情感相同或相似的话题。当满足条件后,则会中断当前的故事剧情并切换至目标聊天话题之后生成新的聊天内容。比如,虚拟聊天角色正在进行基于故事剧情的聊天内容交互,但是聊天过程中发现用户的情绪或者话题发生了变化,这时所述虚拟聊天角色会停止当前的故事剧情,并进行相应的聊天或者陪护。
如果否,则按照所述故事剧情与用户继续进行下一轮聊天并保持对用户意图的监听。即继续监听下一轮聊天内容,直到根据所述用户情感信息以及所述用户意图,判断是否需要切换当前聊天话题时再进行切换。
作为本实施例中的优选,所述接收用户通过社交账号选择的至少一个虚拟聊天角色的选择指令之前,还包括:所述服务端预先通过动态提示词配置知识库,通过所述知识库定制在不同对话阶段中所述虚拟聊天角色所需的背景信息以及知识;配置所述虚拟聊天角色的所述故事剧情、所述语言风格以及所述角色性格,得到所述虚拟聊天角色的定制化属性特征;所述接收用户输入的聊天信息,基于所述虚拟聊天角色以及预设自然语言处理模型生成符合当前语境的开放性场景对话聊天内容,包括:接收用户输入的聊天信息,基于所述虚拟聊天角色的定制化属性特征与当前对话所处的开放性场景,通过所述预设自然语言处理模型生成符合当前语境的所述开放性场景的对话聊天内容。
具体实施时,对于所述的虚拟聊天角色,所述服务端预先通过动态提示词配置知识库,通过所述知识库定制在不同对话阶段中所述虚拟聊天角色所需的背景信息以及知识。背景信息可以包括但不限于剧情相关的、人设相关的或者是语气相关的。知识可以作为对应的知识库建立。进一步,在所述后端服务器接收用户输入的聊天信息,基于所述虚拟聊天角色的定制化属性特征与当前对话所处的开放性场景,通过所述预设自然语言处理模型生成符合当前语境的所述开放性场景的对话聊天内容。
通过采用动态提示词的形式定制不同对话阶段中对话体统需要的背景和知识等信息。由此生成的角色对话具有对预设剧本和人设的强模仿性。
作为本实施例中的优选,所述接收用户输入的聊天信息,基于所述虚拟聊天角色以及预设自然语言处理模型生成符合当前语境的开放性场景对话聊天内容,其中所述聊天内容用于在用户与所述虚拟聊天角色聊天过程中实时动态切换,以符合所述虚拟聊天角色的所述语言风格,和/或所述角色性格,和/或所述故事剧情,和/或所述用户意图包括:根据所述用户输入的聊天信息,区分并分离出所述虚拟聊天角色对用户的长期知识记忆以及短期知识记忆,其中,所述用户输入的聊天信息包括当前聊天信息或历史聊天信息,所述长期知识记忆用于作为用户积累且在一定周期内的有效信息,所述短期知识记忆用以作为用户非固定且非周期性的随机信息;基于所述虚拟聊天角色对用户的长期知识记忆以及短期知识记忆,在与用户聊天过程中匹配时,调用所述长期知识记忆以及短期知识记忆并与所述预设自然语言处理模型一同生成符合当前语境的开放性场景对话聊天内容。
具体实施时,后端服务器根据所述用户输入的聊天信息,区分并分离出所述虚拟聊天角色对用户的长期知识记忆以及短期知识记忆。进一步后端服务器可以基于所述虚拟聊天角色对用户的长期知识记忆以及短期知识记忆,在与用户聊天过程中匹配时,调用所述长期知识记忆以及短期知识记忆并与所述预设自然语言处理模型一同生成符合当前语境的开放性场景对话聊天内容。通过对长期和短期知识记忆进行了分离,并对用户和虚拟角色的知识单独用子模块处理,实现了一套知识归纳,知识搜索与匹配,冲突检测,融合生成的后端服务体系,从而能够大幅提升对话聊天机器人在长期记忆方面的表现。
其中,所述用户输入的聊天信息包括当前聊天信息或历史聊天信息,所述长期知识记忆用于作为用户积累且在一定周期内的有效信息,所述短期知识记忆用以作为用户非固定且非周期性的随机信息。通过后端服务器能够实时检测生成内容和历史对话记录里的短期和长期记忆是否有冲突,并把相关知识融入到自然语言生成的过程中。
作为本实施例中的优选,所述方法还包括实时检测生成的所述对话聊天内容与所述预设记忆系统中的历史对话记录的的短期记忆和/或长期记忆是否存在冲突;若存在内容冲突,则调用记忆信息并通过所述预设自然语言处理模型生成得到符合当前语境的与所述记忆信息关联的自然语言对话聊天内容。
具体实施时,后端服务器能够实时检测生成内容和历史对话记录里的短期和长期记忆是否有冲突,并把相关记忆相关的内容(知识信息)融入到自然语言生成的过程中。后端服务器若检测出存在内容冲突,则调用所述预设记忆系统中的记忆信息并通过预设机器人对话系统调整得到符合当前语境的与所述记忆信息关联的自然语言对话聊天内容。后端服务器若检测出不存在内容冲突,则不会触发相关操作。
需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
实施列二
根据本申请实施例,还提供了一种用于实施上述方法的基于虚拟聊天角色的聊天装置用于服务端,如图3所示,该装置包括:
接收模块301,用于接收用户通过社交账号选择的至少一个虚拟聊天角色的选择指令,其中所述虚拟聊天角色至少包括如下之一的定制化属性特征:故事剧情、语言风格、角色性格,所述故事剧情用于建立所述虚拟聊天角色与预设故事剧情的关联属性,所述语言风格用于表征所述虚拟聊天角色的预设聊天属性,所述角色性格用于表征所述虚拟聊天角色的预设人设属性,所述虚拟聊天角色用于在聊天过程中根据所述预设故事剧情和所述角色性格动态调整预设自然语言处理模型以使对话聊天内容符合预先定制化设置,所述社交账号的唯一身份标识与所述至少一个虚拟聊天角色绑定;
响应模块302,用于响应于所述选择指令,并确定当前拟进行聊天的所述虚拟聊天角色;
生成模块303,用于接收用户输入的聊天信息,基于所述虚拟聊天角色以及预设自然语言处理模型生成符合当前语境的开放性场景对话聊天内容,其中所述聊天内容用于在用户与所述虚拟聊天角色聊天过程中实时动态切换,以符合所述虚拟聊天角色的所述语言风格,和/或所述角色性格,和/或所述故事剧情,和/或所述用户意图;
发送模块304,用于将所述符合当前语境的聊天内容发送至所述社交账号对应的终端。
本申请实施例中的接收模块301中后端服务器接收用户通过社交账号选择的至少一个虚拟聊天角色的选择指令。需要注意的是,所述社交账号包括但不限于用户的手机号、邮箱以及其他可用于作为账号的信息。社交账号用于表征当前用户接入聊天的方式至少包括社交聊天应用。
作为一种可选的实施方式,所述虚拟聊天角色至少包括如下之一的定制化属性特征:故事剧情、语言风格、角色性格。通过后端服务器预先配置得到多个所述虚拟聊天角色。并且,将故事剧情、语言风格、角色性格作为所述虚拟聊天角色的定制化属性特征。
具体而言,故事剧情可以分为故事开始语,故事结束语,故事暂停,自由对话,剧情支线选择,剧情话题选择等组件。
此外,语言风格配置包括但不限于预设的剧本与介绍,人物自身相关知识,人物与其他角色的关系,常用词句等。
具体而言,对于所述故事剧情用于建立所述虚拟聊天角色与预设故事剧情的关联属性,比如,虚拟聊天角色A的故事剧情是故事剧本A1,此时的故事剧本A1具有关联属性,所述虚拟聊天角色A会按照所述故事剧本A1作为聊天主线。
对于所述语言风格用于表征所述虚拟聊天角色的预设聊天属性。比如,虚拟聊天角色A的语言风格A2,此时的语言风格A2作为预设聊天属性,在所述虚拟聊天角色A聊天的过程中会模仿语言风格A2与用户进行聊天。
对于所述角色性格用于表征所述虚拟聊天角色的预设人设属性。比如,虚拟聊天角色A的角色性格A3,此时的角色性格A3预设人设属性,不论在任何聊天语境下,所述虚拟聊天角色A会依照角色性格A3与用户进行聊天。
作为一种优选的实施方式,所述虚拟聊天角色用于在聊天过程中根据所述预设故事剧情、所述角色性格动态调整预设自然语言处理模型以使对话聊天内容符合预先定制化设置,所述社交账号的唯一身份标识与所述至少一个虚拟聊天角色绑定。所述社交账号的唯一身份标识还可以与所述多个虚拟聊天角色绑定,并与所述多个虚拟聊天角色建立聊天关系。
需要注意的是,所述虚拟聊天角色用于在聊天过程中根据所述预设故事剧情和/或,所述角色性格以及所述语言风格动态调整预设自然语言处理模型以使对话聊天内容符合预先定制化设置,在某些语境下需要按照预设故事剧情的轨迹进行聊天,在另一些语境下则需要按照角色性格以及所述语言风格动态调整预设自然语言处理模型以使对话聊天内容符合预先定制化设置。另外,在某些语境下需要按照预设故事剧情以及角色性格进行聊天。
需要注意的是,所述虚拟聊天角色用于在聊天过程中对所述预设故事剧情和/或,所述角色性格以及所述语言风格动态调整预设自然语言处理模型以使对话聊天内容符合预先定制化设置,可以基于某种预设故事剧情以及某种角色性格进行的聊天过程中语义或意图相似度阈值范围的设置,从而实现此功能。
本申请实施例中的响应模块302中后端服务器响应于所述选择指令,并确定当前拟进行聊天的所述虚拟聊天角色。需要注意的是,当前拟进行聊天的所述虚拟聊天角色即是用户通过用户端选择的虚拟聊天角色。根据用户的选择指令,确定至少一个所述虚拟聊天角色。
本申请实施例中的生成模块303中后端服务器接收用户输入的聊天信息,基于所述虚拟聊天角色以及预设自然语言处理模型生成符合当前语境的开放性场景对话聊天内容。在后端服务器生成聊天内容的时候,都会基于所述虚拟聊天角色作为考量或者占有一定的权重因素。通过自然语言模型生成的过程中能够实时动态的改变语言生成轨迹和路径,使之更符合虚拟角色的说话语气和人设。
作为一种可选的实施方式,用户输入的聊天信息包括但不限于,用户当前输入或者用户的历史输入信息即聊天记录。当开始聊天时所述预设自然语言处理模型可以使用预训练模型,先对初始的输入进行自然语言处理,分析并得到用户的意图。
作为一种优选的实施方式,所述聊天内容用于在用户与所述虚拟聊天角色聊天过程中实时动态切换,以符合所述虚拟聊天角色的所述语言风格。比如,当满足某种聊天语境的情况下,所述聊天内容会不断地随着聊天进行动态切换,从而符合所述虚拟聊天角色的所述语言风格。语言风格可以是活泼、严谨等,也可以是正式、非正式场合等。
作为一种优选的实施方式,所述聊天内容用于在用户与所述虚拟聊天角色聊天过程中实时动态切换,以符合所述虚拟聊天角色的所述角色性格。比如,当满足某种聊天语境的情况下,所述聊天内容会不断地随着聊天进行动态切换,从而符合所述虚拟聊天角色的角色性格。角色性格可以是深思熟虑,沉着冷静,善于自控,内向沉静、谨慎稳重,爱好交际、健谈等等。
作为一种优选的实施方式,所述聊天内容用于在用户与所述虚拟聊天角色聊天过程中实时动态切换,以符合所述虚拟聊天角色的所述故事剧情。比如,当满足某种聊天语境的情况下,所述聊天内容会不断地随着聊天进行动态切换,从而符合所述虚拟聊天角色的所述故事剧情。所述故事剧情可以与角色属性建立关联或者与预设故事剧本建立关联。
作为一种优选的实施方式,所述聊天内容用于在用户与所述虚拟聊天角色聊天过程中实时动态切换,以符合所述虚拟聊天角色的所述用户意图。比如,聊天过程中实时动态切换,以符合所述虚拟聊天角色的所述故事剧情。比如,当满足某种聊天语境的情况下,所述聊天内容会不断地随着聊天进行动态切换,从而符合所述虚拟聊天角色的用户意图。用户意图可以包括但不限于想聊天述说情感、需要聊天陪护、需要聊天打发时间等等。
作为一种优选的实施方式,所述聊天内容用于在用户与所述虚拟聊天角色聊天过程中实时动态切换,以符合所述虚拟聊天角色的所述语言风格,所述角色性格,所述故事剧情,和所述用户意图,即在此场景下均要满足。
本申请实施例中的发送模块304中后端服务器将所述符合当前语境的聊天内容发送至所述社交账号对应的终端。
作为一种可选的实施方式,所述符合当前语境的聊天内容是基于自然语言处理系统生成的且带有丰富的可交互内容。
作为一种可选的实施方式,所述符合当前语境的聊天内容是基于自然语言处理系统生成的且与所述虚拟聊天角色的属性特征是完全匹配的。
作为一种优选的实施方式,通过多轮对话信息的方式,可以校正上一轮对话过程中的相似或不清楚的用户意图。
此外,后端服务器具有对用户输入或者系统生成的不安全话语,歧视,黄暴等信息进行检测和过滤的能力,能够及时监测出异常并反馈、过滤信息。
此外,后端服务器在合适的场景下能够基于语义理解,和预设的定制化虚拟角色的人设,生成对应包括但不限于表情符号、表情包和图片,可以进一步丰富用户与该对话系统的交互体验。
显然,本领域的技术人员应该明白,上述的本申请的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本申请不限制于任何特定的硬件和软件结合。
为了更好的理解上述的方法流程,以下结合优选实施例对上述技术方案进行解释说明,但不用于限定本发明实施例的技术方案。
本申请实施例中基于虚拟聊天角色的聊天方法方法,解决相关技术中在树立不同的鲜明人设,多轮对话,长期记忆等方向有明显缺陷。
基于自然语言处理以及深度学习为基础的后台服务端,能够把虚拟角色人设和故事与开放性场景对话生成结合到一起。在建立虚拟聊天角色的过程中采用动态提示词的形式定制不同对话阶段中对话体统需要的背景和知识等信息。由此生成的角色对话具有对预设剧本和人设的强模仿性。此外,后端服务器对长期和短期知识记忆进行了单独分离,并对用户和虚拟角色的知识单独用子模块处理,实现了一套知识归纳,知识搜索与匹配,冲突检测,融合生成的系统,能够大幅提升对话聊天机器人在长期记忆方面的表现。
如图4所示,用户端输入的的包括但不限于用户的聊天信息,所述聊天信息包括但不限于视频、声音以及图片的形式。输入还包括聊天信息回发反应。
在后端服务器建立一个以自然语言处理与深度学习为基础的自然语言处理模型,能够把虚拟角色人设和故事与开放性场景对话生成结合到一起。可以根据用户对话信息和历史聊天记录,以及预先为该虚拟角色人设打造的故事剧情和语言风格配置,生成富有交互性和符合定制化角色的人设故事的对话,并能够融合定制化角色的长期知识与记忆。
后端服务器中包括但不限于:结束打断功能、自由聊天功能以及话题选择功能。后端服务器是通过python flask服务器框架进行开发,能够对收到的网络请求进行预处理,并通过开发的不同API调用接口实现业务和商业逻辑。
此外后端服务器采用了SQL数据库记录用户的基本信息和聊天记录即作为聊天用户数据库。后端服务器中还包括了算法模块(GPU服务器),算法模块也通过python flask框架与后端服务器模块进行交互,其中自然语言处理的框架采用了pytorch和TensorFlow深度学习框架,同时结合了huggingface transformers库加载开源的预训练模型。此外,算法模块另实现了深度学习框架底层加速提高了模型的运行速度,同时轻量级的模型实现了多线程CPU和GPU的并行增加系统处理吞吐量和处理效率。
如图5所示,是本申请实施例中基于虚拟聊天角色的聊天方法的流程示意图,具体包括如下步骤:
步骤S501,服务端接收用户通过社交账号选择的至少一个虚拟聊天角色的选择指令,其中所述虚拟聊天角色至少包括如下之一的定制化属性特征:故事剧情、语言风格、角色性格,所述故事剧情用于建立所述虚拟聊天角色与预设故事剧情的关联属性,所述语言风格用于表征所述虚拟聊天角色的预设聊天属性,所述角色性格用于表征所述虚拟聊天角色的预设人设属性,所述虚拟聊天角色用于在聊天过程中对所述预设故事剧情和所述角色性格以及所述语言风格动态调整预设自然语言处理模型以使对话聊天内容符合预先定制化设置,所述社交账号的唯一身份标识与所述至少一个虚拟聊天角色绑定。
步骤S502,服务端响应于所述选择指令,并确定当前拟进行聊天的所述虚拟聊天角色。
步骤S503,服务端接收用户输入的聊天信息,基于所述虚拟聊天角色以及预设自然语言处理模型生成符合当前语境的开放性场景对话聊天内容,其中所述聊天内容用于在用户与所述虚拟聊天角色聊天过程中实时动态切换,以符合所述虚拟聊天角色的所述语言风格,和/或所述角色性格,和/或所述故事剧情,和/或所述用户意图。
步骤S5031,识别所述用户输入的多轮聊天信息,判断是否开始检测虚拟聊天角色。
步骤S5032,识别所述用户输入的多轮聊天信息,检测定位得到所述虚拟聊天角色的角色预设知识库.
步骤S5033,根据所述角色预设知识库,搜索并匹配出答案信息。
步骤S5034,将所述答复信息与预设自然语言处理模型,生成融合所述答案信息且符合当前语境的聊天内容,所述聊天内容具有与用户具有可交互性的所述语言风格和所述故事剧情,以及符合所述虚拟聊天角色的角色性格。
具体实施时,后端服务器通过识别所述用户输入的多轮聊天信息,并检测、定位得到所述虚拟聊天角色的角色预设知识库;根据所述角色预设知识库,搜索并匹配出答案信息。即自然语言处理系统可以识别用户对于角色知识库的问询并通过搜过匹配的方式关联最相关的答案,并把答案融合到自然语言生成的过程当中去。然后,后端服务器将所述答复信息与预设自然语言处理模型,生成融合所述答案信息且符合当前语境的聊天内容,所述聊天内容具有与用户具有可交互性的所述语言风格和所述故事剧情,以及符合所述虚拟聊天角色的角色性格。
也就是说,当前语境下的聊天内容是具有与用户具有可交互性的所述语言风格和所述故事剧情并且符合所述虚拟聊天角色的角色性格。
步骤S5035,基于所述虚拟聊天角色的属性特征以及基于深度学习模型的预设自然语言处理模型,判断所述聊天内容是否满足预设聊天响应条件。
步骤S5036,基于所述虚拟聊天角色的属性特征以及基于深度学习模型的预设自然语言处理模型,判断所述聊天内容满足预设聊天响应条件,其中所述基于深度学习模型的预设自然语言处理模型用于检测聊天过程中用户的对话意图以及对话情绪,并输出符合当前话题节奏的预设对话回复,所述基于深度学习模型的预设自然语言处理模型还包括:
基于开源数据库加载的预训练自然语言模型,所述话题节奏包括话题主题匹配度、话题切换匹配度,所述话题主题匹配度表示是否与当前话题衔接匹配,所述话题切换匹配度是当与当前主题不匹配时,与其他话题的匹配程度。
具体实施时,在后端服务器可以预先配置话题主题匹配度、话题切换匹配度的权重。比如,当所述话题主题匹配度命中符合当前话题节奏的预设对话回复次数更多时,所述话题主题匹配度的权重会高于所述话题切换匹配度的权重。当然可以理解,当所述话题切换匹配度命中符合当前话题节奏的预设对话回复次数更多时,此时话题切换匹配度的权重会高于所述话题主题匹配度的权重。可以理解,所述话题主题匹配度、话题切换匹配度均需要判别是否与当前自然语言处理结果匹配。
此外,在后端服务器也可以基于机器学习结果,动态调整话题主题匹配度、话题切换匹配度的权重占比。比如,当话题主题匹配度优先时采用机器学习的结果为更加符合当前话题节奏的预设对话回复次,则调整对应权重。
需要注意的是,话题切换匹配度以及话题主题匹配度仅为举例,并不用于限定本申请实施例中的实施方式。
步骤S5037,如果判断所述聊天内容满足预设聊天响应条件,则采用对应的对话策略进行响应。
需要注意的是,步骤S5035-步骤S5037中基于话题的对话,也会(需要)通过步骤S5032-步骤S5034的来检测相关知识搜索匹配并进行动态融合。
后端服务器基于所述虚拟聊天角色的属性特征以及基于深度学习模型的预设自然语言处理模型,判断所述聊天内容是否满足预设聊天响应条件。所述基于深度学习模型的预设自然语言处理模型能够检测用户的对话意图和对话情绪,并给出符合话题节奏的流畅对话回复。
需要注意的是,本领域技术人员可以通过多种方式建立基于深度学习模型的预设自然语言处理模型,在本申请的实施例中并不进行具体限定。
所述基于深度学习模型的预设自然语言处理模型用于检测聊天过程中用户的对话意图以及对话情绪,并输出符合当前话题节奏的预设对话回复。所述话题节奏包括话题主题匹配度、话题切换匹配度。对于整个话题节奏的把控,可以通过与话题主题是否匹配或者对于话题切换的响应时间来作为参考。
比如,对话意图可以通过自然语言处理模型进行识别,分析并得到用户在当前语境下的意图。同时,对话情绪可以通过情绪模型进行判断,分析并得到用户在当前语境下的与意图关联的情绪或者,基于情绪而影响的用户意图。
所述基于深度学习模型的预设自然语言处理模型还包括:基于开源数据库加载的预训练自然语言模型,所述话题节奏包括话题主题匹配度、话题切换匹配度,所述话题主题匹配度用于表征所述当前话题是否与用户当前语境衔接匹配,所述话题切换匹配度用于表征在不同话题之间进行切换时的响应时间;如果判断所述聊天内容满足预设聊天响应条件,则采用对应的对话策略进行响应。
具体实施时,基于开源数据库加载的预训练自然语言模型可以是huggingfacetransformers库加载开源的预训练模型。
其中,所述话题节奏包括话题主题匹配度、话题切换匹配度,所述话题主题匹配度用于表征所述当前话题是否与用户当前语境衔接匹配,所述话题切换匹配度用于表征在不同话题之间进行切换时的响应时间。这些作为参考指标或者阈值范围调整话题节奏。
其中,如果判断所述聊天内容满足预设聊天响应条件,则采用对应的对话策略进行响应。也就是说,如果满足预设的预设聊天响应条件,则可以调用对应的处理模型或者数据库对聊天内容进行响应。
步骤S504,服务端将所述符合当前语境的聊天内容发送至所述社交账号对应的终端。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (10)
1.一种基于虚拟聊天角色的聊天方法,其特征在于,用于服务端,所述方法包括:
接收用户通过社交账号选择的至少一个虚拟聊天角色的选择指令,其中所述虚拟聊天角色至少包括如下之一的定制化属性特征:故事剧情、语言风格、角色性格,所述故事剧情用于建立所述虚拟聊天角色与预设故事剧情的关联属性,所述语言风格用于表征所述虚拟聊天角色的预设聊天属性,所述角色性格用于表征所述虚拟聊天角色的预设人设属性,所述虚拟聊天角色用于在聊天过程中根据所述预设故事剧情、所述角色性格以及所述语言风格动态调整预设自然语言处理模型以使对话聊天内容符合预先定制化设置,所述社交账号的唯一身份标识与所述至少一个虚拟聊天角色绑定;
响应于所述选择指令,并确定当前拟进行聊天的所述虚拟聊天角色;
接收用户输入的聊天信息,基于所述虚拟聊天角色以及所述预设自然语言处理模型生成符合当前语境的开放性场景对话聊天内容,其中所述聊天内容用于在用户与所述虚拟聊天角色聊天过程中实时动态切换,以符合所述虚拟聊天角色的所述语言风格,和/或所述角色性格,和/或所述故事剧情,和/或所述用户意图;
将所述符合当前语境的聊天内容发送至所述社交账号对应的终端。
2.根据权利要求1所述的方法,其特征在于,所述基于所述虚拟聊天角色以及预设自然语言处理模型生成符合当前语境的聊天内容,还包括:
基于所述虚拟聊天角色的属性特征以及基于深度学习模型的预设自然语言处理模型,判断所述聊天内容是否满足预设聊天响应条件,其中所述基于深度学习模型的预设自然语言处理模型用于检测聊天过程中用户的对话意图以及对话情绪,并输出符合当前话题节奏的预设对话回复,所述基于深度学习模型的预设自然语言处理模型还包括:基于开源数据库加载的预训练自然语言模型,所述话题节奏包括话题主题匹配度、话题切换匹配度,所述话题主题匹配度用于表征所述当前话题是否与用户当前语境衔接匹配,所述话题切换匹配度用于表征在不同话题之间进行切换时的响应时间;
如果判断所述聊天内容满足预设聊天响应条件,则采用对应的对话策略进行响应。
3.根据权利要求2所述的方法,其特征在于,所述接收用户输入的聊天信息,基于所述虚拟聊天角色以及预设自然语言处理模型生成符合当前语境的聊天内容包括:
识别所述用户输入的多轮聊天信息,检测定位得到所述虚拟聊天角色的角色预设知识库;
根据所述角色预设知识库,搜索并匹配出答案信息;
将所述答复信息与预设自然语言处理模型,生成融合所述答案信息且符合当前语境的聊天内容,所述聊天内容具有与用户具有可交互性的所述语言风格和所述故事剧情,以及符合所述虚拟聊天角色的角色性格。
4.根据权利要求1所述的方法,其特征在于,所述接收用户通过社交账号选择的至少一个虚拟聊天角色的选择指令之前,还包括:
所述服务端预先配置动态调整机制,通过所述动态调整机制用以根据当前语境和/或所述故事剧情,判断用户情感信息并分析用户意图;
根据所述用户情感信息以及所述用户意图,判断是否需要切换当前聊天话题;
如果是,则中断结束当前故事剧情并切换至目标聊天话题之后生成新的聊天内容,再与用户继续进行下一轮聊天,其中所述目标聊天话题包括与用户当前情感相同或相似的话题;
如果否,则按照所述故事剧情与用户继续进行下一轮聊天并保持对用户意图的监听。
5.根据权利要求1所述的方法,其特征在于:
所述接收用户通过社交账号选择的至少一个虚拟聊天角色的选择指令之前,还包括:
所述服务端预先通过动态提示词配置知识库,通过所述知识库定制在不同对话阶段中所述虚拟聊天角色所需的背景信息以及知识;
配置所述虚拟聊天角色的所述故事剧情、所述语言风格以及所述角色性格,得到所述虚拟聊天角色的定制化属性特征;
所述接收用户输入的聊天信息,基于所述虚拟聊天角色以及预设自然语言处理模型生成符合当前语境的开放性场景对话聊天内容,包括:
接收用户输入的聊天信息,基于所述虚拟聊天角色的定制化属性特征与当前对话所处的开放性场景,通过所述预设自然语言处理模型生成符合当前语境的所述开放性场景的对话聊天内容。
6.根据权利要求1所述的方法,其特征在于,所述接收用户输入的聊天信息,基于所述虚拟聊天角色以及预设自然语言处理模型生成符合当前语境的开放性场景对话聊天内容,其中所述聊天内容用于在用户与所述虚拟聊天角色聊天过程中实时动态切换,以符合所述虚拟聊天角色的所述语言风格,和/或所述角色性格,和/或所述故事剧情,和/或所述用户意图包括:
根据所述用户输入的聊天信息,区分并分离出所述虚拟聊天角色对用户的长期知识记忆以及短期知识记忆,其中,所述用户输入的聊天信息包括当前聊天信息或历史聊天信息,所述长期知识记忆用于作为用户积累且在一定周期内的有效信息,所述短期知识记忆用以作为用户非固定且非周期性的随机信息;
基于所述虚拟聊天角色对用户的长期知识记忆以及短期知识记忆,在与用户聊天过程中匹配时,调用所述长期知识记忆以及短期知识记忆并与所述预设自然语言处理模型一同生成符合当前语境的开放性场景对话聊天内容。
7.根据权利要求6所述的方法,其特征在于,还包括:
实时检测生成的所述对话聊天内容与所述预设记忆系统中的历史对话记录的的短期记忆和/或长期记忆是否存在冲突;
若存在内容冲突,则调用记忆信息并通过所述预设自然语言处理模型生成得到符合当前语境的与所述记忆信息关联的自然语言对话聊天内容。
8.一种基于虚拟聊天角色的聊天装置,其特征在于,用于服务端,所述装置包括:
接收模块,用于接收用户通过社交账号选择的至少一个虚拟聊天角色的选择指令,其中所述虚拟聊天角色至少包括如下之一的定制化属性特征:故事剧情、语言风格、角色性格,所述故事剧情用于建立所述虚拟聊天角色与预设故事剧情的关联属性,所述语言风格用于表征所述虚拟聊天角色的预设聊天属性,所述角色性格用于表征所述虚拟聊天角色的预设人设属性,所述虚拟聊天角色用于在聊天过程中根据所述预设故事剧情、所述角色性格以及所述语言风格动态调整预设自然语言处理模型以使对话聊天内容符合预先定制化设置,所述社交账号的唯一身份标识与所述至少一个虚拟聊天角色绑定;
响应模块,用于响应于所述选择指令,并确定当前拟进行聊天的所述虚拟聊天角色;
生成模块,用于接收用户输入的聊天信息,基于所述虚拟聊天角色以及预设自然语言处理模型生成符合当前语境的开放性场景对话聊天内容,其中所述聊天内容用于在用户与所述虚拟聊天角色聊天过程中实时动态切换,以符合所述虚拟聊天角色的所述语言风格,和/或所述角色性格,和/或所述故事剧情,和/或所述用户意图;
发送模块,用于将所述符合当前语境的聊天内容发送至所述社交账号对应的终端。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行所述权利要求1至7任一项所述的方法。
10.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行所述权利要求1至7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111267221.1A CN113987148A (zh) | 2021-10-28 | 2021-10-28 | 基于虚拟聊天角色的聊天方法以及相关装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111267221.1A CN113987148A (zh) | 2021-10-28 | 2021-10-28 | 基于虚拟聊天角色的聊天方法以及相关装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113987148A true CN113987148A (zh) | 2022-01-28 |
Family
ID=79743943
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111267221.1A Pending CN113987148A (zh) | 2021-10-28 | 2021-10-28 | 基于虚拟聊天角色的聊天方法以及相关装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113987148A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115002053A (zh) * | 2022-06-14 | 2022-09-02 | 北京百度网讯科技有限公司 | 互动方法、装置和电子设备 |
CN115103237A (zh) * | 2022-06-13 | 2022-09-23 | 咪咕视讯科技有限公司 | 视频处理方法、装置、设备及计算机可读存储介质 |
CN116483983A (zh) * | 2023-06-25 | 2023-07-25 | 启智元慧(杭州)科技有限公司 | 一种虚拟人物情绪变化量的生成方法及相关设备 |
CN116627261A (zh) * | 2023-07-25 | 2023-08-22 | 安徽淘云科技股份有限公司 | 交互方法、装置、存储介质和电子设备 |
CN117332823A (zh) * | 2023-11-28 | 2024-01-02 | 浪潮电子信息产业股份有限公司 | 目标内容自动生成方法、装置、电子设备及可读存储介质 |
WO2024077878A1 (zh) * | 2022-10-13 | 2024-04-18 | 深圳市人马互动科技有限公司 | 语音外呼处理方法及相关装置 |
WO2024098989A1 (zh) * | 2022-11-09 | 2024-05-16 | 北京欧珀通信有限公司 | 信息存储方法、装置、电子设备及存储介质 |
-
2021
- 2021-10-28 CN CN202111267221.1A patent/CN113987148A/zh active Pending
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115103237A (zh) * | 2022-06-13 | 2022-09-23 | 咪咕视讯科技有限公司 | 视频处理方法、装置、设备及计算机可读存储介质 |
CN115103237B (zh) * | 2022-06-13 | 2023-12-08 | 咪咕视讯科技有限公司 | 视频处理方法、装置、设备及计算机可读存储介质 |
CN115002053A (zh) * | 2022-06-14 | 2022-09-02 | 北京百度网讯科技有限公司 | 互动方法、装置和电子设备 |
CN115002053B (zh) * | 2022-06-14 | 2024-02-13 | 北京百度网讯科技有限公司 | 互动方法、装置和电子设备 |
WO2024077878A1 (zh) * | 2022-10-13 | 2024-04-18 | 深圳市人马互动科技有限公司 | 语音外呼处理方法及相关装置 |
WO2024098989A1 (zh) * | 2022-11-09 | 2024-05-16 | 北京欧珀通信有限公司 | 信息存储方法、装置、电子设备及存储介质 |
CN116483983A (zh) * | 2023-06-25 | 2023-07-25 | 启智元慧(杭州)科技有限公司 | 一种虚拟人物情绪变化量的生成方法及相关设备 |
CN116483983B (zh) * | 2023-06-25 | 2023-08-29 | 启智元慧(杭州)科技有限公司 | 一种虚拟人物情绪变化量的生成方法及相关设备 |
CN116627261A (zh) * | 2023-07-25 | 2023-08-22 | 安徽淘云科技股份有限公司 | 交互方法、装置、存储介质和电子设备 |
CN117332823A (zh) * | 2023-11-28 | 2024-01-02 | 浪潮电子信息产业股份有限公司 | 目标内容自动生成方法、装置、电子设备及可读存储介质 |
CN117332823B (zh) * | 2023-11-28 | 2024-03-05 | 浪潮电子信息产业股份有限公司 | 目标内容自动生成方法、装置、电子设备及可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113987148A (zh) | 基于虚拟聊天角色的聊天方法以及相关装置 | |
US11222632B2 (en) | System and method for intelligent initiation of a man-machine dialogue based on multi-modal sensory inputs | |
CN106503156B (zh) | 基于人工智能的人机交互方法及装置 | |
CN111309886B (zh) | 一种信息交互方法、装置和计算机可读存储介质 | |
US20190206407A1 (en) | System and method for personalizing dialogue based on user's appearances | |
CN114003702A (zh) | 用于聊天的数据处理方法以及相关装置 | |
US11381531B2 (en) | Systems and methods for maintaining a conversation | |
US8554541B2 (en) | Virtual pet system, method and apparatus for virtual pet chatting | |
CN110427472A (zh) | 智能客服匹配的方法、装置、终端设备及存储介质 | |
JP2017049427A (ja) | 対話制御装置、対話制御方法及びプログラム | |
CN105798918A (zh) | 一种面向智能机器人的交互方法和装置 | |
JPWO2017200072A1 (ja) | 対話方法、対話システム、対話装置、およびプログラム | |
US20190248001A1 (en) | Conversation output system, conversation output method, and non-transitory recording medium | |
CN111870935B (zh) | 业务数据处理方法、装置、计算机设备以及存储介质 | |
WO2018230345A1 (ja) | 対話ロボットおよび対話システム、並びに対話プログラム | |
CN110808038A (zh) | 普通话评测方法、装置、设备及存储介质 | |
Kao et al. | Model of multi-turn dialogue in emotional chatbot | |
CN112632242A (zh) | 智能对话方法及装置、电子设备 | |
CN114821744A (zh) | 基于表情识别的虚拟人物驱动方法、装置及设备 | |
CN112883181A (zh) | 会话消息的处理方法、装置、电子设备及存储介质 | |
US20200099634A1 (en) | Interactive Responding Method and Computer System Using the Same | |
Pulman et al. | How was your day? | |
CN117151662A (zh) | 基于ai的岗位信息处理方法、装置、设备及存储介质 | |
CN110442867A (zh) | 图像处理方法、装置、终端及计算机存储介质 | |
CN107357444A (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 |