CN111052167A - 自动化在线交易网络中的智能自适应竞价的方法和系统 - Google Patents
自动化在线交易网络中的智能自适应竞价的方法和系统 Download PDFInfo
- Publication number
- CN111052167A CN111052167A CN201880056999.8A CN201880056999A CN111052167A CN 111052167 A CN111052167 A CN 111052167A CN 201880056999 A CN201880056999 A CN 201880056999A CN 111052167 A CN111052167 A CN 111052167A
- Authority
- CN
- China
- Prior art keywords
- offer
- level
- bid
- user
- interaction
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 66
- 230000003044 adaptive effect Effects 0.000 title description 3
- 230000003993 interaction Effects 0.000 claims abstract description 84
- 238000010801 machine learning Methods 0.000 claims abstract description 44
- 230000004044 response Effects 0.000 claims abstract description 23
- 238000004891 communication Methods 0.000 claims abstract description 22
- 239000013598 vector Substances 0.000 claims description 22
- 230000000694 effects Effects 0.000 claims description 5
- 238000004590 computer program Methods 0.000 claims description 2
- 230000006399 behavior Effects 0.000 abstract description 10
- 230000008569 process Effects 0.000 description 24
- 238000010586 diagram Methods 0.000 description 19
- 238000012545 processing Methods 0.000 description 15
- 238000012549 training Methods 0.000 description 14
- 238000004422 calculation algorithm Methods 0.000 description 13
- 238000004364 calculation method Methods 0.000 description 13
- 238000012360 testing method Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 6
- 238000013459 approach Methods 0.000 description 5
- 238000011161 development Methods 0.000 description 5
- 241000282813 Aepyceros melampus Species 0.000 description 4
- 235000014510 cooky Nutrition 0.000 description 4
- 238000002474 experimental method Methods 0.000 description 3
- 238000005457 optimization Methods 0.000 description 3
- GOLXNESZZPUPJE-UHFFFAOYSA-N spiromesifen Chemical compound CC1=CC(C)=CC(C)=C1C(C(O1)=O)=C(OC(=O)CC(C)(C)C)C11CCCC1 GOLXNESZZPUPJE-UHFFFAOYSA-N 0.000 description 3
- 230000001052 transient effect Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 235000019800 disodium phosphate Nutrition 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 230000000670 limiting effect Effects 0.000 description 2
- 238000007477 logistic regression Methods 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 239000011149 active material Substances 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000002790 cross-validation Methods 0.000 description 1
- 238000003066 decision tree Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000010006 flight Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000005065 mining Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000036961 partial effect Effects 0.000 description 1
- 235000021110 pickles Nutrition 0.000 description 1
- 238000007637 random forest analysis Methods 0.000 description 1
- 230000002829 reductive effect Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000004043 responsiveness Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 239000010979 ruby Substances 0.000 description 1
- 229910001750 ruby Inorganic materials 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000008685 targeting Effects 0.000 description 1
- 238000010809 targeting technique Methods 0.000 description 1
- 230000032258 transport Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0241—Advertisements
- G06Q30/0273—Determination of fees for advertising
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0283—Price estimation or determination
Landscapes
- Business, Economics & Management (AREA)
- Development Economics (AREA)
- Engineering & Computer Science (AREA)
- Accounting & Taxation (AREA)
- Strategic Management (AREA)
- Finance (AREA)
- Game Theory and Decision Science (AREA)
- Entrepreneurship & Innovation (AREA)
- Economics (AREA)
- Marketing (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
一种计算机实现的方法包括经由数据通信网络从广告交易服务器接收包括竞价请求的消息,该竞价请求包括与可用广告位相关的站点信息和用户信息。对于生成的经排名的列表中的每个供应物,计算用户与供应物交互的概率的供应物级别估计。对于包括在经排名的列表中的供应物的组合,至少基于计算出的用户交互的概率的供应物级别估计、对应的供应物级别交互收入和积极性参数来计算广告级别竞价价格。竞价响应包括竞价定价的广告,该竞价定价的广告包括广告级别竞价价格和供应物的组合。用于预测在线用户的行为的机器学习模型能够基于在类似上下文中先前用户的聚合行为来自动确定用户与在线内容元素交互的概率的估计。
Description
技术领域
本发明涉及自动化竞价(bid)系统,并且特别地涉及用于基于用户交互行为的预测和可变的积极性(aggressiveness)设置来生成竞价定价的智能、自适应的方法和系统。本发明的实施例采用机器学习模型来预测在线用户的行为,并且能够基于在相似上下文中先前用户的聚合行为来自动确定用户与在线内容元素交互的可能性。本发明可以应用于在线广告系统中,例如以确定用于投放要例如经由移动应用内的网页呈现给用户的广告的竞价价格。
背景技术
在线(例如,基于web、移动或应用内)广告与传统媒体广告的不同之处在于其个性化受众定向的程度。例如,虽然广播媒体广告(诸如电视广告之类)旨在覆盖由广泛特性(诸如年龄组、社会经济状态和/或一般兴趣)所定义的目标人群,但是在线广告旨在覆盖对呈现的产品、服务或信息特别感兴趣的个人。
高度个性化受众定向技术已促使特定于在线广告的商业模型的发展。例如,现在对于提供新闻、聚合信息和特定用户感兴趣的其它内容的网站来说,托管第三方广告作为产生收入的手段已经很普遍。这些网站上出现的广告的广告主可以基于观看机会或印象(通常如以“每千次印象(impression)开销(cost)”(又称CPM)来计量)、基于每次点击开销(CPC)或根据某种其它性能计量来向运营商付款。放置在要呈现给个人用户的网页上的广告的实际选择至少可以部分地基于竞价处理,由此愿意支付更高CPM、CPC或其它开销计量的广告主更可能将其广告呈现给用户。
根据一种常见的模型,“广告交易(exchange)平台”促进了竞价处理。广告交易所是一个技术平台,其实现允许广告主和网站以及其它在线内容的发布者通常通过实时拍卖来买卖广告空间的数字市场。已知的广告交易平台包括DoubleClickTM(由GoogleTM拥有)、AppNexusTM、MicrosoftTM Ad ExchangeTM和OpenXTM。
广告交易平台维护“广告位(ad slot)”池。发布者将其广告印象(例如,嵌入在用于用户的网页内的可用广告位)贡献到池中。然后,买家可以对他们想要购买的印象进行竞价。竞价决策通常基于诸如广告所用于的用户的先前行为、一天中的时间、设备类型、广告位置等信息实时做出。在实践中,这些竞价决策本身必须非常迅速地做出,例如,使用通常称为需求侧平台(DSP)的技术平台在最多几十毫秒内做出。由于广告主通过广告交易所购买印象会产生实际开销,因此DSP中部署的用于评估用户的潜在“价值”以便做出竞价决策的技术和算法的性能会产生重大业务影响。
在典型的配置中,在DSP处从广告交易所接收到的每个竞价请求都包含与可用广告位相关的广告级别信息。广告级别信息可以包括广告位尺寸(例如,以像素为单位的维度)、网站的URL、广告位在网页上的位置、识别广告位键(key),等等。竞价请求还可以包括上下文信息,诸如浏览器信息、用户设备的类型,等等。此外,用户级别的信息可能是可用的,诸如来自先前访问的cookie id、IP地址,等等。典型的DSP每天都可能接收到数亿个这样的请求。因此,DSP必须每秒能够处理数千个竞价请求。
来自DSP的预期响应是针对每个提议的广告位的以由广告交易所支持的货币为单位的竞价价格。如果DSP响应速度太慢,或者提供的竞价价格低,那么它可能在竞价中输给竞争的DSP,因此将失去在提供的广告位中投放广告的机会。另一方面,如果DSP以高竞价价格快速响应,那么它可能会赢得将所选择的广告内容投放在提供的广告位中的机会。但是,为了使DSP整体上成功运行,竞价价格必须合理,并且所选择的广告内容必须很好地针对最终用户,以便确保足够高的点击率(CTR)。例如,如果DSP投放的竞价过高和/或广告内容没有很好地针对最终用户,那么由DSP产生的总收入(由广告主为所有点击广告支付的CPC的总和得出)将小于总运营开销,所述运营开销包括所有成功竞价给DSP运营商带来的开销。
因此,存在一项技术要求,即在计算竞价价格时,由DSP所采用的方法既要准确又要非常快。
由于每个广告位可以潜在地由许多不同的供应物(offer)填充,因此会进一步增加复杂性。典型地,广告位包含“横幅”,该横幅由水平或垂直定向的矩形区域(取决于网页内的布局)组成,并且不同的供应物可能在广告位内以网格布局布置。虽然供应物可能都与共同的用户兴趣相关,但每个供应物可能具有非常不同的特性。例如,在与旅行相关的广告的上下文中,广告位中的不同供应物可能与住宿、就餐、租车、旅行升级等相关。由用户交互(即点击)事件产生的CPC收入对于广告位内的每个供应物可能不同。但是,需要DSP在广告位级别以对应的竞价价格响应竞价请求。
因此,期望DSP所采用的方法能够基于用户交互的供应物级别的概率来计算广告级别的竞价价格。
DSP的另一个问题是,广告购买者进行的不同活动(campaign)可能具有不同的目标,并且因此风险和开销概况也不同。例如,在针对市场份额增长的活动中,广告主可能准备支付更高的CPC,从而允许DSP冒着为给定的估计的CTR做出更高竞价的风险。相反,在低价值活动中,DSP可能受到约束,从而以非常保守的方式竞价,即使随后会产生较少的流量,
因此,期望DSP所采用的方法可动态配置,以在计算广告级别竞价价格时改变“积极性”的程度。
因此,本发明的实施例旨在解决上述期望的特性,即计算交互的供应物级别概率和广告级别竞价价格并实现可变的积极性,同时还满足速度和准确性的技术要求。
发明内容
一方面,本发明提供了一种计算机实现的方法,包括:
经由数据通信网络从广告交易服务器接收包括竞价请求的消息,所述竞价请求包括与可用广告位相关的站点信息和用户信息;
生成从活跃(active)供应物数据库中选择的供应物的经排名的列表,其中供应物的排名至少部分地基于站点信息和用户信息;
对于所述经排名的列表中的每个供应物,计算用户与供应物交互的概率的供应物级别估计;
对于所述经排名的列表中包括的供应物的至少一个组合,计算广告级别竞价价格,其中广告级别竞价价格至少基于计算出的用户交互的概率的供应物级别估计、对应的供应物级别交互收入和控制竞价定价的积极性的积极性参数;以及
经由数据通信网络向广告交易服务器发送包括竞价响应的消息,所述竞价响应包括竞价定价的广告,所述竞价定价的广告包括广告级别竞价价格和供应物的组合。
有利的是,本发明的实施例因此能够基于供应物级别信息和用户与各个供应物交互的概率的估计来计算广告级别竞价定价。采用本发明的实施例的实验已经显示出相对于计算广告交易网络内的竞价定价的常规方法的点击率(CTR)的显著提高。当通过调整积极性因子来提高竞价定价的积极性时,已观察到CTR的进一步提高。
根据本发明的实施例,积极性因子在两个极限之间是可变的。第一极限可以是“保守性”竞价极限,而第二极限可以是“积极性”竞价极限。“保守性”竞价极限可以基于用户交互的估计概率的加权平均,而“积极性”竞价极限可以基于对用户与具有估计的用户交互概率与供应物级别的交互收入的最高组合的供应物进行交互的期望。利用适当的参数定义,积极性参数极限都可以是有限值,并且在示例性实施例中,积极性参数是连续可变的,例如,在零(“保守性”极限)和一(“积极性”极限)之间。
有利的是,本发明的实施例采用机器学习模型来计算用户与每个供应物交互的概率的供应物级别估计。可以基于聚合的内容投放事件与聚合的用户交互事件的匹配来训练机器学习模型,并且机器学习模型可以被配置以进行高效的表示,以便实现对用户与每个供应物的交互概率的供应物级别估计的快速计算,例如,在几十毫秒内。在本发明的实施例中,机器学习模型连续地或定期地进行在线训练,并且用于计算概率的供应物级别估计的表示被定期地更新以确保估计基于充分的当前信息。
在另一方面,本发明提供了一种实现需求侧平台的计算装置,该计算装置包括:
处理器;
所述处理器能访问的至少一个存储器设备;以及
与所述处理器操作地相关联的数据通信接口,
其中所述存储器设备包含程序指令主体,所述程序指令主体包括指令,所述指令在由所述处理器执行时使所述计算装置实现包括以下步骤的方法:
经由数据通信接口从广告交易服务器接收包括竞价请求的消息,所述竞价请求包括与可用广告位相关的站点信息和用户信息;
生成从活跃供应物数据库中选择的供应物的经排名的列表,其中供应物的排名至少部分地基于站点信息和用户信息;
对于所述经排名的列表中的每个供应物,计算用户与供应物交互的概率的供应物级别估计;
对于所述经排名的列表中包括的供应物的至少一个组合,计算广告级别竞价价格,其中广告级别竞价价格至少基于计算出的用户交互的概率的供应物级别估计、对应的供应物级别交互收入和控制竞价定价的积极性的积极性参数;以及
经由数据通信接口向广告交易服务器发送包括竞价响应的消息,所述竞价响应包括竞价定价的广告,所述竞价定价的广告包括广告级别竞价价格和供应物的组合。
积极性参数可以包括连续的数值α,针对所述连续的数值α,所述程序指令使所述计算装置基于以下公式来实现计算广告级别竞价价格BP的步骤:
其中:
R=[R1,R2,…,Rn]是从用户与供应物的所述经排名的列表中的每个供应物Oi(i=1,2,…,n)交互而生成的供应物级别交互收入的向量
P=[P1,P2,…,Pn]是计算出的用户交互的概率的供应物级别估计的向量
n是要包括在可用广告位中的供应物的数量,并且
有利的是,积极性参数α可以在连续范围内变化,从而使得能够在诸如先前已经采 用的离散的积极性设置之间更好地对系统的行为进行控制。由此,DSP能够使用平滑的积极性控制方法来选择竞价行为,而不必局限于特定的分类行为。
在本发明的实施例中,供应物级别交互收入包括在需求侧平台的运营商与从活跃供应物数据库中选择的供应物的各个广告主之间达成的每次点击开销(CPC)值。
在另一方面,本发明提供了一种包括程序代码指令的计算机程序,当所述程序在计算机上执行时,所述程序代码指令用于执行根据第一方面的方法的步骤。程序代码指令可以例如存储在有形的机器可读介质上。
根据以下对各种实施例的描述,本发明的实施例的其它方面、优点和特征对于相关领域的技术人员将是清楚的。但是,应该认识到的是,本发明不限于所描述的实施例,提供这些实施例是为了说明如前述陈述和所附权利要求书中所定义的本发明的原理,并帮助技术人员将这些原理付诸于实践效果。
附图说明
现在将参考附图描述本发明的实施例,其中相同的附图标记指代相同的特征,并且其中:
图1是图示实施本发明的示例性联网系统的示意图;
图2示出了实施本发明的用户设备、web服务器和广告交易服务器与DSP之间的通信时间线;
图3是示意性地图示包括实施本发明的在线用户交互预测和广告级别竞价引擎的多个代码模块的框图;
图4示出了用于在线用户交互预测的机器学习模型的在线更新的方法的流程图;
图5示出了机器学习模型的特征工程化和模型超参数优化的方法的流程图;
图6是示意性地图示图3中所示的实时竞价模块的多个代码组件的框图;
图7是使用用于在线用户交互预测的机器学习模型来估计预期CTR的方法的流程图;
图8是根据本发明的实施例的生成包括竞价价格的竞价响应的方法的流程图;
图9是根据本发明的实施例的生成包括一个或多个供应物的竞价定价的广告的方法的流程图;
图10是操作实施本发明的实时竞价模块的方法的流程图;以及
图11示出了图示实施本发明的实时竞价模块的性能的图表。
具体实施方式
图1是图示包括需求侧平台(DSP)服务器102的示例性联网系统100的框图,该需求侧平台(DSP)服务器102被配置为实现根据本发明的实施例的针对投放广告内容进行竞价的方法。DSP服务器102可以包括具有常规架构的计算机系统。特别地,如图所示,DSP服务器102包括处理器104。处理器104例如经由如所示出的一个或多个数据/地址总线108可操作地与非易失性存储器/存储设备106相关联。非易失性存储设备106可以是硬盘驱动器,和/或可以包括固态非易失性存储器,诸如ROM、闪存、固态驱动器(SSD)等。处理器104还与包含与DSP服务器102的操作相关的程序指令和瞬态数据的易失性存储设备110(诸如RAM之类)接口连接。
在常规配置中,存储设备106维护与DSP服务器102的正常操作相关的已知程序和数据内容。例如,存储设备106可以包含操作系统程序和数据,以及认证服务器102的预期功能所需的其它可执行应用软件。存储设备106还包含程序指令,这些程序指令在由处理器104执行时使DSP服务器102执行与本发明的实施例相关的操作,诸如下面更详细描述的并且特别是参考图2和图6-10描述的操作。在操作中,保持在存储设备106上的指令和数据被传送到易失性存储器110以便按需执行。
处理器104还以常规方式可操作地与通信接口112相关联。通信接口112促进访问广域数据通信网络,诸如因特网116之类。
在使用中,易失性存储设备110包含程序指令的对应主体114,程序指令从存储设备106传送并且被配置为执行实施本发明的特征的处理和其它操作。程序指令114包括根据本发明的对本领域的特定技术贡献,如下面进一步描述的。
关于DSP服务器102以及本说明书中描述的其它处理系统和设备的前述概述,除非上下文另有要求,否则诸如“处理器”、“计算机”等术语应当被理解为是指包括硬件和软件的组合的设备、装置和系统的一系列可能实现。这包括单处理器和多处理器设备和装置,包括便携式设备、台式计算机和各种类型的服务器系统,包括可以共处或分布的协作硬件和软件平台。物理处理器可以包括通用CPU、数字信号处理器、图形处理单元(GPU)和/或适合于高效执行所需程序和算法的其它硬件设备。计算系统可以包括常规的个人计算机架构或其它通用硬件平台。软件可以包括开源和/或商业上可用的操作系统软件以及各种应用和服务程序。替代地,计算或处理平台可以包括定制硬件和/或软件架构。为了增强可扩展性,计算和处理系统可以包括云计算平台,从而使得物理硬件资源能够响应于服务需求而被动态地分配。虽然所有这些变化都落入本发明的范围内,但是为了便于解释和理解,本文描述的示例性实施例基于单处理器通用计算平台,通常可用的操作系统平台,和/或广泛可用的消费者产品,诸如台式PC、笔记本或膝上型PC、智能电话、平板计算机等。
特别地,在本说明书(包括权利要求)中使用术语“处理单元”来指代被配置为执行特定定义任务(诸如访问和处理离线或在线数据、执行机器学习模型的训练步骤,或执行机器学习模型的预测步骤之类)的任何合适的硬件和软件组合。这样的处理单元可以包括在单个处理设备上的单个位置处执行的可执行代码模块,或者可以包括在多个位置和/或多个处理设备上执行的协作可执行代码模块。例如,在本发明的一些实施例中,分类和竞价定价/决策处理可以完全由在DSP服务器102上执行的代码来执行,而在其它实施例中,可以以分布式方式在多个DSP服务器上执行对应的处理。
可以使用任何合适的编程语言、开发环境或语言和开发环境的组合来开发实施本发明的特征的软件组件(例如,程序指令114),如软件工程领域的技术人员所熟悉的。例如,可以使用C编程语言、Java编程语言、C++编程语言、Go编程语言和/或适用于实现网络或基于web的服务的多种语言(诸如JavaScript、HTML、PHP、ASP、JSP、Ruby、Python、Perl等)来开发合适的软件。这些示例并非旨在进行限制,并且将认识到的是,根据系统要求,可以采用方便的语言或开发系统。作为示例,提供了本说明书中呈现的描述、框图、流程图等,以使软件工程和机器学习领域的技术人员能够理解和认识到本发明的特征、性质和范围,并通过实现根据本公开的合适的软件代码来实施本发明的一个或多个实施例,而不需要运用附加的发明性创新。
返回图1,系统100还包括附加的DSP服务器,例如118、120,其在使用中与DSP服务器102竞争以针对经由广告交易服务器122提供的在线广告位内的广告内容的投放进行竞价。广告交易服务器122实现数字市场,该数字市场允许网站和其它在线内容的广告主和发布者以实时在线拍卖的形式买卖广告空间,其中每个DSP服务器102、118、120是自动化的高速竞价者。广告交易服务器122包括数据库124,在数据库124中,它维护在线内容提供商(web服务器)和广告主(DSP)的细节,以便运营数字广告市场。诸如DoubleClickTM(由GoogleTM拥有)、AppNexusTM、MicrosoftTM Ad ExchangeTM和OpenXTM之类的广告交易平台的功能是已知的,因此除非需要充分说明本发明的实施例的操作,否则本文将不对其进行进一步详细描述。
系统100还包括用户终端设备,例示为终端设备126。终端设备126可以是例如台式或便携式PC、智能电话、平板电脑或其它个人计算设备,并且每个终端设备包括例如经由地址/数据总线130与易失性存储设备132、非易失性存储设备134和至少一个数据通信接口136接口连接的处理器128。处理器128还与一个或多个用户输入/输出(I/O)接口140接口连接。易失性存储设备132包含与终端设备126的操作相关的程序指令和瞬态数据。
终端设备存储设备132、134可以包含与设备126的正常操作相关的程序和数据内容。这可以包括操作系统程序和数据(例如,与Windows、Android、iOS、MacOS、Linux或其它操作系统相关联),以及通常与本发明无关的其它可执行应用软件。存储设备132还包括程序指令138,该程序指令138在由处理器128执行时使终端设备能够向用户提供对在线内容的访问。虽然已知许多应用提供这种访问,但是为了简单起见,在本说明书中,假定程序指令138实现具有经由用户I/O接口140呈现的图形用户界面(GUI)的web浏览器。
因此,在终端设备126的用户访问web服务器142的情况下,经由设备UI 140生成对应的网页显示144。显示144包括网站内容146和一个或多个广告位,例如148、150。如进一步图示的,每个广告位148、150可以包括代表广告主的多个特定“供应物”。这些供应物通常以网格布局布置,例如如图1中的虚线矩形148a、148b、148c、150a、150b、150c所指示的。然后进行许多通信步骤以便填充这些广告位,即,在网页显示144内向在线广告主提供广告印象。现在将参考图2所示的时间线200来描述这些通信步骤。
最初,用户终端126经由执行的web浏览器应用138并且响应于用户输入,向web服务器142发送202HTTP请求,该HTTP请求包括期望的web内容的URL。Web服务器142通过将内容(例如,以HTML格式的网页)发送204到用户设备126来响应。如web编程领域的技术人员将认识到的,网页显示144的完整填充和呈现(render)可能需要多个请求和响应,并且可能涉及与web服务器142和/或与其它在线服务器(诸如内容分发网络(CDN)服务器和其它提供嵌入内容的web服务器之类)的进一步事务。为了简单起见并促进关注于实施本发明的特征的通信,所有这些已知的附加事务在图2中由单个示例性通信206表示。
为了获得广告内容以填充广告位148、150,由web服务器142发送到用户设备126的网页通常包括超文本引用(“href”),其引导浏览器138根据由服务器122的相关运营商定义和提供的应用编程接口(API)从广告交易服务器122检索内容。因此,用户设备126将HTTP请求发送208到广告交易服务器122。请求包括网站信息和与终端设备126的用户相关的用户信息。可用的用户信息可以包括web服务器142已收集的信息,并且可以包括客户端侧信息,诸如设备和浏览器标识和技术细节、浏览器cookie的识别信息和内容等。用于收集、维护和跟踪用户和设备信息的许多在线机制是已知的,并且对于web编程领域的技术人员是可获得的,因此这里不再进一步详细描述。
广告交易服务器122接收该请求、在其数据库124中识别相关的DSP服务器102、118、120,并且向每个选择的DSP服务器发送210竞价请求消息。在实施本发明的DSP服务器102处接收一个这样的包括站点和用户信息的竞价请求消息,该DSP服务器102根据其特定的编程114执行处理212,以便预测用户与投放在可用广告位148、150中的一个或多个内的包括一个或多个供应物的所选择的广告交互的可能性,并得出竞价决策。在做出对所提供的印象进行竞价的决策并确定了竞价值的情况下,DSP服务器102然后将竞价发送214到广告交易服务器122。
广告交易服务器122接收从包括服务器102的DSP服务器发送的所有竞价,并选择获胜的竞价。然后,它从其数据库124中检索与获胜竞价对应的广告内容,并将该广告内容发送216到用户设备126,以在对应的广告位(例如,广告位148或150)内呈现。
已知的是,从用户的角度来看,页面加载速度是网站的重要特性,并且完全加载网页所需的时间过长是不希望的。典型地,加载时间优选地不超过几秒钟,例如3秒218。如上所述,要完全服务复杂网页的所有内容,需要许多步骤,这些步骤可能涉及全球互联网上的多个服务器。因此,重要的是严格限制由广告交易服务器202促进的竞价处理的持续时间。当前认为,DSP服务器102应该在不超过几十毫秒内,例如在不到30毫秒220内做出竞价决策。该决策须以有限的用户信息并鉴于错误的决策可能会对广告主造成重大后果的事实而作出。例如,如果DSP服务器错误地确定用户是特定广告的期望目标(即,计算出“假正面(positive)”),那么它可能投放相对高的获胜竞价并产生实际开销,而几乎没有或根本没有任何回报前景。相反,如果DSP服务器错误地确定用户不是广告的期望目标(即,计算“假负面(negative)”),那么它可能没有竞价,或者投放低的失败竞价,并导致广告主错失获得具有真正回报前景的印象的机会。
为了在旅行预订服务的上下文中以高速实现质量决策,本发明的实施例可以采用机器学习方法。为了进一步促进对该方法的理解,现在回到参考图1,其中系统100还包括机器学习服务器(“ML服务器”)152,其被配置为处理与内容的投放相关的原始数据(即,广告/供应物)以及用户交互(即,用户对广告/供应物的点击),以生成用于机器学习模型的训练数据集合,并训练机器学习模型以部署到DSP服务器102。下面参考图3和图4更详细地描述处理、训练和部署步骤,并且可以连续地、定期地和/或按需地执行处理、训练和部署步骤,以便维持机器学习模型的即时性(currency)。
如DSP服务器102那样,ML服务器152可以包括具有常规架构的计算机系统,例如,包括经由所示的一个或多个数据/地址总线158与非易失性存储器/存储设备156可操作地相关联的处理器154。处理器154还与易失性存储设备160接口,该易失性存储设备160包含与ML服务器152的操作相关的程序指令和瞬态数据。常规上,存储设备156包含操作系统程序和数据以及ML服务器152的预期功能所需的其它可执行应用软件,并且包括程序指令,该程序指令在由处理器154执行时使ML服务器152执行下面特别参考图3和图4更详细描述的操作。在操作中,保持在存储设备156上的指令和数据被传送到易失性存储器150以按需执行。此外,处理器154以常规方式可操作地与通信接口162相关联,从而提供对因特网116的访问。
在使用中,易失性存储设备160包含从存储设备156传送的并且被配置为执行用于机器学习模型的处理、训练和部署步骤的程序指令的对应主体164。程序指令164包括根据该实施例的对本领域的进一步的特定技术贡献。
系统100还包括至少一个数据库166,其被配置为存储与内容(即,广告/供应物)的投放以及用户交互(即,用户对广告/供应物的点击)相关的原始历史数据。此类数据的量在感兴趣的时间段(诸如一个或多个月之类)内可能非常大。例如,在特定的实时部署中,发现一天的数据日志包含约2000万行(即,投放和交互事件),其总存储大小约为10Gb。因此,数据库166优选地使用针对跨多个数据库服务器和存储设备的非常大量数据(有时称为“大数据”)的高效存储、检索和更新而优化的技术来实现。虽然存在许多合适的商业和开源技术来实现数据库166,但是示例性实验配置已经使用Apache Hadoop框架来实现,其中数据以Parquet格式存储在HDFS(Hadoop分布式文件系统)上并且使用Impala来提供高速、类似于SQL的查询引擎。已经对该实现进行了测试,并且发现该实现为实际在线部署提供了足够的性能。
DSP服务器102和ML服务器152都可以访问数据库166。在图1中,逻辑访问用对应的箭头表示。在实际的实施例中,数据库166与DSP和ML服务器102、152之间的物理访问可以经由因特网116,和/或经由其它专用通信链路或网络,诸如本地存储区域网络(SAN)之类。DSP服务器102被配置为用与投放和交互事件相关的原始数据实时地更新数据库166。ML服务器152被配置为从数据库166中检索原始数据,并且基于检索到的数据来执行处理、训练和部署步骤。
返回图2,图示了与DSP服务器102更新数据库166相关的进一步操作。特别地,在DSP服务器102投放成功竞价,并且对应的广告内容被发送216到用户设备126的情况下,DSP服务器102更新222数据库166,从而添加与广告的投放相关的数据(即,广告/供应物印象)。与广告相关联的代码被配置为使得在用户随后与广告进行交互(即,点击)的情况下,DSP服务器102直接或间接地接收该交互事件的通知224。然后,DSP服务器102用交互事件的细节更新226数据库166。以这种方式,用与DSP服务器102已知的所有投放和交互事件相关的原始数据连续地更新数据库166。
图3是示意性地图示多个代码模块的框图,这些代码模块一起包括实施本发明的在线用户交互预测和实时竞价引擎300。用户交互预测和竞价引擎300的实现分布在ML服务器152和DSP服务器102上,如图3中的虚线框所示。引擎300的ML服务器组件由三个代码模块组成,即匹配模块302、特征丰富模块304和机器学习模块306。这三个模块全部在ML服务器152上执行的程序指令164内实现。现在将更详细地描述在这些模块中的每个模块内实现的功能。
匹配模块302的目的是将投放事件(即,用户设备126的显示144的广告位148、150中的广告内的供应物以及广告的显示)与随后的交互事件(即,用户对投放在用户设备126的显示144上的广告内的供应物的点击实例)进行匹配。匹配使得投放事件能够被标记为“被点击”或“未被点击”,使得它们可以被机器学习模块306用于训练受监督的机器学习模型,以基于投放事件数据预测用户交互事件。此外,匹配使得投放事件数据能够与对应的交互事件数据组合以创建包含关于投放和交互的所有可用信息的被点击广告的记录。
匹配带来了一个挑战,因为在投放事件(广告印象)和随后的用户交互(广告点击)之间没有明确的链接。如图2的时间线200中所示,用户交互可以在投放之后的任何时间发生,例如,在显著的延迟之后发生。由于新的投放和/或交互事件可以在实时系统中以非常高的速率(例如每秒数百或数千次)发生,因此对应的投放和/或交互事件可能变得在数据库166中广泛分离。此外,交互事件率可能非常低,例如,据普遍报道,基于web的显示广告的点击率(CTR)约为0.05%。此外,期望在供应物级别而不是仅在广告级别链接投放和交互事件。
针对匹配采用的一般方法是在数据库166中识别预定时间窗口内具有所选择的匹配参数集合的投放事件和随后的交互事件。时间窗口应具有足够的持续时间以捕获所有交互的绝大部分,并且参数的数量和选择应足以确保在绝大多数情况下的唯一匹配。完美匹配可能难以实现,因为无法知道是否或何时发生交互。较长持续时间的时间窗口将捕获在较长延迟之后发生的交互,但是也会增加错误匹配(其中例如用户与随后呈现的具有相似参数的广告交互)的风险。类似地,可以通过使用较大的所选择的参数集合来区分呈现的广告来减少错误匹配的风险,但代价是使匹配处理更加复杂。
在示例性实验配置中,已经使用从实时系统捕获的事件数据在代表广告主操作的特定于域的DSP服务器的上下文中实现了本发明的实施例。采取启发式方法来设计匹配模块,并进行了许多实验以确定合适的时间窗口和所选择的参数集合。与匹配以下事件参数相结合,发现80秒时间窗口是有效的:
·唯一的用户标识符(经由浏览器cookie跟踪);
·广告主标识符;
·发布者标识符(即,通过其投放广告的广告交易所/分发网络);
·被点击的供应物的格式(例如,供应物图形的宽度和高度,以像素为单位);
·广告产品类型;
·广告产品池;
·用户细分(基于用户先前查看的诸如航班、宾馆或餐馆之类的产品的用户产品细分和指示用户自上一次活动以来已经经过的时间的用户时间细分的组合);
·站点URL;
·广告位可见性;
·用户设备;
·用户正在寻找关于其的信息的目的地(地点)与作为特定供应物的主题的目的地之间的距离的测量;以及
·广告位键(用于发布者、广告位和页面的组合的稳定标识符)。
在示例性配置中,使用Impala SQL查询来执行匹配,以选择并联接关于与上面列出的参数对应的字段的值的投放和交互事件的记录的表。具体而言,将投放记录左联接(LEFT JOIN)到交互记录,使得结果表针对每个投放事件包括一行。每行包括从匹配的事件导出的原始特征的值的集合,以及指示是否发生交互事件(即,广告/供应物点击)的指示符。匹配数据的表被输入到特征丰富模块304。
特征丰富模块304的功能是从由匹配模块302生成的匹配数据表中的原始特征的值中导出供机器学习模块306使用的对应的丰富特征向量集合。下面参考图5详细描述确定合适的丰富特征集合的处理(即,特征工程化)。在图3中,由特征丰富模块304使用的丰富特征的定义被示出为存储在数据存储库308内的文件310中,但是,这可以被认为是示意性方便起见。在实际配置中,可以以这种方式存储特征定义、可以将特征定义编译到代码模块并链接到特征丰富模块304,或者可以将特征定义硬编码到特征丰富模块。将认识到的是,这些实现选项中的每一个(以及对于本领域技术人员而清楚的其它实现选项)都可能在灵活性、代码复杂度和执行速度之间提供不同的权衡。
在示例性配置中,所有丰富特征都是分类类型的(即,采用多个离散值之一),并且是独热(one-hot)编码的。因此,结果得到的特征向量通常相对稀疏,并且包括二进制元素。此外,每个特征向量对应于呈现给用户的广告内的供应物,并且与指示用户是否与该供应物交互(即,点击供应物)的二进制标签相关联。结果得到的特征向量和标签的表被输入到机器学习模块306。
机器学习模块306包括在ML服务器152上执行的程序代码,并且在示例性实验配置中被配置为实现广义线性模型。具体而言,示例性配置的机器学习模块306利用“遵循正则化领导者”-最近(FTRL-proximal)学习来实现正则化逻辑回归算法。有利的是,这种机器学习算法已知在高度不平衡的数据集的情况下是有效的(注意的是,特征向量表中只有约0.05%的样本被标记为“被点击”)。该算法的更多细节及其在点击预测中的应用可以参见H.Brendan McMahan等人的“Ad Click Prediction:a View from the Trenches”,KDD'13,2013年8月11日至14日,芝加哥,美国伊利诺伊州。该算法具有可以被调整的多个超参数,以便针对特定问题优化其在训练数据方面的学习准确性。下面参考图5详细描述为超参数确定合适的值集合的处理。在图3中,供机器学习模块306使用的超参数的固定值被示出为存储在数据存储库308内的文件312中。但是,如将认识到的是,替代实现是可能的,诸如将参数硬编码到机器学习模块306中。
机器学习模块306在特定数据集上的执行导致可以由DSP服务器102执行的模型的生成,如将在下面参考图7更详细地描述的。特别地,逻辑回归模型的特征完全在于与输入特征向量的元素相关联的系数集合。在示例性配置中,采用模型的特别高效表示,以使DSP服务器102能够非常迅速地(即恰好在30毫秒目标窗口220内)计算用户交互的可能性的预测,以生成竞价决策。具体而言,系数被存储为字典,其中每个条目由键和值来定义。键是特征名称(即,特征表中的列标签)和对应特征值(即,独热编码之前的分类值)的串联的散列表示。字典中的关联值简单地是对应的模型系数。已知这种类型的数据结构提供非常快的查找,尤其对于稀疏特征集。特别地,通过使用散列值,可以对散列特征的数量施加限制(这种方案有时被称为“散列特技(trick)”)。该方案可以用于极大地加快查找和计算速度,但以字典键值可能发生冲突为代价。但是,有利的是,从算法的整体性能的角度来看,可以忽略这些冲突的统计影响。
为了部署到DSP服务器102,模型数据结构以二进制格式被序列化(在示例性配置中,使用了Python“pickle”格式),并且被存储在数据存储库308中的模型文件314中。
在使用中,ML服务器152重复地,例如,连续地、定期地或按需执行模块302、304、306。这由图4中所示的流程图400示出。在步骤402处,从数据库166中检索原始数据。可以使用预定时间段的最近数据,其被视为代表系统100的当前在线用户的行为。例如,可以采用来自最近一个月时段的原始数据。在步骤404处,匹配模块302执行投放和交互事件的匹配,如已经描述的。在实践中,检索步骤402和匹配步骤404可以被组合为单个查询,例如,Impala SQL查询。
在步骤406处,ML服务器152执行特征丰富模块,其使用丰富特征定义310来计算与匹配数据对应的丰富特征向量。其被传送到机器学习模块306,该机器学习模块306使用标记的特征向量和在配置文件312中定义的预定超参数来训练模型。结果得到的模型系数被散列化、序列化并发布410到模型文件314。
可选地,ML服务器然后在步骤402处重新开始该处理之前进行等待412。从等待条件412的退出可由多种不同的事件触发。例如,ML服务器可以被配置为定期地(例如,每天一次)运行模块302、304、306。替代地或附加地,它可以被配置为按需(例如,当接收到来自系统100内的控制器(未示出)的信号时)运行模块302、304、306。在一些配置中,ML服务器可以连续地运行模块302、304、306,从而基于数据匹配、特征丰富和模型训练所需的时间尽可能频繁地更新模型文件314。在示例性实验配置中,发现基于30分钟批次数据的更新在匹配模块302的输出质量(即,针对良好的训练数据集准确协调交互和投放事件的需求)与对广告交易网络中实时变化(例如,新的活动发布,竞争对手的进入/退出、用户对一些内容的需求变化等)的反应性之间提供了适当的权衡。
现在转到图5,其中示出了特征工程化和模型超参数优化的处理的流程图500。在实践中,处理500是部分自动化的,并且在人工监督下操作。具有强预测能力的适当功能的开发以及模型超参数的适当范围的选择涉及大量的经验、判断力、创造力和独创性,并且在大多数情况下不能被有效地完全自动化。
处理500需要在步骤502处被检索的并且可以以与上面关于匹配模块302的功能所描述的相同方式来获得的测试数据集合。特别地,可以使用与匹配模块302所使用的形式相同形式的Impala SQL查询从数据库166中提取用于所选择的测试时段的数据。
在步骤504处,定义并配置丰富特征集合。该步骤典型地涉及应用有经验的数据科学家的判断力、创造力和独创性。在实践中,根据处理500并且在测试数据集的进一步分析的支持下,已经进行了许多实验,以便识别有效的丰富特征集合。在步骤506处,从原始测试数据集合计算所定义的丰富特征的值。
在步骤508处,选择超参数值集合,并且用所选择的值来配置机器学习模型。在步骤510处,使用丰富测试数据来训练结果得到的模型。典型地,测试数据的一部分在训练步骤510中被保留,然后在交叉验证步骤512中使用该部分来评估训练模型在训练步骤510期间未看到的数据上的性能。
然后在决策步骤514处评估训练模型的性能,例如通过达到某种最佳或足够的性能水平来确定其是否可接受。选择评估性能的标准对于识别可接受的模型可能是重要的。可以采用各种已知的标准,诸如接收者操作曲线下的面积(AUROC)、对数损失或基尼系数(Gini)(其与AUROC相关)。在示例性配置中,基尼系数(其取值介于-1和1之间,并且期望尽可能高)和对数损失(期望尽可能低)的组合用于评估不同模型的性能。该方法不仅用于所选择的FTRL-Proximal模型的不同超参数,而且还用于由于在分析的数据集上提供不佳的性能而因此被拒绝的许多替代模型,包括决策树(分布式随机森林、梯度提升树)、朴素贝叶斯和深度学习网络。
在性能被认为是不可接受的或优化处理不完整的情况下,在决策514处,对关于是否更新模型超参数做出进一步的决策516。结果得到的配置超参数、训练和测试模型的循环通常使用诸如网格搜索或类似的算法来自动化。在这种情况下,监督数据科学家的作用是为超参数的网格确定合适的范围。
在不需要超参数的进一步变化的情况下,经由决策518实现的外部循环允许测试丰富特征的替代集合。如果已经用尽模型算法、超参数和丰富特征的可用选择和值而没有识别出可接受的模型,那么处理500可以被视为失败,并且可能需要重新考虑策略。但是,出于示例性配置的目的,处理500导致具有可接受性能的模型。因此,在步骤520处,将识别出的丰富特征定义和模型超参数写入数据存储库308中的数据文件310、312中。表1中给出了经由处理500开发的丰富特征的摘要。
图6是示意性地图示包括上面参考图3描述的实时竞价模块316的多个代码组件的框图600。共同构成针对本发明的当前描述的实施例专门开发的对于本领域的技术贡献的这些代码组件中的每一个在DSP服务器102上执行的程序指令114内实现。下面特别参考图7至图10所示的流程图来描述由图6所示的代码组件实现的算法的细节,而在图11的图表中图示了由示例性实施例实现的有利技术效果。
实时竞价模块316的输入包括从广告交易服务器122接收到的竞价请求210。供应物级别选择和排名组件602采用来自活跃用户数据库604的用户信息、来自活跃供应物数据库606的供应物信息以及可选地由机器学习CTR估计器组件608生成的估计的供应物级别CTR,以便生成用于可包含在要响应于竞价请求210而生成的广告中的一组经排名的供应物610。供应物级别选择和排名组件602的操作在下面参考图8更详细地描述。
经排名的供应物610被传递到广告级别竞价价格计算组件612,其采用机器学习CTR估计器组件608以便生成竞价定价的广告。下面特别参考图8和图9更详细地描述广告级别竞价价格计算组件612的操作。竞价定价的广告可以用于生成竞价响应214。
图7是CTR估计组件608使用上面参考图3至图5描述的用于在线用户交互预测的机器学习模型来估计预期CTR的方法的流程图700。在步骤702处,接收站点、供应物和用户信息,即,经由传输210从广告交易服务器122接收站点、供应物和用户信息,以及从活跃供应物数据库606检索到的信息和从活跃用户数据库604检索到的任何可用信息。在步骤704处,所述信息用于根据定义310计算对应的丰富特征向量。
在步骤706处,实时竞价模块访问如已经描述的模型表示314,该模型表示314包括存储在高效字典结构中用于快速系数查找的系数集合。如上所述,特别是参考图4,可以由ML服务器152不时地更新该模型。模型表示314可以存储在共享存储介质308中,并且可以由DSP服务器102异步读取。在一些实施例中,DSP服务器可以维护用于快速访问的模型表示314的高速缓存副本,该高速缓存副本在由ML服务器152更新存储的文件时被更新。
在步骤708处生成的模型的输出是基于丰富特征向量的对用户与供应物交互的可能性的估计。在示例性实施例中,输出是表示用户将点击供应物的概率的值。因此,将认识到的是,在这个实施例中,模型可以等效地被认为是提供估计的供应物级别CTR,即,对于要向其呈现供应物的大量相同、独立的用户,CTR等于每个单独用户将点击供应物的概率。在下面的讨论中,术语交互的概率和CTR可互换使用。
图8是由实时竞价模块316生成包括竞价价格的竞价响应的方法的流程图800。特别地,流程图800示出了由供应物级别选择和排名组件602实现的步骤,以及由广告级别竞价价格计算组件612实现的高级步骤。由广告级别竞价价格计算组件612实现的竞价价格计算算法的细节在下面参考图9阐述。
在步骤802处,接收竞价请求210。在步骤804处,供应物级别选择和排名组件602执行一个或多个过程,以对可能包含在响应于竞价请求210而生成的广告内的供应物进行选择和排名。从本发明的角度来看,供应物级别选择和排名组件602的重要性在于,它产生从活跃供应物数据库606中可用的那些供应物中选择的供应物的排名列表。可以采用任何合适的方法来这样做。但是,为了帮助理解本发明,现在概述供应物级别选择和排名的示例性方法。如已经指出的,示例性实施例是在旅行预订和相关服务的上下文中实现的,但是所描述的原理可以应用于其它上下文和主题。
如本领域技术人员已知的,并且已经在上面参考图1进行了总体讨论的,对于给定尺寸和属性的每个广告位(例如148、150),广告可以由DSP 102动态构建,并且可以包含多达n个不同的供应物。例如,如图1所示,广告位148包括多达三个供应物148a、148b、148c,即n=3。但是,在其它实施例中,可以投放的供应物的最大数量可以大于或小于三个。在另一种常见配置中,n=4。在有更多可用空间的情况下,诸如在站点上提供大横幅的情况下,供应物的最大数量可能更大。优选地,选择多达最大值n的供应物的数量以及每个供应物的内容,以便优化显示144上的购买空间,并增加用户与至少一个供应物的交互(即点击)的概率。
相应地,在步骤804处,示例性供应物级别选择和排名模块602通过特定的编程被配置为从数据库606内的活跃供应物中选择一组候选供应物O1、O2、…、On并对其进行排名以填充竞价请求210中的可用广告位。
该步骤主要由基于领域专家的输入而设计的特定于领域的启发法(heuristic)(即,在示例性实施例中,针对旅行领域)驱动。启发法可以包括属性之间的匹配,这些属性包括从请求导出的特性(例如,网站URL、从用户搜索项导出的用户旅行目的地、从用户设备126的IP地址导出的用户起点位置等等),以及活跃供应物数据库606中存在的供应物的特性(供应物的目的地、价格、产品的类型等)。在对供应物进行选择和排名时,也可以应用其它业务规则,诸如活动的开始和结束日期、剩余的预算,等等。
匹配启发法可以使用合适的过滤器来实现。在示例性实施例中,使用业务规则来应用第一组过滤器,以便确定第一组合格供应物。这些过滤器的目的是消除由于某个其它业务原因(例如,供应物过期或预算用尽)而可能无效或不可用的过去的活动材料和/或供应物。
然后,采用第二组特定于旅行领域的过滤器,以在用户感兴趣的目的地和与可用供应物相关联的目的地之间进行地理匹配。可以采用分层过滤,以支持在更大和/或更小的特异性程度下的匹配。例如。如果用户的搜索项指示对Mallorca作为目的地的兴趣,但没有针对该目的地的活跃供应物,那么可以应用针对“西班牙”的过滤器,或者如果没有特定于“西班牙”的活跃供应物,甚至应用针对“欧洲”的过滤器。
在一个实施例中,然后在系统指定的最大值n中选择请求的供应物匹配特性,以避免CPU和时间二者上的过度计算开销,并通过降序的匹配质量来排序。
在替代实施例中,可以选择更大数量m>n个供应物。在这种情况下,可能需要广告级别竞价价格计算组件612来根据下面参考图9所述的方法评估m个中的n个供应物的所有可能选择。该实施例具有扩展搜索领域以优化竞价价格的优点,因此允许发现可能更有效的供应物组合。但是,局限性在于该方法增加了计算时间,并且因此重要的是确保足够的处理能力可用,因为所需的响应时间很短。
由此产生所选择的供应物610的排名,并将其提供给广告级别竞价价格计算组件612,该广告级别竞价价格计算组件612在步骤806处使用积极性因子参数808计算广告级别竞价价格,以产生用于在生成812竞价响应214时使用的竞价定价的广告810。
图9是示出使用一个或多个积极性因子参数808的广告级别竞价价格计算806的细节的流程图900。根据处理900,广告级别竞价价格计算组件612将供应物相关的属性与当前竞价请求210用户和上下文信息相结合,并执行CTR估计组件608来计算由供应物级别选择和排名组件602生成的每个供应物Oi的点击概率。
在步骤902处,从由供应物级别选择和排名组件602生成的列表中选择经排名的供应物的Oi(i=1,2,…,n)。在步骤904处,检索用户和供应物属性。特别地,基于一对一的精确匹配(例如,使用用户cookie),或者在一对一匹配不可能的情况下(例如,因为以前没有遇到过该用户)基于用户特性的其它匹配,从活跃用户数据库中检索与用户相关的信息。此外,从活跃供应物数据库606检索与供应物相关的信息(例如,供应物的目的地、价格、产品的类型等)。结果得到的一组特征,包括{供应物Oi特征;用户特征U;浏览上下文特征C},被传递到CTR估计组件608,该CTR估计组件608执行处理700以将用户交互的概率计算为Pi=P(click|{Oi;U;C})。
在判定步骤906处,进行检查以确定是否所有供应物已被处理,即i=n。如果否,则控制返回到步骤902,并且处理下一个经排名的供应物。否则,控制转到步骤908,其中广告级别竞价价格计算组件612计算向量的量ERPO(每个供应物的预期收入),其被定义为:
其中R=[R1,R2,...,Rn]是从每个供应物Oi(i=1,2,...,n)的点击生成的收入(即DSP运营商和各个广告主之间达成的CPC)的向量。P=[P1,P2,...,Pn]是如上所述确定的对应点击概率的向量,并且表示向量的Hadamard(即,按元素)积。
直观上,对于每个供应物i,ERPO对应于要在广告位中显示的每个供应物的平均预期收益。该向量包含使竞价价格有如下几种可能的选择的信息,例如:
·可以采用这两个极端之间的范围以实现中等级别的竞价积极性。
通过首先定义ERPO的p范数(norm),可以导出定义整个范围的竞价积极性的便捷方法:
尤其是,上述用于积极性竞价的计算可以被表达为:
在上式中,α是积极性因子参数808,对于其:
·α=0对应“保守性”竞价;
·α=1对应“积极性”竞价;以及
·0<α<1根据需要提供两个极端之间的积极性的平滑调整。
相应地,在步骤910处实现上述计算,以使用已根据广告主、活动和/或其它要求设置的对应的积极性因子参数808基于针对由供应物级别选择和排名组件602选择的经排名的供应物的供应物级别CTR估计来生成唯一的广告级别竞价价格。
在一些实施例中,可以将简单的竞价价格乘数应用于上面计算出的BP值,以便以广告交易服务器122支持的货币将值转换成实际竞价价格。此外,在一些实施例中,在点击概率和/或竞价价格是明显远离的值的情况下,也可以应用价格上限(cap)来限制实际竞价价格,并避免在单个竞价上过多的DSP开支。
最终,在步骤912处,产生最终的竞价定价的广告810,其可以在生成812竞价响应214时使用。
图10是实施本发明的实时竞价模块316的整体操作的方法的流程图1000,其包括支持ML服务器152的在线操作的竞价后处理。在步骤1002处,接收到竞价请求,而在步骤1004处,确定竞价响应。因此,这两个通用步骤与以上参考图7至图9详细描述的处理对应。
在步骤1006处,可以做出关于是否发送针对在竞价请求210中呈现的广告位的竞价响应的决策。例如,如果计算出的竞价价格过高(例如,超过上限价格或可用的预算约束)或过低(例如,反映成功和/或收入生成的低概率),那么可以做出不发送竞价响应的决策。在做出对广告位竞价的决策的情况下,控制转到步骤1008,在步骤1008中,将竞价响应发送214回广告交易服务器122。在竞价成功的情况下,控制被引导1010到步骤1012,在步骤1012中,用投放事件的细节来更新数据库166。
为了评估实施本发明的实时竞价模块316的性能,许多实验模块与实现常规竞价算法的模块并行运行。图11示出了图示实施本发明的实验实时竞价模块的性能的图表1100。图表1100示出了纵轴1102上的点击率(CTR),其中十个竞价模块的对应性能被显示为一系列条块。条块1104表示常规竞价模块的性能,而条块1106表示实施本发明并采用“保守性”竞价策略(α=0)的实验性竞价器的性能。在没有基于机器学习的CTR估计的情况下,这些实验性竞价器实现的CTR平均是常规竞价器1104的性能的两倍以上。最后,条块1108表示“积极性”竞价器(α=1)的性能,其实现的CTR超过常规竞价器1104实现的CTR的三倍。因此,清楚的是,与保守性竞价器1106相比,并且甚至与常规竞价器1104相比,实施本发明的积极性竞价器1108在以用户交互的高概率赢得广告位方面更为成功。
应该认识到的是,虽然本文已经描述了本发明的特定实施例和变型,但是对于相关领域的技术人员来说,进一步的修改和替代将是清楚见的。特别地,这些示例是通过图示本发明的原理的方式提供,并提供了许多使这些原理生效的具体方法和布置。一般而言,本发明的实施例依赖于提供技术布置,由此可以基于对供应物级别的用户交互的预测来进行与广告级别的在线广告系统中的广告位竞价相关的自动化实时决策。实施本发明的实时竞价模块被编程为响应于从广告交易服务器接收到的竞价请求消息来执行以下技术步骤:执行数据库记录的特定于领域的过滤以对供应物进行选择和排名,并基于CTR的供应物级别估计、相关联的收入值和积极性因子参数来计算对应的广告级别竞价价格。尤其是,采用了一种算法,该算法使得能够在“保守性”竞价(基于估计的供应物CTR的加权平均)和“积极性”竞价(基于用户与具有估计的CTR和收入生成的最高组合的供应物进行交互的期望)的极端之间进行对竞价积极性的连续控制。
在示例性实施例中,使用利用从投放和交互事件的数据库中导出的数据训练的机器学习模型来确定对供应物级别的交互的预测。通过这样的实施例实现的其它技术步骤包括匹配事件以生成被标记以供受监督学习算法使用的组合的投放/交互记录、计算用于在线学习的丰富特征向量,以及基于连续地更新事件数据来训练机器学习模型,以维护具有高效格式的可由实时竞价模块使用以做出快速决策(例如在30毫秒内)的当前且定期更新的模型表示。
所描述的实施例应该被理解为是通过示例的方式提供的,是为了教导本发明的一般特征和原理,但是不应被理解为限制本发明的范围,本发明的范围如所附权利要求书所定义。
表1:丰富特征的摘要
Claims (20)
1.一种实现需求侧平台的计算装置,所述计算装置包括:
处理器;
所述处理器能访问的至少一个存储器设备;以及
与所述处理器操作地相关联的数据通信接口,
其中所述存储器设备包含程序指令主体,所述程序指令主体包括指令,所述指令在由所述处理器执行时使所述计算装置实现包括以下步骤的方法:
经由数据通信接口从广告交易服务器接收包括竞价请求的消息,所述竞价请求包括与可用广告位相关的站点信息和用户信息;
生成从活跃供应物数据库中选择的供应物的经排名的列表,其中供应物的排名至少部分地基于站点信息和用户信息;
对于所述经排名的列表中的每个供应物,计算用户与供应物交互的概率的供应物级别估计;
对于所述经排名的列表中包括的供应物的至少一个组合,计算广告级别竞价价格,其中广告级别竞价价格至少基于计算出的用户交互的概率的供应物级别估计、对应的供应物级别交互收入和控制竞价定价的积极性的积极性参数;以及
经由数据通信接口向广告交易服务器发送包括竞价响应的消息,所述竞价响应包括竞价定价的广告,所述竞价定价的广告包括广告级别竞价价格和供应物的组合。
2.如权利要求1所述的装置,其中所述积极性参数包括“保守性”极限值,针对所述“保守性”极限值,所述程序指令使所述计算装置实现基于计算出的用户交互的概率的供应物级别估计的加权平均来计算广告级别竞价价格的步骤,其中加权平均的权重包括对应的供应物级别交互收入。
3.如权利要求1或2所述的装置,其中所述积极性参数包括“积极性”极限值,针对所述“积极性”极限值,所述程序指令使所述计算装置实现基于计算出的用户交互的概率的供应物级别估计与对应的供应物级别交互收入的积的最大值来计算广告级别竞价价格的步骤。
5.如权利要求1至4中的任一项所述的装置,其中所述供应物级别交互收入包括在需求侧平台的运营商与从活跃供应物数据库中选择的供应物的各个广告主之间达成的每次点击开销(CPC)值。
6.如权利要求1至5中的任一项所述的装置,其中计算用户与供应物交互的概率的每个供应物级别估计包括执行经训练的机器学习模型。
7.如权利要求6所述的装置,其中所述机器学习模型是在机器学习服务器上训练的。
8.一种计算机实现的方法,包括:
经由数据通信网络从广告交易服务器接收包括竞价请求的消息,所述竞价请求包括与可用广告位相关的站点信息和用户信息;
生成从活跃供应物数据库中选择的供应物的经排名的列表,其中供应物的排名至少部分地基于站点信息和用户信息;
对于所述经排名的列表中的每个供应物,计算用户与供应物交互的概率的供应物级别估计;
对于所述经排名的列表中包括的供应物的至少一个组合,计算广告级别竞价价格,其中广告级别竞价价格至少基于计算出的用户交互的概率的供应物级别估计、对应的供应物级别交互收入和控制竞价定价的积极性的积极性参数;以及
经由数据通信网络向广告交易服务器发送包括竞价响应的消息,所述竞价响应包括竞价定价的广告,所述竞价定价的广告包括广告级别竞价价格和供应物的组合。
9.如权利要求8所述的方法,其中所述积极性参数在两个极限之间是可变的。
10.如权利要求9所述的方法,其中所述两个极限中的第一极限是基于计算出的用户交互的概率的供应物级别估计的加权平均的“保守性”竞价极限。
11.如权利要求10所述的方法,其中所述加权平均的权重包括对应的供应物级别交互收入。
12.如权利要求9至11中的任一项所述的方法,其中所述两个极限中的第二极限是基于计算出的用户交互的概率的供应物级别估计和对应的供应物级别交互收入的组合的最大值的“积极性”竞价极限。
13.如权利要求12所述的方法,其中所述组合包括积。
14.如权利要求9至13中的任一项所述的方法,其中所述两个极限中的每个极限是有限的。
15.如权利要求9至14中的任一项所述的方法,其中所述积极性参数在所述两个极限之间连续可变。
16.如权利要求8至15中的任一项所述的方法,其中计算用户与供应物交互的概率的每个供应物级别估计包括执行经训练的机器学习模型。
17.如权利要求16所述的方法,其中所述机器学习模型是在机器学习服务器上训练的。
18.如权利要求16或17所述的方法,其中使用包括与聚合的用户交互事件匹配的聚合的内容投放事件的数据集来训练所述机器学习模型。
19.如权利要求18所述的方法,其中所述机器学习模型被连续地或定期地在线训练。
20.一种包括程序代码指令的计算机程序,当所述程序在计算机上执行时,所述程序代码指令用于执行根据权利要求8至19所述的方法的步骤。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/704,647 | 2017-09-14 | ||
FR1758516A FR3071086A1 (fr) | 2017-09-14 | 2017-09-14 | Un procede et systeme pour une offre adaptative intelligente dans un reseau d'echange en ligne automatise |
US15/704,647 US20190080363A1 (en) | 2017-09-14 | 2017-09-14 | Methods and systems for intelligent adaptive bidding in an automated online exchange network |
FR1758516 | 2017-09-14 | ||
PCT/EP2018/073845 WO2019052870A1 (en) | 2017-09-14 | 2018-09-05 | METHOD AND SYSTEM OF INTELLIGENT ADAPTIVE AUCTIONS IN AN AUTOMATED ONLINE EXCHANGE NETWORK |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111052167A true CN111052167A (zh) | 2020-04-21 |
Family
ID=63557444
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880056999.8A Pending CN111052167A (zh) | 2017-09-14 | 2018-09-05 | 自动化在线交易网络中的智能自适应竞价的方法和系统 |
Country Status (3)
Country | Link |
---|---|
EP (1) | EP3682403A1 (zh) |
CN (1) | CN111052167A (zh) |
WO (1) | WO2019052870A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114997927A (zh) * | 2022-06-28 | 2022-09-02 | 北京趣云万维信息技术有限公司 | 提升数字商城广告转化效果的实时竞价排序方法、系统、存储介质和电子设备 |
CN116647601A (zh) * | 2023-07-26 | 2023-08-25 | 北京创智汇聚科技有限公司 | 基于填充率动态调整推广内容请求量的方法及系统 |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112308579B (zh) * | 2019-07-24 | 2024-07-16 | 腾讯科技(深圳)有限公司 | 一种信息投放方法、装置及存储介质 |
CN111401981B (zh) * | 2020-02-19 | 2024-05-07 | 平安科技(深圳)有限公司 | 竞价云主机的竞价方法、装置及存储介质 |
CN113516495B (zh) * | 2020-09-30 | 2024-03-08 | 腾讯科技(深圳)有限公司 | 信息推送方法、装置、电子设备及计算机可读介质 |
CN113793172A (zh) * | 2021-08-30 | 2021-12-14 | 深圳壹账通智能科技有限公司 | 一种配件匹配方法、装置、计算机设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030229531A1 (en) * | 2002-06-05 | 2003-12-11 | Heckerman David E. | Modifying advertisement scores based on advertisement response probabilities |
US20100070373A1 (en) * | 2008-09-15 | 2010-03-18 | Microsoft Corporation | Auction System |
CN102576436A (zh) * | 2009-08-14 | 2012-07-11 | 数据书公司 | 用于将竞争估价模型用于实时广告报价的学习系统 |
CN104657879A (zh) * | 2013-11-19 | 2015-05-27 | 雅虎公司 | 基于用户参与的根据上下文的用于无保障递送的自动定价 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2637431C2 (ru) * | 2015-10-12 | 2017-12-04 | Общество С Ограниченной Ответственностью "Яндекс" | Способ и система определения оптимального значения параметра аукциона для цифрового объекта |
-
2018
- 2018-09-05 EP EP18769115.9A patent/EP3682403A1/en not_active Withdrawn
- 2018-09-05 CN CN201880056999.8A patent/CN111052167A/zh active Pending
- 2018-09-05 WO PCT/EP2018/073845 patent/WO2019052870A1/en unknown
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030229531A1 (en) * | 2002-06-05 | 2003-12-11 | Heckerman David E. | Modifying advertisement scores based on advertisement response probabilities |
US20100070373A1 (en) * | 2008-09-15 | 2010-03-18 | Microsoft Corporation | Auction System |
CN102576436A (zh) * | 2009-08-14 | 2012-07-11 | 数据书公司 | 用于将竞争估价模型用于实时广告报价的学习系统 |
CN104657879A (zh) * | 2013-11-19 | 2015-05-27 | 雅虎公司 | 基于用户参与的根据上下文的用于无保障递送的自动定价 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114997927A (zh) * | 2022-06-28 | 2022-09-02 | 北京趣云万维信息技术有限公司 | 提升数字商城广告转化效果的实时竞价排序方法、系统、存储介质和电子设备 |
CN116647601A (zh) * | 2023-07-26 | 2023-08-25 | 北京创智汇聚科技有限公司 | 基于填充率动态调整推广内容请求量的方法及系统 |
CN116647601B (zh) * | 2023-07-26 | 2023-09-29 | 北京创智汇聚科技有限公司 | 基于填充率动态调整推广内容请求量的方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
WO2019052870A1 (en) | 2019-03-21 |
EP3682403A1 (en) | 2020-07-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11170413B1 (en) | Methods, systems, and devices for counterfactual-based incrementality measurement in digital ad-bidding platform | |
US10943184B2 (en) | Machine learning methods and systems for predicting online user interactions | |
CA2751646C (en) | Determining conversion probability using session metrics | |
US20190080363A1 (en) | Methods and systems for intelligent adaptive bidding in an automated online exchange network | |
Miralles-Pechuán et al. | A novel methodology for optimizing display advertising campaigns using genetic algorithms | |
CN111095330B (zh) | 用于预测在线用户交互的机器学习方法和系统 | |
US7908238B1 (en) | Prediction engines using probability tree and computing node probabilities for the probability tree | |
JP5336471B2 (ja) | オンライン広告のためのメトリック変換 | |
CN111052167A (zh) | 自动化在线交易网络中的智能自适应竞价的方法和系统 | |
US20160132935A1 (en) | Systems, methods, and apparatus for flexible extension of an audience segment | |
US20080255921A1 (en) | Percentage based online advertising | |
US20110264519A1 (en) | Social behavioral targeting of advertisements in a social networking environment | |
US20110264522A1 (en) | Direct targeting of advertisements to social connections in a social network environment | |
US20110035273A1 (en) | Profile recommendations for advertisement campaign performance improvement | |
US20120059713A1 (en) | Matching Advertisers and Users Based on Their Respective Intents | |
US20120158456A1 (en) | Forecasting Ad Traffic Based on Business Metrics in Performance-based Display Advertising | |
US20100257022A1 (en) | Finding Similar Campaigns for Internet Advertisement Targeting | |
US8799081B1 (en) | Externality-based advertisement bid adjustment | |
US20120116875A1 (en) | Providing advertisements based on user grouping | |
US20160180376A1 (en) | Systems and methods for ad campaign optimization | |
US10181130B2 (en) | Real-time updates to digital marketing forecast models | |
US20150302467A1 (en) | System and method for real time selection of an optimal offer out of several competitive offers based on context | |
US20070005420A1 (en) | Adjustment of inventory estimates | |
US20160342699A1 (en) | Systems, methods, and devices for profiling audience populations of websites | |
US20100100471A1 (en) | Adaptive bidding scheme for guaranteed delivery contracts |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20200421 |
|
WD01 | Invention patent application deemed withdrawn after publication |