CN110020387A - 用递归神经网络和生存分析确定策略性数字内容传送时间 - Google Patents
用递归神经网络和生存分析确定策略性数字内容传送时间 Download PDFInfo
- Publication number
- CN110020387A CN110020387A CN201811271586.XA CN201811271586A CN110020387A CN 110020387 A CN110020387 A CN 110020387A CN 201811271586 A CN201811271586 A CN 201811271586A CN 110020387 A CN110020387 A CN 110020387A
- Authority
- CN
- China
- Prior art keywords
- electronic information
- user
- time
- management system
- neural network
- 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
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 197
- 230000000306 recurrent effect Effects 0.000 title claims abstract description 185
- 238000012384 transportation and delivery Methods 0.000 title claims abstract description 51
- 230000004083 survival effect Effects 0.000 title claims abstract description 33
- 238000004458 analytical method Methods 0.000 title abstract description 68
- 238000005259 measurement Methods 0.000 claims abstract description 207
- 230000000694 effects Effects 0.000 claims abstract description 149
- 230000003993 interaction Effects 0.000 claims abstract description 78
- 238000000034 method Methods 0.000 claims abstract description 40
- 238000010801 machine learning Methods 0.000 claims abstract description 7
- 230000005540 biological transmission Effects 0.000 claims description 28
- 230000006870 function Effects 0.000 claims description 28
- 230000002452 interceptive effect Effects 0.000 claims description 11
- 208000015181 infectious disease Diseases 0.000 claims description 9
- 230000001537 neural effect Effects 0.000 claims description 8
- 230000005611 electricity Effects 0.000 claims description 6
- 238000003860 storage Methods 0.000 abstract description 23
- 230000001052 transient effect Effects 0.000 abstract description 3
- 238000007726 management method Methods 0.000 description 380
- 238000012549 training Methods 0.000 description 48
- 230000009471 action Effects 0.000 description 26
- 238000004891 communication Methods 0.000 description 20
- 230000008569 process Effects 0.000 description 15
- 230000004044 response Effects 0.000 description 11
- 239000013598 vector Substances 0.000 description 11
- 230000004913 activation Effects 0.000 description 10
- 241000208340 Araliaceae Species 0.000 description 9
- 235000005035 Panax pseudoginseng ssp. pseudoginseng Nutrition 0.000 description 9
- 235000003140 Panax quinquefolius Nutrition 0.000 description 9
- 235000008434 ginseng Nutrition 0.000 description 9
- 230000008901 benefit Effects 0.000 description 7
- 238000004422 calculation algorithm Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 7
- 238000013500 data storage Methods 0.000 description 5
- 238000013461 design Methods 0.000 description 5
- 238000013439 planning Methods 0.000 description 5
- 238000007477 logistic regression Methods 0.000 description 4
- 230000011218 segmentation Effects 0.000 description 4
- 238000012300 Sequence Analysis Methods 0.000 description 3
- 230000006399 behavior Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 238000000429 assembly Methods 0.000 description 2
- 230000000712 assembly Effects 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 125000000524 functional group Chemical group 0.000 description 2
- 230000005055 memory storage Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000001105 regulatory effect Effects 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 238000012163 sequencing technique Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 239000002699 waste material Substances 0.000 description 2
- 206010034719 Personality change Diseases 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000002790 cross-validation Methods 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000000151 deposition Methods 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000001737 promoting effect Effects 0.000 description 1
- 230000029058 respiratory gaseous exchange Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000007480 spreading Effects 0.000 description 1
- 238000003892 spreading Methods 0.000 description 1
- 230000007474 system interaction Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
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/0242—Determining effectiveness of advertisements
- G06Q30/0244—Optimization
-
- 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/04—Architecture, e.g. interconnection topology
- G06N3/048—Activation functions
-
- 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/0251—Targeted advertisements
- G06Q30/0255—Targeted advertisements based on user history
-
- 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/0264—Targeted advertisements based upon schedule
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Molecular Biology (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Accounting & Taxation (AREA)
- Development Economics (AREA)
- Finance (AREA)
- Strategic Management (AREA)
- Game Theory and Decision Science (AREA)
- Entrepreneurship & Innovation (AREA)
- General Business, Economics & Management (AREA)
- Marketing (AREA)
- Economics (AREA)
- Information Transfer Between Computers (AREA)
Abstract
公开了用于使用机器学习来确定和应用数字内容传送时间的方法、***和非暂态计算机可读存储介质。例如,在一个或多个实施例中,所公开的***基于针对用户的、已经被划分到多个时间箱中的过去的电子消息来训练递归神经网络。另外,在一个或多个实施例中,***利用经训练的递归神经网络来生成参与度量的预测(例如,基于生存分析的危害度量或交互概率度量),用于在多个时间箱内发送新的电子消息。然后,***通过基于所预测的参与度量来选择时间箱并且然后在与所选择的时间箱相对应的发送时间发送新的电子消息,来执行数字内容活动。
Description
技术领域
本公开总体涉及机器学习,更具体地涉及数字内容活动的应用。
背景技术
近年来,已经看到用于在计算机网络上生成和执行数字内容活动 (campaign)以向客户端设备递送数字内容的、计算机***中的显著改进。实际上,发布者现在利用各种硬件和软件平台来生成数字内容活动(例如,包括诸如数字图像、视频和/或音频等一个或多个数字设计资产的活动),并且然后通过向客户端计算设备分发数字内容来实现活动。例如,发布者可以利用数字内容***来生成数字内容活动,以经由电子邮件消息传送向特定用户的目标计算设备分发数字媒体。
尽管常规的电子邮件数字内容活动***可以跨越计算机网络生成和传播数字内容,但是这些***具有很多缺点。例如,常规的电子邮件数字内容活动***难以标识和实现准确且高效的数字内容发送时间(即,传送时间)。由于数字内容活动***即时(或接近即时) 地向计算设备提供数字内容,因此数字内容发送时间可能对实现数字内容活动的计算***产生显著影响。例如,一些常规的电子邮件数字内容活动***在数字内容不太可能被访问或起作用时向客户端设备传送数字内容,从而导致传送和存储用户无法打开、访问或使用的大量数字内容。
因此,不准确的数字内容传送时间的实现可能导致计算和网络资源的不必要且低效的浪费。特别地,在不正确或不准确的时间传送数字内容经常导致数字内容的生成、传送和存储的重复。实际上,如上所述,不正确的传送时间经常导致客户端设备处的访问速率降低,从而导致数字内容的不必要的传送和存储。此外,当数字内容访问率降低时,发布者经常重新传送数字内容和/或扩展目标计算设备的数目以满足数字活动要求。这导致发布者和接收者计算设备/网络的计算机处理和网络资产的额外负担。
此外,常规的电子邮件数字内容活动***也是不灵活的。例如,一些数字内容活动***基于由活动设计者基于历史数据的分析而确定的因素来预测数字消息的传送时间。虽然这样的***可以利用这些确定的因素来选择数字内容的传送时间,但是它们是不灵活的并且仍然存在不准确性。实际上,这样的***受到由活动设计者一般标识的所选因素的严格约束(基于活动设计者生成活动时的有限历史数据),并且因此通常无法灵活地应用个性化特征来决定何时向客户端设备提供数字内容。
关于常规的数字电子邮件内容活动***存在这些和其他缺点。
发明内容
一个或多个实施例利用用于使用递归神经网络来确定和应用策略性数字内容传送时间的***、方法和非暂态计算机可读存储介质,来提供益处和/或解决本领域中的一个或多个前述或其他问题。特别地,所公开的***可以利用递归神经网络、基于特定传送时间箱的一个或多个预测参与度量来灵活且准确地确定和执行数字内容活动内的数字内容传送时间。例如,所公开的***可以利用递归神经网络来生成反映针对用户交互的预测时间的预测参与度量,诸如由生存分析产生的危害度量。此外,所公开的***可以提供灵活地针对各种目标进行优化的选项,诸如增加打开概率或减少打开所发送的消息的时间。此外,所公开的***可以利用递归神经网络来灵活地且自动地学习重要特征,包括仅根据传送到特定用户的先前消息的数据的顺序分析中很清楚的特征。
为了说明,在一个或一个以上实施例中,所公开的***使用针对用户的、已经基于对应的传送时间戳而被划分到多个时间箱中的过去的电子消息为用户训练递归神经网络。所公开的***使用递归神经网络来预测与向用户的客户端设备发送新的电子消息相关的参与度量。例如,所公开的***可以使用递归神经网络来预测用户与新的电子消息的交互概率。备选地,所公开的***可以使用具有生存函数的递归神经网络来预测用户与新的电子消息的交互时间(例如,危害度量)。在一个或多个实施例中,所公开的***使用预测参与度量来确定时间箱,并且然后通过在所确定的时间箱期间发送新的电子消息,来执行数字内容活动。通过使用基于针对用户的过去的电子消息为用户训练的递归神经网络来预测针对新的电子消息的参与度量,所公开的***能够确定优化参与度量的传送时间,提高准确性,减少浪费资源,并且增加灵活性。
本公开的一个或多个实施例的附加特征和优点将在下面的描述中阐述,并且部分地将从描述中很清楚,或者可以通过这样的示例实施例的实践来学习。
附图说明
将通过使用附图、以附加的特征和细节来描述和解释各种实施例,在附图中:
图1示出了根据一个或多个实施例的活动管理***可以在其中操作的环境;
图2示出了根据一个或多个实施例的训练和利用递归神经网络来确定新的电子消息的传送时间的示意图;
图3示出了根据一个或多个实施例的训练递归神经网络以用于预测与针对用户的新的电子消息相关的参与度量的示意图;
图4示出了根据一个或多个实施例的训练和利用递归神经网络来预测针对电子消息的参与度量的示意图;
图5A-图5C示出了根据一个或多个实施例的用于标识和呈现针对数字内容活动中的电子消息的策略性传送时间的用户界面;
图6示出了根据一个或多个实施例的图1的活动管理***的示意图;
图7示出了根据一个或多个实施例的使用机器学习来确定和应用策略性数字内容传送时间的方法中的一系列动作的流程图;以及
图8示出了根据一个或多个实施例的示例性计算设备的框图。
具体实施方式
本公开的一个或多个实施例包括使用递归神经网络确定针对数字内容活动中的电子消息的传送时间的活动管理***。具体地,活动管理***利用递归神经网络、通过按顺序次序分析用户的过去的电子消息以生成预测参与度量,来预测针对新的电子消息的传送时间。通过利用递归神经网络以基于用户的过去的电子消息来预测针对新的电子消息的参与度量,活动管理***可以提高实现数字内容活动的计算***的准确性、灵活性和效率。
为了说明,在一个或多个实施例中,活动管理***利用已经被划分到多个时间箱中的多个过去的电子消息为一组用户(例如,目标受众)训练递归神经网络。通过使用递归神经网络,活动管理***生成参与度量的预测。具体地,活动管理***可以针对每个时间箱预测与针对用户组中的用户的新的电子消息相关的危害度量(例如,来自生存分析的危害度量)或交互概率度量。此外,活动管理***可以根据预测参与度量从时间箱中选择时间箱。活动管理***可以通过基于所选择的时间箱向用户的客户端设备发送新的电子消息,来执行数字内容活动。
如上所述,活动管理***训练递归神经网络以生成针对用户的预测参与度量。特别地,在一个或多个实施例中,活动管理***首先基于与过去的电子消息相对应的时间戳将多个过去的电子消息划分到多个时间箱中。具体地,活动管理***可以将过去的电子消息划分到多个时间箱中(并且调节时间箱的大小或时间范围),以实现过去的电子消息的特定分组比例(例如,具有相同数目的过去的电子消息的时间箱)。以这种方式,活动管理***可以在为特定用户确定参与度量时,控制发布者在发送时间上的偏好。
如上所述,多个过去的电子消息包括发送给特定用户(即,发送给用户的客户端设备)的过去的电子消息。活动管理***可以使用发送给用户的过去的电子消息来训练递归神经网络,以确定特定于用户的重要特征和发送给用户的过去的消息。例如,利用递归神经网络,活动管理***可以基于来自过去活动的序列数据和先前给用户的消息来标识重要特征。
另外,活动管理***基于不同的参与度量来训练递归神经网络。例如,活动管理***可以训练递归神经网络以输出关于给定电子消息的时间交互度量(例如,危害度量)或交互概率度量的预测。当训练以得到与电子消息的交互时间时,活动管理***可以使用具有生存算法的递归神经网络来输出指示用户交互的时间度量的危害度量。类似地,当训练与电子消息的交互概率时,活动管理***可以使用不具有生存算法的递归神经网络(例如,针对交互分类而被训练),该递归神经网络输出指示与电子消息的用户交互的概率的交互概率度量。
在针对用户和特定参与度量训练递归神经网络之后,在一个或多个实施例中,活动管理***使用经训练的递归神经网络来自动生成针对数字内容活动中到特定用户的新的电子消息的预测参与度量。特别地,活动管理***可以分析每个时间箱,并且生成与每个时间箱相对应的预测参与度量。具体地,如果新的电子消息在时间箱内发送,则活动管理***可以确定指示新的电子消息的预测性能的参与度量。活动管理***可以基于所生成的参与度量对时间箱进行排名,并且然后选择一个或多个时间箱来发送新的电子消息。
在一个或多个实施例中,活动管理***基于一个或多个活动参数来执行包括多个电子消息的数字内容活动。例如,活动管理***可以使用限制消息数目或消息频率的活动参数来确定电子消息的传送时间。此外,活动管理***可以通过根据所确定的传送时间来为消息计划时间并发送消息,来执行活动。
如上所述,活动管理***提供了优于常规***的很多优点。例如,活动管理***可以利用针对数字内容的传送时间来提高实现数字设计活动的计算***的准确性和效率。特别地,活动管理***可以更准确地预测参与度量,诸如危害度量(例如,指示用户将与数字内容交互的瞬时概率,以实现与打开时间相对应的传送时间)或交互概率度量(例如,指示与数字内容的交互概率,以实现将增加响应的传送时间)。与一个或多个参与度量相关地增加传送时间的准确性导致在进行数字内容活动时更有效地使用计算资源。特别地,活动管理***可以减少由计算设备在计算网络上传送的数字内容(例如,满足数字内容活动要求所需的数字内容)的量以及管理和存储这样的数字所需要的计算机存储的量。
此外,活动管理***还提高了实现数字内容活动的计算设备的灵活性。例如,活动管理***可以利用递归神经网络来自动标识针对各个用户的重要特征。实际上,活动管理***可以训练递归神经网络,以标识用于在选择和实现作为数字内容活动的一部分的传送时间时,针对特定用户或用户组来建模用户响应的独特特征。这包括从发送给用户(或用户组)的先前消息的顺序分析中收集的特征。
此外,活动管理***可以在标识重要特征时自动地合并关于各个用户的最新(例如,实时)数字数据。例如,当活动管理***检测到与数字内容的各个用户交互时,活动管理***可以更新递归神经网络的训练,以标识由检测到的交互所指示的任何附加特征。因此,例如,活动管理***可以分析对在执行数字内容活动之前的前一天发送的电子消息的用户响应。常规***倾向于忽略这样的数据点,因为客户进行响应的时间还没有过去太久。因此,活动管理***不仅可以自动标识用于为各个用户(或用户组)建模响应的重要特征,而且还可以基于与发送给(多个)用户的电子消息的附加用户交互,来自动修改***确定为重要的特征。
此外,活动管理***还通过提供用于优化各种类型的参与度量的选项来提高灵活性。例如,如上所述,活动管理***可以允许在各种参与度量类型之间进行选择。例如,活动管理***可以允许基于增加打开概率或减少打开时间来进行优化。
如前面的讨论所示,本公开利用各种术语来描述活动管理***的特征和优点。现在提供关于这样的术语的含义的其他细节。例如,如本文中使用的,术语“电子消息”和“消息”是指包括数字内容的电子通信。例如,电子消息可以包括电子邮件。电子消息可以包括数字内容,诸如与数字内容活动相关联的数字文本、数字图像或数字视频。另外,如本文中使用的,术语“新的电子消息”是指针对一个或多个接收用户的、所生成的、建议的、未来的或未发送的电子消息。新的电子消息可以包括先前已经使用的内容、新的内容或先前使用的内容 /新的内容的组合。因此,新的电子消息可以是作为数字内容活动的一部分的新生成的消息或要被重新发送的已经存在的消息(或先前发送的消息)。
另外,术语“数字内容活动”和“活动”是指与提供与产品、服务、组、个人、实体或其他类别相对应的数字内容相关的一系列活动、参数和/或规则。例如,数字内容活动可以包括电子消息,电子消息包括关于产品、服务、组、个人、实体或其他类别的数字内容。此外,数字内容活动可以包括活动参数,诸如目标受众、预算或用于传送数字内容的约束。因此,执行数字内容活动可以包括向目标受众发送电子消息,该目标受众可以包括根据一个或多个活动参数而共享一个或多个特性的接收者。
如本文中使用的,术语“递归神经网络”是指人工神经网络(例如,基于根据先前元素的计算、以顺序次序执行针对元素的分析任务的神经网络)。特别地,递归神经网络包括:使用与时间顺序时间线内的多个电子消息相关联的顺序信息、并且其中当前步骤的输出取决于用于先前步骤的计算的人工神经网络。例如,活动管理***基于电子消息的传送时间和用户的学习到的行为来为用户训练和使用递归神经网络,来预测与电子消息的用户交互。具体地,经训练的递归神经网络顺序地分析电子消息,以学习指示与电子消息的用户交互的模式的重要特征(例如,基于发送电子消息的时间以及用户的偏好或倾向)。
如本文中使用的,术语“输入属性”是指递归神经网络在预测电子消息的性能时使用的电子消息的特性或特征。特别地,输入属性可以包括关于电子消息的信息,其作为输入被提供给递归神经网络。具体地,消息的输入属性可以包括:用户交互或者与一个或多个电子消息(例如,当前电子消息或先前发送的电子消息)相关联的发送特性。例如,输入属性可以包括分析数据,包括但不限于:与过去的电子消息的用户交互、用户偏好、检测到的用户动作或者消息细节或特性。因此,递归神经网络可以基于输入属性来确定用于预测相对于电子消息的用户交互的重要特征。在一个或多个实施例中,消息的输入属性包括消息的传送时间或时间箱。消息的输入属性还可以包括传送(例如,消息的内容或与消息一起发送的信息)的性质,诸如消息的主题行或图像(例如,横幅图像)。
如下面更详细地描述的,递归神经网络可以包括多个层。该术语是指神经网络内的分析元素。特别地,层可以包括包含激活函数的互连节点。递归神经网络可以利用层来进行不同级别的分析,以确定与特定输出相对应的重要特征。为了说明,这些层可以包括具有激活函数的密集层(或完全连接的层)和/或具有生存函数的生存层。如本文中使用的,术语“生存层”是指利用生存函数来生成危害度量(例如,危害率或危害比率)的层。如本文中使用的,术语“生存函数”是指作为将事件或事件集映射到时间的变量(例如,消息)的性质的函数。特别地,生存函数捕获所分析的消息生存(例如,不存在与消息的交互)超出给定指定时间的概率。在一个特定示例中,生存函数输出危害度量,其可以包括针对用户的电子消息的危害率或危害比率。
如本文中使用的,术语“参与度量”是指与数字内容活动的电子消息相对应的用户交互的度量。参与度量可以包括危害度量,该危害度量指示针对给定时间箱,与针对用户的电子消息的用户交互的瞬时概率。例如,如本文中使用的,“危害度量”包括对于在时间箱内发送的电子消息(并且假定接收者在时间t之前尚未打开消息/与消息交互),接收者将在时间t之后立即打开电子消息的瞬时概率。备选地,参与度量可以包括交互概率。如本文中使用的,“交互概率”是指如果消息在给定时间箱内发送,则用户与电子消息交互的概率。
如本文中使用的,术语“时间箱”是指时间范围。特别地,在一个或多个实施例中,术语“时间箱”包括在计划窗口内的时间范围(例如,时间段内用于执行数字内容活动的时间范围)。术语“时间箱”包括已经发送一组电子消息的时间范围。特别地,活动管理***可以基于电子消息的时间戳来将针对多个用户的过去的电子消息分组到多个时间箱中,用于训练递归神经网络。活动管理***可以将消息划分到多个时间箱中,使得每个时间箱包括相同(或大致相同)数目的电子消息。备选地,活动管理***可以将消息划分到多个时间箱中,每个时间箱对应于预定的固定的时间段(例如,一周、一个月或一年中的特定的一天的特定时间范围)。
现在参考附图,图1示出了活动管理***102在其中操作的环境的实施例。特别地,环境100包括与管理员106相关联的管理员客户端设备104、与用户110相关联的用户客户端设备108、以及(多个) 服务器设备112,这些设备经由网络114进行通信。此外,如图所示,管理员客户端设备104包括管理员应用116。此外,(多个)服务器设备112包括活动管理***102,活动管理***102包括递归神经网络118。如上所述,活动管理***102利用递归神经网络来基于针对用户的过去的电子消息确定用于向用户发送新的电子消息的传送时间。
根据一个或多个实施例,活动管理***102允许管理员106管理与产品、服务、个人、实体或其他类别相关联的数字内容活动。例如,数字内容活动可以是推广和分发与产品、服务或商业相关联的信息的营销活动。管理数字内容活动可以包括创建数字内容并且在活动中分发数字内容。为了说明,管理员106可以使用管理员客户端设备104 经由网络114与在(多个)服务器设备112上的活动管理***102通信,以提供和获取与管理活动相关联的信息。
如下面更详细地描述的,管理员客户端设备104可以包括能够执行与管理和实施数字内容活动相关联的操作的计算设备。例如,管理员客户端设备104可以包括智能电话、平板电脑、台式计算机、膝上型计算机、或能够经由网络114访问电子消息并且接收用户输入以与电子消息交互的其他设备(例如,下面参考图8讨论的任何设备)。管理员客户端设备104可以包括一个或多个应用(例如,管理员应用 116),管理员106可以通过该应用查看、计划、修改和/或执行数字内容活动。为了说明,管理员106可以使用管理员应用116、经由网络114访问活动管理***102。
在一个或多个实施例中,活动管理***102通过获取和分析与数字内容活动相关联的分析数据来促进对活动的管理。例如,活动管理***102可以获取与过去的电子消息相关联的信息,过去的电子消息与针对多个接收用户的数字内容活动相关联。另外,活动管理***102 可以获取指示与针对多个接收用户的过去的电子消息的用户交互的信息。在至少一些实例中,活动管理***102帮助管理员106管理数字内容活动,使得活动管理***102收集与活动相关联的信息。
在其他实施例中,活动管理***102从其他***或设备获取与活动相关联的信息。例如,管理员客户端设备104(或与管理员客户端设备104相关联的***)可以收集数字内容活动的分析数据,并且然后经由网络114将分析数据提供给活动管理***102。备选地,活动管理***102可以从与(多个)服务器设备112和管理员客户端设备 104分开的第三方***接收数字内容活动的分析数据。
一旦活动管理***102已经获取与数字内容活动相关联的分析数据,活动管理***102使用递归神经网络118分析分析数据。活动管理***102通过分析针对用户的过去的消息来为特定用户训练递归神经网络118。活动管理***102可以包括多个递归神经网络,每个递归神经网络针对单独的用户而被训练。因此,活动管理***102可以训练多个递归神经网络,以向多个用户发送与一个或多个数字内容活动有关的电子消息。
在一个或多个实施例中,活动管理***102基于消息的时间戳将针对多个接收用户的过去的电子消息分组到时间箱中。然后,活动管理***102可以通过根据针对用户的过去的消息被分组而成的时间箱分析针对用户的过去的消息,来为用户训练递归神经网络118。一旦经过训练,递归神经网络118就可以生成参与度量,用于关于新的电子消息来对时间箱进行评分。
实际上,活动管理***102可以使用递归神经网络118的参与度量来确定用于向用户客户端设备108发送数字内容活动中的一个或多个新的电子消息的时间表(例如,传送时间)。根据一个或多个实施例,活动管理***102向管理员客户端设备104提供数字内容活动的时间表以执行活动。管理员106可以通过根据所提供的时间表向用户客户端设备108发送一个或多个电子消息,来使用管理员应用116为用户执行活动。在一个或多个备选实施例中,活动管理***102响应于确定针对用户的时间表、通过从活动向用户客户端设备108发送一个或多个电子消息并且不需要管理员106提供附加的输入,来自动执行数字内容活动。
在一个或多个实施例中,当向用户110发送电子消息时,活动管理***102向至少用户客户端设备108发送电子消息。另外,活动管理***102可以向与用户相关联的任何数目的客户端设备发送电子消息。例如,活动管理***102可以经由用户110的用户帐户向一个或多个客户端设备发送电子消息。然后,用户110可以从一个或多个客户端设备(包括用户客户端设备108)来访问电子消息,用户110可以从该客户端设备访问用户帐户。
根据一个或多个实施例,用户客户端设备108包括允许用户110 访问数字内容活动中的电子消息并且与之交互的计算设备。例如,用户客户端设备108可以包括能够经由网络114访问电子消息并且接收用户输入以与电子消息交互的计算设备(例如,参考图8讨论的任何设备)。用户客户端设备108可以包括一个或多个应用,用户110可以通过该应用访问诸如电子邮件应用等电子消息并且与之交互。经由电子邮件应用,用户110可以打开电子邮件并且与电子邮件内的内容交互。另外,一个或多个应用可以包括允许用户客户端设备108从电子消息访问外部内容的应用(例如,网络浏览器)。
尽管图1的环境100被描绘为具有各种组件,但是环境100可以具有任何数目的附加或备选组件(例如,任何数目的服务器设备、客户端设备或与活动管理***102通信的其他组件)。因此,活动管理***102可以利用任何数目的递归神经网络来确定用于向任何数目的用户发送电子消息的传送时间。类似地,活动管理***102可以经由任何数目的管理员客户端设备向任何数目的管理员提供活动管理服务。此外,环境100中的多于一个组件或实体可以实现本文中描述的活动管理***102的操作。实际上,备选地,活动管理***102可以完全地(或部分地)在管理员客户端设备104上实现或者作为另一组件或***的一部分实现。
如前所述,活动管理***可以训练和利用递归神经网络来确定数字内容活动中的电子消息的传送时间。图2示出了根据一个或多个实施例的训练和利用递归神经网络来确定针对用户的新的电子消息的传送时间(例如,发送时间)。作为概述,图2示出了活动管理*** 102首先执行获取过去的电子消息(其包括用户的过去的电子消息和其他用户的过去的电子消息)的动作202。另外,活动管理***102 执行确定数字内容活动的活动参数的动作204。然后,活动管理*** 102执行将过去的电子消息划分到时间箱中的动作206。活动管理***102还包括用于利用递归神经网络和用户的过去的电子消息确定多个时间箱中用于发送针对用户的新的电子消息的时间箱的步骤208。此外,活动管理***102然后基于所确定的时间箱执行发送新的电子消息的动作210。
如以上关于图2所述,活动管理***102执行获取针对多个用户的过去的电子消息的动作202。活动管理***102可以从电子消息的存储库获取过去的电子消息。存储库可以由活动管理***102本地存储或作为第三方***的一部分而被存储。针对任何特定用户的过去的电子消息可以从针对多个用户的过去的电子消息中被标识。
在一个或多个实施例中,活动管理***102执行确定针对数字内容活动的活动参数的动作204。如上所述,活动管理***102可以确定和利用使得活动管理***102确定如何管理和/或执行活动的各种活动参数。例如,活动管理***可以确定诸如活动长度(例如,活动的计划窗口)、消息数目、接收者数目和针对活动的消息的频率等参数。活动参数还可以包括目标受众或分段。
活动管理***可以以各种方式标识活动参数。例如,在一个或多个实施例中,活动管理***102标识来自数字内容活动的管理员的活动参数。在其他实施例中,活动管理***通过算法确定活动参数。为了说明,活动管理***102可以基于指示与接收电子邮件消息相关的用户响应疲劳的模型来确定针对活动的消息的数目和频率。在另一示例中,活动管理***102可以基于从管理员接收的特性或基于活动中的消息的内容的特性来确定目标受众或分段。
作为在动作204中标识活动参数的一部分,活动管理***还可以确定参与度量的类型。例如,活动管理***102可以确定针对全部或部分数字内容活动的参与度量的类型。参与度量的类型可以指示活动管理***102训练递归神经网络,以输出基于交互分类的交互概率度量还是基于生存分析的危害度量。
通常,生存分析是一个主要对事件的时间进行建模感兴趣的统计建模领域。生存分析利用交互时间模型来估计生存概率——个体将生存超过时间t(即,在t之前没有经历感兴趣的事件)的概率。从历史观点上说,感兴趣的事件是医疗患者的死亡;然而,活动管理*** 102将生存分析调节到接收者与电子消息交互的事件。换言之,活动管理***102可以利用生存分析来估计电子消息的接收者在时间t之前不与消息交互的概率。
通过使用生存分析,如上面简要描述的,活动管理***102可以生成危害度量。具体地,危害度量包括在假定接收用户在时间t之前还没有经历事件(例如,打开消息)的情况下,接收者将在时间t之后立即体验事件的概率。在一个示例中,危害度量可以包括危害率,危害率是指在假定消息直到时间t才被打开的情况下,用户打开消息的瞬时概率。更具体地,危害率包括时间元素,其基于在时间箱内发送的消息指示用户在特定时间内与消息交互的瞬时概率。因此,当针对用户、在时间箱期间发送消息时,该时间箱的危害率越高,在一定量的时间内的用户交互(例如,电子邮件被打开)的机会越高。
归因于生存分析的起源,危害功能通常假定所有个体最终将经历该事件。然而,在电子消息的情况下不是这种情况,因为很多接收者将删除或以其他方式不查看/打开所接收的消息/与之交互。活动管理***102可以修改生存分析,以考虑预期永远不会打开电子消息的那些接收者。在一个或多个实施例中,活动管理***102基于与过去的电子消息相对应的输入属性来确定特定接收者将与所接收的电子消息交互的概率。活动管理***102可以将该概率作为混合概率引入生存函数中,因此针对特定接收者的交互时间取决于影响特定接收者是否可能与所接收的消息交互的属性和/或影响特定接收者打开邮件的时间的属性。
在一个或多个实施例中,危害度量是危害比率,危害比率是指危害率的时间无关分量。为了说明,危害比率较高指示事件(例如,打开消息)发生的瞬时风险较高。例如,活动管理***102可以通过将给定的危害率除以标准时间周期(由活动管理***102基于过去的电子消息的其他活动参数而确定)来获取危害比率。
在一个或多个实施例中,交互概率度量是指在假定消息在时间箱内发送的情况下将发生与消息的给定交互的概率。为了说明,打开概率度量指示当在给定时间箱内发送消息时用户将打开消息的概率。较高的打开概率度量指示较高的概率,而较低的打开概率度量指示较低的概率。
活动管理***可以确定参与度量的类型,以针对用户选择在数字内容活动内的一个或多个传送时间时进行优化。例如,在一个或多个实施例中,管理员在危害度量或交互概率度量之间进行选择。在一些实施例中,活动管理***可以自动选择(或建议)参与度量的类型。例如,活动管理***可以基于关于数字广告活动的细节(例如,选择针对时间敏感的数字内容的危害度量,诸如快速销售消息,或者选择信息数字内容的交互概率度量),和/或基于历史分析数据(例如,指示特定产品、服务、实体或广告利用特定类型的参与度量产生更高打开率的信息)来选择参与度量的类型。
活动管理***102还确定活动的计划窗口。计划窗口指示活动管理***102将执行活动(或者根据所安排的传送时间以其他方式提供电子消息)的时间段。例如,计划窗口可以指示具有开始日期和结束日期(例如,12月1日至12月31日)的特定时间段。备选地,计划窗口可以指示从将被确定用于活动的开始日期开始的时间长度。活动管理***102可以基于管理员的特定选择或基于类似和/或先前的活动来确定计划窗口。
为了说明确定活动参数的动作204的示例,在一个或多个实施例中,管理员向活动管理***提供用于向其发送消息的一组客户(例如,片段、电子邮件列表或一组特性)。管理员指示参与度量的类型(例如,危害度量),并且选择要在整个计划窗口(例如,1周的时间)内发送的消息总数(例如,K个消息)。此外,管理员指定对最大频率的约束(例如,每天要发送的最大消息数)。然后,活动管理***利用这些活动参数来确定传送时间。如上所述,这些参数也可以通过算法来确定(而不是直接从管理员处确定)。
如图2所示,活动管理***102还可以执行将过去的电子消息划分到时间箱中的动作206。具体地,活动管理***102基于与过去的电子消息相对应的时间戳来将针对多个用户的过去的电子消息划分到多个时间箱中。因为针对多个用户的过去的电子消息包括针对用户的过去的电子消息,所以活动管理***102还将针对用户的过去的电子消息划分到时间箱中。在一个或多个实施例中,活动管理***102 划分过去的电子消息的一部分,同时保持用于测试(例如,测试经训练的递归神经网络的准确性)的单独的部分。
在一个或多个实施例中,将过去的电子消息划分到时间箱中包括:根据分组比例将过去的电子消息划分到每个时间箱中。在至少一些实施例中,“分组比例”是指进入每个时间箱中的相等或近似相等数目的消息。例如,活动管理***102可以将过去的电子消息均匀地划分为非交叠的时间箱,以考虑由于过去的电子消息的发送时间而导致的过去的电子消息的打开率的变化。为了说明,活动管理***102 可以动态地调节时间箱(例如,修改每个时间箱的时间范围),使得所得到的时间箱具有相等数目的过去的电子消息。为了说明,活动管理***102可以生成第一时间箱,使得第一时间箱包括来自第一长度的第一时间范围的前N个过去的电子消息,并且活动管理***102 可以生成第二时间箱,使得第二时间箱包括来自第二长度的第二时间范围的另外N个过去的电子消息。在前述示例中,第二时间箱中的过去的电子消息可以按时间顺序跟随第一时间箱中的过去的电子消息。因此,时间箱的时间范围可以是任意的(以满足分组比例),使得第一长度可以不同于第二长度,这取决于第一和第二时间箱中的过去的电子消息的时间戳。
在备选实施例中,划分过去的电子消息包括:根据固定的预定时间范围将过去的电子消息划分到时间箱中。例如,活动管理***102 可以将电子消息划分为各自与特定时间范围相对应的时间箱,而不是将过去的电子消息均匀地划分为多个时间箱。为了说明,活动管理***102可以将时间戳落入第一时间范围内的过去的电子消息划分为第一时间箱,并且将时间戳落入第二时间范围内的过去的电子消息划分为第二时间箱。在这种情况下,时间箱可能不具有相等数目的过去的电子消息,但是与时间箱相对应的时间范围不是动态的并且是预先设置的。此外,与时间箱相对应的固定时间范围可以相等或不相等(例如,时间箱可以对应于由管理员手动指定的特定时间范围)。
另外,活动管理***102可以结合分析窗口对过去的电子消息进行划分。特别地,在一个或多个实施例中,活动管理***102可以设置分析窗口,该分析窗口定义用于分析过去的电子消息的时间范围。然后,活动管理***102可以选择和利用落入分析窗口内的过去的电子消息。
活动管理***102可以基于用户输入(例如,基于来自管理员的输入)来确定分析窗口。此外,活动管理***102可以基于多个电子消息(例如,先前发送给特定用户或多个用户的电子消息的时间范围) 来确定分析窗口。在其他实施例中,分析窗口基于计划窗口(例如,计划窗口和分析窗口具有相同的长度)。为了说明,如果计划窗口是针对长达一个月的活动,则活动管理***102可以确定分析窗口覆盖一个月的过去的电子消息。
在一个或多个实施例中,时间箱的数目基于分析窗口的长度。具体地,活动管理***102可以基于分析窗口内的过去的电子消息的数目来确定时间箱的数目。例如,如果分析窗口覆盖具有N个过去的消息的一段时间,则活动管理***102可以将过去的消息划分为X个时间箱。如果分析窗口覆盖具有2N个过去的消息的一段时间,则活动管理***102可以将过去的消息划分为2X个时间箱。因此,时间箱的数目可以与分析窗口内的过去的电子消息的数目成正比(或以其他方式相关)。
管理员还可以设置时间计划的精度,以指示活动管理***102在安排发送新的电子消息方面具有多大的灵活性。特别地,活动的精确度指示时间箱大小的阈值或范围,使得活动管理***102在特定细节水平分析消息的传送时间。为了说明,活动管理***102可以将时间计划的精度确定为最小为一小时分段、五分钟分段等。
用于分析活动的分析窗口和/或精度也可以受到其他因素的约束。为了说明,活动管理***102可以基于服务器能力、与用户简档相关联的用户偏好(例如,针对特定类型的消息的退出偏好、与优选时间范围有关的用户偏好)或其他限制来应用约束或限制来安排消息传送时间。为了说明,活动管理***102可以基于服务器限制来限制传送时间,以便防止活动管理***102使得向活动的多个用户发送消息的 (多个)服务器过载。
如图2所示,除了动作206之外,活动管理***102还执行步骤208,步骤208用于利用递归神经网络和用户的过去的电子消息来确定多个时间箱中用于发送针对用户的新的电子消息的时间箱。如图所示,步骤208包括动作212、214(包括214a或214b)、216和218。关于步骤208中的动作的附加细节也在下面参考图2描述(还关于图 3和图4提供了这些动作的另外的细节)。
如图2所示,步骤208可以包括动作212。具体地,在确定活动参数(和参与度量的类型)之后,活动管理***102执行使用用户(和 /或其他用户)的过去的电子消息训练递归神经网络的动作212。例如,活动管理***102可以基于用户和/或其他用户的过去的电子消息为用户训练递归神经网络(例如,如下面在图3中更详细地描述的)。为了说明,活动管理***102标识先前已经发送给用户(和/或其他用户)的电子消息,并且活动管理***102训练递归神经网络以基于发送给用户(和/或其他用户)的过去的电子消息来输出所选择的参与度量。
在训练递归神经网络时,活动管理***102还标识针对用户的过去的电子消息的各种输入属性。输入属性可以包括描述过去的电子消息、用户行为和/或用户与过去的电子消息的交互的信息。例如,活动管理***102可以针对每个过去的电子消息收集并且向递归神经网络提供输入属性。输入属性可以包括指示以下的信息:用户对在当前分析的消息之前发送的消息的响应(例如,打开/点击状态和/或打开/点击时间)、用户的最近购买行为以及消息的传送时间(例如,基于消息被划分到的时间箱)。输入属性还可以包括从诸如邮政数据库、会员卡数据库、购买数据库等其他来源获取的信息。
通过使用输入属性,活动管理***102训练递归神经网络以确定参与度量。特别地,活动管理***102可以训练递归神经网络以标识用于确定参与度量的重要特征(例如,加权参数)。例如,对于危害度量,递归神经网络通过预测针对先前的电子文档的危害度量,并且然后将所预测的危害度量与真实度量进行比较来自动确定特征。然后,递归神经网络可以修改特征(例如,加权参数),以减少所预测的危害度量与真实度量之间的损失。备选地,对于交互概率度量,递归神经网络通过预测先前的电子文档的交互概率度量,并且然后将所预测的概率度量与真实度量进行比较来确定特征。然后,递归神经网络可以修改特征,以减少所预测的概率度量与真实度量之间的损失。
如下面参考图4更详细地描述的,活动管理***102可以基于递归神经网络是利用危害度量还是交互概率度量来利用具有不同结构的递归神经网络。具体地,活动管理***102可以在生成危害度量时利用具有生存层的递归神经网络,生存层利用生存算法。活动管理***102可以在生成交互概率度量时省略生存层。另外,当生成不同的参与度量时,活动管理***102可以在递归神经网络内使用不同的激活函数。
在使用过去的电子消息训练递归神经网络之后,活动管理*** 102可以执行利用递归神经网络来生成用户的新的电子消息的参与度量的动作214。具体地,活动管理***102确定针对新的电子消息的输入属性(类似于上述输入属性)。
另外,活动管理***102确定针对新的电子消息的计划窗口。如结合图2所述,计划窗口指示用于执行数字内容活动的时间窗口。因此,活动管理***102可以确定计划窗口,以标识用于传送新的电子消息的可能的日期和时间。如上所述,分析窗口(用于在训练递归神经网络时对过去的电子消息进行分组)可以对应于计划窗口。
结合确定计划窗口,活动管理***102可以确定用于计划窗口的时间箱。在一个或多个实施例中,活动管理***102可以从分析窗口标识也落入计划窗口内的时间箱。例如,如果分析窗口包括过去的电子消息的100个时间箱,则活动管理***102可以将计划窗口划分为相同的100个时间箱。另外,与计划窗口中的时间箱相关联的时间范围可以对应于与分析窗口中的时间箱相关联的时间范围。
此外,在一个或多个实施例中,活动管理***102利用经训练的递归神经网络来分析新的电子消息的输入属性,并且生成针对新的电子消息的预测参与度量。如图2所示,如果所选择的参与度量类型是危害度量,则活动管理***102可以执行利用递归神经网络来针对新的电子消息生成针对时间箱的危害度量的动作214a。特别地,活动管理***102可以使用递归神经网络来针对在动作204处生成的每个时间箱确定针对新的电子消息的危害度量。通过为每个时间箱生成单独的交互时间度量,活动管理***102可以在每个时间箱内发送电子消息的情况下,模拟用户与电子消息的交互时间。以这种方式,活动管理***102可以针对新的电子消息对每个时间箱进行评分,其中如果在时间箱内向用户发送新的电子消息,则得分指示预测的交互时间。
备选地,如果所选择的参与度量是交互概率度量,则活动管理***102执行利用递归神经网络来生成针对时间箱的交互概率度量的动作214b。特别地,活动管理***102可以使用递归神经网络来针对在动作204处生成的每个时间箱确定针对新的电子消息的交互概率交互度量。通过为每个时间箱生成单独的概率交互度量,活动管理***102 可以在每个时间箱内发送电子消息的情况下模拟用户与电子消息交互的概率。以这种方式,活动管理***102可以针对新的电子消息对每个时间箱进行评分,其中如果在时间箱内向用户发送新的电子消息,则得分指示交互的概率。
在每种情况下,活动管理***102可以利用递归神经网络来基于与过去的消息的过去的用户交互,来确定用于在时间箱内发送新的消息的参与度量。此外,如下面更详细地概述的(例如,关于图3),活动管理***102可以在生成新的电子消息的参与度量时,利用递归神经网络来顺序地分析先前的电子消息。因此,经由递归神经网络,活动管理***102可以在确定新的电子消息的传送时间时考虑过去的电子消息的时间和顺序特征。
在生成时间箱的参与度量(即,危害度量或交互概率度量)之后,活动管理***102然后可以利用时间箱的参与度量来确定针对新的电子消息的传送时间。例如,活动管理***102可以通过执行使用参与度量对时间箱进行排名的动作216,来确定用于在数字内容活动中发送新的电子消息的时间箱。
具体地,活动管理***102可以通过比较针对时间箱的参与度量,以标识具有最佳参与度量的时间箱来执行动作216。例如,活动管理***102可以基于危害度量对时间箱进行排名,并且然后选择具有最高危害度量(或最低打开时间值)的一个或多个时间箱。备选地,活动管理***102可以基于交互概率度量对时间箱进行排名,并且然后选择具有最高交互概率度量的一个或多个时间箱。
在一个或多个实施例中,在对时间箱进行排名之后,活动管理***102然后包括:通过使用一个或多个活动参数确定用于发送新的电子消息的时间箱的动作218。特别地,虽然经排名的时间箱允许活动管理***102确定用于发送电子消息的最佳个体时间箱,但是活动参数可以包括用于在活动中发送消息的某些约束。活动管理***102可以为活动中的每个消息选择时间箱,以使用时间箱的排名并且在由活动参数建立的约束内将消息发送给用户。
例如,在一个或多个实施例中,活动参数指示要作为活动的一部分来发送的消息的最大数目。因此,活动管理***102可以使用最大消息数目来确定要选择多少个时间箱。为了说明,如果活动的最大消息数目是5,则活动管理***102在对时间箱进行排名之后选择不超过五个时间箱。虽然最大消息数目可以为针对用户的消息数目设置上限,但是活动管理***102可以发送少于最大数目的消息,这取决于用户的偏好(例如,用户简档中指示用户希望接收的消息的数目的用户偏好、或者用户不希望接收消息的时间段)或者基于一个或多个预测参与度量不满足预定阈值。因此,活动管理***102可以针对用户来定制消息的数目,以便为该用户产生最佳结果。
另外,活动参数可以指示用于在活动中发送消息的频率参数。特别地,频率参数指示活动管理***102可以在特定时间窗口内向用户发送的消息的数目。例如,频率参数可以限制活动管理***102每天向用户发送不超过一个消息。如果活动管理***102确定一天中的多于一个时间箱被排名为在前N个时间箱内(其中N对应于活动的最大消息数目),则活动管理***102可以跳过那天排名较低的时间箱。因此,活动管理***102可以选择N-1个时间箱来发送消息而不是N 个时间箱。备选地,活动管理***可以选择排名次高的时间箱(即,排名次高的时间箱)。
在一个或多个实施例中,活动管理***102还确定每个时间箱是否满足预定的参与阈值。例如,活动管理***102可以设置预定的参与阈值,该预定的参与阈值指示针对时间箱的最大值或最小值(基于对应的参与度量)。如果时间箱满足预定阈值(例如,递归神经网络针对该时间箱生成的参与度量满足阈值),则时间箱有资格被选择;否则,时间箱从选择中被排除。
在确定用于发送新的电子消息的时间箱之后,活动管理***102 可以执行基于所确定的时间箱来发送新的电子消息的动作210。在一个或多个实施例中,活动管理***102选择落入用于发送电子消息的时间箱内的时间。例如,活动管理***102可以选择传送时间为在时间箱的开始处、在时间箱的结束处或在时间箱内的某个其他时间处。例如,在一个或多个实施例中,活动管理***102基于时间箱内的过去的电子消息来选择传送时间。为了说明,活动管理***102可以对时间箱内针对过去的电子消息的时间戳进行平均,以确定电子消息的传送时间,并且然后通过在发送时间发送新的电子消息来执行活动。在其他实施例中,活动管理***102可以基于时间箱内的可用的网络和/或计算机处理能力来选择时间箱内的传送时间。例如,活动管理***102可以对要在降低计算机处理能力的时间箱内的时间(例如,在发送最少量的其他消息的时间或者在时间箱内避免尖峰的时间)发送的电子消息进行排队。
关于图2描述的动作202-218旨在说明根据本公开的示例性动作序列,并且不旨在限制潜在的实施例。备选实施例可以包括比图2中表达的动作更多、更少或不同的动作。例如,尽管上面的描述引用了单个新的电子消息,但是活动管理***102可以为多个新的消息选择时间箱。实际上,活动管理***102可以利用上述方法为五个新的消息选择五个传送时间(例如,五个时间箱)。特别地,活动管理***102可以标识与五个最高参与度量(受到约束)相对应的五个时间箱,并且然后在五个时间箱中的一个中发送五个新的消息中的一个。
在一个或多个备选实施例中,活动管理***102将分析窗口的长度确定为与计划窗口的长度不同,而不是将分析窗口的长度和计划窗口的长度确定为相同。具体地,活动管理***102可以使用分析窗口,该分析窗口包括比计划窗口包括的更少或更多的时间范围和更少或更多的时间箱。因此,活动管理***102可以在与计划窗口的时间范围不同的时间范围内,基于用户的多个过去的电子消息为用户训练递归神经网络。
例如,活动管理***102可以使用包括100个时间箱的一个月的分析窗口来训练递归神经网络。然后,活动管理***102可以将递归神经网络用于具有两周的计划窗口的活动。活动管理***102可以从分析窗口分析100个时间箱的子集(例如,分析窗口的前两周中与两周计划窗***叠的50个时间箱的子集)。基于对时间箱子集的分析,活动管理***102可以为一个或多个新的消息选择发送时间。因此,活动管理***102可以利用来自反映比计划窗口更长的时间段的分析窗口的电子消息来训练递归神经网络。
另外,本文中描述的动作可以以不同的顺序执行,可以彼此并行地重复或执行,或者可以与相同或类似动作的不同实例并行执行。例如,在一个或多个实施例中,活动管理***102可以在训练递归神经网络之后,获取参与度量和活动参数中的任一者或两者,以确定新的电子消息的发送时间,而不是在训练递归神经网络之前从管理员获取参与度量和活动参数。例如,活动管理***102可以包括用于每个可能的参与度量的递归神经网络,并且然后使用递归神经网络为新的消息输出多于一个的预测。然后,活动管理***102可以使用来自递归神经网络的适用输出,以基于所选择的参与度量来确定消息的发送时间。包括递归神经网络的模型可以针对每个参与度量包括不同结构,如关于图4更详细地描述的。此外,如下所述,在训练递归神经网络之后,活动管理***102可以使用活动参数来确定用于活动的发送时间的时间表。
另外,在一个或多个实施例中,活动管理***102针对多个用户而不是针对单个用户训练和/或利用递归神经网络。具体地,活动管理***102可以确定目标受众(例如,基于来自选择目标受众的活动管理员的输入),并且使用目标受众(或目标受众的子集)的过去的电子消息来训练递归神经网络。然后,活动管理***102可以利用递归神经网络输出参与度量,用于在一个或多个时间箱内向单个用户或目标受众中的多个用户发送新的电子消息。
如上所述,步骤208包括基于用户(和其他用户)的过去的电子消息为用户训练递归神经网络。图3示出了基于用户(和/或其他用户) 的过去的电子消息训练递归神经网络的示意图。具体地,训练递归神经网络包括:首先向递归神经网络304中输入多个过去的电子消息 302(例如,电子邮件)。例如,活动管理***102选择活动管理***102关于一个或多个先前的数字内容活动已经发送给用户的多个过去的电子消息。如前所述,活动管理***102将过去的电子消息302 (以及其他用户的过去的电子消息)划分到时间箱中。
另外,如图3所示,活动管理***102将与过去的电子消息302 相关联的输入属性306作为输入提供给递归神经网络304。输入属性 306可以包括关于过去的电子消息的可用信息。例如,输入属性306 可以包括关于对过去的电子消息302的响应的信息。例如,输入属性 306可以包括在给定电子消息之前按时间顺序与电子消息相关联的信息,诸如但不限于:打开的最后消息、选择的最后消息、最后消息是否是大量电子邮件(例如,在训练期间发送给消息的75%的用户)、自上一消息发送以来的天数、自用户上次购买以来的天数、用于用户是否自上次消息以来进行了网络(即在线)购买或者用户是否进行了离线购买的二元指示符、自上一消息以来发送的非电子消息等。输入属性306还可以包括给定消息的发送时间或时间箱(例如,基于给定消息的时间戳)。
此外,活动管理***102还将真实参与度量312作为输入提供给递归神经网络。特别地,真实参与度量312可以包括真实危害度量,诸如过去的电子消息的传送时间和与用户的交互之间的实际时间。类似地,真实参与度量312可以包括真实交互概率度量,诸如用户是否实际与过去的电子消息交互的二元指示符。活动管理***102可以将预测参与度量与真实参与度量312进行比较,以生成经训练的递归神经网络316。
实际上,如图所示,在训练期间,递归神经网络304分析每个过去的电子消息302的输入属性,并且生成预测参与度量310a-310c。特别地,递归神经网络304利用递归神经网络304的不同层、在不同的抽象级别分析过去的电子消息的不同特征。例如,递归神经网络可以利用各种层(在图4中更详细地讨论)来生成加权参数,以预测针对每个消息的参与度量。
例如,递归神经网络304通过使用与过去的电子消息302中的第一消息302a相对应的输入属性306,来生成第一消息302a的第一预测参与度量310a。递归神经网络304还通过使用与过去的电子消息 302中的第二消息302b相对应的输入属性306,来生成第二消息302b 的第二预测参与度量310b。递归神经网络304继续分析过去的电子消息302并且生成针对每个消息的预测,直到通过使用与过去的电子消息302中的消息302n相对应的输入属性306,来生成消息302n的第N预测参与度量310n。
如图所示,在生成针对消息的预测参与度量之后,活动管理*** 102可以将预测参与度量与真实参与度量进行比较。例如,活动管理***102可以将第一预测参与度量310a与第一真实参与度量312a进行比较,将第二预测参与度量310b与第二真实参与度量312b进行比较,等等,并且将第N预测参与度量310n与第N真实参与度量312n 进行比较。因此,活动管理***102可以在生成每个预测参与度量时,将每个预测参与度量与对应的真实参与度量进行比较。
如图所示,活动管理***102可以利用损失函数314来比较预测参与度量和真实参与度量。损失函数314可以包括描述每个预测/真实对的差异的函数。例如,预测参与度量310a可以包括10分钟的预测危害度量和15分钟的真实危害度量。活动管理***102可以利用损失函数314比较预测危害度量和真实危害度量,以确定误差度量(例如,5分钟)。
另外,如图所示,活动管理***102可以使用损失函数314来生成经训练的递归神经网络316。具体地,活动管理***102可以修改递归神经网络304的一个或多个权重(例如,参数的权重),以减少预测参与度量310a-310n与真实参与度量312a-312n之间的差异。例如,在一个或多个实施例中,活动管理***102使用二元交叉熵算法作为损失函数。此外,活动管理***102利用随机梯度下降作为优化器来减少针对每个预测的损失的度量。类似地,在其他实施例中,活动管理***102利用具有Efron近似的负对数部分似然函数作为损失函数。在另一示例中,活动管理***102利用生存损失函数(即,基于由生存函数生成的危害度量的损失函数)。通过修改递归神经网络 304以减少损失的度量,活动管理***102创建经训练的递归神经网络316,其能够生成针对要发送给用户的新的电子消息的参与度量的预测。
现在转向图4,将提供根据一个或多个实施例的关于递归神经网络的示例性架构的附加细节。另外,提供了关于利用经训练的神经网络来生成针对一个或多个新的消息的参与度量的附加细节。例如,图 4示出利用基于过去的电子消息而被训练的递归神经网络架构来生成针对一个或多个新的消息的参与度量。
如图4所示,活动管理***102根据电子消息的顺序次序(例如,时间顺序)在多个阶段400a-400b中处理多个过去的电子消息。每个阶段利用具有多个层的递归神经网络,这些多个层允许活动管理*** 102为每个过去的电子消息生成预测,并且然后将预测与真实值进行比较,以训练递归神经网络。此外,阶段400a-400b的结构基于要由阶段400a-400b输出的参与度量的类型。更具体地,阶段400a-400b 使用生存分析来生成危害度量,但是不使用生存分析来生成交互概率度量。
在一个或多个实施例中,活动管理***102使用从用户(和/或其他用户)的过去的电子消息导出的信息作为递归神经网络的输入,来分析过去的电子消息并且训练递归神经网络。特别地,活动管理***使用与过去的电子消息相关联的属性402a作为过程的第一阶段的输入(例如,对于过去的消息的序列中的第一消息)。例如,活动管理***102可以确定表示针对用户的多个过去的电子消息的特征的特征向量。为了说明,特征向量可以包括最近消息的特征向量的逐元素平均值(例如,在过去的电子消息的序列中的第一消息之前或者在新的电子消息之前),以创建单个向量,该单个向量描述用户如前所述打开、选择或以其他方式与之交互等的消息的平均数目。因此,特征向量可以表示由用户进行的过去的交互的时近效应,并且活动管理*** 102可以改变最近消息的数目,以改变时近效应。
在训练过程的每个后续阶段(例如,阶段400b),活动管理*** 102可以将与对应消息相关联的属性输入到递归神经网络中。如前所述,输入属性指示:与当前消息和/或先前消息相关联的用户交互或发送特性以及针对当前消息的时间箱。例如,过去的消息的序列中的第二消息的属性402b可以包括:与第一消息相关联的用户交互或发送/ 传送特性和第二消息的时间箱。因此,第二阶段400b的属性402b可以反映与顺序地在第二消息之前的过去的消息(尤其是第一消息)的用户交互。
此外,当活动管理***102在分开的阶段中处理每个消息时,活动管理***102可以根据活动中的消息的顺序次序,来确定被递归神经网络确定为对于预测参与度量很重要的数据。特别地,图4示出了每个阶段400a-400b将序列数据404a-404b传递到下一阶段,以用于分析下一顺序消息。序列数据可以包括递归神经网络在预测针对消息的参与度量时确定的内部参数或其他重要特征。例如,在第一阶段 400a中分析用户的过去的消息中的第一消息之后,第一阶段400a将序列数据404a传递到第二阶段400b,以便分析用户的过去的消息中的第二消息。类似地,第二阶段400b可以将基于第二阶段400b和第一阶段400a的序列数据404b传递到第三阶段401,以预测新的电子消息的参与度量。因此,递归神经网络捕获与消息的顺序次序相对应的数据,以用于预测与每个新的消息的用户交互。
如上所述,活动管理***102使用递归神经网络在训练递归神经网络时,为每个过去的消息生成预测。具体地,每个阶段400a-400b 输出相应消息的预测参与度量406a-406b。为了说明,第一阶段400a 分析第一消息并且输出第一消息的参与度量406a。类似地,第二阶段 400b分析第二消息并且输出第二消息的参与度量406b。
为了生成参与度量,多个阶段400a-400b中的每个阶段包括递归神经网络层(“RNN层”)408a-408b和密集层410a-410b。RNN层 408a-408b包括递归神经网络,其接收与当前分析的电子消息和/或过去的电子消息相关联的输入属性和/或其他数据,以通知RNN层408a-408b的输出。例如,如前所述,第一阶段400a的RNN层408a 可以接收与第一消息相对应的属性402a,并且然后向第二阶段400b 输出序列数据404a。第二阶段400b的RNN层408b可以从第一阶段 400a接收与第二消息相对应的属性402b和序列数据404a,并且然后向后续阶段(未示出)输出序列数据404b。
RNN层408a-408b可以包括各种节点,以处理任意输入序列(例如,电子消息的任意序列)。例如,RNN层408a-408b可以包括一系列完全连接的层或节点,以处理电子消息序列并且输出消息的参与度量。RNN层408a-408b向密集层410a-410b输出数据,用于数据的附加处理。
在一个或多个实施例中,密集层410a-410b包括在RNN层 408a-408b的输出处包括激活函数的完全连接的层。例如,活动管理***102可以使用在每个阶段400a-400b处生成交互概率度量的分类模型。具体地,在分类模型中,密集层410a-410b可以在RNN层 408a-408b的输出处包括sigmoid激活函数,sigmoid激活函数然后产生针对对应的过去的电子消息的交互概率度量。为了说明,对于给定阶段(例如,阶段400a),RNN层408a和密集层410a输出针对用户的过去的电子消息中的第一消息的交互概率度量(例如,用于将消息分类为与之交互或不交互的概率)。
备选地,活动管理***102可以使用在每个阶段400a-400b生成危害度量的生存模型。特别地,在生存模型中,密集层410a-410c可以在RNN层408a-408c的输出处包括指数激活函数,并且生存层 412a-412c连接到密集层410a-410c的输出,以产生针对多个时间箱的危害度量。为了说明,对于给定阶段(例如,阶段400a),RNN层 408a、密集层410a和生存层412a输出针对多个时间箱中的每个时间箱的危害度量。
在每个阶段,活动管理***102然后使用参与度量406a-406b来训练递归神经网络,以减少预测中的错误。具体地,参与度量可以将参与度量406a-406b与针对过去的消息的对应的真实值进行比较。例如,在第一阶段400a中,活动管理***102可以将参与度量406a与第一消息的真实值(例如,来自与第一消息相关联的用户交互数据) 进行比较,以更新RNN层408a。同样地,在第二阶段400b中,活动管理***102可以将参与度量406b与第二消息的真实值进行比较,以更新RNN层408b。
尽管图4仅示出了用于通过过去的电子消息来训练递归神经网络的两个阶段400a-400b,活动管理***102可以使用更多阶段来训练递归神经网络。例如,递归神经网络可以包括:针对在分析窗口内、针对用户的每个过去的电子消息的阶段。相应地,如果分析窗口包括划分到多个时间箱中的、针对用户的五十个过去的电子消息,则递归神经网络可以包括五十个阶段——每个阶段用于针对用户的一个过去的电子消息。此外,根据过去的电子消息的顺序次序对这些阶段进行排序,以分析过去的电子消息(例如,最近的过去的电子消息与训练阶段中的最后的阶段相对应,并且最老的过去的电子消息与训练阶段中的第一阶段相对应)。
如上所述,活动管理***102可以基于针对用户的过去的电子消息来训练包括递归神经网络的模型,并且使用经训练的网络来分析新的电子消息。例如,如图4所示,然后活动管理***102利用由多个阶段400a-400b产生的经训练的神经网络,来为针对用户的新的电子消息生成预测。特别地,活动管理***102包括跟随过去的电子消息的顺序次序的阶段401(例如,在最近的过去的电子消息之后按时间顺序发生)。阶段401利用具有与阶段401输出的参与度量的类型相对应的结构的经训练的递归神经网络。具体地,为了生成交互概率度量,阶段401包括RNN层408c,以及在RNN层408c的输出处包括 sigmoid激活函数的完全连接的密集层410c。为了生成危害度量,阶段401包括RNN层408c、在RNN层408c的输出处包括指数激活函数的完全连接的密集层410c、以及连接到密集层410c的输出的生存层412c。
为了预测针对新的电子消息的参与度量406c,阶段401从训练过程的最后阶段接收与新的电子消息相对应的属性402c和序列数据,作为RNN层408c的输入。特别地,属性402c包括描述针对用户的多个过去的电子消息的信息(例如,用户交互和传送特性,如前所述)。另外,紧接在阶段401之前的阶段(例如,训练过程中用于训练数据集中的最近的过去的电子消息的最后阶段)传递递归神经网络在训练过程期间已经学习的序列数据。
阶段401使用属性402c和序列数据来生成针对新的电子消息和针对时间箱的参与度量406c。例如,活动管理***102根据计划窗口内的多个时间箱改变针对新的电子消息的时间箱,以预测针对多个时间箱的多个参与度量406c。因此,活动管理***102针对每个时间箱生成单独的参与度量406c,以获取计划窗口内的多个时间箱的多个参与度量406c。
如前所述,图4的模型的每个阶段针对每个时间箱生成参与度量。通过使用参与度量,活动管理***102通过对时间箱进行排名来确定电子消息的发送时间。特别地,活动管理***102可以对时间箱进行排名,以选择具有最佳参与度量的时间箱(例如,最大交互概率度量或最小危害度量)。活动管理***102还可以确定与所选择的时间箱相关联的发送时间,用于在所确定的发送时间期间发送电子消息。为了发送多个电子消息,活动管理***102还可以使用一个或多个活动参数(例如,消息频率)来确定要选择哪些时间箱。
基于参与度量406c在与时间箱相对应的时间发送电子消息之后,活动管理***102可以跟踪与电子消息的用户交互。例如,活动管理***102可以确定用户是否和/或何时打开消息,选择消息内的内容,跟随消息内到外部站点的链接,作为消息的结果完成购买,等等。活动管理***102可以利用与消息的用户交互信息,以通过将消息的真实值与参与度量406c进行比较,以确定损失,并且然后相应地更新递归神经网络的一个或多个算法来更新递归神经网络。
还可以在特定变量、等式和/或伪代码方面来描述活动管理*** 102,以利用一个或多个计算机设备来确定传送时间。因此,现在将提供关于这些示例性实施例中的一个或多个示例性实施例的附加细节。
对于用户c和被表示为{M1,M2,...,Mk-1}的、发送给用户的过去的消息的历史,每个Mi,i∈{1,…,k-1}具有针对第i消息的特征集,表示为Xi。该特征集包括如先前相对于图3所述的输入属性(例如,用户交互和发送特性)。例如,与消息Mi的用户交互表示为 {Yi,Ti,δi},其中Yi是正在分析的消息是否被打开的二元指示符,并且Ti是发送时间与打开时间之间的时间差。δi是打开事件是否被删失(censor)的二元指示符(即,如果在某个时间段Ci内没有观察到打开事件)。在删失的情况下(即,δi=1),Yi=0并且Ti=Ci。
此外,如上所述,用于发送电子消息的时间箱是Xi中的特征之一。例如,在本实施例中,时间箱是计划窗口内的100个可能的时间箱之一。另外,可以使用长度为100的独热(one-hot)矢量对时间箱进行编码。时间箱的数目可以基于由活动管理***102确定的计划窗口长度和时间计划精度而变化。
活动管理***102使用递归神经网络来确定在前面的第k消息的最佳发送时间。对于每个消息,活动管理***102通过使用针对消息的交互概率度量或危害度量来对时间箱进行评分(即,当在被评分的时间箱期间发送消息时)。因为时间箱是针对消息的输入属性之一,所以改变时间箱获取每个箱的不同得分。两种类型的评分模型(即,分类和生存)针对由管理员指定的不同目标进行优化。两种模型都使用递归神经网络,这有助于对与多个消息相关联的序列交互数据进行建模。
对于分类模型,活动管理***预测客户是否将与第k消息交互。具体地,分类模型的输入包括发送给用户的过去的消息的历史序列的特征向量。活动管理***将序列的长度限制为过去的m个消息。因此,模型的输入被表征为(Xk-m+1,Xk-m+2,...,Xk},并且序列的预期输出是Yk。一般地,针对第c用户、第(k+1)消息和第b时间箱的输出是Yc,k+1,b。
活动管理***102首先一次一个消息地来传递输入序列通过递归神经网络层,然后是具有sigmoid激活函数的完全连接的层。在每个步骤,活动管理***102优化模型以预测该消息的Y1。此外,分类模型可以使用随机梯度下降作为优化器,其具有二元交叉熵作为损失函数。
在涉及生存模型的备选实施例中,活动管理***预测消息的交互时间。具体地,本实施例的生存模型预测消息的打开时间。在一个示例中,活动管理***102使用比例危害框架来对预测消息的交互时间的过程进行建模。对于每个消息,活动管理***102可以计算危害比率,该危害比率是危害率的时间无关分量,并且仅取决于输入属性。危害率表示在假定消息至今尚未打开的情况下,用户打开消息的瞬时概率。危害比率越高,打开消息的瞬时风险就越高。一般地,对于 (i,k+1,b),生存模型输出危害率h(t)。
活动管理***102首先一次一个消息地传递输入序列通过递归神经网络,接着是具有指数激活函数的完全连接的层(如关于图4所描述的)。活动管理***102可以还使用具有Efron近似的负对数部分似然函数作为损失函数。Efron近似改变似然函数,以考虑具有绑定的打开时间值的数据点。输出层预测针对每个消息的危害比率Ψ(Xi)。生存函数可以访问活动管理***102基于其来计算损失的实际值{Ti,δi}。
一旦活动管理***102已经针对消息的多个时间箱生成了参与度量,活动管理***102对时间箱进行排序,并且为该消息选择时间箱。为了说明,对于分类模型,活动管理***102基于对应的交互概率度量对时间箱进行排序。对于生存模型,活动管理***102基于对应的危害比率对时间箱进行排序。
由于活动管理员通常计划活动内的多个消息,因此管理员可以请求为活动中的所有消息生成发送时间表。因此,针对一个或多个消息的所选择的时间箱可以根据消息的总数和对要发送的消息的频率的限制而改变。因此,给定针对活动的、要在计划窗口内发送的消息的数目,活动管理***102确定每个消息的最佳发送时间,使得时间箱的得分的总和在受限于诸如消息的总量和频率等约束的情况下最大化(或最小化,这取决于评分/度量的类型)。
例如,活动管理***102可以根据针对对应的参与度量的得分来对时间箱进行排序。为了说明,活动管理***102可以选择等于活动中的消息总数的多个时间箱。活动管理***102还可以过滤出违反频率约束的时间箱。因此,如果任何所选择的时间箱违反频率约束(例如,由于太靠近另一时间箱),则活动管理***102可以移除或跳过所选择的时间箱。活动管理***102可以通过使用满足最大消息和频率约束的所选择的时间箱,来生成用于发送多个消息的时间表。
此外,如前面简述,当安排要发送的多个消息时,活动管理***可能不具有针对计划窗口内的未来消息的输入属性。为了克服这种不足,活动管理***102可以通过在计划窗口处构建针对每个未来的消息的输入属性(例如,使用过去的电子消息的输入属性)来做出简化的假设。然后,活动管理***102可以假定这些输入属性在整个计划窗口中保持不变(即,作为模型的每个阶段的输入)。
为了确定活动管理***102提供的益处,研究人员还基于一个或多个实验实施例进行了研究。特别地,在一个实验实施例中,初始数据集包括由电子零售公司在2年(2013年12月至2015年12月)期间的活动中的约120万用户与电子邮件的用户交互。除了电子邮件跟踪信息(例如,用户交互信息)之外,数据集还包括客户购买日期、购买频率、交易性质(在线或离线)、电子邮件打开率、电子邮件点击/选择率、邮政特征等。
在该实验实施例中,活动管理***102仅考虑从2013年12月至 2014年4月的数据以评估模型。在五个月内接收到少于两个消息的用户被排除在外。此外,评估仅保留已经接收到多于十个消息或至少每三十天从公司接收到消息的用户。这允许活动管理***102具有用于对用户的交互进行建模的足够的数据。另外,活动管理***102排除了交易消息(被标识为与发送给少于400个接收者的活动相对应的消息)。最后,移除了具有超过10个响应的消息,因为假定这些响应很可能包括自动响应。
因此,对于实验实施例的最终数据集,接收用户的数目约为80 万,消息的数目约为7450万,独特活动的数目是2600个,打开的电子邮件的百分比约为20.8%,并且点击率约为2.3%。活动管理*** 102随机采样20,000个用户并且为用户构建特征。模型的最大序列长度是十六(即,如果可用,则仅考虑用户的最后的m=16个消息)。此外,活动管理***102在对随机采样的用户子集执行5倍交叉验证之后报告结果。
对于分类模型,将包括递归神经网络的模型与两个其他模型(即,逻辑回归和前馈神经网络)进行比较。由于逻辑回归不允许明确地将序列数据作为输入,因此评估使用输入序列中的特征向量的逐特征平均值,用于逻辑回归。所收集的实际输出是最后的消息是否被打开。评估使用相同的输入和输出公式用于前馈神经网络。下面的表1示出了根据接收器操作特性曲线(AUC)和F度量的、在面积方面的三个模型的性能。如表1所示,使用递归神经网络的分类模型具有最高的 AUC和第二高的F度量。
表1:针对打开概率模型的结果
模型名称 | AUC | F度量 |
逻辑回归 | 89.77 | 0.602 |
前馈神经网络 | 89.89 | 0.627 |
递归神经网络 | 90.403 | 0.624 |
对于生存模型,将包括递归神经网络的模型与两个生存分析模型 (即,Cox比例危害模型(Cox-PH)和Weibull加速失效时间模型 (Weibull AFT))进行比较。与基线分类模型类似,针对Cox-PH和 Weibull AFT模型的输入属性向量是:输入序列中的特征向量的逐特征平均值。表2在一致性指数方面示出了三种模型的性能,该一致性指数是在生存模型中使用的标准评估指标。具体地,一致性指数是 AUC到经删失的数据的一般化,并且被定义为可比较的数据点对的比例,其中实际值和预测的打开时间顺序是相同的。可比较对是其中至多一个数据点被删失的对。表2表明,递归神经网络模型实现最高的一致性指数,这可能归因于使用递归神经网络来建模序列数据。
表2:打开时间预测模型的结果
如上所述,活动管理***102提供优于常规模型的改进。具体地,活动管理***102可以提供对交互概率和危害度量的高度准确的预测。另外,活动管理***102提供用于基于所选择的参与度量来获取多个不同度量的灵活性。
如上所述,活动管理***102帮助规划和执行数字内容活动。特别地,图5A-图5C示出了根据一个或多个实施例的、由活动管理***102生成的、用于规划和执行数字内容活动中的电子消息的策略性传送时间的图形用户界面。
图5A示出了数字内容活动的管理员可以用来管理活动的活动管理界面500的实施例。具体地,活动管理界面500在管理员客户端设备(例如,管理员客户端设备104)上操作。另外,活动管理界面500 可以是允许管理员管理活动的各个方面的管理员应用(例如,管理员应用116)的一部分,包括通过向一个或多个用户发送电子消息来传送针对活动的电子消息和/或执行活动。
如图所示,活动管理界面500提供允许管理员选择活动的一个或多个活动参数的多个选项。例如,活动参数可以包括消息数目参数502 和消息频率参数504。为了说明,消息数目参数502指示要与活动相关地发送的消息的总数。图5A示出了管理员已经将活动的消息的总数选择为“7”。
另外,消息频率参数504指示在给定时间箱内发送的消息的最大数目。例如,消息频率参数504可以是一天、一周或任何其他时间段。图5A示出了管理员已经选择每天发送的最大消息数目为三。另外,时间段可以是可修改的,以允许管理员针对消息频率参数504设置消息数目和时间段。因此,活动管理界面500可以提供各种可定制的选项,以供管理员在执行活动时使用。
此外,尽管图5A示出了与滑动条相关的消息数目参数502和与下拉菜单相关的消息频率参数504,但是活动管理界面500可以提供允许管理员选择活动参数的其他方法。例如,可以使用滑动条、下拉菜单、输入字段、或用于输入数值的其他方法来设置消息数目参数502 和消息频率参数504中的任一者或两者。
另外,活动管理界面500还可以包括附加的活动参数。例如,活动管理界面500可以包括设置活动的计划窗口(或分析窗口)的选项。为了说明,管理员可以选择活动开始日期和活动结束日期,以建立活动的计划窗口。如前所述,活动管理***可以使用计划窗口,来确定用于划分过去的消息的分析窗口,以针对多个潜在接收者训练递归神经网络(或多个递归神经网络)。
另外,活动管理界面500可以包括参与度量参数,其允许管理员针对活动来选择参与度量的类型。如前所述,参与度量的类型可以包括交互时间度量或交互概率度量。除了参与度量之外,管理员还可以选择针对参与度量的特定交互。因此,管理员可以指定:交互时间度量或交互概率度量对应于打开事件、选择事件、点击事件、重定向事件、转换事件、或与电子消息相关联的其他用户交互。
在一个或多个实施例中,一旦活动管理***102具有活动参数,活动管理***102就在计划窗口内划分过去的消息,并且为每个用户训练递归神经网络。然后,通过使用每个递归神经网络,活动管理***102根据所选择的参与度量类型,生成针对发送时间箱的参与度量。活动管理***102基于参与度量对时间箱进行排名,并且根据消息数目参数502选择前K个时间箱。另外,活动管理***102可以验证前 K个时间箱符合消息频率参数504。
在基于活动参数确定针对用户的时间箱之后,活动管理***102 可以进一步基于所确定的、针对用户的时间箱,来将用户与具有相同发送时间表的其他用户一起分组。如图5A所示,活动管理界面500 包括群集区域506,群集区域506包括多个群集(例如,由圆圈表示)。每个群集对应于具有相同发送时间表(例如,公共时间箱)的一组用户。存在多少具有相同发送时间表的用户组,活动管理***102就可以生成多少群集。此外,活动管理界面500内的群集的视觉大小对应于群集内的用户数目。
另外,在一个或多个实施例中,活动管理***102还显示(例如,定位)群集,以指示不同群集的发送时间表之间的交叠度量。例如,在群集区域506中部分交叠的两个群集可以指示每个群集的发送时间表内的传送时间(例如,时间箱)的部分交叠。在群集区域506中更大程度地交叠的两个附加群集可以指示传送时间的更大程度的交叠 (例如,更多数目的共同时间箱)。
在一个或多个实施例中,选择群集区域506内的群集508引起活动管理界面500显示群集的发送时间表510。发送时间表510可以包括用于在活动中发送消息的多个预定时间。如前所述,活动管理*** 102将消息的时间表安排在与所确定的、针对(多个)用户的时间箱相对应的时间处。因此,发送时间表510可以包括与活动管理***102 为用户群集选择的时间箱的数目相对应的多个时间。
如图5B所示,选择新的用户群集512用针对新的群集512的新的发送时间表514来更新活动管理界面500。新的群集512的发送时间表514可以包括与第一群集508的发送时间表510不同的发送时间分布。特别地,针对新的群集512的发送时间是基于针对新的群集512中的用户的(多个)递归神经网络的,(多个)递归神经网络基于用户与过去的电子消息的交互来标识时间箱。因此,每个群集具有不同的时间箱分布的不同的发送时间表。在一个或多个实施例中,如果用户不具有满足预定阈值的那么多的时间箱,则一些群集可以在发送时间表中具有不同数目的发送时间。
另外,改变活动参数可以引起活动管理***102为用户执行新的计算。例如,管理员可以选择新的活动参数(例如,新的计划窗口、为“5”的新的消息数目参数502和为“1”的新的消息频率参数504)。具体地,活动管理***102可以对过去的电子消息进行划分,并且为用户训练递归神经网络,以根据新的活动参数标识针对用户的发送时间表。基于新的活动参数分析针对用户的过去的电子消息可以导致根据新的发送时间表产生用户的新的群集。
图5C示出了活动管理界面500的另一实施例,其中群集区域516 包括与图5A-图5B的群集区域506不同的群集布置。如图所示,选择群集518引起活动管理界面500显示针对群集518的、具有新的活动参数的发送时间表520。同样地,选择群集区域516中的其他群集可以显示也满足新的活动参数的对应的发送时间表。每当管理员改变活动参数时,或者基于管理员改变活动参数并且选择运行新的分析的选项,活动管理***102可以执行新的分析,并且生成具有不同发送时间表的新的用户群集。
尽管上面的描述描述了为每个用户训练递归神经网络,但是活动管理***102可以备选地为一组用户训练递归神经网络。例如,活动管理***102可以针对包括所有具有特定特性的用户的所选择的目标受众来训练递归神经网络。当训练递归神经网络时,活动管理***102 可以针对目标受众来将过去的电子消息和用户交互组合。因此,递归神经网络可以输出目标受众的预测参与度量,这可以提供与针对个体用户训练递归神经网络相比的处理改进。另外,活动管理***102可以生成并且提供基于目标受众组(例如,具有相同发送时间表的多个目标受众)的群集的发送时间表。
图6示出了图1的活动管理***102的实施例的详细示意图。如图所示,活动管理***102可以是(多个)计算设备600的一部分。另外,活动管理***102可以包括但不限于:消息管理器602、用户简档数据库604、活动管理器606和数据存储管理器608。活动管理***102可以在任何数目的计算设备(例如,图1的(多个)服务器设备112和/或管理员客户端设备104)上实现。例如,活动管理*** 102可以在服务器设备的分布式***中实现,用于管理数字内容活动,以向多个用户的多个客户端设备发送诸如电子邮件等电子消息。备选地,活动管理***102可以在诸如图1的管理员客户端设备104等单个计算设备上实现。
在一个或多个实施例中,活动管理***102的每个组件使用任何合适的通信技术彼此通信。另外,活动管理***102的组件可以与包括管理员客户端设备104在内的一个或多个其他设备通信,如图1所示。应当认识到,尽管活动管理***102的组件在图6中被示出为分开的,但是任何子组件可以组合成更少的组件,诸如组合成单个组件,或者可以分成更多组件,如可以适合于特定实现。此外,尽管图6的组件结合活动管理***102来描述,但是用于执行与本文中描述的活动管理***102相关的操作的至少一些组件可以在环境内的其他设备上实现。
活动管理***102的组件可以包括软件、硬件或两者。例如,活动管理***102的组件可以包括存储在计算机可读存储介质上、并且由一个或多个计算设备(例如,(多个)计算设备600)的处理器可执行的一个或多个指令。当由一个或多个处理器执行时,活动管理***102的计算机可执行指令可以使得(多个)计算设备600执行本文中描述的活动管理方法。备选地,活动管理***102的组件可以包括硬件,诸如用于执行特定功能或功能组的专用处理设备。附加地或备选地,活动管理***102的组件可以包括计算机可执行指令和硬件的组合。
此外,执行本文中关于活动管理***102描述的功能的活动管理***102的组件可以例如被实现,作为独立应用的一部分,作为应用的模块,作为用于包括内容管理应用在内的应用的插件,作为可以由其他应用调用的库函数,和/或作为云计算模型。因此,活动管理*** 102的组件可以实现为个人计算设备或移动设备上的独立应用的一部分。备选地或附加地,活动管理***102的组件可以在允许创建和向用户递送营销内容的任何应用中实现,包括但不限于 ANALYTICS CLOUD中的应用,诸如ANALYTICS、AUDIENCE MANAGER、CAMPAIGN、 EXPERIENCEMANAGER、MEDIA OPTIMIZER、 PRIMETIME、SOCIAL和TARGET。“ADOBE”、“ADOBE ANALYTICS CLOUD”、“ADOBE ANALYTICS”、“ADOBEAUDIENCE MANAGER”、“ADOBE CAMPAIGN”、“ADOBE EXPERIENCE MANAGER”、“ADOBEPRIMETIME”、“ADOBE SOCIAL”和“ADOBE TARGET”是Adobe Systems在美国和/或其他国家/地区的公司的注册商标。
如上所述,活动管理***102可以包括消息管理器602,用于促进对与一个或多个数字内容活动相关联的电子消息的管理。具体地,消息管理器602可以管理电子消息的内容、电子消息的类型、以及去往一个或多个接收者的电子消息的发送/跟踪。例如,消息管理器602 可以跟踪作为数字内容活动的一部分而被发送给接收者的电子消息,并且然后跟踪与消息的用户交互。另外,消息管理器602可以确定电子消息的特性(例如,基于内容、发送时间、相关的消息/活动),以供活动管理器606使用。消息管理器602可以与数据存储管理器608 通信,以存储先前发送给接收者的过去的电子邮件和要发送给接收者的新的电子邮件。
消息管理器602还可以将电子消息划分到时间箱中,以供活动管理器606使用。具体地,消息管理器602可以接收关于活动的信息(例如,诸如计划窗口、分析窗口、消息的数目、消息的频率等活动参数),并且然后将过去的电子消息划分到多个时间箱中。消息管理器602可以跨时间箱或使用其他划分方法(诸如在特定时间窗口内)均匀地划分消息。
活动管理***102还包括用户简档数据库604,用于促进对与多个接收用户相关联的用户简档信息的管理和存储。例如,用户简档数据库604可以包括:活动管理***102已经向其发送消息或将向其发送消息的多个用户中的每个用户的用户简档。用户简档可以包括关于用户的个人信息(例如,用户人口统计信息),以及指示用户与电子消息的历史交互、用户兴趣和用户偏好的信息。当与对应用户相关联的新的信息变得可用时(例如,响应于新的用户交互或经改变的用户信息),用户简档数据库604可以更新用户简档。
在一个或多个实施例中,活动管理***102包括活动管理器606,用于管理针对一个或多个实体的数字内容活动。特别地,活动管理器 606可以管理针对多个实体的多个数字内容活动,多个实体经由一个或多个数字内容活动向多个用户提供营销消息或信息消息。另外,活动管理器606可以关于管理和执行活动来向活动管理员提供对活动数据的访问。
活动管理器606还可以提供与执行活动相关联的分析和预测信息。例如,活动管理器606可以包括用于生成与要发送给用户的新的电子消息相关联的预测参与度量的递归神经网络610。活动管理器606 可以基于过去的电子消息训练递归神经网络610,并且然后利用递归神经网络610来生成针对时间箱(如消息管理器602所确定的)的预测参与度量。活动管理器606还可以包括用于生成预测参与度量的多个递归神经网络(例如,每个用户或每个目标受众一个递归神经网络)。
活动管理器606可以包括时间表管理器612,其使用预测参与度量来确定用于在一个或多个数字内容活动中发送新的电子消息的传送时间。特别地,时间表管理器612可以基于预测参与度量对时间箱进行排名。此外,时间表管理器612可以使用活动参数来基于经排名的时间箱确定多个传送时间,用于为用户或用户组生成发送时间表。时间表管理器612还可以通过与消息管理器通信,以根据发送时间表在传送时间处发送消息,来辅助活动管理员执行数字内容活动。
活动管理***102还包括数据存储管理器608(其包括非暂态计算机存储器),其存储和保持与数字内容活动相关联的数据。例如,数据存储管理器608可以包括为每个用户存储多个过去的电子消息的数据库。另外,数据存储管理器608可以存储与用户相关联的信息,诸如用户简档、以及与用户和过去的电子消息的交互相关联的用户交互信息。此外,数据存储管理器608可以为一个或多个用户存储一个或多个递归神经网络610。
现在转向图7,该图示出了使用机器学习来确定和应用策略性数字内容传送时间的一系列动作700的流程图。虽然图7图示了根据一个实施例的动作,但是备选实施例可以省略在图7中示出的动作中的任何动作,向在图7中示出的动作中的任何动作进行添加,重新对在图7中示出的动作中的任何动作进行排序,和/或修改在图7中示出的动作中的任何动作。图7的动作可以被执行为方法的一部分。备选地,非暂时性计算机可读介质可以包括指令,该指令在被一个或者多个处理器执行时使计算设备执行图7的动作。在更进一步的实施例中,***可以执行图7的动作。
一系列动作700包括将过去的电子消息划分到时间箱中的动作 702。例如,动作702涉及将多个过去的电子消息划分为多个时间箱,其中多个过去的电子消息包括针对用户的过去的电子消息。动作702 可以包含确定数字内容活动的计划窗口,并且基于计划窗口来生成时间箱,使得时间箱跨越计划窗口,并且多个过去的电子消息根据分组比例在时间箱之间被划分。例如,分组比例可以包括过去的电子消息跨多个时间箱的相等划分。
一系列动作700还包括训练递归神经网络以生成与时间箱相对应的参与度量的动作704。例如,动作704包含:根据顺序次序、经由递归神经网络来分析过去的电子消息,以训练递归神经网络来生成与针对去往用户的新的电子消息的时间箱相对应的参与度量。
作为动作704的一部分,一系列动作700包括生成针对第一电子消息的第一预测参与度量的动作704a。例如,动作704a包含:基于与第一电子消息相对应的第一时间箱,来生成针对用户的过去的电子消息中的第一电子消息的第一预测参与度量。例如,第一预测参与度量可以包括第一预测危害度量,并且第一预测危害度量指示:与第一电子消息的用户交互是由在第一时间箱内向用户发送第一电子消息引起的瞬时概率。
作为动作704的一部分,一系列动作700还包括将第一预测参与度量与真实参与度量进行比较的动作704b。例如,动作704b包含:将第一电子消息的第一预测参与度量与第一电子消息的真实参与度量进行比较。
作为动作704的一部分,一系列动作700可以包括:向递归神经网络提供与第一电子消息相关联的输入属性作为输入,该输入属性包括:与在第一电子消息之前发送的至少一个过去的电子消息的用户交互和与第一电子消息相对应的第一时间箱。
一系列动作700还可以包括:基于与第二电子消息相对应的第二时间箱,生成针对用户的过去的电子消息中的第二电子消息的第二预测参与度量的动作。然后,一系列动作700可以包括:将第二电子消息的第二预测参与度量与第二电子消息的真实参与度量进行比较的动作。另外,一系列动作700可以包括:生成与第一电子消息相对应的序列数据的动作,并且还包括在由至少一个处理器执行时使得***基于与第一电子消息相对应的序列数据来生成第二预测参与度量的指令。
一系列动作700还可以包括在管理员客户端设备的用户界面内,提供选择交互概率类型的参与度量或危害类型的参与度量的选项用于显示的动作。一系列动作700还可以包括:从管理员客户端设备接收选择危害类型的参与度量的指示的动作。一系列动作700还可以包括:基于对危害类型的参与度量的选择,利用第一预测危害度量来训练递归神经网络的动作。
一系列动作700还包括确定用于向用户发送新的电子消息的时间箱的动作706。例如,动作706包含:对于包括针对用户的新的电子消息的数字内容活动,确定多个时间箱中用于向用户的客户端设备发送新的电子消息的时间箱。
作为动作706的一部分,一系列动作700还包括生成针对时间箱的危害度量的动作706a。例如,动作706a包含:通过使用在去往用户的过去的电子消息上被训练的递归神经网络,生成针对时间箱的危害度量,其中危害度量指示与新的电子消息的用户交互是由在时间箱内向用户发送新的电子消息引起的瞬时概率。
作为动作706的一部分,一系列动作700包括基于危害度量选择时间箱的动作706b。例如,动作706b包含:基于时间箱的危害度量从多个时间箱中选择时间箱。
另外,动作706还可以包含:对于多个时间箱中的第二时间箱,使用在去往用户的过去的电子消息上被训练的递归神经网络来生成针对去往用户的新的消息的第二危害度量。动作706可以包含:通过比较第一时间箱的危害度量和第二时间箱的第二危害度量,来从多个时间箱中选择时间箱。动作706还可以包括通过将第一时间箱和第二时间箱与限制向用户的客户端设备发送电子消息的频率的频率参数进行比较,来选择第二时间箱。
一系列动作700还可以包括:利用递归神经网络确定用于向用户的客户端设备发送多个电子消息的时间箱子集。然后,一系列动作700 可以包括:根据所确定的时间箱子集生成用于发送多个电子消息的发送时间表。
另外,一系列动作700包括执行数字内容活动的动作706。例如,动作706包含:通过基于所确定的时间箱、向用户的客户端设备发送新的电子消息来执行数字内容活动。动作706可以包含:响应于来自管理员客户端设备的、发起数字内容活动的请求来执行数字内容活动。
另外,一系列动作700可以包括:通过根据针对用户的发送时间表向用户的客户端设备发送多个电子消息来执行数字内容活动的动作。一系列动作700还可以包括:将用户分组到与发送时间表相对应的用户群集中,并且在管理员客户端设备的用户界面内呈现用户群集以及发送时间表。
如下面更详细地讨论的,本公开的实施例可以包括或者利用包括计算机硬件(诸如,例如,一个或者多个处理器和***存储器)的专用或者通用计算机。在本公开的范围内的实施例还包括用于携带或者存储计算机可执行指令和/或数据结构的物理介质和其他计算机可读介质。具体地,本文描述的一个或者多个过程可以至少部分地实施为体现为非暂时性计算机可读介质并且可由一个或者多个计算设备(例如本文描述的媒体内容访问设备中的任何媒体内容访问设备)执行的指令。通常,处理器(例如微处理器)从非暂时性计算机可读介质(例如存储器等)接收指令,并且执行那些指令,从而执行一个或者多个过程,包括本文描述的过程中的一个或者多个过程。
计算机可读介质可以是可以由通用或者专用计算机***访问的任何可用介质。存储计算机可执行指令的计算机可读介质是非暂时性计算机可读存储介质(设备)。携带计算机可执行指令的计算机可读介质是传输介质。因此,通过示例的方式而非限制,本公开的实施例可以包括至少两种截然不同的计算机可读介质:非暂时性计算机可读存储介质(设备)和传输介质。
非暂时性计算机可读存储介质(设备)包括:RAM、ROM、 EEPROM、CD-ROM、固态驱动器(“SSD”)(例如基于RAM的固态驱动器)、闪速存储器、相变存储器(“PCM”)、其他类型的存储器、其他光盘存储设备、磁盘存储设备或者其他磁存储设备或者可以用于存储计算机可执行指令或者数据结构形式并且可以由通用或者专用计算机访问的所需程序代码设备的任何其他介质。
“网络”被定义为能够在计算机***和/或模块和/或其他电子设备之间传送电子数据的一个或多个数据链路。当通过网络或其他通信连接(硬连线、无线、或者硬连线或无线的组合)向计算机传送或提供信息时,计算机将该连接合适地视为传送介质。传送介质可以包括:可以用于以计算机可执行指令或数据结构的形式携带所期望的程序代码装置,并且可以由通用或专用计算机访问的网络和/或数据链路。上述的组合也应当被包括在计算机可读介质的范围内。
进一步地,在计算机可执行指令或者数据结构形式的程序代码设备到达各个计算机***组件之后,可以自动通过传输介质将该程序代码传递至非暂时性计算机可读存储介质(设备)(或者反之亦然)。例如可以在网络接口模块(例如“NIC”)内的RAM中对通过网络或者数据链路接收到的计算机可执行指令或者数据结构进行缓冲,并且然后最终将该计算机可执行指令或者数据结构传递至计算机*** RAM和/或计算机***处的不那么易失的计算机存储介质(设备)。因此,应该理解,非暂时性计算机可读存储介质(设备)可以包括在同样(或者甚至主要)利用传输介质的计算机***组件中。
计算机可执行指令包括:例如指令和数据,该指令和数据在处理器处执行时使通用计算机、专用计算机或者专用处理设备执行特定功能或者功能组。在一些实施例中,在通用计算机上执行计算机可执行指令以将通用计算机转变成实施本公开的元件的专用计算机。计算机可执行指令可以是:例如二进制文件、中间格式指令(诸如汇编语言) 或者甚至源代码。虽然已经用特定于结构特征和/或方法动作的语言描述了本主题,但是应该理解,在随附权利要求书中定义的主题不必限于上面所描述的特征或者动作。相反,所描述的特征和动作被公开为实施权利要求书的示例形式。
本领域的技术人员要了解,本公开可以实施在具有许多类型的计算机***配置的网络计算环境中,包括:个人计算机、台式计算机、膝上型计算机、消息处理器、手持设备、多处理器***、基于微处理器的或者可编程消费电子产品、网络PC、小型计算机、大型计算机、移动电话、PDA、平板、寻呼机、路由器、交换机等。本公开还可以实践在分布式***环境中,在该分布式***环境中,通过网络链接(通过硬连线数据链路、无线数据链路或者通过硬连线数据链路和无线数据链路的组合)的本地计算机***和远程计算机***都执行任务。在分布式***环境中,程序模块可以位于本地存储器存储设备和远程存储器存储设备中。
本公开的实施例还可以实施在云计算环境中。在本说明书中,“云计算”被定义为用于实现对可配置计算资源的共享池的按需网络访问的模型。例如可以在市场中采用云计算来提供对可配置计算资源的共享池的普遍并且方便的按需访问。可以经由虚拟化来快速地提供可配置计算资源的共享池,并且可以花费较少的管理努力或者服务提供商交互来释放可配置计算资源的共享池,并且然后可以相应地对可配置计算资源的共享池进行缩放。
云计算模型可以由各种特点组成,诸如,例如,按需自助服务、广泛的网络访问、资源池化、快速弹性、计次制通话业务等。云计算模型还可以公开各种服务模型,诸如,例如,软件即服务(“SaaS”)、平台即服务(“PaaS”)和基础设施即服务(“IaaS”)。还可以通过使用不同的部署模型(诸如私有云、社区云、公共云、混合云等)来部署云计算模型。在本说明书和权利要求书中,“云计算环境”是采用云计算的环境。
图8示出了可以被配置为执行上述过程中的一个或多个的示例性计算设备800的框图。可以理解,诸如计算设备800等一个或多个计算设备可以实现活动管理***102。如图8所示,计算设备800可以包括可以通过通信基础设施812通信地耦合的处理器802、存储器804、存储设备806、I/O接口808和通信接口810。在某些实施例中,计算设备800可以包括比图8所示的组件更少或更多的组件。现在将更详细地描述图8所示的计算设备800的组件。
在一个或多个实施例中,处理器802包括用于执行诸如构成计算机程序的指令等指令的硬件。作为示例而非限制,为了执行用于动态地修改工作流的指令,处理器802可以从内部寄存器、内部高速缓存、存储器804或存储设备806检索(或获取)指令,并且解码和执行指令。存储器804可以是用于存储由(多个)处理器执行的数据、元数据和程序的易失性或非易失性存储器。存储设备806包括用于存储用于执行本文中描述的方法的数据或指令的存储装置,诸如硬盘、闪存盘驱动器或其他数字存储设备。
I/O接口808允许用户向计算设备800提供输入,从计算设备800 接收输出,以及以其他方式向计算设备800传输数据以及从计算设备 800接收数据。I/O接口808可以包括鼠标、小键盘或键盘、触摸屏、相机、光学扫描仪、网络接口、调制解调器、其他已知的I/O设备或这样的I/O接口的组合。I/O接口808可以包括用于向用户呈现输出的一个或多个设备,包括但不限于:图形引擎、显示器(例如,显示屏)、一个或多个输出驱动器(例如,显示器驱动器)、一个或多个音频扬声器以及一个或多个音频驱动器。在某些实施例中,I/O接口808被配置为向显示器提供图形数据,以呈现给用户。图形数据可以表示一个或多个图形用户界面,和/或可以用于特定实现的任何其他图形内容。
通信接口810可以包括硬件、软件或两者。在任何情况下,通信接口810可以提供一个或多个接口,用于计算设备800与一个或多个其他计算设备或网络之间的通信(诸如例如,基于分组的通信)。作为示例而非限制,通信接口810可以包括用于与以太网或其他基于有线的网络进行通信的网络接口控制器(NIC)或网络适配器、或者用于与诸如WI-FI等无线网络进行通信的无线NIC(WNIC)或无线适配器。
另外,通信接口810可以促进与各种类型的有线或无线网络的通信。通信接口810还可以促进使用各种通信协议的通信。通信基础设施812还可以包括将计算设备800的组件彼此耦合的硬件、软件或两者。例如,通信接口810可以使用一个或多个网络和/或协议,来使得由特定基础设施连接的多个计算设备能够彼此通信,以执行本文中描述的过程的一个或多个方面。为了说明,数字内容活动管理过程可以允许多个设备(例如,客户端设备和服务器设备)使用各种通信网络和协议来交换信息,以共享诸如电子消息、用户交互信息、参与度量或活动管理资源等的信息。
在前面的说明书中,已经参照本公开的特定示例性实施例描述了本公开。参照本文讨论的细节描述了本公开的各个实施例和方面,并且附图图示了各个实施例。以上描述和附图是对本公开的说明,而不应该被解释为限制本公开。描述了许多具体细节以提供对本公开的各个实施例的透彻理解。
在不偏离本发明的精神或者关键特点的情况下,本公开可以体现为其他特定形式。所描述的实施例在所有方面仅被认为是说明性的而非限制性的。例如可以用更少或者更多的步骤/动作来执行本文所描述的方法,或者可以按照不同的顺序来执行步骤/动作。此外,本文所描述的步骤/动作可以彼此并行地重复或者执行,或者与相同或者相似的步骤/动作的不同实例并行地执行重复或者执行。因此,本申请的范围由随附权利要求书而不是由前面的描述指示。在权利要求书的等效含义和范围内的所有变化都将被包括在权利要求书的范围内。
Claims (20)
1.一种在用于跨多个计算设备执行数字内容活动的数字媒体环境中、使用机器学习来确定和应用策略性数字内容传送时间的计算机实现的方法,包括:
由至少一个处理器标识针对用户的、被划分到多个时间箱中的过去的电子消息,所述划分基于与所述过去的电子消息相对应的时间戳;
用于利用递归神经网络和针对所述用户的所述过去的电子消息来确定所述多个时间箱中用于发送针对所述用户的新的电子消息的时间箱的步骤;以及
通过基于所确定的所述时间箱向所述用户的客户端设备发送所述新的电子消息,来执行数字内容活动。
2.根据权利要求1所述的计算机实现的方法,其中标识针对所述用户的、被划分到所述多个时间箱中的所述过去的电子消息包括:根据分组比例将多个用户的多个过去的电子消息划分到所述多个时间箱中。
3.根据权利要求1所述的计算机实现的方法,其中用于利用所述递归神经网络的所述步骤包括:利用所述递归神经网络生成针对所述多个时间箱中的时间箱的交互概率度量,所述交互概率度量指示与所述新的电子消息的用户交互的概率。
4.根据权利要求1所述的计算机实现的方法,其中用于利用所述递归神经网络的所述步骤包括:利用所述递归神经网络生成针对所述多个时间箱中的时间箱的危害度量,所述危害度量指示:当在所述时间箱内向所述用户的所述客户端设备发送所述新的电子消息时,与所述新的电子消息的用户交互的瞬时概率。
5.根据权利要求4所述的计算机实现的方法,其中用于利用所述递归神经网络的所述步骤包括:利用所述递归神经网络来基于被嵌入在所述递归神经网络中的生存函数生成针对所述时间箱的所述危害度量。
6.一种用于使用机器学习来确定和应用针对数字内容活动的策略性数字内容传送时间的***,包括:
至少一个处理器;以及
非暂态计算机存储器,包括多个过去的电子消息,所述多个过去的电子消息包括按顺序次序被发送的、针对用户的过去的电子消息;以及
指令,所述指令在由所述至少一个处理器执行时,使得所述***:
将所述多个过去的电子消息划分为多个时间箱;以及
根据所述顺序次序、经由递归神经网络分析所述过去的电子消息,以通过以下来训练所述递归神经网络以针对去往所述用户的新的电子消息生成与时间箱相对应的参与度量:
基于与针对所述用户的所述过去的电子消息中的第一电子消息相对应的第一时间箱,生成针对所述第一电子消息的第一预测参与度量;以及
将针对所述第一电子消息的所述第一预测参与度量与针对所述第一电子消息的真实参与度量进行比较。
7.根据权利要求6所述的***,还包括:在由所述至少一个处理器执行时,使得所述***通过以下来将所述多个过去的电子消息划分到所述多个时间箱中的指令:
确定针对数字内容活动的计划窗口;以及
基于所述计划窗口,生成所述时间箱,使得所述时间箱跨越所述计划窗口,并且所述多个过去的电子消息根据分组比例在所述时间箱之间被划分。
8.根据权利要求6所述的***,还包括:在由所述至少一个处理器执行时,使得所述***通过以下来训练所述递归神经网络的指令:
生成针对所述用户的所述过去的电子消息中的第二电子消息的第二预测参与度量;以及
将针对所述第二电子消息的所述第二预测参与度量与针对所述第二电子消息的真实参与度量进行比较。
9.根据权利要求8所述的***,其中生成所述第一预测参与度量还包括:生成与所述第一电子消息相对应的序列数据,并且所述***还包括:在由所述至少一个处理器执行时,使得所述***基于与所述第一电子消息相对应的所述序列数据来生成所述第二预测参与度量的指令。
10.根据权利要求6所述的***,还包括:在由所述至少一个处理器执行时,使得所述***通过向所述递归神经网络提供与所述第一电子消息相关联的输入属性作为输入来训练所述递归神经网络的指令,所述输入属性包括:与在所述第一电子消息之前被发送的至少一个过去的电子消息的用户交互,以及与所述第一电子消息相对应的所述第一时间箱。
11.根据权利要求6所述的***,其中所述第一预测参与度量包括第一预测危害度量,并且所述第一预测危害度量指示:由在所述第一时间箱内向所述用户发送所述第一电子消息所引起的、与所述第一电子消息的用户交互的瞬时概率。
12.根据权利要求11所述的***,还包括在由所述至少一个处理器执行时,使得所述***进行以下的指令:
在管理员客户端设备的用户界面内,提供选择交互概率类型的参与度量或危害类型的参与度量的选项以用于显示;
从所述管理员客户端设备接收对所述危害类型的参与度量的选择的指示;以及
基于对所述危害类型的参与度量的所述选择,利用所述第一预测危害度量来训练所述递归神经网络。
13.一种在用于跨多个计算设备执行数字内容活动的数字媒体环境中、使用机器学习确定和应用策略性数字内容传送时间的计算机实现的方法,包括:
由至少一个处理器将多个过去的电子消息划分为多个时间箱,其中所述多个过去的电子消息包括针对用户的过去的电子消息;
对于包括针对所述用户的新的电子消息的数字内容活动,通过以下来确定所述多个时间箱中用于向所述用户的客户端设备发送所述新的电子消息的时间箱:
针对所述时间箱,使用针对去往所述用户的所述过去的电子消息而被训练的递归神经网络来生成危害度量,其中所述危害度量指示:由在所述时间箱内向所述用户发送所述新的电子消息所引起的、与所述新的电子消息的用户交互的瞬时概率;以及
基于针对所述时间箱的所述危害度量从所述多个时间箱中选择所述时间箱;以及
通过基于所确定的所述时间箱向所述用户的所述客户端设备发送所述新的电子消息,来执行所述数字内容活动。
14.根据权利要求13所述的计算机实现的方法,还包括:根据分组比例将所述多个过去的电子消息划分到所述多个时间箱中,其中所述分组比例包括过去的电子消息跨所述多个时间箱的相等分割。
15.根据权利要求13所述的计算机实现的方法,还包括:
针对所述多个时间箱中的第二时间箱,使用通过针对所述用户的所述过去的电子消息而被训练的所述递归神经网络,来针对去往所述用户的所述新的电子消息生成第二危害度量;以及
通过比较针对所述时间箱的所述危害度量和针对所述第二时间箱的所述第二危害度量,来从所述多个时间箱中选择所述时间箱。
16.根据权利要求15所述的计算机实现的方法,还包括:通过将所述时间箱和所述第二时间箱与频率参数进行比较,来选择所述第二时间箱,所述频率参数限制向所述用户的所述客户端设备发送电子消息的频率。
17.根据权利要求13所述的计算机实现的方法,还包括:
利用所述递归神经网络确定用于向所述用户的所述客户端设备发送多个电子消息的时间箱子集;以及
根据所确定的所述时间箱子集来生成用于发送所述多个电子消息的发送时间表。
18.根据权利要求17所述的计算机实现的方法,还包括:通过根据所述发送时间表向所述用户的所述客户端设备发送所述多个电子消息来执行所述数字内容活动。
19.根据权利要求17所述的计算机实现的方法,还包括:
将所述用户分组到与所述发送时间表相对应的用户群集中;以及在管理员客户端设备的用户界面内呈现所述用户群集以及所述发送时间表。
20.根据权利要求13所述的计算机实现的方法,还包括利用所述递归神经网络来:
通过生成针对所述多个过去的电子消息中的第一电子消息的预测危害度量来训练所述递归神经网络;
生成与所述第一电子消息相对应的序列数据;以及
基于与所述第一电子消息相对应的、所生成的所述序列数据来生成针对所述新的电子消息和所述时间箱的所述危害度量。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/867,169 US20190213476A1 (en) | 2018-01-10 | 2018-01-10 | Determining strategic digital content transmission time utilizing recurrent neural networks and survival analysis |
US15/867,169 | 2018-01-10 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110020387A true CN110020387A (zh) | 2019-07-16 |
Family
ID=64655334
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811271586.XA Pending CN110020387A (zh) | 2018-01-10 | 2018-10-29 | 用递归神经网络和生存分析确定策略性数字内容传送时间 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20190213476A1 (zh) |
CN (1) | CN110020387A (zh) |
AU (1) | AU2018253499A1 (zh) |
DE (1) | DE102018008216A1 (zh) |
GB (1) | GB2570182A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112653570A (zh) * | 2019-10-11 | 2021-04-13 | 瞻博网络公司 | 采用机器学习以预测和动态调整静态配置参数 |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10984439B2 (en) * | 2017-08-23 | 2021-04-20 | Starcom Mediavest Group | Method and system to account for timing and quantity purchased in attribution models in advertising |
US11533272B1 (en) * | 2018-02-06 | 2022-12-20 | Amesite Inc. | Computer based education methods and apparatus |
US10826852B2 (en) * | 2018-10-31 | 2020-11-03 | Salesforce.Com, Inc. | Communication frequency optimization |
US11425084B2 (en) * | 2019-04-03 | 2022-08-23 | Salesforce, Inc. | Data processing for multi-objective communication engagement |
US11431663B2 (en) * | 2019-10-24 | 2022-08-30 | Salesforce, Inc. | Technologies for predicting personalized message send times |
US11302323B2 (en) * | 2019-11-21 | 2022-04-12 | International Business Machines Corporation | Voice response delivery with acceptable interference and attention |
US11483272B2 (en) * | 2019-12-12 | 2022-10-25 | Salesforce, Inc. | Automated internet protocol (IP) warming |
US11102622B1 (en) * | 2020-01-20 | 2021-08-24 | Noble Systems Corporation | Best time to send limited-content text messages to parties |
WO2022031779A1 (en) * | 2020-08-05 | 2022-02-10 | Madhiver, Inc. | Methods and systems for determining provenance and identity of digital advertising requests solicitied by publishers and intermediaries representing publishers |
US11782812B2 (en) * | 2020-10-02 | 2023-10-10 | Nec Corporation | Causal attention-based multi-stream RNN for computer system metric prediction and influential events identification based on metric and event logs |
US20220108402A1 (en) * | 2020-10-06 | 2022-04-07 | Bank Of Montreal | Systems and methods for predicting operational events |
US20220327562A1 (en) * | 2021-04-05 | 2022-10-13 | Funnelcast LLC | Methods and systems for applying survival analysis models to produce temporal measures of sales productivity |
CN113254596B (zh) * | 2021-06-22 | 2021-10-08 | 湖南大学 | 基于规则匹配和深度学习的用户质检需求分类方法及*** |
CN117312925B (zh) * | 2023-11-24 | 2024-03-01 | 浙江大学 | 一种基于改进aft算法优化bp神经网络的开关柜三合一局放模式识别方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110066717A1 (en) * | 2009-09-16 | 2011-03-17 | Nokia Corporation | Method and apparatus for time adaptation of online services to user behavior |
US20130212185A1 (en) * | 2012-02-10 | 2013-08-15 | Research In Motion Limited | Electronic message metering and traffic management in a networked environment |
-
2018
- 2018-01-10 US US15/867,169 patent/US20190213476A1/en not_active Abandoned
- 2018-10-17 DE DE102018008216.5A patent/DE102018008216A1/de active Pending
- 2018-10-23 AU AU2018253499A patent/AU2018253499A1/en not_active Abandoned
- 2018-10-29 CN CN201811271586.XA patent/CN110020387A/zh active Pending
- 2018-10-30 GB GB1817715.4A patent/GB2570182A/en not_active Withdrawn
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110066717A1 (en) * | 2009-09-16 | 2011-03-17 | Nokia Corporation | Method and apparatus for time adaptation of online services to user behavior |
US20140189111A1 (en) * | 2009-09-16 | 2014-07-03 | Nokia Corporation | Method and apparatus for time adaptation of online services to user behavior |
US20130212185A1 (en) * | 2012-02-10 | 2013-08-15 | Research In Motion Limited | Electronic message metering and traffic management in a networked environment |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112653570A (zh) * | 2019-10-11 | 2021-04-13 | 瞻博网络公司 | 采用机器学习以预测和动态调整静态配置参数 |
CN112653570B (zh) * | 2019-10-11 | 2023-12-22 | 瞻博网络公司 | 采用机器学习以预测和动态调整静态配置参数 |
Also Published As
Publication number | Publication date |
---|---|
GB201817715D0 (en) | 2018-12-19 |
DE102018008216A1 (de) | 2019-07-11 |
US20190213476A1 (en) | 2019-07-11 |
GB2570182A (en) | 2019-07-17 |
AU2018253499A1 (en) | 2019-07-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110020387A (zh) | 用递归神经网络和生存分析确定策略性数字内容传送时间 | |
US20220292527A1 (en) | Methods of assessing long-term indicators of sentiment | |
He et al. | Evolutionary food quality and location strategies for restaurants in competitive online-to-offline food ordering and delivery markets: An agent-based approach | |
He et al. | Actionable social media competitive analytics for understanding customer experiences | |
Cameron et al. | A simple tool to predict admission at the time of triage | |
US10636097B2 (en) | Systems and models for data analytics | |
US20200090197A1 (en) | Systems and methods for proactively responding to vendor security assessments | |
US20210232951A1 (en) | Systems and methods of processing personality information | |
US20170178253A1 (en) | User data store for online advertisement events | |
US20200065852A1 (en) | Reallocation of electronic resources using a predictive model of attribution | |
CN109804395A (zh) | 具有会议时间和位置优化的会议服务 | |
CN106062787A (zh) | 用于电子邮件传输管理的***和方法 | |
WO2014039898A2 (en) | Human workflow aware recommendation engine | |
CA2919551A1 (en) | Managing reviews | |
US11341516B2 (en) | Optimization of send time of messages | |
US20200327419A1 (en) | Utilizing a genetic algorithm in applying objective functions to determine distribution times for electronic communications | |
Ejohwomu et al. | A resilient approach to modelling the supply and demand of platelets in the United Kingdom blood supply chain | |
WO2016187504A1 (en) | Crowd-based sentiment indices | |
WO2019183285A1 (en) | Systems and methods for quantifying customer engagement | |
US20230087204A1 (en) | Systems and methods to screen a predictive model for risks of the predictive model | |
Haughton et al. | Flow control in capacity-constrained queueing systems with non-stationary arrivals | |
CN113378043A (zh) | 用户筛选的方法和装置 | |
Gigli et al. | Multi-armed bandits for performance marketing | |
KR20200061175A (ko) | Sns를 활용한 컨텐츠 생산방법 | |
US20220398488A1 (en) | Machine-learned model scoring technique for reducing model invocations |
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 |