外挂识别方法、装置、计算机设备和可读存储介质转让专利

申请号 : CN202010183780.3

文献号 : CN111417021B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 方小敏

申请人 : 广州虎牙科技有限公司

摘要 :

本申请公开了一种外挂识别方法、装置、计算机设备和可读存储介质,涉及直播技术领域。外挂识别方法应用于计算机设备,包括:获取用户行为数据,用户行为数据为目标直播间中任一观众账户的操作行为数据;根据用户行为数据进行特征构造,得到行为特征值,行为特征值用于表征用户行为数据的执行状态;将行为特征值输入预先构建的检测模型,以便根据用户行为数据的执行状态判断用户行为数据是否与基于外挂的虚假用户行为数据匹配;当用户行为数据与基于外挂的虚假用户行为数据匹配时,判定目标直播间存在基于外挂的虚假用户,能够可靠的对外挂进行识别。

权利要求 :

1.一种外挂识别方法,其特征在于,应用于计算机设备,所述方法包括:获取用户行为数据,所述用户行为数据为目标直播间中任一观众账户的操作行为数据;

根据所述用户行为数据进行特征构造,得到行为特征值,所述行为特征值用于表征所述用户行为数据的执行状态;

所述行为特征值包括用户行为特征值和服务端行为特征值;所述用户行为特征值用于表征用户行为数据对应的观众账号的执行状态;所述服务端行为特征值用于表征所述目标直播间所在的服务器的执行状态;

将所述行为特征值输入预先构建的检测模型,以便根据所述用户行为数据的执行状态判断所述用户行为数据是否与基于外挂的虚假用户行为数据匹配;

当所述用户行为数据与基于外挂的虚假用户行为数据匹配时,判定所述目标直播间存在基于外挂的虚假用户;

所述用户行为数据包括多个事件标识和每个所述事件标识对应的发生时间;

所述根据所述用户行为数据进行特征构造,得到行为特征值的步骤,包括:根据每个所述事件标识对应的发生时间,将所述多个事件标识进行排序,得到行为序列;

根据N‑gram模型对所述行为序列进行特征构造,得到所述行为特征值;

所述根据N‑gram模型对所述行为序列进行特征构造,得到行为特征值的步骤,包括:将所述行为序列与预先设置的行为组合进行比对,其中,所述预先设置的行为组合包括多个预设事件标识,所述多个预设事件标识按照预设顺序排列;

当所述预先设置的行为组合中出现所述行为序列包括的事件标识时,配置对应的预设事件标识所在位置为1,得到有效值;

当所述预先设置的行为组合中出现所述行为序列不包括的事件标识时,配置对应的预设事件标识所在位置为0,得到无效值;根据所述有效值和/或所述无效值,得到所述行为特征值。

2.根据权利要求1所述的方法,其特征在于,所述根据所述用户行为数据进行特征构造,得到行为特征值的步骤,包括:获取与所述用户行为数据对应的服务端行为数据,所述服务端行为数据为所述目标直播间所在的服务器响应所述用户行为数据进行的操作行为数据;

将所述用户行为数据进行特征构造,得到用户行为特征值;和/或,将所述服务端行为数据进行特征构造,得到服务端行为特征值。

3.根据权利要求1中所述的方法,其特征在于,所述检测模型基于检测系数和逻辑回归模型构建;

所述检测系数基于将样本行为特征值输入所述逻辑回归模型得到,所述样本行为特征值用于表征样本用户行为数据的执行状态;

所述样本行为特征值基于所述样本用户行为数据特征构造得到;

所述样本用户行为数据为预先获取的。

4.根据权利要求3所述的方法,其特征在于,当所述用户行为数据与基于外挂的虚假用户行为数据匹配时,所述方法还包括:判定所述用户行为数据对应的观众账户存在外挂,并将存在外挂的观众账户对应的用户行为数据作为所述样本用户行为数据。

5.一种外挂识别装置,其特征在于,应用于计算机设备,所述装置包括:获取模块,用于获取用户行为数据,所述用户行为数据为目标直播间中任一观众账户的操作行为数据;

计算模块,用于根据所述用户行为数据进行特征构造,得到行为特征值,所述行为特征值用于表征所述用户行为数据的执行状态;所述行为特征值包括用户行为特征值和服务端行为特征值;所述用户行为特征值用于表征用户行为数据对应的观众账号的执行状态;所述服务端行为特征值用于表征所述目标直播间所在的服务器的执行状态;

检测模块,用于将所述行为特征值输入预先构建的检测模型,以便根据所述用户行为数据的执行状态判断所述用户行为数据是否与基于外挂的虚假用户行为数据匹配;

判定模块,用于当所述用户行为数据与基于外挂的虚假用户行为数据匹配时,判定所述目标直播间存在基于外挂的虚假用户;

所述用户行为数据包括多个事件标识和每个所述事件标识对应的发生时间;

所述计算模块具体用于:根据每个所述事件标识对应的发生时间,将所述多个事件标识进行排序,得到行为序列;根据N‑gram模型对所述行为序列进行特征构造,得到所述行为特征值;

所述计算模块具体用于:将所述行为序列与预先设置的行为组合进行比对,其中,所述预先设置的行为组合包括多个预设事件标识,所述多个预设事件标识按照预设顺序排列;

当所述预先设置的行为组合中出现所述行为序列包括的事件标识时,配置对应的预设事件标识所在位置为1,得到有效值;

当所述预先设置的行为组合中出现所述行为序列不包括的事件标识时,配置对应的预设事件标识所在位置为0,得到无效值;根据所述有效值和/或所述无效值,得到所述行为特征值。

6.一种计算机设备,其特征在于,所述计算机设备包括处理器及存储有计算机指令的非易失性存储器,所述计算机指令被所述处理器执行时,所述计算机设备执行权利要求1‑4中任意一项所述的外挂识别方法。

7.一种可读存储介质,其特征在于,所述可读存储介质包括计算机程序,所述计算机程序运行时控制所述可读存储介质所在计算机设备执行权利要求1‑4中任意一项所述的外挂识别方法。

说明书 :

外挂识别方法、装置、计算机设备和可读存储介质

技术领域

[0001] 本申请涉及直播技术领域,具体而言,涉及一种外挂识别方法、装置、计算机设备和可读存储介质。

背景技术

[0002] 随着直播行业的兴起,直播所能来带的商界价值也随之增加。直播平台一般会以一个主播的人气作为分配给其资源(曝光量、上传码率等)的参考标准。而目前存在主播为了获得平台更多的资源,通过使用人气外挂等方式实现不正当竞争。目前识别人气外挂的方式一般为检测一个IP地址是否存在大量的用户同时使用,或者判断一个直播间中是否存在某个版本的客户端占比突增的情况。现有技术中外挂识别方法,仅仅能针对较为简单的外挂进行识别,而在实际情况中,外挂的技术更新十分迅速,这使得现有的外挂识别方法并不能可靠的识别外挂。
[0003] 有鉴于此,如何提供一种可靠的外挂识别方案,是本领域技术人员需要解决的。

发明内容

[0004] 本申请实施例提供一种外挂识别方法、装置、计算机设备和可读存储介质。
[0005] 第一方面,本申请实施例提供一种外挂识别方法,应用于计算机设备,所述方法包括:
[0006] 获取用户行为数据,所述用户行为数据为目标直播间中任一观众账户的操作行为数据;
[0007] 根据所述用户行为数据进行特征构造,得到行为特征值,所述行为特征值用于表征所述用户行为数据的执行状态;
[0008] 将所述行为特征值输入预先构建的检测模型,以便根据所述用户行为数据的执行状态判断所述用户行为数据是否与基于外挂的虚假用户行为数据匹配;
[0009] 当所述用户行为数据与基于外挂的虚假用户行为数据匹配时,判定所述目标直播间存在基于外挂的虚假用户。
[0010] 可选地,所述行为特征值包括用户行为特征值和服务端行为特征值;
[0011] 所述根据所述用户行为数据进行特征构造,得到行为特征值的步骤,包括:
[0012] 获取与所述用户行为数据对应的服务端行为数据,所述服务端行为数据为所述目标直播间所在的服务器响应所述用户行为数据进行的操作行为数据;
[0013] 将所述用户行为数据进行特征构造,得到用户行为特征值,所述用户行为特征值用于表征所述用户行为数据对应的观众账号的执行状态;和/或,将所述服务端行为数据进行特征构造,得到服务端行为特征值,所述服务端行为特征值用于表征所述目标直播间所在的服务器的执行状态。
[0014] 可选地,所述用户行为数据包括多个事件标识和每个所述事件标识对应的发生时间;
[0015] 所述根据所述用户行为数据进行特征构造,得到行为特征值的步骤,包括:
[0016] 根据每个所述事件标识对应的发生时间,将所述多个事件标识进行排序,得到行为序列;
[0017] 根据N‑gram模型对所述行为序列进行特征构造,得到所述行为特征值。
[0018] 可选地,所述根据N‑gram模型对所述行为序列进行特征构造,得到行为特征值的步骤,包括:将所述行为序列与预先设置的行为组合进行比对,其中,所述预先设置的行为组合包括多个预设事件标识,所述多个预设事件标识按照预设顺序排列;
[0019] 当所述预先设置的行为组合中出现所述行为序列包括的事件标识时,配置对应的预设事件标识所在位置为1,得到有效值;
[0020] 当所述预先设置的行为组合中出现所述行为序列不包括的事件标识时,配置对应的预设事件标识所在位置为0,得到无效值;根据所述有效值和/或所述无效值,得到所述行为特征值。
[0021] 可选地,所述检测模型基于检测系数和逻辑回归模型构建;
[0022] 所述检测系数基于将样本行为特征值输入所述逻辑回归模型得到,所述样本行为特征值用于表征所述样本用户行为数据的执行状态;
[0023] 所述样本行为特征值基于样本用户行为数据特征构造得到;
[0024] 所述样本用户行为数据为预先获取的。
[0025] 可选地,当所述用户行为数据与基于外挂的虚假用户行为数据匹配时,所述方法还包括:
[0026] 判定所述用户行为数据对应的观众账户存在1外挂,并将存在外挂的观众账户对应的用户行为数据作为所述样本用户行为数据。
[0027] 第二方面,本申请实施例提供一种外挂识别装置,应用于计算机设备,所述装置包括:
[0028] 获取模块,用于获取用户行为数据,所述用户行为数据为目标直播间中任一观众账户的操作行为数据;
[0029] 计算模块,用于根据所述用户行为数据进行特征构造,得到行为特征值,所述行为特征值用于表征所述用户行为数据的执行状态;
[0030] 检测模块,用于将所述行为特征值输入预先构建的检测模型,以便根据所述用户行为数据的执行状态判断所述用户行为数据是否与基于外挂的虚假用户行为数据匹配;
[0031] 判定模块,用于当所述用户行为数据与基于外挂的虚假用户行为数据匹配时,判定所述目标直播间存在基于外挂的虚假用户。
[0032] 第三方面,本申请实施例一种计算机设备,所述计算机设备包括处理器及存储有计算机指令的非易失性存储器,所述计算机指令被所述处理器执行时,所述计算机设备执行第一方面中任意一项所述的外挂识别方法。
[0033] 第四方面,本申请实施例提供一种可读存储介质,所述可读存储介质包括计算机程序,所述计算机程序运行时控制所述可读存储介质所在计算机设备执行第一方面中任意一项所述的外挂识别方法。
[0034] 相比现有技术,本申请提供的有益效果包括:通过获取用户行为数据,并根据所述用户行为数据进行特征构造,得到行为特征值,再将所述行为特征值输入预先构建的检测模型,以便根据所述用户行为数据的执行状态判断所述用户行为数据是否与基于外挂的虚假用户行为数据匹配,当所述用户行为数据与基于外挂的虚假用户行为数据匹配时,判定所述目标直播间存在基于外挂的虚假用户,通过上述过程,能够可靠地进行外挂的识别。

附图说明

[0035] 为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍。应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定。对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
[0036] 图1为本申请实施例提供视频软件应用示意图;
[0037] 图2为本申请实施例提供的直播系统架构的示意框图;
[0038] 图3为本申请实施例提供的终端设备的结构示意图;
[0039] 图4为本申请实施例提供的一种外挂识别方法流程图;
[0040] 图5为本申请实施例提供的另一种外挂识别方法流程图;
[0041] 图6为本申请实施例提供的另一种外挂识别方法流程图;
[0042] 图7a、图7b和图7c为本申请实施例提供的一种直播交互流程示意图;
[0043] 图8为本申请实施例提供的另一种外挂识别方法流程图;
[0044] 图9为本申请实施例提供的一种构建检测模型的方法流程图;
[0045] 图10为本申请实施例提供的另一种构建检测模型的方法流程图;
[0046] 图11为本申请实施例提供的一种外挂识别装置的结构框图;
[0047] 图12为本申请实施例提供的一种计算机设备的结构框图。

具体实施方式

[0048] 为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。
[0049] 因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0050] 应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
[0051] 此外,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
[0052] 下面结合附图,对本申请的具体实施方式进行详细说明。
[0053] 目前对于能够提供视频流的系统,其通常包括:服务器与终端设备;服务器,用于存储用户的账户相关信息,以及接受终端设备发出指令并进行响应;终端设备用于为用户提供观看视频或者上传视频的硬件条件,同时也作为用户与终端设备中视频软件进行交互的媒介;
[0054] 该终端设备可以安装有与视频流获取、播放及存储相关的固件、驱动及应用(Application,简称:APP)。该APP具有必要的图形界面以便用户通过该APP进行音视频的浏览、选择、获取及收听观看。具体参见图1,其包含:滚动式首页推荐区域A和观看历史区域B。
[0055] 其中,对于提供音视频直播的场景,上述终端设备可以被划分为主播用户使用的终端设备与观众使用的终端设备。具体的,对于直播场景,下面给出一种可能的系统实现架构,参见图2,该系统包括:终端设备1、终端设备2a、终端设备2b及服务器3。
[0056] 其中,该终端设备1由主播使用,终端设备2a由观众用户1使用、终端设备2b由观众用户2使用。
[0057] 其中,观众用户1与观众用户2可以通过各自终端设备的APP,进入对应的直播间,以便观看主播进行的直播内容。
[0058] 具体的,主播通过终端设备1上的主播端APP行视频直播、收取礼物、发起抽奖和上传视频等交互操作,观众用户1和观众用户2通过各自终端设备中的观众端APP进行观看、发送弹幕和送礼物等操作;
[0059] 服务器3主要用于存储主播、观众用户的账户信息、接收观众端与主播端发出的各种指令并给予相应的响应,另外,其还可以用于存储各个直播间的相关数据,并在观众用户和主播对直播间进行交互时进行相应的反馈。
[0060] 当然,为了实现音视频流的交互等功能,该服务器3也可以指代多个服务器构成的集群、分布式存储系统、用于实现软件定义(Software Defined Network,简称SDN)的设备等。
[0061] 另外,为了保证音视频流的正常传输,服务器与终端设备之间还可以设置必要的网络设备,例如网络接入设备、蜂窝网接入设备、网关及核心网设备等。
[0062] 需要说明的是,对于上述终端设备,其可以为:智能手机、笔记本电脑、台式电脑及平板电脑(Portable Android Device,简称PDA)。
[0063] 具体的,以智能手机为例,该智能手机可以包括:RF(Radio Frequency,射频)电路210、存储器220、输入单元230、显示单元240、传感器250、音频电路260、WiFi(wireless fidelity,无线保真)模块270、处理器280、以及电源290等部件。本领域技术人员可以理解,图3中示出的手机结构只做实现方式的举例,并不构成对手机的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
[0064] 下面结合图3对手机20的各个构成部件进行具体的介绍:
[0065] RF电路210可用于接收图2中服务器3发出的视频流,以及在主播或观众用户进行交互后将交互指令发送至服务器3,特别地,将基站的下行信息接收后,给处理器280处理;另外,将设计上行的数据发送给基站。通常,RF电路包括但不限于天线、至少一个放大器、收发信机、耦合器、LNA(Low Noise Amplifier,低噪声放大器)、双工器等。此外,RF电路210还可以通过无线通信与网络和其他设备通信。所述无线通信可以使用任一通信标准或协议,包括但不限于GSM(Global System of Mobile communication,全球移动通讯系统)、GPRS(General Packet Radio Service,通用分组无线服务)、CDMA(Code Division Multiple Access,码分多址)、WCDMA(Wideband Code Division Multiple Access,宽带码分多址)、LTE(Long Term Evolution,长期演进)、电子邮件、SMS(Short Messaging Service,短消息服务)等。
[0066] 输入单元230可用于接收输入的数字或字符信息,以及产生与手机20的用户设置以及功能控制有关的键信号输入,可以通过触摸对应区域进入APP中对应的版块,例如可以通过滑动图1中滚动式首页推荐区域A实现切换推荐的直播间,或者点击图1中观看历史区域B中直播间图标进入直播间,在进入视频播放界面后,也可以通过触摸对应的图标实现对应的功能(比如音量的调节,屏幕亮度的调节等)。
[0067] 具体地,输入单元230可包括触控面板231以及其他输入设备232。触控面板231,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板231上或在触控面板231附近的操作),并根据预先设定的程式驱动相应的连接装置。
[0068] 可选的,触控面板231可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器280,并能接收处理器280发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板231。除了触控面板231,输入单元230还可以包括其他输入设备232。具体地,其他输入设备232可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
[0069] 显示单元240可用于显示由用户输入的信息或提供给用户的信息以及手机20的各种菜单,例如显示图1中滚动式首页推荐区域A和观看历史区域B。显示单元240可包括显示面板241,可选的,可以采用液晶显示器(Liquid Crystal Display,简称LCD)、OLED(Organic Light‑Emitting Diode,有机发光二极管)等形式来配置显示面板241。进一步的,触控面板231可覆盖显示面板241,当触控面板231检测到在其上或附近的触摸操作后,传送给处理器280以确定触摸事件的类型,随后处理器280根据触摸事件的类型在显示面板241上提供相应的视觉输出。虽然在图3中,触控面板231与显示面板241是作为两个独立的部件来实现手机20的输入和输入功能,但是在某些实施例中,可以将触控面板231与显示面板241集成而实现手机20的输入和输出功能。
[0070] 尽管未示出,手机20还可以包括摄像头、蓝牙模块等,例如,在手机20作为图2中主播的终端设备1使用时,可以利用摄像头进行直播的视频拍摄,在此不再赘述。
[0071] 在上述图1及图2所示的场景下,对于目前的直播行业,其带来的商业价值也在逐渐提升。作为直播平台,一般会根据主播直播间的人气为其分配对应的资源,例如码率、首页出现次数等。而主播直播间的人气需要是由当前在该直播间的观众人数决定的,因此某些主播为了能够更多的获取平台提供的资源,会通过使用外挂的方式来制造虚假人气。而在现有技术中,只能识别一些简单的外挂,例如,在某个直播间中有一个IP地址存在大量的观众账户,或者在某个直播间中某个版本的观众端直播APP占比突增等。在实际情况中,外挂使用者使用的外挂会针对现有的检测技术进行开发,不断地改变外挂的使用规则,对于维护人员来说,每次检测出新的外挂都需要重新进行维护开发,从而消耗大量的人力物力。
[0072] 申请人经过思考,在实际应用中发现,对于观众设备,例如图2所示,可以分为终端设备2a(即由真实的观众用户1在直播间中进行各项操作的设备)和终端设备2b(即由虚假的观众用户2通过外挂手段在直播间进行各种操作的设备),在终端设备2a在与进入的直播间进行交互时,其行为数据是具备一定合理地逻辑性的(即真实的观众用户1操作),而设置有外挂的终端设备2b在与直播间进行交互时,虽然可以通过技术手段将自己的登录IP修改或隐藏来避免登录大量虚假观众账号被检测,但是每个观众账号的行为数据是无法隐藏的,而虚假的观众用户2通过外挂手段在直播间进行各种操作与真实的观众用户1在直播间进行的操作是有区别的。
[0073] 基于此,本申请实施例提供了一种外挂识别方法,应用于计算机设备,该计算机设备可以是图2中的服务器3,也可以是新增的独立硬件设备,计算机设备与存储有用户行为数据的数据库服务器通信连接,具体的,图4为本申请实施例提供的一种外挂识别方法流程图,如图4所示,该方法包括步骤201至步骤204。
[0074] 步骤201,获取用户行为数据,用户行为数据为目标直播间中任一观众账户的操作行为数据。
[0075] 其中,该用户行为数据可以为上图1中观众用户通过登录对应的账户后在APP页面上的操作行为数据,例如打开APP、选择兴趣标签、赠送礼物、添加关注、编辑弹幕内容和发送弹幕内容等,可以理解为是观众在进行观看能出现的操作。
[0076] 步骤202,根据用户行为数据进行特征构造,得到行为特征值。
[0077] 其中,行为特征值用于表征用户行为数据的执行状态,其可以被理解为观众账号是否做出了某种操作行为,例如,用户行为数据可以是赠送礼物,当观众账号在目标直播间内赠送了礼物后,其用户行为数据中关于赠送礼物的数据在进行特征构造后,可以得到一行为特征值,用于表明该观众账号在目标直播间内存在赠送礼物的行为,若观众账户并未在目标直播间中赠送过任何礼物,其用户行为数据中关于赠送礼物的数据在进行特征构造后,可以得到另一行为特征值,该行为特征值与赠送礼物情况下构造的行为特征值能够被区分,用于表明该观众账号在目标直播间中不存在赠送礼物行为。
[0078] 步骤203,将行为特征值输入预先构建的检测模型。
[0079] 以便根据用户行为数据的执行状态判断用户行为数据是否与基于外挂的虚假用户行为数据匹配。
[0080] 具体的,该预先构建的检测模型能够根据用户行为数据的执行状态判断用户行为数据是否与基于外挂的虚假用户行为数据匹配;基于外挂的虚假用户行为数据与真实的观众的用户行为数据是不一样的,因此可以通过检测模型进行检测。
[0081] 步骤204,当用户行为数据与基于外挂的虚假用户行为数据匹配时,判定目标直播间存在基于外挂的虚假用户。
[0082] 当用户行为数据与基于外挂的虚假用户行为数据匹配时,可以判定该用户行为数据所在的目标直播间存在基于外挂的虚假用户,虚假用户所带来的人气值(发送弹幕、赠送礼物等)即为虚假人气。
[0083] 本申请实施例提供的外挂识别方法,能够对直播间中的账户进行可靠地筛查,通过判断用户行为数据是否与基于外挂的虚假用户行为数据匹配,而非将可修改的IP地址作为评判依据,即时无法区分是否在同一终端设备上登录了大量观众账户,也能够可靠地辨识出使用外挂的观众账户。
[0084] 除了用户行为数据能够作为判断观众账户的操作行为数据账户的操作行为数据是否正常的依据,观众账户在直播间中进行各项交互时,目标直播间所在的服务器也会响应用户行为数据反馈对应的服务端行为数据也能被作为判断观众账户的操作行为数据是否正常的依据,因此,为了提高识别的准确性,可以利用用户行为数据和、或服务端行为数据作为判断观众账户的操作行为数据账户的操作行为数据是否正常的依据,具体的下面提供一种可能的实现方式,在图4的基础上,图5为本申请实施例提供的另一种外挂识别方法流程图,参见图5,步骤202包括:
[0085] 步骤202‑1,获取与用户行为数据对应的服务端行为数据。
[0086] 其中,服务端行为数据为目标直播间所在的服务器响应用户行为数据进行的操作行为数据。
[0087] 例如,用户行为数据可以是点击直播间竞猜抽奖图标,而对应的服务端行为数据可以为获取竞猜抽奖内容并展示取竞猜抽奖内容。用户行为数据还可以是点击直播间关注图标,而对应的服务端行为数据可以为获取将关注图标替换为已关注图标。用户行为数据还可以是打开APP,而对应的服务端行为数据可以为获取APP主菜单信息并展示。
[0088] 步骤202‑2,将用户行为数据进行特征构造,得到用户行为特征值。
[0089] 其中,用户行为特征值用于表征用户行为数据对应的观众账号的执行状态,如前所述,用户行为数据可以是赠送礼物,根据赠送礼物的数据构造得到用户行为特征值可以用户表征观众账号在目标直播间中是否进行了赠送礼物的行为。
[0090] 步骤202‑3,将服务端行为数据进行特征构造,得到服务端行为特征值。其中,服务端行为特征值用于表征目标直播间所在的服务器的执行状态,用户行为数据可以是赠送礼物,服务端行为数据可以为获取礼物详情,并展示至目标直播间,而根据该服务端行为数据进行特征构造,能够表征直播间所在的服务器是否做出了获取礼物详情,并将该礼物详情展示至目标直播间的行为。
[0091] 具体的,在服务端行为数据获取过程出现意外,或者服务端行为数据无法获取时(例如当前直播平台出现热点事件,例如直播热门比赛,导致短时间内观众人数激增,服务器暂时瘫痪,可能无法及时的获取服务器端行为数据),单独采用用户行为数据进行特征构造也能获取用于检测的用户行为特征值,即步骤202‑2可以单独执行,在仅能获取服务端行为数据时,也可以反映用户行为数据的特征,即步骤202‑3可以单独执行。而在用户行为数据和服务端行为数据均能获取时,为了保证数据的多样性以提高最终模型计算结果的可靠性,可以执行步骤202‑2及步骤202‑3。
[0092] 采用上述的步骤,能够将抽象的用户行为数据和服务端行为数据转化为能够用于计算的用户行为特征值和服务端行为特征值,同时数据渠道的来源不止一个,也保证了最终计算结果的准确性和可靠性。
[0093] 在前述基础上,请参照表一,用户行为数据包括多个事件标识和每个事件标识对应的发生时间。
[0094]用户行为数据 事件标识 时间
打开APP 100000 18:00:01
选择兴趣标签 100001 18:00:50
进入直播间 100002 18:05:20
赠送礼物 100004 18:20:15
…… …… ……
[0095] 表一
[0096] 在图4的基础上,图6为本申请实施例提供的另一种外挂识别方法流程图,参见图6,本申请实施例提供一种根据用户行为数据进行特征构造,得到行为特征值的示例。可以通过以下步骤实现。
[0097] 步骤202‑4,根据每个事件标识对应的发生时间,将多个事件标识进行排序,得到行为序列。
[0098] 可以根据用户行为数据中具体的各个行为对应的事件标识按照对应的时间排列,得到行为序列,例如从上述表一内容中可以获知,用户行为数据包括打开APP,选择兴趣标签,进入直播间和赠送礼物等,其中,根据各个行为发生的时间,观众账号在进行前述各个行为的顺序为先打开APP,再选择兴趣标签,而后从对应兴趣标签的直播间列表中选择感兴趣的直播进入,在观看直播时,进行了赠送礼物操作等等。可以将打开APP的事件标识设置为100000,将选择兴趣标签的事件标识设置为100001,将进入直播间的事件标识设置为100002,将关注直播间的事件标识设置为100003,将赠送礼物的事件标识设置为100004,根据前述流程,可以得知该观众账户可能是在已经关注了目标直播间的情况下进行了前述操作(即没有关注直播间的行为),因此可以从前述行为以及各个行为对应的事件标识中获取行为序列:[100000,100001,100002,100004,……]。
[0099] 步骤202‑5,根据N‑gram模型对行为序列进行特征构造,得到行为特征值。
[0100] 而后便可以通过N‑gram模型对行为序列进行特征构造,得到行为特征值。应当理解的是,在本申请实施例中采用N‑gram模型进行特征构造,而在N‑gram模型特征构造的过程中,一个事件标识仅将该事件标识的前若干个事件标识作为参考,即一个事件标识与前若干个(一个、两个、三个等)事件标识之间有一定的逻辑联系,而在本申请实施例中,即使每个观众进行观看直播的习惯不一样,但是在操作观众端直播APP时,排除少量的误操作,各个相邻操作之间是有联系的,存在着一定的逻辑关系,基于此,采用N‑gram模型进行特征构造,能够准确地贴合本申请实施例中的方案进行处理。
[0101] 例如,终端设备2a上登录了观众账号,执行了“打开APP”,如图7a所示,经过浏览后进行了“选择兴趣标签”的操作,进入对应兴趣标签的直播列表中,如图7b所示,然后选择感兴趣的直播间执行了“进入直播间”的操作,在观看了一端时间后又如图7c所示,进行了“赠送礼物”操作,真实观众的正常操作流程各个相邻操作之间是存在联系关联的。又例如,终端设备2b上登录了观众账号,执行了“进入直播间”的操作,然后执行了“赠送礼物”操作,在此之后,才执行“打开APP”的操作,这显然是一个真实用户无法进行的操作流程,可以认为是通过外挂在终端设备2b的后台执行了“进入直播间”和“赠送礼物”有关直播间人气增加的操作,各个相邻操作之间的逻辑存在异常,与基于外挂的虚假用户行为数据匹配。
[0102] 应当理解的是,服务端行为特征值也可以作为预先构建好的检测模型的输入,具体过程与用户行为数据相关操作类似,在此不再赘述,可以参照表二,其中,“获取卡片内容”可以是指响应用户行为数据“赠送办卡”对应的服务端行为数据,会将观众用户赠送了办卡后能够获取权益进行展示;“获取用户守护列表”可以是指响应用户行为数据“进入关注列表”对应的服务端行为数据,会在观众用户点击自己收藏的关注列表后,将观众用户收藏的直播间以列表形式展示。
[0103] 服务端行为数据 事件标识 时间获取卡片内容 queryCardPackage 18:00:05
获取用户守护列表 GetUserAllGuardian 18:00:55
…… …… ……
[0104] 表二
[0105] 在图6基础上,本申请实施例提供一种根据N‑gram模型对行为序列进行特征构造,得到行为特征值的示例,可以通过以下步骤实现,请参考图8。
[0106] 步骤202‑5‑1,将行为序列与预先设置的行为组合进行比对。
[0107] 其中,预先设置的行为组合包括多个预设事件标识,多个预设事件标识按照预设顺序排列。
[0108] 在本申请实施例中,可以取N‑gram模型中的三元模型(trigrammodel)进行处理,如前,在本申请实施例中行为序列可以是:[100000,100001,100002,100004,……],预先设置的行为组合中的预设事件标识可以为:[100000;100001;100002;100003;100004;……;100000,100001;100001,100002;100002,100003;100003,100004;……;100000,100001,
100002;100001,100002,100003;100002,100003,100004;……]。
[0109] 步骤202‑5‑2,当预先设置的行为组合中出现行为序列包括的事件标识时,配置对应的预设事件标识所在位置为1,得到有效值。
[0110] 可以进行比对,例如预先设置的行为组合中的第一位“100000”在行为序列中出现,则可以在该位置记有效值“1”,即事件标识100000对应的行为“打开APP”存在。
[0111] 步骤202‑5‑3,当预先设置的行为组合中出现行为序列不包括的事件标识时,配置对应的预设事件标识所在位置为0,得到无效值。
[0112] 在预先设置的行为组合中的第四位“100003”在行为序列并未出现,因此可以在该位置记无效值“0”,即事件标识100003对应的行为“关注直播间”不存在。又例如在预先设置的行为组合中的“100002,100003”在行为序列中未出现,因此可以在该位置记无效值“0”,即事件标识100002对应的行为“选择兴趣标签”和事件标识100003对应的行为“关注直播间”不同时存在。
[0113] 步骤202‑5‑4,根据有效值和无效值,得到行为特征值。
[0114] 在上述基础上,在效值“1”出现的位置,则表明该用户行为数据对应的观众账户对应执行了该行为,而在记无效值“0”出现的位置,则可以认为该用户行为数据对应的观众账户对应并未执行该行为。以此类推,便可以得到行为特征值“11101……1100……100……”。通过上述操作,便能够将抽象的用户行为数据的执行状态通过行为特征值准确地表现出来。除此之外,在仅有有效值或者仅有无效值的情况下,也可以对应获取行为特征值,即全为“1”和全为“0”的情况。
[0115] 在前述基础上,检测模型可以基于检测系数和逻辑回归模型构建。
[0116] 检测模型可以是一种分类模型,例如,逻辑回归模型:
[0117]
[0118] 检测系数可以基于将样本行为特征值输入逻辑回归模型得到,样本行为特征值用于表征样本用户行为数据的执行状态。
[0119] 样本行为特征值基于样本用户行为数据特征构造得到,例如样本用户行为数据中进行了赠送礼物的行为,那么根据赠送礼物这一样本用户行为数据构造得到的样本行为特征值便能够表征样本用户行为数据对应的样本观众账号在直播间中存在赠送礼物的行为。
[0120] 样本用户行为数据为预先获取的,样本用户行为数据可以是用户自行编写的数据,也可以是从实际的情境中获取的已知的数据。除此之外,对于上述实施例中的图4,本申请实施例还提供一种构建前述检测模型的实现方式,见图9,可以通过以下步骤实现。
[0121] 步骤301,获取样本用户行为数据。
[0122] 检测模型可以是一种分类模型,例如,逻辑回归模型:
[0123]
[0124] 其中,y为用户行为数据存在外挂行为的概率,n为样本特征个数,x为样本行为特征值,α为检测系数。
[0125] 步骤302,根据样本用户行为数据进行特征构造,得到样本行为特征值。
[0126] 其中,样本行为特征值用于表征样本用户行为数据的执行状态。
[0127] 步骤303,将样本行为特征值输入逻辑回归模型,训练得到检测系数。
[0128] 在进行模型训练时,输出y和输入x都是已知,经过大量训练后便可以得到检测系数α的值。
[0129] 步骤304,根据检测系数和逻辑回归模型,构建检测模型。
[0130] 训练完成的逻辑回归模型中,α为检测系数是已知的,通过输入x即行为特征值,便能够获取当前行为特征值对应的用户行为数据存在外挂行为的概率y。
[0131] 在前述图9基础上,样本用户行为数据可以包括预先设置的外挂行为数据和预先设置的正常行为数据。请参照图10,本申请实施例提供一种根据样本用户行为数据进行特征构造,得到样本行为特征值的示例,可以通过以下步骤实现。
[0132] 步骤302‑1,当根据预先设置的外挂行为数据进行特征构造时,得到第一样本行为特征值。
[0133] 步骤302‑2,当根据预先设置的正常行为数据进行特征构造时,得到第二样本行为特征值。
[0134] 样本用户行为数据的数据来源可以是用户设置的,也可以是从真实数据中获取的,可以分为预先设置的外挂行为数据和预先设置的正常行为数据。
[0135] 本申请实施例还提供一种将样本行为特征值输入逻辑回归模型,训练得到检测系数的示例,请再次参照图10,可以通过以下步骤实现。
[0136] 步骤303‑1,当第一样本行为特征值作为逻辑回归模型的输入时,将1作为逻辑回归模型的输出,进行第一样本行为特征值训练。
[0137] 如前,在进行训练时,取第一样本行为特征值作为逻辑回归模型的输入x,第一样本特征值由外挂行为数据获取,因此可以将逻辑回归模型的输出确定为“1”,即进行存在外挂行为时的第一样本行为特征值训练。
[0138] 步骤303‑2,当第二样本行为特征值作为逻辑回归模型的输入时,将0作为逻辑回归模型的输出,进行第二样本行为特征值训练。
[0139] 取第二样本行为特征值作为逻辑回归模型的输入x,第二样本特征值由正常行为数据获取,因此可以将逻辑回归模型的输出确定为“0”,即进行存在正常行为时的第一样本行为特征值训练。
[0140] 步骤303‑3,根据第一样本行为特征值训练和第二样本行为特征值训练,得到检测系数。
[0141] 经过第一样本行为特征值训练和第二样本行为特征值训练,便能获取最终的检测系数α,再将α置于逻辑回归模型,训练完成。
[0142] 除此之外,当用户行为数据与基于外挂的虚假用户行为数据匹配时,本申请实施例还提供一种获取样本用户行为数据的示例,可以通过以下步骤完成。
[0143] 判定用户行为数据对应的观众账户存在外挂,并将存在外挂的观众账户对应的用户行为数据作为样本用户行为数据。
[0144] 在本申请实施例中,可以设置外挂概率阈值为0.5,即当计算得到的用户行为数据存在外挂行为的概率y小于0.5时,判定用户行为数据与基于外挂的虚假用户行为数据不匹配,而当计算得到的用户行为数据存在外挂行为的概率y大于0.5时,判定用户行为数据与基于外挂的虚假用户行为数据匹配,通过设置阈值的方式,能够增大模型的容错率,在经过一定时间使用或训练后,可以将阈值上调,最终可以得到一个较为精准的检测模型,例如在初步采用本申请实施例提供的外挂识别方法对某直播间进行检测时,发现某用户行为数据存在外挂行为的概率y大于0.5,可以将其判定存在外挂行为,同时将该用户行为数据作为样本用户行为数据对检测模型进行训练,随着检测模型的不断使用,其精确度上升,可以将外挂概率阈值设置为0.8,可以更加精准的进行外挂的识别。
[0145] 通过上述步骤,能够利用机器学习的自我更新特性,在正常处理过程中不断地对模型进行完善,减少了人工开发的成本。
[0146] 本申请实施例还提供一种外挂识别装置110,应用于计算机设备,外挂识别装置110是用于执行前述外挂识别方法的实体装置,如图11所示,外挂识别装置110包括:
[0147] 获取模块1101,用于获取用户行为数据,用户行为数据为目标直播间中任一观众账户的操作行为数据。
[0148] 计算模块1102,用于根据用户行为数据进行特征构造,得到行为特征值,行为特征值用于表征用户行为数据的执行状态。
[0149] 检测模块1103,用于将行为特征值输入预先构建的检测模型,以便根据用户行为数据的执行状态判断用户行为数据是否与基于外挂的虚假用户行为数据匹配。
[0150] 判定模块1104,用于当用户行为数据与基于外挂的虚假用户行为数据匹配时,判定目标直播间存在基于外挂的虚假用户。
[0151] 进一步地,行为特征值包括用户行为特征值和服务端行为特征值;
[0152] 计算模块1102具体用于:
[0153] 获取与用户行为数据对应的服务端行为数据,服务端行为数据为目标直播间所在的服务器2响应用户行为数据进行的操作行为数据;将用户行为数据进行特征构造,得到用户行为特征值,用户行为特征值用于表征用户行为数据对应的观众账号的执行状态;和/或,将服务端行为数据进行特征构造,得到服务端行为特征值,服务端行为特征值用于表征目标直播间所在的服务器2的执行状态。
[0154] 进一步地,用户行为数据包括多个事件标识和每个事件标识对应的发生时间;
[0155] 计算模块1102包括:
[0156] 计算子模块,用于根据每个事件标识对应的发生时间,将多个事件标识进行排序,得到行为序列;根据N‑gram模型对行为序列进行特征构造,得到行为特征值。
[0157] 进一步地,计算子模块具体用于:将行为序列与预先设置的行为组合进行比对,其中,预先设置的行为组合包括多个预设事件标识,多个预设事件标识按照预设顺序排列;当预先设置的行为组合中出现行为序列包括的事件标识时,配置对应的预设事件标识所在位置为1,得到有效值;当预先设置的行为组合中出现行为序列不包括的事件标识时,配置对应的预设事件标识所在位置为0,得到无效值;根据有效值和/或无效值,得到行为特征值。
[0158] 进一步地,装置还包括:
[0159] 训练模块,用于获取样本用户行为数据;根据样本用户行为数据进行特征构造,得到样本行为特征值,样本行为特征值用于表征样本用户行为数据的执行状态;将样本行为特征值输入逻辑回归模型,训练得到检测系数;根据检测系数和逻辑回归模型,构建检测模型。
[0160] 进一步地,样本用户行为数据包括预先设置的外挂行为数据和预先设置的正常行为数据;
[0161] 训练模块具体用于:
[0162] 当根据预先设置的外挂行为数据进行特征构造时,得到第一样本行为特征值;当根据预先设置的正常行为数据进行特征构造时,得到第二样本行为特征值;
[0163] 训练模块具体还用于:
[0164] 当第一样本行为特征值作为逻辑回归模型的输入时,将1作为逻辑回归模型的输出,进行第一样本行为特征值训练;当第二样本行为特征值作为逻辑回归模型的输入时,将0作为逻辑回归模型的输出,进行第二样本行为特征值训练;根据第一样本行为特征值训练和第二样本行为特征值训练,得到检测系数。
[0165] 进一步地,当所述用户行为数据与基于外挂的虚假用户行为数据匹配时,判定模块1104具体还用于:
[0166] 判定用户行为数据对应的观众账户存在外挂,并将存在外挂的观众账户对应的用户行为数据作为样本用户行为数据。
[0167] 在本申请实施例中,外挂识别装置110的实现原理可以参考前述外挂识别方法的实现原理,在此不再赘述。
[0168] 本申请实施例提供一种计算机设备100,计算机设备100包括处理器及存储有计算机指令的非易失性存储器,计算机指令被处理器执行时,计算机设备100执行前述的外挂识别方法。如图12所示,图12为本申请实施例提供的计算机设备100的结构框图。计算机设备100包括外挂识别装置110、存储器111、处理器112及通信单元113。
[0169] 为实现数据的传输或交互,存储器111、处理器112以及通信单元113各元件相互之间直接或间接地电性连接。例如,可通过一条或多条通讯总线或信号线实现这些元件相互之间电性连接。外挂识别装置110包括至少一个可以软件或固件(firmware)的形式存储于存储器111中或固化在计算机设备100的操作系统(operating system,OS)中的软件功能模块。处理器112用于执行存储器111中存储的可执行模块,例如外挂识别装置110所包括的软件功能模块及计算机程序等。
[0170] 本申请实施例提供一种可读存储介质,可读存储介质包括计算机程序,计算机程序运行时控制可读存储介质所在计算机设备执行前述的外挂识别方法。
[0171] 综上所述,采用本申请实施例提供的外挂识别方法、装置、计算机设备和可读存储介质,能够可靠地从直播间中的观众账户中找出使用了虚假人气外挂的账户,同时采用了机器学习的方式对所有用户行为数据进行了组合训练,使得外挂开发人员无法轻易地绕过已有规则,同时能够在运行时保持自我更新状态,不断学习新的外挂用户行为数据,能够可靠地完成直播间中的外挂识别操作。
[0172] 以上仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。