互联网金融产品个性化营销算法的探索和实践 赵争超

2020-03-01 354浏览

  • 1.互联网金融产品个性化营销算法的 探索和实践 赵争超 同盾科技
  • 2.自我介绍
  • 3.目录 1 个人简介 2 核心问题阐述 3 相关框架详解 4 总结&展望
  • 4.自我介绍 l 2018年初-至今 同盾科技 资深算法专家 1)负责互联网金融领域的客户价值分析与挖掘及个性化算法工作 2)负责智能用户增长算法团队的搭建 l 2008年初-2017年底 阿里巴巴 高级算法专家 经历淘宝、天猫、阿里中台、“云零售”事业部…曾负责: 1)淘宝PC端个性化推荐算法; 2)阿里“云零售”事业部的大数据应用探索和落地; 3)店铺运营产品的个性化算法解决方案; l 14 年的互联网领域的数据挖掘、AI 算法行业经验 赵争超 l 80后,乐于分享和交流
  • 5.目录 1 个人简介 2 核心问题阐述 3 相关框架详解 4 总结&展望
  • 6.金融领域的机器学习应用场景 智能用户增长 • 个性化营销/推荐 • 用户拉新与留存 智能分析 • 智能投顾 • 量化投资 • 价值预测 风险管理 • • • • 风险预测 欺诈识别 贷中监控 智能催收 数据/AI产品 • 智能客服 • 信用分 • 画像产品
  • 7.个性化营销的核心问题 什么是互联网金融领域的个性化营销 ⼀一种⽤用技术改进customer journey的⽅方法,它基于TCPC营销理理念,利利⽤用⼤大数据分析技术、机 器器学习⽅方法,了了解⽬目标受众的产品消费⼼心智,构建场景化、事件化营销体系,提升营销活动的 投资回报率(ROI) 个性化营销的核心算法定义 个性化营销算法是⼀一种基于通过marketing campaign 召回user的协同过滤及基于召回结果的 learning to rank的⽅方法 技术挑战 1)⾦金金融市场瞬息万变 2)⽤用户对⾦金金融产品的购买决策周期⻓长 历史样本缺失 特征稀疏 3)收集⽤用户反馈的成本较⼤大 样本label噪声 4)⾦金金融产品显性的差异⼩小 个性化难度大
  • 8.我们的算法框架 构建一套基于Matching + Ranking的通用的用户营销响应模型 User history and context 营销活动 (产品) 种子人群 Candidate Generation 基于协同过滤的种子人 群扩散(lookalike) …… Matching阶段 营销人群 候选池 Ranking 人群优选排序算法 …… Ranking阶段 精准营销群体 Targeted Users
  • 9.我们的算法框架 召回 输入 二次排序 排序 多方向人群 lookalike 特征工程 营销提升模型 (uplift model) 样本构造 业务规则 排序学习 输出
  • 10.目录 1 个人简介 2 核心问题阐述 3 相关框架详解 •基于协同过滤的人群lookalike •特征工程:离散化及稀疏性处理 •样本构造:PU-learning + DNN •排序学习(learning to rank) •营销提升模型(uplift model) 4 总结&展望
  • 11.基于协同过滤的人群lookalike方法 “协同过滤”挖掘用户和产品的关系 基于种子人群和属标签的多方向Lookalike策略 属性标签 人群产品行为 相关产品人群方向 1 扩散方向: 基于属性标签 人群金融属性 + 目标金融产品 方法 Rule-based CF MF-based CF DNN-based CF 潜客人群方向 的关系“类型”,通过强度和方向两 个维度适应不同的业务目标:拉新、 挽留、提升转化…… 流失人群方向 同好人群方向 人群产品偏好 目标金融产品 种子人群 “强度”,扩散方向确定用户和产品 2 user item … … 扩散强度: 协同过滤 人群召回
  • 12.基于MF(矩阵分解)的协同过滤:LFM隐语义模型 通过隐含特征(latent factor)联系用户兴趣和物品 用户对金融产品的行为可以定义成一个m*n的评分矩阵,表示m个用户对n个产品的打分(隐式行为)。 n k item1 item2 item3 item4 m user1 R11 R12 R13 R14 user2 R21 R22 R23 R24 user3 R31 R32 R33 R34 R n item1 item2 item3 item4 class1 R11 R12 R13 R14 class2 R21 R22 R23 R24 class3 R31 R32 R33 R34 class1 class2 class3 m user1 R11 R12 R13 user2 R21 R22 R23 user3 R31 R32 R33 k P Q 核心假设:打分矩阵是近似低秩的,也就是说一个mn阶的打分矩阵 Rmn 可以用两个小矩阵Pkm和 Qkn的乘积来近似 R矩阵:用户对物品的偏好 P矩阵:用户对各物品类别的一个偏好信息 Q矩阵:各物品所归属的的物品类别信息 损失函数: - 𝑼𝑰 )𝟐 𝑪 = # (𝑹𝑼𝑰 − 𝑹 (𝑼,𝑰)∈𝑲 𝟐 = ∑(𝑼,𝑰)∈𝑲(𝑹𝑼𝑰 − ∑𝑲 𝒑 𝑸 ) + 𝝀 𝑷𝑼 𝒌1𝟏 𝑼,𝑲 𝑲,𝑰 𝟐 +𝝀 𝑸𝑰 𝟐
  • 13.基于MF(矩阵分解)的协同过滤:LFM隐语义模型 随机梯度下降法求解 1、通过求参数p(u,k)和q(k,i)的偏导确定最快的下降方向 𝑲 𝝏C = −𝟐 𝑹𝑼𝑰 − # 𝑷𝑼,𝑲 𝑸𝑲,𝑰 𝑸𝑲𝑰 + 𝟐𝝀𝑷𝑼𝑲 𝝏𝑷𝑼𝑲 交替最小二乘法(ALS)求解 损失函数是凸的,极值有解析解,在偏导=0处 𝝏𝑳(𝑿, 𝒀) = −𝟐 # 𝒚𝒊 𝒓𝒖𝒊 − 𝒙𝑻𝒖 𝒚𝒊 + 𝟐𝝀𝒙𝒖 𝝏𝒙𝒖 𝒌1𝟏 𝑲 𝝏C = −𝟐 𝑹𝑼𝑰 − # 𝑷𝑼,𝑲 𝑸𝑲,𝑰 𝑷𝑼𝑲 + 𝟐𝝀𝑸𝑲𝑰 𝝏𝑸𝑲𝑰 𝒌1𝟏 2、迭代计算不断优化参数,直到收敛 𝑲 𝑷𝑼𝑲 = 𝑷𝑼𝑲 + 𝜶 𝑹𝑼𝑰 − # 𝑷𝑼,𝒌 𝑸𝑲,𝑰 𝑸𝑲𝑰 − 𝝀𝑷𝑼𝑲 𝒌1𝟏 = −𝟐𝒀𝒌×𝒏 𝒓𝒖 + 𝑻 𝟐𝒀𝒌×𝒏 𝒀𝒌×𝒏 𝒙𝒖 + 𝟐𝝀𝒙𝒖 𝝏𝑳(𝑿, 𝒀) =𝟎 令 𝝏𝒙𝒖 得: x𝒖 = 同理: 𝒚𝒊 = I𝟏 𝑻 𝒀𝒌×𝒏 𝒀𝒌×𝒏 + 𝝀𝑬 𝒀𝒌×𝒏 𝒓𝒖 I𝟏 𝑻 𝑿𝒌×𝒎 𝑿𝒌×𝒎 + 𝝀𝑬 𝑿𝒌×𝒎 𝒓𝒊 𝑲 𝑸𝑲𝑰 = 𝑸𝑲𝑰 + 𝜶 𝑹𝑼𝑰 − # 𝑷𝑼,𝒌 𝑸𝑲,𝑰 𝑷𝑼𝑲 − 𝝀𝑸𝑲𝑰 𝒌1𝟏 我们对spark.ml中的ALS进行了本地化的改造,以适应金融大 数据中用户量大但产品量小的狭长的UI矩阵的数据特点
  • 14.基于神经网络的协同过滤: NCF Neural collaborative filtering Score Output layer Training 𝑦LNO𝜎 𝜎 Log loss 在基于隐式反馈行为(如: 用户对金融产品的点击、注 册、申贷)来挖掘用户的产 品的偏好上,基于神经网络 的协同过滤对比传统方法有 更大的理论优势: 𝑦NO NeuMF Layer Concatenation MLP LayerX …… ReLU 矩阵内积计算 NCF 广义MF + 多层神经网络 MLP Layer2 Neural CF layers ReLU GMF Layer MLP Layer1 Element-wised product Embedding layer MF MF User Vector Input layer(sparse) 0 0 0 MLP User Vector 1 User(u) 0 0 …… Concatenation MF Item Vector 0 0 0 1 MLP Item Vector 0 Item(i) 0 ……
  • 15.基于神经网络的协同过滤: NCF NCF vs MF-based CF 的离线效果对比 Conversion Ratio@topK NDCG@topK ALS:基于矩阵分解的协同过滤LFM在spark上的实现 NCF:基于TensorFlow实现 在K>=2的情况下,NCF比ALS无论是转化率的预估 还是推荐的排序性上,都有至少10%的提升
  • 16.目录 1 个人简介 2 核心问题阐述 3 相关框架详解 •基于协同过滤的人群lookalike •特征工程:离散化及稀疏性处理 •样本构造:PU-learning + DNN •排序学习(learning to rank) •营销提升模型(uplift model) 4 总结&展望
  • 17.特征工程:连续行为变量离散化及编码 基于KS和IV的连续变量离散化策略 采用类似单变量决策树的方式进行离散化,对连续型的变量进行二叉树的节点分裂,寻找分裂点的方式为目标变量的KS最大化, 收敛策略是节点对应的记录数小于某个确定的阈值,然后按一定策略进行剪枝。剪枝的策略是在保证变量分裂后的节点数不超过 某个确定的阈值且节点对应的正样本率满足单调性的前提下,使得变量的IV最大 Feature A 100k, [0,1000] 15k, nullP-rate:60% 70k, [0,700) 50k, [0,400)P-rate:90%P-rate:2% 20k, [400,700)P-rate:5% 0 1 0 0 …P-rate:35% 30k, [700,1000]P-rate:80% One-hot编码 10k, null 5k, nullP-rate:40%P-rate:25% Woe化编码 0.112 1.23 0.112 1.23
  • 18.特征工程: embedding的数据稀疏问题 用户长期的金融产品偏好挖掘: user金融产品行为序列 Usersession:(p1,p2,p3,p4……) word2Vector Dense vector 问题: • 单一用户的行为很少,大量用户在过去一年甚至只在一个产品上有行为,这导致很多 session sequence的长度为1 • 有部分的产品本身总行为次数也很少,无法训练有效的embedding。 解决方法: • 对user和product在关键属性上进行聚合,并对(user, product)元组进行扁平化处理 𝒖𝒔𝒆𝒓𝟏 𝒔𝒆𝒔𝒔𝒊𝒐𝒏: 𝒑𝟏 , 𝒑𝟐 , 𝒑𝟑 , 𝒑𝟒 … … 𝒖𝒔𝒆𝒓𝟏 𝒔𝒆𝒔𝒔𝒊𝒐𝒏: 𝒖𝒕𝒚𝒑𝒆𝟏 , 𝒑𝒕𝒚𝒑𝒆𝟏 , 𝒖𝒕𝒚𝒑𝒆𝟐 , 𝒑𝒕𝒚𝒑𝒆𝟐 … … 这里 p_{type1} 指的就是product l1对应的product type, u_{type1} 指的是该user在product l1时的user type,由于某一user的user_type会 随着时间变化,所以 u_{type1},u_{type2} 不一定相同,这也带来了一些 额外的信息输入。 借鉴KDD 2018 bestpaper:Airbnb:《Real-time Personalization using Embeddings for Search Ranking at Airbnb》
  • 19.目录 1 个人简介 2 核心问题阐述 3 相关框架详解 •基于协同过滤的人群lookalike •特征工程:离散化及稀疏性处理 •样本构造:PU-learning + DNN •排序学习(learning to rank) •营销提升模型(uplift model) 4 总结&展望
  • 20.样本构造: 典型的营销域业务问题 在瞬息万变的互联网金融市场下,构建个性化营销模型时,两种典型的样本缺失问题: 营销活动特点 及时性 1 只有购买订单数据,没有曝 只有正样本,没 光点击的日志数据 有负样本 2 纯新营销活动(全新的金融 PU-learning 阶段性 被动性 试验性 “基础设施”落后 产品),只有少量“试验 正负样本稀缺 期”反馈数据,稀疏、有偏 或者不满足独 立同分布 …… 半监督学习
  • 21.样本构造: PU-learning 在只有正样本,没有负样本的营销建模中,我们构建: 1)正样本(positive samples) 2)未知样本(unlabeled samples) 正样本:目标营销产品的 Positive samples Unlabeled samples 典型种子人群 Two-step Approach:两步法 未知样本:其他产品存 量用户人群 Round n 可靠负样本 P S U u S Classifier g Reliable Negatives 基于spy技术的两步法: Pu-learning前: Pu-learning后: Pu-learning后正负样本区分度更明显,后续的分类模型效果有显著提升 ACC KS regular lr 0.4309 0.3271 PU-> lr PU- xgboost 0.7084 0.8303 0.5348 0.6794
  • 22.样本构造: PU-bagging 用bagging的思想直接融合样本选择和打分模型 Positive samples 正样本:目标营销产品的 典型种子人群 Bagging Approach:集成法 P Unlabeled samples u1 u2 … 未知样本:其他产品存 量用户人群 Classifier h[1] Classifier h[2] Classifier h[…] Pu-bagging基本策略: 1. 随机采样出和正例数目相同的无标签数据当做负例数据 2. 使用1步骤采样的负例数据和正例数据训练分类器,并使用此分类器预测集之外的其他数据 3. 重复k次,最后预测结果取k次的预测平均值 Classifier H KS Regular model Pul(two-setp) pu-bagging AUC 0.7194 0.9049 0.8348 0.9456 0.8478 0.9682
  • 23.数据增广策略结合DNN学习未标记样本中的知识 对于样本稀缺或者不满足独立同分布的情况下,利用历史营销活动(金融产品)累积的人群及特征,我们 构建: 1) labeled正负样本(少量) 2)unlabeled样本(大量) 用一种结合深度学习、数据增广的半监督方法,从过往营销活动中学习隐含知识 Labeled (x1 , p) 大量过往营销 活动数据 Unlabeled u Unlabeled u1 (u21,q^) Unlabeled d1 Unlabeled di DNN Average Sharpen Unlabeled dk DNN Classifier 低熵筛选 更新参数 (u2i,q^) (u2k,q^) 反向传播 K增广 W mixup Loss (x’,p’) DNN (concat (CrossEntropyLoss (u’,q’) + + Shuffle) MSELoass) 更新参数 活动反馈数据 增广 Labeled (x , p) 更新参数 少量本次营销
  • 24.数据增广策略结合DNN学习未标记样本中的知识 DNN部分的网络结构: Output Unit 最终效果对比: [sigmoid] …… …… Hidden Layer …… …… x’ model DNN DNN + mixup + T sharpening DNN + mixup + T sharpening + PUlearning 16 64 AUC KS 0.8597 0.6972 0.9179 0.7557 0.9336 0.7713 128 MissValueLayer output 过往类似营销活动(金融产品)的样本在当前时间窗口下往 w1 w2 Y 缺失 x Miss Value Layer N 往存在很多缺失的特征值,网络专门中增加一个layer 专门 处理缺失值: 当特征缺失时,x’=w1,否则x’=x*w2 …… Raw dense feature
  • 25.目录 1 个人简介 2 核心问题阐述 3 相关框架详解 •基于协同过滤的人群lookalike •特征工程:离散化及稀疏性处理 •样本构造:PU-learning + DNN •排序学习(learning to rank) •营销提升模型(uplift model) 4 总结&展望
  • 26.排序学习:baseline:rankNet 排序学习是个性化营销建模的最核心部分 rankNet目标:对于用户u,构建打分函数f(u),当用户i比用户j对金融产品有更高响应度时,满足f(i )> f(j) 样本pair构造 U_i U_j 申贷 注册 注册 不响应 申贷 不响应 …… 预测 概率 实际 概率 𝑷𝒊𝒋 ≡ 𝑷 𝑼𝒊 ⊳ 𝑼𝒋 ≡ 𝟏 𝒊⊳𝒋 𝑺𝒊𝒋 = ] 𝟎 𝒊 ≡ 𝒋 −𝟏 j⊳ 𝒊 𝟏 𝟏+ 交叉熵损失函数 I𝝈 𝒔𝒊 I𝒔𝒋 𝒆 ^ 𝒊𝒋 log 𝑃Oc − 𝟏 − 𝑷 ^ 𝒊𝒋 log 1 − 𝑃Oc 𝑪𝒊𝒋 = −𝑷 𝟏 If = 𝟏 − 𝑺𝒊𝒋 𝝈 𝒔𝒊 − 𝒔𝒋 + log 1 + 𝑒 𝟐 𝟏 ^ 𝒊𝒋 = 𝟏 + 𝑺𝒊𝒋 𝑷 𝟐 3层神经网络 𝒚≡ U_i 𝟏 𝟏 + 𝒆I𝝈 𝒔𝒊 I𝒔𝒋 y U_j … 输入层 隐层 1 … 隐层 2 … 隐层 3 sigmoid 样本打分输出层 s(i)=f(u(i)) gh Igi Top percentiles 申贷 注册 不响应 0-10% 10-20% 20-30% 30-40% 40-50% 50-60% 60-70% 70-80% 80-90% 90-100% 78.&% 14.3% 49.6% 51.1% 41.7% 6.9% 26.7% 35.5% 47.2% 58.3% 68.0% 76.6% 83.4% 89.4% 94.1% 23.7% 13.4% 11.1% 8.5% 6.3% 5.0% 3.8% 2.4% 1.5% 33.2% 25.7% 18.3% 12.4% 8.1% 4.4%
  • 27.排序学习:优化:lambdaMART rankNet à LambdaMART:更好地挖掘优质的营销人群 • LambdaMART 更倾向于优化营销价值更高的用户 • LambdaMART通过NDCG值来刻画用户对营销活动的响应程度的排序性 • LambdaMART采用MART也就是GBDT的集成模型 放款支用 授信未支用 申贷未授信 注册未申贷 不响应 红箭头表示lambdaMART,黑箭头表示rankNet 损失函数梯度的变换 梯度 𝝀jk = − 𝝈 𝟏 + 𝒆𝝈 损失函数 𝒔𝒊 I𝒔𝒋 𝝀jk = − Cjk = log 1 + 𝝈 ∆𝒁𝒊𝒋 𝟏+ 𝝈 𝒔𝒊 I𝒔𝒋 𝒆 I gh Igi 𝑒 ∆𝑍Oc
  • 28.排序学习:优化:lambdaMART 某金融产品的营销人群分层: Score 0 1 2 3 4 含义 营销未响应 营销响应:注册 营销响应:注册且申贷 营销响应:申贷且授信通过 营销响应:放款支用 建模目标:用lambdaMart的方式对拟合score的用户,找到一种大数据帮助客 户的目标消费者群体进行价值分层的方法 模型结果: 对f(x)从高到底排序,按10%取百分位数,然后对比每段的score分布 从结果上看,我们的lambdaMart能够很好的区分用户分层
  • 29.排序学习: 优化:deepFM 我们期望通过复杂的模型去学习用户金融产品行为的隐含信息 ☓ Inner product + Addition Output Unit 1)模型的wide部分,由FM挖掘二阶特征组合 2)模型的deep部分,由多层神经网络挖掘高阶特征组合 Sigmoid Hidden Layer FM Layer + ☓ ☓ … Dense Embeddings Categorical Features … 等频归一化 Feature Preprocessing Double型连续 特征值 1)对用户金融行为的异常值(超过正常业务范围)进行平滑处理,防止 wide部分训练异常 ☓ … 同时为了让模型更好地学习样本,按业务特点对特征进行了预处理 2)连续型特征同时等频归一化及基于IV离散化,让模型可以从不同角度 … … … IV离散化 特征值个数较 少的整型特征 学到知识 … Log平滑 特征值个数较 多的整型特征 模型效果对比(AUC) model 训练集 测试集 验证集 rankNet 0.8521 0.8311 0.8326 FM 0.8175 0.8149 0.8152 deep deepFM 0.8696 0.8702 0.8678 0.8688 0.8647 0.8675
  • 30.目录 1 个人简介 2 核心问题阐述 3 相关框架详解 •基于协同过滤的人群lookalike •特征工程:离散化及稀疏性处理 •样本构造:PU-learning + DNN •排序学习(learning to rank) •营销提升模型(uplift model) 4 总结&展望
  • 31.营销提升模型(uplift model) 什么是uplift model? 通常,在marketing campaign中,我们追求的不仅是消费者在营销活动中响应度,而且是ROI的最大化 Uplift Model的最终目标就是找到最有可能被营销活动影响的用户,从而提升ROI、提升整体的市场响应率! 自然反应 Buy if treated 营销正向 提升 无感 Persuadables Sure things Lost causes Sleeping dogs Yes No No Yes Buy if not treated 营销负向 衰减
  • 32.营销提升模型(uplift model) 一种基于pairwise思想的模型策略: 似然函数 Label策略 Outcome label No Yes 2n个人,随机分配到营销组t、控制组c。对于每个用户,原始和转换后结果分 -2 0 2 别由y_i 和 z_i表示。 𝑳𝒊𝒇𝒕 = 𝑬 𝒚 𝒕 - 𝑬 𝒚 𝒄 = 0 Control Treat Treatment label 𝟏 𝒏 ∑𝒊1𝟏 𝒚𝒊 𝒏 − 𝟏 𝟐𝒏 ∑𝒊1𝒏r𝟏 𝒚𝒊 𝒏 𝒏 𝒏 𝟐𝒏 𝒊1𝟏 𝒊1𝟏 𝒊1𝟏 𝟏 𝟏 = # 𝟐𝒚𝒊 − # 𝟐𝒚𝒊 = # 𝒛𝒊 = 𝑬 𝒛 𝟐𝒏 𝟐𝒏 最终使用一个回归模型来得到升力 𝒖𝒑𝒍𝒊𝒇𝒕 𝒙 = 𝑬 𝒚 𝒙, 𝒕 - 𝑬 𝒚 𝒙, 𝒄 = 𝑬 𝒛 𝒙 评估指标:转化率的提升比 𝒏𝒕,𝟏 ∅ 𝒏𝒕𝒄𝟏 ∅ 𝑸𝒊𝒏𝒊 = − 𝑵𝒕 𝑵𝒄 Model 产品偏好分模型 产品偏好分+uplift score(低权重) 产品偏好分+uplift score(高权重) 注册转化率 0.24% 0.37% 0.43%
  • 33.模型融合的3个策略 业务效果 融合策略 1 2 3 营销潜客 人群 营销潜客 人群 营销潜客 人群 Uplift Score Uplift Score 直接用uplift score 代替产品偏好分排序 uplift score 作为前置 过滤条件融合产品偏好 产品偏好分 Uplift Score 分 uplift score 与产品偏 好分加权融合 产品偏好分 Targeted users 营销活动ROI最大化 Targeted users 用户响应率最大化 Targeted users 授信成本最小化
  • 34.目录 1 个人简介 2 核心问题阐述 3 相关框架详解 4 总结&展望
  • 35.总结 基于Matching + Ranking的互金领域个性化营销算法,是我们从第三方的角度出发,基于客户自有的样本数据,帮助客户 进行人群定向营销的一次大数据实践,我们借鉴了电商的个性化推荐算法的方法论,将建模的过程分成了召回和排序两个阶 段,同时对两个阶段都引入了深度学习的思想,对比单一模型,这个框架在最终的营销效果上有比较大的提升,但同时也面 临着各种挑战: 1)项目时间短 金融市场的竞争非常激烈,通常一个产品的营销时机是非常珍贵且短暂的,必须在短时间内完成数据分析、建模、 营销触达,无法像广告位推广那样进行长时间的不断优化 2)缺乏历史反馈样本数据 当前互联网金融市场瞬息万变,产品不断更新迭代,无法拿到历史的营销投放数据,尤其是不能获取大量直接的负样 本,只能以策略去拟合 3)业务效果上的独特要求 通常个性化推荐、搜索排序关注的是头部内容的效果,但营销面向的是整体的用户群体,对长尾的效果要求更高
  • 36.展望 个性化营销算法未来发展的2个方向: 1)对消费者生命周期及消费心智的研究 1>找到更好的用户金融产品消费心智方面的embedding特征 2>消费者对金融产品多样化需求的特征刻画(如:信贷的额度、利率、差异化定价等) 3>消费者在互金域的生命周期及终身价值的研究 2)AI解决方案更深入的下沉到互金市场营销 1>用AI解决一体化的需求,包含:营销内容管理、营销自动化、智能触达 2>行业解决方案,如:互金产品的程序化广告投放 AI智能营销的实践者
  • 37.
  • 38.