用于部署定制机器学习服务的系统和方法转让专利

申请号 : CN201680067402.0

文献号 : CN108604222B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 张本宇

申请人 : 云脑科技有限公司张本宇

摘要 :

本公开内容公开了一种用于部署定制机器学习服务的系统和方法。具体而言,机器学习服务提供者的计算设备维持元训练部件和多个元数据模式。所述计算设备还基于由机器学习服务客户对所述多个元数据模式中的一个的定制来生成定制数据模式。此外,所述计算设备可以基于所述元训练部件生成训练部件。所述训练部件与所述定制数据模式兼容。继而,所述计算设备将所述定制数据模式和所述训练部件部署到一个或多个客户设备,以自动地生成机器学习模型。

权利要求 :

1.一种用于部署定制机器学习服务的方法,包括:由机器学习服务提供者在计算设备处维持元训练部件和多个元数据模式;

由所述计算设备基于对所述多个元数据模式中的一个的定制来生成第一定制数据模式,所述第一定制数据模式不同于所述多个元数据模式中的每一个;

由所述计算设备至少部分地基于所述元训练部件来生成第一训练部件,其中所述第一训练部件与所述第一定制数据模式兼容并且不同于所述元训练部件;以及接收客户数据集;以及

将所述客户数据集转换成与从第一元数据模式导出的所述第一定制数据模式兼容的第一客户训练数据;

由所述计算设备将所述第一定制数据模式和所述第一训练部件部署到一个或多个客户设备,所述第一训练部件仅能通过所述第一客户训练数据自动地生成机器学习模型,所述机器学习模型被配置用于优化特定的关键绩效指标(KPI)。

2.如权利要求 1 所述的用于部署定制机器学习服务的方法,还包括:将第一供应部件部署到所述一个或多个客户设备,其中所述第一供应部件:接收来自所述机器学习服务客户的请求,其中所述请求至少包括从所述客户数据集是不可直接检索到的元素;

响应于接收到所述请求,加载所述机器学习模型和对应的客户训练数据;以及基于所述机器学习模型、所述客户训练数据和所述请求,将机器学习服务提供给所述机器学习服务客户。

3.如权利要求 1 所述的用于部署定制机器学习服务的方法,其中所述 KPI 指示评估组织或所述组织参与的活动的一种类型的绩效测量。

4.如权利要求 3 所述的用于部署定制机器学习服务的方法,其中所述特定的关键绩效指标(KPI)包括以下各项中的一个或多个:销售增长、销售预订、报价关闭比率、销售目标、平均利润率、平均购买价值、投资回报率(ROI)、关键字绩效、邮件营销参与水平、社会舆情水平、平均呼叫处理时间、客户满意度水平以及呼叫解决率。

5.如权利要求 1 所述的用于部署定制机器学习服务的方法,其中所述多个元数据模式包括用于用户标签数据集的元数据模式,所述用户标签数据集包括用户标识符、标签和上下文。

6.如权利要求 5 所述的用于部署定制机器学习服务的方法,其中所述多个元数据模式包括用于用户行为数据集的元数据模式,所述用户行为数据集包括用户标识符和一组动作。

7.如权利要求 1 所述的用于部署定制机器学习服务的方法,还包括:将所述客户数据集转换成与第二定制数据模式兼容的第二客户训练数据,其中所述第二定制数据模式从第二元数据模式导出,并且所述第一元数据模式不同于所述第二元数据模式。

8.如权利要求 1 所述的用于部署定制机器学习服务的方法,其中在所述第一训练部件生成所述机器学习模型时, 共享共同元素的所述多个元数据模式彼此加强。

9.如权利要求 1 所述的用于部署定制机器学习服务的方法,其中所述元训练部件包括:

选择与所述机器学习服务客户对应的所述多个元数据模式的子集; 从所述客户数据集提取一个或多个特征;以及

基于提取的一个或多个特征来改善所述机器学习服务客户特定的关键绩效指标(KPI)。

10.如权利要求 2 所述的用于部署定制机器学习服务的方法,还包括:将第二供应部件部署到所述一个或多个客户设备,其中所述第二供应部件自动地与所述第一供应部件同步。

11.如权利要求 1所述的用于部署定制机器学习服务的方法,其中所述客户数据集包括敏感数据或机密数据并且不被所述机器学习服务提供者用于模型训练,并且其中所述第一客户训练数据不包括敏感数据或机密数据并且被所述机器学习服务提供者用于模型训练。

12.如权利要求 1 所述的用于部署定制机器学习服务的方法,还包括: 基于所述元训练部件来生成第二训练部件;

其中所述第二训练部件与从所述多个元数据模式中的一个导出的第二定制数据模式兼容,

其中所述第二定制数据模式不同于所述第一定制数据模式; 其中所述第二训练部件与所述第一定制数据模式不兼容;以及其中所述第一训练部件与所述第二定制数据模式不兼容。

13.一种非暂时性计算机可读介质,包括指令,所述指令在由一个或多个硬件处理器执行时促使执行操作,所述操作包括:由机器学习服务提供者维持元训练部件和多个元数据模式;

基于由机器学习服务客户对所述多个元数据模式中的一个的定制来生成第一定制数据模式;所述第一定制数据模式不同于所述多个元数据模式中的每一个;

至少部分地基于所述元训练部件来生成第一训练部件,其中所述第一训练部件与所述第一定制数据模式兼容并且不同于所述元训练部件;以及接收客户数据集;以及

将所述客户数据集转换成与从第一元数据模式导出的所述第一定制数据模式兼容的第一客户训练数据;

将所述第一定制数据模式和所述第一训练部件部署到一个或多个客户设备,所述第一训练部件仅能通过所述第一客户训练数据自动地生成机器学习模型,所述机器学习模型被配置用于优化特定的关键绩效指标(KPI)。

14.如权利要求 13 所述的非暂时性计算机可读介质,其中所述 KPI 指示根据客户数据确定的标识在执行所述客户数据所针对的特定活动中的成就水平。

15.一种计算设备,包括: 硬件处理器;

存储器,其用于存储由机器学习服务提供者进行的元训练部件和多个元数据模式;

数据模式生成机构,其被配置用于基于由机器学习服务客户对所述多个元数据模式中的一个的定制来生成第一定制数据模式;所述第一定制数据模式不同于所述多个元数据模式中的每一个;

训练部件生成机构,其被配置为至少部分地基于所述元训练部件来生成第一训练部件,其中所述第一训练部件与所述第一定制数据模式兼容并且不同于所述元训练部件;以及

接收客户数据集;以及

将所述客户数据集转换成与从第一元数据模式导出的所述第一定制数据模式兼容的第一客户训练数据;

部署机构,其被配置用于将所述第一定制数据模式和所述第一训练部件部署到一个或多个客户设备,所述第一训练部件仅能通过所述第一客户训练数据自动地生成机器学习模型,所述机器学习模型被配置用于优化所述机器学习模型所针对的关键绩效指标(KPI)。

说明书 :

用于部署定制机器学习服务的系统和方法

[0001] 相关申请的交叉引用
[0002] 本申请要求于2016年12月22日提交的第15/388,899号美国专利申请和于2015年12月28日提交的第62/272,027号美国临时专利申请的优先权的权益,这些专利申请的全部
内容通过引用并入本文。

技术领域

[0003] 本公开内容的实施例涉及机器学习技术。特别地,本公开内容的实施例描述了一种用于将定制机器学习服务部署到企业计算环境的系统和方法。

背景技术

[0004] 除非本文另有所指,这一部分中所描述的材料并非是本申请中的权利要求的现有技术,而且并不因为包含在这一部分中而被承认是现有技术。
[0005] 很多机器学习服务提供者尝试向商业客户提供托管机器学习服务。通常,这些提供者经常要求商业客户将数据上传到提供者的系统,以便训练机器学习模型并且随后将机
器学习模型提供给客户。然而,将此类敏感或机密数据上传到第三方提供者的系统可能违
背客户的政策。
[0006] 此外,在将机器学习模型下载到客户的系统之后,可能还需要由人类技术工程师为每个客户进行定制调整。例如,不同的客户可能实行不同的关键绩效指标(KPI)。“KPI”一
般是指评估特定个人群组(例如,组织、部门等)或者特定个人群组参与的特定活动的成就
的一种类型的绩效测量。另外,在没有标准化数据支持的情况下,人类技术工程师需要参与
调整针对多样化数据的模型中。
[0007] 此外,传统的机器学习服务提供者无法在不同的客户系统上利用学习到的知识。这是因为即使提供者正在向同一机器上的多个客户提供托管机器学习服务,该提供者也无
法将来自一个客户的上传数据用于训练针对另一客户的模型。因此,来自不同客户的托管
数据彼此隔离并且无法用来加强彼此的机器学习过程。

附图说明

[0008] 通过参考以下描述和用来图示本公开内容的实施例的附图,可以最佳地理解本公开内容。
[0009] 图1是图示根据传统现有技术的用于提供机器学习服务的示例性环境的框图。
[0010] 图2是图示根据本公开内容的实施例的用于提供机器学习服务的示例性环境的框图。
[0011] 图3A到图3C是详细地图示根据本公开内容的实施例的用于提供机器学习服务的示例性环境的框图。
[0012] 图4是图示根据本公开内容的实施例的客户与提供者之间的机器学习服务部署的示例性概观的框图。
[0013] 图5是图示根据本公开内容的实施例的示例性元数据模式的框图。
[0014] 图6是图示根据本公开内容的实施例的在机器学习过程期间元数据模式如何彼此加强的示例的框图。
[0015] 图7A到图7B是图示根据本公开内容的实施例的用于提供定制机器学习服务的示例性过程的流程图。
[0016] 图8是图示根据本公开内容的实施例的用于提供定制机器学习服务的示例性系统的框图。

具体实施方式

[0017] 为了提供透彻理解,在以下描述中呈现了若干具体细节。尽管本公开内容的上下文涉及机器学习技术,然而相关领域的技术人员将会认识到,可以在没有具体细节中的一
个或多个的情况下或者与其他部件组合地等等,来实践本文所公开的构思和技术。在其他
情况下,没有详细地示出或描述公知的实现方式或操作,以便避免模糊本文所公开的各个
示例的各方面。应当理解,本公开内容涵盖了落入本公开内容的精神和范围内的所有更改、
等同项和替代方案。
[0018] 本文中,使用了一定的术语来描述本发明的各个特征。例如,术语“逻辑”和“部件”表示被配置用于执行一个或多个功能的硬件、固件或软件。作为硬件,逻辑(或部件)可以包
括具有数据处理功能的电路系统。这样的电路系统的示例可以包括但不限于或受限于:硬
件处理器(例如,具有一个或多个处理器核的微处理器、数字信号处理器、可编程门阵列、微
控制器、专用集成电路“ASIC”等)、半导体存储器、组合电路或者其他类型的电路。
[0019] 逻辑(或部件)可以是软件,诸如进程、实例、应用编程接口(API)、子例程、功能、小程序、小服务程序、例程、源代码、目标代码、共享库/动态链接库(dll),或者甚至一个或多
个指令。该软件可以存储在任何类型的合适的非暂时性存储介质或暂时性存储介质中(例
如,电气、光学、声学或其他形式的传播信号,诸如载波、红外信号或数字信号)。非暂时性存
储介质的示例可以包括但不限于或不受限于:可编程电路;诸如易失性存储器等非永久性
储存器(例如,任何类型的随机存取存储器“RAM”);或者诸如非易失性存储器等永久性储存
器(例如,只读存储器“ROM”、有电源支持的RAM、快闪存储器、相变存储器等)、固态驱动器、
硬盘驱动器、光盘驱动器或便携式存储器设备。作为固件,逻辑(或部件)可以存储在永久性
储存器中。
[0020] 术语“计算设备”应解释为有能力连接到网络的任何电子设备。此类网络可以是诸如因特网等公用网络或者诸如无线数据电信网络、广域网、某类型的局域网(LAN)等专用网
络,或者网络的组合。计算设备的示例可以包括但不限于或受限于:笔记本电脑、智能电话、
平板电脑、计算机、服务器、可穿戴技术等。
[0021] 最后,如本文中所使用的术语“或”以及“和/或”应解释为是包括性的,或者意味着任何一个或任何组合。因此,“A、B或C”或者“A、B和/或C”意味着“下列中的任一个:A;B;C;A
和B;A和C;B和C;A、B和C”。只有在元件、功能、步骤或动作的组合以某种方式固有地相互排
斥时,才将会出现该定义的例外。
[0022] 概述
[0023] 本公开内容的实施例涉及机器学习技术。特别地,本公开内容的实施例描述了一种用于将定制机器学习服务提供到企业计算环境的系统和方法。
[0024] 根据本公开内容的实施例,机器学习服务提供者的计算设备维持元训练部件和多个元数据模式。元训练部件作为用于导出能够从数据训练出模型的训练部件的基部(通用
框架)。元数据模式是用于导出负责定义和描述从中训练出模型的数据的数据模式的基部。
计算设备还基于由机器学习服务客户对多个元数据模式中的一个的定制来生成定制数据
模式。此外,计算设备可以基于元训练部件生成训练部件。元训练部件与定制数据模式兼
容。计算设备将定制数据模式和元训练部件部署到一个或多个客户设备,以自动地生成机
器学习模型。
[0025] 传统的机器学习环境
[0026] 图1是图示根据传统现有技术的用于提供机器学习服务的示例性环境的框图。图1包括属于两个不同客户或者同一客户的两个不同部门/区部/商业单元的两组不同的客户
数据,即,客户数据A 100和客户数据B 110。这里,客户数据A 100与关键绩效指标KPIA相关
联,而客户数据B 110与关键绩效指标KPIB相关联。如上所述,关键绩效指标(KPI)一般是指
评估特定客户(例如,组织、部门等)或者客户参与的特定活动的成就的一种类型的绩效测
量。例如,成就可以是一些运营目标水平的重复的定期成绩。有时,可以在朝向战略目标取
得进步方面来定义成就。因此,选择正确的KPI依赖于很好地理解对客户来说什么是重要
的。因此,在不同的客户之中,KPI经常是不同的。
[0027] 传统上,将客户数据A 100上传给训练逻辑A 120,训练逻辑A 120适于生成机器学习模型125。机器学习模型125与客户数据A 100兼容。具体而言,训练逻辑A 120使用选定的
训练算法160(被称为“算法A”)来生成机器训练模型125。此外,人类专家140需要调整由训
练逻辑A 120生成的机器训练模型125,以将KPIA 150最大化。作为说明性示例,机器学习模
型125可以被配置用于使广告点击率最大化,广告点击率是在线货币化的重要KPI。
[0028] 同样地,将客户数据B 110上传给训练逻辑B 130,训练逻辑B 130适于生成与客户数据B 110兼容的机器学习模型135。在本文中,代替算法A 160,训练逻辑B 130使用另一选
定的训练算法165(被称为“算法B”)来生成机器训练模型135。可以设想,算法B 165可以与
算法A 160相同、类似或者甚至不同。此外,人类专家140可以调整由训练逻辑B 130生成的
机器训练模型135,以将KPIB 155最大化。
[0029] 存在若干与这一传统方法相关联的问题。第一,客户可能不愿意将专有数据,即客户数据A 100和客户数据B 110上传给第三方提供者。第二,人类专家140的参与可能非常昂
贵,尤其是对中小型企业而言尤为如此。最后,训练逻辑A 120无法在机器学习模型135的生
成期间获取训练逻辑B 130所学习到的知识,原因在于(i)由训练逻辑A 120和训练逻辑B 
130进行的操作被视作是完全分开的孤立的过程,以及(ii)共享此类结果可能违反客户通
常坚持的保密性和其他策略。因此,不危害客户数据安全并且比传统的机器学习系统成本
效益更高且更有效的增强型机器学习系统是所希望的。
[0030] 定制机器学习
[0031] 图2是图示提供机器学习服务的机器学习系统200的示例性操作流的框图。机器学习系统200包括但不限于,服务构建器网络应用210、模型训练逻辑220和模型供应逻辑230。
如图所示,客户205将定制数据模式215提供给服务构建器网络应用210并且将客户数据225
提供给模型训练逻辑220。作为回报,客户系统240接收提供的服务。“提供的服务”一般可以
作为计算应用编程接口(API),举例而言,诸如HTTP REST RPC服务。例如,提供的服务可以
接受预测对于给定用户和给定上下文而言若干广告的点击率(click‑thru rate,CTR)的请
求;并且继而,提供的服务将会返回上述广告的预测CTR。
[0032] 客户205表示利用机器学习服务来改善其商业规划的任何实体,例如,由一个或多个关键绩效指标(KPI)测量的商业规划。对于不同的商业客户,KPI可以不同。例如,对于销
售部,KPI可以包括销售增长、销售预订、报价关闭比率(quote to close ratio)、销售目
标、平均利润率、平均购买价值等。对于市场部,KPI可以包括投资回报率(return on 
investment,ROI)、关键字绩效、邮件营销参与评分、社会舆情等。对于呼叫中心,KPI可以包
括平均呼叫处理时间、客户满意度、呼叫解决率等。
[0033] 服务构建器网络应用210一般是指由机器学习系统200托管以向其客户提供机器学习服务的网络应用。根据本公开内容的一个实施例,服务构建器网络应用210预先定义机
器学习服务所支持的一些元数据模式。具体而言,在与服务构建器网络应用210的通信中,
客户205从机器学习系统200所支持的多个元数据模式中选择元数据模式,并且基于选定的
元数据模式来生成定制数据模式215。定制数据模式215是基于客户205处的专有数据的选
定元数据模式的更详细版本,其可以是手动生成的或者是通过计算机程序自动生成的。对
元数据模式的选择可以至少部分地基于客户205消用的特定服务。客户205与服务构建器网
络应用210之间的通信可以经由服务构建器网络应用210所提供的用户接口来完成。
[0034] 此后,客户205可以使用定制数据模式215将其自己的专有数据转换成客户训练数据225,并且因此,客户训练数据225与定制数据模式215兼容。只要客户训练数据225与定制
数据模式215兼容(并且因而与元数据模式兼容),机器学习系统200就可以具有对多样化数
据的统一概观,并且因此可以自动地调整客户训练数据225以生成机器学习模型250。由此,
机器学习系统200消除了对现场人类专家来调整数据的需要。
[0035] 模型训练逻辑220一般训练机器学习系统200的模型。具体而言,服务构建器网络应用210可以部署专门的训练服务265,来激活和控制模型训练逻辑220的操作以便训练模
型250。此外,在将其自己的专有数据转换成与定制数据模式215兼容的客户训练数据225之
后,客户205可以将这样的客户训练数据225馈送到模型训练逻辑220中。专门的训练服务
265可以包括客户训练数据225特定的一个或多个训练部件二进制文件。在从客户205接收
到客户训练数据225并且从服务构建器网络应用210接收到专门的训练服务265之后,模型
训练逻辑220自动地训练模型250。由模型训练逻辑220生成的模型250继而被加载到模型供
应逻辑230中。
[0036] 模型供应逻辑230一般接收来自商业客户的请求、加载机器学习模型以及将服务提供给客户系统。具体而言,服务构建器网络应用210可以将专门的供应服务270部署到模
型供应逻辑230,专门的供应服务270包括客户训练数据225特定的一个或多个供应部件二
进制文件。模型供应逻辑230接收来自商业客户的请求280。接下来,模型供应逻辑230将会
基于接收的请求280来选择一个或多个模型。继而,模型供应逻辑230将会加载选定的模型,
并且将服务290提供给客户系统240。
[0037] 客户系统240一般是指由客户205操作和/或使用的企业计算环境。在本文中,客户系统240可以包括多样、敏感和/或个人的极大量的专有客户数据。这样的多样客户数据提
供了关于企业可以如何改善其关键绩效指标(KPI)的有价值信息或指导。例如,客户系统
240可以是社交网络平台、网上银行系统、在线购物网络、新闻门户、游戏平台、流媒体/数据
储存库等。
[0038] 图3A到图3C是详细地图示根据本公开内容的实施例的用于提供机器学习服务的示例性环境的框图。
[0039] A.服务构建器网络应用
[0040] 特别地,图3A是图示根据本公开内容的实施例的用于提供机器学习服务的服务构建器网络应用210的示例性框图。在本文中,服务构建器网络应用210包括一个或多个元数
据模式310(图示为“元数据模式”)。拥有客户数据A 330的第一客户可以选择元数据模式
310,并且基于选定的元数据模式310来生成定制数据模式A 320。根据本公开内容的一个实
施例,定制数据模式A 320可以至少部分地基于第一客户对由服务构建器网络应用210提供
的在线接口的使用来生成。同样地,拥有客户数据B 340的第二客户可以使用由服务构建器
网络应用300提供的相同的在线接口来选择相同的元数据模式310,以便生成定制数据模式
B 325。在本文中,定制数据模式B 325至少部分地基于选定的元数据模式310,并且可能不
同于定制数模式A 320。另外,客户数据A 330与客户数据B 340因具有彼此不兼容的不同数
据模式而是不一样的。
[0041] 第一客户继而可以将客户数据A 330转换成遵循定制数据模式A 320的客户训练数据A 335。由于客户数据330可以是从第一客户所提供的原始数据,因此,例如通过依据定
制数据模式A 320对与客户数据330相关联的属性的移除、添加和/或变换来转换客户训练
数据A 335。客户训练数据A 335具有与客户数据A 330或客户数据A 330的子集相同的数据
内容,但遵循不同的数据模式。具体而言,客户数据A 330遵循客户定义的数据模式,而客户
训练数据A 335遵循基于共同元数据模式310的定制数据模式A 320。
[0042] 类似地,第二客户可以将客户数据B 340转换成遵循定制数据模式B 325的客户训练数据B 345。客户训练数据B 345可以具有与客户数据B 340或客户数据B 340的子集相同
的数据内容,但遵循不同的数据模式。具体而言,客户数据B 340遵循客户定义的数据模式,
而客户训练数据B 345遵循基于共同元数据模式310的定制数据模式B 325。
[0043] 例如,元数据模式310可以包括用户标识符、上下文和标签。客户可以定制元数据模式310以指明用户标识符是客户数据A 330中的phone_number,并且还指明值类型是字符
串。此外,客户可以指明标签是客户数据A 330中的fraud并且值类型是布尔类型。另外,元
数据模式310中的上下文可以进一步包括统一资源定位符(URL)、应用标识符、成本、投票、
商品标识符等。客户可以将URL定制为值类型是字符串的visiting_URL,将应用标识符定制
为值类型是字符串的app_ios_id,将成本定制为值类型是整数的cost,将投票定制为值类
型是枚举的voting,将商品标识符定制为值类型是字符串的phone_id等。
[0044] 以下是对应于客户数据A 330的原始数据文件的示例性摘录。
[0045] "phone#":"123123123123","visiting_url":http://www.weibo.com/,
[0046] "app_ios_id":"AFX34CFSDA","fraud":true
[0047] "phone#":"4232fFfFFFFF","app_ios_id":"KFF3123FFS",
[0048] "fraud":false
[0049] 以下示例性代码可以用来转换对应于客户数据A 330的原始数据文件,以遵循从元数据模式310导出的定制数据模式A 320,元数据模式310包括用户标识符、上下文和标
签。这里,User_Defined_Scheme是从父模式导出的定制数据模式A 320,所述父模式是元数
据模式310。在即将出现的部分中关于图5描述了由服务构建器网络应用210支持的元数据
模式。
[0050]
[0051]
[0052] 注意,元数据模式固有地并入了商业客户的关键绩效指标(KPI)。在以上示例中,KPI可以是用来优化肯定标签的数目。因此,经常将KPI编码到元数据模式中。同样地,也可
以将数据特征编码到元数据模式中。
[0053] B.元训练部件
[0054] 现参考图3B,示出了图示提供根据本公开内容的实施例的机器学习服务的示例性元训练部件350的框图。具体而言,从元训练部件350自动地生成模型训练逻辑A 370(被称
为图2的模型训练逻辑220并且有时被称为“训练部件”)。同样地,还从元训练部件350自动
地生成模型训练逻辑B 375。因此,模型训练逻辑A 370和模型训练逻辑B 375共享相同的实
现算法。每个模型训练逻辑370和375可以构成部署到客户的系统上的二进制文件。
[0055] 另外,每个模型训练逻辑370和375与遵循特定的定制数据模式的一组具体的训练数据兼容。例如,模型训练逻辑A 370适于使用客户训练数据A 335,客户训练数据A 335遵
循如图3A所示的定制数据模式A 320。模型训练逻辑B 375适于使用客户训练数据B 345,客
户训练数据B 345遵循也在图3A中示出的定制数据模式B 325。因此,模型训练逻辑A 370无
法使用客户训练数据B 345来训练模型,原因在于其遵循不同的定制数据模式,即定制数据
模式B 325。类似地,模型训练逻辑B 375无法使用客户训练数据A 335来训练模型,原因在
于其遵循定制数据模式A 320。这种设计特征增强了根据本公开内容的实施例的机器学习
系统的安全性,生成客户特定的模型训练逻辑二进制文件的工程成本还是最低的。
[0056] 尽管未示出,但在一些实施例中,元训练部件350是与服务构建器网络应用210分开的独立部件;而在一些实施例中,元训练部件350可以由服务构建器网络应用210维持,其
也可以自动地生成每个定制数据模式特定的模型训练逻辑单元。在其他实施例中,模型训
练逻辑A 370和模型训练逻辑B 375可以经由独立过程来构建,例如,经由自动地构建模型
训练逻辑单元的排定日常工作来构建。
[0057] C.训练器生成器
[0058] 图3C是图示根据本公开内容的实施例的用于提供机器学习服务的示例性训练器生成器的框图。如先前在上文描述并且在图3A中图示出,服务构建器网络应用210维持一个
或多个元数据模式310并且为商业客户提供在线接口,以便定制元数据模式310并且生成定
制数据模式,诸如,定制数据模式A 320和定制数据模式B 325。服务构建器网络应用210进
一步将所生成的定制数据模式传输到训练器生成器380。
[0059] 此外,基于从服务构建器网络应用210接收的定制数据模式,训练器生成器380可以访问元训练部件350并且生成定制数据模式特定的模型训练逻辑。例如,基于定制数据模
式A 320,训练器生成器380可以访问元训练部件350,以自动地生成与定制数据模式A 320
兼容的模型训练逻辑A 370。继而构建与自动地生成的模型训练逻辑A 370相关联的源代码
并且将其编译成二进制文件,该二进制文件将会被部署到第一客户的系统,并且可以使用
图3A的客户训练数据A 335来训练模型。
[0060] 类似地,作为另一示例,基于定制数据模式B 325,训练器生成器380访问元训练部件350,以自动地生成与定制数据模式B 325兼容的模型训练逻辑B 375。继而构建与自动地
生成的模型训练逻辑B 375相关联的源代码并且将其编译成二进制文件,该二进制文件将
会被部署到第二客户的系统,并且可以使用图3A的客户训练数据B 345来训练模型。因而,
训练器生成器380使得能够基于每个客户特定的定制模式来为该客户生成具体的模型训练
逻辑370/375。
[0061] 可以按定期或不定期生成方案来实施对模型训练逻辑370或375的生成。例如,依据不定期方案,每当创建了新的定制数据模式时,就可以由服务构建器网络应用210唤起对
模型训练逻辑的生成。依据定期生成方案,服务构建器网络应用210定期地向训练器生成器
380推送一组定制数据模式。
[0062] 注意,元训练部件350针对相同的元数据模式一般使用相同的算法。因此,训练器生成器380将会确定从中导出所接收的定制数据模式的特定元数据模式,并且继而访问元
训练部件350或者元训练部件350的与该特定元数据模式对应的部分。因此,元训练部件350
的容量独立于商业客户的数目或者不同的商业客户所使用的多样化数据的多样性程度。在
一个实施例中,元训练部件350的容量取决于(并且也许仅取决于)机器学习系统支持的元
数据模式的数目。这样的元训练部件350的设计特征显著降低了机器学习系统的工程成本。
换言之,不同行业的商业客户经常共享相同的元数据模式。元训练部件350预先定义多个元
数据模式,因此其可以在没有对整个定制机器学习系统的额外工程的情况下支持很多的多
样化商业客户。
[0063] 为了训练模型,训练器生成器380将会自动地执行从客户训练数据的非监督式特征学习。此外,训练器生成器380也对所有的异类数据进行特征学习,诸如与一种数据类型
相关联的特征学习可能对于与另一(并且也许不同的)数据类型相关联的特征学习有用。如
此,根据本公开内容的实施例的机器学习系统可以在不危害系统的数据安全性的情况下充
分地利用横跨多样化数据的学习。
[0064] 每个特征可以被描述为将元数据模式的元素(诸如实体或对象)投射到d维空间中的实数的矢量。通过进行这样的投射,机器学习系统可以轻易地定义不同实体、对象等之间
的关系(例如,共性或差异),与客户的原始数据集相比较,这对于模型训练过程而言可能更
有用。学习到的特征可以用于通过将涉及KPI的对应目标函数的概率最大化来优化被编码
在由训练器生成器380生成的模型中的KPI。学习到的特征也可以投射到子空间,以确定对
应实体/对象是否与同一组概念相关并且因此分组在一起。
[0065] 此外,在一些实施例中,商业客户可以选择不同的元模式来生成不同的定制数据模式并且将客户数据转换成不同组的客户训练数据。在此类情况下,元训练部件350将会针
对遵循不同元数据模式的不同定制数据模式来生成不同的模型训练逻辑单元。因此,机器
学习系统有可能利用相同的数据集为同一商业客户生成不同的模型。例如,利用相同的数
据集,一个定制数据模式可以优化广告被用户点击的次数,而另一定制数据模式可以优化
肯定欺诈计数。因此,元训练部件350将会生成两个不同的模型以优化这两个不同的目标。
具体而言,一个模型可以用来预测用户是否可能点击广告,而另一模型可以用来预测用户
点击是不是欺诈性点击。
[0066] D.供应部件
[0067] 根据本公开内容的实施例的机器学习服务系统还包括对来自商业客户的请求进行服务的图4的供应部件410。自动地生成的训练模型由供应部件410加载。基于接收的请
求,供应部件410向客户系统提供服务。
[0068] 机器学习服务部署
[0069] 图4是图示根据本公开内容的实施例的客户环境400与机器学习服务提供者410之间的机器学习服务部署的示例性概观的框图。
[0070] 在图4中,元数据模式310和元训练部件350部署在机器学习服务提供者410的计算设备上。元训练部件350和元数据模式310彼此兼容。因此,由机器学习服务系统支持的每个
元数据模式310对应于元训练部件350或者元训练部件350的一部分。
[0071] 此外,在商业客户对元数据模式310进行了定制之后,机器学习服务系统生成定制数据模式(例如,定制数据模式320),并且还基于元训练部件350自动地生成对应的训练部
件(例如,模型训练逻辑A 370)。定制数据模式320和模型训练逻辑A 370两者都部署在客户
环境410中的计算设备上。此外,定制数据模式320和模型训练逻辑A 370彼此兼容。
[0072] 另外,商业客户将会把其专有数据转换成客户训练数据(例如,客户训练数据A335),该客户训练数据遵循从元数据模式310导出的定制数据模式320。另一方面,模型训
练逻辑A 370将会基于客户训练数据335生成相关模型420。生成的模型420随后可以由也部
署在该客户的计算设备上的供应部件430使用。
[0073] 供应部件430提供预测服务440,该预测服务440接收来自客户460的请求450。例如,请求450可以是对并不包括在客户训练数据335中的标签的预测。供应部件430可以加载
模型420并且将其应用于请求450以预测该标签,而且将结果470返回给客户460。
[0074] 元数据模式
[0075] 图5是图示根据本公开内容的实施例的示例性元数据模式的框图。元数据模式定义了机器学习系统的能力。具体而言,元数据模式设定了关于机器学习系统可以支持什么
类型的数据的范围。例如,如果没有元数据模式将图像定义为语义类型,那么机器学习系统
将不支持图像识别或任何其他图像处理相关功能。然而,大多数的商业客户可以使用一个
或多个元数据模式来生成适合他们的商业需求的数千或甚至数百万元数据模式。
[0076] 如图5中所示,元数据模式500包括但不限于或受限于:用于用户标签数据集的第一元方案510、用于用户行为数据集的第二元方案520、用于用户文本数据集的第三元方案
530、用于实体文本数据集的第四元方案540、用于用户属性数据集的第五元方案550,和/或
用于实体属性数据集的第六元方案560。这些元方案提供了系统且一致的方式来描述相关
联的数据。
[0077] 具体而言,第一元方案510可以包括多组语义数据属性,也就是,例如用户标识符、标签和上下文。
[0078] UserLabelMetaScheme=["_USER_ID","_LABEL","_CONTEXTS"]
[0079] 第一元方案表示由用户标识符_USER_ID标识的特定用户在特定上下文_CONTEXTS下具有特定标签_LABEL。这里,标签例如可以被指定为广告点击、欺诈性点击、购买、视频剪
辑/视频流的观看等。
[0080] 第二元方案520包括用户标识符和一组动作。
[0081] UserBehaviorMetaScheme=["_USER_ID","_ACTIONS"]
[0082] 第二元方案520表示由用户标识符_USER_ID标识的特定用户按顺序执行特定的一组动作_ACTIONS。例如,用户可以观看电视节目、阅读电子书章节、玩游戏、叫出租车以及从
餐厅购买送餐。用户进行的这一动作序列可以使用用户行为元方案来描述。
[0083] 第三元方案530包括用户标识符和文本集。
[0084] UserTextScheme=["_USER_ID","_TEXTS"]
[0085] 在本文中,第三元方案530表示由用户标识符_USER_ID标识的特定用户生成特定的文本集_TEXTS。例如,用户可以输入一些在线查看评论。用户进行的此类评论可以使用用
户文本元方案来描述。
[0086] 第四元方案540包括实体标识符和文本集。
[0087] EntityTextMetaScheme=["_ENTITY_ID","_TEXTS"]
[0088] 在本文中,第四元方案540表示由实体标识符_ENTITY_ID标识的特定实体与特定的文本集_TEXTS相关联。这里,实体可以与产品、商品、地点、设施等相关联。文本例如可以
是实体的名称、实体的描述、实体的内容的片段、实体的全部内容等。
[0089] 第五元方案550包括用户标识符和一组属性。
[0090] UserAttributeMetaScheme=["_USER_ID","_ATTRIBUTES"]
[0091] 在本文中,第五元方案550表示由用户标识符_USER_ID标识的特定用户可以由特定的一组属性_ATTRIBUTES来描述。例如,属性可以是特定用户的国家、年龄、性别或任何人
口统计属性。另外,属性可以是任何用户设备相关属性,例如,用户的移动电话的型号、用户
使用的浏览器类型等。
[0092] 第六元方案560包括实体标识符和一组属性。
[0093] EntityAttributeMetaScheme=["_ENTITY_ID","_ATTRIBUTES"]
[0094] 在本文中,第六元方案560表示由实体标识符_ENTITY_ID标识的特定实体可以由特定的一组属性_ATTRIBUTES来描述。这里,属性可以是与特定实体相关联的分类信息。例
如,餐厅的属性可以是与餐厅相关联的菜肴,或者描述餐厅的标示,诸如,“适合家庭”、“浪
漫”、“休闲”等。
[0095] 元数据模式之间的加强
[0096] 图6是图示根据本公开内容的实施例的在机器学习过程期间元数据模式如何加强彼此的示例的框图。学习特定类型的元数据模式的模型可以帮助为从其他类型的元数据模
式导出的数据模式来训练模型的其他模型训练逻辑单元的学习,只要其他类型的元数据模
式与该特定类型的元数据模式共享至少一个共同元素即可。
[0097] 具体而言,图6包括与如上文部分描述的图5的元数据方案500到560对应的六种类型的元数据模式,例如,用于用户标签数据集的元方案Duca:{user,context,action}610、
用于用户行为数据集的元方案Due:{user,[entity]}620、用于实体文本数据集的元方案
Det:{entity,text}630、用于用户文本数据集的元方案Dut:{user,text}640、用于实体属
性数据集的元方案Dea:{entity,[attribute_name,attribute_value]}650、用于用户属性
数据集的元方案Dua:{user,[attribute_name,attribute_value]}660。
[0098] 如图6中所示,用于用户标签数据集的元方案Duca 610可以由用于用户行为数据集的元方案Due 620、用于用户文本数据集的元方案Dut 640和用于用户属性数据集的元方
案Dua 660加强。用于用户行为数据集的元方案Due 620可以由用于用户标签数据集的元方
案Duca 610、用于实体文本数据集的元方案Det 630、用于用户文本数据集的元方案Dut 
640、用于实体属性数据集的元方案Dea 650和用于用户属性数据集的元方案Dua 660加强。
用于实体文本数据集的元方案Det 630可以由用于用户行为数据集的元方案Due 620、用于
用户文本数据集的元方案Dut 640和用于实体属性数据集的元方案Dea 650加强。用于用户
文本数据集的元方案Dut 640可以由用于用户标签数据集的元方案Duca 610、用于用户行
为数据集的元方案Due 620、用于实体文本数据集的元方案Det 630和用于用户属性数据集
的元方案Dua 660加强。用于实体属性数据集的元方案Dea 650可以由用于用户行为数据集
的元方案Due 620、用于实体文本数据集的元方案Det 630和用于用户属性数据集的元方案
Dua 660加强。用于用户属性数据集的元方案Dua 660可以由用于用户标签数据集的元方案
Duca 610、用于用户行为数据集的元方案Due 620、用于用户文本数据集的元方案Dut 640
和用于实体属性数据集的元方案Dea 650加强。
[0099] 提供定制机器学习服务的过程
[0100] 图7A到图7B是图示根据本公开内容的实施例的用于提供定制机器学习服务的示例性过程的流程图。
[0101] 在操作期间,机器学习服务提供者的计算设备维持元训练部件和多个元数据模式(操作700)。计算设备还基于由机器学习服务客户对多个元数据模式中的一个的定制来生
成第一定制数据模式(操作710)。另外,计算设备基于元训练部件生成第一模型训练逻辑,
其中第一模型训练逻辑与第一定制数据模式兼容(操作720)。接下来,计算设备将第一定制
数据模式和第一模型训练逻辑部署到一个或多个基于客户的计算设备,以自动地生成机器
学习模型(操作730)。
[0102] 此外,在一些实施例中,计算设备接收客户数据集(操作740),并且将客户数据集转换成与从第一元数据模式导出的第一定制数据模式兼容的第一客户训练数据(操作
750)。
[0103] 在一些实施例中,计算设备还将第一供应部件部署到一个或多个基于客户的计算设备(操作760)。图7B是图示根据本公开内容的实施例的第一供应部件提供定制机器学习
服务的示例性过程的流程图。具体而言,第一供应部件可以接收来自机器学习服务客户的
请求,其中请求至少包括从客户数据集是不可直接检索到的元素(操作770)。继而,响应于
接收到请求,第一供应部件加载机器学习模型和对应的客户训练数据(操作780)。此后,基
于该模型、客户训练数据和请求,第一供应部件将机器学习服务提供给机器学习服务客户
(操作790)。
[0104] 在一些实施例中,机器学习模型用来优化特定的关键绩效指标(KPI)。这里,
[0105] KPI一般指示评估组织或组织参与的活动的一种类型的绩效测量。特定的关键绩效指标(KPI)可以包括以下各项中的一个或多个:销售增长、销售预订、报价关闭比率、销售
目标、平均利润率、平均购买价值、投资回报率(ROI)、关键字绩效、邮件营销参与水平、社会
舆情水平、平均呼叫处理时间、客户满意度水平以及呼叫解决率。
[0106] 在一些实施例中,多个元数据模式可以包括以下各项中的一个或多个:用于用户标签数据集的元数据模式;用于用户行为数据集的元数据模式;用于用户文本数据集的元
数据模式;用于实体文本数据集的元数据模式;用于用户属性数据集的元数据模式;以及用
于实体属性数据集的元数据模式。具体而言,用于用户标签数据集的元数据模式包括用户
标识符、标签和上下文。用于用户行为数据集的元数据模式包括用户标识符和一组动作。用
于用户文本数据集的元数据模式包括用户标识符和文本集。用于实体文本数据集的元数据
模式包括实体标识符和文本集。用于用户属性数据集的元数据模式包括用户标识符和一组
属性。用于实体属性数据集的元数据模式包括实体标识符和一组属性。
[0107] 在一些实施例中,计算设备进一步将客户数据集转换成与从第二元数据模式导出的第二定制数据模式兼容的第二客户训练数据,其中第一元数据模式不同于第二元数据模
式。
[0108] 在一些实施例中,在第一模型训练逻辑生成机器学习模型时,共享共同元素的多个元数据模式彼此加强。
[0109] 在一些实施例中,元训练部件可以选择与机器学习服务客户对应的多个元数据模式的子集。此外,元训练部件还从客户数据集提取一个或多个特征,并且基于提取的一个或
多个特征来改善机器学习服务客户特定的关键绩效指标(KPI)。
[0110] 在一些实施例中,计算设备进一步将第二供应部件部署到一个或多个基于客户的计算设备,其中第二供应部件自动地与第一供应部件同步。
[0111] 在一些实施例中,客户数据集包括敏感数据或机密数据,并且不被机器学习服务提供者用于模型训练。确切地说,第一客户训练数据不包括敏感数据或机密数据,并且被机
器学习服务提供者用于模型训练。
[0112] 在一些实施例中,计算设备进一步基于元训练部件生成第二模型训练逻辑。特别地,第二模型训练逻辑与从多个元数据模式中的一个导出的第二定制数据模式兼容。此外,
第二定制数据模式不同于第一定制数据模式。注意,第二模型训练逻辑与第一定制数据模
式不兼容;并且第一模型训练逻辑与第二定制数据模式不兼容。
[0113] 提供定制机器学习服务的系统
[0114] 图8是图示根据本公开内容的实施例的用于提供定制机器学习服务的示例性计算设备的框图。被配置为机器学习服务提供者系统,计算设备800至少包括能够处理计算指令
的一个或多个处理器810以及能够存储指令和数据的存储器820。此外,机器学习服务提供
者系统800进一步包括数据模式生成机构830、训练部件生成机构840、用户接口850和部署
机构860,它们全部与机器学习服务提供者系统800中的处理器810和/或存储器820通信。
[0115] 处理器810可以包括一个或多个微处理器和/或网络处理器。
[0116] 存储器820可以包括存储部件,诸如,动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)等。具体而言,存储器820可以维持用于机器学习服务提供者系统800的元训
练部件和多个元数据模式。不同的元数据模式可以用来描述不同类型的数据,其中可以添
加新的元数据方案以处理新的数据类型。
[0117] 多个元数据模式可以包括但不限于:用于用户标签数据集的元数据模式;用于用户行为数据集的元数据模式;用于用户文本数据集的元数据模式;用于实体文本数据集的
元数据模式;用于用户属性数据集的元数据模式;以及用于实体属性数据集的元数据模式。
用于用户标签数据集的元数据模式可以包括用户标识符、标签和上下文。用于用户行为数
据集的元数据模式可以包括用户标识符和一组动作。用于用户文本数据集的元数据模式可
以包括用户标识符和文本集。用于实体文本数据集的元数据模式可以包括实体标识符和文
本集。用于用户属性数据集的元数据模式可以包括用户标识符和一组属性。用于实体属性
数据集的元数据模式可以包括实体标识符和一组属性。
[0118] 数据模式生成机构830一般生成从一个或多个元数据模式导出的定制数据模式。具体而言,数据模式生成机构830可以基于由机器学习服务客户对多个元数据模式中的一
个的定制来生成第一定制数据模式。作为其中元模式为{entity,text}的说明性示例,客户
数据是关于书的题目:。那么,‘entity’是‘book id’,并且‘text’是
‘book_title’。
[0119] 训练部件生成机构840一般基于元训练部件来生成定制数据模式特定的训练部件(模型训练逻辑)。特别地,训练部件生成机构840可以基于元训练部件来生成第一模型训练
逻辑。这里,第一模型训练逻辑与第一定制数据模式兼容。
[0120] 在一些实施例中,训练部件生成机构840可以基于元训练部件来生成第二模型训练逻辑。这里,第二模型训练逻辑与从多个元数据模式中的一个导出的第二定制数据模式
兼容。第二定制数据模式不同于第一定制数据模式。另外,第二模型训练逻辑与第一定制数
据模式不兼容;并且第一模型训练逻辑与第二定制数据模式不兼容。
[0121] 在一些实施例中,在第一模型训练逻辑生成机器学习模型时,共享共同元素的多个元数据模式彼此加强。
[0122] 此外,元训练部件可以选择与机器学习服务客户对应的多个元数据模式的子集。另外,元训练部件可以从客户数据集提取一个或多个特征;并且基于提取的一个或多个特
征来改善机器学习服务客户特定的关键绩效指标(KPI)。换言之,机器学习算法使用训练数
据来训练模型以优化KPI。
[0123] 用户接口850允许机器学习服务客户选择一个或多个元数据模式和输入对元数据模式的定制,以便生成定制数据模式。用户接口850还可以被机器学习服务提供者和机器学
习服务客户用于其他通信目的,例如,传送服务请求或服务响应、传送训练模型、传送客户
训练数据等。具体而言,用户接口850可以用来接收客户数据集,以及将客户数据集转换成
与从第一元数据模式导出的第一定制数据模式兼容的第一客户训练数据。客户数据集还可
以被转换成与从第二元数据模式导出的第二定制数据模式兼容的第二客户训练数据,而第
一元数据模式不同于第二元数据模式。
[0124] 在一些实施例中,客户数据集包括敏感数据或机密数据并且不被机器学习服务提供者用于模型训练,而第一客户训练数据不包括敏感数据或机密数据并且被机器学习服务
提供者用于模型训练。
[0125] 另外,用户接口850可以用来接收来自机器学习服务客户的请求。请求至少包括从客户数据集是不可直接检索到的元素。
[0126] 部署机构860一般将由机器学习服务提供者提供的部件或模块部署到机器学习服务客户。例如,部署机构860可以将第一定制数据模式和第一模型训练逻辑部署到一个或多
个客户设备,以便自动地生成机器学习模型。机器学习模型可以用来优化特定的关键绩效
指标(KPI),KPI指示评估组织或组织参与的活动的一种类型的绩效测量。特定的关键绩效
指标(KPI)可以包括以下各项中的一个或多个:销售增长、销售预订、报价关闭比率、销售目
标、平均利润率、平均购买价值、投资回报率(ROI)、关键字绩效、邮件营销参与水平、社会舆
情水平、平均呼叫处理时间、客户满意度水平以及呼叫解决率。
[0127] 此外,部署机构860还可以将第一供应部件部署到一个或多个客户设备。响应于接收到请求,第一供应部件可以加载机器学习模型和对应的客户训练数据。另外,基于该模
型、客户训练数据和请求,第一供应部件可以将机器学习服务提供给机器学习服务客户。在
一些实施例中,部署机构860可以将第二供应部件部署到一个或多个客户设备,而第二供应
部件自动地与第一供应部件同步。
[0128] 本公开内容可以以硬件、软件或者硬件和软件的组合来实现。本公开内容可以以集中的方式在一个计算机系统中实现,或者以其中不同的元素遍布耦合到网络的若干互连
的计算机系统的分布式方式来实现。硬件和软件的典型组合可以是具有计算机程序的接入
点,所述计算机程序在被加载和执行时控制该设备,使得其实施本文中描述的方法。
[0129] 本公开内容也可以嵌入在上文定义的非暂时性存储介质中,该非暂时性存储介质包含使得能够实现本文中描述的方法的所有特征并且当加载在计算机系统中时能够实施
这些方法。当下语境中的计算机程序意指采用任何语言、代码或符号的一组指令的任何表
述,该组指令旨在促使具有信息处理能力的系统直接特定功能或者在以下任一者或两者之
后执行特定功能:a)转换成另一语言、代码或符号;b)以不同的材料形式复制。
[0130] 如本文中所使用,“信息”一般被定义为数据、地址、控制、管理(例如,统计)或其任何组合。对于传输而言,信息可以作为消息传输,即作为采用预定格式的比特集合传输。一
种类型的消息,即无线消息,包括报头和具有预定数目的信息比特的有效载荷数据。无线消
息可以按某一格式被置为一个或多个分组、帧或码元。
[0131] 如本文中所使用,术语“机构”一般是指用于供应一个或多个功能的系统或设备的部件,包括但不限于,软件部件、电子部件、电气部件、机械部件、机电部件等。
[0132] 如本文中所使用,术语“实施例”一般是指用来通过示例但而非限制的方式进行说明的实施例。
[0133] 本领域的技术人员将认识到,前述示例和实施例是示例性的,而不限制本公开内容的范围。在阅读说明书和研究附图之后本领域的技术人员显而易见的对其的所有置换、
增强、等同项和改进都旨在被包括在本公开内容的真实精神和范围内。因此,以下所附权利
要求旨在包括落入本公开内容的真实精神和范围内的所有此类更改、置换和等同项。
[0134] 尽管已经就各个实施例描述了本公开内容,但本公开内容不应当仅限于所描述的那些实施例,而是可以利用在所附权利要求的精神和范围内的更改和改变来实践。同样地,
在本公开内容对标准进行参考的情况下,一般是参考可适用于所公开的技术领域的标准的
当前版本。然而,在说明书和所附权利要求的精神和范围内,可以在该标准的后续发展下实
践所描述的实施例。因此,说明书应被视作说明性的而非限制性的。