布景

行为序列模型相关于传统机器学习的首要优势在于不依赖行为画像特征,无需强专家经历开掘高效特征来提高模型功用,缩短了特征工程的周期,能快速响应黑产进犯。

黑产通过刷接口、群控、真人众包等做弊手法在注重、点赞、谈论等中心场景进行进犯。不同做弊办法在行为序列上有不同的特色。刷接口、群控做弊归于机器做弊,行为序列出现团伙相似性、序列周期性 / 密布性。真人众包首要通过线下软件分发任务真人账号履行,行为链路具有比较固定方式以上做弊办法在行为序列上具有显著性,所以在风控业务上序列模型有很好的落地能力。

序列相似性检测

目的

在反做弊场景,常常会发现黑产的行为序列常常会出现重复的片段比如 11332221133222 ( 数字标明 api 接口埋点映射的数字编号),其间 1133222 为重复片段 或许会发现不同黑账号行为序列的相似度很高比如账户 A 行为序列 135555566 账户 B 的行为序列为 13555666。这是由于黑产运用脚本批量控制账号进行动作周期的重复或许非周期动作账户之间的重复,导致了黑产的行为序列度出现必定的相似性、周期性。 所以运用序列相似检测算法对黑产进行辨认,相似性检测序列大都为单序列。

怎样定义单序列?

单行为序列是指用户仅只有单个动作构成了序列,可抽象表达为 X=(x_1, x_2..x_i..x_n)

其间 x_i 标明具体的行为动作

技术方案

以上布景可概括为以下两种做弊类

做弊序列特征:

  • 机刷性:同一做弊用户行为序列片段相似
  • 团伙性:不同做弊用户之间行为序列相似

序列相似检测流程分为数据预处理、序列相似检测、落地处置三部分。机刷性和团伙性的做弊序辨认的差异在于序列预处理阶段是否进行切开,在后续相似检及落地处置保持一致。序列相似检测算法有以下两种流程:

  • 聚类:对向量化后的序列运用聚类算法,挑选序列高调集团伙。
  • 社区发现:对向量化序列进行建图(序列相似度核算小于阈值建边),建图后用社区发现序列高调集团伙 。

行为序列模型在抖音风控中的使用

序列深度模型

目的

随着途径反做弊方案的深化,黑产做弊难以在单一场景结束,需要在多个动作链路上躲避场景的阻拦手法,单序列动作建模只考虑了动作本身,动作上下文信息没有被充分运用。例如 A 用户两次点赞的时距离相差 1min,而 B 用户两次点赞之间仅相差 0.01s,在单序列动作建模中是没有区分,但是假设将点赞时间距离作为特征融入单序列就能有用辨认 A/B 用户行为的差异。用户产生一个动作的时,该动作伴的从属特征比如设备信息,软件信息,ip 信息等也都对错常有意义。依据上述分析,期望构建一种结合用户上下文信息的多维混合行为序列,来结束对黑产做弊更具针对性的建模。

怎样从单序列衍生为上下文信息多维混合序列?

行为序列模型在抖音风控中的使用

怎样运用动作上下文信息?

为了充分运用动作的上下文信息对不同用户的辨认,可以将动作产生的时间戳作为其特征的一部分,然后通过前后时间戳的差值来描绘动作的上下文;在动作产生时,收集产生动作时间的设备,软件,ip 等信息,对其特征处理后作为上下文。

上下文特征序列处理

  1. 离散值特征处理

若想描绘离散特征序列相邻改动,则处理为离散值相邻改动序列,前后一致处理为 0 不一致为。这种处理合适枚举种类较多且着重改动对做弊有辨认作用的序列特征,比如设备(device_id)序列。

  1. 续值特征处理

附加属性都是离散的类别值,但比如用户设备电量,用户投稿数等特征却是连续的,对这类连续特征,采纳幂次分桶来进行离散化,强化桶间的特征显著性。

  1. 时间戳特征处理

时间戳虽然归于连续值可直接进行分桶操作,但是时间距离差值对做弊用户显著性更大,所以采纳前后节点的时间戳差值后再分桶的办法进行特征处理

技术方案

行为序列模型在抖音风控中的使用

技术架构

依据以上技术方案构建了一套可离线一键操练、离线例行猜想(天等级 / 小时等级)、在线实时猜想一体化的系统。 该系统界面化操作,高可装备化参数,能实现 20min 内操练并上线上下文序列模型。

  • 数据:支撑自定义特征序列输入,装备化特征处理模块
  • 参数:支撑自定义模型及模型参数输入
  • 功用:支撑例行离线猜想写线上名单

行为序列模型在抖音风控中的使用

系统首要可分为特征构建、在线猜想、离线操练三大部分:

  • 特征构建:通过特征途径构建 Flink 实时序列及 spark 离线序列作为线上序列数据的输入
  • 离线操练:TunaLite 途径 SQL 化输入操练对错样本且自定义挑选特征处理函数、模型选型及模型参数进行一键离线操练,操练结束模型文件上传至 TOS。
  • 在线猜想:shark 决议方案中心调用猜想服务并传入模型、特征相关参数后回来模型猜想成果。

除了以上实时猜想链路,供给了例行离线猜想链路。办法为 SQL 化输入例行猜想样本,主动生成 Dorado 例行猜想任务,将猜想成果通过 kafka 写入线上名单进行阻拦。当业务场景调用 QPS 过大时可运用该办法进行模型落地。

前史长序列模型

目的

短时序列建模已有不少较老练模型方案及落地实时服务,以上触及的上下文序列模型归于短时序列方案。从用户行为画像角度,短时行为序列缺点为只能约束步长进行序列建模,只能描写近期部分序列信息无法描写大局,从而使部分信息缺失。所以为了更齐备序列信息就考虑到了长序列建模。从业务管理角度,短时序列方案倾向于解决行为短链路特征显著或许做弊周短的黑产,关于长链路行为比如真人众包或许长做弊周期黑产无法捕捉。

技术方案

采用的模型首要参阅阿里妈妈 CTR 预估模型 MIMN,依据风控场景特性对模型精简后再搬迁。模型输入为带有上下文信息行为序列,模型中心模块有 MIU(Memory Induction Unit)和 NTM(Neural Turing Machine)两部分,别离产出了回想信息相关的 M (下图绿色矩阵)和 S (下图蓝色矩阵) 回想矩阵来存储前史行为序列信息。

模型结构

行为序列模型在抖音风控中的使用

技术架构

怎样进行序列增量更新?

回想矩阵可理解为对用户行为序列 Encoder 进程的中心产物并,且浓缩了目前为止用户行为序列的一切信息。序列增量更新的进程为依据 t 步产出的回想矩阵 和 t+1 步的行为序列 更新得到 t+1 步回想矩阵和 t+1 步用户 Embdding,以此循环就可以得到表征前史行为序列的用户 Embdding。产出的用户 Embedding 下贱可用于分类和检索。

行为序列模型在抖音风控中的使用

下贱分类任务

类 Session 行为散布特征 + 行为序列 Embedding 作为 tunalite 途径 XGboost 算法的特征输入,并且增量召回样本特性为持续性做弊且没有被短时行为序列模型召回。

下贱黑库检索任务

行为相似的用户的行为序列 Embedding 距离比较附近。检索任务就是以黑种子为中心核算黑用户行为 序列 Embedding 与其他用户行为序列 Embedding 的索引距离,挑选近似 Top N 或许阈值范围内的用 户作为黑样本扩召。

参阅文献

  1. Qi Pi, Weijie Bian, Guorui Zhou, Xiaoqiang Zhu, Kun Gai∗,2019.Practice on Long Sequential User Behavior Modeling for Click-Through Rate Prediction

  2. Ruinan Zhang, Fanglan Zheng, Wei Min,2018. Sequential Behavioral Data Processing Using Deep Learning and the Markov Transition Field in Online Fraud Detection