CN113648660B - 一种非玩家角色的行为序列生成方法及装置 - Google Patents
一种非玩家角色的行为序列生成方法及装置 Download PDFInfo
- Publication number
- CN113648660B CN113648660B CN202110937628.4A CN202110937628A CN113648660B CN 113648660 B CN113648660 B CN 113648660B CN 202110937628 A CN202110937628 A CN 202110937628A CN 113648660 B CN113648660 B CN 113648660B
- Authority
- CN
- China
- Prior art keywords
- behavior
- node
- candidate
- nodes
- state
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 39
- 238000012216 screening Methods 0.000 claims abstract description 75
- 238000012163 sequencing technique Methods 0.000 claims description 38
- 238000005070 sampling Methods 0.000 claims description 32
- 238000004590 computer program Methods 0.000 claims description 3
- 230000006399 behavior Effects 0.000 description 485
- 230000009471 action Effects 0.000 description 17
- 230000003542 behavioural effect Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 238000004891 communication Methods 0.000 description 4
- 238000013473 artificial intelligence Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000003287 bathing Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000007958 sleep Effects 0.000 description 2
- 230000002618 waking effect Effects 0.000 description 2
- 238000005406 washing Methods 0.000 description 2
- 206010019345 Heat stroke Diseases 0.000 description 1
- 241000282414 Homo sapiens Species 0.000 description 1
- 206010020751 Hypersensitivity Diseases 0.000 description 1
- 240000007594 Oryza sativa Species 0.000 description 1
- 235000007164 Oryza sativa Nutrition 0.000 description 1
- 206010041349 Somnolence Diseases 0.000 description 1
- 206010047700 Vomiting Diseases 0.000 description 1
- 208000027418 Wounds and injury Diseases 0.000 description 1
- 208000026935 allergic disease Diseases 0.000 description 1
- 230000007815 allergy Effects 0.000 description 1
- 238000012550 audit Methods 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 235000021152 breakfast Nutrition 0.000 description 1
- 230000002354 daily effect Effects 0.000 description 1
- 230000006378 damage Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000003651 drinking water Substances 0.000 description 1
- 235000020188 drinking water Nutrition 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003203 everyday effect Effects 0.000 description 1
- 235000003642 hunger Nutrition 0.000 description 1
- 208000014674 injury Diseases 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 235000012054 meals Nutrition 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000003989 repetitive behavior Effects 0.000 description 1
- 208000013406 repetitive behavior Diseases 0.000 description 1
- 230000000284 resting effect Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 235000009566 rice Nutrition 0.000 description 1
- 238000009738 saturating Methods 0.000 description 1
- 230000008673 vomiting Effects 0.000 description 1
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/80—Special adaptations for executing a specific game genre or game mode
- A63F13/822—Strategy games; Role-playing games
-
- 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
-
- 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/36—Creation of semantic tools, e.g. ontology or thesauri
- G06F16/367—Ontology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
-
- 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)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Evolutionary Computation (AREA)
- Evolutionary Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Computational Biology (AREA)
- Animal Behavior & Ethology (AREA)
- Computational Linguistics (AREA)
- Databases & Information Systems (AREA)
- Artificial Intelligence (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供了一种非玩家角色的行为序列生成方法及装置,其中,该方法包括:获取用于描述行为序列关系的知识图谱;基于知识图谱中与非玩家角色相关的行为节点、状态节点和边获得子图;根据子图确定作为目标行为节点的下一步行为的多个候选行为节点;目标行为节点为行为序列中除终止节点外的任一行为节点;从中筛选满足第一预设条件的候选行为节点作为目标行为节点的下一行为节点,将其加入行为序列中;若行为序列中的目标行为节点具有对应的状态节点,则从目标行为节点的多个候选状态节点中筛选满足第二预设条件的候选状态节点,将其加入行为序列中,从而生成非玩家角色的行为序列,可提升非玩家角色剧情的多样性、新鲜感,且大大降低人力成本。
Description
技术领域
本申请涉及游戏人工智能技术领域,具体而言,涉及一种非玩家角色的行为序列生成方法及装置。
背景技术
随着游戏人工智能(Artificial Intelligence,AI)技术的发展,虚拟游戏世界中的数百个非玩家角色(Non-Player Character,NPC),可以像现实中的人类一样,活动起来,创造一个更加丰富、更加逼真的虚拟角色社会群体。为了游戏世界更加逼真,通常需要预先定义每个非玩家角色的行为序列,使得非玩家角色在游戏里的行为和现实中人的行为保持一致。
目前,通过人工编写故事树(Story Tree)的方式来定义非玩家角色的行为序列,非玩家角色按照定义好的非玩家角色的行为序列执行每天的日常行为。例如:一个上班族的非玩家角色的行为序列为:起床->买早餐->吃早餐->上班->买午饭->吃午饭->睡午觉->上班...,中间可能穿插一些和其他非玩家角色的交互行为,比如“买早餐”可能会和服务员沟通,或者发生某个行为是具有前置条件的,根据不同的条件进入不同的分支,比如“吃午饭”后NPC困了就“睡午觉”,不困就继续“上班”。
申请人在研究中发现:通过人工编写故事树的方式来定义非玩家角色的行为序列,非常局限于人工创作,人工编写多少模板,就有多少非玩家角色的行为序列,非玩家角色剧情不具有多样性、新鲜感。而且,当非玩家角色数量众多的情况下,全靠人工写故事树的形式,会极大增加人力成本。
发明内容
有鉴于此,本申请的目的在于提供一种非玩家角色的行为序列生成方法及装置,可提升非玩家角色剧情的多样性、新鲜感,且大大降低人力成本。
第一方面,本申请实施例提供了一种非玩家角色的行为序列生成方法,包括:
获取用于描述行为序列关系的知识图谱;
基于所述知识图谱中与非玩家角色相关的行为节点、状态节点以及边,获得所述知识图谱的子图;其中,所述边用于表示所述行为节点之间、所述状态节点之间、以及所述行为节点与所述状态节点之间的逻辑关系;
从所述子图的行为节点中获取所述非玩家角色的行为序列的起始节点;
根据所述子图确定作为目标行为节点的下一步行为的多个候选行为节点;其中,所述目标行为节点为所述行为序列中除终止节点外的任一行为节点;
从所述多个候选行为节点中筛选满足第一预设条件的候选行为节点,将筛选得到的候选行为节点作为所述目标行为节点的下一行为节点;
将确定的所述目标行为节点的下一行为节点加入所述行为序列中;
根据所述子图确定所述行为序列中每个行为节点是否具有对应的状态节点,若所述行为序列中的目标行为节点具有对应的状态节点,则从所述目标行为节点的多个候选状态节点中筛选满足第二预设条件的候选状态节点,将筛选得到的候选状态节点加入所述行为序列中,从而生成所述非玩家角色的行为序列。
在一种可能的实施方式中,所述从所述多个候选行为节点中筛选满足第一预设条件的候选行为节点,包括:
针对每个候选行为节点,计算该候选行为节点对应的词向量与当前行为序列中的每个行为节点对应的词向量之间的第一相似度;
基于该候选行为节点对应的多个所述第一相似度,计算该候选行为节点的第一评分;
从所述多个候选行为节点中筛选所述第一评分满足第一预设条件的候选行为节点。
在一种可能的实施方式中,所述基于该候选行为节点对应的多个所述第一相似度,计算该候选行为节点的第一评分,包括:
对该候选行为节点对应的多个所述第一相似度分别与对应的所述当前行为序列中的每个行为节点的第一权重系数进行加权求和,得到该候选行为节点的第一评分;其中,所述行为节点的第一权重系数与对应的行为节点在当前行为序列中的生成时刻呈负相关。
在一种可能的实施方式中,所述对该候选行为节点对应的多个所述第一相似度分别与对应的所述当前行为序列中的每个行为节点的第一权重系数进行加权求和,得到该候选行为节点的第一评分,包括:
从该候选行为节点对应的多个所述第一相似度中选择小于预设阈值的第一相似度;
将选择的第一相似度分别与对应的行为节点的第一权重系数进行加权求和,得到该候选行为节点的第一评分。
在一种可能的实施方式中,所述对该候选行为节点对应的多个所述第一相似度分别与对应的所述当前行为序列中的每个行为节点的第一权重系数进行加权求和,得到该候选行为节点的第一评分,包括:
从该候选行为节点对应的多个所述第一相似度中选择多个第一采样相似度;其中,所述第一采样相似度对应的行为节点在当前行为序列中的生成时刻处于第一预设时间范围内;
对所述多个第一采样相似度分别与对应的行为节点的第一权重系数进行加权求和,得到该候选行为节点的第一评分。
在一种可能的实施方式中,所述从所述多个候选行为节点中筛选所述第一评分满足第一预设条件的候选行为节点,包括:
按照所述多个候选行为节点的第一评分从高到低的顺序对所述多个候选行为节点进行排序,得到所述多个候选行为节点的第一排序结果;
基于以下任一方式从所述第一排序结果中筛选候选行为节点:
从所述第一排序结果中随机筛选预设数量的候选行为节点;
从所述第一排序结果中位于第一位的候选行为节点开始按顺序筛选预设数量的候选行为节点;
从所述第一排序结果中位于最后一位的候选行为节点开始按顺序筛选预设数量的候选行为节点。
在一种可能的实施方式中,所述根据所述子图确定所述行为序列中每个行为节点是否具有对应的状态节点,若所述行为序列中的目标行为节点具有对应的状态节点,则从所述目标行为节点的多个候选状态节点中筛选满足第二预设条件的候选状态节点,包括:
根据所述子图确定所述行为序列中每个行为节点是否具有对应的状态节点,若所述行为序列中的目标行为节点具有对应的状态节点,则针对所述目标行为节点的每个候选状态节点,计算该候选状态节点对应的词向量与当前行为序列中的每个状态节点对应的词向量之间的第二相似度;
基于该候选状态节点对应的多个所述第二相似度,计算该候选状态节点的第二评分;
从所述目标行为节点的多个候选状态节点中筛选所述第二评分满足第二预设条件的候选状态节点。
在一种可能的实施方式中,所述基于该候选状态节点对应的多个所述第二相似度,计算该候选状态节点的第二评分,包括:
对该候选状态节点对应的多个所述第二相似度分别与对应的所述当前行为序列中的每个状态节点的第二权重系数进行加权求和,得到该候选状态节点的第二评分;其中,所述状态节点的第二权重系数与对应的状态节点在当前行为序列中的生成时刻呈负相关。
在一种可能的实施方式中,所述对该候选状态节点对应的多个所述第二相似度分别与对应的所述当前行为序列中的每个状态节点的第二权重系数进行加权求和,得到该候选状态节点的第二评分,包括:
从该候选状态节点对应的多个所述第二相似度中选择小于预设阈值的第二相似度;
将选择的第二相似度分别与对应的状态节点的第二权重系数进行加权求和,得到该候选状态节点的第二评分。
在一种可能的实施方式中,所述对该候选状态节点对应的多个所述第二相似度分别与对应的所述当前行为序列中的每个状态节点的第二权重系数进行加权求和,得到该候选状态节点的第二评分,包括:
从该候选状态节点对应的多个所述第二相似度中选择多个第二采样相似度;其中,所述第二采样相似度对应的状态节点在当前行为序列中的生成时刻处于第二预设时间范围内;
对所述多个第二采样相似度分别与对应的状态节点的第二权重系数进行加权求和,得到该候选状态节点的第二评分。
在一种可能的实施方式中,所述从所述目标行为节点的多个候选状态节点中筛选所述第二评分满足第二预设条件的候选状态节点,包括:
按照所述目标行为节点的多个候选状态节点的第二评分从高到低的顺序对所述多个候选状态节点进行排序,得到所述多个候选状态节点的第二排序结果;
基于以下任一方式从所述第二排序结果中筛选候选状态节点:
从所述第二排序结果中随机筛选预设数量的候选状态节点;
从所述第二排序结果中位于第一位的候选状态节点开始按顺序筛选预设数量的候选状态节点;
从所述第二排序结果中位于最后一位的候选状态节点开始按顺序筛选预设数量的候选状态节点。
第二方面,本申请实施例提供了一种非玩家角色的行为序列生成装置,包括:
图谱获取模块,用于获取用于描述行为序列关系的知识图谱;
子图获得模块,用于基于所述知识图谱中与非玩家角色相关的行为节点、状态节点以及边,获得所述知识图谱的子图;其中,所述边用于表示所述行为节点之间、所述状态节点之间、以及所述行为节点与所述状态节点之间的逻辑关系;
节点获取模块,用于从所述子图的行为节点中获取所述非玩家角色的行为序列的起始节点;
节点确定模块,用于根据所述子图确定作为目标行为节点的下一步行为的多个候选行为节点;其中,所述目标行为节点为所述行为序列中除终止节点外的任一行为节点;
节点筛选模块,用于从所述多个候选行为节点中筛选满足第一预设条件的候选行为节点,将筛选得到的候选行为节点作为所述目标行为节点的下一行为节点;
第一加入模块,用于将确定的所述目标行为节点的下一行为节点加入所述行为序列中;
第二加入模块,用于根据所述子图确定所述行为序列中每个行为节点是否具有对应的状态节点,若所述行为序列中的目标行为节点具有对应的状态节点,则从所述目标行为节点的多个候选状态节点中筛选满足第二预设条件的候选状态节点,将筛选得到的候选状态节点加入所述行为序列中,从而生成所述非玩家角色的行为序列。
第三方面,本申请实施例还提供一种电子设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行上述第一方面,或第一方面中任一种可能的实施方式中的步骤。
第四方面,本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述第一方面,或第一方面中任一种可能的实施方式中的步骤。
本申请实施例提供一种非玩家角色的行为序列生成方法,首先,获取用于描述行为序列关系的知识图谱,作为后续行为序列生成的知识来源,可以降低整理知识的人力成本;而后,基于所述知识图谱中与非玩家角色相关的行为节点、状态节点以及边,获得所述知识图谱的子图,所述边用于表示所述行为节点之间、所述状态节点之间、以及所述行为节点与所述状态节点之间的逻辑关系,可以从所述知识图谱中筛选出与非玩家角色相关的子图;最后,从所述子图的行为节点中获取所述非玩家角色的行为序列的起始节点;针对所述行为序列中除终止节点外的任一行为节点,也即针对任一目标行为节点,根据所述子图确定作为目标行为节点的下一步行为的多个候选行为节点,从所述多个候选行为节点中筛选满足第一预设条件的候选行为节点,将筛选得到的候选行为节点作为所述目标行为节点的下一行为节点,将确定的所述目标行为节点的下一行为节点加入所述行为序列中;并且,如果从所述子图中确定所述行为序列中的目标行为节点具有对应的状态节点,从目标行为节点的多个候选状态节点中筛选满足第二预设条件的候选状态节点,将筛选得到的候选状态节点加入所述行为序列中,从而生成所述非玩家角色的行为序列。本申请实施例无需人工整理知识和人工编辑故事树来定义非玩家角色的行为序列,可以大大降低人力成本;并且可以通过设置不同的预设条件来选择不同的候选行为节点和候选状态节点,可提升非玩家角色剧情的多样性、新鲜感。
为使本申请的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本申请实施例提供的一种非玩家角色的行为序列生成方法的流程图;
图2示出了本申请实施例提供的中文常识图谱的示意图;
图3示出了本申请实施例提供的一种非玩家角色的行为序列生成装置的结构示意图;
图4示出了本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,应当理解,本申请中附图仅起到说明和描述的目的,并不用于限定本申请的保护范围。另外,应当理解,示意性的附图并未按实物比例绘制。本申请中使用的流程图示出了根据本申请的一些实施例实现的操作。应该理解,流程图的操作可以不按顺序实现,没有逻辑的上下文关系的步骤可以反转顺序或者同时实施。此外,本领域技术人员在本申请内容的指引下,可以向流程图添加一个或多个其他操作,也可以从流程图中移除一个或多个操作。
另外,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,本申请实施例中将会用到术语“包括”,用于指出其后所声明的特征的存在,但并不排除增加其它的特征。
请参照图1,图1为本申请实施例提供的一种非玩家角色的行为序列生成方法的流程图。如图1所示,可以包括如下步骤:
S101、获取用于描述行为序列关系的知识图谱;
S102、基于所述知识图谱中与非玩家角色相关的行为节点、状态节点以及边,获得所述知识图谱的子图;其中,所述边用于表示所述行为节点之间、所述状态节点之间、以及所述行为节点与所述状态节点之间的逻辑关系;
S103、从所述子图的行为节点中获取所述非玩家角色的行为序列的起始节点;
S104、根据所述子图确定作为目标行为节点的下一步行为的多个候选行为节点;其中,所述目标行为节点为所述行为序列中除终止节点外的任一行为节点;
S105、从所述多个候选行为节点中筛选满足第一预设条件的候选行为节点,将筛选得到的候选行为节点作为所述目标行为节点的下一行为节点;
S106、将确定的所述目标行为节点的下一行为节点加入所述行为序列中;
S107、根据所述子图确定所述行为序列中每个行为节点是否具有对应的状态节点,若所述行为序列中的目标行为节点具有对应的状态节点,则从所述目标行为节点的多个候选状态节点中筛选满足第二预设条件的候选状态节点,将筛选得到的候选状态节点加入所述行为序列中,从而生成所述非玩家角色的行为序列。
步骤S101中,用于描述行为序列关系的知识图谱可以包括中文常识图谱、话题图谱和百科知识图谱等。其中,如图2所示,中文常识图谱是在公开的数据集ConceptNet上筛选出中文常识,然后构建而成的图谱,该图谱中包含约13k节点和114k边,其中边的类型共11类,边的形式为三元组,比如(“吃饭”,“是因为”,“饥饿”)为一条边。话题图谱是基于公开的话题集构建而成的图谱。百科知识图谱是基于百科数据集构建而成的图谱,例如百度百科、维基百科等。
步骤S102中,所述知识图谱中与非玩家角色相关的行为节点(也即动词节点)可以包括“吃饭”、“上班”、“买花”等。所述知识图谱中与非玩家角色相关的状态节点(也即形容词节点)可以包括“高兴”、“害羞”、“难过”等。所述边用于表示所述行为节点之间、所述状态节点之间、以及所述行为节点与所述状态节点之间的逻辑关系,所述边可以包括“引起”、“引起向往”、“有子事件”这三种先后逻辑等。
需要说明的是,另外一些关系也可以稍作改动用来扩展先后逻辑,比如把“是因为”这类关系的边的方向逆转,即可得到“引起”的关系。甚至可以人工继续标注一些表示“先后逻辑”的动作序列,用于扩充常识图谱。并且,行为节点可能会指向其他行为节点或者状态节点,状态节点也可能会指向其他状态节点或者行为节点。
在本步骤中,从所述知识图谱中筛选出与非玩家角色相关的行为节点、状态节点以及用于表示所述行为节点之间、所述状态节点之间、以及所述行为节点与所述状态节点之间的逻辑关系的边,从而得到所述知识图谱的子图。同时,在子图中标注出非玩家角色的起始节点和终止节点,起始节点用于控制行为序列的开头,终止节点用于控制行为序列的结尾。
步骤S103中,非玩家角色的行为序列的起始节点是从所述子图的行为节点中获取的,可以指在所述子图中预先标注的起始节点,也可以指随机指定的所述子图中的行为节点。
步骤S104中,目标行为节点为所述行为序列中除终止节点外的任一行为节点,例如:起始节点,所述行为序列中除起始节点和终止节点之外的任一行为节点。
如图2所示,假设目标行为节点为“运动”,根据所述子图确定作为目标行为节点的下一步行为的多个候选行为节点:“休闲”、“中暑”、“享受”、“伤害”等。
步骤S105中,在确定目标行为节点的多个候选行为节点之后,从所述多个候选行为节点中筛选满足第一预设条件的候选行为节点,作为所述目标行为节点的下一行为节点。
其中,从所述多个候选行为节点中筛选满足第一预设条件的候选行为节点的步骤,可以包括以下子步骤:
S1051、针对每个候选行为节点,计算该候选行为节点对应的词向量与当前行为序列中的每个行为节点对应的词向量之间的第一相似度;
S1052、基于该候选行为节点对应的多个所述第一相似度,计算该候选行为节点的第一评分;
S1053、从所述多个候选行为节点中筛选所述第一评分满足第一预设条件的候选行为节点。
步骤S1051中,第一相似度指的是候选行为节点对应的词向量与当前行为序列中的行为节点对应的词向量之间的余弦相似度。具体地,针对每个候选行为节点ci,计算该候选行为节点ci对应的词向量eci与当前行为序列中的每个行为节点pj对应的词向量epj之间的第一相似度cos(eci,epj),由于当前行为序列中的行为节点pj有多个,得到该候选行为节点对应的多个第一相似度cos(eci,epj)。
步骤S1052中,具体地,基于该候选行为节点ci对应的多个第一相似度cos(eci,epj)计算该候选行为节点ci的第一评分score(ci)。
其中,步骤S1052可以包括:对该候选行为节点对应的多个所述第一相似度分别与对应的所述当前行为序列中的每个行为节点的第一权重系数进行加权求和,得到该候选行为节点的第一评分;其中,所述行为节点的第一权重系数与对应的行为节点在当前行为序列中的生成时刻呈负相关。需要说明的是,行为节点在当前行为序列中的生成时刻越晚,对应的第一权重系数越大;行为节点在当前行为序列中的生成时刻越早,对应的第一权重系数越小。
在具体实施中,通过对该候选行为节点ci对应的多个第一相似度cos(eci,epj)进行加权求和的方式计算该候选行为节点ci的第一评分wherecos(eci,epj)<α。其中,n表示行为序列的长度,/>并对ωj进行归一化处理行为节点pj在当前行为序列中的生成时刻越晚,对应的第一权重系数ωj越大。行为节点pj在当前行为序列中的生成时刻越早,对应的第一权重系数ωj越小
在一种可能的实施方式中,针对上述实施例中对该候选行为节点对应的多个所述第一相似度分别与对应的所述当前行为序列中的每个行为节点的第一权重系数进行加权求和,得到该候选行为节点的第一评分的步骤,具体可以包括:从该候选行为节点对应的多个所述第一相似度中选择小于预设阈值的第一相似度;将选择的第一相似度分别与对应的行为节点的第一权重系数进行加权求和,得到该候选行为节点的第一评分。
在具体实施中,为了避免下一步动作对应的行为节点与当前行为序列已有的行为节点重复度太高,对于与当前行为序列已有的行为节点非常接近的候选行为节点,降低该候选行为节点的分数。具体地,若第一相似度cos(eci,epj)大于等于预设阈值α,则表示候选行为节点ci对应的词向量eci与当前行为序列中的行为节点pj对应的词向量epj非常接近,该第一相似度对应的第一权重系数为零,不累积到最终的第一评分。在本实施例中,预设阈值α可设置为0.84,本实施例不限于此。
在另一种可能的实施方式中,针对上述实施例中对该候选行为节点对应的多个所述第一相似度分别与对应的所述当前行为序列中的每个行为节点的第一权重系数进行加权求和,得到该候选行为节点的第一评分的步骤,具体可以包括:从该候选行为节点对应的多个所述第一相似度中选择多个第一采样相似度;其中,所述第一采样相似度对应的行为节点在当前行为序列中的生成时刻处于第一预设时间范围内;对所述多个第一采样相似度分别与对应的行为节点的第一权重系数进行加权求和,得到该候选行为节点的第一评分。
需要说明的是,计算每个候选行为节点的第一评分时,可以考虑候选行为节点和当前行为序列已有的所有行为节点之间的第一相似度的加权得分,也可以只考虑候选行为节点和当前行为序列已有的最近若干轮行为节点之间的第一采样相似度的加权得分。其中,只考虑候选行为节点和当前行为序列已有的最近若干轮行为节点之间的第一采样相似度的加权得分,意味着只关注当前小范围的行为合理性,避免关注的历史行为太长而导致生成的行为节点和前一个时刻的行为节点不够贴合。
步骤S1053中,从所述多个候选行为节点ci中筛选所述第一评分score(ci)满足第一预设条件的候选行为节点ci。
具体地,步骤S1053可以包括:按照所述多个候选行为节点的第一评分从高到低的顺序对所述多个候选行为节点进行排序,得到所述多个候选行为节点的第一排序结果;基于以下任一方式从所述第一排序结果中筛选候选行为节点:从所述第一排序结果中位于第一位的候选行为节点开始按顺序筛选预设数量的候选行为节点;从所述第一排序结果中位于最后一位的候选行为节点开始按顺序筛选预设数量的候选行为节点;从所述第一排序结果中随机筛选预设数量的候选行为节点。需要说明的是,这三种方式中的“预设数量”并不一定相同。
关于上述第一种方式,从所述第一排序结果中位于第一位的候选行为节点开始按顺序筛选排序靠前的候选行为节点,例如排序前三位的候选行为节点等,该处不作限定。这样,可以获得非玩家角色的无剧情波动且具有一定逻辑的行为序列,无需人工整理知识和人工编辑故事树来定义非玩家角色的行为序列,可以大大降低人力成本。
举例来说,从“加班”出发,只考虑候选行为节点和当前行为序列已有的最近三轮行为节点之间的第一采样相似度的加权得分,得到的非玩家角色的无剧情波动且具有一定逻辑的行为序列可以为:加班,熬夜,睡觉,睡不着,看书,发呆,睡着,醒来,洗澡,洗脸,过敏,感冒。
从“加班”出发,只考虑候选行为节点和当前行为序列已有的最近四轮行为节点之间的第一采样相似度的加权得分,得到的非玩家角色的无剧情波动且具有一定逻辑的行为序列可以为:加班,熬夜,睡觉,睡不着,看书,发呆,无所事事,打瞌睡,睡着,醒来,吃饭,吃饱。
关于上述第二种方式,从所述第一排序结果中位于最后一位的候选行为节点开始按顺序筛选排序靠后的候选行为节点,例如排序最后五个候选行为节点等。这样,可以获得非玩家角色的有剧情波动的行为序列,可以提升非玩家角色剧情的新鲜感。
举例来说,在指定步数的情况下,从“加班”出发,只考虑候选行为节点和当前行为序列已有的最近四轮行为节点之间的第一采样相似度的加权得分,得到的非玩家角色的有剧情波动的行为序列可以为:加班,熬夜,睡觉,看书,吃饭,喝水,没事,发呆,睡着,做梦,傻笑,愣住。
关于上述第三种方式,从所述第一排序结果中随机筛选预设数量的候选行为节点,例如随机筛选排序前五个候选行为节点中的任意一个候选行为节点,从而获得非玩家角色的无剧情波动的多条不重复的行为序列,提升非玩家角色剧情的多样性。或者,随机筛选排序后五个候选行为节点中的任意一个候选行为节点,从而获得非玩家角色的有剧情波动的多条不重复的行为序列,提升非玩家角色剧情的多样性。
举例来说,从“加班”出发,只考虑候选行为节点和当前行为序列已有的最近三轮行为节点之间的第一采样相似度的加权得分,得到的非玩家角色的无剧情波动的多条不重复行为序列可以为:
加班,睡觉,起床,上班,休息,回家,开车,塞车,迟到,下课,读书,考试;
加班,睡觉,起床,出门,开车,塞车,超车,辱骂;
加班,应酬,吃饭,睡觉,起床,洗澡,洗头。
特别地,还可以基于已经生成的行为节点、非玩家角色的背景对多个候选行为节点进行排序打分。
步骤S106中,在将筛选得到的候选行为节点作为所述目标行为节点的下一行为节点之后,将确定的所述目标行为节点的下一行为节点加入所述行为序列中。然后将下一步行为节点作为新的目标行为节点,不断重复步骤S104-S106的这个流程,直到下一步没有后续行为节点、或者行为序列的长度达到预设阈值、或者达到了预先标注的终止节点结束。
步骤S107中,针对所述行为序列中的目标行为节点,通过所述子图查询所述目标行为节点是否具有对应的状态节点。针对具有状态节点的目标行为节点,从所述目标行为节点的多个候选状态节点中筛选满足第二预设条件的候选状态节点,将筛选得到的候选状态节点加入所述行为序列中。
具体地,步骤S107可以包括如下子步骤:
S1071、根据所述子图确定所述行为序列中每个行为节点是否具有对应的状态节点,若所述行为序列中的目标行为节点具有对应的状态节点,则针对所述目标行为节点的每个候选状态节点,计算该候选状态节点对应的词向量与当前行为序列中的每个状态节点对应的词向量之间的第二相似度;
S1072、基于该候选状态节点对应的多个所述第二相似度,计算该候选状态节点的第二评分;
S1073、从所述目标行为节点的多个候选状态节点中筛选所述第二评分满足第二预设条件的候选状态节点。
步骤S1071中,第二相似度指的是候选状态节点对应的词向量与当前行为序列中的状态节点对应的词向量之间的余弦相似度。
在本步骤中,针对所述行为序列中目标行为节点,通过所述子图查询所述目标行为节点是否具有对应的状态节点。针对具有状态节点的目标行为节点,计算该候选状态节点对应的词向量与当前行为序列中的每个状态节点对应的词向量之间的余弦相似度。由于当前行为序列中的状态节点有多个,得到该候选状态节点对应的多个第二相似度。
步骤S1072中,对该候选状态节点对应的多个所述第二相似度分别与对应的所述当前行为序列中的每个状态节点的第二权重系数进行加权求和,得到该候选状态节点的第二评分;其中,所述状态节点的第二权重系数与对应的状态节点在当前行为序列中的生成时刻呈负相关。需要说明的是,状态节点在当前行为序列中的生成时刻越晚,对应的第二权重系数越大;状态节点在当前行为序列中的生成时刻越早,对应的第二权重系数越小。
在一种可能的实施方式中,针对上述实施例中对该候选状态节点对应的多个所述第二相似度分别与对应的所述当前行为序列中的每个状态节点的第二权重系数进行加权求和,得到该候选状态节点的第二评分的步骤,具体可以包括:从该候选状态节点对应的多个所述第二相似度中选择小于预设阈值的第二相似度;将选择的第二相似度分别与对应的状态节点的第二权重系数进行加权求和,得到该候选状态节点的第二评分。
在具体实施中,为了避免下一步动作对应的状态节点与当前行为序列已有的状态节点重复度太高,对于与当前行为序列已有的状态节点非常接近的候选状态节点,降低该候选状态节点的分数。具体地,若第二相似度大于等于预设阈值,则表示候选状态节点对应的词向量与当前行为序列中的状态节点对应的词向量非常接近,该第二相似度对应的第二权重系数为零,不累积到最终的第二评分。在本实施例中,预设阈值可设置为0.84,本实施例不限于此。
在另一种可能的实施方式中,针对上述实施例中对该候选状态节点对应的多个所述第二相似度分别与对应的所述当前行为序列中的每个状态节点的第二权重系数进行加权求和,得到该候选状态节点的第二评分的步骤,具体可以包括:从该候选状态节点对应的多个所述第二相似度中选择多个第二采样相似度;其中,所述第二采样相似度对应的状态节点在当前行为序列中的生成时刻处于第二预设时间范围内;对所述多个第二采样相似度分别与对应的状态节点的第二权重系数进行加权求和,得到该候选状态节点的第二评分。
需要说明的是,计算每个候选状态节点的第二评分时,可以考虑候选状态节点和当前行为序列已有的所有状态节点之间的第二相似度的加权得分,也可以只考虑候选状态节点和当前行为序列已有的最近若干轮状态节点之间的第二采样相似度的加权得分。其中,只考虑候选状态节点和当前行为序列已有的最近若干轮状态节点之间的第二采样相似度的加权得分,意味着只关注当前小范围的状态合理性,避免关注的历史状态太长而导致生成的状态节点和前一个时刻的状态节点不够贴合。
步骤S1073中,按照所述目标行为节点的多个候选状态节点的第二评分从高到低的顺序对所述多个候选状态节点进行排序,得到所述多个候选状态节点的第二排序结果;基于以下任一方式从所述第二排序结果中筛选候选状态节点:从所述第二排序结果中位于第一位的候选状态节点开始按顺序筛选预设数量的候选状态节点;从所述第二排序结果中位于最后一位的候选状态节点开始按顺序筛选预设数量的候选状态节点;从所述第二排序结果中随机筛选预设数量的候选状态节点。需要说明的是,这三种方式中的“预设数量”并不一定相同。
关于上述第一种方式,从所述第二排序结果中位于第一位的候选状态节点开始按顺序筛选排序靠前的候选状态节点,例如排序前三个候选状态节点等。这样,可以获得非玩家角色的无剧情波动的行为序列,无需人工整理知识和人工编辑故事树来定义非玩家角色的行为序列,可以大大降低人力成本。举例来说,从“看漫画”出发,得到的非玩家角色的包含状态节点(无剧情波动)的行为序列可以为:看漫画(愉悦),傻笑,发呆(冷静),睡觉,看书(平静),吃饭(愉悦)。
关于上述第二种方式,从所述第二排序结果中位于最后一位的候选状态节点开始按顺序筛选排序靠后的候选状态节点,例如排序最后五个候选状态节点等。这样,可以获得非玩家角色的包含状态节点(有剧情波动)的行为序列,可以提升非玩家角色剧情的新鲜感。举例来说,从“看漫画”出发,得到的非玩家角色的包含状态节点(有剧情波动)的行为序列可以为:看漫画(悲伤),傻笑,发呆(冷静),睡觉,看书(大笑),吃饭(呕吐)。
关于上述第三种方式,从所述第二排序结果中随机筛选预设数量的候选状态节点,例如随机筛选排序前五个候选状态节点中任意一个候选状态节点,从而获得非玩家角色的包含状态节点(无剧情波动)的多条不重复的行为序列,提升非玩家角色剧情的多样性。或者,随机筛选排序后五个候选状态节点中任意一个候选状态节点,从而获得非玩家角色的包含状态节点(有剧情波动)的多条不重复的行为序列,提升非玩家角色剧情的多样性。
需要说明的是,本申请实施例既可以离线生成大量具有逻辑性的、具有多样性、具有剧情波动的行为序列,交由文案审核标注,把合理的整条行为序列,或者行为序列中合理的部分标注出来,应用于游戏中非玩家角色的日程活动。也可以在线生成一条行为序列,实时控制游戏中非玩家角色的动作行为。
本申请实施例提供一种非玩家角色的行为序列生成方法,首先,获取用于描述行为序列关系的知识图谱,作为后续行为序列生成的知识来源,可以降低整理知识的人力成本;而后,基于所述知识图谱中与非玩家角色相关的行为节点、状态节点以及边,获得所述知识图谱的子图,所述边用于表示所述行为节点之间、所述状态节点之间、以及所述行为节点与所述状态节点之间的逻辑关系,可以从所述知识图谱中筛选出与非玩家角色相关的子图;最后,从所述子图的行为节点中获取所述非玩家角色的行为序列的起始节点;针对所述行为序列中除终止节点外的任一行为节点,也即针对任一目标行为节点,根据所述子图确定作为目标行为节点的下一步行为的多个候选行为节点,从所述多个候选行为节点中筛选满足第一预设条件的候选行为节点,将筛选得到的候选行为节点作为所述目标行为节点的下一行为节点,将确定的所述目标行为节点的下一行为节点加入所述行为序列中;并且,如果从所述子图中确定所述行为序列中的目标行为节点具有对应的状态节点,从目标行为节点的多个候选状态节点中筛选满足第二预设条件的候选状态节点,将筛选得到的候选状态节点加入所述行为序列中,从而生成所述非玩家角色的行为序列。本申请实施例无需人工整理知识和人工编辑故事树来定义非玩家角色的行为序列,可以大大降低人力成本;并且可以通过设置不同的预设条件来选择不同的候选行为节点和候选状态节点,可提升非玩家角色剧情的多样性、新鲜感。
基于相同的技术构思,本申请实施例还提供一种非玩家角色的行为序列生成装置、电子设备、以及计算机存储介质等,具体可参见以下实施例。
请参照图3,图3为本申请实施例所提供的一种非玩家角色的行为序列生成装置的结构示意图。所述装置可以包括:
图谱获取模块10,用于获取用于描述行为序列关系的知识图谱;
子图获得模块20,用于基于所述知识图谱中与非玩家角色相关的行为节点、状态节点以及边,获得所述知识图谱的子图;其中,所述边用于表示所述行为节点之间、所述状态节点之间、以及所述行为节点与所述状态节点之间的逻辑关系;
节点获取模块30,用于从所述子图的行为节点中获取所述非玩家角色的行为序列的起始节点;
节点确定模块40,用于根据所述子图确定作为目标行为节点的下一步行为的多个候选行为节点;其中,所述目标行为节点为所述行为序列中除终止节点外的任一行为节点;
节点筛选模块50,用于从所述多个候选行为节点中筛选满足第一预设条件的候选行为节点,将筛选得到的候选行为节点作为所述目标行为节点的下一行为节点;
第一加入模块60,用于将确定的所述目标行为节点的下一行为节点加入所述行为序列中;
第二加入模块70,用于根据所述子图确定所述行为序列中每个行为节点是否具有对应的状态节点,若所述行为序列中的目标行为节点具有对应的状态节点,则从所述目标行为节点的多个候选状态节点中筛选满足第二预设条件的候选状态节点,将筛选得到的候选状态节点加入所述行为序列中,从而生成所述非玩家角色的行为序列。
在一种可能的实施方式中,节点筛选模块50可以包括:
第一相似度计算单元,用于针对每个候选行为节点,计算该候选行为节点对应的词向量与当前行为序列中的每个行为节点对应的词向量之间的第一相似度;
第一评分计算单元,用于基于该候选行为节点对应的多个所述第一相似度,计算该候选行为节点的第一评分;
候选行为节点筛选单元,用于从所述多个候选行为节点中筛选所述第一评分满足第一预设条件的候选行为节点。
在一种可能的实施方式中,第一评分计算单元具体用于:对该候选行为节点对应的多个所述第一相似度分别与对应的所述当前行为序列中的每个行为节点的第一权重系数进行加权求和,得到该候选行为节点的第一评分;其中,所述行为节点的第一权重系数与对应的行为节点在当前行为序列中的生成时刻呈负相关。
在一种可能的实施方式中,第一评分计算单元具体用于:
从该候选行为节点对应的多个所述第一相似度中选择小于预设阈值的第一相似度;
将选择的第一相似度分别与对应的行为节点的第一权重系数进行加权求和,得到该候选行为节点的第一评分。
在一种可能的实施方式中,第一评分计算单元具体用于:
从该候选行为节点对应的多个所述第一相似度中选择多个第一采样相似度;其中,所述第一采样相似度对应的行为节点在当前行为序列中的生成时刻处于第一预设时间范围内;
对所述多个第一采样相似度分别与对应的行为节点的第一权重系数进行加权求和,得到该候选行为节点的第一评分。
在一种可能的实施方式中,候选行为节点筛选单元具体用于:
按照所述多个候选行为节点的第一评分从高到低的顺序对所述多个候选行为节点进行排序,得到所述多个候选行为节点的第一排序结果;
基于以下任一方式从所述第一排序结果中筛选候选行为节点:
从所述第一排序结果中随机筛选预设数量的候选行为节点;
从所述第一排序结果中位于第一位的候选行为节点开始按顺序筛选预设数量的候选行为节点;
从所述第一排序结果中位于最后一位的候选行为节点开始按顺序筛选预设数量的候选行为节点。
在一种可能的实施方式中,第二加入模块70包括:
第二相似度计算单元,用于根据所述子图确定所述行为序列中每个行为节点是否具有对应的状态节点,若所述行为序列中的目标行为节点具有对应的状态节点,则针对所述目标行为节点的每个候选状态节点,计算该候选状态节点对应的词向量与当前行为序列中的每个状态节点对应的词向量之间的第二相似度;
第二评分计算单元,用于基于该候选状态节点对应的多个所述第二相似度,计算该候选状态节点的第二评分;
候选状态节点筛选单元,用于从所述目标行为节点的多个候选状态节点中筛选所述第二评分满足第二预设条件的候选状态节点。
在一种可能的实施方式中,第二评分计算单元具体用于:对该候选状态节点对应的多个所述第二相似度分别与对应的所述当前行为序列中的每个状态节点的第二权重系数进行加权求和,得到该候选状态节点的第二评分;其中,所述状态节点的第二权重系数与对应的状态节点在当前行为序列中的生成时刻呈负相关。
在一种可能的实施方式中,第二评分计算单元具体用于:
从该候选状态节点对应的多个所述第二相似度中选择小于预设阈值的第二相似度;
将选择的第二相似度分别与对应的状态节点的第二权重系数进行加权求和,得到该候选状态节点的第二评分。
在一种可能的实施方式中,第二评分计算单元具体用于:
从该候选状态节点对应的多个所述第二相似度中选择多个第二采样相似度;其中,所述第二采样相似度对应的状态节点在当前行为序列中的生成时刻处于第二预设时间范围内;
对所述多个第二采样相似度分别与对应的状态节点的第二权重系数进行加权求和,得到该候选状态节点的第二评分。
在一种可能的实施方式中,候选状态节点筛选单元具体用于:
按照所述目标行为节点的多个候选状态节点的第二评分从高到低的顺序对所述多个候选状态节点进行排序,得到所述多个候选状态节点的第二排序结果;
基于以下任一方式从所述第二排序结果中筛选候选状态节点:
从所述第二排序结果中随机筛选预设数量的候选状态节点;
从所述第二排序结果中位于第一位的候选状态节点开始按顺序筛选预设数量的候选状态节点;
从所述第二排序结果中位于最后一位的候选状态节点开始按顺序筛选预设数量的候选状态节点。
请参阅图4,图4为本申请实施例提供的一种电子设备的结构示意图。如图4所示,包括:处理器401、存储介质402和总线403,存储介质402存储有处理器401可执行的机器可读指令,当电子设备运行时,处理器401与存储介质402之间通过总线403通信,处理器401执行所述机器可读指令,以执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。
本申请实施例所提供的一种非玩家角色的行为序列生成方法的计算机程序产品,包括存储了处理器可执行的非易失的程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考方法实施例中的对应过程,本申请中不再赘述。在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (14)
1.一种非玩家角色的行为序列生成方法,其特征在于,包括:
获取用于描述行为序列关系的知识图谱;
基于所述知识图谱中与非玩家角色相关的行为节点、状态节点以及边,获得所述知识图谱的子图;其中,所述边用于表示所述行为节点之间、所述状态节点之间、以及所述行为节点与所述状态节点之间的逻辑关系;
从所述子图的行为节点中获取所述非玩家角色的行为序列的起始节点;
根据所述子图确定作为目标行为节点的下一步行为的多个候选行为节点;其中,所述目标行为节点为所述行为序列中除终止节点外的任一行为节点;
从所述多个候选行为节点中筛选满足第一预设条件的候选行为节点,将筛选得到的候选行为节点作为所述目标行为节点的下一行为节点;
将确定的所述目标行为节点的下一行为节点加入所述行为序列中;
根据所述子图确定所述行为序列中每个行为节点是否具有对应的状态节点,若所述行为序列中的目标行为节点具有对应的状态节点,则从所述目标行为节点的多个候选状态节点中筛选满足第二预设条件的候选状态节点,将筛选得到的候选状态节点加入所述行为序列中,从而生成所述非玩家角色的行为序列。
2.根据权利要求1所述的方法,其特征在于,所述从所述多个候选行为节点中筛选满足第一预设条件的候选行为节点,包括:
针对每个候选行为节点,计算该候选行为节点对应的词向量与当前行为序列中的每个行为节点对应的词向量之间的第一相似度;
基于该候选行为节点对应的多个所述第一相似度,计算该候选行为节点的第一评分;
从所述多个候选行为节点中筛选所述第一评分满足第一预设条件的候选行为节点。
3.根据权利要求2所述的方法,其特征在于,所述基于该候选行为节点对应的多个所述第一相似度,计算该候选行为节点的第一评分,包括:
对该候选行为节点对应的多个所述第一相似度分别与对应的所述当前行为序列中的每个行为节点的第一权重系数进行加权求和,得到该候选行为节点的第一评分;其中,所述行为节点的第一权重系数与对应的行为节点在当前行为序列中的生成时刻呈负相关。
4.根据权利要求3所述的方法,其特征在于,所述对该候选行为节点对应的多个所述第一相似度分别与对应的所述当前行为序列中的每个行为节点的第一权重系数进行加权求和,得到该候选行为节点的第一评分,包括:
从该候选行为节点对应的多个所述第一相似度中选择小于预设阈值的第一相似度;
将选择的第一相似度分别与对应的行为节点的第一权重系数进行加权求和,得到该候选行为节点的第一评分。
5.根据权利要求3所述的方法,其特征在于,所述对该候选行为节点对应的多个所述第一相似度分别与对应的所述当前行为序列中的每个行为节点的第一权重系数进行加权求和,得到该候选行为节点的第一评分,包括:
从该候选行为节点对应的多个所述第一相似度中选择多个第一采样相似度;其中,所述第一采样相似度对应的行为节点在当前行为序列中的生成时刻处于第一预设时间范围内;
对所述多个第一采样相似度分别与对应的行为节点的第一权重系数进行加权求和,得到该候选行为节点的第一评分。
6.根据权利要求2所述的方法,其特征在于,所述从所述多个候选行为节点中筛选所述第一评分满足第一预设条件的候选行为节点,包括:
按照所述多个候选行为节点的第一评分从高到低的顺序对所述多个候选行为节点进行排序,得到所述多个候选行为节点的第一排序结果;
基于以下任一方式从所述第一排序结果中筛选候选行为节点:
从所述第一排序结果中随机筛选预设数量的候选行为节点;
从所述第一排序结果中位于第一位的候选行为节点开始按顺序筛选预设数量的候选行为节点;
从所述第一排序结果中位于最后一位的候选行为节点开始按顺序筛选预设数量的候选行为节点。
7.根据权利要求1所述的方法,其特征在于,所述根据所述子图确定所述行为序列中每个行为节点是否具有对应的状态节点,若所述行为序列中的目标行为节点具有对应的状态节点,则从所述目标行为节点的多个候选状态节点中筛选满足第二预设条件的候选状态节点,包括:
根据所述子图确定所述行为序列中每个行为节点是否具有对应的状态节点,若所述行为序列中的目标行为节点具有对应的状态节点,则针对所述目标行为节点的每个候选状态节点,计算该候选状态节点对应的词向量与当前行为序列中的每个状态节点对应的词向量之间的第二相似度;
基于该候选状态节点对应的多个所述第二相似度,计算该候选状态节点的第二评分;
从所述目标行为节点的多个候选状态节点中筛选所述第二评分满足第二预设条件的候选状态节点。
8.根据权利要求7所述的方法,其特征在于,所述基于该候选状态节点对应的多个所述第二相似度,计算该候选状态节点的第二评分,包括:
对该候选状态节点对应的多个所述第二相似度分别与对应的所述当前行为序列中的每个状态节点的第二权重系数进行加权求和,得到该候选状态节点的第二评分;其中,所述状态节点的第二权重系数与对应的状态节点在当前行为序列中的生成时刻呈负相关。
9.根据权利要求8所述的方法,其特征在于,所述对该候选状态节点对应的多个所述第二相似度分别与对应的所述当前行为序列中的每个状态节点的第二权重系数进行加权求和,得到该候选状态节点的第二评分,包括:
从该候选状态节点对应的多个所述第二相似度中选择小于预设阈值的第二相似度;
将选择的第二相似度分别与对应的状态节点的第二权重系数进行加权求和,得到该候选状态节点的第二评分。
10.根据权利要求8所述的方法,其特征在于,所述对该候选状态节点对应的多个所述第二相似度分别与对应的所述当前行为序列中的每个状态节点的第二权重系数进行加权求和,得到该候选状态节点的第二评分,包括:
从该候选状态节点对应的多个所述第二相似度中选择多个第二采样相似度;其中,所述第二采样相似度对应的状态节点在当前行为序列中的生成时刻处于第二预设时间范围内;
对所述多个第二采样相似度分别与对应的状态节点的第二权重系数进行加权求和,得到该候选状态节点的第二评分。
11.根据权利要求7所述的方法,其特征在于,所述从所述目标行为节点的多个候选状态节点中筛选所述第二评分满足第二预设条件的候选状态节点,包括:
按照所述目标行为节点的多个候选状态节点的第二评分从高到低的顺序对所述多个候选状态节点进行排序,得到所述多个候选状态节点的第二排序结果;
基于以下任一方式从所述第二排序结果中筛选候选状态节点:
从所述第二排序结果中随机筛选预设数量的候选状态节点;
从所述第二排序结果中位于第一位的候选状态节点开始按顺序筛选预设数量的候选状态节点;
从所述第二排序结果中位于最后一位的候选状态节点开始按顺序筛选预设数量的候选状态节点。
12.一种非玩家角色的行为序列生成装置,其特征在于,包括:
图谱获取模块,用于获取用于描述行为序列关系的知识图谱;
子图获得模块,用于基于所述知识图谱中与非玩家角色相关的行为节点、状态节点以及边,获得所述知识图谱的子图;其中,所述边用于表示所述行为节点之间、所述状态节点之间、以及所述行为节点与所述状态节点之间的逻辑关系;
节点获取模块,用于从所述子图的行为节点中获取所述非玩家角色的行为序列的起始节点;
节点确定模块,用于根据所述子图确定作为目标行为节点的下一步行为的多个候选行为节点;其中,所述目标行为节点为所述行为序列中除终止节点外的任一行为节点;
节点筛选模块,用于从所述多个候选行为节点中筛选满足第一预设条件的候选行为节点,将筛选得到的候选行为节点作为所述目标行为节点的下一行为节点;
第一加入模块,用于将确定的所述目标行为节点的下一行为节点加入所述行为序列中;
第二加入模块,用于根据所述子图确定所述行为序列中每个行为节点是否具有对应的状态节点,若所述行为序列中的目标行为节点具有对应的状态节点,则从所述目标行为节点的多个候选状态节点中筛选满足第二预设条件的候选状态节点,将筛选得到的候选状态节点加入所述行为序列中,从而生成所述非玩家角色的行为序列。
13.一种电子设备,其特征在于,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述机器可读指令,以执行如权利要求1至11任一所述方法的步骤。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如权利要求1至11任一所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110937628.4A CN113648660B (zh) | 2021-08-16 | 2021-08-16 | 一种非玩家角色的行为序列生成方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110937628.4A CN113648660B (zh) | 2021-08-16 | 2021-08-16 | 一种非玩家角色的行为序列生成方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113648660A CN113648660A (zh) | 2021-11-16 |
CN113648660B true CN113648660B (zh) | 2024-05-28 |
Family
ID=78491104
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110937628.4A Active CN113648660B (zh) | 2021-08-16 | 2021-08-16 | 一种非玩家角色的行为序列生成方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113648660B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115018960B (zh) * | 2022-06-02 | 2023-07-11 | 北京新唐思创教育科技有限公司 | 角色互动方法、装置、设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104102522A (zh) * | 2014-07-30 | 2014-10-15 | 厦门大学 | 交互式游戏中智能非玩家角色的人工情感驱动方法 |
CN109985382A (zh) * | 2019-04-03 | 2019-07-09 | 腾讯科技(深圳)有限公司 | 剧情节点的脚本执行方法、装置、设备及存储介质 |
CN111760294A (zh) * | 2020-07-07 | 2020-10-13 | 网易(杭州)网络有限公司 | 控制游戏中非玩家游戏角色的方法及装置 |
CN111953910A (zh) * | 2020-08-11 | 2020-11-17 | 腾讯科技(深圳)有限公司 | 基于人工智能的视频处理方法、装置及电子设备 |
CN113111184A (zh) * | 2021-04-27 | 2021-07-13 | 清华大学深圳国际研究生院 | 基于显式事件结构知识增强的事件检测方法及终端设备 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7296007B1 (en) * | 2004-07-06 | 2007-11-13 | Ailive, Inc. | Real time context learning by software agents |
US7637806B2 (en) * | 2004-12-20 | 2009-12-29 | Rampart Studios, Llc | Method for dynamic content generation in a role-playing game |
US8257173B2 (en) * | 2008-02-05 | 2012-09-04 | Disney Enterprises, Inc. | System and method for driving artificial intelligence (AI) characters having continuous reevaluation of current goals and navigation path |
KR101327995B1 (ko) * | 2012-04-12 | 2013-11-13 | 동국대학교 산학협력단 | 디지털 캐릭터를 이용한 무대 공연을 처리하는 장치 및 방법 |
-
2021
- 2021-08-16 CN CN202110937628.4A patent/CN113648660B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104102522A (zh) * | 2014-07-30 | 2014-10-15 | 厦门大学 | 交互式游戏中智能非玩家角色的人工情感驱动方法 |
CN109985382A (zh) * | 2019-04-03 | 2019-07-09 | 腾讯科技(深圳)有限公司 | 剧情节点的脚本执行方法、装置、设备及存储介质 |
CN111760294A (zh) * | 2020-07-07 | 2020-10-13 | 网易(杭州)网络有限公司 | 控制游戏中非玩家游戏角色的方法及装置 |
CN111953910A (zh) * | 2020-08-11 | 2020-11-17 | 腾讯科技(深圳)有限公司 | 基于人工智能的视频处理方法、装置及电子设备 |
CN113111184A (zh) * | 2021-04-27 | 2021-07-13 | 清华大学深圳国际研究生院 | 基于显式事件结构知识增强的事件检测方法及终端设备 |
Non-Patent Citations (3)
Title |
---|
一个基于神经网络和遗传算法的游戏自主角色的设计;蒋宁;翟玉庆;;计算机应用(第05期);全文 * |
一种适用于塑造非玩家控制游戏角色的情感建模方法;黄德恒;;电脑知识与技术(第13期);全文 * |
行为树技术的研究进展与应用;刘瑞峰;王家胜;张灏龙;田梦凡;;计算机与现代化(第02期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN113648660A (zh) | 2021-11-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Bentley et al. | Mapping collective behavior in the big-data era | |
Berkes | Shifting perspectives on resource management: resilience and the reconceptualization of ‘natural resources’ and ‘management’ | |
Bauman et al. | Liquid modernity and power: A dialogue with Zygmunt Bauman | |
Nousias et al. | Exploiting gamification to improve eco-driving behaviour: The GamECAR approach | |
Hastrup | Nature: Anthropology on the edge | |
CN113648660B (zh) | 一种非玩家角色的行为序列生成方法及装置 | |
CN111143178A (zh) | 用户行为分析方法、装置及设备 | |
Batty | The emergence of cities: complexity and urban dynamics | |
Ramsay | In praise of pattern | |
Burrell | Through a screen darkly”: On remote, collaborative fieldwork in the digital age | |
CN107533732A (zh) | 应用程序推荐装置及应用程序推荐方法 | |
US20230072511A1 (en) | A system to achieve digital immortality | |
Markley et al. | Literature, Climate, and Time: Between History and Story | |
Stibel | Breakpoint: Why the web will implode, search will be obsolete, and everything else you need to know about technology is in your brain | |
Nerothin | A phenomenological investigation of lifestyle surfers from San Diego | |
CN109636693A (zh) | 一种练习题目的推荐方法及电子设备 | |
Aguilar et al. | The Collective Memory of the Fluvial Environment: The Loss of a Healthy Natural Environment in the City of Toledo (Spain) through Pollution | |
CN109656864A (zh) | 电子书推荐方法 | |
Kane | Rising like a glorious turkey from the ashes of burnout | |
Lawuyi | The Obatala factor in Yoruba history | |
CN111651877A (zh) | 一种基于目标点偏好的人群行为仿真方法 | |
Dobrev | AI-How does it cope in an arbitrary world | |
Hiance et al. | An agent-based model of lifetime attendance and self-help program growth | |
Plate | Assessing the effectiveness of systems-oriented instruction for preparing students to understand complexity | |
Corbett et al. | How to write a novel-four fiction writers on Danielle Steel's insane working day |
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 |