使用迭代人工智能通过通信决策树的指引轨迹转让专利

申请号 : CN201880069220.6

文献号 : CN111279370A

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : T·U·罗伯茨M·皮尔马因J·斯坦尼比K·约迪K·苏特哈科恩

申请人 : 甲骨文国际公司

摘要 :

实施例针对使用通信决策树,该通信决策树被配置为使用机器学习技术来动态地定义通过该通信决策树的各条轨迹以指示一系列通信规范,其中通过使用机器学习技术处理用户数据来生成学习到的数据。根据基于学习到的数据和用户属性识别出的通信规范将内容传输到用户设备。同时,提供包括可以在其上定义决策树的画布的界面。

权利要求 :

1.一种计算机实现的方法,包括:

访问表示通信决策树的数据结构,该数据结构被配置为使用机器学习技术动态地定义通过该通信决策树的各条轨迹以指示一系列通信规范,通信决策树包括分支节点集合,分支节点集合中的每个分支节点与动作点对应,该动作点被配置为识别给定轨迹的方向;

在第一时间,检测通过通信决策树的轨迹已经到达分支节点集合中的第一分支节点,该轨迹与特定用户相关联;

响应于检测到轨迹已经到达第一分支节点:

检索通过使用机器学习技术处理第一用户数据而生成的第一学习到的数据,第一用户数据包括其他用户的集合的用户属性;

检索与所述特定用户相关联的一个或多个特定用户属性;

基于第一学习到的数据和所述一个或多个特定用户属性,识别一个或多个第一通信规范;以及根据所述一个或多个第一通信规范使得将第一内容传输到与所述特定用户相关联的用户设备;

在第一时间之后的第二时间,检测通过通信决策树的轨迹已经到达分支节点集合中的第二分支节点;以及响应于检测到轨迹已经到达第二分支节点:

检索通过使用机器学习技术处理第二用户数据而生成的第二学习到的数据,第二用户数据包括第一用户数据中不包括的至少一些用户属性;

基于第二学习到的数据和所述一个或多个特定用户属性中的至少一些来识别一个或多个第二通信规范;以及根据所述一个或多个第二通信规范使得将第二内容传输到用户设备。

2.如权利要求1所述的方法,其中第一学习到的数据包括与回归模型对应的一个或多个参数,并且其中第二学习到的数据包括与相同或不同的回归模型对应的一个或多个其它参数。

3.如权利要求1所述的方法,其中:

使用机器学习技术处理第一用户数据包括:生成指示当实现特定通信技术时轨迹将到达通信决策树中所表示的特定动作节点的概率的输出;

基于该输出和一个或多个轨迹路由约束,确定是否关于轨迹实现所述特定通信技术,所述一个或多个第一通信规范是基于该确定来识别的。

4.如权利要求1所述的方法,其中识别所述一个或多个第一通信规范包括从一组类型的通信渠道中选择特定类型的通信渠道,并且其中使得根据所述一个或多个第一通信规范来传输第一内容包括使得跨所述特定类型的通信渠道中的通信渠道来传输第一内容。

5.如权利要求1所述的方法,其中识别所述一个或多个第一通信规范包括识别时间范围内的时间,并且其中使得根据所述一个或多个第一通信规范来传输第一内容包括使得在识别出的时间传输第一内容。

6.如权利要求1所述的方法,其中检测通过通信决策树的轨迹已经到达第一分支节点包括检测以下操作:已经从用户设备接收到包括与所述特定用户相关联的地址或号码的通信;或者已经打开先前被传输到与所述特定用户相关联的所述地址的电子邮件。

7.如权利要求1所述的方法,其中检测通过通信决策树的轨迹已经到达第二分支节点包括检测用户设备已经请求了与特定域相关联的网页。

8.如权利要求1所述的方法,其中第一用户数据和第二用户数据中的每一个包括匿名或部分匿名的数据。

9.如权利要求1所述的方法,还包括:响应于检测到轨迹已经到达第二分支节点:识别与所述特定用户相关联的至少一个新用户属性,其中所述一个或多个第二通信规范是进一步基于所述至少一个新用户属性来识别的。

10.如权利要求1所述的方法,其中通信接收者的目标组包括所述特定用户,并且其中机器学习技术被配置为基于与通信接收者的目标组的至少一部分对应的轨迹满足一个或多个预定义轨迹目标的程度来执行训练。

11.如权利要求1所述的方法,其中检测轨迹已经到达第二分支节点包括:检测自从与所述特定用户的上一次通信以来已经过去了阈值时间量;

检测所述特定用户与和该特定用户的上一次通信进行了交互;和/或检测所述特定用户与目标内容进行了交互,而不管与目标内容的这种交互是否是与所述特定用户的上一次通信的结果。

12.一种包括指令的有形地实施在非暂态机器可读存储介质中的计算机程序产品,所述指令被配置为使得一个或多个数据处理器执行包括以下的动作:访问表示通信决策树的数据结构,该数据结构被配置为使用机器学习技术动态地定义通过该通信决策树的各条轨迹以指示一系列通信规范,通信决策树包括分支节点集合,分支节点集合中的每个分支节点与动作点对应,该动作点被配置为识别给定轨迹的方向;

在第一时间,检测通过通信决策树的轨迹已经到达分支节点集合中的第一分支节点,该轨迹与特定用户相关联;

响应于检测到轨迹已经到达第一分支节点:

检索通过使用机器学习技术处理第一用户数据而生成的第一学习到的数据,第一用户数据包括其他用户的集合的用户属性;

检索与所述特定用户相关联的一个或多个特定用户属性;

基于第一学习到的数据和所述特定用户属性,识别一个或多个第一通信规范;以及根据所述一个或多个第一通信规范使得将第一内容传输到与所述特定用户相关联的用户设备;

在第一时间之后的第二时间,检测通过通信决策树的轨迹已经到达分支节点集合中的第二分支节点;以及响应于检测到轨迹已经到达第二分支节点:

检索通过使用机器学习技术处理第二用户数据而生成的第二学习到的数据,第二用户数据包括第一用户数据中不包括的至少一些用户属性;

基于第二学习到的数据和所述一个或多个特定用户属性中的至少一些来识别一个或多个第二通信规范;以及根据所述一个或多个第二通信规范使得将第二内容传输到用户设备。

13.如权利要求12所述的计算机程序产品,其中第一学习到的数据包括与回归模型对应的一个或多个参数,并且其中第二学习到的数据包括与相同或不同的回归模型对应的一个或多个其它参数。

14.如权利要求12所述的计算机程序产品,其中:

使用机器学习技术处理第一用户数据包括:生成指示当实现特定通信技术时轨迹将到达通信决策树中所表示的特定动作节点的概率的输出;

基于该输出和一个或多个轨迹路由约束,确定是否关于轨迹实现所述特定通信技术,所述一个或多个第一通信规范是基于该确定来识别的。

15.如权利要求12所述的计算机程序产品,其中识别所述一个或多个第一通信规范包括从一组类型的通信渠道中选择特定类型的通信渠道,并且其中使得根据所述一个或多个第一通信规范来传输第一内容包括使得跨所述特定类型的通信渠道中的通信渠道来传输第一内容。

16.如权利要求12所述的计算机程序产品,其中识别所述一个或多个第一通信规范包括识别时间范围内的时间,并且其中使得根据所述一个或多个第一通信规范来传输第一内容包括使得在识别出的时间传输第一内容。

17.如权利要求12所述的计算机程序产品,其中检测通过通信决策树的轨迹已经到达第一分支节点包括检测以下操作:已经从用户设备接收到包括与所述特定用户相关联的地址或号码的通信;或者已经打开先前被传输到与所述特定用户相关联的所述地址的电子邮件。

18.如权利要求12所述的计算机程序产品,其中检测通过通信决策树的轨迹已经到达第二分支节点包括检测用户设备已经请求了与特定域相关联的网页。

19.一种系统,包括:

一个或多个数据处理器;以及

包含指令的非暂态计算机可读存储介质,所述指令在所述一个或多个数据处理器上执行时使得所述一个或多个数据处理器执行包括以下的动作:访问表示通信决策树的数据结构,该数据结构被配置为使用机器学习技术动态地定义通过该通信决策树的各条轨迹以指示一系列通信规范,通信决策树包括分支节点集合,分支节点集合中的每个分支节点与动作点对应,该动作点被配置为识别给定轨迹的方向;

在第一时间,检测通过通信决策树的轨迹已经到达分支节点集合中的第一分支节点,该轨迹与特定用户相关联;

响应于检测到轨迹已经到达第一分支节点:

检索通过使用机器学习技术处理第一用户数据而生成的第一学习到的数据,第一用户数据包括其他用户的集合的用户属性;

检索与所述特定用户相关联的一个或多个特定用户属性;

基于第一学习到的数据和所述特定用户属性,识别一个或多个第一通信规范;以及根据所述一个或多个第一通信规范使得将第一内容传输到与所述特定用户相关联的用户设备;

在第一时间之后的第二时间,检测通过通信决策树的轨迹已经到达分支节点集合中的第二分支节点;以及响应于检测到轨迹已经到达第二分支节点:

检索通过使用机器学习技术处理第二用户数据而生成的第二学习到的数据,第二用户数据包括第一用户数据中不包括的至少一些用户属性;

基于第二学习到的数据和所述一个或多个特定用户属性中的至少一些来识别一个或多个第二通信规范;以及根据所述一个或多个第二通信规范使得将第二内容传输到用户设备。

20.如权利要求19所述的系统,其中第一学习到的数据包括与回归模型对应的一个或多个参数,并且其中第二学习到的数据包括与相同或不同的回归模型对应的一个或多个其它参数。

说明书 :

使用迭代人工智能通过通信决策树的指引轨迹

[0001] 相关申请的交叉引用
[0002] 本申请要求于2018年6月13日提交的编号为16/007,677的美国非临时申请的优先权,该申请要求于2017年9月29日提交的编号为62/566,026的美国临时申请的权益和优先权。出于所有目的,这些申请中的每一个都通过引用全文并入本文。

技术领域

[0003] 实施例涉及在整个通信决策树中配置人工智能(AI)决策节点。决策节点可以支持AI模型的相继迭代,以动态定义与通过树的轨迹(trajectory)对应的迭代数据。

背景技术

[0004] 技术进步已经改善了多种类型的通信渠道(communication channel)的可访问性和复杂性。另外,数据存储和网络改进具有增加的容量,使得可以在数据源处存储增加量(和种类)的数据以用于潜在的传输。因此,可以定位数据源以在许多潜在时间跨多个数据通道(data channel)中的任何数据通道递送多种类型的数据。在考虑多个的相关内容递送而不是单个分发时,内容递送选项阵列会爆炸。内容提供商常常配置一个或多个静态规则以通过相同的通信渠道不加区别地向每个数据摄取者提供相同的内容。虽然(一个或多个)通信规范可以在接收不同数据请求时不同,但是(一个或多个)规则可以被配置为不加区别地且一致地对数据请求做出响应。虽然这种方法提供了配置简单性和确定性操作,但它无法对数据摄取者群体的潜在可变性做出反应,因此可能会以次优方式处置请求。

发明内容

[0005] 在一些实施例中,提供了一种计算机实现的方法。访问表示通信决策树的数据结构,该数据结构被配置为使用机器学习技术动态地定义通过该通信决策树的各条轨迹以指示一系列通信规范。通信决策树包括分支节点集合。分支节点集合中的每个分支节点与动作点对应,该动作点被配置为识别给定轨迹的方向。在第一时间,检测通过通信决策树的轨迹已经到达分支节点集合中的第一分支节点。该轨迹与特定用户相关联。响应于检测到轨迹已经到达第一分支节点,检索通过使用机器学习技术处理第一用户数据而生成的第一学习到的数据。第一用户数据包括其他用户的集合的用户属性。进一步响应于检测到轨迹已经到达第一分支节点,检索与所述特定用户相关联的一个或多个特定用户属性、基于第一学习到的数据和所述一个或多个特定用户属性来识别一个或多个第一通信规范,并且根据所述一个或多个第一通信规范使得将第一内容传输到与所述特定用户相关联的用户设备。在第一时间之后的第二时间,检测通过通信决策树的轨迹已经到达分支节点集合中的第二分支节点。响应于检测到轨迹已经到达第二分支节点,检索通过使用机器学习技术处理第二用户数据而生成的第二学习到的数据。第二用户数据包括第一用户数据中不包括的至少一些用户属性。进一步响应于检测到轨迹已经到达第二分支节点,基于第二学习到的数据和所述一个或多个特定用户属性中的至少一些来识别一个或多个第二通信规范,并且根据所述一个或多个第二通信规范使得将第二内容传输到用户设备。
[0006] 在一些实施例中,提供了一种有形地实施在非暂态机器可读存储介质中的计算机程序产品。该计算机程序产品可以包括被配置为使得一个或多个数据处理器执行本文所公开的一个或多个方法的部分或全部的操作的指令。
[0007] 在一些实施例中,提供了一种系统,该系统包括一个或多个数据处理器和包含指令的非暂态计算机可读存储介质,该指令在一个或多个数据处理器上执行时使得一个或多个数据处理器执行本文所公开的一个或多个方法的部分或全部的操作。

附图说明

[0008] 下面参考以下附图详细描述本发明的说明性实施例:
[0009] 图1示出了交互系统的框图。
[0010] 图2示出了用于生成电子邮件通信的模板。
[0011] 图3示出了用于生成app(应用)通知通信的模板。
[0012] 图4示出了通信决策树的表示。
[0013] 图5图示了与用户设备对应并且延伸通过通信决策树的轨迹的示例。
[0014] 图6示出了定义通信决策树的示例性界面。
[0015] 图7示出了用于切换图标的示例性参数定义界面。
[0016] 图8示出了另一个示例性参数定义界面,其包括实现朝着(towards)或逆着(against)表示通信中的各种内容的偏置(bias)的选项。
[0017] 图9示出了另一个示例性参数定义界面,其包括实现朝着或逆着使用各种通信渠道来传输通信的偏置的选项。
[0018] 图10示出了根据本发明一些实施例的用于使用机器学习来指引(direct)通过通信决策树的轨迹的过程(process)的流程图。
[0019] 图11示出了使用支持可定位视觉元素的界面来定义基于机器学习的通信决策树的过程的流程图。

具体实施方式

[0020] 在一些实施例中,提供了重复使用机器学习数据以促进迭代地识别通信规范的系统和方法。更具体而言,生成包括节点集合的通信决策树。每个节点可以与(例如)检测到的事件或分支节点对应,该检测到的事件或分支节点与通信规范决策对应并且连接到表示与一个或多个特定通信规范对应的通信的多个下一节点。通过通信决策树的每条个体轨迹可以与个体用户和/或一个或多个特定用户设备对应。每条个体轨迹可以在节点集合的特定子集上延伸,其中该子集中的节点表示由用户发起的和/或在一个或多个特定设备中的特定用户设备处发起的具体动作、传输到一个或多个特定设备中的特定用户设备的通信的具体特点;和/或关于即将到来的通信的规范要做出的决策。例如,即将到来的通信的规范可以指示何时将其传输、将其传输到哪个设备、通过哪种类型的通信渠道进行传输,和/或其将包括什么类型的内容。在一些情况下,自然语言处理可以用于将一个或多个类别指派给在训练集中传输的一个或多个内容对象中的每一个和/或指派给可用于传输的一个或多个内容对象中的每一个。然后,通信规范可以识别要传输的特定内容类别。
[0021] 可以基于与用户和/或特定用户设备对应的当前数据、机器学习模型以及用于机器学习模型的一个或多个学习到的参数来做出每个通信规范决策。可以基于与其他用户的集合相关联的用户数据来学习(一个或多个)参数,并且对于其他用户的集合中的每一个用户,用户数据指示另一个用户的一个或多个属性和/或事件集合(例如,用户发起的动作或传输给用户的通信的特点)。可以基于与通信决策树内的特定节点和/或由用户发起的特定动作对应的轨迹目标(例如,由客户端识别)来进一步学习(一个或多个)参数。
[0022] 通信决策树可以被配置为包括多个分支节点,使得可以针对单条轨迹做出多个通信规范决策。在一些情况下,使用相同类型的机器学习算法(例如,监督回归算法)来做出每个决策。但是,可以在每个分支节点处不同地配置算法,使得分支节点相对于(例如)针对每条轨迹处理的输入类型和/或用于处理与轨迹对应的输入的学习到的参数而不同。在各种情况下,可以训练用于不同分支节点的算法以优化相同或不同的变量(例如,基于相同目标节点或不同目标节点的标识)。分支节点不仅可以相对于算法被配置为处理的输入类型而变化,而且附加地可以相对于可用于可能针对给定用户处理的简档数据类型而变化(例如,由于交互监视,简档数据可以随时间累积)。另外,与任何给定节点相关联的学习到的数据可以(由于连续和/或重复的学习)随时间改变。
[0023] 作为一个示例,可以在检测到与用户对应的简档数据包括至少预定义的字段集合的信息后初始化用户的轨迹。可以使用一个或多个web服务器在与用户相关联的一个或多个会话上收集和/或从远程数据源检索简档数据。在一些情况下,用户设备自动检测至少一些简档数据并将其传送到(一个或多个)web服务器(例如,经由在通信中自动填充的报头信息,该报头信息识别例如唯一设备标识符、MAC地址、浏览器类型、浏览器版本、操作系统类型、操作系统版本、设备类型、设备设置成的语言等)。在一些情况下,通信包括表示用户输入的数据(例如,录入到web表单中的文本、链接选择、页面导航等),然后该数据可以被记录为简档数据。
[0024] 初始化轨迹可以包括识别通信决策树内的第一节点,第一节点可以包括第一分支节点。第一决策节点可以与关于识别在向用户的设备的电子邮件通信内传输多个内容对象中的哪个内容对象(例如,识别项目的各种组和/或与网站相关联的信息)的决策对应。第一决策节点还可以与关于在两天时段内何时发送电子邮件的决策对应。可以基于第一学习到的数据做出决策,该第一学习到的数据指示-对于特定类型的用户-什么类型的对象和/或通信时间最有可能导致目标结果。例如,目标结果可以包括用户激活电子邮件内的链接以访问网站上的页面和/或以与转换对应的方式与网站进行用户交互(例如,购买在网站上表示的物品)的发生,并且第一学习到的数据可以指示关于三个内容对象中的哪个内容对象将在导致目标结果方面更有效的预测因子包括用户是否最频繁地使用移动设备(相对于膝上型计算机或计算机)、用户的年龄、以及关于用户在链接上点击了哪些类型的内容对象的先前电子邮件交互指示。
[0025] 一旦发送了电子邮件,轨迹就可以延伸到表示所传输的内容的节点,直到检测到下一个事件为止。下一个事件可以包括(例如)激活网站内的链接,从而指示用户参与和网站的当前会话。在检测到这个事件后,轨迹可以延伸到第二决策节点以确定如何在网站上配置所请求的网页(例如,关于是否包括动态内容对象和/或如何布置各种内容对象的方面)。在这个示例中,第二学习到的数据指示-对于特定类型的用户-哪些配置最有可能导致相同的目标结果。例如,第二学习到的数据可以指示关于四种配置中的哪一种在导致目标结果方面更有效的预测因子包括用户是否最频繁地使用移动设备(相对于膝上型计算机或计算机)、浏览器类型、用户设备的当前位置、以及用户位置处的当前时间。一旦发送了网页(根据在第二决策节点处做出的决策而配置),轨迹就可以延伸到表示所传输的网页的配置的节点。在检测到各种用户发起的、系统发起的或外部事件(例如,自前一事件以来经过预定义的时间间隔)后,轨迹可以继续延伸。
[0026] 在这个示例中,目标结果在多个决策中保持相同。但是,代替识别要执行的动作的静态工作流-或者甚至代替确定要执行的动作的特定于用户的完整序列-本文公开的技术使得关于个体动作的决策基于当前简档数据、当前学习到的数据和当前事件检测。在特定轨迹的整个生命周期中迭代地执行机器学习以识别要执行的零碎动作。这种方法可以促进数据的高利用率(例如,可以在中间过程决策中利用学习到的数据和/或简档数据的扩展和/或演进),这可以促进实现终点目标。另外,这种方法使得能够改变(例如,由客户端发起)机器学习技术的定义和/或约束以快速起作用(例如,因为改变仍然可以影响已经发起的轨迹)。例如,客户端可以将终点目标从转换改变为在网站上在至少阈值会话持续时间内保留用户设备。可以确定并立即实现与各种分支节点相关联的用于机器学习模型的经修改的参数,以便影响随后到达(一个或多个)节点的先前发起的轨迹。
[0027] 通信决策(和/或通过通信决策树指引的部分)可以基于匿名或部分匿名的数据,其中任一个或两者可以根据由一个或多个提供者或客户端提供的匿名、部分匿名或非匿名的数据进行构建。例如,远程用户数据管理系统可以从一个或多个数据提供者接收部分匿名或非匿名数据,并且可以根据数据隐私规则来模糊或消除个体记录中的字段和/或可以在用户子群体之间聚合字段值以遵守数据隐私规则。如本文所述,匿名或部分匿名的数据是已被剥离PII和/或聚合的数据,使得个体数据值不能超过与特定的人或用户相关联的某个概率。因此,匿名或部分匿名的数据可以缺少或模糊足够的数据值以防止将特定的人识别为特定的用户或者防止以至少阈值概率将特定的人识别为用户。例如,匿名或部分匿名的数据可以缺少来自简档数据的姓名、电子邮件地址、IP地址、物理地址和/或电话号码。匿名或部分匿名的数据可以包括或排除某些人口统计数据,诸如年龄、城市、职业等。在一些情况下,匿名或部分匿名的数据对于收集以便符合隐私规则、法规和法律是有用的,同时也能够处理一些数据。匿名或部分匿名数据的可以包括基于IP地址范围、邮政编码、日期、先前在线查询的类别、种族、性别、年龄、购买历史和/或浏览历史等从设备搜集的信息,该信息可能已经根据限制个人可识别信息(PII)流的各种隐私政策和法律等被搜集。
[0028] 在一些情况下,匿名或部分匿名的数据用于生成和/或更新与各个机器学习配置相关联的学习到的数据(例如,一个或多个参数)。这种类型的训练不需要(例如)要求或受益于诸如联系信息之类的数据字段,因此可以剥离这些字段的数据记录。作为另一个示例,可以基于特定字段的值生成一个或多个子群体,并且此后该字段的具体值可以用子群体的标识符替换。
[0029] 在一些情况下,与正在为其做出决策的特定用户对应的简档数据包括匿名或部分匿名的数据。例如,系统可以(例如,使用设备标识符或与轨迹相关联的其它标识符)检测到轨迹已经到达分支节点并从用户数据管理系统请求数据。系统可以返回简档数据,该简档数据包括(例如)一个或多个具体的非匿名的字段值、已经一般化(例如,指派给类别)的一个或多个字段值、和/或被消除的字段值。当(例如)非匿名的字段值通过(例如,在已经使用内置于网页中的数据收集特征和/或经由来自客户端的传输收集后)被供给或者以其它方式(例如,经由数据共享协定)对于针对其做出决策的客户端可访问时,这种非匿名的字段数据可以被包括在简档数据中。系统还可以返回指示字段值之间的关系的人口数据(例如,其本身可以被学习和/或可以随时间演变),这可以用于估计缺失字段值的类别或值。
[0030] 图1示出了交互系统100的框图。机器学习数据平台105可以包括一个或多个云服务器并且可以被配置为从一个或多个客户端系统105接收用户数据。用户数据可以包括匿名或部分匿名的用户数据(存储在匿名用户数据存储库115中)和/或安全客户端可用(client-availed)用户数据(存储在安全客户端可用用户数据存储库120中),部分匿名数据可以比匿名的用户数据更少地匿名或者不匿名。当接收到安全客户端可用用户数据时,它可以与客户端的标识符相关联地安全地存储,使得其它客户端不能获得对数据的访问。数据可以存储在多租户云存储系统中,使得多个客户端可以登录到中央位置以访问服务器或服务器的集合,但是取决于哪个客户端已经对云存储系统进行了认证来控制对数据的具体访问的位置。匿名或部分匿名的用户数据可以或可以不特别地为各种客户端配置(例如,取决于客户端供应什么数据和/或与客户端相关联的数据共享协定)。因此,机器学习数据平台105处的简档数据填充器122可以生成与特定客户端的一个或多个个体用户对应的简档数据,并且可以定制哪些字段值被包括在个体客户端的简档数据中。
[0031] 在一些情况下,简档数据填充器122增强简档数据集,以便用部分匿名的用户数据补充客户端可用用户数据,这可以(如聚合的)针对给定用户定义特定于客户端的学习到的数据(存储在特定于客户端的学习到的数据存储库130中)。例如,来自客户端可用数据中的简档的数据可以被映射到匿名或部分匿名的用户数据中的一个或多个数据集,使得更丰富的数据集可以用在机器学习分析中。可以使用重叠数据(例如,IP地址(如果被包括在匿名或部分匿名的用户数据中)、购买时间、由客户端指派的伪随机用户标识符等)来进行映射。
[0032] 机器学习模型配置器123可以基于(例如)识别出的目标结果、可用的训练数据、一个或多个客户端所识别的约束和/或由通信决策树和/或由客户指示的潜在动作来配置给定的机器学习模型。配置机器学习模型可以包括为模型的特定实例定义一个或多个参数(例如,实例与特定分支节点、客户端和/或时间段相关联)。
[0033] 每个参数可以指示用户属性(存储在学习到的参数数据存储库125中)之间的关系和/或相关性。(一个或多个)参数可以包括权重,该权重指示第一用户属性如何预测第二用户属性和/或其预测程度,其中第二用户属性与关于目标结果是否发生和/或发生的程度的指示对应。权重可以沿着离散或连续的值范围定义和/或可以是二进制的。
[0034] 作为一个示例,(一个或多个)参数可以指示属性集合中的哪些属性预测特定类型的转换事件的未来发生。例如,可以确定在上个月访问了与“旅行”标签相关联的网页超过两次是购买一件行李的预测器。作为另一个示例,可以确定在给定日期内访问过电影评论网页是稍后购买电影的在线租赁的预测器。还可以学习间接关联和趋势,诸如识别用户的年龄与每天在线花费的平均时间之间存在逆相关性。每个参数可以与关系的强度和/或置信度相关联,可选地与所搜集的数据点和正在做出的结论之间的序列关联相关联,其中序列中的每个关联携带关联开始时数据对于它所说的内容准确的某个概率以及关联本身准确的某个其它概率。
[0035] 可以但不是必须使用客户端可用简档数据来执行配置和/或产生特定于客户端的参数。特定于客户的(一个或多个)参数可以是例如使用匿名或部分匿名的简档数据生成的(一个或多个)参数的经修改的版本。
[0036] 可以使用各种机器学习技术来生成学习到的数据。例如,机器学习技术可以使用决策树学习、关联规则学习、人工神经网络、深度学习、归纳逻辑程序设计、支持向量机、聚类、贝叶斯网络、强化学习、表示学习、相似性和度量学习、稀疏字典学习、遗传算法或基于规则的机器学习。在一些情况下,机器学习技术包括集合(ensemble)技术,该技术学习集合间权重以应用于从各种底层技术(诸如前面提到的底层技术中的两个或更多个)产生的结果。可以基于(例如)与底层技术相关联的准确性、速度和/或资源使用来识别集合间权重。
[0037] 训练机器学习技术(以识别一个或多个参数)可以包括识别观察到的输入的集合(例如,营销电子邮件的内容、促销的内容和/或网站的配置)如何与对应输出的集合(例如,结果,诸如针对对应营销电子邮件、对应促销和/或对应网站配置的某些转换事件的存在或不存在)相关。这些观察到的观察结果可以用于识别建模的关系和/或趋势,其目的是基于导致候选人事实信息的事实信息来预测尚未发生的候选事实信息(例如,要接收的预测的下一输入或基于某些输入的预测输出)。每个预测可以携带置信度或概率,并且预测链具有组合的置信度或概率。
[0038] 因此,机器学习模型配置器123可以基于(例如)目标结果、特定于客户端的简档数据和/或机器学习技术来识别特定客户端系统110的模型参数。可以与已经提供有底层客户端可用简档数据的客户端系统选择性地共享特定于客户端的学习到的数据。客户端系统110可以包括托管一个或多个网站、托管一个或多个app和/或使电子邮件被传输的系统。例如,客户端系统110可以包括接收对于一个或多个域上的页面的HTTP请求并对其做出响应的web服务器135,以及将电子邮件递送到用户的电子邮件地址的电子邮件服务器140。客户端系统110还可以包括或可替代地包括app服务器145,以接收经由在用户设备上执行的应用接收的请求并对其做出响应。因此,客户端系统110处的一个或多个服务器可以被配置为检测来自一个或多个用户设备150-1、150-2的请求和/或触发内容向一个或多个用户设备
150-1、150-2的传输。用户设备150-1、150-2可以包括例如计算机、智能电话、平板电脑等。
将认识到的是,在各种情形下,单个用户设备可以与单个用户或多于一个用户相关联。另外,单个用户可以与单个用户设备或多于一个用户设备相关联。
[0039] web服务器135和/或app服务器145可以将对来自内容库153的内容(例如,网页或app页面)的请求的指示作为用户数据存储在客户端管理的用户数据存储库150中。所存储的数据可以包括自动检测到的信息(例如,请求时间)以及请求中所包括的信息(例如,设备标识符、IP地址、请求的网页、用户录入的输入等)。存储数据可以包括更新简档以包括该数据。web服务器135、电子邮件服务器140和/或app服务器145还可以在客户端管理的用户数据存储库150中存储数据,该数据指示哪些内容(例如,通过识别传输时间、用户设备标识符、(一个或多个)内容对象标识符和/或通信的类型)被分发给特定的用户设备。
[0040] 客户端系统110可以将来自客户端管理的用户数据存储库150的至少部分用户数据传输到机器学习数据平台105,机器学习数据平台105可以将其存储在安全客户端可用用户数据存储库120中。(一个或多个)传输可以在对特定于客户端的学习到的数据的请求期间以规则的时间间隔等定期地发生。在一些情况下,客户端系统110在将用户数据中的一些或全部传输到机器学习数据平台之前(例如,通过省略或模糊至少一些字段的值)至少部分地将该数据匿名化(例如,使其在平台处被存储为匿名或部分匿名的用户数据)。在一些情况下,数据不是至少部分匿名的,使得数据被存储在安全客户端可用用户数据存储库120中或者至少在机器学习数据平台105处被部分地匿名化。对于一些数据集,在剥离PII之后,从第三方接收匿名或部分匿名的数据,并且由客户端系统110存储,而无需访问非匿名的数据。在一些实施例中,匿名或部分匿名的数据是本地匿名或部分匿名的。在这些实施例中,网站可以在其网站上运行嵌入脚本,该嵌入脚本在被执行时搜集关于用户对网站的访问的匿名或部分匿名的数据。脚本可以仅搜集可以在不知道用户的个人信息的情况下收集并且存储在数据云中的信息,该数据云确保永远不会超出某个概率推断出用户身份。
[0041] 客户端系统110可以将机器学习数据存储在机器学习数据存储库155中。在一些情况下,机器学习数据包括在分支节点处针对给定轨迹做出的一个或多个决策的指示、使用通信决策树和/或一个或多个参数识别出的一个或多个内容规范。可以从来自机器学习平台105的数据请求、接收和/或导出机器学习数据。例如,在一些情况下,机器学习模型配置器123使得为客户端生成和/或可应用于客户端的参数被传输到客户端系统110。作为另一个示例,机器学习模型实现器157可以将配置有特定参数的机器学习模型应用于特定简档数据,以识别一个或多个特定通信规范,以定义要为与简档数据对应的客户端(和/或轨迹的下一个节点)采取的通信动作。然后,机器学习模型实现器157可以使得识别出的通信动作和/或下一个节点的指示与轨迹、用户和/或用户设备的标识符相关联地传输。
[0042] 识别下一个节点和/或(一个或多个)通信规范可以包括使用特定简档数据和一个或多个学习到的参数来运行机器学习模型(与当前分支节点相关联)。结果可以指示(例如)各种内容呈现(presentation)特点中的哪一个与导致特定目标结果(例如,目标转换)的高概率(例如,高于阈值)或最高概率相关联。在一些情况下,分析包括识别与导致特定转换目标结果的最高概率相关联的一个或多个内容呈现特点。在一些情况下,分析将导致特定转换结果的概率与和各种内容呈现特点相关联的预定义成本度量进行平衡。
[0043] 在一些情况下,使用参数(例如,在机器学习数据平台105或客户端系统110处)运行机器学习模型可以包括(例如)使用简档数据和参数执行回归分析,以生成可以与一个或多个阈值进行比较的数字。一个或多个阈值可以定义两个或更多个范围(例如,开放范围或闭合范围),其中每个范围与特定的下一个节点和/或通信动作对应。在一些情况下,使用参数运行机器学习模型可以包括处理简档数据的至少一部分和参数的至少一部分以产生可以与参考数据变量集合中的每一个(例如,单个值、向量、矩阵、时间序列等)进行比较(例如,经由计算差异、使用成本函数计算成本等)的结果-每个结果都与特定的下一个节点和/或通信动作相关联并且每个结果都潜在地至少部分地基于参数来定义。可以选择与针对其的比较指示最接近的对应关系的参考数据变量相关联的节点或通信。
[0044] 动态内容生成器147可以根据所选择的(一个或多个)通信规范来触发内容对象的呈现。为了生成适当的指令,动态内容生成器147可以首先识别将使用什么通信渠道来传输对象、要传输的对象的类型、要传输的内容的版本和/或何时要传输内容对象。可以基于(例如)机器学习模型的实现结果、机器学习模型的配置(例如,该配置可以约束关于这些选项中的一个或多个的潜在选项)和/或一个或多个参数来确定标识。
[0045] 动态内容生成器147可以识别要传输的通信类型(例如,电子邮件、SMS消息、弹出浏览器窗口或推送的app警报(alert)),其可以通知(例如)web服务器135、电子邮件服务器140和/或app服务器145中的哪一个要传输通信。可以明确地(例如,基于机器学习结果、参数和/或机器学习模型配置)或隐式地(例如,由于所选择的内容对象是特定类型)来进行识别。
[0046] 识别内容对象可以包括从现有内容对象的集合当中选择或者生成新内容对象。内容对象可以包括(例如)网页、网页内的对象、图像、文本消息、电子邮件、电子邮件内的对象和/或文本。在一些情况下,对简档数据执行配置的机器学习模型的结果识别特定内容对象。在一些情况下,结果识别内容的特点(例如,具有特定元数据类别)和/或识别用于选择内容的特定技术。例如,结果可以指示“工具”项目将在内容对象中被特征化和/或通信将包括与四个不同(但未指定)类别对应的四个内容对象。在这种情况下,动态内容生成器147可以(例如)使用选择技术从潜在内容对象的集合中进行选择,这(例如)经由机器学习实现的结果、经由参数和/或经由预定义的设置来指示。例如,选择技术可以指示选择技术将包括伪随机选择技术、识别最近添加的对象的技术、识别潜在内容对象集合(例如,具有在机器学习结果中指示的一个或多个属性)内的最高转换对象的技术。
[0047] 在一些情况下,(例如,基于机器学习结果、参数和/或机器学习模型配置)明确地识别要传输通信的时间。例如,时间范围可以被定义为以当前时间开始并以客户端识别出的最大时间结束。该模型可以评估在该时间范围内规则地间隔开的潜在传输时间的集合。(在一些情况下,将每个潜在传输时间与其它潜在规范(诸如内容类别或通信渠道)结合考虑多次。)机器学习模型结果可以识别与产生目标结果的最高概率相关联的传输时间。(值得注意的是,如果考虑规范的组合,那么传输时间可以包括与最高概率相关联的组合中的时间。)在一些情况下,在从与机器学习结果相关联的用户设备接收到对内容(例如,与给定的网站或app对应)的下一请求后,或者根据预定义的传输计划,立即传输通信。
[0048] 在一些情况下,在传输通信时或之前,(例如,在任务期间和/或使用机器学习模型、机器学习配置、参数、客户端规则等)识别与通信对应的每个规范。因此,可以在传输通信之前执行通信和/或其传输的全部或一些客户端控制的配置。在一些情况下,在传输通信之后,(例如,在任务期间和/或使用机器学习模型、机器学习配置、参数、客户端规则等)识别与通信对应的至少一个规范。因此,可以在传输通信之后执行通信和/或其传输的至少一些客户端控制的配置。因此,这种传输后配置可以基于在传输通信之前不可用的简档数据和/或学习到的数据。例如,与用户对应的附加简档数据可以在传输电子邮件的第一时间和打开并渲染(render)电子邮件的第二时间之间变得可用。所传输的电子邮件可以包括在要渲染电子邮件时执行的脚本。该脚本可以使得发出请求以识别设备特性,诸如布局和/或应用类型。该脚本可以传递这些特性以及对要呈现给服务器的内容的请求。因此,服务器可以基于具体渲染信息、当前简档数据和/或当前参数来选择内容和/或识别一个或多个显示配置,以指引具体内容的选择。
[0049] 作为附加或替代示例,通信可以包含一个或多个对页面的引用或链接,该页面当(例如,在web浏览器中)被打开时,渲染内容用于显示。链接所针对的页面可以包括由机器学习引擎在生成通信之前或生成通信时确定的一些内容。页面还可以被配置为包括当检测到对渲染页面的请求时(例如,当脚本检测到链接的激活时)和/或当正在生成或渲染页面时要选择或生成的内容(例如,如通过执行脚本作为加载页面的一部分所指示的)。在一些情况下,电子邮件中的脚本在渲染时或在请求渲染时识别内容配置。在一些情况下,在链接的页面上执行的脚本识别内容配置。
[0050] 作为一个示例,客户端系统可以提供食品递送的在线购买。可以检测到特定用户在下午2点查看了给定餐馆的菜单。客户端系统可以从其用户管理的用户数据中从用户的简档数据中检索用户属性的集合。特定于客户端的学习到的数据可以指示,如果在晚上向用户发送包括折扣代码的电子邮件,那么用户将有76%的机会从餐厅进行购买(例如,如与和其它类型的通信和其它时间相关联的较低概率相比较的)。响应于确定76%的机会高于发送折扣阈值的65%阈值,电子邮件服务器140将电子邮件传输到用户设备。该电子邮件包括脚本,该脚本在被执行时识别要呈现的餐馆和折扣。用户在第二天上午10点打开电子邮件。执行代码以从客户端系统请求餐馆和折扣。此后,客户端系统接收到更新后的公共学习到的相关数据。客户端系统将时间、用户的位置(当她现在在工作时)和先前购买信息输入到基于学习到的数据构建的决策树。确定折扣为10%(例如,为了维持转换的阈值可能性)并且餐馆将是靠近用户工作地点的熟食店(例如,以最大化转换的可能性),而-如果用户在前一天晚上打开电子邮件,那么不同的用户属性和学习到的数据将导致来自用户家附近的印度餐馆的15%折扣(例如,以维持阈值可能性)(例如,以最大化可能性)。该电子邮件包括从熟食店订购的链接。当用户点击链接时,web服务器确定要呈现的内容-具体而言,推荐哪些食品项目。该推荐甚至更多地基于最近更新后的公共学习到的相关数据,这些数据指示应当推荐沙拉和三明治超过汤和主菜,因为前面的选择最近受欢迎(预计由于天气变暖而受欢迎)。因此,这个示例说明了如何基于最近学习到的数据和用户属性为给定用户动态定制内容呈现。
[0051] 机器学习数据平台105可以基于(例如)从用户设备接收的任何通信(例如,响应于工作流动作)来生成更新后的客户端数据。例如,更新后的客户端数据可以包括基于接收到的通信的报头或有效载荷中的数据、关于是否(例如,何时)检测到特定事件的指示和/或简档被指派给的工作流的当前或最后阶段来生成的一个或多个新字段。机器学习数据平台105可以将更新后的客户端数据(例如,连同对应的简档标识符)用于客户端系统110,客户端系统110可以将更新后的数据存储在特定于客户端的学习到的数据存储库165中。客户端系统110可以但不需要与(一个或多个)底层简档分开存储更新后的数据。
[0052] 将认识到的是,在一些情况下,机器学习数据平台中的一些或全部可以并入客户端系统110内。在一些情况下,客户端系统110在通信决策树的迭代期间与机器学习数据平台进行通信。例如,客户端系统110(例如,客户端系统110处的web服务器135或app服务器145)可以检测对从用户设备接收的web内容或app内容的请求中的标记(例如,包括在URL中),其中该标记指示它与基于机器学习的工作流的关联。然后,客户端系统110可以向机器学习模型实现器157警报该请求,以便可以适当地更新轨迹。
[0053] 机器学习数据平台、客户端系统110和用户设备150-1、150-2可以通过网络160进行通信,网络160可以包括例如互联网、局域网、广域网等。将认识到的是,可以预期对所描绘和描述的实施例的各种替代方案。例如,可以在客户端系统110处执行机器学习的一些或全部。客户端系统110可以使用机器学习技术定期地接收匿名或部分匿名的用户数据以进行处理。
[0054] 使用和配置通信决策树的其它技术在2018年6月13日提交的美国申请号XXXX(题为“Methods and Systems for Configuring Communication Decision Trees based on Connected Positionable Elements on Canvas”)和2018年6月13日提交的美国申请号XXXX(题为“Machine-Learning Based Processing of De-Obfuscated Data for Data Enrichment”)中进行了详细描述。出于所有目的,这些申请中的每一个都通过引用全文并入本文。
[0055] 图2和图3图示了用于配置用于通信的模板202和302的界面200和300,该界面200和300被配置为在检测到渲染过程或在渲染时被部分地配置。配置可以包括使用当前学习到的模型配置和当前简档数据来执行配置的机器学习模型。图2中所示的模板202包括用于生成电子邮件通信的模板,并且图3中所示的模板302包括用于生成app通知通信的模板。
[0056] 模板202包括静态文本(例如,文本205)和交互特征(例如,按钮210)。模板202还表示特定布局,其中三个项目将在文本205上方线性地表示。模板202还包括动态组件(例如,动态文本215和动态图像220),该动态组件被配置为在请求或发生电子邮件的渲染时被识别。因此,当传输电子邮件通信时,静态组件可以与被配置为(在检测到渲染电子邮件的请求后)本地识别当前简档数据的至少一部分、请求当前简档数据的至少一部分、请求识别动态组件、接收或检索(例如,使用当前简档数据、当前匿名或部分匿名的数据和/或当前学习到的参数而识别的)动态组件和/或基于模板和动态组件生成完整电子邮件的代码一起传输。然后可以呈现所生成的电子邮件。
[0057] 模板302包括静态布局和多个动态文本组件(例如,动态标题部分310)。模板302可以被配置为与促进动态识别每个动态文本组件的脚本一起传输。例如,脚本可以-在检测到呈现通知的请求后(例如,响应于打开app、点击通知app元素等)-在本地识别当前简档数据的至少一部分、请求当前简档数据的至少一部分、请求识别动态文本组件、接收或检索(例如,使用当前简档数据、当前匿名或部分匿名的数据和/或当前学习到的参数来而识别的)动态文本组件和/或基于模板和动态文本组件生成完整通知。然后可以呈现所生成的通知。界面300示出了动态生成的通知315的示例,该通知315包括静态布局和特定的动态文本。
[0058] 图4示出了通信决策树400的表示。通信决策树400包括起始节点405,每个轨迹开始于该起始节点。在检测到用户已经完成两个特定动作(例如,初始化两个网站会话、从网站购买两个项目、导航到网站上的至少两个网页等)后,可以(在这个示例中)初始化特定轨迹。
[0059] 通信决策树400包括三个分支节点410、415和420-每个分支节点分支以连接到表示三个不同动作的三个节点。轨迹可以自动且立即从初始节点405延伸到第一分支节点410,这触发做出第一决策。具体而言,第一决策可以包括识别用于发送网站特征的警报的通信渠道。警报可以包括自动呈现的静态报头,该静态报头指示(例如)产品或折扣(通常)与网站相关联地可用。警报还可以与在检测到打开通知的请求后要在第二分支节点415处识别的动态内容(例如,该动态内容具体地识别一个或多个产品和/或折扣)相关联。
[0060] 第一分支节点410连接到表示电子邮件通信渠道的第一动作节点425a、表示SMS消息通信渠道的第二动作节点425b,以及表示基于app的通信渠道的第三动作节点425c(其中通知将被推送到安装在用户设备上的应用和/或由安装在用户设备上的应用推送)。
[0061] 可以使用基于一个或多个第一参数配置的机器学习模型来做出第一决策。可以基于匿名和/或部分匿名的用户数据和/或特定于客户端的数据来动态地确定一个或多个第一参数。例如,匿名和/或部分匿名的用户数据可以指示-对于各种用户子群体(如基于一个或多个用户属性所定义的)中的每一个-经由三种类型的通信渠道中的每一种发送的警报传输对于触发用户在对应网站上发起会话(例如,如基于使用警报内的跟踪链接所确定的)并在会话期间完成交易的有效性如何。匿名和/或部分匿名的用户数据可以与具有一个或多个特定特点的许多不同网站对应。特定于客户端的数据可以包括由给定客户端针对感兴趣的特定网站跟踪的数据,并且可以包括具体地识别向其传输各种警报的每个用户和结果的数据。因此,特定于客户端的数据在一些方面可以相对于匿名和/或部分匿名的数据更丰富,但是特定于客户端的数据中表示的用户数量可以小于匿名和/或部分匿名的数据中表示的用户数量。另外,特定于客户端的数据可能缺少相关的属性组合。例如,给定的客户端可能先前没有使用基于app的警报,这可能已经降低了机器学习模型可以预测此类警报的潜在影响的准确性。
[0062] 机器学习模型(配置有第一参数)可以使用与轨迹相关联的简档数据来确定到用户的通信渠道。简档数据可以包括客户端(例如,使用与来自与轨迹相关联的用户设备的先前HTML请求相关联的元数据、cookie和/或输入)收集的简档数据。简档数据还可以包括从远程用户简档数据存储库请求和接收的其它简档数据,该远程用户简档数据存储库可以收集并管理来自多个web主机、客户端等的简档数据。
[0063] 在识别出通信渠道后,轨迹延伸到对应的动作节点(425a、425b或425c)。然后使用对应的通信渠道发送警报。警报可以被配置为在检测到打开警报的请求后自动识别有限的内容并使轨迹延伸到第二分支节点410。然后可以在第二分支节点410处做出决策以确定要在警报的主体中呈现的具体内容。
[0064] 因此,第二分支节点415连接到表示识别用户最近在网站上查看的产品的内容的第一通知内容节点430a、表示识别在过去一周内在网站上(跨用户)观看最多的四个产品的内容第二通知内容节点430b、以及表示包括折扣标识的内容的第三通知内容节点430c。可以使用基于一个或多个第二参数配置的机器学习模型来做出第二决策。因此,在一些(但不是全部)情况下,在各种分支节点处用于做出决策的一般类型的机器学习模型可以是相同的,但是特定配置(例如,指示要指派给各种用户属性的权重,这些用户属性应在所有和/或目标结果中被考虑)可以不同。
[0065] 可以基于匿名和/或部分匿名的用户数据和/或特定于客户端的数据来动态地确定一个或多个第二参数。但是,自做出第一决策以来,匿名和/或部分匿名的用户数据和/或特定于客户端的数据中的每一个可能已经改变,这可能导致第一参数与第二参数之间的差异。另外,在第二分支节点415处考虑的潜在动作不同于在第一分支节点410处考虑的动作。因此,第一配置与第二配置可以不同。此外,被处理的简档数据在第一分支节点与第二分支节点之间可以不同。例如,客户端相关联的应用可能已经在第一分支节点和第二分支节点处执行的处理之间安装在用户设备上(例如,使得基于应用的通知是第二分支节点处的选项但不是第一分支节点处的选项)。
[0066] 在识别出内容后,轨迹延伸到对应的内容节点(430a、430b或430c)。然后对应的内容被传输到用户设备,使得该对应的内容可以在用户设备处呈现。
[0067] 该内容可以包括到网站处的网页的一个或多个跟踪链接。在检测到跟踪链路已被激活后,轨迹可以延伸到第三分支节点420。然后可以在第三分支节点415处做出决策,以确定要在所请求的网页处呈现的具体内容。
[0068] 因此,第三分支节点420连接到第一网页内容节点435a,该第一网页内容节点435a表示识别四个代表性产品的内容-每个代表性产品与不同类别相关联;第二网页内容节点435b,该第二网页内容节点435b表示识别四个代表性产品的内容-每个代表性产品与相同类别相关联;以及第三网页内容节点435c,该第三网页内容节点435c表示基于先前网页交互数据识别被预测为给定用户感兴趣的单个产品的内容。
[0069] 可以使用基于一个或多个第三参数配置的机器学习模型来做出第三决策。作为对匿名和/或部分匿名的用户数据、特定于客户端的数据的随时间改变的结果和/或作为潜在动作的差异的结果,(一个或多个)第三参数可以与(一个或多个)第一参数和/或(一个或多个)第二参数不同。此外,在第三分支节点420处被处理的简档数据可以与在第一分支节点410和/或第二分支节点415处被处理的简档数据不同(例如,作为检测来自用户设备的通信中的新元数据和/或从远程系统接收与简档对应的信息的结果)。
[0070] 在识别出内容后,轨迹延伸到对应的内容节点(435a、435b或435c)。然后对应的内容被传输到用户设备,使得该对应的内容可以在用户设备处在对应的网页内呈现。
[0071] 将认识到的是,虽然图4中描绘的通信决策树400示出了在每个通信阶段(当要传输通知时、当要呈现通知的主体时,以及当要呈现网页时)做出的单个决策,但是可以代替地使用机器学习模型来做出多个决策。例如,在分支节点410处,可以做出关于使用什么通信渠道以及何时传输通知(例如,通过识别时间段内的时间或潜在时间集合中的时间)的决策。作为另一个示例,可以在通信渠道决策之前或之后做出单独的决策以识别传输时间。因此,机器学习模型可以被配置为生成多个输出,或者多个机器学习模型可以具有多个配置(每个配置与不同的参数和/或超参数对应、每个配置被单独训练和/或每个配置产生单独类型的输出)。
[0072] 图5图示了与用户设备对应并且延伸通过通信决策树400的轨迹500的示例。在这种情况下,在第一分支节点410处做出的机器学习结果指示将使用电子邮件通信渠道来发送通知,使得轨迹500延伸到第一动作节点425a。然后将电子邮件通知传输到用户设备。检测到对电子邮件内容的请求,指示用户正在尝试查看电子邮件,使得轨迹500延伸到第二分支节点415。在那里,做出决策以包括包含电子邮件中的折扣标识的内容。因此,轨迹500延伸到第三通知内容节点430c,并且对应的内容被传输到用户设备。
[0073] 然后检测到对与电子邮件内的目标链接对应的网页的请求,使得轨迹500延伸到第三分支节点420。生成机器学习结果,该机器学习结果指示网页将包括识别四个代表性产品的内容-每个代表性产品与不同类别相关联。因此,轨迹500延伸到第一电子邮件内容节点435a,在该第一电子邮件内容节点435a处将对应的网页内容传输到用户设备。
[0074] 在所描绘的实例中,第一分支节点、第二分支节点和第三分支节点处的决策被指示为在第一天的下午5点、第二天的中午12点和第二天的下午6点做出。然后立即执行对应的动作。将认识到的是,还可以根据机器学习模型执行、客户端规则或其它技术来决定动作时间。
[0075] 还应该认识到的是,识别基于机器学习的决策可以包括实现一个或多个附加约束和/或因子。可替代地或附加地,可以基于一个或多个附加约束和/或因子来进一步修改基于机器学习的决策。例如,于2015年7月13日提交的美国申请号14/798,293(其出于所有目的通过引用全文并入本文)进一步详述了动态识别通信特点的附加技术,该附加技术可以进一步与本文公开的机器学习技术相结合。
[0076] 在一些实施例中,提供了利用画布(canvas)来促进配置机器学习实现序列以部分地定义通信交换的系统和方法。更具体而言,利用了画布,该画布接受各个切换视觉元素与对应的通信视觉元素集合的定位和连接。然后可以基于定位和连接的视觉元素集合来生成通信决策树。画布可以被配置为针对每个通信视觉元素接受与通信视觉元素相关联的一个或多个通信规范的标识。每个切换视觉元素可以表示机器学习技术(与通过训练学习的特定参数相关联),以用于从连接到切换视觉元素的通信视觉元素集合中选择特定的通信视觉元素。画布可以被配置为(例如,对于每个切换视觉元素或一般而言)接受(例如,表示用户发起的事件或通信的)目标结果的标识,该目标结果可以指引机器学习选择。因此,使用机器学习技术选择的特定通信视觉元素可以与被预测相对有可能导致目标结果的通信规范(例如,目标结果可以被表示为通信决策树中的事件视觉元素)对应。
[0077] 可以为每个表示的切换视觉元素定义机器学习模型。可以使用与其它通信决策树有关的先前轨迹来训练机器学习模型(例如,但是充分利用具有通信视觉元素的其它通信决策树,该通信视觉元素与和由正在接受训练的模型中的通信视觉元素表示的通信规范相似或相同的通信规范对应)。例如,可以通过针对被路由的轨迹确定模型,以便触发具有特定通信规范的通信–这些轨迹表示什么后续用户发起的事件(例如,以及轨迹的哪个部分表示客户端识别的目标结果的发生)。可以进一步或替代地使用轨迹来训练模型,因为它们的出现与所生成的通信决策树有关。
[0078] 在一些情况下,可以使用反映先前事件(例如,通过相同或不同的通信决策树的轨迹和/或事件序列的其它指示)的数据集来训练模型,并用新数据进行扩增。新数据可以(例如,经由新接收的表单输入或元数据检测)最近已经变得可用,但是可以与被估计为静态或可预测地改变的变量类型对应。例如,如果在时间X识别出用户的年龄,那么可以计算在时间X-3年用户的年龄,而在扩展时间段内对兴趣或位置变量进行回顾性估算的准确性可能不太可靠。然后,训练可以确定新数据中表示的各种属性是否可预测特定事件是否会发生。
[0079] 界面可以被配置为接受关于将在各种机器学习阶段施加的偏置的指示。例如,关于连接到特定通信视觉元素集合的给定切换元素,客户端可以与视觉上与第一视觉元素相关联的滑块控件进行交互,以指示路径选择将朝着第一视觉元素提升(或从第一视觉元素减弱)。可以基于交互来设置馈入机器学习模型的元数据,以使得能够实现对应的偏置。在一些情况下,元数据可以与未学习的超参数对应,然后用于调整或约束学习到的参数(例如,权重)。在一些情况下,元数据用于定义后处理调整,以应用于机器学习模型所生成的结果。在一些情况下,当与由元素表示的通信规范对应的训练数据相对低时(例如,一般而言和/或与给定的通信阶段相关联),客户端或系统实现朝着给定通信视觉元素的偏置。
[0080] 在一些情况下,界面可以使客户端能够定义通信决策树的结构和/或-对于每个决策节点-要在节点处执行的机器学习模型的一个或多个超参数。应该注意的是,可以基于一个或多个超参数和一个或多个参数来定义机器学习模型。一个或多个超参数中的每一个包括不经由机器学习模型的训练进行学习的变量,而一个或多个参数包括经由机器学习模型的训练进行学习的一个或多个变量。因此,界面可以被配置为允许客户端指定超参数,该超参数指示(例如)分支节点的数量、与连接到每个分支节点的每个分支对应的动作、其它节点间连接、在执行各个机器学习模型期间要观察的一个或多个约束等。
[0081] 图6示出了用于定义通信决策树的示例性界面600。具体而言,界面包括画布605,在画布605上可以定位和连接各种节点的表示。界面600可以包括图标集合,该图标集合可以被选择并定位在画布605上以表示具体的顺序操作。图标集合可以包括表示通信决策树的开始的开始图标610。开始图标610可以与可以接收条件的定义的配置逻辑相关联,该条件在被满足时指示将要发起通过通信决策树的轨迹。
[0082] 图标集合还可以包括结束图标615。可以定义通信决策树以指示在到达结束图标615后给定轨迹是完整的。然后,客户端可以在定位的开始图标610和定位的结束图标615之间连接动作定义图标和/或事件检测图标,以表示在轨迹观察期间要执行的各种操作和评估。
[0083] 被包括在图标集合中的动作定义图标可以是切换(switch)图标620。切换图标620与分支节点对应,在该分支节点处选择分支或“切换到”分支。可以使用配置的机器学习模型和简档数据做出选择。在许多情况下,切换图标620连接到多条潜在路径。潜在路径可以与另一个图标(例如,通信图标、事件检测图标、其它切换图标和/或结束图标)相交。
[0084] 示例性通信图标包括指示将电子邮件传输到用户设备的电子邮件图标625、指示将文本或SMS消息传输到用户设备的文本消息图标630、以及指示经由安装在用户设备上的app以指示警报的app消息图标635。在一些情况下,潜在路径指示(经由缺少通信图标)未采取任何动作。在所描绘的画布中,定位的切换图标连接到三条路径:两条电子邮件路径(例如,与不同的内容和/或传输时间相关联)和一条无动作路径。
[0085] 被包括在图标集合中的事件检测图标可以包括目标检测图标637,该目标检测图标637表示已经检测到与针对一种或多种机器学习技术的目标结果对应的事件。目标检测图标637和/或另一个事件检测图标可以指示(例如)通知已经被打开、通知中所包括的目标链接已经被激活、与轨迹相关联的用户设备已经发起与网站的会话、产品(例如,任何产品或具体产品)已经在网站上被购买、与轨迹对应的附加简档信息已经被提供等。
[0086] 界面600可以包括连接工具640,该连接工具640可以用于以定向方式连接多个图标。每个连接可以指示通信决策树被配置为允许轨迹在指示的方向上跨连接的节点延伸。但是,每个连接可以与条件相关联,使得轨迹仅在满足条件时才跨连接延伸。例如,可以配置连接,使得当在(在连接的一端处连接的)分支节点做出确定以执行由(在连接的另一端处连接的)通信图标表示的动作时满足条件。作为另一个示例,条件可以被配置为在检测到与轨迹相关联的用户设备相关联的特定类型的交互后得到满足。
[0087] 每个动作定义图标可以与一个或多个动作参数相关联,该一个或多个动作参数定义当轨迹已经到达图标时要执行的详细动作。例如,参数定义界面可以在点击图标后呈现为界面600的一部分和/或参数定义界面可以在右键单击和/或双击图标时在弹出窗口中打开。
[0088] 在一些情况下,每个动作定义图标和/或事件检测图标与可以被独立执行的窗口小组件(widget)或代码段对应。画布605可以用作通信架构,使得由一个窗口小组件产生的结果(例如,来自与切换图标对应的机器学习模型的将根据特定通信规范传输通信的指示)可以用于另一个窗口小组件(例如,与和特定通信规范对应的通信图标对应的窗口小组件)。因此,画布605可以响应于窗口小组件结果而延伸轨迹并且编排通信交换的各个方面。
[0089] 虽然未在图6中示出,但是应该认识到的是,在一些情况下,多个切换图标620可以定位在画布605上。每个切换图标620可以与可以单独配置和操作的机器学习模型的单独实例对应。
[0090] 图7图示了用于切换图标的示例性参数定义界面700。参数定义界面700包括用于接受文本输入的阶段标签(stage label)的字段。随后可以在界面中的相关联图标旁边显示文本输入,以用于定义通信决策树。还可以经由文本输入来录入描述,该文本输入可以(例如)在界面中显示,用于响应于检测到与图标相关联的单击或双击而定义通信决策树。
[0091] 对于被配置为识别选择或动作规范和/或被配置为实现机器学习模型的切换图标,参数定义界面700可以包括用于定义目标结果的字段。例如,下拉菜单可以识别正被跟踪并且可用于识别作为目标结果的事件集合。目标结果可以包括在用户设备处发起的动作、系统发起的通知等。例如,目标结果可以包括检测到对用户设备利用的通信内的链接被点击、用户设备利用的通信被打开、通信导致与用户设备相关联的购买(即,转换)、聊天会话被发起、表单已完成等。
[0092] 对于被配置为识别选择或动作规范和/或被配置为实现机器学习模型的切换图标,参数定义界面700还可以包括指示要识别的潜在结果的一个或多个字段。例如,界面700包括与从图标延伸的三条路径或分支对应的字段。在这种情况下,为每条路径识别另一个动作定义图标的阶段标签名称。在一些情况下,在检测到切换连接到界面处的一个或多个其他图标用于定义通信决策树后,在参数定义界面700处自动更新路径信息。还应该认识到的是,参数定义界面700可以包括添加附加路径,移除路径等的选项。
[0093] 在一些情况下,可以将路径之一识别为默认路径。然后一般而言可以将轨迹路由到默认路径,除非(例如)机器学习模型预测出另一条路径将至少具有导致目标结果的更大概率的阈值程度、遍历另一条路径将产生用于路径的具有阈值价值的附加数据(例如,如后续预测的置信度的预测改善所指示的)等。在一些情况下,是否选择默认路径取决于与目标结果发生的概率相关联的置信度(例如,除非预测出另一条路径具有导致目标结果的至少60%的概率并且该概率具有至少50%的置信度)。
[0094] 在一些情况下,切换图标可以被配置为选择路径和/或下一个动作(或缺少路径和/或下一个动作)和将路径延伸到下一个图标(例如,并执行任何下一个动作)的时间。可以从多个时间当中和/或沿着开放或闭合的连续体中选择时间。在所描绘的实例中,参数定义界面700包括轨迹被延伸到下一个动作定义图标的最大时间。因此,这里,轨迹将在轨迹已经到达切换图标之后不迟于一天延伸,除非与切换图标相关联地执行的决策逻辑指示另一个时间段足够有利(例如,由于导致目标结果和/或增加训练数据的更高概率)。
[0095] 机器学习技术和/或其它选择技术可以被配置为从多条潜在路径当中识别与导致目标结果的最高概率相关联的路径。在一些情况下,该技术进一步引入一定程度的噪声和/或可变性,使得偶尔选择被认为是次优的路径以促进对底层模型的继续训练。
[0096] 在一些情况下,客户端可能有理由朝着或逆着特定路径的选择引入偏置。例如,特定路径相对于另一条路径的使用可以是昂贵的(例如,在计算上和/或经济上)。作为另一个示例,特定路径可以相对于另一条路径具有高可用性。作为又一个示例,客户端可以期望快速获得关于给定路径的功效的信息,以便通知后续的资源分配决策。
[0097] 因此,参数定义界面700可以包括一个或多个选项以实现朝着或逆着各条路径的偏置。在所描绘的实例中,为每条路径提供滑块。当滑块朝着右边“提升(boost)”侧定位时,可以调整路径选择技术以朝着对应的路径偏置。当滑块朝着左边“约束(constrain)”侧定位时,可以调整路径选择技术以逆着对应的路径偏置。这种提升和/或约束选项可以具有强加的限制,使得(例如)将滑块移动到最左侧约束位置的效果不是阻止选择对应的路径。这样的限制可以允许机器学习模型继续收集与各种选项有关的数据并且继续通过学习来修改一个或多个参数。当仅存在两个选项时,可以提供单个界面组件来识别朝着一个选项与另一个选项的相对偏置。同时,当存在多于两个选项时,特定于选项的提升/约束选项可以提供更直观的控制。
[0098] 图8示出了另一个参数定义界面800,该参数定义界面800包括实现朝着或逆着表示通信中的各种内容的偏置的选项。在所描绘的实例中,表示了九个内容项(每个内容项表示对应的产品)。提供与每个内容项的表示视觉关联的滑块。当滑块朝着右边“提升”侧定位时,可以调整内容选择(例如,这可以与表示不同内容的多条路径之间的选择对应或者可以与在识别通信渠道之后选择内容对应)以朝着对应的内容项偏置。当滑块朝着左边“约束”侧定位时,可以调整路径选择技术以逆着对应项偏置。
[0099] 在所描绘的实例中,滑块定位在最左侧位置。这触发呈现“不再提供(Never Offer)”选项。在一些实例中,如果未选择“从不提供”选项,则至少偶尔仍然可以选择第一内容项。
[0100] 基于滑块指示的相对偏差和历史通信计数,系统可以预测在给定日子内将表示各个内容项的次数。因此,当客户端移动一个或多个滑块时,界面800可以在给定滑块位置的情况下自动更新关于各个内容项将被呈现(例如,每天)的次数的估计计数。
[0101] 将认识到的是,还可以识别和实现不同类型的偏置。例如,可以提供一个或多个滑块以指示与何时传输通信相关的偏置。例如,滑块可以指示将决策朝着立即传输(和/或朝着在另一个时间传输,诸如在封顶(capped)时间)偏置的程度。
[0102] 实现偏置(例如,朝着或逆着一种类型的通信渠道、朝着或逆着表示特定类型的内容、朝着或逆着在特定时间传输通信等)可以包括(例如)修改机器学习模型中的一个或多个权重和/或一个或多个阈值。在一些情况下,实现偏置包括执行后处理(post-processing)(例如以重新分发结果的一部分以改善通信属性的分布与基于(一个或多个)偏置所指示的目标分布相匹配的程度)。
[0103] 图9示出了又一个参数定义界面900,该参数定义界面900包括朝着或逆着使用各种通信渠道来传输通信来实现偏置的选项。在所描绘的实例中,表示三个通信渠道:电子邮件、基于app的通知和SMS消息。提供与每个渠道的表示视觉关联的滑块。当滑块朝着右边“提升”侧定位时,可以调整内容传输以朝着使用对应类型的渠道偏置。当滑块朝着左边“约束”侧定位时,可以调整路径选择技术以逆着对应的渠道偏置。
[0104] 界面900还示出了时间序列表示,该时间序列表示指示在最近时间段内使用每个渠道已经传输的多个通信,并且还指示跨即将到来的时间段使用每个渠道调度用于传输的通信数量。当前时间由垂直线表示。可以根据在多个潜在传输时间之间进行选择的选择技术来调度通信(例如,相对于选择通信渠道的技术,该选择技术可以被包括在相同或不同的机器学习模型中)。因此,客户端可以查看跨各种渠道的预定负载,并确定是否调整朝着或逆着渠道设置的任何偏置。
[0105] 图10示出了根据本发明一些实施例的用于使用机器学习来指引通过通信决策树的轨迹的过程1000的流程图。过程1000开始于方框1005,其中访问表示通信决策树的数据结构。通信决策树可以被配置为使用机器学习技术动态地定义通过通信决策树的各条轨迹,以指示一系列通信规范。更具体而言,通信决策树可以包括节点集合。响应于检测到指示将发生这种延伸的事件,给定轨迹可以跨节点延伸。事件可以包括(例如)从用户事件检测特定类型的动作或通信,或者可以包括在轨迹管理系统或机器学习数据平台处识别特定决策(与节点标识对应)。节点集合可以包括分支节点集合。分支节点集合中的每个分支节点可以与动作点对应,动作点被配置为识别给定轨迹的方向和/或识别要在轨迹管理系统或机器学习数据平台处发起的特定动作。分支节点可以被配置为使用所配置的机器学习模型来识别方向或动作。
[0106] 在方框1010处,检测到(与特定用户和/或特定用户设备相关联的)轨迹已经延伸至到达通信决策树的分支节点。该特定用户可以是被包括在通信接收者或目标受众的目标组中的用户集合中的一个用户(例如,各自与由客户端识别出的一个或多个预定义属性相关联)。通信接收者或目标受众的目标组不需要(尽管可能)是静态定义的。例如,它可以表示与在各个时间点表示一个或多个预定义属性中的每一个的简档对应的动态集合。作为检测在用户设备处发起的特定类型的事件的结果(例如,指示用户设备参与客户端相关联的网站处的会话的通信、指示用户已完成简档表单提交的通信等)和/或作为完成特定系统发起的动作的结果,轨迹可以已经延伸到分支节点。
[0107] 在方框1015处,检索通过处理其它用户数据已经生成的学习到的数据。其它用户数据可以与和通信接收者和/或目标受众的目标组的至少一部分相关联的数据对应。学习到的数据可以包括在训练机器学习技术时生成的数据。将认识到的是,训练可以在相对于使用机器学习技术来指引一条或多条轨迹的单独时间期间发生,或者可以并发地执行机器学习技术的训练和利用。其它用户数据可以包括与通过相同或不同的通信决策树的一个或多个轨迹相关联的轨迹数据。例如,其它用户数据可以指示,对于通信接收者的目标组的至少一部分中的哪一个,对应轨迹到达了通信决策树中的如预定义的轨迹目标中所指定的(例如,指示工作流的成功)的目标节点。目标节点可以表示(例如)与内容交互、转换或对通信做出响应。作为另一个替代方案或附加示例,其它用户数据可以指示,对于目标组的至少一部分中的哪一个,对应轨迹到达了预先识别出的表示不期望结果(例如,缺少对通信的响应、缺少转换或缺少与内容的交互)的节点。其它用户数据可以指示与一个或多个用户对应的简档数据和/或属性,并且还可以指示与各条轨迹相关联地检测和/或发起的各种事件。因此,例如,当存在各种情形时,其它用户数据可以指示检测特定类型的事件(例如,由客户端识别为目标结果)的概率。
[0108] 在方框1020处,检索与轨迹(被检测为延伸到分支节点)对应的与用户相关联的一个或多个用户属性。(一个或多个)用户属性可以包括(例如)用户设备的类型;用户设备的地理位置;用户设备处使用的浏览器的类型;用户设备处使用的操作系统;用户设备与特定网站之间的交互的部分或完整历史;用户设备与一个或多个其它网站之间的交互;与用户设备相关联的cookie数据;指示在用户设备处打开的通知类型(例如,电子邮件、文本消息和/或app消息的类型)的历史数据,该历史数据导致激活所包括的链接等。可以在本地收集和/或检索一个或多个特定用户属性和/或从远程源请求并接收一个或多个特定用户属性。
[0109] 在方框1025处,基于学习到的数据和一个或多个用户属性来识别一个或多个通信规范。例如,学习到的数据可以包括机器学习模型(例如,回归模型)的一个或多个参数。还可以基于一个或多个超参数来定义机器学习模型。然后,机器学习模型可以被配置为使用(一个或多个)参数、(一个或多个)超参数和/或底层结构来处理(一个或多个)用户属性。模型的实现的结果可以从多个可用选项中识别出对被预测为在实现目标结果方面最成功的选项的选择。多个可用选项可以与(例如)要使用的不同类型的通信渠道、要传输的不同类型的内容、和/或不同的传输定时对应。在一些情况下,多个可用选项共享一个或多个其它通信规范。
[0110] 在方框1030处,触发向与轨迹相关联的用户设备的内容的传输。内容传输根据一个或多个通信规范来执行。
[0111] 在方框1035处,确定轨迹是否已经延伸至到达通信决策树内的另一个分支节点。该确定可以包括确定(例如)自从上一次通信被传输到特定用户(或对应设备)以来是否经过了阈值时间量;特定用户与传输给特定用户(或对应设备)的上一次通信进行了交互和/或特定用户与目标内容进行了交互,而不管与目标内容的这种交互是否是传输到特定用户(或对应设备)的上一次通信的结果。在一些情况下,这些确定中的两个或更多个中的每一个与不同分支节点的准则相关联。方框1035可以包括识别轨迹已经延伸到哪个其它分支节点。
[0112] 如果确定轨迹已经延伸至到达另一个分支节点,那么过程1000返回到方框1015并且重复方框1015-1035。但是,方框1015的重复迭代可以包括检索通过处理其它用户数据而生成的不同的学习到的数据(例如,可能但不一定与至少一些用户数据组合)。可以已经使用机器学习技术的相同或不同的配置(例如,具有相同或不同的值和/或相同或不同类型的参数和/或超参数)来生成不同的学习到的数据。方框1020的重复迭代可以包括检索至少一个其它用户属性。方框1025的重复迭代可以包括基于不同的学习到的数据和至少一个其它用户属性来识别至少一个其它通信规范(和/或从不同的潜在通信规范集合中识别至少一个其它通信规范)。可以使用相同或不同类型的底层模型来识别至少一个其它通信规范。并且方框1030的重复迭代可以包括根据至少一个其它通信规范来触发其它内容的另一次传输。
[0113] 当确定轨迹尚未延伸至到达另一个分支节点时,过程1000前进到方框1040以确定轨迹是否完成。可以通过确定轨迹的当前末端是否与缺少延伸连接的轨迹相关联来做出确定。如果确定轨迹完成,那么可以终止轨迹的处理。如果确定轨迹未完成,那么过程1000可以返回到方框1035以等待确定轨迹已经到达另一个分支节点(例如,作为用户发起的动作或外部事件的结果)。
[0114] 因此,过程1000促进重复使用不同配置的机器学习模型来识别与通信交换中的不同阶段对应的规范。在不同阶段,模型可以使用不同的简档数据(例如,不同字段的值或者在时间上已经改变的值)和/或不同的模型参数(例如,基于与模型有关的不同输入和/或输出/或基于时间改变而学习到的模型参数)。机器学习模型的这种迭代应用促进动态地指引各个用户的通信交换。
[0115] 图11示出了用于使用支持可定位视觉元素的界面来定义基于机器学习的通信决策树的过程1100的流程图。过程1100开始于方框1105,其中包括视觉元素集合和用于元素定位的画布的界面是可用的。视觉元素集合中的每一个都可以在画布上定位。例如,界面可以被配置为允许用户点击视觉元素的表示,并且-在维持点击的同时-将光标拖动到画布上的另一个位置以将视觉元素放在另一个位置。作为另一个示例,可以(例如,经由点击或双击)选择表示,并且当光标位于另一个位置时接收的另一个输入(例如,另一次点击或双击)可以使视觉元素定位在该另一个位置。
[0116] 视觉元素集合可以包括动作定义视觉元素集合。动作定义视觉元素集合的每个动作定义视觉元素可以是当给定轨迹已经延伸到该动作定义视觉元素时要执行的特定动作。动作定义视觉元素集合可以包括切换视觉元素,该切换视觉元素表示使用机器学习技术识别通信规范的(例如,使用机器学习模型做出的)决策动作。动作定义视觉元素集合还可以包括通信视觉元素集合。通信视觉元素集合中的每一个可以表示特定的通信规范(例如,通信渠道的类型、具体内容、传输时间等)。视觉元素集合还可以包括连接视觉元素,该连接视觉元素被配置为定向地连接多个定位的视觉元素。多个定位的视觉元素的每个定位的视觉元素可以与动作定义视觉元素集合中的动作定义视觉元素对应。定向连接可以指示由多个定位的视觉元素表示的特定动作将发生的次序。
[0117] 在方框1110处,检测到对画布的更新。更新后的画布可以包括定位在画布内的第一位置处的切换视觉元素、通信视觉元素集合中的定位在画布内的第二位置处的第一通信视觉元素、以及通信视觉元素集合中的定位在画布内的第三位置处的第二通信视觉元素。第一通信视觉元素可以表示第一特定通信规范,并且第二通信视觉元素可以表示第二特定通信规范。
[0118] 更新后的画布还可以包括连接视觉元素集合。连接视觉元素集合中的每一个可以包括连接视觉元素的实例。可以定位连接视觉元素集合中的第一连接以将切换视觉元素连接到第一通信视觉元素。可以定位连接视觉元素集合中的第二连接以将切换视觉元素连接到第二通信视觉元素。连接视觉元素集合可以指示在切换视觉元素处执行机器学习技术的潜在结果包括触发具有第一特定通信规范的通信传输的第一结果和触发具有第二特定通信规范的通信传输的第二结果。
[0119] 在方框1115处,基于更新后的画布来定义特定通信决策树。在方框1120处,检测到与特定简档数据相关联的给定轨迹已经延伸到由切换视觉元素表示的特定决策动作。响应于该检测,在方框1125处,机器学习技术(配置有学习到的参数数据和/或静态数据)用于处理特定简档数据以产生机器学习结果。学习到的参数数据可以包括基于与其他用户相关联和/或与相同或不同的通信决策树相关联的轨迹集合在机器学习模型的单独或正在进行的训练期间学习到的数据。使用机器学习技术处理特定简档数据可以指示第一特定通信规范和第二特定通信规范中的哪一个将应用于内容传输。
[0120] 因此,在方框1130处,将内容传输到与轨迹相关联的用户设备。根据如机器学习结果中所指示的第一特定通信规范和第二特定通信规范中的一个执行传输。例如,第一二通信视觉元素和第二通信视觉元素可以与不同类型的通信渠道对应。然后,方框1125可以包括识别两种类型的通信渠道中的一种,并且可以经由识别出的渠道传输内容。
[0121] 因此,画布促进定义通信决策树的配置。但是,客户端不需要定义应用于所有用户的通信交换和/或仅包括一个或多个确定性规则的通信交换。相反,界面一般支持识别各种通信规范、通信事件的次序和/或约束的选项。然后可以使用机器学习技术自动且动态地生成规范通信规范。这种方法可以促进配置通信系统以遵守客户端优先级,但是可以允许通信系统动态地适应特定用户的特点、资源负载、最近的交互模式等。
[0122] 将认识到的是,可以预期所公开的技术的变化。例如,分支节点可以使用不是机器学习模型的另一种类型的人工智能模型来选择要用于通信的通信规范。作为另一个示例,界面可以被配置为接受对与切换元素对应的轨迹阶段要使用的特定类型或更一般类型的人工智能模型的选择。作为又一个示例,界面可以被配置为允许指示什么数据(例如,就与一个或多个通信决策树、一个或多个时间段和/或一个或多个用户群体段对应而言)将用于训练与位于画布上的一个、多个或所有切换元素对应的机器学习模型。
[0123] 将认识到的是,本文公开的技术可以用于支持各种类型的决策树。例如,树中的节点和/或在画布上表示的视觉元素可以(在一些情况下)与通常与评估是否满足给定条件(例如,检测到特定类型的设备间通信、非客户端关联的应用指示已执行动作、特定时间已经过去)的逻辑相关联的元素对应,并且在检测到满足后,执行特定动作。对于节点和/或视觉元素的子集,有条件的特定动作可以包括基于简档数据执行机器学习模型,以从连接的节点(或视觉元素)集合中进行选择以继续,使得与所选择的节点(或视觉元素)相关联的另一个特定动作可以被执行。例如,可以将基于机器学习的轨迹路径选择集成到If This Then That环境中。代替将分支节点连接到识别通信规范的节点,分支可以(例如)识别用于存储数据的不同应用。因此,可以建立决策框架,以使人工智能小程序和/或插件能够与一个或多个其它小程序进行通信或通过画布返回。
[0124] 还将认识到的是,虽然本文的一些公开内容指示目标结果可以用于塑造(shape)机器学习训练和执行,但是考虑更复杂的情况。例如,可以替代地或附加地识别和使用否定结果(例如,退订请求或投诉)。在一些情况下,可以基于一个或多个目标结果和/或一个或多个否定结果发生的数量或程度将得分指派给各种结果。然后可以将该得分用于训练和实现一个或多个机器学习模型。
[0125] 在以上描述中给出了具体细节以提供对实施例的透彻理解。但是,应该理解的是,可以在没有这些具体细节的情况下实践这些实施例。例如,电路可以以框图示出,以免以不必要的细节模糊实施例。在其它情况下,可以在没有不必要的细节的情况下示出众所周知的电路、过程、算法、结构和技术,以避免模糊实施例。
[0126] 可以以各种方式完成上述技术、方框、步骤和手段的实现。例如,这些技术、方框、步骤和手段可以用硬件、软件或其组合来实现。对于硬件实现,处理单元可以在一个或多个专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、处理器、控制器、微控制器、微处理器、被设计用于执行上述功能的其它电子单元和/或其组合中实现。
[0127] 而且,应该注意的是,实施例可以被描述为被描绘为流程图、流图、数据流图、结构图或框图的过程。虽然流程图可以将操作描述为顺序过程,但是许多操作可以并行或并发地执行。此外,可以重新布置操作的次序。过程在其操作完成时终止,但可以具有未包括在附图中的其它步骤。过程可以与方法、函数、程序、子例程、子程序等对应。当过程与函数对应时,其终止与函数返回到调用函数或主函数对应。
[0128] 此外,实施例可以通过硬件、软件、脚本语言、固件、中间件、微代码、硬件描述语言和/或其任何组合来实现。当以软件、固件、中间件、脚本语言和/或微代码实现时,执行必要任务的程序代码或代码段可以存储在诸如存储介质之类的机器可读介质中。代码段或机器可执行指令可以表示过程、函数、子程序、程序、例程、子例程、模块、软件包、脚本、类、或者指令、数据结构和/或程序语句的任何组合。代码段可以通过传递和/或接收信息、数据、自变量、参数和/或存储器内容而耦合到另一个代码段或硬件电路。信息、自变量、参数、数据等可以经由任何合适的手段传递、转发或传输,其中手段包括存储器共享、消息传递、标签(ticket)传递、网络传输等。
[0129] 对于固件和/或软件实现,可以用执行本文描述的功能的模块(例如,过程、函数等)来实现方法。有形地实施指令的任何机器可读介质可以用于实现本文描述的方法。例如,软件代码可以存储在存储器中。存储器可以在处理器内或处理器外部实现。如本文所使用的,术语“存储器”是指任何类型的长期、短期、易失性、非易失性或其它存储介质,并且不限于任何特定存储器类型或存储器数量、或者其上存储有存储器的介质的类型。
[0130] 而且,如本文所公开的,术语“存储介质”可以表示用于存储数据的一个或多个存储器,包括只读存储器(ROM)、随机存取存储器(RAM)、磁RAM、核存储器、磁盘存储介质、光学存储介质、闪存设备和/或用于存储信息的其它机器可读介质。术语“机器可读介质”包括但不限于便携式或固定存储设备、光学存储设备、无线信道和/或能够存储包含或携带(一个或多个)指令和/或数据的各种其它存储介质。
[0131] 虽然以上结合具体装置和方法描述了本公开的原理,但是应该清楚地理解,本描述仅通过示例的方式进行,而不是限制本公开的范围。