掌桥专利:专业的专利平台
掌桥专利
首页

基于GAN的网站流量真实度度量方法、系统及存储介质

文献发布时间:2023-06-19 16:04:54



技术领域

本发明属于广告展示效果监测技术领域,具体涉及一种基于GAN的网站流量真实度度量方法、系统及存储介质。

背景技术

流量作弊在广告行业已经成为公开的秘密,其中有大量的非人为流量(No-HumanTraffic),来自总部位于弗吉尼亚州的Distil Networks—一个机器人(bot)监测和API安全专家的最新报告显示,2018年超过1/3的网络流量是由机器人驱动的,其中,超过20%是通过“坏机器人”(与搜索引擎爬虫等善意bot相反)驱动的,这一数据比2017年增长了6.4%。bot是一种用于在线执行重复任务的自动化软件脚本/应用程序,国内市场常见的模拟器包括:网易MUMU模拟器、雷电模拟器、逍遥模拟器、夜神模拟器和蓝叠模拟器等,这些模拟器可以随意修改地理位置、手机的设备参数等信息,作弊者使用模拟器来模拟用户访问网站、点击广告,以此来骗取广告主的营销费用。而站长一般都是真假流量掺混在一起进行售卖,以此来扩大自己的网站收益并避免被检测机构发现作弊行为,因此,就需要检测网站用户的真实度,即网站是否存在掺量行为、以及掺量比例。

传统的检测方案基本都是基于人工规则,比如用户的访问频次、IP是否是机房IP、IP的离散度等。这些检测方法还存在以下方面的弊端:

1)规则一旦确定,很少去修改,无法适应情况的变化。

2)规则依赖人的经验和主观判断,无法做到客观。

3)不同的网站情况不同,一刀切的规则,难以满足识别的要求。

发明内容

本发明的目的在于针对上述现有技术中的问题,提供一种基于GAN的网站流量真实度度量方法、系统及存储介质,避免人工规则的死板和主观性,能够实现更加精准的识别。

为了实现上述目的,本发明有如下的技术方案:

一种基于GAN的网站流量真实度度量方法,包括:

收集网站点击事件数据;

使用网站点击事件数据构造行为序列;

训练生成对抗网络模型,利用生成对抗网络模型中的生成器不断生成模拟的行为序列,判别器不断的学习如何判别序列是真实的还是虚假的,直至生成器和判别器的损失不再下降时终止训练,获得训练好的生成对抗网络模型;

使用训练好的生成对抗网络模型的判别器,对构造的行为序列的真实度进行判别度量。

作为本发明基于GAN的网站流量真实度度量方法的一种优选方案,所述收集网站点击事件数据的步骤使用JavaScript从网站前端页面收集设备相关参数和点击行为日志。

作为本发明基于GAN的网站流量真实度度量方法的一种优选方案,所述收集网站点击事件数据的步骤具体包括:将JavaScript脚本部署在媒体网站,当前页面加载时,同步加载并执行所部署的JavaScript脚本,获得当前页面的文档对象模型DOM以及事件Event的信息,据此捕获当前页面的所有信息以及用户在当前页面的操作记录。

作为本发明基于GAN的网站流量真实度度量方法的一种优选方案,在所述收集网站点击事件数据的步骤中,收集到的原始数据格式为:;式中,session_id表示标记一次用户对网站的一次会话的一个ID,height表示当前设备的屏幕高度,width表示当前设备的屏幕宽度,event表示行为事件,x表示当前行为事件发生时屏幕的x坐标,y表示当前行为事件发生时屏幕的y坐标,timestamp表示当前行为事件发生的时间戳;所述行为事件包括以下表达形式:touchstart是手触摸屏幕时触发,touchmove是手指在屏幕上滑动时触发,touchend是手指从屏幕移开时触发。

作为本发明基于GAN的网站流量真实度度量方法的一种优选方案,所述使用网站点击事件数据构造行为序列的步骤中,行为定义为滑动和点击两种,滑动表达为:touchstart,touchmove*N,touchend的一个组合,点击表达为:touchstart,touchend的一个组合。

作为本发明基于GAN的网站流量真实度度量方法的一种优选方案,所述使用网站点击事件数据构造行为序列的步骤中,构造的行为序列格式为:;式中,wait_time表示两次行为的间隔时间,等于上一次行为的touchend时间到这一次行为的touchstart的时间间隔,第一次行为定义wait_time为0;x_start表示归一化后一次行为开始的x坐标,等于touchstart的x坐标/屏幕宽度width;y_start表示归一化后一次行为开始的y坐标,等于touchstart的y坐标/屏幕高度height;x_end表示归一化后一次行为结束的x坐标,等于touchend的x坐标/屏幕宽度width;y_end表示归一化后一次行为结束的y坐标,等于touchend的y坐标/屏幕高度height;is_click表示根据touchstart和touchend中间是否包含touchmove来判断是否是点击行为,不包含touchmove事件定义为点击,记为1,包含touchmove事件定义为滑动行为,记为0。

作为本发明基于GAN的网站流量真实度度量方法的一种优选方案,所述使用网站点击事件数据构造行为序列的步骤中,将同一个session_id的用户行为聚合成一个序列,一个session_id收集的所有事件按照timestamp进行排序,表示一个用户在当前session内部所有的行为事件顺序;构造行为序列时从头开始寻找touchstart和touchend的对,根据中间是否存在touchmove事件来判断是滑动还是点击行为,使原始数据中的event变成行为序列中is_click的标记;将一个行为的touchstart事件的x,y坐标,按照width,height进行缩放,表达为touchstart的x/width作为样本中x_start的值,touch_start的y/height作为样本中y_start的值;将一个行为的touchend事件的x,y坐标和width,height也通过相同的方法,生成样本中x_end,y_end;对于点击行为,是相同的,两个行为之间的时间间隔,等于上一次行为的touchend事件对应的时间戳到这一次行为的touchstart事件对应的时间戳的时间间隔,作为wait_time的取值;将一个序列的第一个wait_time设置为0。

作为本发明基于GAN的网站流量真实度度量方法的一种优选方案,所述使用训练好的生成对抗网络模型的判别器,对构造的行为序列的真实度进行判别度量的步骤中,在其他媒体网站上收集网站点击事件数据,使用网站点击事件数据构造行为序列,输入到训练好的生成对抗网络模型的判别器,根据判别结果对用户的真实度进行打分,对用户的真实度打分求均值,作为站点流量真实度的打分;对于站点流量真实度的打分低于设定阈值的媒体网站不进行流量采买,并根据站点流量真实度的打分指导广告展示的出价。

本发明还提供一种基于GAN的网站流量真实度度量系统,包括:

数据收集模块,用于收集网站点击事件数据;

行为序列构造模块,用于使用网站点击事件数据构造行为序列;

网络模型训练模块,用于训练生成对抗网络模型,利用生成对抗网络模型中的生成器不断生成模拟的行为序列,判别器不断的学习如何判别序列是真实的还是虚假的,直至生成器和判别器的损失不再下降时终止训练,获得训练好的生成对抗网络模型;

真实度判别模块,用于使用训练好的生成对抗网络模型的判别器,对构造的行为序列的真实度进行判别度量。

本发明还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述的计算机程序被处理器执行时实现所述基于GAN的网站流量真实度度量方法的步骤。

相较于现有技术,本发明至少具有如下的有益效果:

基于GAN对用户滑动和点击行为序列的规律进行学习,是在学习通用的用户操作习惯,对于作弊者,相较于IP/访问频次指标的模拟,难度会大幅提升。此外,用户对于网站访问的行为规律是极其复杂的,人工经验去判断只能使用一些统计相关的指标,比如:一个session平均进行多少次点击,多少次滑动,多少次滑动中间会有一次点击,滑动的开始/结束坐标位置大概在什么地方,点击的坐标位置大概在什么地方等,但是这些很多都是无法根据某个单一指标判定这个行为序列是真实用户的还是模拟用户的,需要对多种情况进行组合判断,靠人工来做基本没有可能。但是通过机器学习的方式,借助神经网络具有大量的参数可以去学习其中规律,能够挖掘出人工无法发现的规律。另一方面,基于网络模型可以对每一次的用户行为进行评估,判断出这个站点的用户真实度,避免的人工规则的死板和主观问题,并且能够实现更加精准的识别,行为规律具有不变性,也可以适配不同网站的情况。

附图说明

为了更加清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作以简单地介绍,应当理解,以下附图仅示出了本发明部分实施例,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1本发明实施例基于GAN的网站流量真实度度量方法流程图;

图2本发明实施例所获取用户真实的行为序列示意图;

图3本发明实施例原始数据每一行表示一个事件的示例图;

图4本发明实施例构造的行为序列每一个array表示一个session的用户行为示例图;

图5(a)真实用户滑动的热力图;

图5(b)模拟器用户滑动的热力图;

图6(a)真实用户点击的热力图;

图6(b)模拟器用户点击的热力图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。

基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提还可以进行若干简单的修改和润饰,所获得的所有其他实施例,都属于本发明保护的范围。

在本发明中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本发明的至少一个实施方案中。在说明书中的各个位置展示该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,在本发明所描述的实施例可以与其它的实施例相结合。

请参阅图1,本发明实施例提出的一种基于GAN的网站流量真实度度量方法,以用户访问手机网站为例,将站内的滑动和点击行为进行记录,生成训练样本,使用生成对抗网络进行模型训练,学习到生成器和判别器,然后使用判别器对其他网站用户真实度打分。

具体包括以下步骤:

步骤1:数据收集;

在数据收集过程中,挑选几个转化效果稳定、头部信誉比较好的站点,可以使用JavaScript技术从网站前端页面收集设备相关参数和用户的点击行为日志。

收集到的原始数据格式为:

式中,session_id表示标记一次用户对网站的一次会话的一个ID;

height表示当前设备的屏幕高度;

width表示当前设备的屏幕宽度;

event表示行为事件,包括touchstart是手触摸屏幕时触发,touchmove是手指在屏幕上滑动时触发,touchend是手指从屏幕移开时触发。因为不同的浏览器touchmove事件触发频率并不相同,无法据此判断滑动速度;touchstart事件紧挨着一条touchend事件为一次点击行为,touchstart事件经过一次或者多次touchmove事件,最后出现一次touchend为一次滑动行为;

x为屏幕的x坐标,即当前行为事件发生的x坐标;

y为屏幕的y坐标,即当前行为事件发生的y坐标;

timestamp为时间戳,即当前行为事件发生的时间戳。

步骤2:构造样本;

使用收集到的原始数据构造一个用户完整行为轨迹。将同一个session的用户行为进行聚合,按照行为发生的时间戳进行排序,寻找的事件对,组合成为行为。

本发明实施例对行为定义为两种:滑动和点击;

滑动表达为:touchstart,touchmove*N,touchend的一个组合。

点击表达为:touchstart,touchend的一个组合。

构造的行为序列格式为:

式中,wait_time表示两次行为的间隔时间,即上一次行为的touchend时间到这一次行为的touchstart的时间间隔,session的第一个wait_time为0;

x_start表示归一化后一次行为开始的x坐标,等于touchstart的x坐标/屏幕宽度width;

y_start表示归一化后一次行为开始的y坐标,等于touchstart的y坐标/屏幕高度height;

x_end表示归一化后一次行为结束的x坐标,等于touchend的x坐标/屏幕宽度width;

y_end表示归一化后一次行为结束的y坐标,等于touchend的y坐标/屏幕高度height;

is_click表示根据touchstart和touchend中间是否包含touchmove来判断是否是点击行为,不包含touchmove事件定义为点击,记为1,包含touchmove事件定义为滑动行为,记为0。

在一种可选的实施方式中,收集到的原始数据格式为:,生成的样本格式为:,如图3以及图4所示,将同一个session_id的用户行为聚合成一个序列,一个session_id收集的所有事件按照timestamp进行排序,这就是一个用户在当前session内部所有的行为事件顺序。样本构造的过程就是把收集的事件转换成用户的一次次行为(滑动行为/点击行为),按照对滑动行为和点击行为的定义,从头开始寻找touchstart和touchend的对,根据中间是否有touchmove事件来判断是滑动还是点击行为,由此原始数据中的event就变成了样本中is_click的标记。把一个行为的touchstart事件的x,y坐标,按照屏幕宽高width,height进行缩放,即touchstart的x/width作为样本中x_start的值,touch_start的y/height作为样本中y_start的值;同样的把一个行为的touchend事件的x,y坐标和width,height也用一样的方法,生成样本中x_end,y_end,对于点击行为,是相同的。两个行为之间的时间间隔,即上一次行为的touchend事件对应的时间戳到这一次行为的touchstart事件对应的时间戳的时间间隔,作为wait_time的取值,一个序列的第一个wait_time设置为0。

步骤3:模型训练;

通过这一步希望学到正常用户的行为模式和模拟器用户的行为模式差异,但是由于收集到的都是用户正常的行为模式,因此使用生成对抗网络的模型,一个网络来学习生成样本,一个网络来进行区分正常行为和模拟器行为。因为本发明GAN的模型,需要生成和判别的都是序列,因此选择了DoppelGANger模型,同时学习序列的生成和真实行为序列区分。

步骤4:真实度评估;

使用训练好的生成对抗网络模型的判别器,把训练好的判别器功能抽取出来,在其他媒体网站上采用步骤1和2同样的方案采集和构造样本,输入到判别器,判断用户的真实度进行打分。将采样的网站用户真实度打分求均值,作为站点流量真实度的打分。对于流量真实度过低的网站不进行流量采买,并根据流量真实度指导广告展示的出价。

本发明的GAN同时训练两个模型,一个生成器不断生成模拟的用户行为序列,一个判别器不断的学习如何判别序列是真实的还是构造的,在训练过程中,两个模型是一起进步的,在训练过程中可以观察到两个模型的损失是交替下降的,也就是说模型效果在不断的变好,即生成器的生成能力在不断的提升,判别器的判别能力也在不断的提升。最后当两个都不上升的时候,就可以停止模型训练。说明生成能力和判别能力都已经到了当前网络生成的最好效果。在实际操作的过程中,可绘制出行为序列的热力图,对比真实的行为序列和模拟行为序列的滑动开始坐标和滑动结束坐标的热力图差异,以及点击坐标的热力图差异。

图2示出了本发明实施例所获取用户真实的行为序列,图中第一列是wait_time,第二列是x_start,第三列是y_start,第四列是x_end,第五列是y_end,最后一列是is_click。

对比图5(a)与图5(b)以及图6(a)与图6(b),实际操作过程中,通过热力图来评价GAN生成器生成的用户行为和真实用户行为差异的情况。如果差异大,说明用户行为模拟的不好,如果热力图接近,说明生成器训练已经达标,对应的判别器也就训练好了。

本发明基于GAN的网站流量真实度度量方法相较于IP/频次等规则,滑动点击行为模拟的难度更高,具有更高的辨识度,由于本方案基于GAN对用户滑动和点击行为序列的规律进行学习,是在学习通用的用户操作习惯,对于作弊者,相较于IP/访问频次指标的模拟,难度会大幅提升。本发明使用机器学习的方法来学习用户的行为规律,可以发现一些人工无法发现的规律,用户对于网站访问的行为规律是极其复杂的,人工经验去判断只能使用一些统计相关的指标,比如:一个session平均进行多少次点击,多少次滑动,多少次滑动中间会有一次点击,滑动的开始/结束坐标位置大概在什么地方,点击的坐标位置大概在什么地方等,但是这些很多都无法根据某个单一指标拍板说这个行为序列是真实用户的还是模拟用户的,需要对多种情况进行组合判断,人工来做基本没有可能。但是通过机器学习的方式,神经网络具有大量的参数可以去学习其中规律,能够挖掘出人工无法发现的规律。最后,行为规律具有不变性,本发明可以适配不同网站的情况,本发明直接对用户的操作习惯进行建模,学习到的是用户在手机上操作的行为习惯,也就是用户喜欢点哪里,喜欢怎么从哪里滑动哪里,喜欢滑动多少次进行一次点击等等规律,因此是可以适配各种网站的识别需求的。

本发明的另一实施例还提出一种基于GAN的网站流量真实度度量系统,包括:

数据收集模块,用于收集网站点击事件数据;

行为序列构造模块,用于使用网站点击事件数据构造行为序列;

网络模型训练模块,用于训练生成对抗网络模型,利用生成对抗网络模型中的生成器不断生成模拟的行为序列,判别器不断的学习如何判别序列是真实的还是虚假的,直至生成器和判别器的损失不再下降时终止训练,获得训练好的生成对抗网络模型;

真实度判别模块,用于使用训练好的生成对抗网络模型的判别器,对构造的行为序列的真实度进行判别度量。

本发明的另一实施例还提出一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述的计算机程序被处理器执行时实现所述基于GAN的网站流量真实度度量方法的步骤。

示例性的,所述计算机程序可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在计算机可读存储介质中,并由所述处理器执行,以完成本发明所述基于GAN的网站流量真实度度量方法。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机可读指令段,该指令段用于描述所述计算机程序在服务器中的执行过程。

所述服务器可以是智能手机、笔记本、掌上电脑及云端服务器等计算设备。所述服务器可包括,但不仅限于,处理器、存储器。本领域技术人员可以理解,所述服务器还可以包括更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述服务器还可以包括输入输出设备、网络接入设备、总线等。

所述处理器可以是中央处理单元(CentraL Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(DigitaL SignaL Processor,DSP)、专用集成电路(AppLication Specific Integrated Circuit,ASIC)、现成可编程门阵列(FieLd-ProgrammabLe Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

所述存储器可以是所述服务器的内部存储单元,例如服务器的硬盘或内存。所述存储器也可以是所述服务器的外部存储设备,例如所述服务器上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure DigitaL,SD)卡,闪存卡(FLash Card)等。进一步地,所述存储器还可以既包括所述服务器的内部存储单元也包括外部存储设备。所述存储器用于存储所述计算机可读指令以及所述服务器所需的其他程序和数据。所述存储器还可以用于暂时地存储已经输出或者将要输出的数据。

需要说明的是,上述装置/单元之间的信息交互、执行过程等内容,由于与方法实施例基于同一构思,其具体功能及带来的技术效果,可参见方法实施例部分,此处不再赘述。

所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质至少可以包括:能够将计算机程序代码携带到拍照装置/终端设备的任何实体或装置、记录介质、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random AccessMemory)、电载波信号、电信信号以及软件分发介质。例如U盘、移动硬盘、磁碟或者光盘等。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。

以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。

相关技术
  • 基于GAN的网站流量真实度度量方法、系统及存储介质
  • 证件真实性不确定度度量方法及装置、设备、存储介质
技术分类

06120114697058