基于多源数据融合的游戏玩家状态预测
Last updated
Last updated
游戏市场高速发展至今,已经积累了相当规模的用户基础和数据基础。在游戏行业,由于游戏自身内容和玩法的复杂性,游戏实际业务中会存在着非常丰富的多模态数据,例如玩家画像属性数据、玩家行为序列数据以及玩家社交关系数据等,这些数据在结构和内容上都存在较大差异,具有一定的异质性。
状态预测是指通过用户历史数据预测用户在未来某个时间节点的目标状态。在游戏场景中,玩家状态预测是一个非常普遍且具应用广泛的问题,例如流失预测、回流预测、在线时长预测、付费预测等,对游戏的优化迭代和运营管理都有很高的实际价值。
目前,依靠单一形式的数据进行游戏玩家状态预测业务在算法和性能上已经趋于饱和,难以满足更高层次的业务需求。因此,针对游戏玩家状态预测问题,如何有效结合多源数据,充分利用不同数据的自身特点,形成较强的数据表征能力,具有非常重要的研究和应用价值。
对于每一个游戏玩家,如图1所示,给定历史时间窗口中以玩家画像、玩家社交关系(好友、聊天、组队、帮会)、玩家行为序列为主的多源数据(以天分割)和对应时间节点的目标状态Target,预测游戏玩家在未来某一时间节点Dayt的目标状态Targett。
当前主要考虑流失预测问题,即目标状态为玩家是否流失(暂定连续7天未登录的玩家为流失玩家)。
游戏场景中数据复杂,多源数据之间存在较大的差异性,难以进行统一、有效地结合:
数据饱和度不一致,例如玩家的画像数据和行为序列体量会远大于社交关系的数据
数据结构不一致,例如社交网络为图结构数据,行为序列为序列结构数据,画像数据为状态属性数据
数据范围不一致,例如部分社交关系中会存在服务器的限制(不同服务器可以加好友、聊天,不可以组队和形成帮会),而画像数据和行为序列不存在服务器差异
游戏场景中多数为inductive learning问题,例如登录不规律或者新增玩家会导致目标玩家不可见
游戏场景中社交关系丰富,且每种社交关系存在一些不同的类型(好友关系中存在删除好友、添加好友,帮会关系中存在任职、审批帮派、踢出帮派、加入帮派、离开帮派),在建模中是否能够考虑这部分特征关系
动态图如何应用于多源数据融合的游戏玩家状态预测问题
基于多源数据,是否可以通过归纳多种状态预测问题形成统一的解决方案
分类预测问题(例如玩家流失预测、玩家回流预测)主要通过以下指标进行评估: Accuracy、Precision、Recall、AUC
回归预测问题(例如玩家在线时长、玩家付费预测)主要通过以下指标进行评估: RMSE、MSE、MAPE
数据集按照天进行分割,主要包含以玩家画像数据、玩家社交关系数据和玩家行为序列数据为主的多源数据,具体描述如下所示:
玩家画像数据
role_id
string
玩家ID
server
int
服务器
create_time
string
账号创建时间
role_level
int
当日等级
vip_level
int
当日VIP等级
month_card_left
int
当日剩余月卡天数
capability
int
当日武林评价
1m_login_cnt
int
近一月登录次数
1m_login_day_cnt
int
近一月登录天数
acm_recharge_amt
bigint
历史充值
1m_recharge_amt
bigint
近一月充值
online_time
bigint
当日在线时长(秒)
online_get_exp_amt
bigint
当日在线获得经验
online_get_money_amt
bigint
当日在线获得金钱
battle_rank
bigint
当日论剑段位
friend_num
int
当日好友数量
is_in_guild
int
当日是否有帮会
energy_amt
int
当日消耗体力值
dispatch_cnt
int
当日派遣任务次数
lj_cnt
int
当日论剑次数
jh_cnt
int
当日江湖次数
drfb_cnt
int
当日多人副本次数
dqz_cnt
int
当日夺旗战次数
lj_win_rate
float
当日论剑胜率
jh_win_rate
float
当日江湖胜率
drfb_win_rate
float
当日多人副本胜率
dqz_win_rate
float
当日夺旗战胜率
玩家好友关系数据
ts
bigint
时间戳
role_id_src
string
玩家ID(发起方)
role_id_dst
string
玩家ID(接受方)
type
string
类型
玩家聊天关系数据
ts
bigint
时间戳
role_id_src
string
玩家ID(发起方)
role_id_dst
string
玩家ID(接受方)
type
string
类型
玩家组队关系数据
server
int
服务器
ts
bigint
时间戳
team_id
string
队伍ID
role_id
string
玩家ID
type
string
类型([加入队伍,离开队伍,被踢出队伍])
ids
string
当前队伍人员ID( 多个ID以| 分割)
玩家帮会关系数据
server
int
服务器
ts
bigint
时间戳
guild_id
string
帮会ID
role_id
string
玩家ID
type
string
类型([创建帮会,主动加入帮会,审批加入帮会,主动离开帮会,踢出离开帮会])
玩家行为序列
role_id
string
玩家ID
action_id
string
动作ID
objective_ids
string
动作对象ID,多个对象ID以逗号隔开
ts
int
动作发生的时间戳
Fuxi-UP团队针对该问题,结合多视图数据相关性以及预测任务相关性,提出多源数据融合的多任务学习框架,工作已发表在CoG'2020
Zhao, Shiwei, Runze Wu, Jianrong Tao, Manhu Qu, Hao Li, and Changjie Fan. "Multi-source Data Multi-task Learning for Profiling Players in Online Games.", IEEE Conference on Games, 2020.
有任何问题,请联系 zhaoshiwei@corp.netease.com