1.本技术涉及数据处理技术领域,特别是涉及一种基于最长公共子序列的游戏工作室用户检测方法和系统。
背景技术:
2.随着电子竞技行业的发展,出现了许多精品游戏,随之而来,在游戏生命周期中,也存在各式各样的非法作弊行为。其中,就包括游戏工作室在游戏发行前期,注册用户名引人注意的账号,再通过脚本语言等非法手段集中性的“练级”该账号,在达到一定等级或者具有一定价值后,将该账号出售以获取不良收益。
3.在相关技术中,使用基于监督学习的分类方法,如随机森林对上述用户进行识别。该方法需要基于大量带有工作室标签的样本数据进行学习训练,再应用到工作室用户的识别。但是,在游戏发行初期,并没有大量的样本数据,另外,运维人员也无法确定工作室用户具有什么特征,且各个工作室的样本特征也各不相同。
4.目前针对相关技术中,如何在游戏前期识别工作室用户的问题,尚未提出有效的解决方案。
技术实现要素:
5.本技术实施例提供了一种基于最长公共子序列的游戏工作室用户检测方法、系统、计算机设备和计算机可读存储介质,以至少解决相关技术中识别工作室用户过程复杂,成本过高的问题。
6.第一方面,本技术实施例提供了一种基于最长公共子序列的游戏工作室用户检测方法,所述方法包括:
7.在用户事件记录的子序列中,随机选择多个子序列并基于所述子序列初始化多个类中心;
8.分别计算每个所述子序列与每个所述类中心之间的最长公共连续子序列,并分别计算所述最长公共连续子序列的长度值;
9.根据所述最长公共连续子序列的长度值,分别将所述子序列划分至所述类中心对应的类簇,并分别获取所述类簇的关键子序列;
10.在所述用户事件记录中,基于所述关键子序列圈定目标范围,通过分析所述目标范围内的用户事件记录,在所述游戏数据库中确定工作室用户。
11.在其中一些实施例中,所述根据所述最长公共连续子序列的长度值,分别将所述子序列划分至所述类中心对应的类簇包括:
12.对于每个所述子序列,确定所述最长公共连续子序列的长度值最大的一个类中心作为目标类中心,并对所述子序列添加所述目标类中心的标签;
13.根据所述子序列添加的标签,分别将所述子序列划分至所述类中心对应的类簇。
14.在其中一些实施例中,所述随机选择多个子序列并基于所述子序列初始化多个类
中心之前,所述方法还包括:
15.通过python的configparser包读取配置文件,从游戏数据库中获取第一用户事件记录;
16.对所述第一用户事件记录进行编码得到第二用户事件记录。
17.在其中一些实施例中,所述对对所述第一用户事件记录进行编码得到第二用户事件记录之后,所述方法还包括:
18.在所述第二用户事件记录包括的子序列中,获取序列长度大于或者等于预设长度阈值的目标子序列,并保存所述目标子序列为所述用户事件记录,其中,所述预设长度阈值根据游戏业务的实际情况确定。
19.在其中一些实施例中,通过如下公式所述计算所述最长公共连续子序列的长度值:
[0020][0021]
其中,l[i,j]表示最长公共连续子序列的长度值,x,y分别是待划分的子序列和所述类中心对应的子序列,i表示x的前i个字符,j表示y的前j个字符。
[0022]
在其中一些实施例中,所述方法还包括:
[0023]
在游戏玩家是工作室用户的情况下,在用户事件记录的子序列中,随机选择多个子序列并基于所述子序列初始化多个类中心,其中,在所述用户事件记录中,多个所述工作室用户具有相似行为且登录时间集中;
[0024]
分别计算每个所述子序列与每个所述类中心之间的最长公共连续子序列,并计算所述最长公共连续子序列的长度值;
[0025]
根据所述最长公共连续子序列的长度值,将所述多个子序列划分多个类簇,并分别获取所述类簇的关键子序列,其中,该关键子序列包括所述工作室用户生成的用户事件记录;
[0026]
在所述用户事件记录中圈定与所述关键子序列对应的目标范围,通过分析所述目标范围内的用户事件记录,在所述游戏数据库中确定工作室用户。
[0027]
第二方面,本身请实施例提供了一种基于最长公共子序列的游戏工作室用户检测系统,其特征在于,所述系统包括:类中心初始化模块、聚类模块和分析模块;
[0028]
所述类中心初始化模块用于在用户事件记录的子序列中,随机选择多个子序列并基于所述子序列初始化多个类中心;
[0029]
所述聚类模块用于分别计算每个所述子序列与每个所述类中心之间的最长公共连续子序列,并分别计算所述最长公共连续子序列的长度值,
[0030]
以及根据所述最长公共连续子序列的长度值,分别将所述子序列划分至所述类中心对应的类簇,并分别获取所述类簇的关键子序列;
[0031]
所述分析模块用于在所述用户事件记录中,基于所述关键子序列圈定目标范围,以及通过分析所述目标范围内的用户事件记录,在所述游戏数据库中确定工作室用户。
[0032]
在其中一些实施例中,所述系统还包括读取模块和预处理模块,其中,所述读取模
块用于通过python的configparser包读取配置文件,从游戏数据库中获取第一用户事件记录;
[0033]
所述预处理模块用于对所述第一用户事件记录进行编码得到第二用户事件记录,
[0034]
以及在所述第二用户事件记录包括的子序列中,获取序列长度大于或者等于预设长度阈值的目标子序列,并保存所述目标子序列为所述用户事件记录,其中,所述预设长度阈值根据游戏业务的实际情况确定。
[0035]
第三方面,本技术实施例提供了一种计算机设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述第一方面所述的基于最长公共子序列的游戏工作室用户检测方法。
[0036]
第四方面,本技术实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述第一方面所述的基于最长公共子序列的游戏工作室用户检测方法。
[0037]
相比于相关技术,本技术实施例提供的基于最长公共子序列的游戏工作室用户检测方法,通过在用户事件记录中的子序列中,随机选择多个子序列并基于子序列初始化多个类中心;分别计算每个子序列与每个类中心之间的最长公共连续子序列,并分别计算最长公共连续子序列的长度值;根据最长公共连续子序列的长度值,分别将子序列划分至类中心对应的类簇,并分别获取类簇的关键子序列;在用户事件记录中,基于关键子序列圈定目标范围,通过分析目标范围内的用户事件记录,在游戏数据库中确定工作室用户。通过本技术,解决了相关技术中在游戏前期识别工作室用户过程复杂,成本过高的问题,能够圈定可疑目标人群,缩小核查范围,从而提升了区分工作室用户的人力和时间成本。
附图说明
[0038]
此处所说明的附图用来提供对本技术的进一步理解,构成本技术的一部分,本技术的示意性实施例及其说明用于解释本技术,并不构成对本技术的不当限定。在附图中:
[0039]
图1是根据本技术实施例的基于最长公共子序列的的游戏工作室用户检测方法的应用环境示意图;
[0040]
图2是根据本技术实施例的基于最长公共子序列的游戏工作室用户检测方法的流程图;
[0041]
图3是根据本技术实施例的基于最长公共子序列的游戏工作室用户检测系统的结构框图;
[0042]
图4是根据本技术实施例的电子设备的内部结构示意图。
具体实施方式
[0043]
为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行描述和说明。应当理解,此处所描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。基于本技术提供的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本技术保护的范围。
[0044]
显而易见地,下面描述中的附图仅仅是本技术的一些示例或实施例,对于本领域的普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图将本技术应用
于其他类似情景。此外,还可以理解的是,虽然这种开发过程中所作出的努力可能是复杂并且冗长的,然而对于与本技术公开的内容相关的本领域的普通技术人员而言,在本技术揭露的技术内容的基础上进行的一些设计,制造或者生产等变更只是常规的技术手段,不应当理解为本技术公开的内容不充分。
[0045]
在本技术中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本技术的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域普通技术人员显式地和隐式地理解的是,本技术所描述的实施例在不冲突的情况下,可以与其它实施例相结合。
[0046]
除非另作定义,本技术所涉及的技术术语或者科学术语应当为本技术所属技术领域内具有一般技能的人士所理解的通常意义。本技术所涉及的“一”、“一个”、“一种”、“该”等类似词语并不表示数量限制,可表示单数或复数。本技术所涉及的术语“包括”、“包含”、“具有”以及它们任何变形,意图在于覆盖不排他的包含;例如包含了一系列步骤或模块(单元)的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可以还包括没有列出的步骤或单元,或可以还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。本技术所涉及的“连接”、“相连”、“耦接”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电气的连接,不管是直接的还是间接的。本技术所涉及的“多个”是指两个或两个以上。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,“a和/或b”可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。本技术所涉及的术语“第一”、“第二”、“第三”等仅仅是区别类似的对象,不代表针对对象的特定排序。
[0047]
本技术提供的基于最长公共子序列的的游戏工作室用户检测方法,可以应用在如图1所示的应用环境中,图1是根据本技术实施例的基于最长公共子序列的的游戏工作室用户检测方法的应用环境示意图。如图1所示,终端10与服务器11通过网络进行通信,用户通过终端10输出访问流量并发送至服务器11。进一步的,服务器11接收用户的访问流量,并可以根据该访问流量生成不同的用户事件记录并保存在数据库中。另外,终端10上安装有各种类型的应用客户端,其可以是本技术涉及的游戏应用客户端。其中,对于一些热门的游戏应用,可能存在工作室用户在游戏环境中进行非法作弊行为,本技术通过部署在服务器11中的基于最长公共子序列的工作室检测方法,可以从当前所有的用户记录数据中圈定可能存在工作室用户的较小范围,从而降低区分工作室用户的人力成本。需要说明的是,本技术实施例中的终端10可以是智能手机、平板电脑、台式电脑、笔记本电脑和智能可穿戴设备,服务器11可以是独立的服务器或者是多个服务器组成的服务器集群。
[0048]
本技术提供了一种基于最长公共子序列的游戏工作室用户检测方法,图2是根据本技术实施例的基于最长公共子序列的游戏工作室用户检测方法的流程图,如图2所示,该流程包括如下步骤:
[0049]
s201,在用户事件记录的子序列中,随机选择多个子序列并基于子序列初始化多个类中心;
[0050]
本实施例中,该用户事件记录由当前游戏环境下所有玩家账号产生的记录序列数据组成,其可以是玩家的上/下线时间、在线时长、充值信息、账号升级信息和职业信息等。
另外,该用户事件记录与玩家账号相匹配,并随玩家行为不断更新。其可以存储在记录表中,记录表中包括用户id和用户事件记录,且用户id与用户事件记录相匹配,在记录表中,该用户事件记录以字符串的形式保存。
[0051]
需要说明的是,随机选择的子序列的数量,取决于根据游戏的用户数量,用户数量越高,则选择作为类中心的子序列就越多,反之则越少。可以理解的是,该子序列的数量可以是符合游戏运营情况的合理数值,本技术中对此不作具体限定。
[0052]
s202,分别计算每个子序列与每个类中心之间的最长公共连续子序列,并分别计算最长公共连续子序列的长度值;
[0053]
可以理解的是,上述子序列不包括被选为类中心的子序列。另外,最长公共子序列是指两个或多个已知序列的子序列中共有的且最长的一个序列。例如,给定序列a(android)和序列b(random),则序列a和序列b的最长公共子序列为c(ando)。再进一步的,在最长公共子序列的基础上,再选取连续的部分即是最长连续公共子序列,例如c1(and)。
[0054]
由于最长公共子序列反映两段字符之间的相似度,本技术实施例根据最长公共连续子序列,可以获取两个或多个用户事件之间的关联性信息。在后续步骤中,应用该最长公共连续子序列可以将相似度较高(如上线时间接近、用户行为类似)的用户事件记录划分至一个类别。
[0055]
s203,根据最长公共连续子序列的长度值,分别将子序列划分至类中心对应的类簇,并分别获取类簇的关键子序列;
[0056]
其中,最长公共连续子序列的长度值反映两个序列之间的相似度,例如,给定序列a(android)、序列b(random)和序列d(range),其中,序列a和序列b的最长公共连续子序列为e(and)、序列a和序列c的最长公共连续子序列为f(an),由于e(and)的长度大于f(an),因此,应当认为序列a和序列b之间的相似度大于序列a和序列c之间的相似度。
[0057]
进一步的,根据最长公共连续子序列的长度值,将子序列划分至类中心对应的类簇的过程,即是将与类中心相似度最接近的一些子序列划分至该类中心附近从而组成多个类簇的过程。进一步的,还需获取每个类簇中最具有代表性的关键子序列。
[0058]
s204,在用户事件记录中,基于关键子序列圈定目标范围,通过分析目标范围内的用户事件记录,在游戏数据库中确定工作室用户。
[0059]
需要说明的是,由于工作室用户具有集中上线行为,且游戏行为往往绝大多数一致,因此,工作室用户很有可能集中分布在几条具有代表性的用户事件记录中。而上述关键子序列又是每一类游戏行为最具代表性的序列,因此,通过分析这些关键子序列,即可圈定一个可能存在工作室用户的较小范围。再进一步的通过人工或者结合一些简单的计算机逻辑即可确定其中的工作室用户。
[0060]
通过上述步骤s201至s203,相比较于相关技术中采用随机森林等有监督算法识别工作室用户的方法,本技术实施例基于最长公共子序列,将用户事件记录按照相似度划分为多个类簇,在进一步的获取到这些类簇中最具有代表性的关键子序列之后,基于该代表性子序列段圈定较小的目标范围,并在该目标范围中确定工作室用户。通过该方法,解决了相关技术中在游戏运营前期,因为无法获取较大规模的工作室用户样本数据而无法应用有监督算法进行工作室用户检测的问题,能够缩小核查范围,从而提升了区分工作室用户的人力和时间成本。
[0061]
在其中一些实施例中,根据最长公共连续子序列的长度值,分别将子序列划分至类中心对应的类簇包括:对于每个子序列,确定最长公共连续子序列的长度值最大的一个类中心作为目标类中心,对子序列添加该目标类中心的标签,根据子序列添加的标签,分别将子序列划分至类中心对应的类簇;
[0062]
可选的,经上述步骤之后,还可以按照每个类中的序列数量从高到低将这些类簇排序,例如,将序列数最多的类簇的类标签修改为1,序列数第二多的类簇的类标签修改为2,依次类推直至遍历整个类簇集合结束,同时,记录每个类簇中的用户数占全体游戏用户的比值。本实施例中,在上述重新排序的标签、以及添加比值信息的基础上,再结合关键子序列进行目标范围圈定,能够更好的提升效率,简化分析步骤。
[0063]
在其中一些实施例中,在用户事件记录的子序列中随机选择多个子序列并基于子序列初始化多个类中心之前,还需从游戏数据库中获取用户事件记录,以及执行该用户事件记录的预处理步骤;
[0064]
可选的,可以通过python的configparser包读取ini配置文件中的数据库参数,从而得到第一用户事件记录。
[0065]
再进一步的,预处理步骤包括:对该第一用户事件记录进行编码得到第二用户事件记录,该第二用户事件记录为后续分类步骤所能识别的格式。可选的,具体包括:通过编码器将第一用户事件记录编码为事件编号形式,例如,将第一用户事件记录[事件1|事件2|...|事件ni]编码为[事件1编码,事件2编码,...,事件ni编码]。
[0066]
在其中一些实施例中,由于第二用户事件记录数据量还比较庞大,其中也存在着一些明显不可能是工作室用户产生的用户事件记录,因此,在依据相似度分类之前,还需对当前的第二用户事件进行过滤。
[0067]
需要说明的是,由于工作室用户往往用脚本刷号升级,其事件序列长度一般不会低于某个阈值;因此,可以通过设定一个合理的序列长度阈值来过滤掉大概率的非工作室用户。
[0068]
可选的,具体过滤流程包括:在第二用户事件记录包括的子序列中,获取序列长度大于或者等于预设长度阈值的目标子序列,并保存目标子序列为用户事件记录,其中,该预设长度阈值的取值根据游戏业务的实际情况确定。
[0069]
需要说明的是,一些工作室可能并没有严格按照脚本设置的刷号路线发展,所以应用上述方式可能会漏掉一小部分工作室用户。但是,上述方式只是用于发现工作室用户的具有一致性的核心行为,并基于此圈出一个目标范围,因此,应用该方法对最终的检测效果并无核心影响。
[0070]
在其中一些实施例中,通过如下公式1计算最长公共连续子序列的长度值:
[0071]
公式1:
[0072]
其中,l[i,j]表示最长公共连续子序列的长度值,x,y分别是待划分的子序列和类中心对应的子序列,i表示x的前i个字符,j表示y的前j个字符。
[0073]
在其中一些实施例中,在游戏玩家是工作室用户的情况下,在用户事件记录的子
序列中,随机选择多个子序列并基于子序列初始化多个类中心,其中,在用户事件记录中多个工作室用户具有相似行为且登录时间集中;
[0074]
分别计算每个子序列与每个类中心之间的最长公共连续子序列,并计算最长公共连续子序列的长度值;根据最长公共连续子序列的长度值,将多个子序列划分多个类簇,并分别获取类簇的关键子序列,其中,该关键子序列包括工作室用户生成的用户事件记录;在用户事件记录中圈定与关键子序列对应的目标范围,通过分析目标范围内的用户事件记录,在游戏数据库中确定工作室用户。
[0075]
需要说明的是,在上述流程中或者附图的流程图中示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
[0076]
本实施例还提供了一种基于最长公共子序列的游戏工作室用户检测系统,该系统用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”、“单元”、“子单元”等可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
[0077]
图3是根据本技术实施例的基于最长公共子序列的游戏工作室用户检测系统的结构框图,如图3所示,该系统包括:读取模块31、预处理模块32、类中心初始化模块33、聚类模块34和分析模块35;
[0078]
读取模块31用于通过python的configparser包读取配置文件,从游戏数据库中获取第一用户事件记录;
[0079]
预处理模块32用于对第一用户事件记录进行编码得到第二用户事件记录,以及在第二用户事件记录包括的子序列中,获取序列长度大于或者等于预设长度阈值的目标子序列,并保存目标子序列为用户事件记录,其中,预设长度的取值根据游戏业务的实际情况确定。
[0080]
类中心初始化模块33用于在用户事件记录的子序列中,随机选择多个子序列并基于子序列初始化多个类中心;
[0081]
聚类模块34用于分别计算每个子序列与每个类中心之间的最长公共连续子序列,并分别计算最长公共连续子序列的长度值,以及根据最长公共连续子序列的长度值,分别将子序列划分至类中心对应的类簇,并分别获取类簇的关键子序列;
[0082]
分析模块35用于在用户事件记录中,基于关键子序列圈定目标范围,以及通过分析目标范围内的用户事件记录,在游戏数据库中确定工作室用户。
[0083]
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种基于最长公共子序列的游戏工作室用户检测方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上
设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
[0084]
在一个实施例中,图4是根据本技术实施例的电子设备的内部结构示意图,如图4所示,提供了一种电子设备,该电子设备可以是服务器,其内部结构图可以如图4所示。该电子设备包括通过内部总线连接的处理器、网络接口、内存储器和非易失性存储器,其中,该非易失性存储器存储有操作系统、计算机程序和数据库。处理器用于提供计算和控制能力,网络接口用于与外部的终端通过网络连接通信,内存储器用于为操作系统和计算机程序的运行提供环境,计算机程序被处理器执行时以实现一基于最长公共子序列的游戏工作室用户检测方法,数据库用于存储数据。
[0085]
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。
[0086]
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0087]
以上实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术专利的保护范围应以所附权利要求为准。
技术特征:
1.基于最长公共子序列的游戏工作室用户检测方法,其特征在于,所述方法包括:在用户事件记录的子序列中,随机选择多个子序列并基于所述子序列初始化多个类中心;分别计算每个所述子序列与每个所述类中心之间的最长公共连续子序列,并分别计算所述最长公共连续子序列的长度值;根据所述最长公共连续子序列的长度值,分别将所述子序列划分至所述类中心对应的类簇,并分别获取所述类簇的关键子序列;在所述用户事件记录中,基于所述关键子序列圈定目标范围,通过分析所述目标范围内的用户事件记录,在游戏数据库中确定工作室用户。2.根据权利要求1所述的方法,其特征在于,所述根据所述最长公共连续子序列的长度值,分别将所述子序列划分至所述类中心对应的类簇包括:对于每个所述子序列,确定所述最长公共连续子序列的长度值最大的一个类中心作为目标类中心,并对所述子序列添加所述目标类中心的标签;根据所述子序列添加的标签,分别将所述子序列划分至所述类中心对应的类簇。3.根据权利要求1所述的方法,其特征在于,所述随机选择多个子序列并基于所述子序列初始化多个类中心之前,所述方法还包括:通过python的configparser包读取配置文件,从游戏数据库中获取第一用户事件记录;对所述第一用户事件记录进行编码得到第二用户事件记录。4.根据权利要求3所述的方法,其特征在于,所述对所述第一用户事件记录进行编码得到第二用户事件记录之后,所述方法还包括:在所述第二用户事件记录包括的子序列中,获取序列长度大于或者等于预设长度阈值的目标子序列,并保存所述目标子序列为所述用户事件记录,其中,所述预设长度阈值根据游戏业务的实际情况确定。5.根据权利要求1所述的方法,其特征在于,通过如下公式所述计算所述最长公共连续子序列的长度值:其中,l[i,j]表示最长公共连续子序列的长度值,x,y分别是待划分的子序列和所述类中心对应的子序列,i表示x的前i个字符,j表示y的前j个字符。6.根据权利要求1所述的方法,其特征在于,所述方法还包括:在游戏玩家是工作室用户的情况下,在用户事件记录的子序列中,随机选择多个子序列并基于所述子序列初始化多个类中心,其中,在所述用户事件记录中,多个所述工作室用户具有相似行为且登录时间集中;分别计算每个所述子序列与每个所述类中心之间的最长公共连续子序列,并计算所述最长公共连续子序列的长度值;根据所述最长公共连续子序列的长度值,将所述多个子序列划分多个类簇,并分别获
取所述类簇的关键子序列,其中,该关键子序列包括所述工作室用户生成的用户事件记录;在所述用户事件记录中圈定与所述关键子序列对应的目标范围,通过分析所述目标范围内的用户事件记录,在所述游戏数据库中确定工作室用户。7.基于最长公共子序列的游戏工作室用户检测系统,其特征在于,所述系统包括:类中心初始化模块、聚类模块和分析模块;所述类中心初始化模块用于在用户事件记录的子序列中,随机选择多个子序列并基于所述子序列初始化多个类中心;所述聚类模块用于分别计算每个所述子序列与每个所述类中心之间的最长公共连续子序列,并分别计算所述最长公共连续子序列的长度值,以及根据所述最长公共连续子序列的长度值,分别将所述子序列划分至所述类中心对应的类簇,并分别获取所述类簇的关键子序列;所述分析模块用于在所述用户事件记录中,基于所述关键子序列圈定目标范围,以及通过分析所述目标范围内的用户事件记录,在游戏数据库中确定工作室用户。8.根据权利要求7所述的系统,其特征在于,所述系统还包括读取模块和预处理模块,其中,所述读取模块用于通过python的configparser包读取配置文件,从游戏数据库中获取第一用户事件记录;所述预处理模块用于对所述第一用户事件记录进行编码得到第二用户事件记录,以及在所述第二用户事件记录包括的子序列中,获取序列长度大于或者等于预设长度阈值的目标子序列,并保存所述目标子序列为所述用户事件记录,其中,所述预设长度阈值根据游戏业务的实际情况确定。9.一种计算机设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至6中任一项所述的基于最长公共子序列的游戏工作室用户检测方法。10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1至6中任一项所述的基于最长公共子序列的游戏工作室用户检测方法。
技术总结
本申请涉及基于最长公共子序列的游戏工作室用户检测方法,该方法包括:在用户事件记录中的子序列中,随机选择多个子序列并基于子序列初始化多个类中心;分别计算每个子序列与每个类中心之间的最长公共连续子序列,并分别计算最长公共连续子序列的长度值;根据最长公共连续子序列的长度值,分别将子序列划分至类中心对应的类簇,并分别获取类簇的关键子序列;在用户事件记录中,基于关键子序列圈定目标范围,通过分析目标范围内的用户事件记录,在游戏数据库中确定工作室用户。通过本申请,解决了相关技术中在游戏前期识别工作室用户人力成本较高的问题,能够缩小核查范围,提升了区分工作室用户的人力和时间成本。了区分工作室用户的人力和时间成本。了区分工作室用户的人力和时间成本。
技术研发人员:黄晓鑫
受保护的技术使用者:杭州电魂网络科技股份有限公司
技术研发日:2021.11.04
技术公布日:2022/3/7