CN112785328A - 一种内容推送方法、装置及计算机存储介质 - Google Patents
一种内容推送方法、装置及计算机存储介质 Download PDFInfo
- Publication number
- CN112785328A CN112785328A CN202011135302.1A CN202011135302A CN112785328A CN 112785328 A CN112785328 A CN 112785328A CN 202011135302 A CN202011135302 A CN 202011135302A CN 112785328 A CN112785328 A CN 112785328A
- Authority
- CN
- China
- Prior art keywords
- resource
- playing
- played
- amount
- data
- 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
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/0251—Targeted advertisements
- G06Q30/0269—Targeted advertisements based on user profile or attribute
- G06Q30/0271—Personalized advertisement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- 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/0277—Online advertisement
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Strategic Management (AREA)
- Finance (AREA)
- Development Economics (AREA)
- Accounting & Taxation (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Evolutionary Computation (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Artificial Intelligence (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Game Theory and Decision Science (AREA)
- Entrepreneurship & Innovation (AREA)
- Economics (AREA)
- Marketing (AREA)
- General Business, Economics & Management (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请公开一种内容推送方法,包括:响应于接收到的资源获取请求,获取匹配的待播放资源;获取该待播放资源预定时间段内的播放数据;处理该播放数据处理得到与多个连续的时间分片一一对应的资源播放特征向量;将该多个资源播放特征向量输入预先训练好的长短期记忆神经网络模型以获取第一输入向量;从该播放数据中提取出统计稀疏特征;处理该统计稀疏特征得到第二输入向量;将该第一输入向量及该第二输入向量输入预先训练好的深度神经网络模型获取预测播放量;若待播放资源的已播放量与该预测播放量之和大于或等于预定播放量,则停止播放待播放资源。上述的方法可以避免广告资源的超播。本申请还公开一种内容推送装置、服务器及计算机存储介质。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种内容推送方法、装置及计算机存储介质。
背景技术
大数据(Big data)是指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。随着云时代的来临,大数据也吸引了越来越多的关注,大数据需要特殊的技术,以有效地处理大量的容忍经过时间内的数据。适用于大数据的技术,包括大规模并行处理数据库、数据挖掘、分布式文件系统、分布式数据库、云计算平台、互联网和可扩展的存储系统。
基于大数据技术,很多特殊形态的产品及服务得以实现。例如,基于用户兴趣的广告推送服务,在不影响用户使用产品前提下,能够将用户感兴趣的内容推送给用户。媒体平台可以预估各广告位在各定向条件下的可用库存,进而向客户合理地售卖广告播放资源。目前大部分广告都是通过签署担保式合约售卖的,客户可以针对合约广告固定购买一定量的曝光展示,广告的曝光量达到合约中要求的曝光量后媒体平台即可相应地停播该广告。
目前的超播控制算法比较简单,通过先验知识对于线上的播放情况做一个大体估计,然后设定一个阈值,比如最大可播的95%,观测播放进度,达到该阈值后将停单标志置1,即停单。
当前的技术存在大量问题:首先,阈值通过先验知识给出,是人的主观意愿,准确率很低;其次,阈值对于所有订单是一样的,然而合约广告订单数量有几万个,每个订单的人群定向、广告位都不一样,同一个阈值显然不合理,最后,线上广告播放受到各种因素控制,比如频次、定向挤占、混排算法等等,延迟时间,和延迟期间播放量几乎每时每刻都在变化,不变的阈值很难准确控制超播。
机器学习(Machine Learning,ML)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、式教学习等技术。
发明内容
本申请实施例提出了一种资源播智能放控制方法、装置及计算机存储介质。
第一方面,本申请实施例提供了一种内容推送方法,包括:
响应于接收到的资源获取请求,获取匹配的待播放资源,该待播放资源具有对应的预定播放量;
获取该待播放资源预定时间段内的播放数据;
处理该播放数据处理得到与多个连续的时间分片一一对应的资源播放特征向量;
将该多个资源播放特征向量输入预先训练好的长短期记忆神经网络模型以获取第一输入向量;
从该播放数据中提取出统计稀疏特征;
处理该统计稀疏特征得到第二输入向量;
将该第一输入向量及该第二输入向量输入预先训练好的深度神经网络模型获取预测播放量;以及;
若该待播放资源的已播放量与该预测播放量之和大于或等于该预定播放量,则停止播放该待播放资源。
第二方面,本申请实施例提供了一种内容推送装置,包括:
资源获取模块,用于响应于接收到的资源获取请求,获取匹配的待播放资源,该待播放资源具有对应的预定播放量;
播放数据获取模块,用于获取该待播放资源预定时间段内的播放数据;
第一数据处理模块,用于处理该播放数据处理得到与多个连续的时间分片一一对应的资源播放特征向量;
第一向量提取模块,用于将该多个资源播放特征向量输入预先训练好的长短期记忆神经网络模型以获取第一输入向量将该时间序列数据处理成基于时间序列的第一输入向量;
第二数据处理模块,用于从该播放数据中提取出统计稀疏特征;
第二向量提取模块,用于处理该统计稀疏特征得到第二输入向量;
预测模块,用于将该第一输入向量及该第二输入向量输入预先训练好的深度神经网络模型获取预测播放量;以及
播放控制模块,用于若该待播放资源的已播放量与该预测播放量之和大于或等于该预定播放量,则停止播放该待播放资源。
第三方面,本申请实施例提供了一种智能设备,包括:存储器;一个或多个处理器,与所述存储器耦接;一个或多个应用程序,其中,一个或多个应用程序被存储在存储器中并被配置为由一个或多个处理器执行,一个或多个应用程序配置用于执行上述第一方面提供的内容推送方法。
第四方面,本申请实施例提供了一种计算机可读取存储介质,计算机可读取存储介质中存储有程序代码,程序代码可被处理器调用执行上述第一方面提供的内容推送方法。
根据以上方案提供的内容推送方法、装置及服务器,通过将离散的类别特征编码嵌入转换为向量,进一步使用神经网络模型预测得到未来的实际播放量,可以避免广告资源的超播。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了本申请实施例提供的内容推送系统的架构示意图。
图2示出了本申请一个示例性实施方式提供的内容推送方法的流程示意图。
图3示出了图2所示的方法中超播控制的流程示意图。
图4示出了图2所示的方法中处理的输入向量的示意图。
图5示出了本申请一个示例性实施方式提供的DNN模型的结构示意图。
图6示出了本申请一个示例性实施方式提供的DNN模型的结构示意图。
图7示出了本申请一个示例性实施方式提供的LSTM模型的结构示意图。
图8示出了本申请一个示例性实施方式提供的LSTM模型的网络结构示意图。
图9示出了本申请一个示例性实施方式提供的LSTM模型的训练流程图。
图10示出了本申请一个示例性实施方式提供的DNN模型的训练流程图。
图11示出了本申请一个示例性实施方式提供的内容推送方法的流程示意图。
图12示出了本申请一个示例性实施方式提供的内容推送方法的流程示意图。
图13示出了本申请一个示例性实施方式提供的内容推送装置的结构框图。
图14示出了图13所示的内容推送装置的效果示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。
参阅图1,其为本申请实施方式提供的内容推送系统内容推送系统的架构示意图。内容推送系统内容推送系统包括内容推送服务器10与媒体客户端20。
内容推送服务器10用于根据媒体客户端20的请求返回待播放内容。在接收到媒体客户端20发送的内容获取请求后,内容推送服务器10将会获取对应的待播放内容,并将其返回给媒体客户端20。
媒体客户端20例如可包括:电脑、笔记本电脑、平板电脑、手机等。媒体客户端20内可运行有各种应用程序例如浏览器或者购物应用。这些应用在运行时将会向内容推送服务器10请求各种内容数据,亦即会向内容推送服务器10发送各种内容获取请求。
具体来说,内容推送服务器10包括:处理器11、主存储器12、非易失性存储器13、以及网络模块14。处理器11与主存储器12之间通过第一总线17相连,可以理解,这里的第一总线17仅为示意,并不限于只是一条物理意义上总线,任何可以将主存储器12与处理器11连接的硬件架构及技术均可使用。
主存储器12一般为易失性存储器,例如动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)。
非易失性存储器13及网络模块14均通过输入/输出(IO)总线18与第一总线17相连,进而可与处理器11进行交互。IO总线例如可以为外设部件互连标准(PeripheralComponent Interconnect,PCI)总线或者高速串行计算机扩展总线(PeripheralComponent Interconnect Express,PCI-E)。
非易失性存储器13可以是诸如闪存、EEPROM(电可擦除可编程只读存储器)、EPROM、硬盘或者ROM之类的电子存储器。
网络模块14可通过网络信号与内容推送服务器10相连。
非易失性存储器13内存储有内容引擎131及防超播模型132。
其中内容引擎131负责接收媒体客户端10发送的内容获取请求,根据内容获取请求获取用户特征,根据用户特征在待播放的资源库中检索所有匹配的内容资源。
在一个具体的实施方式中,防超播模型132是一个神经网络模型。
在一个具体的实施方式中,上述的内容资源例如是指广告,广告可以是文字、图片、视频、或者动画等多种方式。
在一个内容推送系统中会有以下几种参与者:资源播放服务提供方、资源播放服务投放主体以及用户。其中,资源播放播放服务提供方通过上述的内容推送系统给用户以及资源播放服务投放主体提供服务。以广告系统为例,资源播放服务投放主体是广告主,广告主需要投放广告时,可以与广告资源提供方签订合约订单,并在合约订单中指定需要投放的广告、期望播放量以及时间限制、定向条件等。
其中,定向条件是指广告主指定的广告投放对象,具体可以包括以下任意一种定向条件或者多种定向条件的组合:
(1)地域定向:例如很多广告主的业务有区域特性;
(2)人口属性定向:主要包括年龄、性别、教育程度、收入水平,等等;
(3)频道定向:适应于离转化需求比较近的垂直类媒体,如汽车,母婴等,覆盖面较窄;
(4)上下文定向:根据网页的具体内容(例如关键词、主题等)来匹配相关的广告;
(5)行为定向:根据用户的历史访问行为了解用户兴趣,从而投放广告;
(6)精确位置定向:根据终端设备信息(例如全球定位系统(Global PositioningSystem, GPS)定位信息、互联网协议(Internet Protocol,IP)地址等)进行基于精确地理位置的广告投放。
参阅图2,其为本发明一个示例性实施方式提供的内容推送方法的流程示意图,该方法例如可由上述的内容推送系统执行,用于控制资源的播放,该方法包括以下步骤:
步骤S1,接收资源获取请求。
在一个具体的实施方式中,上述的媒体客户端20中安装有应用程序,此处的应用程序例如可包括新闻客户端、浏览器、即时通讯软件、视频播放软件、小说阅读器等各种应用程序。应用程序除了向后台服务器请求正常的浏览内容数据外,还将向内容推送服务器10 发送资源获取请求以获取待播放的资源,以在媒体客户端20内进行展示播放。与此相应,内容推送服务器10将会接收到上述的资源获取请求。
在一个具体的实施方式中,在该资源获取请求中可包括一个用户识别符如用户令牌 (Token),内容推送服务器10从该资源获取请求中提取出该用户令牌,采用该用户令牌在用户数据中查找对应的用户,并进一步获取用户的特征信息。此处的用户令牌例如可以是根据开放标准RFC7519所定义的Json web token(JWT),也可以是的会话ID(Session),或者其他任意的可以唯一表明用户身份的标识符。
内容推送服务器10在接收到所上述的资源获取请求后,将获取对应的多媒体资源返回给媒体客户端20以进行显示或者播放。此处的多媒体资源例如是指广告。可以理解,广告是指从内容的角度去定义,在呈现形式上,多媒体资源可包括文字、图片、动画、视频的任意组合,甚至还可以是用来生成文字、图片、动画、视频的程序脚本,能够被媒体客户端20运行并展示相应的内容在其界面中可供用户观看的技术均可以使用。以下将结合更加具体的实施例描述内容推送服务器10根据上述的资源获取请求返回对应的多媒体资源的过程如下。
步骤S2,根据上述资源获取请求进行资源召回。
在一个具体的实施方式中,首先可根据上述资源获取请求内所包括的用户识别符获取对的用户信息,此处的用户特征信息可包括不同维度的用户特征数据,例如可包括用户的性别、年龄、教育程度、收入水平、兴趣、地理位置等等。
另一方面,对于所有的待播放资源来说,每个待播放资源可设置一个或多个用户特征作为匹配条件,或者说订阅条件。因此,对于每一个当前用户,根据这些设置的匹配条件,可以判断待播放资源与用户之间是否匹配。
例如一个上海男性的用户打开了音乐应用程序,此时会检索所有广告,假设只有三个广告A、B、C,其中,A预定了上海女性,B预定了上海男性,C预定了男性,那么B、C 两个广告与该用户匹配,而A广告与该用户不匹配。
此步骤的目标获取与当前用户匹配的待播放资源中的至少部分待播放资源。一般来说,可以采用关系型数据库存储不同待播放资源与用户特征之间的匹配关系。然后就可以采用用户特征作为条查询条件在该关系型数据库中进行查询以获取上述的至少部分待播放资源。可以理解,此处的关系型数据库令为示例,用户特征与待播放资源之间的匹配关系的存储方式并不受任何限制。
可以理解,由于待播放资源的数量一般非常大,即使采用了用户特征信息去做匹配搜索,最后获取的待播放资源的数量任何可能非常多,不可能在用户的界面中一次性全部展示,因此,需要针对这些召回的待播放资源,决定一个或几个待播放资源进行展示播放。
步骤S3,对召回的待播放资源进行过滤以获取资源匹配结果。
在一个具体的实施方式中,可以基于用户特征建立用户模型,另一方面,对于每个待播放资源,可以从待播放资源的文本、图像中提取关键词,根据用户模型及该关键词计算用户与每个待播放资源之间的匹配度。对于步骤S2中获取的待播放资源,可以根据该匹配度进行排序,然后只取匹配度在预定范围内的待播放资源,而匹配度低于该预定范围则可以在当前请求内予以丢弃。
进一步地,上述过程是直接通过用户的静态特征如性别、年龄来进行资源的匹配搜索。然而,这些特征只是将资源展示定向至某个特定的用户群体中。这种定向的用户特征匹配并不能反映出用户自己的兴趣特征。因此,在一个内容推送系统中,还可以收集用户不同维度的兴趣数据,然后根据用户的兴趣数据与待播放资源进行匹配度的计算,从而可根据用户的兴趣度对待播放资源进行排序,然后只取用户的兴趣度在预定范围内的待播放资源,而匹配度低于该预定范围则可以在当前请求内予以丢弃不再返回。
在一个具体的实施方式中,还可以根据用户当前浏览的内容与待播放资源之间的相似度来对待播放资源进行过滤。例如,可以从用户当前浏览的内容中及待播放资源中提取出关键字,然后进行语义分析,再基于语义分析结果判断用户当前浏览的内容与待播放资源之间的相似度。相似度越高,则对应的待播放资源的排序越高,也就越被容易留下来返回给媒体客户端20。
可以理解,即使经过上述排序及筛选过程,最终留下来的待播放资源的数量仍然有很多,但每次请求能够被展示的资源数量有限制,因此,无论如何最终只能从符合标准的待播放资源中获取指定数量的待播放资源返回。
在一个具体的实施方式中,可以采用随机函数来决定哪些待播放资源可以留下。例如,可以给每个待播放资源一个概率值(Rate),例如0.5,采用一个取值服从0-1的均匀分布的随机函数对每个待播放资源来生成一个随机数,或该随机数大于该Rate值,则该待播放资源留下,否则该待播放资源此次不展示。因此,通过调整每个待播放资源的rate值的大小,可以控制该待播放资源被展示播放的概率。
步骤S4,返回上述的资源匹配结果。
在获取到足够数量的待播放资源后,内容推送服务器10可以将其返回给媒体客户端20。相应地,媒体客户端20接收到该待播放资源后,在其用户界面中进行展示,即显示及播放上述的文字、图片、动画、视频。
在一个具体的实施方式中,上述的步骤S3中,对召回的待播放资源,除了进行上述的排序及筛选过程外,还可以执行超播的控制过程,参阅图3,该超播的控制过程包括以下步骤:
步骤S31,获取每个待播放资源的播放数据。
在图1所示的内容推送系统中,还可记录媒体客户端20的每一次资源播放操作,具体而言,可以记录某一个待播放资源的每次在媒体客户端20中的展示播放时间以及对应的用户特征信息。这些播放数据可以存储在一个数据库中,以方便查询使用。本实施方式提供的方法中,可基于这些播放数据对某一个待播放资源在将来的预定时间范围内是否会发生超播的现象进行预测,并基于预测结果控制该待播放资源是否需要继续推送至媒体客户端。
此处的超播是指某个待播放资源的展示播放量超过预定播放量的现象。这个预定播放量是已经预先设定好的,或者动态获取的。一般而言,待播放资源是与一个资源投放的订单合约相关联的,该订单合约可以对该预定播放量进行约定。在此种情形下,这个预定播放量可提前预定好。但可以理解的是,此处的预先设定好并不意味着仅仅是一个固定的值。例如,可以设定每天的预定播放量,可以设定每个小时的预定播放量,可以设定不同地域的用户的预定播放量,可以设定不同性别用户的预定播放量,也就是说,此预定播放量可以是与用户特征相关的,与时间相关的,或者与地理位置相关。但无论具体的设置策略为何,其预定播放量都会有一个上限,超过此上限,即视为超播。
在另一种场景下,预定播放量不是直接由订单合约事先约定好的,其可由资源播放投放主体的计算机系统通过应用程序编程接口来动态设定的。此时,资源播放投放主体可以动态监控资源播放的统计数据,并根据不同的用户反馈来动态的调整预定播放量。在此种场景下,要求内容推送系统开放应用程序编程接口供资源播放投放主体来调用。
根据具体的资源播放数据统计结果,整体上来说,资源的实际播放量变化比较平滑,但在不同的时间点会呈现不同的特征,这说明资源的实际播放量与时间密切相关。此外,资源的实际播放量与待播放资源相关的用户特征信息也有关联的,假设有待播放资源D1 与D2,其预定播放量为1000,但其所关联的用户特征不同,那么在不进行超播控制的前提下,资源的实际播放量曲线增长也不相同。综合来说,若要根据某个待播放资源的已有播放数据对将来预定时间的该待播放资源的播放量进行预测,则需要同时考虑时间因素与用户特征信息。
步骤S32,对获取的播放数据进行处理得到与多个连续的时间分片一一对应的资源播放特征向量。
对获取的播放数据进行处理的目的是要建立神经网络模型,从而可是根据过去一段时间内的资源播放数据对未来预定时间内的资源播放量进行预测,进一步根据预测结果进行资源播放的超播放控制。对于资源播放控制的应用场景来说,一般未来1分钟的播放量即可满足准确的超播控制要求。也就是说,目标是通过过去一段时间内的资源播放数据预测将来一分钟内的资源播放量。当然,此处的1分钟仅为示意,实际时间并不受任何限制。
对于基于过往数据预测将来的场景,长短期记忆网络(LSTM,Long Short-TermMemory) 模型可以使用来进行上述的预测。对于LSTM模型来说,其输入的特征要符合两点要求,特征用向量表达,而且要基于时间分片对特征进行堆叠处理,形成堆叠特征才能应用于 LSTM模型。
对于LSTM模型来说,其输入的特征是一个三维矩阵,该三维矩阵是按(批次大小、时间步长、特征)的结构来组织的。具体来说,批次大小是指某一个批次的播放数据对应的时间分片的数量。而时间分片是指进行资源播放数据统计的最小时间单位。时间步长是指要进行特征堆叠的时间分片数量,其对应的是一个连续的时间段内。特征是指按照上述的步骤得到的多维向量。
在一个具体的实施方式中,上述的多维向量里可包括以下信息:曝光、库存、版位、订单等。其中,曝光是指已播放量,库存是指所有可用的播放量。
在一个具体的实施方式中,上述的批次大小为10,时间步长为5,而时间分片的长度是1分钟,也就是说,这种输入特征的构造方式,其目标是采用过去10分钟的资源播放数据来预测未来1分钟的资源播放量。可以理解,批次大小、时间步长、时间分片的长度不限于上述示例性的值,可以根据实际情况进行调整。
假设现有10分钟内的资源播放数据,即10个时间分片的资源播放数据分别标记为1-10,若时间步长为5,则将序号1、2、3、4、5的时间分片对应的特征向量堆叠,将序号2、3、4、5、6时间分片对应的特征向量堆叠,将序号3、4、5、6、7时间分片对应的特征向量堆叠,将序号4、5、6、7、8时间分片对应的特征向量堆叠,以此类推,直到将所有的时间分片使用到。假设批次大小为N,时间步长为S,则实际得到的堆叠后的特征数量为N-S+1。
在一个具体的实施方式中,参阅图4,其为处理后的多个连续的时间分片一一对应的资源播放特征向量的示意图。第一维是每个批次中的训练数据样本数,本实施方式中为100,时间步长为5,特征维度(feature)为4,具体是曝光量、库存量、版位id、订单id四个特征。
步骤S33,根据上述的与多个连续的时间分片一一对应的资源播放特征向量获取第一输入向量。
首先,采用已有的资源播放数据训练上述的LSTM模型,也就是说根据已有的资源播放数据构造训练样本,而实际的播放量用于进行验证模型,一直训练到上述的LSTM模型收敛。
在完成模型的训练后,取最近一段时间内的播放数据构造一个批次的输入特征,输入训练好的模型即可得到第一输入向量。值得注意的是,在此种模型下,LSTM模型的输出并不是直接的播放量,其输出的第一输入向量是一个稠密矩阵。
步骤S34,对获取的播放数据中的稀疏特征进行处理得到第二输入向量。
可以理解,在神经网络模型中的输入特征是一种对于数据的表达,一般用向量来表示,假设其维度为N*N,意味着由N*N个数构成了该向量,若该N个数中为0的值的数量大于非0值的数量,则可以定义该特征是稀疏特征。0的比例越高,则稀疏程度越高。
在内容推送系统中,像版位、地域分类、人群标签、媒体标签、基础属性等类别特征信息就属于稀疏特征。
此处的版位例如是指资源播放的位置,地域分类是指用户的地理区域,一般可能细致到省份、城市、区、甚至街道,人群标签是指用户的群体标签如文艺青年,媒体标签例如是指不同的应用程序,基础属性例如是指用户的性别、年龄等。
在一个具体的实施方式中,对于用户的类别特征信息可以进行编码处理,例如采用独热(One-Hot)编码,将离散的特征数据转换成向量。One-Hot会把类别特征根据取值个数,映射到一个向量,向量中的每一位代表该样本是否输入这个特征,比如性别,有两个取值,男和女,那么经编码后,男会被映射成(0,1)女会被映射成(1,0),再比如媒体分为应用程序A、应用程序B、应用程序C、及应用程序D,那么应用程序A的就会被映射成(1,0,0,0)。以此类推,就可以将类别特征数据转换成向量。
值得注意的是,如果有两个类别特征,就得到了两个向量,如果有更多的类别特征,将会有更多个向量。多个向量可以进行嵌入(Embedding)处理,将多个向量映射到一个多维向量中。
步骤S35,根据上述第一输入向量与第二输入向量获取预测播放量。
在一个具体的实施方式中,将上述的第一输入向量与第二输入向量拼接(concat)起来形成第三输入向量,该第三输入向量输入一个预先训练好的深度神经网络模型(DeepNeural Networks,DNN)中,从而得到上述的预测播放量。
在一个具体的实施方式中,参阅图5,其为采用的DNN模型的结构示意图。该深度神经网络包括:输入层210、稠密层220、隐藏层230、以及输出240。
输入层210分别用于处理稠密特征及统计稀疏特征。
稠密特征实际上述的LSTM模型的输出结果。
统计稀疏特征是指除了时序相关特征外的所有特征,可包括历史播放速度,以及定向特征:年龄、性别、地域等。
上部的DNN模型用来整合时间序列与非时间序列特征,然后做出预测,在一个具体的实施方式中,DNN模型是一个多层感知机(Multi-layer Perceptrons,MLP)模型,由多个普通的感知机构成,如图6所示。
图6中所示的输入层(input layer)是将LSTM模型输出的稠密矩阵和统计稀疏特征映射得到的向量拼接到一起形成新的输入向量。中间隐层(hidden layer)为三层,输出(output layer)是预测未来的播放量。
在一个具体的实施方式中,上述的拼接方法解释如下:比如LSTM模型产出的向量是 (0.52,0.36,0.25,0.14,0.896),统计稀疏特征产出的特征是(0.89,0.56,0.25,0.45,0.578,0.56),拼接后的结果就是(0.52,0.36,0.25,0.14,0.896,0.89,0.56,0.25,0.45,0.578,0.56)。
步骤S36,根据上述得到的预测播放量进行超播控制。
在一个具体的实施方式中,上述的超播控制包括以下步骤:判断当前已播放量加上预测播放量是否大于或者等于预定播放量,若是,则暂停该待播放资源的播放展示,若否,可以继续该待播放资源的播放展示。
在一个具体的实施方式中,对于被暂停播放的资源,直接停止返回给媒体客户端即可,也就是说,将即将超播的资源暂停投放。
在另一个具体的实施方式中,执行超播控制的主体与最终返回资源给媒体客户端20的主体并不相同,此时可以直接给待播放资源或者其对应的订单合约一个用于指示暂停播放展示的停单标志,该停单标志可以存储在数据库或者缓存系统中,方便执行返回资源给媒体客户端20的主体调用即可。
根据本实施例提供的内容推送方法,通过LSTM模型处理与时间序列密码相关的特征,与统计稀疏特征一起输入DNN模型中,采用已有数据来预测将来的播放量,进面可以根据预测播放量来避免广告资源的超播。如图5所示为采用本实施例的方法前后的对比图,其中左侧是未使用本实施例的方法,可以看出明显有超播的现象,而采用本实施例的方法后,超播现象基本消除。参阅图7,其为本申请一个示例性实施方式提供的LSTM模型的网络结构示意图。如图7所示,该LSTM模型包括:数据输入层11、编码层12、嵌入层13、堆叠层14及模型层15。
数据输入层101用于获取输入的数据特征,此处的数据特征一般是指与时间密码相关的特征,例如可包括预定量、播放量、播放速度等。
编码层102用于对数据输入层101提供的类别特别进行编码处理,例如采用独热(One-Hot)编码,将离散的特征数据转换成向量。One-Hot会把类别特征根据取值个数,映射到一个向量,向量中的每一位代表该样本是否输入这个特征,比如性别,有两个取值,男和女,那么经编码后,男会被映射成(0,1)女会被映射成(1,0),再比如媒体分为应用程序A、应用程序B、应用程序C、及应用程序D,那么应用程序A的就会被映射成(1,0,0,0)。
嵌入层103用于对编码层102输出的向量以及数据输入层11提供数值特征映射到一个指定维度的向量中。例如,可以将其映射到一个16维的向量中。
嵌入层103的输出可以输入堆叠层104进行输入特征堆叠得到训练样本。
LSTM属于循环神经网络(Recurrent Neural Network,RNN)模型,需要将样本构造成(批次大小,时间步长,特征)维度的三维矩阵,即特征堆叠,其中批次大小是一批特征的大小,特征就是订单、定向、播放级别的特征。
其构造方法如下,比如有10个时间片,时间步长是5,那么1,2,3,4,5时间片的数据组合在一起,2,3,4,5,6组合在一起,3,4,5,6,7组合在一起,以此类推。时间片的时长例如可以是1秒、5秒、10秒、20秒、30秒、1分钟或者更长时间。
参阅图8,其为本申请一个示例性实施方式提供的LSTM模型的结构示意图,LSTM神经网络模型结构中包括多个记忆块,每个记忆块包括遗忘门ft、输入门it、输出门Ot及一个记忆单元Ct。横线表示单元状态(Cell State)
LSTM神经网络模型包括一个四层结构,具体包括第一神经网络层103、第二神经网络层104、第三神经网络层105及第四神经网络层106。其中第一神经网络层103、第二神经网络层104、及第四神经网络层106为sigmoid神经网络层,第三神经网络层105层为tanh 神经网络层。
LSTM神经网络具有“记忆性”的原因在于不同“时间点”之间的网络存在连接,而不是单个时间点处的网络存在前馈或者反馈,也即如图6所示的各隐藏层之间有箭头进行连接,其中的箭头代表按照时间步序列进行神经单元之间的跳转连接。
LSTM第一步是用来决定什么信息可以通过单元状态。这个决定由遗忘门ft层通过第一神经网络层103来控制,它会根据上一时刻的输出ht-1和当前输入xt来产生一个0到1的ft值,来决定是否让上一时刻学到的信息Ct-1通过或部分通过。如下:
ft=σ(Wf·[ht-1,xt]+bf)
LSTM第二步是用于产生需要更新的新信息。这一步包含两部分,首先输入门it通过第二神经网络层104来决定哪些值用来更新,其次是第三神经网络层105用来生成新的候选值,它作为当前层产生的候选值可能会添加到单元状态中。可以把这两部分产生的值结合来进行更新。
it=σ(Wi·[ht-1,xt]+bi)
最后一步是决定模型的输出,首先是通过第四神经网络层106来得到一个初始输出,然后使用第三神经网络层105将Ct值缩放到-1到1间,再与第四神经网络层106得到的输出逐对相乘,从而得到模型的输出。
ot=σ(Wo[ht-1,xt]+bo)
ht=ot*tanh(Ct)
LSTM作为深度模型的一种,输入数据必须是稠密(dense)的,但如上所述,广告播放过程中相关的参数都是类别特征,并不是稠密的,因此需要对现有的LSTM模型进行修改。
参阅图9,其为上述的LSTM模型的训练方法的流程示意图,该训练方法包括以下步骤:
步骤S101,记录资源播放数据。
在图1所示内容推送系统中,返回待播放资源给媒体客户端20后,还可记录资源的播放数据。资源的播放数据可以存储在数据库系统中。
在一个具体的实施方式中,上述的资源播放数据可包括:类别特征信息与数值数据。其中,类别特征信息是用来描述用户分类属性的标签,其取值范围会是在多个选项中的一个。例如,以用户性别为例,其可能为以下几种选项之一:男性、女性、不详,除此之外,用户性别这个用户特征不会有其他的选项。当然,此处的选项数量仅为示意,性别也可能包括不同的定义,但无论哪种情形,其选项的可能性是确定的。以用户的地理位置为例,如果细分到用户的省份,对于中国用户来说,其可能的取值选项只有30多个。以此类推,诸如此类选项只能是从一个固定的清单选项中取一个或多个的用户特征定义上述的类别特征信息。
与此相对,其他一些资源播放数据,例如预定播放量、实际播放量,其聚会范围可能是连续分布的,这种类型的数据定义为上术的数值数据。
在一个具的实施方式中,记录资源播放数据包括在在数据库中新增一条资源播放记录,资源播放记录内可包括被播放的资源的标识符,以及上述的资源播放数据。
步骤S102,将记录的资源播放数据进行处理成特征向量。
如上所述,要根据某个待播放资源的已有播放数据对将来预定时间的该待播放资源的播放量进行预测,则需要同时考虑时间因素与用户特征信息,对于用户特征里的类别特征信息,其取值是离散的,并没有办法直接当成向量使用。
在一个具体的实施方式中,对于用户的类别特征信息可以进行编码处理,例如采用独热(One-Hot)编码,将离散的特征数据转换成向量。One-Hot会把类别特征根据取值个数,映射到一个向量,向量中的每一位代表该样本是否输入这个特征,比如性别,有两个取值,男和女,那么经编码后,男会被映射成(0,1)女会被映射成(1,0),再比如媒体分为应用程序A、应用程序B、应用程序C、及应用程序D,那么应用程序A的就会被映射成(1,0,0,0)。以此类推,就可以将类别特征数据转换成向量。
值得注意的是,如果有两个类别特征,就得到了两个向量,如果有更多的类别特征,将会有更多个向量。这些向量无法直接应用LSTM模型,还需要进行嵌入(Embedding)处理,将多个向量映射到一个多维向量中。同时,对于待播放资源的预定播放量以及实际播放量的数据也可以被映射到该多维向量中。
步骤S103,将处理好的特征向量通过时间步长进行堆叠得到训练样本。
对于LSTM模型来说,其输入的特征是一个三维矩阵,该三维矩阵是按(批次大小、时间步长、特征)的结构来组织的。具体来说,批次大小是指某一个批次的资源播放数据对应的时间分片的数量。而时间分片是指进行资源播放数据统计的最小时间单位。时间步长是指要进行特征堆叠的时间分片数量,其对应的是一个连续的时间段内。特征是指按照上述的步骤得到的多维向量。
在一个具体的实施方式中,上述的批次大小为10,时间步长为5,而时间分片的长度是1分钟,也就是说,这种输入特征的构造方式,其目标是采用过去10分钟的资源播放数据来预测未来1分钟的资源播放量。可以理解,批次大小、时间步长、时间分片的长度不限于上述示例性的值,可以根据实际情况进行调整。
假设现有10分钟内的资源播放数据,即10个时间分片的资源播放数据分别标记为1-10,若时间步长为5,则将序号1、2、3、4、5的时间分片对应的特征向量堆叠,将序号2、3、4、5、6时间分片对应的特征向量堆叠,将序号3、4、5、6、7时间分片对应的特征向量堆叠,将序号4、5、6、7、8时间分片对应的特征向量堆叠,以此类推,直到将所有的时间分片使用到。假设批次大小为N,时间步长为S,则实际得到的堆叠后的特征数量为N-S+1。
步骤S104,采用堆叠后的训练样本训练LSTM模型。
在一个具体的实施方式中,LSTM模型的输出参数可以被设置成一个1*1的向量,即一个数值,该数据值的含义是预估的未来的播放量。
在一个具体的实施方式中,采用预估播放量与实际播放量的差的平方作为模型偏差 (loss)评估的参数。
在一个具体的实施方式中,采用梯度下降法进行模型训练。
可以理解,在神经网络模型的训练过程本质上就是寻找最优化的模型参数的过程,此处的最优化的模型参数的定义,是指使得模型的预测结果与实际值之间的偏差的差异小于指定幅度,也就是说上述的预估播放量与实际播放量的差的平方的值要小于指定的范围。满足此条件,视为模型成功收敛,训练成功。
值得注意的是,当上述的LSTM模型训练完成后,可将其输出设置成输出特征向量,而不直接输出预测的播放量。
参阅图10,其为上述的DNN的训练流程示意图。该训练流程包括以下步骤:
步骤S201,记录播放记录以及对应的特征数据。
此处的播放记录例如是指每条广告的播放时间,以及对应匹配的订单信息、用户信息等,根据这些信息可以提出各种特征。整体上来说,特征可以分成时间顺序特征与非时间序列特征。其中,时间序列特征是指与时间序列密切相关的特征,例如不同时间点的播放量。非时间序列特征例如是指与时间序列无明显关联的特征,例如历史播放速度,年龄、性别、地域等。
步骤S202,将非时间序列特征映射至第二输入向量中。
具体地,首先将特征通过独热编码方式映射成向量,再进行嵌入处理,与数值特征一起拼接到一个稠密向量中。
步骤S203,将时间序列数据处理成稠密向量并堆叠以输入LSTM模型。
时间序列特征数据例如是指曝光量、库存、版位信息、订单属性等。时间序列数据可以分成类别数据以及数值类数据,对于类别数据采用编码映射成向量,再与数值数据拼接至一个稠密向量中,进一步地,根据时间步长,将数据特征分成多个样子,多个样本堆叠以达到能输出到LSTM模型的目的。
步骤S204,将步骤S203中产出的数据输入LSTM模型,得到表征时间序列性的第一输入向量。
步骤S205,将步骤S202与步骤S204中产出的向量拼接形成第三输入向量。
在一个具体的实施方式中,上述的拼接方法解释如下:比如LSTM模型产出的向量是 (0.52,0.36,0.25,0.14,0.896),统计稀疏特征产出的特征是(0.89,0.56,0.25,0.45,0.578,0.56),拼接后的结果就是(0.52,0.36,0.25,0.14,0.896,0.89,0.56,0.25,0.45,0.578,0.56)。
步骤S206,将输入向量输入到DNN模型中。
步骤S207,DNN模型输出的是预估未来的播放量,采用预估播放量与实际播放量的差的平方来评估模型损失。重复以上步骤S204至步骤S207直到模型收敛。得到收敛后的模型,就可以将要进行预测的待播放资源的相关数据进行处理得到输入向量,然后再输入训练好的DNN模型得到预测的播放量,若当前已播放量加上预估播放量的和大于等于每天的最大可播放量,就可以发送停单标记,否则继续播放。
在一个具体的实施方式中,采用预估播放量与实际播放量的差的平方作为模型偏差 (loss)评估的参数。
在一个具体的实施方式中,采用梯度下降法进行模型训练。
可以理解,在神经网络模型的训练过程本质上就是寻找最优化的模型参数的过程,此处的最优化的模型参数的定义,是指使得模型的预测结果与实际值之间的偏差的差异小于指定幅度,也就是说上述的预估播放量与实际播放量的差的平方的值要小于指定的范围。满足此条件,视为模型成功收敛,训练成功。
参阅图11本申请一个示例性的实施例提供一种内容推送方法,该方法与图3所示的方法相似,其不同之处在于,步骤S36包括:
步骤S361,根据预测播放量获取对应的播放概率值。
如上所述,在资源的召回过程中,一个请求可能召回大量匹配的待播放资源,此时需要从匹配的资源里获取一个或多个待播放资源返回给媒体客户端20。
在一个具体的实施方式中,可以采用随机函数来决定哪些待播放资源可以留下。例如,可以给每个待播放资源一个概率值(Rate),例如0.5,采用一个取值服从0-1的均匀分布的随机函数对每个待播放资源来生成一个随机数,或该随机数大于该Rate值,则该待播放资源留下,否则该待播放资源此次不展示。因此,通过调整每个待播放资源的rate值的大小,可以控制该待播放资源被展示播放的概率。
在一个具体的实施方式中,上述的播放概论值是与预测播放量与实际播放量之间的差值正相关的,也就是说,该差值越大,该播放概率值越大,播放概率值R与该差值之间可构成一个明确的函数关系,亦即,R=f(d),其中,R表示待播放资源的播放概率值,d表示预测播放量与实际播放量之间的差值。当然,播放概率值R与该差值之间正相关并不限于构成函数关系。例如,还可以是通过一个简单的映射表,根据差值的不同区间,直接给定不同的概率值系数,最终的播放概率值R计算时需要乘以该概率值系数。
步骤S362,采用该播放概率值控制资源的过滤。
对于每一个被召回的资源,可以采用上述的播放概率值来控制是否进行播放。具体地,采用一个取值服从0-1的均匀分布的随机函数对每个待播放资源来生成一个随机数,或该随机数大于该播放概率值来,则该待播放资源留下,否则该待播放资源此次不展示。
可以理解,由于预测播放量与实际播放量之间的差值正相关,当该差值较大时,也就是预定的播放计划较大的比例没有完成时,待播放资源具有更高的播放概率,能够提升待播放资源的播放速度,而当该差值较小时,也就是预定的播放计划已经基本完成时,待播放资源具有较小的播放概率,其播放速度将会下降,如此,整体的播放将会以一个相对缓慢的速度逐渐逼近预定播放量,从而可以进一步降低超播的概率。
参阅图12,本申请一个示例性的实施方式提供一种内容推送方法,该方法与图3所示的方法相似,其不同之处在于,在步骤S36之后还包括:
步骤S37,等待预定时间后根据该待播放资源的实际播放量是否大于或等该预定播放量进行定量补充播放。
在以上描述的各实施方式中,是根据预测的播放量来决定是否停止某个资源的播放,具体来说,当判定实际播放量已经要发生超播时,即停止该资源的播放。在实际的应用场景中,仍然存在概率,该资源的实际播放量仍然没有达到预定的播放量,这种情形可能被视为违约。
上述预定的时间并没有任何特定的限制,只要其大于从发出停单的指示后,到该指示完全生效,指定的资源完全停止播放的时间。在一个具体的实施方式中,该预定时间例如可以是1分钟。也就是说,从发出停电标志起1分钟后,可以根据实际播放是与预定播放量来进行补充播放。
假设某个特播放资源要进行补充播放,其补充的播放量为预定播放量减去实际播放量。对于补充播放的资源,可以单独设置一个补充播放的资源库,每个待播放资源存储有需要补充播放的量。在图1所示的内容推送系统中,可以使补充播放资源库的资源进行优先匹配,从而可以使某个时间段的资源投放合约提前完成。
根据本实施方式提供的内容推送方法,在发送停单标志后,还根据待播放资源的实际播放量是否大于或等该预定播放量进行定量补充播放,既能控制该待播放资源不发生超播,还能使其实际播放量精准的等于实际播放量,提升内容推送系统的工作效率。
在一个具体的实施方式中,上述的媒体客户端20内包括一个视频播放应用程序,当用户操作该视频播放应用程序时,可以在一个或者多个界面触发媒体客户端20终端执行视频广告的加载动作。例如,当用户在该视频播放应用程序中点击播放某一个想要看的视频时,触发上的视频广告的加载动作。也就是说,媒体客户端20将向资源服务器10发送视频广告获取请求。
内容推送服务器10在接收到该视频广告获取请求后,从视频广告库里召回所有与当前用户特征匹配的视频广告。对于召回原视频广告,可以进行排序、过滤等操作,最终得到指定数量的视频广告,然后发送给媒体客户端20。媒体客户端20在接收到资源服务器10返回的视频广告后,可以在该视频播放应用程序中界面中播放该视频广告。
参阅图13,其为本申请一个示例性实施方式中提供的内容推送装置的结构框图。该装置包括:
资源获取模块310,用于响应于接收到的资源获取请求,获取匹配的待播放资源,该待播放资源具有对应的预定播放量。
在一个具体的实施方式中,上述的资源例如是指广告,广告可以是文字、图片、视频、或者动画等多种方式。
在一个内容推送系统中会有以下几种参与者:资源播放服务提供方、资源播放服务投放主体以及用户。其中,资源播放播放服务提供方通过上述的内容推送系统给用户以及资源播放服务投放主体提供服务。以广告系统为例,资源播放服务投放主体是广告主,广告主需要投放广告时,可以与广告资源提供方签订合约订单,并在合约订单中指定需要投放的广告、期望播放量以及时间限制、定向条件等。
其中,定向条件是指广告主指定的广告投放对象,具体可以包括以下任意一种定向条件或者多种定向条件的组合:
(1)地域定向:例如很多广告主的业务有区域特性;
(2)人口属性定向:主要包括年龄、性别、教育程度、收入水平,等等;
(3)频道定向:适应于离转化需求比较近的垂直类媒体,如汽车,母婴等,覆盖面较窄;
(4)上下文定向:根据网页的具体内容(例如关键词、主题等)来匹配相关的广告;
(5)行为定向:根据用户的历史访问行为了解用户兴趣,从而投放广告;
(6)精确位置定向:根据终端设备信息(例如全球定位系统(Global PositioningSystem, GPS)定位信息、互联网协议(Internet Protocol,IP)地址等)进行基于精确地理位置的广告投放。
播放数据获取模块320,用于获取该待播放资源预定时间段内的播放数据。
在图1所示的内容推送系统中,还可记录媒体客户端20的每一次资源播放操作,具体而言,可以记录某一个待播放资源的每次在媒体客户端20中的展示播放时间以及对应的用户特征信息。这些播放数据可以存储在一个数据库中,以方便查询使用。本实施方式提供的方法中,可基于这些播放数据对某一个待播放资源在将来的预定时间范围内是否会发生超播的现象进行预测,并基于预测结果控制该待播放资源是否需要继续推送至媒体客户端。
此处的超播是指某个待播放资源的展示播放量超过预定播放量的现象。这个预定播放量是已经预先设定好的,或者动态获取的。一般而言,待播放资源是与一个资源投放的订单合约相关联的,该订单合约可以对该预定播放量进行约定。在此种情形下,这个预定播放量可提前预定好。但可以理解的是,此处的预先设定好并不意味着仅仅是一个固定的值。例如,可以设定每天的预定播放量,可以设定每个小时的预定播放量,可以设定不同地域的用户的预定播放量,可以设定不同性别用户的预定播放量,也就是说,此预定播放量可以是与用户特征相关的,与时间相关的,或者与地理位置相关。但无论具体的设置策略为何,其预定播放量都会有一个上限,超过此上限,即视为超播。
在另一种场景下,预定播放量不是直接由订单合约事先约定好的,其可由资源播放投放主体的计算机系统通过应用程序编程接口来动态设定的。此时,资源播放投放主体可以动态监控资源播放的统计数据,并根据不同的用户反馈来动态的调整预定播放量。在此种场景下,要求内容推送系统开放应用程序编程接口供资源播放投放主体来调用。
根据具体的资源播放数据统计结果,整体上来说,资源的实际播放量变化比较平滑,但在不同的时间点会呈现不同的特征,这说明资源的实际播放量与时间密切相关。此外,资源的实际播放量与待播放资源相关的用户特征信息也有关联的,假设有待播放资源D1 与D2,其预定播放量为1000,但其所关联的用户特征不同,那么在不进行超播控制的前提下,资源的实际播放量曲线增长也不相同。综合来说,若要根据某个待播放资源的已有播放数据对将来预定时间的该待播放资源的播放量进行预测,则需要同时考虑时间因素与用户特征信息。
第一数据处理模块330,用于将该播放数据处理得到与多个连续的时间分片一一对应的资源播放特征向量。
如上所述,要根据某个待播放资源的已有播放数据对将来预定时间的该待播放资源的播放量进行预测,则需要同时考虑时间因素与用户特征信息,对于用户特征信息来说,像版位、地域分类、人群标签、媒体标签、基础属性等类别特征信息并没有办法直接输入LSTM 模型,首先需要将期处理成向量。
此处的版位例如是指资源播放的位置,地域分类是指用户的地理区域,一般可能细致到省份、城市、区、甚至街道,人群标签是指用户的群体标签如文艺青年,媒体标签例如是指不同的应用程序,基础属性例如是指用户的性别、年龄等。
在一个具体的实施方式中,对于用户的类别特征信息可以进行编码处理,例如采用独热(One-Hot)编码,将离散的特征数据转换成向量。One-Hot会把类别特征根据取值个数,映射到一个向量,向量中的每一位代表该样本是否输入这个特征,比如性别,有两个取值,男和女,那么经编码后,男会被映射成(0,1)女会被映射成(1,0),再比如媒体分为应用程序A、应用程序B、应用程序C、及应用程序D,那么应用程序A的就会被映射成(1,0,0,0)。以此类推,就可以将类别特征数据转换成向量。
值得注意的是,如果有两个类别特征,就得到了两个向量,如果有更多的类别特征,将会有更多个向量。这些向量无法直接应用LSTM模型,还需要进行嵌入(Embedding)处理,将多个向量映射到一个多维向量中。同时,对于待播放资源的预定播放量以及实际播放量的数据也可以被映射到该多维向量中。
对于LSTM模型来说,其输入的特征是一个三维矩阵,该三维矩阵是按(批次大小、时间步长、特征)的结构来组织的。具体来说,批次大小是指某一个批次的播放数据对应的时间分片的数量。而时间分片是指进行资源播放数据统计的最小时间单位。时间步长是指要进行特征堆叠的时间分片数量,其对应的是一个连续的时间段内。特征是指按照上述的步骤得到的多维向量。
在一个具体的实施方式中,上述的批次大小为10,时间步长为5,而时间分片的长度是1分钟,也就是说,这种输入特征的构造方式,其目标是采用过去10分钟的资源播放数据来预测未来1分钟的资源播放量。可以理解,批次大小、时间步长、时间分片的长度不限于上述示例性的值,可以根据实际情况进行调整。
假设现有10分钟内的资源播放数据,即10个时间分片的资源播放数据分别标记为1-10,若时间步长为5,则将序号1、2、3、4、5的时间分片对应的特征向量堆叠,将序号2、3、4、5、6时间分片对应的特征向量堆叠,将序号3、4、5、6、7时间分片对应的特征向量堆叠,将序号4、5、6、7、8时间分片对应的特征向量堆叠,以此类推,直到将所有的时间分片使用到。假设批次大小为N,时间步长为S,则实际得到的堆叠后的特征数量为N-S+1。
第一向量提取模块340,用于该多个资源播放特征向量输入预先训练好的长短期记忆神经网络模型以获取第一输入向量。
首先,采用已有的资源播放数据训练上述的LSTM模型,也就是说根据已有的资源播放数据构造训练样本,而实际的播放量用于进行验证模型,一直训练到上述的LSTM模型收敛。
在完成模型的训练后,取最近一段时间内的播放数据构造一个批次的输入特征,输入训练好的模型即可得到第一输入向量。
第二数据处理模块350,用于从该播放数据中提取出统计稀疏特征。
可以理解,在神经网络模型中的输入特征是一种对于数据的表达,一般用向量来表示,假设其维度为N*N,意味着由N*N个数构成了该向量,若该N个数中为0的值的数量大于非0值的数量,则可以定义该特征是稀疏特征。0的比例越高,则稀疏程度越高。
统计稀疏特征不是时间序列特征,包括历史播放速度,以及定向特征:年龄、性别、地域、播放速度等。
第二向量提取模块360,用于处理该统计稀疏特征得到第二输入向量。
在一个具体的实施方式中,对于用户的类别特征信息可以进行编码处理,例如采用独热(One-Hot)编码,将离散的特征数据转换成向量。One-Hot会把类别特征根据取值个数,映射到一个向量,向量中的每一位代表该样本是否输入这个特征,比如性别,有两个取值,男和女,那么经编码后,男会被映射成(0,1)女会被映射成(1,0),再比如媒体分为应用程序A、应用程序B、应用程序C、及应用程序D,那么应用程序A的就会被映射成(1,0,0,0)。以此类推,就可以将类别特征数据转换成向量。如此,即可将统计稀疏特征转换为第二输入向量。
预测模块370,用于将该第一输入向量及该第二输入向量输入预先训练好的深度神经网络模型获取预测播放量。
如图4所示,在深度神经网络模型中,基于时序相关的特征获取第一输入向量,基于统计稀疏特征获取第二输入向量,两者均作为输入向量输入到DNN模型中,最后得输出预测播放量。
播放控制模块380,用于若该待播放资源的已播放量与该预测播放量之和大于或等于该预定播放量,则停止播放该待播放资源。
在一个具体的实施方式中,上述的超播控制包括以下步骤:判断当前已播放量加上预测播放量是否大于或者等于预定播放量,若是,则执行暂停该待播放资源的播放展示,若否,可以继续该待播放资源的播放展示不执行额外操作。
在一个具体的实施方式中,对于被暂停播放的资源,直接停止返回给媒体客户端即可,也就是说,将即将超播的资源暂停投放。
在另一个具体的实施方式中,执行超播控制的主体与最终返回资源给媒体客户端20的主体并不相同,此时可以直接给待播放资源或者其对应的订单合约一个用于指示暂停播放展示的停单标志,该停单标志可以存储在数据库或者缓存系统中,方便执行返回资源给媒体客户端20的主体调用即可。
根据本实施方式提供的内容推送装置,通过将离散的类别特征编码嵌入转换为向量,进一步使用LSTM模型预测得到未来的实际播放量,可以避免广告资源的超播。如图14所示为采用本实施例的方法前后的对比图,其中左侧是未使用本实施方式的方法,可以看出明显有超播的现象,而采用本实话例的方法后,超播现象基本消除。
在一个具体的实施方式中,上述的内容推送装置还根据预测播放量获取对应的播放概率值,进一步根据播放概率值控制该待播放资源的播放。
在一个具体的实施方式中,上述的播放概论值是与预测播放量与实际播放量之间的差值正相关的,也就是说,该差值越大,该播放概率值越大,播放概率值R与该差值之间可构成一个明确的函数关系,亦即,R=f(d),其中,R表示待播放资源的播放概率值,d表示预测播放量与实际播放量之间的差值。当然,播放概率值R与该差值之间正相关并不限于构成函数关系。例如,还可以是通过一个简单的映射表,根据差值的不同区间,直接给定不同的概率值系数,最终的播放概率值R计算时需要乘以该概率值系数。
可以理解,由于预测播放量与实际播放量之间的差值正相关,当该差值较大时,也就是预定的播放计划较大的比例没有完成时,待播放资源具有更高的播放概率,能够提升待播放资源的播放速度,而当该差值较小时,也就是预定的播放计划已经基本完成时,待播放资源具有较小的播放概率,其播放速度将会下降,如此,整体的播放将会以一个相对缓慢的速度逐渐逼近预定播放量,从而可以进一步降低超播的概率。
在一个具体的实施方式中,上述的内容推送装置还等待预定时间后根据该待播放资源的实际播放量是否大于或等该预定播放量进行定量补充播放。在发送停单标志后,还根据待播放资源的实际播放量是否大于或等该预定播放量进行定量补充播放,既能控制该待播放资源不发生超播,还能使其实际播放量精准的等于实际播放量,提升内容推送系统的工作效率。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不驱使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (13)
1.一种内容推送方法,其特征在于,包括:
响应于接收到的资源获取请求,获取匹配的待播放资源,该待播放资源具有对应的预定播放量;
获取该待播放资源预定时间段内的播放数据;
处理该播放数据处理得到与多个连续的时间分片一一对应的资源播放特征向量;
将该多个资源播放特征向量输入预先训练好的长短期记忆神经网络模型以获取第一输入向量;
从该播放数据中提取出统计稀疏特征;
处理该统计稀疏特征得到第二输入向量;
将该第一输入向量及该第二输入向量输入预先训练好的深度神经网络模型获取预测播放量;以及
若该待播放资源的已播放量与该预测播放量之和大于或等于该预定播放量,则停止播放该待播放资源。
2.如权利要求1所述的内容推送方法,其特征在于,该播放数据包括类别特征与数值特征,所述处理该播放数据处理得到与多个连续的时间分片一一对应的资源播放特征向量包括:
将该类别特征编码映射为对应的向量;以及
将该对应的向量与该数值特征合并至一个稠密向量中得到该资源播放特征向量。
3.如权利要求2所述的内容推送方法,其特征在于,所述将该类别特征编码映射为第一向量包括:
利用独热编码将该类别特征编码映射为第一向量。
4.如权利要求1所述的资源播放控制方法,其特征在于,所述停止播放该待播放资源包括:将该待播放资源标记为阻塞状态。
5.如权利要求1-4任一项所述的资源播放控制方法,其特征在于,所述方法还包括:
记录所述待播放资源的播放记录及对应的特征数据;
将该特征数据处理成训练样本;以及
利用该样本特征训练得到该深度神经网络模型。
6.如权利要求5所述的资源播放控制方法,其特征在于,所述利用该训练样本训练得到该深度神经网络模型包括:
利用梯度下降法进行训练该深度神经网络模型。
7.如权利要求6所述的资源播放控制方法,其特征在于,所述利用梯度下降法进行训练该深度神经网络模型包括:
利用该深度神经网络模型输出的预估播放量与训练样本对应的实际播放量的差的平方评估该长短期记忆网络模型。
8.如权利要求1所述的资源播放控制方法,其特征在于,所述方法还包括:
根据该预测播放量获取该待播放资源的播放概率值;以及
根据该播放概率值判断是否停止返回该待播放资源。
9.如权利要求8所述的资源播放控制方法,其特征在于,所述根据该预测播放量获取该待播放资源的播放概率值包括:
获取该预待播放资源的预定播放量与实际播放量之间的差值;以及
根据该差值获取一个与该差值正相关的概率值为该播放概率值。
10.如权利要求1所述的资源播放控制方法,其特征在于,在所述停止播放该待播放资源预定时间之后,所述方法还包括:
获取该待播放资源的实际播放量;
若该实际播放量小于该预定播放量,则在接收到匹配的用户请求之后播放该待播放资源直到该实际播放量与该预定播放量相等。
11.一种内容推送装置,其特征在于,包括:
资源获取模块,用于响应于接收到的资源获取请求,获取匹配的待播放资源,该待播放资源具有对应的预定播放量;
播放数据获取模块,用于获取该待播放资源预定时间段内的播放数据;
第一数据处理模块,用于处理该播放数据处理得到与多个连续的时间分片一一对应的资源播放特征向量;
第一向量提取模块,用于将该多个资源播放特征向量输入预先训练好的长短期记忆神经网络模型以获取第一输入向量;
第二数据处理模块,用于从该播放数据中提取出统计稀疏特征;
第二向量提取模块,用于处理该统计稀疏特征得到第二输入向量;
预测模块,用于将该第一输入向量及该第二输入向量输入预先训练好的深度神经网络模型获取预测播放量;
播放控制模块,用于若该待播放资源的已播放量与该预测播放量之和大于或等于该预定播放量,则停止播放该待播放资源。
12.一种服务器,其特征在于,包括:
一个或多个处理器;
存储器;
一个或多个应用程序,其中所述一个或多个应用程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序配置用于执行如权利要求1-10任一项所述的方法。
13.一种计算机可读取存储介质,其特征在于,所述计算机可读取存储介质中存储有程序代码,所述程序代码可被处理器调用执行如权利要求1-10任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011135302.1A CN112785328A (zh) | 2020-10-21 | 2020-10-21 | 一种内容推送方法、装置及计算机存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011135302.1A CN112785328A (zh) | 2020-10-21 | 2020-10-21 | 一种内容推送方法、装置及计算机存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112785328A true CN112785328A (zh) | 2021-05-11 |
Family
ID=75750762
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011135302.1A Pending CN112785328A (zh) | 2020-10-21 | 2020-10-21 | 一种内容推送方法、装置及计算机存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112785328A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116071114A (zh) * | 2023-04-04 | 2023-05-05 | 广州携旅信息科技有限公司 | 一种酒店电视媒体广告的流量预估方法和系统 |
-
2020
- 2020-10-21 CN CN202011135302.1A patent/CN112785328A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116071114A (zh) * | 2023-04-04 | 2023-05-05 | 广州携旅信息科技有限公司 | 一种酒店电视媒体广告的流量预估方法和系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11409717B1 (en) | Overspend control in a messaging platform | |
CN111538912B (zh) | 内容推荐方法、装置、设备及可读存储介质 | |
WO2023061087A1 (zh) | 信息推荐方法、装置、电子设备、计算机可读存储介质及计算机程序产品 | |
CN110162703B (zh) | 内容推荐方法、训练方法、装置、设备及存储介质 | |
WO2021203819A1 (zh) | 一种内容推荐方法、装置、电子设备和存储介质 | |
US9892431B1 (en) | Temporal features in a messaging platform | |
CN111178970B (zh) | 广告投放的方法及装置、电子设备和计算机可读存储介质 | |
US10650408B1 (en) | Budget smoothing in a messaging platform | |
CN111382361B (zh) | 信息推送方法、装置、存储介质和计算机设备 | |
CN112052387B (zh) | 一种内容推荐方法、装置和计算机可读存储介质 | |
CN109086439A (zh) | 信息推荐方法及装置 | |
CN112765480B (zh) | 一种信息推送方法、装置及计算机可读存储介质 | |
US10769677B1 (en) | Temporal features in a messaging platform | |
CN111339404A (zh) | 基于人工智能的内容热度预测方法、装置和计算机设备 | |
CN113742567B (zh) | 一种多媒体资源的推荐方法、装置、电子设备及存储介质 | |
CN112989213B (zh) | 内容推荐方法、装置、系统、电子设备及存储介质 | |
WO2023082864A1 (zh) | 内容推荐模型的训练方法、装置、设备及存储介质 | |
CN112395515A (zh) | 一种信息推荐方法、装置、计算机设备及存储介质 | |
Dong et al. | Improving sequential recommendation with attribute-augmented graph neural networks | |
CN115730125A (zh) | 对象识别方法、装置、计算机设备和存储介质 | |
CN113850416A (zh) | 广告推广合作对象确定方法和装置 | |
CN112785328A (zh) | 一种内容推送方法、装置及计算机存储介质 | |
CN115545349B (zh) | 基于属性敏感交互的时序社交媒体流行度预测方法及装置 | |
CN112749333A (zh) | 资源搜索方法、装置、计算机设备和存储介质 | |
CN113538030B (zh) | 一种内容推送方法、装置及计算机存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40044654 Country of ref document: HK |
|
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |