CN113209640A - 解说的生成方法、装置、设备及计算机可读存储介质 - Google Patents
解说的生成方法、装置、设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN113209640A CN113209640A CN202110778006.1A CN202110778006A CN113209640A CN 113209640 A CN113209640 A CN 113209640A CN 202110778006 A CN202110778006 A CN 202110778006A CN 113209640 A CN113209640 A CN 113209640A
- Authority
- CN
- China
- Prior art keywords
- comment
- triggered
- virtual scene
- event
- virtual
- 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.)
- Granted
Links
Images
Classifications
-
- 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/85—Providing additional services to players
-
- 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/55—Controlling game characters or game objects based on the game progress
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Human Computer Interaction (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本申请提供了一种解说的生成方法、装置、设备及计算机可读存储介质;方法包括:在虚拟场景中的虚拟对象执行任务的过程中,获取至少一个虚拟对象的控制方发送的操作指令;其中,所述操作指令用于控制所述虚拟对象在所述虚拟场景中执行相应的交互操作;基于获取的至少一个所述操作指令,确定用于描述所述虚拟场景的特征数据;根据所述特征数据,获取被触发的解说事件,并生成被触发的解说事件所对应的解说。通过本申请,能够自动生成对应虚拟场景的解说,节约解说所需的人力成本。
Description
技术领域
本申请涉及人工智能技术领域,尤其涉及一种解说的生成方法、装置、设备及计算机可读存储介质。
背景技术
人工智能(Artificial Intelligence, AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习、自动驾驶、智慧交通等几大方向。随着人工智能技术的发展,人工智能技术被应用于各种不同的应用场景中。
相关技术中,在对虚拟场景的中虚拟对象执行任务的过程(如一局游戏)进行解说时,通常全程需要人工参与,导致人力成本过高。
发明内容
本申请实施例提供一种解说的生成方法、装置、设备及计算机可读存储介质,能够自动生成对应虚拟场景的解说,节约解说所需的人力成本。
本申请实施例的技术方案是这样实现的:
本申请实施例提供一种解说的生成方法,包括:
在虚拟场景中的虚拟对象执行任务的过程中,获取至少一个虚拟对象的控制方发送的操作指令;
其中,所述操作指令用于控制所述虚拟对象在所述虚拟场景中执行相应的交互操作;
基于获取的至少一个所述操作指令,确定用于描述所述虚拟场景的特征数据;
根据所述特征数据,获取被触发的解说事件,并生成被触发的解说事件所对应的解说。
本申请实施例提供一种解说的生成装置,包括:
获取模块,用于在虚拟场景中的虚拟对象执行任务的过程中,获取至少一个虚拟对象的控制方发送的操作指令;
其中,所述操作指令用于控制所述虚拟对象在所述虚拟场景中执行相应的交互操作;
确定模块,用于基于获取的至少一个所述操作指令,确定用于描述所述虚拟场景的特征数据;
生成模块,用于根据所述特征数据,获取被触发的解说事件,并生成被触发的解说事件所对应的解说。
上述方案中,获取模块,还用于获取所述虚拟场景的画面在终端中的显示帧数;
确定与所述显示帧数相匹配的时长间隔;
以所述时长间隔作为周期,周期性地获取至少一个虚拟对象的控制方在每个所述周期内发送的操作指令。
上述方案中,所述特征数据包括直接特征数据和间接特征数据;
所述确定模块,还用于基于获取的至少一个所述操作指令,确定与所述操作指令相关联的多个帧对应的虚拟场景数据;
将所述多个帧对应的虚拟场景数据作为所述直接特征数据;
对所述多个帧对应的虚拟场景数据进行统计分析处理,得到所述间接特征数据。
上述方案中,所述确定模块,还用于基于获取的至少一个所述操作指令,确定各所述操作指令所控制的虚拟对象在执行所述交互操作后的状态参数,以及当所述交互操作为所述虚拟对象针对相应交互对象所执行的交互操作时,确定所述交互对象在接收到所述交互操作后的状态参数;
基于确定的所述虚拟对象的状态参数及相应交互对象的状态参数,确定多个帧对应的虚拟场景数据。
上述方案中,所述获取模块,还用于获取所述一个虚拟对象的控制方所对应的所述虚拟场景的账号信息;
基于所述账号信息,获取与所述账号信息相关联的历史数据;
所述确定模块,还用于基于获取的至少一个所述操作指令及相应控制方的所述历史数据,确定用于描述所述虚拟场景的特征数据。
上述方案中,所述生成模块,还用于获取预先设置的特征体系,所述特征体系用于指示解说特征的维度及属性;
根据所述特征数据,生成对应所述特征体系的解说特征;
基于生成的所述解说特征,获取被触发的解说事件。
上述方案中,所述生成模块,还用于分别获取多个所述解说事件中各解说事件的触发条件;
基于所述特征数据,获取触发条件得到满足的解说事件。
上述方案中,所述生成模块,还用于当存在多个解说事件被触发时,获取被触发的各解说事件的重要程度;
基于所述重要程度,选取至少一个解说事件作为目标解说事件;
生成所述目标解说事件所对应的解说文本。
上述方案中,所述生成模块,还用于确定与被触发的解说事件对应的解说模板;
获取与所述被触发的解说事件对应的特征数据;
根据获取的特征数据,确定与所述解说模板中的模板字段对应的关键词;
将对所述解说模板中的模板字段替换为所述关键词,得到被触发的解说事件所对应的解说文本。
上述方案中,所述输出模块,还用于将所述特征数据输入结果预测模型中,通过结果预测模型对所述虚拟场景中的交互结果进行预测;
根据预测得到的交互结果,生成所述交互结果对应的解说。
上述方案中,所述生成模块,还用于对于每个所述控制方,当被触发的解说事件发生在所述控制方控制的虚拟对象的视野范围内时,将生成的所述解说输出至所述控制方。
上述方案中,所述生成模块,还用于确定与被触发的解说事件对应的解说文本;
获取针对各所述控制方设置的语音参数;
分别基于各所述控制方对应的语音参数,生成对应所述解说文本的解说语音。
本申请实施例提供一种计算机设备,包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令时,实现本申请实施例提供的解说的生成方法。
本申请实施例提供一种计算机可读存储介质,存储有可执行指令,用于引起处理器执行时,实现本申请实施例提供的解说的生成方法。
本申请实施例具有以下有益效果:
应用上述实施例,通过在虚拟场景中的虚拟对象执行任务的过程中,获取至少一个虚拟对象的控制方发送的操作指令;其中,所述操作指令用于控制所述虚拟对象在所述虚拟场景中执行相应的交互操作;基于获取的至少一个所述操作指令,确定用于描述所述虚拟场景的特征数据;根据所述特征数据,确定被触发的解说事件,并获取被触发的解说事件所对应的解说;如此,能够自动生成对应虚拟场景的解说,节约解说所需的人力成本。
附图说明
图1是本申请实施例提供的解说的生成方法的实施场景示意图;
图2是本申请实施例提供的计算机设备500的结构示意图;
图3是本申请实施例提供的解说的生成方法的流程示意图;
图4是本申请实施例提供的特征体系示意图;
图5是本申请实施例提供的解说的生成过程示意图;
图6是本申请实施例提供的解说的生成过程示意图;
图7是本申请实施例提供的解说的生成方法的一个可选的流程示意图;
图8是本申请实施例提供的解说的生成方法的流程示意图;
图9是本申请实施例提供的胜率预测示意图;
图10是本申请实施例提供的解说的生成装置555的结构示意图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,所描述的实施例不应视为对本申请的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
在以下的描述中,所涉及的术语“第一\第二\第三”仅仅是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
对本申请实施例进行进一步详细说明之前,对本申请实施例中涉及的名词和术语进行说明,本申请实施例中涉及的名词和术语适用于如下的解释。
1)虚拟场景,是应用程序在终端上运行时显示(或提供)的虚拟场景。该虚拟场景可以是对真实世界的仿真环境,也可以是半仿真半虚构的虚拟环境,还可以是纯虚构的虚拟环境。虚拟场景可以是二维虚拟场景、2.5维虚拟场景或者三维虚拟场景中的任意一种,本申请实施例对虚拟场景的维度不加以限定。例如,虚拟场景可以包括天空、陆地、海洋等,该陆地可以包括沙漠、城市等环境元素,用户可以控制虚拟对象在该虚拟场景中进行移动。
2)虚拟对象,虚拟场景中可以进行交互的各种人和物的形象,或在虚拟场景中的可活动对象。该可活动对象可以是虚拟人物、虚拟动物、动漫人物等,比如:在虚拟场景中显示的人物、动物、植物、油桶、墙壁、石块等。该虚拟对象可以是该虚拟场景中的一个虚拟的用于代表用户的虚拟形象。虚拟场景中可以包括多个虚拟对象,每个虚拟对象在虚拟场景中具有自身的形状和体积,占据虚拟场景中的一部分空间。
可选地,该虚拟对象可以是通过客户端上的操作进行控制的用户角色,也可以是通过训练设置在虚拟场景对战中的人工智能(AI,Artificial Intelligence),还可以是设置在虚拟场景交互中的非用户角色(NPC,Non-Player Character)。可选地,该虚拟对象可以是在虚拟场景中进行对抗式交互的虚拟人物。可选地,该虚拟场景中参与交互的虚拟对象的数量可以是预先设置的,也可以是根据加入交互的客户端的数量动态确定的。
3)虚拟场景数据,表示虚拟场景中的对象在交互过程中受所表现的各种特征,例如,可以包括对象在虚拟场景中的位置。当然,根据虚拟场景的类型可以包括不同类型的特征;例如,在游戏的虚拟场景中,场景数据可以包括虚拟场景中配置的各种功能时需要等待的时间(取决于在特定时间内能够使用同一功能的次数),还可以表示游戏角色的各种状态的属性值,例如包括生命值(也称为红量)和魔法值(也称为蓝量)等。
基于上述对本申请实施例中涉及的名词和术语的解释,接下来首先说明本申请实施例提供的解说的生成方法的实施场景,参见图1,图1是本申请实施例提供的解说的生成方法的实施场景示意图,为实现支撑一个示例性应用,终端(示例性示出了终端400-1和终端400-2)通过网络300连接服务器200,网络300可以是广域网或者局域网,又或者是二者的组合。其中,终端为虚拟场景中的虚拟对象的控制方,终端的数量不限于两个,可以为一个或者多个。
终端,用于在虚拟场景中的虚拟对象执行任务的过程中,发送操作指令至服务器;
其中,操作指令用于控制所述虚拟对象在虚拟场景中执行相应的交互操作;
服务器200,用于获取终端发送的操作指令;基于获取的至少一个所述操作指令,确定用于描述所述虚拟场景的特征数据;根据所述特征数据,获取被触发的解说事件,并生成被触发的解说事件所对应的解说;输出解说至终端;
终端,用于接收并播放解说。
在一些实施例中,服务器还可以将解说输出至观众终端,以通过观众终端播放该解说语音。
在一些实施例中,服务器200可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(CDN,ContentDelivery Network)、以及大数据和人工智能平台等基础云计算服务的云服务器或区块链服务器。终端可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表、车载设备、智能电视等,但并不局限于此。
参见图2,图2是本申请实施例提供的计算机设备500的结构示意图,在实际应用中,计算机设备500可以为图1中的终端(如400-1)或服务器200,以计算机设备为图1所示的服务器为例,对实施本申请实施例的解说的生成方法的计算机设备进行说明。图2所示的计算机设备500包括:至少一个处理器510、存储器550、至少一个网络接口520和用户接口530。计算机设备500中的各个组件通过总线系统540耦合在一起。可理解,总线系统540用于实现这些组件之间的连接通信。总线系统540除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图2中将各种总线都标为总线系统540。
处理器510可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
用户接口530包括使得能够呈现媒体内容的一个或多个输出装置531,包括一个或多个扬声器和/或一个或多个视觉显示屏。用户接口530还包括一个或多个输入装置532,包括有助于用户输入的用户接口部件,比如键盘、鼠标、麦克风、触屏显示屏、摄像头、其他输入按钮和控件。
存储器550可以是可移除的,不可移除的或其组合。示例性的硬件设备包括固态存储器,硬盘驱动器,光盘驱动器等。存储器550可选地包括在物理位置上远离处理器510的一个或多个存储设备。
存储器550包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(ROM,Read Only Memory),易失性存储器可以是随机存取存储器(RAM,Random Access Memory)。本申请实施例描述的存储器550旨在包括任意适合类型的存储器。
在一些实施例中,存储器550能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。
操作系统551,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;
网络通信模块552,用于经由一个或多个(有线或无线)网络接口520到达其他计算设备,示例性的网络接口520包括:蓝牙、无线相容性认证(WiFi)、和通用串行总线(USB,Universal Serial Bus)等;
呈现模块553,用于经由一个或多个与用户接口530相关联的输出装置531(例如,显示屏、扬声器等)使得能够呈现信息(例如,用于操作外围设备和显示内容和信息的用户接口);
输入处理模块554,用于对一个或多个来自一个或多个输入装置532之一的一个或多个用户输入或互动进行检测以及翻译所检测的输入或互动。
在一些实施例中,本申请实施例提供的服务器中的解说的生成装置可以采用软件方式实现,图2示出了存储在存储器550中的解说的生成装置555,其可以是程序和插件等形式的软件,包括以下软件模块:获取模块5551、确定模块5552及生成模块5553,这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分。
将在下文中说明各个模块的功能。
在另一些实施例中,本申请实施例提供的解说的生成装置可以采用硬件方式实现,作为示例,本申请实施例提供的解说的生成装置可以是采用硬件译码处理器形式的处理器,其被编程以执行本申请实施例提供的解说的生成方法,例如,硬件译码处理器形式的处理器可以采用一个或多个应用专用集成电路(ASIC,Application Specific IntegratedCircuit)、DSP、可编程逻辑器件(PLD,Programmable Logic Device)、复杂可编程逻辑器件(CPLD,Complex Programmable Logic Device)、现场可编程门阵列(FPGA,Field-Programmable Gate Array)或其他电子元件。
基于上述对本申请实施例的解说的生成方法的实施场景及计算机设备的说明,下面说明本申请实施例提供的解说的生成方法。
参见图3,图3是本申请实施例提供的解说的生成方法的流程示意图;在一些实施例中,该解说的生成方法可由服务器单独实施,或由服务器及终端协同实施,以服务器实施为例,本申请实施例提供的解说的生成方法包括:
步骤101:服务器在虚拟场景中的虚拟对象执行任务的过程中,获取至少一个虚拟对象的控制方发送的操作指令。
其中,操作指令用于控制虚拟对象在虚拟场景中执行相应的交互操作。这里,虚拟对象执行的任务与虚拟场景相对应,例如,当虚拟场景为游戏场景时,虚拟对象执行的任务可以是完成一局游戏,那么这里服务器是在一局游戏的进行过程中,获取至少一个虚拟对象(游戏角色)的控制方发送的操作指令;当虚拟场景为军事仿真场景时,虚拟对象执行的任务可以是完成一场军事模拟对战,那么这里服务器是在一场军事模拟对战的进行过程中,获取至少一个虚拟对象(模拟作战人员)的控制方发送的操作指令。
在实际实施时,虚拟对象的控制方可以为用户终端,终端上安装有支持虚拟场景的应用程序,该应用程序可以是多人在线战术竞技游戏(MOBA,Multiplayer OnlineBattle Arena)、大型多人在线角色扮演游戏、第一人称射击游戏、第三人称射击游戏、三维地图程序、军事仿真程序或者多人枪战类生存游戏中的任意一种。用户可以使用终端触发操作指令,以操作位于虚拟场景中的虚拟对象进行活动,该活动包括但不限于:调整身体姿态、移动、跳跃、释放技能中的至少一种。虚拟对象的控制方也可以为训练设置在虚拟场景中的人工智能程序,也即通过人工智能程序控制虚拟对象进行活动。示意性的,该虚拟对象是虚拟人物,比如仿真人物角色或动漫人物角色。
这里,对于每个控制方,可以是每触发一个操作指令,将该操作指令发送至服务器,以使服务器能够实时获取触发的操作指令;或者,控制方可以是在时间间隔到达时,将在该时间间隔内触发的操作指令一同发送给服务器。为了获取到虚拟场景中的完整信息,需要收集参与该虚拟场景中的所有虚拟对象的控制方触发的操作指令。
在实际应用中,获取的操作指令可以是一个或多个虚拟对象的控制方发送的,作为示例,当虚拟场景为MOBA类游戏场景时,在一局游戏中,有两个团队,每个团队包括多个虚拟对象,如每个团队可以由5个虚拟对象,这里获取所有虚拟对象的控制方发送的操作指令,如获取10个虚拟对象的控制方发送的操作指令;当虚拟场景为跑酷类游戏场景时,在一局游戏中,仅有一个虚拟对象及相应的虚拟对象的控制方,那么获取该虚拟对象的控制方发送的操作指令。
在一些实施例中,服务器可以通过以下方式获取至少一个虚拟对象的控制方发送的操作指令:获取虚拟场景的画面的显示帧数;确定与显示帧数相匹配的时长间隔;以时长间隔作为周期,周期性地获取至少两个终端在每个周期内发送的操作指令。
在实际实施时,根据显示帧数来确定时间间隔,这里的显示帧数指的是每秒在屏幕中显示的帧数,当虚拟场景为游戏场景时,显示帧数指的是游戏运行时每秒所运行的帧数。在获取到显示帧数后,显示帧数的倒数即为时间间隔。例如,当显示帧数为40FPS时,每秒显示40帧,那么,时间间隔为0.025秒。
需要说明的是,虚拟场景的画面在不同控制方的显示帧数可以是相同的,也可以是不同的。当显示帧数不同时,可以将显示帧数中的最小值作为目标显示帧数,那么目标显示帧数即为时间间隔。
步骤102:基于获取的至少一个操作指令,确定用于描述虚拟场景的特征数据。
这里,用于描述虚拟场景的特征数据,指的描述在虚拟对象执行任务的过程中的虚拟场景的特征数据,如一局游戏中虚拟场景的特征数据。
在一个实施例中,基于每个操作指令,都会控制相应的虚拟对象执行对应该操作指令的交互操作,进而在虚拟场景中形成一定的交互效果,基于此,可以基于获取到的至少一个操作指令,确定用于描述虚拟场景的特征数据;例如,通过操作指令控制虚拟对象进行左右移动、释放法术技能、补充血量、攻击非玩家角色(NPC,Non-Player Character)等,这些操作都会在虚拟场景产生相应的交互效果,进而确定与交互效果相对应的特征数据,虚拟对象如移动后的位置、虚拟对象的技能冷却时间等。
在一些实施例中,特征数据包括直接特征数据和间接特征数据;基于获取的至少两个操作指令,确定用于描述虚拟场景的特征数据,包括:基于获取的至少两个操作指令,确定与操作指令相关联的多个帧对应的虚拟场景数据;将多个帧对应的虚拟场景数据作为直接特征数据;对多个帧对应的虚拟场景数据进行统计分析处理,得到间接特征数据。
这里,虚拟场景数据指的是虚拟场景中的虚拟对象在交互过程中所表现的各种特征,例如,可以包括虚拟对象在虚拟场景中的位置,这里的虚拟对象可以是用户控制的虚拟对象(如游戏中的玩家角色)、也可以是非用户控制的虚拟对象(非用户角色)、还可以是物体(如墙壁、石块等)。
在实际应用中,可以通过虚拟场景的渲染引擎,根据交互指令来对虚拟场景数据进行计算,如当虚拟场景为游戏场景时,可以通过原生的游戏渲染引擎对虚拟场景数据进行计算,以得到直接特征数据,如这里的直接特征数据可以是虚拟对象的血量、移动速度、技能冷却时间等。在得到直接特征数据之后,可以对直接特征数据进行统计分析,如当在多个连续帧中,某一虚拟对象都处于草丛中,可以得到间接特征数据,即玩家持续蹲草(玩家控制的虚拟对象位于草丛中的时长达到时长阈值)。
可以理解的是,这里的直接特征数据是虚拟场景应用直接生成的;而间接特征数据是需要对虚拟场景应用生成的数据进行进一步统计分析才能够得到的。
在一些实施例中,可以通过以下方式基于获取的至少一个操作指令,确定与操作指令相关联的多个帧对应的虚拟场景数据:基于获取的至少两个操作指令,确定各操作指令所控制的虚拟对象在执行交互操作后的状态参数,以及当交互操作为虚拟对象针对相应交互对象所执行的交互操作时,确定交互对象在接收到交互操作后的状态参数;基于确定的虚拟对象的状态参数及相应交互对象的状态参数,确定多个帧对应的虚拟场景数据。
这里,状态参数指的是虚拟对象的各种状态的属性值,例如所处位置、移动速度、生命值、魔法值等;在一个实施例中,对于每个操作指令,确定该操作指令所控制的虚拟对象所要执行的交互操作,进而计算该虚拟对象在执行相应的交互操作后的状态参数,例如,当操作指令用于控制虚拟对象向左移动,那么可以计算该虚拟对象的移动速度,进而确定虚拟对象向左移动后的位置(即虚拟对象在执行相应的交互操作后的状态参数)。当交互操作为针对某一交互对象的交互操作时,交互对象的状态参数会因为接收到该交互操作而发生变化,如当虚拟场景为游戏场景时,接收到控制虚拟对象的施放法术技能的操作指令,借助原生的游戏渲染引擎可以计算出该法术技能施放成功后,施放法术技能的虚拟对象的状态参数(如生命值、魔法值等)、及被施法命中的交互对象的状态参数(如扣除的血量、减少的移动速度等)。
由于虚拟场景数据表示虚拟场景中的对象在交互过程中受所表现的各种特征,在确定的虚拟对象的状态参数及相应交互对象的状态参数后,便能够基于虚拟场景中各虚拟对象的状态参数,来确定相应帧对应的虚拟场景数据,例如,被施法命中的交互对象的移动速度减少2米/秒,获取该移动速度的持续时长、及移动方向,便可以确定该交互对象在该持续时长内所处的位置,进而确定处于该持续时长的多个帧对应的虚拟场景数据。
在实际应用中,交互对象还可以是虚拟场景中显示的物体,作为示例,以虚拟场景为超级玛丽游戏为例,当操作指令用于控制虚拟对象(马里奥)跳跃时,控制虚拟对象跳跃,当虚拟对象头顶为带问号的砖块,虚拟对象跳跃会撞击到该砖块(交互对象),这里,砖块被撞击后会产生蘑菇、金币或花朵,这里可以获取砖块被撞击后的展示样式、以及所产生的物体,进而确定多个帧对应的虚拟场景数据,如当产生蘑菇时,确定蘑菇移动过程所对应的虚拟场景数据;当操作指令用于控制虚拟对象移动时,若虚拟对象移动至蘑菇所处位置,虚拟对象交互对象为蘑菇,这时虚拟对象的尺寸会变大,蘑菇被虚拟对象吃掉后会消失,结合虚拟对象的状态参数和交互对象(蘑菇)的状态参数,确定多个帧对应的虚拟场景数据。
在一些实施例中,服务器可以不在每个用户触发操作指令后,立即确定虚拟场景数据,而是每间隔一定时间间隔,确定一帧的虚拟场景数据,如此,能够节省计算资源。
在一些实施例中,服务器基于获取的至少一个操作指令,确定用于描述虚拟场景的特征数据之前,还可以获取一个虚拟对象的控制方所对应的虚拟场景的账号信息;基于账号信息,获取与账号信息相关联的历史数据;相应的,可以通过以下方式基于获取的至少两个操作指令,确定用于描述虚拟场景的特征数据:基于获取的至少两个操作指令及相应终端的历史数据,确定用于描述虚拟场景的特征数据。
在一个实施例中,在确定用于描述虚拟场景的特征数据时,还可以利用到历史数据,如用户历史战绩、本次参赛宣言、近期赛季状态分析数据等,可以在虚拟对象开始执行前,对各账号对应的历史数据进行收集,并进行存储;在虚拟对象开始执行任务后,根据各虚拟对象的控制方所对应的虚拟场景的账号信息,从存储的历史数据中,查找相应的历史数据。也即,在对历史数据进行收集时,可以是采用离线的方式,如此,相对于在线对历史数据进行收集,能够提升在特征数据的确定效率。
步骤103:根据特征数据,获取被触发的解说事件,并生成被触发的解说事件所对应的解说。
在实际实施时,解说事件指的是对应虚拟场景的需要被解说的事件,可以是人为设定的,如由专业赛事解说团队预先设定,或者是历史赛事视频中的解说内容中提取的,如获取大量历史赛事视频,对人为解说的内容进行拆分,以提取多个解说事件;被触发的解说事件的数量可以为一个或者多个,由于在同一时间仅能够对一个解说事件进行解说,当某一时间有多个解说事件被触发时,需要从中选择一个解说事件来生成对应的解说;或者,针对每个解说事件,都生成相应的解说,然后在输出解说时再进行筛选。
在实际应用中,生成的解说可以为解说文本、解说语音、解说视频等,例如,在获取被触发的解说事件后,可以生成对应被触发的解说事件的解说文本,并将生成的解说文本输出至终端,终端在接收到解说文本后,可以展示解说字幕;又如,在获取被触发的解说事件后,可以生成对应被触发的解说事件的解说文本,再生成对应解说文本的解说语音,将解说语音输出至终端,以使终端播放解说语音;在输出解说语音的同时,还可以输出解说形象,以使终端在展示能够在播放解说语音的同时,展示解说形象。
在一些实施例中,生成的解说可以是输出至虚拟对象的控制终端(控制方),如此,当用户在控制虚拟对象的同时,能够通过终端播放解说语音,让用户能够竞赛体验感;在一些实施例中,生成的解说可以是输出至观众终端,如在观看好友的游戏对局时,也能够听到对应相应的解说语音。
在一些实施例中,可以通过以下方式获取被触发的解说事件:获取预先设置的特征体系,特征体系用于指示解说特征的维度及属性;根据特征数据,生成对应特征体系的解说特征;基于生成的解说特征,获取被触发的解说事件。
在实际实施时,可以预先设置特征体系,这里的特征体系由开发人员进行设置,通过特征体系来定义所要获取的解说特征,包括解说特征的维度及属性。作为示例,图4是本申请实施例提供的特征体系示意图,参见图4,当虚拟场景为游戏场景时,通过特征体系设置一个四维解说特征,包括玩家角色、非玩家角色、统计特征、团战特征,并定义每个维度的解说特征的属性,如玩家角色包括玩家角色的血量、位置、动作(如使用技能、移动位置等)等,非玩家角色包括非玩家角色的血量、状态、动作(如出生、攻击玩家角色等),统计特征包括如击杀人数统计、某一条线路发生的团战数量统计、击杀小兵数,团战特征包括参团人数、参与对象、团战发生位置、团战发生时间等。如此,能够获取多个维度的解说特征,进而基于多个维度来判断是否存在解说事件被触发,以及被触发的解说事件具体是哪个,以获取被触发的解说事件。
在一些实施例中,可以通过以下方式获取被触发的解说事件:分别获取多个解说事件中各解说事件的触发条件;基于特征数据,确定触发条件得到满足的解说事件为被触发的解说事件。
在实际实施时,加载预先定义的各解说事件的触发条件,一个解说事件可以对应于一个或者多个触发条件,当对应多个触发条件时,只有多个触发条件都得到满足时,才确定触发了该解说事件,进而生成相应的解说文本。
例如,玩家连招击杀英雄事件的触发条件包括:1、玩家控制的英雄击杀敌方英雄;2、玩家控制的英雄击杀敌方英雄时施放技能数大于1;3、玩家控制的英雄施放技能带来的伤害大于80%;那么,只有三个条件都得到满足时,才能够确定玩家连招击杀英雄事件被触发。
在实际应用中,通过遍历所有解说事件的触发条件,来确定被触发的解说事件。
在一些实施例中,当一个解说事件的实现复杂度较高时,该解说事件所对应的触发条件和特征数据的数量将增多。因此,作为一种可能的实施方式,从实现复杂度角度上,将解说事件区分为基础事件和高级事件。
例如,“英雄被野怪杀死”的事件属于基础事件,基础事件基于特征数据而生成;高级事件是相对于基础事件而定义的。高级事件可以基于基础事件判断其是否被触发或者可以基于基础事件和特征数据判断其是否被触发。由于高级事件可以由基础事件合成,因此对于那些特征非常复杂、条件层级非常多的解说事件,它们可以很轻易地由基础事件组合而成,不但可以避免拆分成非常多的解说特征的问题,也提升了所有解说事件的复用率。
以“高级事件H1:辅助蹲在暴君后面的草丛中帮打野卡视野,以帮助打野打龙”为例进行描述。对于这个高级事件,直接拆分成的解说特征包括:Fl.英雄职业为辅助,F2.暴君状态为被攻击,F3.暴君攻击者职业为打野,F4.辅助英雄位置为暴君后草丛。由于之前已经定义并提取到了基础事件:El.辅助蹲暴君后草丛,E2.打野英雄在打暴君,因此可以直接基于基础事件El+E2组合形成高级事件,也即仅需要判断基础事件El和基础事件E2是否都被触发;而不用定义冗长的Fl、F2、F3、F4组合,并执行多次条件判断,也即判断Fl、F2、F3、F4是否都满足。
在一些实施例中,获取被触发的解说事件所对应的解说文本:当存在多个解说事件被触发时,获取被触发的各解说事件的重要程度;基于重要程度,选取至少一个解说事件作为目标解说事件;获取目标解说事件所对应的解说文本。
这里,当存在多个解说事件被触发时,需要从中选取至少一个解说事件作为目标解说事件,可以是依据各解说事件的重要程度。这里的重要程度可以是人为设置的,如通过专业赛事解说团队对定义的所有解说事件进行打分,由分数表示各解说事件的重要程度,如分数越高,相应的解说事件越重要,选取分数最高的一个或者多个解说事件作为目标解说事件。或者,也可以是通过模型对各解说事件的重要程度进行判断,例如,先通过专业赛事解说团队对部分解说事件进行打分,并将标注有相应分数解说事件作为训练样本;然后构建权重分析模型,这里的权重分析模型可以为循环神经网络模型、卷积神经网络模型等,这里不对权重分析模型的具体结构进行限定;将训练样本输入权重分析模型,对训练样本的权重进行预测,输出相应解说事件的权重分数;将输出的权重分数与标注的分数进行比较,基于输出的权重分数与标注的分数之间的差异,确定权重分析模型的损失函数的值,这里的损失函数可以为绝对值损失函数、log对数损失函数等,并根据损失函数的值更新权重分析模型的模型参数,以对权重分析模型进行训练;在需要确定解说事件的重要程度时,通过训练得到的权重分析模型对各解说事件的权重分数进行预测,输出各解说事件的权重分数,这里的权重分数用于表示相应解说事件的重要程度。
在一些实施例中,可以通过以下方式生成被触发的解说事件所对应的解说:确定与被触发的解说事件对应的解说模板;获取与被触发的解说事件对应的特征数据;根据获取的特征数据,确定与解说模板中的模板字段对应的关键词;将对解说模板中的模板字段替换为关键词,得到被触发的解说事件所对应的解说文本。
生成的解说可以为解说文本,在实际实施时,预先建立解说文本库,解说文本库包括各解说事件对应的解说模板,如此,在确定被触发的解说事件后,可以从解说文本库中获取解说模板;然后根据特征数据,确定与解说模板中的模板字段对应的关键词,如英雄名称、技能名称等,例如,被触发的解说事件为玩家连招击杀英雄,相应的,解说模板可以是:“英雄名称1”释放了“技能名称1”接“技能名称2”,击杀了“英雄名称2”;这里的模板字段包括“英雄名称1”、“技能名称”、“技能名称”及“英雄名称2”,那么,根据获取玩家控制的英雄名称(英雄名称1)、释放的技能名称(包括技能名称1、技能名称2)、所击杀的英雄名称(英雄名称2),如生成解说文本“沈xx释放了2技能接1技能,击杀了王xx”。
又如,被触发的解说事件为玩家骑载具滑行撞到障碍物,相应的解说模板可以是:玩家骑“载具名称”滑行撞到“物体名称”,这里的模板字段包括“载具名称”和“物体名称”,那么获取玩家所使用的载具名称及撞到的物体名称,如生成解说文本“玩家骑企鹅撞到石头”。
在一些实施例中,终端可以通过以下方式:对于每个控制方,当被触发的解说事件发生在控制方控制的虚拟对象的视野范围内时,将生成的解说输出至控制方。
这里,为了不影响虚拟场景中的虚拟对象执行任务的公正,对于每个控制方,仅被触发的解说事件发生在该控制方控制的虚拟对象的视野范围内时,将生成的解说输出至该控制方,以使该控制方仅播放与相应虚拟对象的视野范围相关的解说,而不是播放全局的解说。
在一些实施例中,服务器可以通过以下方式生成被触发的解说事件所对应的解说:确定与被触发的解说事件对应的解说文本;获取针对各控制方设置的语音参数;分别基于各所述控制方对应的语音参数,生成对应所述解说文本的解说语音。
在实际实施时,解说可以为解说语音,且本申请可以提供多场景、多语言的音色选择,以及还可以支持自定义音量、语速等,服务器可以获取各控制方设置的语音参数,如音色参数、语言参数、音量参数等,然后分别根据各控制方设置的语音参数来生成相应的解说语音。在生成解说语音之后,可以将基于各控制方对应的语音参数生成的解说语音,分别输出至相应的控制方,如此,实现了为不同控制方输出个性化的解说语音。
在一些实施例中,终端还可以将特征数据输入结果预测模型中,通过结果预测模型对虚拟场景中的交互结果进行预测;根据预测得到的交互结果,生成交互结果对应的解说文本,并输出与交互结果对应的解说文本相匹配的解说语音。
在实际实施时,预先提取多个历史任务的执行过程中虚拟场景的特征数据及交互结果,将标注有交互结果的特征数据作为训练样本,用于对结果预测模型进行训练。
作为示例,这里的交互结果可以各参与方(个人或团队)的胜率,其中,一个参与方可以包括一个或多个控制方控制的虚拟对象,如在MOBA类游戏中,每个参与方包括五个虚拟对象,实现5v5对战,这里的交互结果为每个参与方的胜率。例如,在对交互结果进行标注时,在某一历史任务中,对于A、B双方,若A获胜了,那么A的胜率为100%,B的胜率为0%;相反,若B获胜了,那么A的胜率为0%,B的胜率为100%;这里,双方胜率之和为100%。需要说明的是,虚拟场景中的参与方也可以为至少三方,如三方,那么三方胜率之和为100%。
作为示例,这里的交互结果还可以是虚拟对象执行任务的得分,如在跑酷类游戏中,交互结果可以是虚拟对象所跑的距离,如在某一历史任务中,虚拟对象最终完成的距离为1500米,那么,标注的交互结果为1500米。
在得到训练样本之后,构建结果预测模型,这里的结果预测模型可以是宽度神经网络模型、卷积神经网络等;例如,结果预测模型包括输入层、连接层和输出层,其中,输出层的输出节点数目是根据虚拟场景中的参与方数目确定的,如虚拟场景中的参与方为两方,那么输出节点的个数为2;虚拟场景中的参与方为三方,那么输出节点的个数为3。将训练样本(标注有交互结果的特征数据)输入结果预测模型,依次通过结果预测模型的各个层进行处理,通过输出层输出预测的交互结果(如各方的胜率),然后将预测的交互结果与标注的交互结果进行比较,计算损失函数的值;对损失函数的值反向传播至结果预测模型的每一层,对结果预测模型的模型参数进行更新,以训练得到结果预测模型。在需要对交互结果进行预测时,将获取的特征数据输入结果预测模型,通过结果预测模型对交互结果进行预测,输出交互结果。
在实际应用中,交互结果可以是周期性预测的,如每分钟预测一次;也可以是在预设事件触发时,对交互结果进行预测,其中,预设事件是预先设置的,通过特征数据判断该预测事件是否被触发,如当某一方拿下一血时、某一方抢下暴君(非玩家角色)时,对交互结果进行预测;或者是在预设时间点进行预测,如开局5分钟时,对交互结果进行预测。
图5是本申请实施例提供的解说的生成过程示意图,参见图5,以生成的解说为解说文本为例,本申请实施例中的解说文本有两种形式,一种是根据特征数据判断是否存在解说事件被触发,当存在多个解说事件被触发时,对解说事件的重要程度进行打分,基于打分结果确定出目标解说事件,生成对应目标解说事件的解说文本;一种是将特征数据输入结果预测模型,通过结果预测模型对交互结果进行预测,以进行局势分析,进而基于局势分析结果,生成相应的解说文本,如分析得到A方胜率为80,B方胜率为20%,那么可以生成相应的解说文本“A方胜率为80,B方胜率为20%”。
这里,可以是同时生成两种解说文本,然后从中选择一个生成解说语音进行输出;也可以是当存在解说事件被触发时,生成对应解说事件的解说文本,当不存在解说事件被触发时,生成对应解说事件的解说文本,以对解说文本所对应的解说语音进行输出;还可以是通过其它形式选择输出的解说语音,这里不作具体限定。
在一些实施例中,存在部分解说事件是无法仅根据特征数据来判断该解说事件是否被触发,可以根据预测的交互结果与特征数据,共同判断是否触发解说事件,图6是本申请实施例提供的解说的生成过程示意图,参见图6,以生成的解说为解说文本为例,根据特征数据进行交互结果预测,然后根据交互预测结果和特征数据,共同判断是否有解说事件被触发,当存在多个解说事件被触发时,对解说事件的重要程度进行打分,基于打分结果确定出目标解说事件,生成对应目标解说事件的解说文本;当仅存在一个解说事件被触发时,则直接基于触发的解说事件生成解说文本。例如,部分解说事件无法仅根据特征数据来判断是否被触发,如某一解说事件为“某一方拿下一血,且该方胜率超过70%”,那么,需要根据特征数据判断A方是否拿下一血,以及A方胜率是否超过70%,若均满足,则确定该解说事件被触发。
应用上述实施例,通过在虚拟场景中的虚拟对象执行任务的过程中,获取至少一个虚拟对象的控制方发送的操作指令;其中,操作指令用于控制虚拟对象在虚拟场景中执行相应的交互操作;基于获取的至少一个操作指令,确定用于描述虚拟场景的特征数据;根据特征数据,获取被触发的解说事件,并生成被触发的解说事件所对应的解说;如此,能够自动生成对应虚拟场景的解说,节约解说所需的人力成本。
下面继续说明本申请实施例提供的解说的生成方法,该解说的生成方法由控制终端、观众终端和服务器协同实施,这里以虚拟对象执行的任务为完成一场交互对局为例,图7是本申请实施例提供的解说的生成方法的一个可选的流程示意图,参见图7,本申请实施例提供的解说的生成方法包括:
步骤701:在虚拟场景的交互对局进行的过程中,控制终端发送操作指令至服务器。
这里的控制终端指的是参与交互对局的虚拟对象的控制终端。
步骤702:服务器获取至少两个控制终端发送的操作指令。
步骤703:服务器基于获取的至少两个操作指令,确定各操作指令所控制的虚拟对象在执行交互操作后的状态参数。
步骤704:服务器当交互操作为虚拟对象针对相应交互对象所执行的交互操作时,确定交互对象在接收到交互操作后的状态参数。
步骤705:服务器基于确定的虚拟对象的状态参数及相应交互对象的状态参数,确定多个帧对应的虚拟场景数据。
步骤706:服务器将多个帧对应的虚拟场景数据作为用于描述交互对局的直接特征数据。
步骤707:服务器对多个帧对应的虚拟场景数据进行统计分析处理,得到用于描述交互对局的间接特征数据。
步骤708:服务器根据直接特征数据及间接特征数据,确定多个解说事件中至少之一被触发时,确定与被触发的解说事件对应的解说模板。
步骤709:服务器获取与被触发的解说事件对应的特征数据。
这里的特征数据包括直接特征数据和间接特征数据。
步骤710:服务器根据获取的特征数据,确定与解说模板中的模板字段对应的关键词。
步骤711:服务器将对解说模板中的模板字段替换为关键词,得到被触发的解说事件所对应的解说文本。
步骤712a:控制终端将设置的语音参数发送给服务器。
步骤712b:观众终端将设置的语音参数发送给服务器。
步骤713:服务器分别基于各终端对应的语音参数,生成对应解说文本的用于对交互对局进行解说的解说语音。
这里的终端包括控制终端和观众终端。
步骤714:将基于各终端对应的语音参数生成的解说语音,分别输出至相应的终端。
步骤715a:控制终端播放解说语音。
步骤715b:观众终端播放解说语音。
应用上述实施例,能够自动输出用于对交互对局进行解说的解说语音,节约对交互对局进行解说的人力成本。
下面,将说明本申请实施例在一个实际的应用场景中的示例性应用。这里,以虚拟场景为游戏场景为例进行说明,图8是本申请实施例提供的解说的生成方法的流程示意图,参见图8,将所有玩家的终端作为本方案的输入,最终的解说输出承载平台仍是所有玩家的终端,在游戏内部,玩家可以开启本局游戏的实时语音解说,所有玩家或者观看本局游戏的观众都能听到关于本局游戏的解说内容。
在游戏进行过程中,每个玩家都会通过游戏内操控按键触发操作指令,以控制相应的虚拟对象(如英雄)执行相应的交互操作,为了获取用于游戏解说所需的完整对局信息,需要在每个时间间隔内,收集到所有玩家触发的操作指令,并汇聚形成一定的游戏内效果,并进行指令上报和状态同步。比如每个操作指令收集的时间间隔内,所有玩家都会操作玩家英雄进行左右移动、施放法术技能、补充血量、攻击NPC等。
在实际实施时,终端需要在固定时间间隔内,把玩家触发的操作指令上传到服务器(AI对局解说分析服务器),用于生成解说语音。除了当前游戏中所产生的交互指令,通常还需要使用历史数据,如历史战绩、参赛宣言、赛季状态等;基于此,在开始游戏前,本申请实施例还进行了离线的数据收集。离线的数据收集主要通过抓取所有玩家最近一段时间的游戏结果,以用于历史战绩分析,当游戏启动时,一旦获取到本次游戏参与的玩家信息,即可通过玩家信息(如玩家ID),即时获取离线收集的历史数据,以用于对玩家的场外信息及特定玩家的技术分析使用。
需要说明的是,除了离线收集流程发生在游戏启动前,其他流程均发生在游戏进行的过程中时,且直接在游戏终端上运行。
由于收集到的操作指令属于离散型的指令数据,并不能直接对应到游戏情况,因此需要进行特征计算。具体地,对于玩家操作的施放法术技能操作,借助原生的游戏渲染引擎可以自动计算出该技能施放成功后施法玩家英雄与被施法命中的玩家英雄状态(如扣除血量与减速多少)。在游戏解说场景下,主要关注一段时间间隔内的游戏特征,因此不需要在每个玩家触发操作指令后立即启动渲染计算,在游戏特征生成阶段采用一定时间间隔启动一帧数据的渲染计算,其中,时间间隔可以是根据帧率确定的。渲染计算获得的游戏数据,如玩家英雄血量、移动速度、技能冷却时间等数据称为直接特征数据;通过对直接特征数据进行分析,可以获取间接特征数据,如玩家持续蹲草判定、玩家施放技能是否帮助赢得团战、玩家连招击杀英雄等。
在实际应用中,基于直接特征数据生成解说特征,这里,预先设置特征体系,如包含玩家角色、非玩家角色、统计特征(如击杀人数统计、某一条线路发生的团战数量统计、击杀小兵数)、团战特征(如参团的人数、参与人、位置、时间等)四个维度的特征体系。
通过解说特征就可以实现游戏的实时解说了,具体流程如下:接收来自终端采集的所有玩家指令(固定时间间隔采集到的数据汇总为一帧游戏数据),调用渲染引擎对接收到游戏数据帧进行渲染,以生成直接特征(特征数据),然后运算生成解说特征体系中定义的所有解说特征;再利用解说特征组合,判断是否触发解说事件,如玩家连招击杀英雄事件,是由解说特征玩家击杀对方英雄、玩家击杀时施放技能数大于1、玩家施放技能带来的伤害大于80%这三个解说特征进行条件组合判断生成的;其中,解说特征组合与解说事件之间的对应关系是人为设定的。当同一时间间隔内触发了多个解说事件时,需要从中选取一个用于AI解说。
这里,可以根据各解说事件的重要程度来进行选取,具体的,本申请采用离线静态权重(StaticRank)与在线实时权重(DynamicRank)相结合的打分策略,离线权重通过线下预先对海量对局分析挖掘解说事件,邀请专业赛事解说主持人团队进行标注打分,然后经特征工程归一化后送到权重分析模型进行学习,当线上游戏启动时,将实时对局的解说特征归一化后输入训练得到的权重分析模型,基于权重分析模型进行在线推理预测,来进行事件打分,得到在线权重并最终应用。
在得到用于AI解说的解说事件后,获取与该解说事件对应的解说模板,进而根据解说模板,生成解说文本。
在一些实施例中,还可以基于解说特征,构建结果预测模型,以进行交互结果预测及局势分析,从而补充对局分析、局势预判等高阶解说策略事件。这里,可以将胜率作为一个解说特征,用于触发相应的解说事件;或者,在确定触发某一事件时,对胜率进行解说。
作为示例,图9是本申请实施例提供的胜率预测示意图,参见图9,该胜率是基于四维解说特征(双方击杀比、NPC资源占比、经济占比、英雄存活比)构建的全连接线性回归结果预测模型预测的效果。其中,初始状态下红蓝双方胜率持平均为50%,1分钟左右蓝方拿下一血带来10%的胜率提升,2分钟左右红方抢下暴君NPC带来20%的胜率提升并逆转了胜率,3分钟左右蓝方赢下第一个团战拿下3个击杀从而使胜率回稳并保持弱小优势,后期9分钟左右红方推掉对面高地塔同时击杀多个人头从而抢占了重要资源扩大了优势直至胜利。
在获取到解说文本后,需要实现文本到语音接口的转变,包括两个步骤:离线的语音模型训练与在线的语音合成推理。离线语音合成模型采用语音合成技术,语音合成(TTS,Text To Speech)满足将文本转化成拟人化语音的需求,打通人机交互闭环。本申请还提供多场景、多语言的音色选择,支持音合成标记语言(SSML,Speech Synthesis MarkupLanguage)标记语言,支持自定义音量、语速等参数,让发音更专业、更符合场景需求。语音合成广泛适用于智能客服、有声阅读、新闻播报、人机交互等业务场景。
游戏解说的离线语音合成模型(深度模型)可以针对性地录制游戏解说真人主持人的声音(真人录音)作训练样本,再结合解说场景下特有的转折、双人主持音调衔接等解说语音特点,进行精细化的音频SSML标记(音频标注),尽可能地模拟真人解说音效。在线语音合成流程则需要把带SSML标记的解说文本发送到TTS服务,根据音频特征,进行音频合成,以得到解说音频。
在一些实施例中,在解说语音合成后,本申请提供一种玩家终端直接集成的方法。首先,所有玩家在游戏启动时,同时加入一个游戏语音(Gvoice,Game Voice)解说实时语音房间,开启AI解说收听模式;然后,前面生成的解说语音可以直接上传推送到Gvoice实时语音云端,供对应语音房间玩家收听。这里采用的游戏语音GVoice服务是一款支持多样玩法、全面覆盖游戏应用场景的语音服务。GVoice提供组队语音,可以自动建立组队语音房间。
在另一些实施例中,在解说语音合成后,把音频通过游戏解说与对局分析模块请求的链路回传上游,然后按原请求链路回传至玩家终端进行解说集成,而不是推送到第三方实时语音服务。
如此,可以精准地获取解说语音对应的事件时间,在终端播放解说音频时,可以结合当前游戏时间与解说语音对应事件时间,精准控制对延迟过大的解说语音进行淘汰,从根本上解决声画不同步的风险。
应用上述实施例,具有以下有益效果:
1、能够实现游戏玩家在游戏过程中,在游戏应用内部实时收听当前游戏的AI解说,体验电竞解说氛围,增加游戏体验。
2、在降低了大众类别游戏赛事的专业解说人力成本的同时,提升了大众赛事覆盖度。
下面继续说明本申请实施例提供的解说的生成装置555,在一些实施例中,解说的生成装置可采用软件模块的方式实现。参见图10,图10是本申请实施例提供的解说的生成装置555的结构示意图,本申请实施例提供的解说的生成装置555包括:
获取模块5551,用于在虚拟场景中的虚拟对象执行任务的进行的过程中,获取虚拟对象的控制方发送的操作指令;
其中,所述操作指令用于控制所述虚拟对象在所述虚拟场景中执行相应的交互操作;
确定模块5552,用于基于获取的至少一个所述操作指令,确定用于描述所述虚拟场景的特征数据;
生成模块5553,用于根据所述特征数据,获取被触发的解说事件,并生成被触发的解说事件所对应的解说。
在一些实施例中,获取模块5551,还用于获取所述虚拟场景的画面的显示帧数;
确定与所述显示帧数相匹配的时长间隔;
以所述时长间隔作为周期,周期性地获取至少一个虚拟对象的控制方在每个所述周期内发送的操作指令。
在一些实施例中,所述特征数据包括直接特征数据和间接特征数据;
所述确定模块5552,还用于基于获取的至少一个所述操作指令,确定与所述操作指令相关联的多个帧对应的虚拟场景数据;
将所述多个帧对应的虚拟场景数据作为所述直接特征数据;
对所述多个帧对应的虚拟场景数据进行统计分析处理,得到所述间接特征数据。
在一些实施例中,所述确定模块5552,还用于基于获取的至少一个所述操作指令,确定各所述操作指令所控制的虚拟对象在执行所述交互操作后的状态参数,以及当所述交互操作为所述虚拟对象针对相应交互对象所执行的交互操作时,确定所述交互对象在接收到所述交互操作后的状态参数;
基于确定的所述虚拟对象的状态参数及相应交互对象的状态参数,确定多个帧对应的虚拟场景数据。
在一些实施例中,所述获取模块5551,还用于获取所述至少一个虚拟对象的控制方所对应的所述虚拟场景的账号信息;
基于所述账号信息,获取与所述账号信息相关联的历史数据;
所述确定模块,还用于基于获取的至少一个所述操作指令及相应终端的所述历史数据,确定用于描述所述虚拟场景的特征数据。
在一些实施例中,所述生成模块5553,还用于获取预先设置的特征体系,所述特征体系用于指示解说特征的维度及属性;
根据所述特征数据,生成对应所述特征体系的解说特征;
基于生成的所述解说特征,获取被触发的解说事件。
在一些实施例中,所述生成模块5553,还用于分别获取多个所述解说事件中各解说事件的触发条件;
基于所述特征数据,获取触发条件得到满足的解说事件。
在一些实施例中,所述生成模块5553,还用于当存在多个解说事件被触发时,获取被触发的各解说事件的重要程度;
基于所述重要程度,选取至少一个解说事件作为目标解说事件;
生成所述目标解说事件所对应的解说文本。
在一些实施例中,所述生成模块5553,还用于确定与被触发的解说事件对应的解说模板;
获取与所述被触发的解说事件对应的特征数据;
根据获取的特征数据,确定与所述解说模板中的模板字段对应的关键词;
将对所述解说模板中的模板字段替换为所述关键词,得到被触发的解说事件所对应的解说文本。
在一些实施例中,所述生成模块5553,还用于将所述特征数据输入结果预测模型中,通过结果预测模型对所述虚拟场景中的交互结果进行预测;
根据预测得到的交互结果,生成所述交互结果对应的解说。
在一些实施例中,所述生成模块5553,还用于对于每个所述控制方,当被触发的解说事件发生在所述控制方控制的虚拟对象的视野范围内时,将生成的所述解说输出至所述控制方。
在一些实施例中,所述生成模块5553,还用于确定与被触发的解说事件对应的解说文本;
获取针对各所述控制方设置的语音参数;
分别基于各所述控制方对应的语音参数,生成对应所述解说文本的解说语音。
应用上述实施例,能够自动生成对应虚拟场景的解说,节约解说所需的人力成本。
本申请实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行本申请实施例上述的解说的生成方法。
本申请实施例提供一种存储有可执行指令的计算机可读存储介质,其中存储有可执行指令,当可执行指令被处理器执行时,将引起处理器执行本申请实施例提供的方法,例如,如图3示出的方法。
在一些实施例中,计算机可读存储介质可以是FRAM、ROM、PROM、EPROM、EEPROM、闪存、磁表面存储器、光盘、或CD-ROM等存储器;也可以是包括上述存储器之一或任意组合的各种设备。
在一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。
作为示例,可执行指令可以但不一定对应于文件系统中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(HTML,Hyper TextMarkup Language)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。
作为示例,可执行指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行。
以上所述,仅为本申请的实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本申请的保护范围之内。
Claims (15)
1.一种解说的生成方法,其特征在于,包括:
在虚拟场景中的虚拟对象执行任务的过程中,获取至少一个虚拟对象的控制方发送的操作指令;
其中,所述操作指令用于控制所述虚拟对象在所述虚拟场景中执行相应的交互操作;
基于获取的至少一个所述操作指令,确定用于描述所述虚拟场景的特征数据;
根据所述特征数据,获取被触发的解说事件,并生成被触发的解说事件所对应的解说。
2.如权利要求1所述的方法,其特征在于,所述获取至少一个虚拟对象的控制方发送的操作指令,包括:
获取所述虚拟场景的画面的显示帧数;
确定与所述显示帧数相匹配的时长间隔;
以所述时长间隔作为周期,周期性地获取至少一个虚拟对象的控制方在每个所述周期内发送的操作指令。
3.如权利要求1所述的方法,其特征在于,所述特征数据包括直接特征数据和间接特征数据;
所述基于获取的至少一个所述操作指令,确定用于描述所述虚拟场景的特征数据,包括:
基于获取的至少一个所述操作指令,确定与所述操作指令相关联的多个帧对应的虚拟场景数据;
将所述多个帧对应的虚拟场景数据作为所述直接特征数据;
对所述多个帧对应的虚拟场景数据进行统计分析处理,得到所述间接特征数据。
4.如权利要求3所述的方法,其特征在于,所述基于获取的至少一个所述操作指令,确定与所述操作指令相关联的多个帧对应的虚拟场景数据,包括:
基于获取的至少一个所述操作指令,确定各所述操作指令所控制的虚拟对象在执行所述交互操作后的状态参数,以及
当所述交互操作为所述虚拟对象针对相应交互对象所执行的交互操作时,确定所述交互对象在接收到所述交互操作后的状态参数;
基于确定的所述虚拟对象的状态参数及相应交互对象的状态参数,确定多个帧对应的虚拟场景数据。
5.如权利要求1所述的方法,其特征在于,所述基于获取的至少一个所述操作指令,确定用于描述所述虚拟场景的特征数据之前,还包括:
获取所述至少一个虚拟对象的控制方所对应的所述虚拟场景的账号信息;
基于所述账号信息,获取与所述账号信息相关联的历史数据;
所述基于获取的至少一个所述操作指令,确定用于描述所述虚拟场景的特征数据,包括:
基于获取的至少一个所述操作指令及相应控制方的所述历史数据,确定用于描述所述虚拟场景的特征数据。
6.如权利要求1所述的方法,其特征在于,所述根据所述特征数据,获取被触发的解说事件,包括:
获取预先设置的特征体系,所述特征体系用于指示解说特征的维度及属性;
根据所述特征数据,生成对应所述特征体系的解说特征;
基于生成的所述解说特征,获取被触发的解说事件。
7.如权利要求1所述的方法,其特征在于,所述根据所述特征数据,获取被触发的解说事件,包括:
分别获取多个所述解说事件中各解说事件的触发条件;
基于所述特征数据,确定触发条件得到满足的解说事件。
8.如权利要求1所述的方法,其特征在于,所述生成被触发的解说事件所对应的解说,包括:
当存在多个解说事件被触发时,获取被触发的各解说事件的重要程度;
基于所述重要程度,选取至少一个解说事件作为目标解说事件;
生成所述目标解说事件所对应的解说文本。
9.如权利要求1所述的方法,其特征在于,所述生成被触发的解说事件所对应的解说,包括:
确定与被触发的解说事件对应的解说模板;
获取与所述被触发的解说事件对应的特征数据;
根据获取的特征数据,确定与所述解说模板中的模板字段对应的关键词;
将对所述解说模板中的模板字段替换为所述关键词,得到被触发的解说事件所对应的解说文本。
10.如权利要求1所述的方法,其特征在于,所述方法还包括:
将所述特征数据输入结果预测模型中,通过结果预测模型对所述虚拟场景中的交互结果进行预测;
根据预测得到的交互结果,生成所述交互结果对应的解说。
11.如权利要求1所述的方法,其特征在于,所述方法还包括:
对于每个所述控制方,当被触发的解说事件发生在所述控制方控制的虚拟对象的视野范围内时,将生成的所述解说输出至所述控制方。
12.如权利要求1所述的方法,其特征在于,所述生成被触发的解说事件所对应的解说,包括:
确定与被触发的解说事件对应的解说文本;
获取针对各所述控制方设置的语音参数;
分别基于各所述控制方对应的语音参数,生成对应所述解说文本的解说语音。
13.一种解说的生成装置,其特征在于,包括:
获取模块,用于在虚拟场景中虚拟对象执行任务的过程中,获取至少一个虚拟对象的控制方发送的操作指令;
其中,所述操作指令用于控制所述虚拟对象在所述虚拟场景中执行相应的交互操作;
确定模块,用于基于获取的至少一个所述操作指令,确定用于描述所述虚拟场景的特征数据;
生成模块,用于根据所述特征数据,获取被触发的解说事件,并生成被触发的解说事件所对应的解说。
14.一种计算机设备,其特征在于,包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令时,实现权利要求1至12任一项所述的解说的生成方法。
15.一种计算机可读存储介质,其特征在于,存储有可执行指令,用于被处理器执行时,实现权利要求1至12任一项所述的解说的生成方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110778006.1A CN113209640B (zh) | 2021-07-09 | 2021-07-09 | 解说的生成方法、装置、设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110778006.1A CN113209640B (zh) | 2021-07-09 | 2021-07-09 | 解说的生成方法、装置、设备及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113209640A true CN113209640A (zh) | 2021-08-06 |
CN113209640B CN113209640B (zh) | 2021-09-24 |
Family
ID=77081285
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110778006.1A Active CN113209640B (zh) | 2021-07-09 | 2021-07-09 | 解说的生成方法、装置、设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113209640B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113797544A (zh) * | 2021-08-23 | 2021-12-17 | 网易(杭州)网络有限公司 | 虚拟对象的攻击控制方法、装置、计算机设备及存储介质 |
CN115052030A (zh) * | 2022-06-27 | 2022-09-13 | 北京蔚领时代科技有限公司 | 一种虚拟数字人的操控方法及其系统 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140364206A1 (en) * | 2013-06-07 | 2014-12-11 | Nintendo Co., Ltd. | Information processing system, information processing device, server machine, recording medium and information processing method |
CN107967312A (zh) * | 2017-11-21 | 2018-04-27 | 广州阿里巴巴文学信息技术有限公司 | 解说自动生成方法、装置和终端设备 |
CN108549486A (zh) * | 2018-04-11 | 2018-09-18 | 腾讯科技(深圳)有限公司 | 虚拟场景中实现解说的方法及装置 |
CN109145733A (zh) * | 2018-07-17 | 2019-01-04 | 焦点科技股份有限公司 | 一种篮球比赛的人工智能解说方法及系统 |
US20190205453A1 (en) * | 2017-12-29 | 2019-07-04 | Apptio, Inc. | Binding annotations to data objects |
WO2020137274A1 (ja) * | 2018-12-27 | 2020-07-02 | Run.Edge株式会社 | 動画タグ付け装置および動画タグ付け方法 |
CN111768729A (zh) * | 2019-04-02 | 2020-10-13 | 北京传送科技有限公司 | 一种vr场景自动解说方法、系统和存储介质 |
CN111953910A (zh) * | 2020-08-11 | 2020-11-17 | 腾讯科技(深圳)有限公司 | 基于人工智能的视频处理方法、装置及电子设备 |
CN112000812A (zh) * | 2020-08-25 | 2020-11-27 | 广州玖的数码科技有限公司 | 游戏赛况现场ai解说库生成方法、ai解说方法及存储介质 |
CN112040272A (zh) * | 2020-09-08 | 2020-12-04 | 海信电子科技(武汉)有限公司 | 体育赛事智能解说方法、服务器及显示设备 |
US10909479B2 (en) * | 2016-02-12 | 2021-02-02 | David Harris Walters | Personalized multimedia autographing system |
-
2021
- 2021-07-09 CN CN202110778006.1A patent/CN113209640B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140364206A1 (en) * | 2013-06-07 | 2014-12-11 | Nintendo Co., Ltd. | Information processing system, information processing device, server machine, recording medium and information processing method |
US10909479B2 (en) * | 2016-02-12 | 2021-02-02 | David Harris Walters | Personalized multimedia autographing system |
CN107967312A (zh) * | 2017-11-21 | 2018-04-27 | 广州阿里巴巴文学信息技术有限公司 | 解说自动生成方法、装置和终端设备 |
US20190205453A1 (en) * | 2017-12-29 | 2019-07-04 | Apptio, Inc. | Binding annotations to data objects |
CN108549486A (zh) * | 2018-04-11 | 2018-09-18 | 腾讯科技(深圳)有限公司 | 虚拟场景中实现解说的方法及装置 |
CN109145733A (zh) * | 2018-07-17 | 2019-01-04 | 焦点科技股份有限公司 | 一种篮球比赛的人工智能解说方法及系统 |
WO2020137274A1 (ja) * | 2018-12-27 | 2020-07-02 | Run.Edge株式会社 | 動画タグ付け装置および動画タグ付け方法 |
CN111768729A (zh) * | 2019-04-02 | 2020-10-13 | 北京传送科技有限公司 | 一种vr场景自动解说方法、系统和存储介质 |
CN111953910A (zh) * | 2020-08-11 | 2020-11-17 | 腾讯科技(深圳)有限公司 | 基于人工智能的视频处理方法、装置及电子设备 |
CN112000812A (zh) * | 2020-08-25 | 2020-11-27 | 广州玖的数码科技有限公司 | 游戏赛况现场ai解说库生成方法、ai解说方法及存储介质 |
CN112040272A (zh) * | 2020-09-08 | 2020-12-04 | 海信电子科技(武汉)有限公司 | 体育赛事智能解说方法、服务器及显示设备 |
Non-Patent Citations (2)
Title |
---|
FEI YAN; KRYSTIAN MIKOLAJCZYK; JOSEF KITTLER: ""Generating commentaries for tennis videos"", 《2016 23RD INTERNATIONAL CONFERENCE ON PATTERN RECOGNITION (ICPR)》 * |
翁晓洁: ""足球比赛场景的三维再现和自动解说"", 《体育风尚》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113797544A (zh) * | 2021-08-23 | 2021-12-17 | 网易(杭州)网络有限公司 | 虚拟对象的攻击控制方法、装置、计算机设备及存储介质 |
CN115052030A (zh) * | 2022-06-27 | 2022-09-13 | 北京蔚领时代科技有限公司 | 一种虚拟数字人的操控方法及其系统 |
Also Published As
Publication number | Publication date |
---|---|
CN113209640B (zh) | 2021-09-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Machado et al. | Player modeling: Towards a common taxonomy | |
CN113209640B (zh) | 解说的生成方法、装置、设备及计算机可读存储介质 | |
CN109847367A (zh) | 一种游戏胜率的预测方法、模型生成方法和装置 | |
CN116474378A (zh) | 人工智能(ai)控制的相机视角生成器和ai广播员 | |
KR20040104753A (ko) | 온라인 게이밍 관객 | |
CN111841018B (zh) | 模型训练方法、模型使用方法、计算机设备及存储介质 | |
JP7564453B2 (ja) | コンピュータシステム | |
WO2023088024A1 (zh) | 虚拟场景的交互处理方法、装置、电子设备、计算机可读存储介质及计算机程序产品 | |
Sabet | The influence of delay on cloud gaming quality of experience | |
Karpouzis et al. | AI in (and for) Games | |
CN114697685A (zh) | 解说视频生成方法、装置、服务器及存储介质 | |
CN116549967A (zh) | 基于ai的动态生成剧情与角色的互动推理游戏系统 | |
CN116943204A (zh) | 虚拟对象的控制方法、装置和存储介质及电子设备 | |
Morie et al. | Embodied conversational agent avatars in virtual worlds: Making today’s immersive environments more responsive to participants | |
Drachen | Analyzing player communication in multi-player games | |
Suwindra et al. | Developing balinese culture-based serious game model: I Rajapala as a Hunter | |
Kang | Hybrid interactive rhetorical engagements in Massively Multiplayer Online Role-Playing Games (MMORPGs): Examining the role of rhetors and audiences in generative rhetorical discourses | |
Ferguson | Machine learning arena | |
Burrill | Check out my moves | |
Aguilar | Emergent behavior in playerunknown’s battlegrounds | |
Atanasov | Juiciness: Exploring and designing around experience of feedback in video games | |
CN115396685B (zh) | 直播互动方法、装置、可读存储介质及电子设备 | |
CN112800252B (zh) | 虚拟场景中媒体文件的播放方法、装置、设备及存储介质 | |
Moran | Agency and Companionship: An Art Historical Analysis of Video Games, 2001-2017 | |
Antão | Study of emotion in videogames: understanding presence and behaviour |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40050124 Country of ref document: HK |