CN115146048A - 一种多npc对话文本生成、展示方法、设备及介质 - Google Patents
一种多npc对话文本生成、展示方法、设备及介质 Download PDFInfo
- Publication number
- CN115146048A CN115146048A CN202210894310.7A CN202210894310A CN115146048A CN 115146048 A CN115146048 A CN 115146048A CN 202210894310 A CN202210894310 A CN 202210894310A CN 115146048 A CN115146048 A CN 115146048A
- Authority
- CN
- China
- Prior art keywords
- dialog
- conversation
- round
- npcs
- npc
- 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
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
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/50—Controlling the output signals based on the game progress
- A63F13/53—Controlling the output signals based on the game progress involving additional visual information provided to the game scene, e.g. by overlay to simulate a head-up display [HUD] or displaying a laser sight in a shooting game
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/60—Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/80—Special adaptations for executing a specific game genre or game mode
- A63F13/822—Strategy games; Role-playing games
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
- G06F40/35—Discourse or dialogue representation
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/60—Methods for processing data by generating or executing the game program
- A63F2300/6009—Methods for processing data by generating or executing the game program for importing or creating game content, e.g. authoring tools during game development, adapting content to different platforms, use of a scripting language to create content
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/80—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game specially adapted for executing a specific type of game
- A63F2300/807—Role playing or strategy games
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Artificial Intelligence (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Optics & Photonics (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- General Health & Medical Sciences (AREA)
- Machine Translation (AREA)
Abstract
本申请提供了一种多NPC对话文本生成、展示方法、设备及介质,上述生成方法包括:针对每场对话,确定参与每一轮对话的至少两个目标NPC并配置标准背景信息;根据上述标准背景信息,得到每一轮对话中的说话NPC和被说话对象;根据上述标准背景信息、每一轮对话中的说话NPC和被说话对象以及每一轮对话之前的历史对话,生成每一轮对话的对话文本;根据生成的每一轮对话的对话文本,生成每场对话的多轮对话文本。本申请,能够在游戏场景下处理任意NPC之间的互相聊天场景,且考虑到了游戏场景下多NPC各自的标准背景信息,提高了多NPC对话文本的生成效率且使生成的对话文本与当前游戏场景相匹配。
Description
技术领域
本申请涉及游戏技术领域,具体而言,涉及一种多NPC对话文本生成、展示方法、设备及介质。
背景技术
在大型多人在线角色扮演游戏(MassivelyMultiplayerOnlineRole-PlayingGame,MMORPG)中,存在很多非玩家角色(non-playercharacters,NPC),游戏通常会为每个NPC设计每天的活动轨迹,当两个NPC或多个NPC在游戏世界中相遇时,会触发互相聊天的场景。
目前,多NPC互相聊天的内容和NPC的基础人设、NPC当前的状态以及当前的环境(时辰、天气)有关。游戏里现有的相互聊天内容通常都是人工提前写好的。假设游戏场景中有100个NPC,NPC状态有10个,环境维度有5个,则对于两个NPC的不同组合方式将会有((100*99)/2)*(10*10)*5=2475000种,每种组合方式都可能包含多个多轮对话,这么大规模的数据都由人工提前写好,效率极低且成本极大,甚至不现实,所以需要一种自动化的方法来辅助生成多NPC的对话内容。
目前的自动化生成对话大多都是面向人机对话场景,对用户的输入进行回复,这些聊天机器人有微软小冰、阿里小蜜等。我们也可以通过让两个聊天机器人互相聊天来生成两个NPC之间的互相聊天的内容,然而,这些聊天机器人只有单个人设,比如微软小冰只有小冰这一个设定,有些聊天机器人甚至没有人设,只是一个能产生回复的聊天机器,这导致无法处理包含多样NPC的场景,因此,无法处理任意人设NPC之间互相聊天的场景,由于缺乏环境感知能力,使得对话内容和当前场景不相关。
发明内容
有鉴于此,本申请提供了一种多NPC对话文本生成、展示方法、设备及介质,能够在游戏场景下处理任意NPC之间的互相聊天场景,且考虑到了游戏场景下多NPC各自的标准背景信息,提高了多NPC对话文本的生成效率且使生成的对话文本与当前游戏场景相匹配。
本申请实施例提供了一种多NPC对话文本生成方法,所述方法包括:
针对每场对话,确定参与每一轮对话的至少两个目标NPC,并配置至少两个目标NPC的标准背景信息;其中,不同场对话中的目标NPC存在部分不同或全部不同;
根据所述至少两个目标NPC的标准背景信息,得到每一轮对话中的说话NPC和被说话对象;
根据所述至少两个目标NPC的标准背景信息、每一轮对话中的说话NPC和被说话对象以及每一轮对话之前的历史对话,生成每一轮对话的对话文本;
根据生成的每一轮对话的对话文本,生成每场对话的多轮对话文本。
本申请实施例提供的上述多NPC对话文本生成方法,能够生成游戏场景下包括多样NPC的对话文本,具体的,针对每场对话,确定参与每一轮对话的至少两个目标NPC,并配置至少两个目标NPC的标准背景信息,然后,根据至少两个目标NPC的标准背景信息,得到每一轮对话中的说话NPC和被说话对象,并根据至少两个目标NPC的标准背景信息、每一轮对话中的说话NPC和被说话对象以及每一轮对话之前的历史对话,生成每一轮对话的对话文本;最后,根据生成的每一轮对话的对话文本,生成每场对话的多轮对话文本。本申请实施例能够在游戏场景下处理任意NPC之间的互相聊天场景,且考虑到了游戏场景下多NPC各自的标准背景信息,提高了多NPC对话文本的生成效率且使生成的对话文本与当前游戏场景相匹配。
本申请实施例还提供了一种多NPC对话文本展示方法,所述方法包括:
在确定当前游戏场景下触发对话的多个对话NPC后,获取所述多个对话NPC的对话背景信息;所述对话背景信息包括:所述多个对话NPC各自的人设信息、在游戏中的当前状态信息、当前游戏环境信息和当前相遇信息;
从预先生成的每场对话的多轮对话文本中,查询与所述对话背景信息相匹配的目标多轮对话文本,并在所述游戏的游戏界面中展示所述目标多轮对话文本;其中,所述每场对话的多轮对话文本是基于第一方面任一项所述的多NPC对话文本生成方法生成的。
本申请实施例提供的上述多NPC对话文本展示方法,当多个对话NPC在当前游戏场景下触发对话后,通过多个对话NPC的对话背景信息,从预先生成好的多场多轮对话文本中,查询与上述对话背景信息相匹配的目标多轮对话文本,并在游戏的游戏界面中展示目标多轮对话文本,且上述目标多轮对话文本是基于多NPC对话文本生成的。通过这种方式,提高了多个对话NPC对话文本的展示效率,并且,展示的目标多轮对话文本能够在游戏场景下处理任意NPC之间的互相聊天场景,且考虑到了游戏场景下多NPC各自的状态信息和游戏环境信息,提高了多NPC对话文本的生成效率,且使生成的对话文本与当前游戏场景相匹配。
本申请实施例还提供了一种电子设备,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述机器可读指令,以执行如上述多NPC对话文本生成方法的步骤。
本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如上述多NPC对话文本生成方法的步骤。
本申请实施例还提供了一种电子设备,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述机器可读指令,以执行如上述多NPC对话文本展示方法的步骤。
本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如上述多NPC对话文本展示方法的步骤。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1a示出了本申请实施例提供的一种多NPC对话文本生成方法的流程图;
图1b示出了本申请实施例提供的数据准备(即Database)的示意图;
图2示出了本申请实施例提供的另一种多NPC对话文本生成方法的流程图;
图3示出了本申请实施例提供的另一种多NPC对话文本生成方法的流程图;
图4示出了本申请实施例提供的另一种多NPC对话文本生成方法的流程图;
图5示出了本申请实施例提供的另一种多NPC对话文本生成方法的流程图;
图6示出了本申请实施例提供的多NPC对话文本生成方法的完整流程图;
图7示出了本申请实施例提供的一种多NPC对话文本展示方法的流程图;
图8示出了本申请实施例提供的一种多NPC对话文本生成装置的结构示意图;
图9示出了本申请实施例提供的一种多NPC对话文本展示装置的结构示意图;
图10示出了本申请实施例提供的一种电子设备的结构示意图;
图11示出了本申请实施例提供的另一种电子设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,应当理解,本申请中附图仅起到说明和描述的目的,并不用于限定本申请的保护范围。另外,应当理解,示意性的附图并未按实物比例绘制。本申请中使用的流程图示出了根据本申请的一些实施例实现的操作。应该理解,流程图的操作可以不按顺序实现,没有逻辑的上下文关系的步骤可以反转顺序或者同时实施。此外,本领域技术人员在本申请内容的指引下,可以向流程图添加一个或多个其他操作,也可以从流程图中移除一个或多个操作。
另外,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,本申请实施例中将会用到术语“包括”,用于指出其后所声明的特征的存在,但并不排除增加其它的特征。
在目前的大型多人在线角色扮演游戏(MassivelyMultiplayerOnlineRole-PlayingGame,MMORPG)中,会存在多非玩家角色(non-playercharacters,NPC)触发聊天的场景,目前都是人工提前写好各NPC的聊天场景,但因为NPC,NPC状态和环境维度等很多,因此,人工写好对话文本,效率极低且成本极大,甚至不现实。而目前虽然有自动化辅助生成多NPC的对话内容的方法,但是这些方法无法处理包括多样NPC的场景,而且现有的对话生成方法的环境和状态都是单一的,因此,无法处理任意人设NPC之间互相聊天的场景,由于缺乏环境感知能力,使得对话内容和当前场景不相关。
基于此,本申请实施例提供了一种多NPC对话文本生成、展示方法、设备及介质,能够在游戏场景下处理任意NPC之间的互相聊天场景,且考虑到了游戏场景下多NPC各自的标准背景信息,提高了多NPC对话文本的生成效率且使生成的对话文本与当前游戏场景相匹配。
上述方法适用于MMORPG游戏中,上述MMORPG游戏可以运行于本地终端设备,也可以运行于服务器,具体的,当前上述MMORPG游戏运行于服务器中时,可以基于云交互系统来实现与执行,其中,云交互系统包括服务器和客户端设备。
在一可选的实施方式中,云交互系统下可以运行各种云应用,例如:云游戏。以云游戏为例,云游戏是指以云计算为基础的游戏方式。在云游戏的运行模式下,游戏程序的运行主体和游戏画面呈现主体是分离的,游戏加载方法的储存与运行是在云游戏服务器上完成的,客户端设备的作用用于数据的接收、发送以及游戏画面的呈现,举例而言,客户端设备可以是靠近用户侧的具有数据传输功能的显示设备,如,移动终端、电视机、计算机、掌上电脑等;但是进行信息处理的为云端的云游戏服务器。在进行游戏时,玩家操作客户端设备向云游戏服务器发送操作指令,云游戏服务器根据操作指令运行游戏,将游戏画面等数据进行编码压缩,通过网络返回客户端设备,最后,通过客户端设备进行解码并输出游戏画面。
在一可选的实施方式中,以游戏为例,本地终端设备存储有游戏程序并用于呈现游戏画面。本地终端设备用于通过图形用户界面与玩家进行交互,即,常规的通过电子设备下载安装游戏程序并运行。该本地终端设备将图形用户界面提供给玩家的方式可以包括多种,例如,可以渲染显示在终端的显示屏上,或者,通过全息投影提供给玩家。举例而言,本地终端设备可以包括显示屏和处理器,该显示屏用于呈现图形用户界面,该图形用户界面包括游戏画面,该处理器用于运行该游戏、生成图形用户界面以及控制图形用户界面在显示屏上的显示。
如图1a所示,为本申请第一实施例提供的一种多NPC对话文本生成方法,包括:
S101、针对每场对话,确定参与每一轮对话的至少两个目标NPC,并配置至少两个目标NPC的标准背景信息;其中,不同场对话中的目标NPC存在部分不同或全部不同。
S102、根据所述至少两个目标NPC的标准背景信息,得到每一轮对话中的说话NPC和被说话对象。
S103、根据所述至少两个目标NPC的标准背景信息、每一轮对话中的说话NPC和被说话对象以及每一轮对话之前的历史对话,生成每一轮对话的对话文本。
S104、根据生成的每一轮对话的对话文本,生成每场对话的多轮对话文本。
本申请实施例提供的上述多NPC对话文本生成方法,能够在游戏场景下处理任意NPC之间的互相聊天场景,且考虑到了游戏场景下多NPC各自的标准背景信息,提高了多NPC对话文本的生成效率且使生成的对话文本与当前游戏场景相匹配。
本申请实施例中,上述多NPC对话文本生成方法对计算资源要求较高,因此,通常应用于服务器,当然,如果终端设备中的资源足够支撑运行上述多NPC对话文本生成方法,也可以应用于终端设备。下面以上述多NPC对话文本生成方法应用于服务器为例分别对本申请实施例的上述示例性的各步骤进行说明。
S101、针对每场对话,确定参与每一轮对话的至少两个目标NPC,并配置至少两个目标NPC的标准背景信息;其中,不同场对话中的目标NPC存在部分不同或全部不同。
本申请实施例中,服务器预先生成多场对话,且不同场对话中的至少两个目标NPC不同,可以是部分不同,也可以是全部不同;也就是说,在每场对话中,用户可以任意选择至少两个目标NPC,且不同场对话中选择的目标NPC部分不同或全部不同,然后,配置这至少两个目标NPC的标准背景信息;不同目标NPC的标准背景信息存在部分不同或全部不同;上述标准背景信息包括:至少两个目标NPC各自的人设信息、至少两个目标NPC在游戏中的状态信息、至少两个目标NPC的相遇信息和游戏环境信息。
其中,不同的目标NPC的人设信息不同,因此,上述方法能够在游戏场景下处理任意NPC之间的互相聊天场景,且考虑到了游戏场景下多NPC各自的状态信息、多NPC的相遇信息以及游戏环境信息,提高了多NPC对话文本的生成效率且使生成的对话文本与当前游戏场景相匹配。
下面具体说明上述确定每场对话中参与每一轮对话的至少两个目标NPC并配置上述至少两个目标NPC的标准背景信息的方法:
首先,预先配置数据,如图1b所示,也即进行数据准备(Database),这些配置工作可以由人工完成也可以由机器随机生成,具体的,可以是服务器响应用户的配置操作,完成数据准备,其中,需要准备的数据包括下述a)~f)。
a)NPC人设信息:包括NPC的姓名(或者昵称)、性别、职业、兴趣爱好、社交关系等,并用自然语言文本描述该人设信息,比如“陈大爷整日清闲,家里养了一只鹦鹉,取名八哥,每天精心照料八哥。”。实际中,上述NPC不局限于人物,也可以是游戏场景中人物的物品生物,比如小猫、大树、椅子,同样,编辑好对应的人设内容即可。比如鹦鹉的人设信息可为“八哥是一只鹦鹉,主人是陈大爷,经常学路人说话,嘴贱,很傲慢。”。
实际NPC人设信息配置中,对于人物NPC来说,姓名(或者昵称)是必填项,也必须要体现出性别,这样最一个非常初步的人设就有了。职业、兴趣等其他维度的信息是根据游戏需求进行选择,因为在设置时,需要在该NPC的人设描述里体现出当前NPC典型的特点,这些特点能够用来影响后面我们要生成对话内容。
针对游戏中的NPC,构建NPC列表并按上述a)中的方式配置NPC列表中每个NPC的人设信息,即完成NPC人设信息的配置。
b)NPC状态空间(也即NPC在游戏中的状态信息):游戏中NPC可能的状态,比如,1、人物NPC可以处于闲逛、钓鱼、买粮食、饥饿等状态;2、动物NPC可以处于圈养,行走,饥饿等状态;3、植物NPC可以处于阳光照射下、阴暗潮湿处等状态;4、物品可以处于闲置、损坏等状态。
针对游戏中NPC列表中的上述NPC,按照上述b)中的方式配置NPC列表中每个NPC的状态空间,即完成NPC在游戏中的状态信息的配置。
c)对话模板(也即聊天模板):定义了多轮聊天的脉络,用于控制流程上的对话走向,具体包含聊天开头、聊天结尾;比如,某个闲聊模板的开头为:NPC1问候NPC2->NPC2回应NPC1,结尾为:NPC1打算去逛集市,向NPC2道别->NPC2也向NPC1道别。同理,可以定义多种对话模板,比如围观弹琴、吃饭聊天、嘲笑等场景的模板。如果没有定义模板,将采用默认模板来生成每场的多轮对话文本,默认模板比如开头为:NPC1向NPC2打招呼,结尾为:NPC1向NPC2道别。需要说明的是,在a)中配置NPC人设信息时,可以同时指定NPC人设信息对应的对话模板,以通过指定的对话模板控制相关NPC人设信息的对话更匹配场景需求。
d)对话话题:用于引导对话的方向,一般在每场对话的开头之后,聊相关的话题,比如八卦、天气、借钱等;对于每个话题,定义自然语言文本描述,比如借钱:NPC1想要向NPC2借钱。
本申请实施例中,响应按照上述d)中的方式配置游戏的话题列表,该话题列表中包括话题信息。
e)环境信息:游戏中重要的环境因素,包括天气,时辰等,可以影响对话内容;比如:天气为下雨下雪晴朗等;时辰为白天黑夜,稍微完整的可以包括:黎明、早上、中午、傍晚、晚上。
本申请实施例中,响应按照上述e)中的方式配置游戏的游戏环境列表,该游戏环境列表中包括游戏环境信息。
f)相遇信息:必要因素是NPC和相遇地点,包括目标NPC和相遇地点,比如,NPC1在街上碰见了NPC2,NPC1在森林碰见了NPC2等;其他维度的信息(比如,相遇地点的情况等),也是根据游戏需求进行选择,也即根据我们要生成对话内容来选择。
本申请实施例中,响应按照上述f)中的方式配置游戏中的相遇列表,该相遇列表中包括NPC之间的相遇信息。
需要说明的是,当整个多NPC对话文本生成方法应用于不同的游戏中时,上述配置信息通常不同。
在准备了上述配置数据(也即Database)后,确定每一轮对话中至少两个目标NPC的方法包括:
针对每一轮对话,响应用户针对NPC列表的第一选择操作,确定参与该轮对话的至少两个目标NPC;所述NPC列表包括多个NPC,所述多个NPC预先配置有各自的人设信息且不同NPC的人设信息不同;或者,针对每一轮对话,确定上一轮对话中的至少两个目标NPC,作为参与该轮对话的至少两个目标NPC。
另外,在确定了每一轮对话中至少两个目标NPC之后,配置至少两个目标NPC的标准背景信息的方法包括:
响应用户针对所述至少两个目标NPC的状态列表、游戏环境列表和相遇列表的第二选择操作,确定所述至少两个目标NPC在游戏中的状态信息、游戏环境信息和相遇信息;或者,根据上一轮对话中所述说话NPC在更新状态信息下待执行的目标状态内容,配置当前轮对话中所述目标NPC在游戏中的状态信息。
下面详细说明上述确定至少两个目标NPC并配置至少两个目标NPC的标准背景信息的过程:针对每场对话中的第一轮对话,用户通过触发上述第一选择操作选择该轮对话的至少两个目标NPC,然后,在通过上述的第二选择操作配置上述至少两个目标NPC的标准背景信息(包括在游戏中的状态信息、当前游戏环境信息和相遇信息)。
针对每场对话中第一轮对话之后的每轮对话,用户可以重新通过第一选择操作在该轮对话中增加目标NPC,也可以不再进行第一选择操作,而是将上一轮中的至少两个目标NPC确定为当前轮对话中的至少两个目标NPC。基于上述两种情况,如果用户重新通过第一选择操作,在该轮对话中增加目标NPC,那么还要通过第二选择操作配置上述新增加的目标NPC的标准背景信息;另外,无论用户是否重新执行第一选择操作,针对已选择的至少两个目标NPC,用户均可以通过第二选择操作更新其标准背景信息,也可以不更新。
通常情况下,上述用户通过第二选择操作更新的标准背景信息为游戏环境信息,而相遇信息则不需要更新,而至少两个目标NPC各自在游戏中的状态信息通常不需要第二选择操作更新,而是通过上一轮对话中预测的相关目标NPC(即上一轮对话中的说话NPC)的更新状态信息确定的。具体的,针对每场对话中第一轮对话之后的每轮对话,还会基于生成的该轮对话的前一轮对话的对话文本,预测前一轮对话中当前说话NPC的更新状态信息,如果前一轮对话中当前说话NPC的更新状态信息未指示对话结束,那么,基于前一轮对话中当前说话NPC的更新状态信息更新该轮对话中“前一轮对话中当前说话NPC”在游戏中的状态信息。
在具体实施例中,用户触发针对NPC列表的第一选择操作,服务器响应用户的上述第一选择操作,从NPC列表中包括的多个NPC中挑选两个及以上目标NPC(支持三个及以上NPC之间的互相聊天),并配置这两个及以上目标NPC的人设信息。本申请实施例中以两个目标NPC为例进行说明。比如,挑选的两个目标NPC为NPC1和NPC2;NPC1的人设信息为:孙大姐是磁州粥铺的老板娘;NPC2的人设信息为:杨小谷是个二十来岁的青年男子,是个流里流气的无业混混,他尚未成家,心中偷偷喜欢顾知音姑娘,但觉得自己配不上她。
在选择了至少两个目标NPC之后,用户触发针对状态列表、游戏环境列表和相遇列表的第二选择操作,配置至少两个目标NPC的状态信息、环境信息和相遇信息。在一种具体实施例中,对挑选的两个目标NPC(即NPC1和NPC2为例),分别指定对应的状态信息,同时指定当前游戏环境信息,比如,NPC1孙大姐在卖包子,NPC2杨小谷在闲逛(两个目标NPC及各自人设信息);白天,天气晴朗(当前游戏环境信息);杨小谷在街上碰见了孙大姐(相遇信息)。
S102、根据所述至少两个目标NPC的标准背景信息,得到每一轮对话中的说话NPC和被说话对象。
本申请实施例中,在生成每场对话的每一轮对话文本时,要先确定该轮对话中的说话NPC和被说话对象,之后,在生成该说话NPC对被说话对象的回复文本,说话NPC对被说话对象及回复文本即为该轮对话的对话文本。
本申请实施例中,上述被说话对象可以为空,也可以不为空;因为每场对话的每一轮对话中确定的目标NPC的数量至少为两个,因此,说话NPC和被说话对象也包括多种说话情况;具体的,说话NPC和被说话对象的多种说话情况根据选择的目标NPC的数量确定;比如,该场对话的NPC为2个,那么说话NPC和被说话对象的多种说话情况为4个,比如为,NPC1说话(此时,说话NPC为NPC1,被说话对象为空)、NPC1对NPC2说话(此时,说话NPC为NPC1,被说话对象为NPC2,即不为空)、NPC2说话、NPC2对NPC1说话;再比如,该场对话的NPC为3个,那么说话NPC和被说话对象的多种说话情况为9个(同上四种情况的,这里不再举例);也就是说,多种说话情况的数量是nn,n为选择的目标NPC的数量。
在本申请实施例中,可以采用两种方式确定每一轮对话中的“说话NPC和被说话对象”:一种方式是,从每场对话配置的对话模板中确定每一轮对话中的上述说话NPC和被说话对象;另一种方式是,基于每一轮对话的标准背景信息和预先训练好的对话预测模型,预测每一轮对话中的说话NPC和被说话对象。
具体的,针对每场对话,用户在确定每一轮对话中至少两个目标NPC之后,还会配置每场对话的对话模板;通常情况下,用户只需要在第一轮对话中确定至少两个目标NPC(后面轮次的对话中都沿用这至少两个目标NPC)。具体的,配置每场对话的对话模板的方式如下:
a1、如果选择的至少两个目标NPC的人设信息指定了对话模板(也即聊天模板),那么,直接使用指定的对话模板;需要说明的是,本申请实施例中要预先生成多场对话,因此,如果这至少两个目标NPC的人设信息指定的对话模板为多个,则分别生成这至少两个目标NPC分别在每个指定的对话模板下的每场对话,最终得到多场对话,以便在实际游戏中查询使用。
a2、如果没有指定对话模板,则用户可以通过第三选择操作,从预先配置对话模板中挑选任意对话模板,具体执行过程即:服务器响应用户针对对话模板的第三选择操作,确定每场对话的对话模板;比如,挑选的模板的开头为:杨小谷调戏孙大姐,模板的结尾为:孙大姐想要离开。同样的,针对相同的至少两个目标NPC,服务器也可以生成多场对话,每场对话用户挑选的对话模板不同。
S103、根据所述至少两个目标NPC的标准背景信息、每一轮对话中的说话NPC和被说话对象以及每一轮对话之前的历史对话,生成每一轮对话的对话文本。
在一种实施方式中,直接基于每一轮对话中的“根据所述至少两个目标NPC的标准背景信息、每一轮对话中的说话NPC和被说话对象以及每一轮对话之前的历史对话”生成每一轮对话的对话文本。具体生成方法包括:获取预先训练好的对话预测模型;将所述至少两个目标NPC的标准背景信息、每一轮对话中的说话NPC和被说话对象以及每一轮对话之前的历史对话输入到所述对话预测模型中,得到所述对话预测模型输出的每一轮对话的对话文本。
其中,上述对话预测模型是基于公开的对话剧情语料预训练好的GPT(GenerativePre-Training,生成式的预训练)模型,上述对话剧情语料可以是,对话剧情的中文小说语料和/或游戏场景的对话剧情语料;这里,训练好的上述对话预测模型能够通过给定的背景信息输出预期的文本,具体的,能够基于给定的“根据所述至少两个目标NPC的标准背景信息、每一轮对话中的说话NPC和被说话对象以及每一轮对话之前的历史对话”的输入,输出每一轮对话的对话文本。
具体的,将上述“根据所述至少两个目标NPC的标准背景信息、每一轮对话中的说话NPC和被说话对象以及每一轮对话之前的历史对话”信息构建成对话预测模型的前缀输入,将上述前缀输入到预先训练好的对话预测模型中,得到上述对话预测模型输出的每一轮对话的对话文本。
在另一种实施方式中,先预测影响该轮对话的对话因素,然后,根据所述至少两个目标NPC的标准背景信息、该轮对话中的说话NPC和被说话对象、该轮对话之前的历史对话和所述对话因素,生成该轮对话的对话文本。同样的,将上述“至少两个目标NPC的标准背景信息、该轮对话中的说话NPC和被说话对象、该轮对话之前的历史对话和所述对话因素”的信息构建成对话预测模型的前缀输入,将上述前缀输入到预先训练好的对话预测模型中,得到所述对话预测模型输出的每一轮对话的对话文本,这样,能够使输出文本更加匹配游戏场景。
S104、根据生成的每一轮对话的对话文本,生成每场对话的多轮对话文本。
本申请实施例中,针对每场对话,在该场对话结束后,获取该场对话下每一轮对话的对话文本,并基于这些对话文本生成该场对话的多轮对话文本。其中,生成的每场对话的对话文本中都包括索引标识,该索引标识为:该场对话在第一轮对话下的配置的标准背景信息,具体包括:至少两个目标NPC各自的人设信息和在游戏中的状态信息、游戏环境信息和相遇信息。基于上述索引标识,服务器能够在实际游戏中,基于游戏过程中对话NPC的对话背景信息,查询匹配的每场对话,并在游戏界面中展示该每场对话中的多轮对话文本。
如上所述,本申请实施例中采用“对话模板”和“标准背景信息+预先训练好的对话预测模型”两种方式确定“说话NPC和被说话对象”。进一步的,如图2所示,上述两种方式的具体实现步骤如下:每场对话还配置有一对话模板,所述对话模板用于控制每场对话的对话流程;所述方法还包括:
S201、针对每场对话中的每一轮对话,判断该场对话的对话模板中是否指定了该轮对话中的目标说话NPC和被说话对象。
S202、如果是,则确定所述目标说话NPC和被说话对象作为该轮对话中的说话NPC和被说话对象。
S203、如果否,则根据该轮对话中所述至少两个目标NPC的标准背景信息,预测该轮对话中的说话NPC和被说话对象。
结合S201~S203,在每场对话的第一轮对话中,在用户选择了至少两个目标NPC并配置了背景信息后,如果用户选择的至少两个目标NPC的人设信息指定了对话模板,那么直接确定该指定的对话模板为该场对话的对话模板;这里,如果上述指定的对话模板为多个,可以由服务器随机从指定的多个对话模板中选择一个作为该场对话的对话模板,也可以由用户通过第三选择操作选择指定的多个对话模板的一个,服务器响应用户的第三选择操作,确定用户选择的对话模板作为该场对话的对话模板。需要说明的是,当上述指定的对话模板为多个时,虽然每场对话中是选择其中一个,本申请实施例中可以通过生成同样至少两个目标NPC在分别在上述多个对话模板下的多场对话。这样,可以提前生成多游戏场景下的多场对话,以便在实际游戏中查询匹配各种游戏场景下的对话。
其中,如果至少两个目标NPC的人设信息未指定对话模板,那么由用户从预设的对话模板中任意选择一个对话模板。该种情况下,用户也可以从预设的对话模板中选择多个对话模板(可以是选择所有的),本申请实施例中也是通过生成相同的至少两个目标NPC分别在上述选择的多个对话模板下的多场对话。这样,可以提前生成多游戏场景下的多场对话,以便在实际游戏中查询匹配各种游戏场景下的对话。
在确定了该场对话的对话模板后,针对每一轮对话,判断该对话模板中是否指定了该轮对话中的目标说话NPC和被说话对象,如果指定了,那么将该对话模板中的目标说话NPC和被说话对象确定为该轮对话中的说话NPC和被说话对象;如果未指定,那么基于预先训练好的对话预测模型和该轮对话中的标准背景信息(具体包括至少两个目标NPC各自的人设信息和在游戏中的状态信息、当前游戏环境和相遇信息),预测该轮对话中的说话NPC和被说话对象。
本申请实施例中,基于预先训练好的对话预测模型和该轮对话中的标准背景信息,预测该轮对话中的说话NPC和被说话对象的方法如下:获取预先训练好的对话预测模型;将该轮对话的标准背景信息中输入到所述对话预测模型中,由所述对话预测模型对多种说话情况中的所述说话NPC和被说话对象进行预测,输出包括所述说话NPC和被说话对象的每一种说话情况的第一输出文本和每一第一输出文本的第一预测概率;所述多种说话情况根据所述目标NPC的数量确定;将对应的第一预测概率最高的第一输出文本中的说话NPC和被说话对象作为该轮对话中的说话NPC和被说话对象。
本申请实施例中,使用的对话预测模型是同一个模型,我们基于公开的对话剧情语料构建不同的任务预训练该GPT模型,比如,上述任务是预测对话文本;这里的任务是预测“说话NPC和被说话对象”,不同的任务中给入模型的输入也不同。需要说明的是,模型在预训练过程中的输入和输出和应用过程是相同的,只不过预训练过程中的输入和输出的内容都是基于对话剧情语料确定的。
举例来讲,在基于上述对话预测模型预测当前轮说话的NPC预测和被说话对象时,对于两个目标NPC(目标NPC1和目标NPC2)的场景,总共有4种情况:NPC1说话、NPC1对NPC2说话、NPC2说话、NPC2对NPC1说话。当该场对话的对话模板指定了说话NPC和被说话对象的时候,我们无需通过对话预测模型预测;否则,采用对话预测模型来对上述4种说话情况打分,挑选分数高的作为模型输出。具体来说,对于说话NPC预测任务,我们设计输入对话预测模型的前缀内容为:“<NPC1人设信息、状态信息>+<NPC2人设信息、状态信息>+<环境信息>+<相遇信息>”,比如:“孙大姐是磁州粥铺的老板娘,正在卖包子。NPC2杨小谷是个二十来岁的青年男子,是个流里流气的无业混混,他尚未成家,心中偷偷喜欢顾知音姑娘,但觉得自己配不上她,他正在闲逛。现在是白天,天气晴朗。杨小谷在街上碰见了孙大姐”。让GPT模型基于前文生成[NPC1说道、NPC1对NPC2说道、NPC2说道、NPC2对NPC1说道]四种说话情况(这里,上述NPC1、NPC2需要替换为具体的NPC名称)(也即四种情况的第一输出文本),分别得到概率分数(和上述第一输出文本的预测概率),该分数越高说明衔接越通顺,取分数最高(即对应的预测概率最高)的第一输出文本中的说话NPC和被说话对象概率作为输出,比如“杨小谷说道”。
这里,需要说明的是,上述每一种说话情况下可以对应多种描述方式,一种说话情况是:说话对象是NPC1,被说话对象为空,对应的多种描述方式为:NPC1说道,NPC1说,NPC1想说;然后,模型通过多种描述方式的加权求和预测该种说话情况的预测概率,对应的第一输出文本可以是上述任一种描述方式的文本(也可以是指定好的特定描述方式的文本)。通过这种方式,能够让模型更加理解每种说话情况的表述内容,更好的从多种说话情况中预测出更匹配当前轮对话的说话情况。
这里,上述被说话对象是否为空影响的是在基于对话预测模型执行“预测说话NPC和被说话对象”这一任务时,输入给对话预测模型的前缀,在这个场景下,因为该轮对话中已经确定了参与该轮对话的至少两个目标NPC,因此,在确定了说话NPC且被说话对象为空的情况下,对话预测模型也就大概率默认是说话NPC对另外的目标NPC说话了。因此,被说话对象是否为空只是影响对话预测模型的前缀文本的格式。
进一步的,为了生成更匹配游戏场景的每场多轮对话文本,可以先预测影响该轮对话的对话因素,进而基于该对话因素生成每一轮对话文本;如图3所示,本申请实施例提供的多NPC对话文本生成方法,所述根据所述至少两个目标NPC的标准背景信息、每一轮对话中的说话NPC和被说话对象以及每一轮对话之前的历史对话,生成每一轮对话的对话文本的步骤,包括:
S301、针对每一轮对话,至少根据该轮对话中所述至少两个目标NPC的标准背景信息和所述说话NPC和被说话对象,预测影响该轮对话的对话因素。
在本申请实施例中,在预测影响该轮对话的对话因素时,其中一种方式(简称方式一),可以直接根据该轮对话中至少两个目标NPC的标准背景信息、说话NPC和被说话对象,预测影响该轮对话的对话因素;另一种方式(简称方式二),是根据该轮对话中所述至少两个目标NPC的标准背景信息、所述说话NPC和被说话对象以及该轮对话之前的历史对话和/或该对话因素关联的已预测对话因素,预测影响该轮对话的对话因素。
在上述两种方式中,预测对话因素都需要“每一轮对话中至少两个目标NPC的标准背景信息、说话NPC和被说话对象”这些基础信息;实际中,为了生成的多轮对话文本更匹配游戏场景,预测不同的对话因素,还需要其他信息,比如,如果预测的对话因素有关联的已预测对话因素,那么基于上述基础信息和该对话因素有关联的已预测对话因素,预测影响该轮对话的对话因素;如果预测的对话因素是目标对话因素(比如话题因素),那么,基于上述基础信息和该轮对话之前的历史对话,预测该目标对话因素。
S302、根据所述至少两个目标NPC的标准背景信息、该轮对话中的说话NPC和被说话对象、该轮对话之前的历史对话和所述对话因素,生成该轮对话的对话文本。
本申请实施例中,基于预先训练好的对话预测模型和“至少两个目标NPC的标准背景信息、该轮对话中的说话NPC和被说话对象、该轮对话之前的历史对话和所述对话因素”这些信息,生成该轮对话的对话文本。
具体的,获取预先训练好的对话预测模型;将所述至少两个目标NPC的标准背景信息、该轮对话中的说话NPC和被说话对象、该轮对话之前的历史对话以及影响该轮对话的对话因素输入到所述对话预测模型中,得到所述对话预测模型输出的该轮对话的对话文本。
这里,对话预测模型还是“预测对话文本”的任务,相比前面模型输入前缀多了对话因素,能够使输出的该轮对话的对话文本更通顺且更匹配游戏场景。比如,对话因素包括“情绪因素”和“话题因素”,回复文本生成:设计前缀为“<NPC1人设信息、状态信息>+<NPC2人设信息、状态信息>+<环境信息>+<相遇信息>+<历史对话>+<说话NPC及情绪>+<当前话题>”,e.g.“孙大姐是磁州粥铺的老板娘,正在卖包子。NPC2杨小谷是个二十来岁的青年男子,是个流里流气的无业混混,他尚未成家,心中偷偷喜欢顾知音姑娘,但觉得自己配不上她,他正在闲逛。现在是白天,天气晴朗。杨小谷在街上碰见了孙大姐,杨小谷感到惊讶,杨小谷与孙大姐聊起了八卦,说道”。GPT基于该前文,输出回复内容,比如“:你可知道城东也有一家粥铺。
进一步的,上述S301中的方式一中,所述至少根据该轮对话中所述至少两个目标NPC的标准背景信息和所述说话NPC和被说话对象,预测影响该轮对话的对话因素的步骤,包括:
b1、获取预先训练好的对话预测模型;
b2、在预测影响该轮对话的情绪因素时,将每一轮对话中至少两个目标NPC的标准背景信息以及所述说话NPC和被说话对象输入到对话预测模型中,由所述对话预测模型对预设的情绪列表中的情绪因素进行预测,输出所述说话NPC和被说话对象在情绪列表中每一情绪因素下的第二输出文本以及每一第二输出文本的第二预测概率;
b3、将最高数值且大于第一阈值的第二预测概率对应的第二输出文本中的情绪因素作为影响该轮对话的情绪因素。
结合步骤b1~b3,这里是对话预测模型新的预测任务,即“预测说话NPC的情绪因素”的任务,预测说话NPC的情绪,本申请实施例中预先构建情绪列表,分为10类情绪,包括:害怕、高兴等。采用上述对话预测模型(即GPT模型)进行预测,具体来说,设计前缀内容(即模型输入)为“<NPC1人设信息、状态信息>+<NPC2人设信息、状态信息>+<环境信息>+<相遇信息>+<说话NPC>”,比如,“孙大姐是磁州粥铺的老板娘,正在卖包子。NPC2杨小谷是个二十来岁的青年男子,是个流里流气的无业混混,他尚未成家,心中偷偷喜欢顾知音姑娘,但觉得自己配不上她,他正在闲逛。现在是白天,天气晴朗。杨小谷在街上碰见了孙大姐,杨小谷”,让模型基于该前文预测[感到害怕、感到高兴、…]10个选项的打分,选择分数最高者作为输出,比如,带上情绪后的输出结果为“杨小谷感到惊讶,说道”。另外,这里可以通过阈值过滤不合适的选项,当通过预置所有选项都被过滤,情绪结果为空,还是“杨小谷,说道”。
这里的情绪类别可以根据应用场景进行自定义,另外,对话预测模型也支持其他内容的预测,比如动作预测。具体方式跟情绪相同,这里不再赘述。
进一步的,上述S301中的方式二中,所述在预测影响该轮对话的目标对话因素时,根据该轮对话中至少两个目标NPC的标准背景信息、说话NPC和被说话对象以及该轮对话之前的历史对话和/或该对话因素关联的已预测对话因素,预测影响该轮对话的对话因素的步骤,包括:
c1、获取预先训练好的对话预测模型;
c2、在预测影响该轮对话的话题因素时,将该轮对话中至少两个目标NPC的标准背景信息、所述说话NPC和被说话对象、该话题因素关联的情绪因素以及该轮对话之前的历史对话输入到所述对话预测模型中,由所述对话预测模型对话题列表中的话题因素进行预测,输出所述说话NPC和被说话对象在所述话题列表中每一话题因素下的第三输出文本和每一第三输出文本的第三预测概率;
c3、将最高数值且大于第二阈值的第三预测概率对应第三输出文本中的话题作为该轮对话的话题因素。
结合步骤c1~c3,这里是对话预测模型新的预测任务,即“预测说话NPC的话题因素”的任务,话题预测:基于至少两个目标NPC人设、至少两个目标NPC在游戏中的状态信息、当前游戏环境信息和该轮对话之前的历史对话,预测当前该聊的话题内容。具体来说,输入给GPT的前缀内容为“<NPC1人设信息、状态信息>+<NPC2人设信息、状态信息>+<环境信息>+<相遇信息>+<历史对话>+<说话NPC及情绪>”,一个历史对话(也即历史对话)为空的示例“孙大姐是磁州粥铺的老板娘,正在卖包子。NPC2杨小谷是个二十来岁的青年男子,是个流里流气的无业混混,他尚未成家,心中偷偷喜欢顾知音姑娘,但觉得自己配不上她,他正在闲逛。现在是白天,天气晴朗。杨小谷在街上碰见了孙大姐,杨小谷感到惊讶”,基于该前文预测话题列表[NPC1与NPC2聊起了八卦、NPC1与NPC2聊起了最近的米价…]的打分,挑选打分最高者作为输出,比如“杨小谷与孙大姐聊起了八卦”。同理可以设置阈值,没有合适的话题结果时,不引入话题。
进一步的,如图4所示,本申请实施例提供的多NPC对话文本生成方法中,所述根据生成的每一轮对话的对话文本,生成每场对话的多轮对话文本的步骤,包括:
S401、获取每一轮对话的状态文本,所述状态文本是基于每一轮对话的对话文本生成的。
这里,在生成每一轮对话的对话文本后,还预测每一轮对话的状态文本,比如,杨小谷赠送给孙大姐东西,或者,杨小谷对着孙大姐叹了叹气等。
S402、根据生成的每一轮对话的对话文本和所述状态文本,生成每场对话的多轮对话文本。
本申请实施例中,每一轮对话中包括对话文本和上述状态文本,这样,一场对话中每一轮对话的对话文本和上述状态文本即为每场对话的多轮对话文本;在每场对话结束后,则生成每场对话的包括每一轮对话的对话文本和状态文本的多轮对话文本。
进一步的,如图5所示,本申请实施例提供的多NPC对话文本生成方法中,上述基于每一轮对话的对话文本生成每一轮对话的状态文本的步骤,包括:
S501、针对每一轮对话,根据该轮对话中所述至少两个目标NPC的标准背景信息、该轮对话中的说话NPC和被说话对象、该轮对话之前的历史对话和该轮对话的对话文本,预测该轮对话中说话NPC的更新状态信息。
本申请实施例中,获取预先训练好的对话预测模型;将所述至少两个目标NPC的标准背景信息、每一轮对话中的说话NPC和被说话对象、该轮对话之前的历史对话和每一轮对话的对话文本,预测每一轮对话中说话NPC(也即当前说话NPC)的更新状态信息输入到所述对话预测模型中,得到所述对话预测模型输出的每一轮对话中说话NPC的更新状态信息。
具体的,这里是对话预测模型新的预测任务,即“预测说话NPC的更新状态信息”的任务,状态预测:包括当前状态预测比如离开、赠送,以及状态的宾语预测(如果状态涉及到宾语,比如赠送会涉及到赠送的具体东西,此时需要进一步预测宾语)。状态的具体内容和游戏相关,也支持自定义选项。预测状态的方法也是基于GPT,具体来说将“将所述至少两个目标NPC的标准背景信息、每一轮对话中的说话NPC和被说话对象、该轮对话之前的历史对话”中的前缀以及输出结果(即每一轮对话的对话文本)拼接后得到状态预测任务的前缀,比如“孙大姐是磁州粥铺的老板娘,正在卖包子。NPC2杨小谷是个二十来岁的青年男子,是个流里流气的无业混混,他尚未成家,心中偷偷喜欢顾知音姑娘,但觉得自己配不上她,他正在闲逛。现在是白天,天气晴朗。杨小谷在街上碰见了孙大姐,杨小谷感到惊讶,杨小谷与孙大姐聊起了八卦,说道:你可知道城东也有一家粥铺。”,预测比如[杨小谷想要离开、杨小谷想要送礼物给孙大姐、杨小谷什么都不想干…]的打分,此处输出杨小谷什么都不想干,说明杨小谷的状态无需改变;如果输出送礼,则进一步预测礼物列表[杨小谷想要送一盘西湖醋鱼给孙大姐、杨小谷想要送一个苹果给孙大姐…],礼物列表也支持自定义。
S502、如果该轮对话中说话NPC的更新状态信息未指示对话结束且所述更新状态信息具有待执行的状态内容,则预测所述说话NPC在所述更新状态信息下待执行的目标状态内容,并生成该轮对话中所述说话NPC在所述更新状态信息下执行所述目标状态内容的状态文本。
具体的,这里是对话预测模型新的预测任务,即“预测更新状态信息具有待执行的状态内容”的任务,具体的,将所述至少两个目标NPC的标准背景信息、每一轮对话中的说话NPC和被说话对象、该轮对话之前的历史对话、每一轮对话的对话文本和每一轮对话中说话NPC的更新状态信息输入到所述对话预测模型中,由所述对话预测模型对所述更新状态信息下的状态列表中的目标状态内容进行预测,输出每一轮说话NPC在所述更新状态信息下执行所述状态列表中每一状态内容的第四输出文本和每一第四输出文本的预测概率;然后,将对应的预测概率最高的第四输出文本中的状态内容,作为当前说话NPC在所述更新状态信息下待执行的目标状态内容。
比如,如果更新状态信息是送礼,则进一步预测礼物列表[杨小谷想要送一盘西湖醋鱼给孙大姐、杨小谷想要送一个苹果给孙大姐…],礼物列表也支持自定义。
另外,本申请实施例提供的多NPC对话文本生成方法中,在生成每场对话中每一轮对话的对话文本之后,说明该轮对话结束,此时,所述方法还包括:
判断每场对话中每一轮对话是否满足聊天结束条件;若是,则结束聊天;其中,每一轮对话满足聊天结束条件包括以下之一:
当前轮对话中说话NPC的更新状态信息指示对话结束;
该场对话的对话轮数达到对话模板中的截止对话轮数。
具体的,在生成每场对话中每一轮对话的对话文本之后,说明该轮对话结束,此时,通过d1或者d2判断该轮对话是否满足聊天结束条件:
d1、如果当前轮对话中说话NPC的更新状态信息指示对话结束,确定该轮对话满足聊天结束条件。
这里,说话NPC的更新状态信息指示对话结束,可以为说话NPC的更新状态信息为离开;
d2、统计该场对话的对话轮数,若当前轮对话中说话NPC的更新状态信息未指示对话结束、但所述对话轮数达到所述对话模板中的截止对话轮数,那么确定该轮对话满足聊天结束条件。
结合d1和d2,针对每一轮对话,如果该轮对话满足聊天结束条件,则结束对话循环,输出该场对话的多轮对话内容;如果该轮对话不满足聊天结束条件,继续预测下一轮说话NPC和被说话对象,并继续预测情绪、话题,并生成下一轮说话NPC对被说话对象的对话文本,重复该过程直至对话结束。
其中,上述对话模板的作用说明:在对话开头及对话结尾,都不预测话题,按照聊天模板定义好的开头结尾生成对话内容。在开头和结尾中间,预测1~2个对话话题,每个话题持续2~4轮,这里的话题数量以及每个话题的轮数支持自定义,最终得到的多轮对话包括:开头聊天内容+若干话题聊天内容+结尾聊天内容。当检测到上一轮对话中预测的所述更新状态信息为离开,可直接结束,无需走完结尾聊天的内容。
如图6所示,为本申请实施例提供的多NPC对话生成方法的完整流程图,具体流程包括:开始,从NPC列表中选择至少两个目标NPC,然后,配置至少两个目标NPC的标准背景信息,接着,选择该场对话的对话模板,再继续进行说话NPC预测,然后是,情绪预测、话题预测、回复文本生成,之后,进行说话NPC状态预测以及状态宾语预测,并判断对话是否结束;如果对话未结束,继续说话NPC预测(当然,服务器一定会自动更新至少两个目标NPC的标准背景信息,如果用户继续选择新的目标NPC和/或进行了目标NPC的标准背景信息的操作配置,那么先配置好,在继续改说话NPC的预测),如果对话未结束,输出该场对话的多轮对话文本。
本申请实施例中,服务器预先生成多场对话,每场对话都执行一次或多次上述完整流程图,可提前生成大量的多轮对话素材。在实际游戏应用过程中,通过对话NPC的对话背景信息(包括NPC名称、NPC当前状态、当前游戏环境和相遇信息),来查询生成好的数据,直接在游戏场景中展示对话内容即可。
基于上述图6的完整流程图,得到的一个具体实施的案例如下所示:
最终生成的多轮对话样例为:
其中生成第四轮对话的流程:
通过本申请实施例提供的多NPC对话文本生成方法,具有如下效果:1.实现了各种人设NPC的定义,使得多NPC对话支持在任意NPC之间进行;2.可以让对话涵盖多种场景,产生符合场景的多轮对话内容,提高玩家的游戏体验和沉浸感;3.实现了对对话内容的控制,减轻了随着对话进行,对话内容过度偏移的问题;4.能够自动生成大量离线文案素材,降低人力成本。
如图7所示,为本申请第二实施例提供的一种多NPC对话文本展示方法,包括:
S701、在确定当前游戏场景下触发对话的多个对话NPC后,获取所述多个对话NPC的对话背景信息;所述对话背景信息包括:所述多个对话NPC各自的人设信息、在游戏中的当前状态信息、当前游戏环境信息和当前相遇信息。
S702、从预先生成的每场对话的多轮对话文本中,查询与所述对话背景信息相匹配的目标多轮对话文本,并在所述游戏的游戏界面中展示所述目标多轮对话文本;其中,所述每场对话的多轮对话文本是基于第一实施例所述的多NPC对话文本生成方法生成的。
结合步骤S701~步骤S702,在实际游戏中,玩家控制玩家角色在游戏中移动,当遇到了多个对话NPC的情况,这多个对话NPC触发对话,此时,服务器获取这多个对话NPC的对话背景信息,并从预先生成的每场对话的多轮对话文本中,查询与上述对话背景信息相匹配的目标多轮对话文本,并在游戏界面中展示,以供玩家查看。这里,当查询得到多个匹配的目标多轮对话文本时,可以根据游戏运营人员提前设置的方式去选择,也可以随机选择。
具体的,上述目标多轮对话文本包括:目标对话文本和目标状态文本。具体的,在游戏界面中展示上述目标多轮对话文本的方式,可以是直接在相关多个对话NPC处展示上述目标对话文本和上述目标状态文本;也可以是直接在相关多个对话NPC处展示上述目标对话文本,然后,通过控制相关对话NPC执行匹配上述目标状态文本的动作(比如,直接让孙大姐递给杨小谷一个苹果);也可以,同时在相关多个对话NPC处展示部分目标对话文本并控制相关多个对话NPC执行另一部分目标对话文本匹配的动作(比如,孙大姐的情绪是开心,孙大姐表现开心,然后对杨小谷说“来个苹果吃”),然后,通过相关对话NPC展示的动作展示上述目标状态文本的内容(比如,直接让孙大姐递给杨小谷一个苹果)。本申请实施例中,不限定上述目标多轮对话文本的方式。
本申请实施例提供的上述多NPC对话文本展示方法,当多个对话NPC在当前游戏场景下触发对话后,通过多个对话NPC的对话背景信息,从预先生成好的多场多轮对话文本中,查询与上述对话背景信息相匹配的目标多轮对话文本,并在游戏的游戏界面中展示目标多轮对话文本,且上述目标多轮对话文本是基于多NPC对话文本生成的。通过这种方式,提高了多个对话NPC对话文本的展示效率,并且,展示的目标多轮对话文本能够在游戏场景下处理任意NPC之间的互相聊天场景,且考虑到了游戏场景下多NPC各自的状态信息和游戏环境信息,提高了多NPC对话文本的生成效率,且使生成的对话文本与当前游戏场景相匹配。
基于同一发明构思,本申请第三实施例中还提供了第一实施例中与多NPC对话文本生成方法对应的多NPC对话文本生成装置,由于本申请第三实施例中的装置解决问题的原理与本申请第一实施例中的多NPC对话文本生成方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。
参照图8所示,为本申请第三实施例提供的一种多NPC对话文本生成装置的示意图,包括:
第一确定模块801,用于针对每场对话,确定参与每一轮对话的至少两个目标NPC,并配置至少两个目标NPC的标准背景信息;其中,不同场对话中的目标NPC存在部分不同或全部不同;
第二确定模块802,用于根据所述至少两个目标NPC的标准背景信息,得到每一轮对话中的说话NPC和被说话对象;
第一生成模块803,用于根据所述至少两个目标NPC的标准背景信息、每一轮对话中的说话NPC和被说话对象以及每一轮对话之前的历史对话,生成每一轮对话的对话文本;
第二生成模块804,用于根据生成的每一轮对话的对话文本,生成每场对话的多轮对话文本。
在一种可能的实施方式中,不同目标NPC的标准背景信息存在部分不同或全部不同;所述标准背景信息包括:所述至少两个目标NPC各自的人设信息、所述至少两个目标NPC在游戏中的状态信息、所述至少两个目标NPC的相遇信息和游戏环境信息。
在一种可能的实施方式中,每场对话还配置有一对话模板,所述对话模板用于控制每场对话的对话流程;所述装置还包括:
第一判断模块,用于针对每场对话中的每一轮对话,判断该场对话的对话模板中是否指定了该轮对话中的目标说话NPC和被说话对象;
第三确定模块,用于在判断模块判断该场对话的对话模板中指定了该轮对话中的目标说话NPC和被说话对象,则确定所述目标说话NPC和被说话对象作为该轮对话中的说话NPC和被说话对象;
第一预测模块,用于在判断模块判断该场对话的对话模板中未指定该轮对话中的目标说话NPC和被说话对象,则根据该轮对话中所述至少两个目标NPC的标准背景信息,预测该轮对话中的说话NPC和被说话对象。
在一种可能的实施方式中,所述第一生成模块803根据所述至少两个目标NPC的标准背景信息、每一轮对话中的说话NPC和被说话对象以及每一轮对话之前的历史对话,生成每一轮对话的对话文本的步骤,包括:
针对每一轮对话,至少根据该轮对话中所述至少两个目标NPC的标准背景信息和所述说话NPC和被说话对象,预测影响该轮对话的对话因素;
根据所述至少两个目标NPC的标准背景信息、该轮对话中的说话NPC和被说话对象、该轮对话之前的历史对话和所述对话因素,生成该轮对话的对话文本。
在一种可能的实施方式中,所述第一生成模块803至少根据该轮对话中所述至少两个目标NPC的标准背景信息和所述说话NPC和被说话对象,预测影响该轮对话的对话因素的步骤,包括:
在预测影响该轮对话的对话因素时,根据该轮对话中所述至少两个目标NPC的标准背景信息、所述说话NPC和被说话对象以及该轮对话之前的历史对话和/或该对话因素关联的已预测对话因素,预测影响该轮对话的对话因素。
在一种可能的实施方式中,所述第二生成模块804根据生成的每一轮对话的对话文本,生成每场对话的多轮对话文本的步骤,包括:
在每场对话结束后,获取每一轮对话的状态文本,所述状态文本是基于每一轮对话的对话文本生成的;
根据生成的每一轮对话的对话文本和所述状态文本,生成每场对话的多轮对话文本。
在一种可能的实施方式中,所述装置还包括:
第二预测模块,用于针对每一轮对话,根据该轮对话中所述至少两个目标NPC的标准背景信息、该轮对话中的说话NPC和被说话对象、该轮对话之前的历史对话和该轮对话的对话文本,预测该轮对话中说话NPC的更新状态信息;
第三预测模块,用于如果该轮对话中说话NPC的更新状态信息未指示对话结束且所述更新状态信息具有待执行的状态内容,则预测所述说话NPC在所述更新状态信息下待执行的目标状态内容;
第三生成模块,用于生成该轮对话中所述说话NPC在所述更新状态信息下执行所述目标状态内容的状态文本。
在一种可能的实施方式中,所述装置还包括:
第二判断模块,用于在生成每场对话中每一轮对话的对话文本之后,判断每场对话中每一轮对话是否满足聊天结束条件;其中,每一轮对话满足聊天结束条件包括以下之一:当前轮对话中说话NPC的更新状态信息指示对话结束;该场对话的对话轮数达到对话模板中的截止对话轮数;
结束模块,用于若第二判断模块判断该轮对话满足聊天结束条件,则结束聊天。
在一种可能的实施方式中,所述装置还包括:
第四确定模块,用于针对每一轮对话,响应用户针对NPC列表的第一选择操作,确定参与该轮对话的至少两个目标NPC;所述NPC列表包括多个NPC,所述多个NPC预先配置有各自的人设信息且不同NPC的人设信息不同;或者,针对每一轮对话,确定上一轮对话中的至少两个目标NPC。参与该轮对话的至少两个目标NPC。
在一种可能的实施方式中,所述装置还包括:
第五确定模块,用于响应用户针对所述至少两个目标NPC的状态列表、游戏环境列表和相遇列表的第二选择操作,确定所述至少两个目标NPC在游戏中的状态信息、游戏环境信息和相遇信息;
和/或,
配置模块,用于根据上一轮对话中所述说话NPC在更新状态信息下待执行的目标状态内容,配置当前轮对话中所述目标NPC在游戏中的状态信息。
在一种可能的实施方式中,所述第一预测模块根据该轮对话中所述至少两个目标NPC的标准背景信息,预测该轮对话中的说话NPC和被说话对象的步骤,包括:
获取预先训练好的对话预测模型;
将该轮对话的标准背景信息中输入到所述对话预测模型中,由所述对话预测模型对多种说话情况中的所述说话NPC和被说话对象进行预测,输出包括所述说话NPC和被说话对象的每一种说话情况的第一输出文本和每一第一输出文本的第一预测概率;所述多种说话情况根据所述目标NPC的数量确定;
将对应的第一预测概率最高的第一输出文本中的说话NPC和被说话对象作为该轮对话中的说话NPC和被说话对象。
在一种可能的实施方式中,所述第一生成模块803根据所述至少两个目标NPC的标准背景信息、每一轮对话中的说话NPC和被说话对象以及每一轮对话之前的历史对话,生成每一轮对话的对话文本的步骤,包括:
获取预先训练好的对话预测模型;
将所述至少两个目标NPC的标准背景信息、每一轮对话中的说话NPC和被说话对象以及每一轮对话之前的历史对话输入到所述对话预测模型中,得到所述对话预测模型输出的每一轮对话的对话文本。
在一种可能的实施方式中,所述第一生成模块803根据所述至少两个目标NPC的标准背景信息、该轮对话中的说话NPC和被说话对象、该轮对话之前的历史对话和所述对话因素,生成该轮对话的对话文本的步骤,还包括:
获取预先训练好的对话预测模型;
将所述至少两个目标NPC的标准背景信息、该轮对话中的说话NPC和被说话对象、该轮对话之前的历史对话以及影响该轮对话的对话因素输入到所述对话预测模型中,得到所述对话预测模型输出的该轮对话的对话文本。
在一种可能的实施方式中,所述第一生成模块803至少根据该轮对话中所述至少两个目标NPC的标准背景信息和所述说话NPC和被说话对象,预测影响该轮对话的对话因素的步骤,包括:
获取预先训练好的对话预测模型;
在预测影响该轮对话的情绪因素时,将每一轮对话中至少两个目标NPC的标准背景信息以及所述说话NPC和被说话对象输入到对话预测模型中,由所述对话预测模型对预设的情绪列表中的情绪因素进行预测,输出所述说话NPC和被说话对象在情绪列表中每一情绪因素下的第二输出文本以及每一第二输出文本的第二预测概率;
将最高数值且大于第一阈值的第二预测概率对应的第二输出文本中的情绪因素作为影响该轮对话的情绪因素。
在一种可能的实施方式中,所述第一生成模块803在预测影响该轮对话的对话因素时,根据该轮对话中所述至少两个目标NPC的标准背景信息、所述说话NPC和被说话对象以及该轮对话之前的历史对话和/或该对话因素关联的已预测对话因素,预测影响该轮对话的对话因素的步骤,包括:
获取预先训练好的对话预测模型;
在预测影响该轮对话的话题因素时,将该轮对话中至少两个目标NPC的标准背景信息、所述说话NPC和被说话对象、该话题因素关联的情绪因素以及该轮对话之前的历史对话输入到所述对话预测模型中,由所述对话预测模型对话题列表中的话题因素进行预测,输出所述说话NPC和被说话对象在所述话题列表中每一话题因素下的第三输出文本和每一第三输出文本的第三预测概率;
将最高数值且大于第二阈值的第三预测概率对应第三输出文本中的话题作为该轮对话的话题因素。
在一种可能的实施方式中,所述第二预测模块根据该轮对话中所述至少两个目标NPC的标准背景信息、该轮对话中的说话NPC和被说话对象、该轮对话之前的历史对话和该轮对话的对话文本,预测该轮对话中说话NPC的更新状态信息的步骤,包括:
获取预先训练好的对话预测模型;
将该轮对话中所述至少两个目标NPC的标准背景信息、该轮对话中的说话NPC和被说话对象、该轮对话之前的历史对话和该轮对话的对话文本输入到所述对话预测模型中,得到所述对话预测模型输出的该轮对话中说话NPC的更新状态信息。
在一种可能的实施方式中,所述第三预测模块预测所述说话NPC在所述更新状态信息下待执行的目标状态内容的步骤,包括:
获取预先训练好的对话预测模型;
将该轮对话中所述至少两个目标NPC的标准背景信息、该轮对话中的说话NPC和被说话对象、该轮对话之前的历史对话、该轮对话的对话文本和该轮对话中说话NPC的更新状态信息输入到所述对话预测模型中,由所述对话预测模型对所述更新状态信息下的状态列表中的目标状态内容进行预测,输出该轮对话中说话NPC在所述更新状态信息下执行所述状态列表中每一状态内容的第四输出文本和每一第四输出文本的第四预测概率;
将对应的第四预测概率最高的第四输出文本中的状态内容,作为说话NPC在所述更新状态信息下待执行的目标状态内容。
在一种可能的实施方式中,所述对话预测模型是基于对话剧情语料预训练的GPT模型,所述对话预测模型能够通过给定的信息输出预期文本或者输出预期文本和该预期文本的预测概率。
本申请实施例提供的一种多NPC对话文本生成装置,能够在游戏场景下处理任意NPC之间的互相聊天场景,且考虑到了游戏场景下多NPC各自的状态信息和游戏环境信息,提高了多NPC对话文本的生成效率且使生成的对话文本与当前游戏场景相匹配。
基于同一发明构思,本申请第四实施例中还提供了第二实施例中与多NPC对话文本展示方法对应的多NPC对话文本展示装置,由于本申请第四实施例中的装置解决问题的原理与本申请第二实施例上述多NPC对话文本展示方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。
参照图9所示,为本申请第四实施例提供的一种多NPC对话文本展示装置的示意图,包括:
获取模块901,用于在确定当前游戏场景下触发对话的多个对话NPC后,获取所述多个对话NPC的对话背景信息;所述对话背景信息包括:所述多个对话NPC各自的人设信息、在游戏中的当前状态信息、当前游戏环境信息和当前相遇信息。
查询模块902,用于从预先生成的每场对话的多轮对话文本中,查询与所述对话背景信息相匹配的目标多轮对话文本;其中,所述目标多轮对话文本是基于上述多NPC对话文本生成方法生成的。
展示模块903,用于在所述游戏的游戏界面中展示所述目标多轮对话文本。
本申请实施例提供的上述多NPC对话文本展示装置,当多个对话NPC在当前游戏场景下触发对话后,通过多个对话NPC的对话背景信息,从预先生成好的多场多轮对话文本中,查询与上述对话背景信息相匹配的目标多轮对话文本,并在游戏的游戏界面中展示目标多轮对话文本,且上述目标多轮对话文本是基于多NPC对话文本生成的。通过这种方式,提高了多个对话NPC对话文本的展示效率,并且,展示的目标多轮对话文本能够在游戏场景下处理任意NPC之间的互相聊天场景,且考虑到了游戏场景下多NPC各自的状态信息和游戏环境信息,提高了多NPC对话文本的生成效率,且使生成的对话文本与当前游戏场景相匹配。
如图10所示,本申请第五实施例提供的一种电子设备1000,包括:处理器1001、存储器1002和总线,所述存储器1002存储有所述处理器1001可执行的机器可读指令,当电子设备运行时,所述处理器1001与所述存储器1002之间通过总线通信,所述处理器1001执行所述机器可读指令,所述处理器以执行以下步骤:
针对每场对话,确定参与每一轮对话的至少两个目标NPC,并配置至少两个目标NPC的标准背景信息;其中,不同场对话中的目标NPC存在部分不同或全部不同;
根据所述至少两个目标NPC的标准背景信息,得到每一轮对话中的说话NPC和被说话对象;
根据所述至少两个目标NPC的标准背景信息、每一轮对话中的说话NPC和被说话对象以及每一轮对话之前的历史对话,生成每一轮对话的对话文本;
根据生成的每一轮对话的对话文本,生成每场对话的多轮对话文本。
在一种可能的实施方式中,不同目标NPC的标准背景信息存在部分不同或全部不同;所述标准背景信息包括:所述至少两个目标NPC各自的人设信息、所述至少两个目标NPC在游戏中的状态信息、所述至少两个目标NPC的相遇信息和游戏环境信息。
在一种可能的实施方式中,每场对话还配置有一对话模板,所述对话模板用于控制每场对话的对话流程;所述方法还包括:
针对每场对话中的每一轮对话,判断该场对话的对话模板中是否指定了该轮对话中的目标说话NPC和被说话对象;
如果是,则确定所述目标说话NPC和被说话对象作为该轮对话中的说话NPC和被说话对象;
如果否,则根据该轮对话中所述至少两个目标NPC的标准背景信息,预测该轮对话中的说话NPC和被说话对象。
在一种可能的实施方式中,所述根据所述至少两个目标NPC的标准背景信息、每一轮对话中的说话NPC和被说话对象以及每一轮对话之前的历史对话,生成每一轮对话的对话文本的步骤,包括:
针对每一轮对话,至少根据该轮对话中所述至少两个目标NPC的标准背景信息和所述说话NPC和被说话对象,预测影响该轮对话的对话因素;
根据所述至少两个目标NPC的标准背景信息、该轮对话中的说话NPC和被说话对象、该轮对话之前的历史对话和所述对话因素,生成该轮对话的对话文本。
在一种可能的实施方式中,所述至少根据该轮对话中所述至少两个目标NPC的标准背景信息和所述说话NPC和被说话对象,预测影响该轮对话的对话因素的步骤,包括:
在预测影响该轮对话的对话因素时,根据该轮对话中所述至少两个目标NPC的标准背景信息、所述说话NPC和被说话对象以及该轮对话之前的历史对话和/或该对话因素关联的已预测对话因素,预测影响该轮对话的对话因素。
在一种可能的实施方式中,所述根据生成的每一轮对话的对话文本,生成每场对话的多轮对话文本的步骤,包括:
获取每一轮对话的状态文本,所述状态文本是基于每一轮对话的对话文本生成的;
根据生成的每一轮对话的对话文本和所述状态文本,生成每场对话的多轮对话文本。
在一种可能的实施方式中,基于每一轮对话的对话文本生成每一轮对话的状态文本的步骤,包括:
针对每一轮对话,根据该轮对话中所述至少两个目标NPC的标准背景信息、该轮对话中的说话NPC和被说话对象、该轮对话之前的历史对话和该轮对话的对话文本,预测该轮对话中说话NPC的更新状态信息;
如果该轮对话中说话NPC的更新状态信息未指示对话结束且所述更新状态信息具有待执行的状态内容,则预测所述说话NPC在所述更新状态信息下待执行的目标状态内容,并生成该轮对话中所述说话NPC在所述更新状态信息下执行所述目标状态内容的状态文本。
在一种可能的实施方式中,在生成每场对话中每一轮对话的对话文本之后,所述方法还包括:
判断每场对话中每一轮对话是否满足聊天结束条件;若是,则结束聊天;
其中,每一轮对话满足聊天结束条件包括以下之一:
当前轮对话中说话NPC的更新状态信息指示对话结束;
该场对话的对话轮数达到对话模板中的截止对话轮数。
在一种可能的实施方式中,确定每一轮对话中至少两个目标NPC的方法包括:
针对每一轮对话,响应用户针对NPC列表的第一选择操作,确定参与该轮对话的至少两个目标NPC;所述NPC列表包括多个NPC,所述多个NPC预先配置有各自的人设信息且不同NPC的人设信息不同;
或者,
针对每一轮对话,确定上一轮对话中的至少两个目标NPC,作为参与该轮对话的至少两个目标NPC。
在一种可能的实施方式中,配置至少两个目标NPC的标准背景信息的方法包括:
响应用户针对所述至少两个目标NPC的状态列表、游戏环境列表和相遇列表的第二选择操作,确定所述至少两个目标NPC在游戏中的状态信息、游戏环境信息和相遇信息;
或者,
根据上一轮对话中所述说话NPC在更新状态信息下待执行的目标状态内容,配置当前轮对话中所述目标NPC在游戏中的状态信息。
在一种可能的实施方式中,所述方法还包括:
在确定当前游戏场景下触发对话的多个对话NPC后,获取所述多个对话NPC的对话背景信息;所述对话背景信息包括:所述多个对话NPC各自的人设信息、在游戏中的当前状态信息、当前游戏环境信息和当前相遇信息;
从预先生成的每场对话的多轮对话文本中,查询与所述对话背景信息相匹配的目标多轮对话文本,并在所述游戏的游戏界面中展示所述目标多轮对话文本。
在一种可能的实施方式中,所述根据该轮对话中所述至少两个目标NPC的标准背景信息,预测该轮对话中的说话NPC和被说话对象的步骤,包括:
获取预先训练好的对话预测模型;
将该轮对话的标准背景信息中输入到所述对话预测模型中,由所述对话预测模型对多种说话情况中的所述说话NPC和被说话对象进行预测,输出包括所述说话NPC和被说话对象的每一种说话情况的第一输出文本和每一第一输出文本的第一预测概率;所述多种说话情况根据所述目标NPC的数量确定;
将对应的第一预测概率最高的第一输出文本中的说话NPC和被说话对象作为该轮对话中的说话NPC和被说话对象。
在一种可能的实施方式中,所述根据所述至少两个目标NPC的标准背景信息、每一轮对话中的说话NPC和被说话对象以及每一轮对话之前的历史对话,生成每一轮对话的对话文本的步骤,包括:
获取预先训练好的对话预测模型;
将所述至少两个目标NPC的标准背景信息、每一轮对话中的说话NPC和被说话对象以及每一轮对话之前的历史对话输入到所述对话预测模型中,得到所述对话预测模型输出的每一轮对话的对话文本。
在一种可能的实施方式中,所述根据所述至少两个目标NPC的标准背景信息、该轮对话中的说话NPC和被说话对象、该轮对话之前的历史对话和所述对话因素,生成该轮对话的对话文本的步骤,还包括:
获取预先训练好的对话预测模型;
将所述至少两个目标NPC的标准背景信息、该轮对话中的说话NPC和被说话对象、该轮对话之前的历史对话以及影响该轮对话的对话因素输入到所述对话预测模型中,得到所述对话预测模型输出的该轮对话的对话文本。
在一种可能的实施方式中,所述至少根据该轮对话中所述至少两个目标NPC的标准背景信息和所述说话NPC和被说话对象,预测影响该轮对话的对话因素的步骤,包括:
获取预先训练好的对话预测模型;
在预测影响该轮对话的情绪因素时,将每一轮对话中至少两个目标NPC的标准背景信息以及所述说话NPC和被说话对象输入到对话预测模型中,由所述对话预测模型对预设的情绪列表中的情绪因素进行预测,输出所述说话NPC和被说话对象在情绪列表中每一情绪因素下的第二输出文本以及每一第二输出文本的第二预测概率;
将最高数值且大于第一阈值的第二预测概率对应的第二输出文本中的情绪因素作为影响该轮对话的情绪因素。
在一种可能的实施方式中,所述在预测影响该轮对话的对话因素时,根据该轮对话中所述至少两个目标NPC的标准背景信息、所述说话NPC和被说话对象以及该轮对话之前的历史对话和/或该对话因素关联的已预测对话因素,预测影响该轮对话的对话因素的步骤,包括:
获取预先训练好的对话预测模型;
在预测影响该轮对话的话题因素时,将该轮对话中至少两个目标NPC的标准背景信息、所述说话NPC和被说话对象、该话题因素关联的情绪因素以及该轮对话之前的历史对话输入到所述对话预测模型中,由所述对话预测模型对话题列表中的话题因素进行预测,输出所述说话NPC和被说话对象在所述话题列表中每一话题因素下的第三输出文本和每一第三输出文本的第三预测概率;
将最高数值且大于第二阈值的第三预测概率对应第三输出文本中的话题作为该轮对话的话题因素。
在一种可能的实施方式中,所述根据该轮对话中所述至少两个目标NPC的标准背景信息、该轮对话中的说话NPC和被说话对象、该轮对话之前的历史对话和该轮对话的对话文本,预测该轮对话中说话NPC的更新状态信息的步骤,包括:
获取预先训练好的对话预测模型;
将该轮对话中所述至少两个目标NPC的标准背景信息、该轮对话中的说话NPC和被说话对象、该轮对话之前的历史对话和该轮对话的对话文本输入到所述对话预测模型中,得到所述对话预测模型输出的该轮对话中说话NPC的更新状态信息。
在一种可能的实施方式中,所述预测所述说话NPC在所述更新状态信息下待执行的目标状态内容的步骤,包括:
获取预先训练好的对话预测模型;
将该轮对话中所述至少两个目标NPC的标准背景信息、该轮对话中的说话NPC和被说话对象、该轮对话之前的历史对话、该轮对话的对话文本和该轮对话中说话NPC的更新状态信息输入到所述对话预测模型中,由所述对话预测模型对所述更新状态信息下的状态列表中的目标状态内容进行预测,输出该轮对话中说话NPC在所述更新状态信息下执行所述状态列表中每一状态内容的第四输出文本和每一第四输出文本的第四预测概率;
将对应的第四预测概率最高的第四输出文本中的状态内容,作为说话NPC在所述更新状态信息下待执行的目标状态内容。
在一种可能的实施方式中,所述对话预测模型是基于对话剧情语料预训练的GPT模型,所述对话预测模型能够通过给定的信息输出预期文本或者输出预期文本和该预期文本的预测概率。
本申请实施例提供的上述电子设备,能够生成游戏场景下包括多样NPC的对话文本,具体的,针对每场对话,确定参与每一轮对话的至少两个目标NPC,并配置至少两个目标NPC的标准背景信息,然后,根据至少两个目标NPC的标准背景信息,得到每一轮对话中的说话NPC和被说话对象,并根据至少两个目标NPC的标准背景信息、每一轮对话中的说话NPC和被说话对象以及每一轮对话之前的历史对话,生成每一轮对话的对话文本;最后,在每场对话结束后,根据生成的每一轮对话的对话文本,生成每场对话的多轮对话文本。本申请实施例能够在游戏场景下处理任意NPC之间的互相聊天场景,且考虑到了游戏场景下多NPC各自的状态信息和游戏环境信息,提高了多NPC对话文本的生成效率且使生成的对话文本与当前游戏场景相匹配。
本申请第六实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时,所述处理器执行以下步骤:
针对每场对话,确定参与每一轮对话的至少两个目标NPC,并配置至少两个目标NPC的标准背景信息;其中,不同场对话中的目标NPC存在部分不同或全部不同;
根据所述至少两个目标NPC的标准背景信息,得到每一轮对话中的说话NPC和被说话对象;
根据所述至少两个目标NPC的标准背景信息、每一轮对话中的说话NPC和被说话对象以及每一轮对话之前的历史对话,生成每一轮对话的对话文本;
根据生成的每一轮对话的对话文本,生成每场对话的多轮对话文本。
在一种可能的实施方式中,不同目标NPC的标准背景信息存在部分不同或全部不同;所述标准背景信息包括:所述至少两个目标NPC各自的人设信息、所述至少两个目标NPC在游戏中的状态信息、所述至少两个目标NPC的相遇信息和游戏环境信息。
在一种可能的实施方式中,每场对话还配置有一对话模板,所述对话模板用于控制每场对话的对话流程;所述方法还包括:
针对每场对话中的每一轮对话,判断该场对话的对话模板中是否指定了该轮对话中的目标说话NPC和被说话对象;
如果是,则确定所述目标说话NPC和被说话对象作为该轮对话中的说话NPC和被说话对象;
如果否,则根据该轮对话中所述至少两个目标NPC的标准背景信息,预测该轮对话中的说话NPC和被说话对象。
在一种可能的实施方式中所述根据所述至少两个目标NPC的标准背景信息、每一轮对话中的说话NPC和被说话对象以及每一轮对话之前的历史对话,生成每一轮对话的对话文本的步骤,包括:
针对每一轮对话,至少根据该轮对话中所述至少两个目标NPC的标准背景信息和所述说话NPC和被说话对象,预测影响该轮对话的对话因素;
根据所述至少两个目标NPC的标准背景信息、该轮对话中的说话NPC和被说话对象、该轮对话之前的历史对话和所述对话因素,生成该轮对话的对话文本。
在一种可能的实施方式中,所述至少根据该轮对话中所述至少两个目标NPC的标准背景信息和所述说话NPC和被说话对象,预测影响该轮对话的对话因素的步骤,包括:
在预测影响该轮对话的对话因素时,根据该轮对话中所述至少两个目标NPC的标准背景信息、所述说话NPC和被说话对象以及该轮对话之前的历史对话和/或该对话因素关联的已预测对话因素,预测影响该轮对话的对话因素。
在一种可能的实施方式中,所述根据生成的每一轮对话的对话文本,生成每场对话的多轮对话文本的步骤,包括:
获取每一轮对话的状态文本,所述状态文本是基于每一轮对话的对话文本生成的;
根据生成的每一轮对话的对话文本和所述状态文本,生成每场对话的多轮对话文本。
在一种可能的实施方式中,基于每一轮对话的对话文本生成每一轮对话的状态文本的步骤,包括:
针对每一轮对话,根据该轮对话中所述至少两个目标NPC的标准背景信息、该轮对话中的说话NPC和被说话对象、该轮对话之前的历史对话和该轮对话的对话文本,预测该轮对话中说话NPC的更新状态信息;
如果该轮对话中说话NPC的更新状态信息未指示对话结束且所述更新状态信息具有待执行的状态内容,则预测所述说话NPC在所述更新状态信息下待执行的目标状态内容,并生成该轮对话中所述说话NPC在所述更新状态信息下执行所述目标状态内容的状态文本。
在一种可能的实施方式中,在生成每场对话中每一轮对话的对话文本之后,所述方法还包括:
判断每场对话中每一轮对话是否满足聊天结束条件;若是,则结束聊天;
其中,每一轮对话满足聊天结束条件包括以下之一:
当前轮对话中说话NPC的更新状态信息指示对话结束;
该场对话的对话轮数达到对话模板中的截止对话轮数。
在一种可能的实施方式中,确定每一轮对话中至少两个目标NPC的方法包括:
针对每一轮对话,响应用户针对NPC列表的第一选择操作,确定参与该轮对话的至少两个目标NPC;所述NPC列表包括多个NPC,所述多个NPC预先配置有各自的人设信息且不同NPC的人设信息不同;
或者,
针对每一轮对话,确定上一轮对话中的至少两个目标NPC,作为参与该轮对话的至少两个目标NPC。
在一种可能的实施方式中,配置至少两个目标NPC的标准背景信息的方法包括:
响应用户针对所述至少两个目标NPC的状态列表、游戏环境列表和相遇列表的第二选择操作,确定所述至少两个目标NPC在游戏中的状态信息、游戏环境信息和相遇信息;
或者,
根据上一轮对话中所述说话NPC在更新状态信息下待执行的目标状态内容,配置当前轮对话中所述目标NPC在游戏中的状态信息。
在一种可能的实施方式中,所述方法还包括:
在确定当前游戏场景下触发对话的多个对话NPC后,获取所述多个对话NPC的对话背景信息;所述对话背景信息包括:所述多个对话NPC各自的人设信息、在游戏中的当前状态信息、当前游戏环境信息和当前相遇信息;
从预先生成的每场对话的多轮对话文本中,查询与所述对话背景信息相匹配的目标多轮对话文本,并在所述游戏的游戏界面中展示所述目标多轮对话文本。
在一种可能的实施方式中,所述根据该轮对话中所述至少两个目标NPC的标准背景信息,预测该轮对话中的说话NPC和被说话对象的步骤,包括:
获取预先训练好的对话预测模型;
将该轮对话的标准背景信息中输入到所述对话预测模型中,由所述对话预测模型对多种说话情况中的所述说话NPC和被说话对象进行预测,输出包括所述说话NPC和被说话对象的每一种说话情况的第一输出文本和每一第一输出文本的第一预测概率;所述多种说话情况根据所述目标NPC的数量确定;
将对应的第一预测概率最高的第一输出文本中的说话NPC和被说话对象作为该轮对话中的说话NPC和被说话对象。
在一种可能的实施方式中,所述根据所述至少两个目标NPC的标准背景信息、每一轮对话中的说话NPC和被说话对象以及每一轮对话之前的历史对话,生成每一轮对话的对话文本的步骤,包括:
获取预先训练好的对话预测模型;
将所述至少两个目标NPC的标准背景信息、每一轮对话中的说话NPC和被说话对象以及每一轮对话之前的历史对话输入到所述对话预测模型中,得到所述对话预测模型输出的每一轮对话的对话文本。
在一种可能的实施方式中,所述根据所述至少两个目标NPC的标准背景信息、该轮对话中的说话NPC和被说话对象、该轮对话之前的历史对话和所述对话因素,生成该轮对话的对话文本的步骤,还包括:
获取预先训练好的对话预测模型;
将所述至少两个目标NPC的标准背景信息、该轮对话中的说话NPC和被说话对象、该轮对话之前的历史对话以及影响该轮对话的对话因素输入到所述对话预测模型中,得到所述对话预测模型输出的该轮对话的对话文本。
在一种可能的实施方式中,所述至少根据该轮对话中所述至少两个目标NPC的标准背景信息和所述说话NPC和被说话对象,预测影响该轮对话的对话因素的步骤,包括:
获取预先训练好的对话预测模型;
在预测影响该轮对话的情绪因素时,将每一轮对话中至少两个目标NPC的标准背景信息以及所述说话NPC和被说话对象输入到对话预测模型中,由所述对话预测模型对预设的情绪列表中的情绪因素进行预测,输出所述说话NPC和被说话对象在情绪列表中每一情绪因素下的第二输出文本以及每一第二输出文本的第二预测概率;
将最高数值且大于第一阈值的第二预测概率对应的第二输出文本中的情绪因素作为影响该轮对话的情绪因素。
在一种可能的实施方式中,所述在预测影响该轮对话的对话因素时,根据该轮对话中所述至少两个目标NPC的标准背景信息、所述说话NPC和被说话对象以及该轮对话之前的历史对话和/或该对话因素关联的已预测对话因素,预测影响该轮对话的对话因素的步骤,包括:
获取预先训练好的对话预测模型;
在预测影响该轮对话的话题因素时,将该轮对话中至少两个目标NPC的标准背景信息、所述说话NPC和被说话对象、该话题因素关联的情绪因素以及该轮对话之前的历史对话输入到所述对话预测模型中,由所述对话预测模型对话题列表中的话题因素进行预测,输出所述说话NPC和被说话对象在所述话题列表中每一话题因素下的第三输出文本和每一第三输出文本的第三预测概率;
将最高数值且大于第二阈值的第三预测概率对应第三输出文本中的话题作为该轮对话的话题因素。
在一种可能的实施方式中,所述根据该轮对话中所述至少两个目标NPC的标准背景信息、该轮对话中的说话NPC和被说话对象、该轮对话之前的历史对话和该轮对话的对话文本,预测该轮对话中说话NPC的更新状态信息的步骤,包括:
获取预先训练好的对话预测模型;
将该轮对话中所述至少两个目标NPC的标准背景信息、该轮对话中的说话NPC和被说话对象、该轮对话之前的历史对话和该轮对话的对话文本输入到所述对话预测模型中,得到所述对话预测模型输出的该轮对话中说话NPC的更新状态信息。
在一种可能的实施方式中,所述预测所述说话NPC在所述更新状态信息下待执行的目标状态内容的步骤,包括:
获取预先训练好的对话预测模型;
将该轮对话中所述至少两个目标NPC的标准背景信息、该轮对话中的说话NPC和被说话对象、该轮对话之前的历史对话、该轮对话的对话文本和该轮对话中说话NPC的更新状态信息输入到所述对话预测模型中,由所述对话预测模型对所述更新状态信息下的状态列表中的目标状态内容进行预测,输出该轮对话中说话NPC在所述更新状态信息下执行所述状态列表中每一状态内容的第四输出文本和每一第四输出文本的第四预测概率;
将对应的第四预测概率最高的第四输出文本中的状态内容,作为说话NPC在所述更新状态信息下待执行的目标状态内容。
在一种可能的实施方式中,所述对话预测模型是基于对话剧情语料预训练的GPT模型,所述对话预测模型能够通过给定的信息输出预期文本或者输出预期文本和该预期文本的预测概率。
本申请实施例提供的上述计算机可读存储介质,能够生成游戏场景下包括多样NPC的对话文本,具体的,针对每场对话,确定参与每一轮对话的至少两个目标NPC,并配置至少两个目标NPC的标准背景信息,然后,根据至少两个目标NPC的标准背景信息,得到每一轮对话中的说话NPC和被说话对象,并根据至少两个目标NPC的标准背景信息、每一轮对话中的说话NPC和被说话对象以及每一轮对话之前的历史对话,生成每一轮对话的对话文本;最后,根据生成的每一轮对话的对话文本,生成每场对话的多轮对话文本。本申请实施例能够在游戏场景下处理任意NPC之间的互相聊天场景,且考虑到了游戏场景下多NPC各自的状态信息和游戏环境信息,提高了多NPC对话文本的生成效率且使生成的对话文本与当前游戏场景相匹配。
在本申请实施例中,该计算机程序被处理器运行时还可以执行其它机器可读指令,以执行如实施例中其它所述的方法,关于具体执行的方法步骤和原理参见实施例的说明,在此不再详细赘述。
如图11所示,本申请第七实施例还提供的一种电子设备1100,包括:处理器1101、存储器1102和总线,所述存储器1102存储有所述处理器1101可执行的机器可读指令,当电子设备运行时,所述处理器1101与所述存储器1102之间通过总线通信,所述处理器1101执行所述机器可读指令,所述处理器以执行以下步骤:
在确定当前游戏场景下触发对话的多个对话NPC后,获取所述多个对话NPC的对话背景信息;所述对话背景信息包括:所述多个对话NPC各自的人设信息、在游戏中的当前状态信息、当前游戏环境信息和当前相遇信息;
从预先生成的每场对话的多轮对话文本中,查询与所述对话背景信息相匹配的目标多轮对话文本,并在所述游戏的游戏界面中展示所述目标多轮对话文本;其中,所述每场对话的多轮对话文本是基于第一实施例所述的多NPC对话文本生成方法生成的。
本申请实施例提供的上述电子设备,当多个对话NPC在当前游戏场景下触发对话后,通过多个对话NPC的对话背景信息,从预先生成好的多场多轮对话文本中,查询与上述对话背景信息相匹配的目标多轮对话文本,并在游戏的游戏界面中展示目标多轮对话文本,且上述目标多轮对话文本是基于多NPC对话文本生成的。通过这种方式,提高了多个对话NPC对话文本的展示效率,并且,展示的目标多轮对话文本能够在游戏场景下处理任意NPC之间的互相聊天场景,且考虑到了游戏场景下多NPC各自的状态信息和游戏环境信息,提高了多NPC对话文本的生成效率,且使生成的对话文本与当前游戏场景相匹配。
本申请第八实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时,所述处理器执行以下步骤:
在确定当前游戏场景下触发对话的多个对话NPC后,获取所述多个对话NPC的对话背景信息;所述对话背景信息包括:所述多个对话NPC各自的人设信息、在游戏中的当前状态信息、当前游戏环境信息和当前相遇信息;
从预先生成的每场对话的多轮对话文本中,查询与所述对话背景信息相匹配的目标多轮对话文本,并在所述游戏的游戏界面中展示所述目标多轮对话文本;其中,所述每场对话的多轮对话文本是基于第一实施例所述的多NPC对话文本生成方法生成的。
本申请实施例提供的上述计算机可读存储介质,当多个对话NPC在当前游戏场景下触发对话后,通过多个对话NPC的对话背景信息,从预先生成好的多场多轮对话文本中,查询与上述对话背景信息相匹配的目标多轮对话文本,并在游戏的游戏界面中展示目标多轮对话文本,且上述目标多轮对话文本是基于多NPC对话文本生成的。通过这种方式,提高了多个对话NPC对话文本的展示效率,并且,展示的目标多轮对话文本能够在游戏场景下处理任意NPC之间的互相聊天场景,且考虑到了游戏场景下多NPC各自的状态信息和游戏环境信息,提高了多NPC对话文本的生成效率,且使生成的对话文本与当前游戏场景相匹配。
在本申请实施例中,该计算机程序被处理器运行时还可以执行其它机器可读指令,以执行如实施例中其它所述的方法,关于具体执行的方法步骤和原理参见实施例的说明,在此不再详细赘述。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考方法实施例中的对应过程,本申请中不再赘述。在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述飞行控制方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (23)
1.一种多NPC对话文本生成方法,其特征在于,所述方法包括:
针对每场对话,确定参与每一轮对话的至少两个目标NPC,并配置至少两个目标NPC的标准背景信息;其中,不同场对话中的目标NPC存在部分不同或全部不同;
根据所述至少两个目标NPC的标准背景信息,得到每一轮对话中的说话NPC和被说话对象;
根据所述至少两个目标NPC的标准背景信息、每一轮对话中的说话NPC和被说话对象以及每一轮对话之前的历史对话,生成每一轮对话的对话文本;
根据生成的每一轮对话的对话文本,生成每场对话的多轮对话文本。
2.根据权利要求1所述的多NPC对话文本生成方法,其特征在于,不同目标NPC的标准背景信息存在部分不同或全部不同;所述标准背景信息包括:所述至少两个目标NPC各自的人设信息、所述至少两个目标NPC在游戏中的状态信息、所述至少两个目标NPC的相遇信息和游戏环境信息。
3.根据权利要求1所述的多NPC对话文本生成方法,其特征在于,每场对话还配置有一对话模板,所述对话模板用于控制每场对话的对话流程;所述方法还包括:
针对每场对话中的每一轮对话,判断该场对话的对话模板中是否指定了该轮对话中的目标说话NPC和被说话对象;
如果是,则确定所述目标说话NPC和被说话对象作为该轮对话中的说话NPC和被说话对象;
如果否,则根据该轮对话中所述至少两个目标NPC的标准背景信息,预测该轮对话中的说话NPC和被说话对象。
4.根据权利要求1所述的多NPC对话文本生成方法,其特征在于,所述根据所述至少两个目标NPC的标准背景信息、每一轮对话中的说话NPC和被说话对象以及每一轮对话之前的历史对话,生成每一轮对话的对话文本的步骤,包括:
针对每一轮对话,至少根据该轮对话中所述至少两个目标NPC的标准背景信息和所述说话NPC和被说话对象,预测影响该轮对话的对话因素;
根据所述至少两个目标NPC的标准背景信息、该轮对话中的说话NPC和被说话对象、该轮对话之前的历史对话和所述对话因素,生成该轮对话的对话文本。
5.根据权利要求4所述的多NPC对话文本生成方法,其特征在于,所述至少根据该轮对话中所述至少两个目标NPC的标准背景信息和所述说话NPC和被说话对象,预测影响该轮对话的对话因素的步骤,包括:
在预测影响该轮对话的对话因素时,根据该轮对话中所述至少两个目标NPC的标准背景信息、所述说话NPC和被说话对象以及该轮对话之前的历史对话和/或该对话因素关联的已预测对话因素,预测影响该轮对话的对话因素。
6.根据权利要求1所述的多NPC对话文本生成方法,其特征在于,所述根据生成的每一轮对话的对话文本,生成每场对话的多轮对话文本的步骤,包括:
获取每一轮对话的状态文本,所述状态文本是基于每一轮对话的对话文本生成的;
根据生成的每一轮对话的对话文本和所述状态文本,生成每场对话的多轮对话文本。
7.根据权利要求6所述的多NPC对话文本生成方法,其特征在于,基于每一轮对话的对话文本生成每一轮对话的状态文本的步骤,包括:
针对每一轮对话,根据该轮对话中所述至少两个目标NPC的标准背景信息、该轮对话中的说话NPC和被说话对象、该轮对话之前的历史对话和该轮对话的对话文本,预测该轮对话中说话NPC的更新状态信息;
如果该轮对话中说话NPC的更新状态信息未指示对话结束且所述更新状态信息具有待执行的状态内容,则预测所述说话NPC在所述更新状态信息下待执行的目标状态内容,并生成该轮对话中所述说话NPC在所述更新状态信息下执行所述目标状态内容的状态文本。
8.根据权利要求1所述的多NPC对话文本生成方法,其特征在于,在生成每场对话中每一轮对话的对话文本之后,所述方法还包括:
判断每场对话中每一轮对话是否满足聊天结束条件;若是,则结束聊天;
其中,每一轮对话满足聊天结束条件包括以下之一:
当前轮对话中说话NPC的更新状态信息指示对话结束;
该场对话的对话轮数达到对话模板中的截止对话轮数。
9.根据权利要求1所述的多NPC对话文本生成方法,其特征在于,确定每一轮对话中至少两个目标NPC的方法包括:
针对每一轮对话,响应用户针对NPC列表的第一选择操作,确定参与该轮对话的至少两个目标NPC;所述NPC列表包括多个NPC,所述多个NPC预先配置有各自的人设信息且不同NPC的人设信息不同;
或者,
针对每一轮对话,确定上一轮对话中的至少两个目标NPC,作为参与该轮对话的至少两个目标NPC。
10.根据权利要求1所述的多NPC对话文本生成方法,其特征在于,配置至少两个目标NPC的标准背景信息的方法包括:
响应用户针对所述至少两个目标NPC的状态列表、游戏环境列表和相遇列表的第二选择操作,确定所述至少两个目标NPC在游戏中的状态信息、游戏环境信息和相遇信息;
和/或,
根据上一轮对话中所述说话NPC在更新状态信息下待执行的目标状态内容,配置当前轮对话中所述目标NPC在游戏中的状态信息。
11.根据权利要求3所述的多NPC对话文本生成方法,其特征在于,所述根据该轮对话中所述至少两个目标NPC的标准背景信息,预测该轮对话中的说话NPC和被说话对象的步骤,包括:
获取预先训练好的对话预测模型;
将该轮对话的标准背景信息中输入到所述对话预测模型中,由所述对话预测模型对多种说话情况中的所述说话NPC和被说话对象进行预测,输出包括所述说话NPC和被说话对象的每一种说话情况的第一输出文本和每一第一输出文本的第一预测概率;所述多种说话情况根据所述目标NPC的数量确定;
将对应的第一预测概率最高的第一输出文本中的说话NPC和被说话对象作为该轮对话中的说话NPC和被说话对象。
12.根据权利要求1所述的多NPC对话文本生成方法,其特征在于,所述根据所述至少两个目标NPC的标准背景信息、每一轮对话中的说话NPC和被说话对象以及每一轮对话之前的历史对话,生成每一轮对话的对话文本的步骤,包括:
获取预先训练好的对话预测模型;
将所述至少两个目标NPC的标准背景信息、每一轮对话中的说话NPC和被说话对象以及每一轮对话之前的历史对话输入到所述对话预测模型中,得到所述对话预测模型输出的每一轮对话的对话文本。
13.根据权利要求4所述的多NPC对话文本生成方法,其特征在于,所述根据所述至少两个目标NPC的标准背景信息、该轮对话中的说话NPC和被说话对象、该轮对话之前的历史对话和所述对话因素,生成该轮对话的对话文本的步骤,还包括:
获取预先训练好的对话预测模型;
将所述至少两个目标NPC的标准背景信息、该轮对话中的说话NPC和被说话对象、该轮对话之前的历史对话以及影响该轮对话的对话因素输入到所述对话预测模型中,得到所述对话预测模型输出的该轮对话的对话文本。
14.根据权利要求4所述的多NPC对话文本生成方法,其特征在于,所述至少根据该轮对话中所述至少两个目标NPC的标准背景信息和所述说话NPC和被说话对象,预测影响该轮对话的对话因素的步骤,包括:
获取预先训练好的对话预测模型;
在预测影响该轮对话的情绪因素时,将每一轮对话中至少两个目标NPC的标准背景信息以及所述说话NPC和被说话对象输入到对话预测模型中,由所述对话预测模型对预设的情绪列表中的情绪因素进行预测,输出所述说话NPC和被说话对象在情绪列表中每一情绪因素下的第二输出文本以及每一第二输出文本的第二预测概率;
将最高数值且大于第一阈值的第二预测概率对应的第二输出文本中的情绪因素作为影响该轮对话的情绪因素。
15.根据权利要求5所述的多NPC对话文本生成方法,其特征在于,所述在预测影响该轮对话的对话因素时,根据该轮对话中所述至少两个目标NPC的标准背景信息、所述说话NPC和被说话对象以及该轮对话之前的历史对话和/或该对话因素关联的已预测对话因素,预测影响该轮对话的对话因素的步骤,包括:
获取预先训练好的对话预测模型;
在预测影响该轮对话的话题因素时,将该轮对话中至少两个目标NPC的标准背景信息、所述说话NPC和被说话对象、该话题因素关联的情绪因素以及该轮对话之前的历史对话输入到所述对话预测模型中,由所述对话预测模型对话题列表中的话题因素进行预测,输出所述说话NPC和被说话对象在所述话题列表中每一话题因素下的第三输出文本和每一第三输出文本的第三预测概率;
将最高数值且大于第二阈值的第三预测概率对应第三输出文本中的话题作为该轮对话的话题因素。
16.根据权利要求7所述的多NPC对话文本生成方法,其特征在于,所述根据该轮对话中所述至少两个目标NPC的标准背景信息、该轮对话中的说话NPC和被说话对象、该轮对话之前的历史对话和该轮对话的对话文本,预测该轮对话中说话NPC的更新状态信息的步骤,包括:
获取预先训练好的对话预测模型;
将该轮对话中所述至少两个目标NPC的标准背景信息、该轮对话中的说话NPC和被说话对象、该轮对话之前的历史对话和该轮对话的对话文本输入到所述对话预测模型中,得到所述对话预测模型输出的该轮对话中说话NPC的更新状态信息。
17.根据权利要求7所述的多NPC对话文本生成方法,其特征在于,所述预测所述说话NPC在所述更新状态信息下待执行的目标状态内容的步骤,包括:
获取预先训练好的对话预测模型;
将该轮对话中所述至少两个目标NPC的标准背景信息、该轮对话中的说话NPC和被说话对象、该轮对话之前的历史对话、该轮对话的对话文本和该轮对话中说话NPC的更新状态信息输入到所述对话预测模型中,由所述对话预测模型对所述更新状态信息下的状态列表中的目标状态内容进行预测,输出该轮对话中说话NPC在所述更新状态信息下执行所述状态列表中每一状态内容的第四输出文本和每一第四输出文本的第四预测概率;
将对应的第四预测概率最高的第四输出文本中的状态内容,作为说话NPC在所述更新状态信息下待执行的目标状态内容。
18.根据权利要求11~17任一项所述的多NPC对话文本生成方法,其特征在于,所述对话预测模型是基于对话剧情语料预训练的GPT模型,所述对话预测模型能够通过给定的信息输出预期文本或者输出预期文本和该预期文本的预测概率。
19.一种多NPC对话文本展示方法,其特征在于,所述方法包括:
在确定当前游戏场景下触发对话的多个对话NPC后,获取所述多个对话NPC的对话背景信息;所述对话背景信息包括:所述多个对话NPC各自的人设信息、在游戏中的当前状态信息、当前游戏环境信息和当前相遇信息;
从预先生成的每场对话的多轮对话文本中,查询与所述对话背景信息相匹配的目标多轮对话文本,并在所述游戏的游戏界面中展示所述目标多轮对话文本;其中,所述每场对话的多轮对话文本是基于权利要求1~18任一项所述的多NPC对话文本生成方法生成的。
20.一种电子设备,其特征在于,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述机器可读指令,以执行如权利要求1至18任一项所述的多NPC对话文本生成方法的步骤。
21.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如权利要求1至18任一项所述的多NPC对话文本生成方法的步骤。
22.一种电子设备,其特征在于,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述机器可读指令,以执行如权利要求19所述的多NPC对话文本展示方法的步骤。
23.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如权利要求19所述的多NPC对话文本展示方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210894310.7A CN115146048A (zh) | 2022-07-27 | 2022-07-27 | 一种多npc对话文本生成、展示方法、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210894310.7A CN115146048A (zh) | 2022-07-27 | 2022-07-27 | 一种多npc对话文本生成、展示方法、设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115146048A true CN115146048A (zh) | 2022-10-04 |
Family
ID=83413904
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210894310.7A Pending CN115146048A (zh) | 2022-07-27 | 2022-07-27 | 一种多npc对话文本生成、展示方法、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115146048A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115565519A (zh) * | 2022-11-30 | 2023-01-03 | 广汽埃安新能源汽车股份有限公司 | 对话语音生成方法、装置、设备、计算机可读介质 |
CN117018616A (zh) * | 2023-08-25 | 2023-11-10 | 广州市玄武无线科技股份有限公司 | 一种基于gpt的角色与环境交互控制方法 |
-
2022
- 2022-07-27 CN CN202210894310.7A patent/CN115146048A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115565519A (zh) * | 2022-11-30 | 2023-01-03 | 广汽埃安新能源汽车股份有限公司 | 对话语音生成方法、装置、设备、计算机可读介质 |
CN117018616A (zh) * | 2023-08-25 | 2023-11-10 | 广州市玄武无线科技股份有限公司 | 一种基于gpt的角色与环境交互控制方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115146048A (zh) | 一种多npc对话文本生成、展示方法、设备及介质 | |
CN111026932B (zh) | 人机对话交互方法、装置、电子设备和存储介质 | |
JP7231327B2 (ja) | ゲームシステムと観戦システムとの統合 | |
US11610092B2 (en) | Information processing system, information processing apparatus, information processing method, and recording medium | |
US20190033957A1 (en) | Information processing system, client terminal, information processing method, and recording medium | |
US20190248001A1 (en) | Conversation output system, conversation output method, and non-transitory recording medium | |
US11222633B2 (en) | Dialogue method, dialogue system, dialogue apparatus and program | |
CN111801730A (zh) | 用于人工智能驱动的自动伴侣的系统和方法 | |
WO2023082927A1 (zh) | 虚拟场景中任务引导方法、装置、电子设备、存储介质及程序产品 | |
US20110070935A1 (en) | Traveling virtual pet game system | |
CN113648650B (zh) | 一种互动方法及相关装置 | |
CN112262024A (zh) | 用于增强数字体验的动态机器人配置的系统和方法 | |
CN109377979B (zh) | 更新欢迎语的方法和系统 | |
CN112306321B (zh) | 一种信息展示方法、装置、设备及计算机可读存储介质 | |
WO2018095195A1 (zh) | 一种包装盒定制方法及装置 | |
CN115228088A (zh) | 一种npc和玩家角色聊天的方法、设备及介质 | |
CN112492400B (zh) | 互动方法、装置、设备以及通信方法、拍摄方法 | |
JP7463509B2 (ja) | 検索結果における目標ゲームの目立つ表示 | |
Kim et al. | Commonsense-augmented Memory Construction and Management in Long-term Conversations via Context-aware Persona Refinement | |
JP7331349B2 (ja) | 会話出力システム、サーバ、会話出力方法及びプログラム | |
JP5235539B2 (ja) | ゲーム情報配信装置、プログラムおよび情報記憶媒体 | |
US20230351142A1 (en) | Relationship graphs for artificial intelligence character models | |
US20230135871A1 (en) | System and method for executing and manipulating a storyline | |
JP2013146575A (ja) | ゲーム情報配信装置、プログラムおよび情報記憶媒体 | |
Almeida et al. | Creating an agent-based framework for don’t starve together |
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 |