一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

用于分类和意图确定的多模型结构的制作方法

2021-11-24 22:19:00 来源:中国专利 TAG:


1.本公开涉及机器学习,更具体地,涉及使用机器学习生成的多模型结构。


背景技术:

2.对机器学习系统进行训练而不是明确地预先编程以执行给定的任务。假设给定任务或任务类别,机器学习系统基于经验来学习执行任务。因此无论如何衡量,机器学习系统的性能都会随着经验而改善。机器学习系统在系统可以基于系统输入以及根据输入的预期结果来生成规则(例如,对话语或图像进行分类)的意义上进行学习。特别地,机器学习系统可以发现示例输入中的统计结构,并且根据该结构生成用于自动化执行给定任务的规则。机器学习系统在诸如自然语言理解(nlu)和计算机视觉等的各个领域都有广泛的应用。


技术实现要素:

3.技术方案
4.在一个或多个实施例中,一种方法包括:基于由多个计算机实现的机器学习模型响应于接收到训练数据而生成的输出来生成多个凸系数。所述方法还包括:利用计算机硬件,使用凸系数机器学习规则迭代地调节所述多个凸系数中的一个或多个。
5.在一个或多个实施例中,一种系统包括被配置为发起操作的处理器。所述操作包括:响应于接收到的输入从多个领域特定模型中的每一个生成输出,其中所述领域特定模型是使用针对每个领域特定模型的相应局部损失度量和针对所述多个领域特定模型的全局损失度量而训练的经同时训练的机器学习模型。所述操作还包括:通过对每个领域特定模型的输出进行分类来确定与每个领域特定模型相对应的意图的存在与台。
6.在一个或多个实施例中,一种方法包括:利用计算机硬件,响应于接收到的输入从多个领域特定模型中的每一个生成输出,其中所述领域特定模型是使用针对每个领域特定模型的相应局部损失度量和针对所述多个领域特定模型的全局损失度量而训练的经同时训练的机器学习模型。所述方法还包括:利用所述计算机硬件,通过对每个领域特定模型的输出进行分类来确定与每个领域特定模型相对应的意图的存在与否。
7.在一个或多个实施例中,一种计算机程序产品包括其上存储有指令的计算机可读存储介质。所述指令可由处理器执行以发起操作。所述操作包括:响应于接收到的输入从多个领域特定模型中的每一个生成输出,其中所述领域特定模型是使用针对每个领域特定模型的相应局部损失度量和针对所述多个领域特定模型的全局损失度量而训练的经同时训练的机器学习模型。所述操作还包括:通过对每个领域特定模型的输出进行分类来确定与每个领域特定模型相对应的意图的存在与否。
8.提供发明内容部分仅是为了介绍某些概念,而不是确定要求保护的主题的任何关键或基本特征。根据附图和以下详细描述,本发明布置的其他特征将是清楚的。
附图说明
9.在附图中以示例的方式示出了本发明的布置。然而,附图不应被解释为将本发明的布置仅限于所示的特定实施方式。通过阅读以下详细描述并参考附图,各个方面和优点将变得清楚。
10.图1描述了根据实施例的实现多模型结构的系统进行操作的示例通信环境。
11.图2描述了根据实施例的通过通信网络与实现多模型结构的系统交互的示例用户设备。
12.图3描述了根据实施例的实现多模型结构的系统执行的联网计算节点。
13.图4示意性地图示了根据实施例的用于基于话语来确定用户意图的多模型结构的某些操作特征。
14.图5示意性地图示了根据实施例的使用机器学习来训练多模型结构的某些方面。
15.图6示意性地图示了根据实施例的用于确定多个用户的对话意图的多模型结构的某些操作特征。
16.图7是根据实施例的基于话语来确定用户意图的方法的流程图。
17.图8是根据实施例的用于训练基于话语确定用户意图的多模型结构的方法的流程图。
具体实施方式
18.虽然本公开用限定新颖性特征的权利要求进行了概括,但确信通过结合附图考虑说明书将更好地理解本公开中描述的各种特征。提供本文所述的处理、机器、制造及其任何变体是为了说明的目的。本公开中描述的具体结构和功能细节不应被解释为限制,而仅被解释为权利要求的基础以及教导本领域技术人员以不同方式采用在实质上任何适当详细结构中描述的特征的代表性基础。此外,本公开中使用的术语和短语并非旨在进行限制,而是提供对所描述特征的可理解的描述。
19.本公开涉及机器学习,更具体地,涉及使用机器学习生成的多模型结构。在各种实施例中,多模型结构可以在用于从单个话语(文本或者通过语音到文本处理器转换为文本的语音)和/或图像内多个对象之间的关系来确定多种意图的系统中实现。
20.在某些实施例中,多模型结构是实现口语理解(slu)系统的基础。slu结合了信号处理、模式识别、机器学习和人工智能的元素。slu的目标不仅仅是识别语音,而是通过以特定领域内的特定slu任务为目标从话语中提取“意思”。例如,在航班预订领域,slu系统可能负责从用户话语(例如,“我想下周从纽约飞往波士顿”)中辨别意图。因此,系统的目标理解任务是在给定的基于框架的语义表示中提取任务特定的参数,其中该语义表示包括目的地和出发日期。
21.许多slu系统最依赖于机器学习,这可能反映了基于统计的方法相对于基于规则的方法的鲁棒性。因此,对于slu任务(例如相对于航班预订而描述的任务),从话语中理解或提取意图需要特定的机器学习模型,该机器学习模型已被训练用于对特定领域内的话语进行分类。传统的slu系统针对关于单个领域的特定任务进行训练,从话语中确定单个意图。然而,基于多模型结构的系统可以基于单个话语识别来自多个领域的多个意图。
22.传统的slu系统彼此独立地运行。因此,即使多个传统的slu系统(每个系统都使用
针对不同领域的单独训练的模型)组合在一起,传统slu系统的组合也不可能正确识别来自每个单独领域的每个意图,因为没有一个系统能够与任何其他系统共享信息。相反,通过利用由多个模型生成并在多个模型之间共享的协作信息,基于多模型结构的slu系统即使从单个话语中也能识别多个意图。
23.如这里所限定的,“意图”是用户目标。该目标可以在用户话语或图像中表达。如这里所限定的,“话语”是在文本中或在由语音到文本处理器转换为文本的语音中包含的一个或多个词语。话语的一个示例是这样的句子:其中如果话语是讲出的,则话语之后是停顿,或者如果话语是写出的,则话语之后是句号或其他标点符号(例如,破折号)。例如,在发声后的明确停顿,诸如“i’m interested in flying to new york next week(我有兴趣下周飞往纽约)”,可以表明该话语以词语“week”完成。如果相同的话语是写出的,则话语将以句号(句点)结束。句号表示完整的话语,相比之下,例如逗号表示逗号后面的词语只是澄清逗号前面的词语。因此,在语音的场景中,两个单独的语音序列之间的明确停顿可以表示两个不同的句子,每个句子都包含不同的话语。区分不同话语的另一个示例是用户和另一个实体(人或机器)之间的交互式交换。当另一个实体开始说话时,用户的话语停止,并且当用户继续说话时,新的话语开始。在对话期间的这种类型的轮换可能会出现在例如交互式语音响应(ivr)系统的场景中,该ivr系统允许用户通过使用声音话语与计算机进行交互。
24.例如,用户意图可以是预订航班、租车或退订酒店房间,在用户话语中表达的意图包括说出的词语或输入到设备(例如智能手机或其他设备)中的文本。通过使用机器学习模型处理图像来表达图像中的意图,其中该机器学习模型被训练用以识别文本的图像和/或由文本标识的离散对象(例如,飞机、汽车或酒店)的图像。因此,也可以例如从旅行手册中的文本和/或对象的图像中辨别出用户预定航班、租车或退订酒店房间的意图,这些图像可以由集成在智能手机或其他设备中的相机捕获。
25.在此公开的示例实施例提供了能够从单个话语提取在不同领域场景中的不同意图的方法、系统和计算机程序产品。此外,多个意图中的一个或多个可能是隐含的而不是明确表达的,其中未表达的意图是从单个话语中明确表达的其他意图推断出来的。所公开的实施例的附加方面之一是同时确定多个意图中的每一个的相对重要性。
26.所公开的方法、系统和计算机程序产品也适用于其他领域。例如,在某些实施例中,多模型结构可以提供用于检测给定图像内多个对象之间的关系的系统的基础。在其他实施例中,多模型结构被用于根据使用单独设备彼此通信的多个用户之间的对话来确定一个或多个相互意图。
27.根据一个或多个实施例,可以通过使用机器学习训练多个模型(例如,神经网络)来创建多模型结构。多模型结构是通过基于由多个计算机实现的模型响应于训练数据集所生成的输出来生成多个凸系数而创建的。可以使用凸系数机器学习规则迭代地调节凸系数中的一个或多个。多个模型的参数是基于模型特定的局部损失度量并结合在此定义的全局损失度量来确定的。可以基于训练数据的正确分类与由多个计算机实现的模型(例如神经网络)生成的训练数据的估计分类之间的差异来确定全局损失度量。训练数据的估计分类可以是由多个计算机实现的模型生成的输出的总和,其中每个输出由相应的凸系数加权。
28.多模型结构可以在各种任务系统中实现,例如执行与人机交互相关的slu功能。slu功能例如可以在于基于用户的语音话语来确定用户意图并将该话语分类为呼叫中心应
用或航班预订系统的一部分。该系统应用涉及各种类型的人机交互,涵盖从语音概括到语音搜索和语音检索的广泛的复杂任务。该系统还可以涉及与人和人交互相关的任务,例如检索关于特定主题的与某个人的通话。
29.这种依赖于多模型结构的系统可以响应于接收到的用户输入(例如话语)从多个模型中的每一个生成输出。该系统可以通过对输入进行分类来根据用户输入确定多个用户意图,这由系统基于输入生成的特征向量表示。该系统可以通过使用多模型结构组合由多个模型生成的输出来执行分类。在某些实施例中,多个模型中的每一个可以包括意图特定的神经网络。该系统可以通过生成由多个模型生成的输出的加权和来将输出进行组合,其中每个输出由凸系数进行加权。该系统可以通过生成初始的多个系数并且基于凸系数机器学习规则迭代地调节多个系数中的一个或多个来确定每个凸系数,其中使用全局损失度量来确定凸系数机器学习规则。
30.在其他实施例中,实现多模型结构的系统可以被分配任务,例如识别图像中出现的对象之间的关系。在其他实施例中,该系统的任务可以是基于来自多个用户的多个设备的输入来确定多个用户的意图。因此,为了确定多个用户的意图,并入多模型结构中的多个模型可以均包括用户特定模型,并且多模型分类器可以根据使用多个设备执行的多个用户之间的对话来确定多个用户意图。
31.这里描述的不同布置涉及计算机技术并且提供对计算机技术的改进。例如,所呈现的布置提高了涉及从语音话语和/或图像内对象的关系来确定用户意图的计算机技术的速度和准确性。基于多模型结构的系统可以基于单个话语确定来自多个领域的多个意图。此外,多模型结构作为单个结构进行训练,而不是作为均必须单独训练的不同模型。这提高了使用机器学习的训练速度。值得注意的是,许多现有系统依赖于神经网络,普遍认为相对于其他机器学习模型,神经网络需要更长的训练时间。因此,所呈现的布置可以通过训练单个实体(即包含多个神经网络的多模型结构)而不是单独训练多个实体来显著减少训练时间。
32.多模型结构的各个方面是更快的训练时间、更高的预测准确性以及对梯度消失问题的更低敏感性。关于训练时间,尽管模型具有预测能力,但传统的神经网络被广泛认为训练缓慢。缓慢可能至少部分地源于使用反向传播的神经网络的常规训练。反向传播基于梯度下降优化,在神经网络训练的背景下,它涉及计算非线性激活函数的梯度。相反,多模型结构减少了对反向传播的依赖。虽然反向传播被用于对多模型结构进行训练,但这种使用是有限的,在很大程度上由凸系数的迭代调节、以及局部损失和全局损失度量的组合所取代。根据这里描述的凸系数机器学习规则来调节凸系数。反向传播涉及计算梯度,而对凸系数的更新是基于提供相对较快收敛的线性差分方程。
33.关于梯度消失问题,使用梯度下降的常规训练(例如,使用链式规则计算偏导数)涉及与成本函数的偏导数成比例地更新神经网络的参数。在某些情况下,梯度(偏导数)会非常小或者说“几乎为零”,这可以有效地防止神经网络参数的更新或完全终止训练。相反,本文描述的多模型结构训练依赖于全局损失度量以及局部损失度量。全局损失度量(函数的凸组合)本身是凸函数。在更新凸系数时较快的收敛减小了梯度消失的可能性。
34.参考以下附图更详细地描述了在本公开中描述的实施例的其他方面。为了说明的简单和清楚起见,图中所示的元件不必按比例绘制。例如,为了清楚起见,一些元件的尺寸
可能相对于其他元件被夸大。此外,在认为合适的情况下,附图标记在附图中重复以表示对应的、类似的或相似的特征。
35.图1描述了根据实施例的示例通信环境100,其中包括多模型结构的系统进行操作。通信环境100说明性地包括用户设备102,该用户设备可以从用户104接收语音话语106以及其他输入(例如,文本)。用户设备102可以是智能电话、虚拟助理或其他这样的设备。通信环境100还说明性地包括服务器108。在服务器108上执行系统110,如下文更详细地描述的,系统110实现用于从用户104的话语(文本或由语音到文本处理器转换为文本的语音)和/或由用户设备102捕获的图像内多个对象之间的关系来确定意图的多模型结构。
36.用户设备102通过数据通信网络112与服务器108(说明性地为基于云的服务器)通信。数据通信网络112可以提供各种设备和数据处理系统之间的通信链路。通信链路可以包括连接,例如有线通信链路、无线通信链路或光纤电缆。通信链路可以实现为或包括一种或多种不同的通信技术(或任何组合),例如广域网(wan)、局域网(lan)、无线网络(例如,无线wan和/或无线lan)、移动或蜂窝网络、虚拟专用网(vpn)、互联网、公共交换电话网(pstn)等。能够经由有线和/或无线通信链路耦接至数据通信网络112的设备可以包括智能电话、虚拟助理、个人计算机、便携式计算或通信设备、网络计算机、平板计算机、移动电话等。
37.图2描述了用户设备200,其代表诸如图1的用户设备102之类的用户设备。用户设备200说明性地包括存储器202、一个或多个处理器204(例如,图像处理器、数字信号处理器、数据处理器)和接口电路206。存储器202、处理器204和/或接口电路206在一些实施例中实现为单独的组件。在其他实施例中,存储器202、处理器204和/或接口电路206集成在一个或多个集成电路中。用户设备200的各种组件可以例如通过一条或多条通信总线或信号线(例如,互连和/或电线)而耦接。在一个实施例中,存储器202经由存储器接口(未示出)耦接至接口电路206。
38.用户设备200说明性地包括可以耦接至光学传感器210的相机子系统208。可以使用多种技术中的任一种来实现光学传感器210。光学传感器210的示例包括电荷耦合器件(ccd)、互补金属

氧化物半导体(cmos)光学传感器等。相机子系统208和光学传感器210可以用于实现相机功能,例如记录图像和/或视频剪辑。
39.可以通过一个或多个无线通信子系统212来实现通信功能。无线通信子系统212可以包括射频接收器和发射器、光学(例如红外)接收器和发射器等。无线通信子系统212的具体设计和实现可以取决于所实现的用户设备200的具体类型和/或用户设备200打算在其上操作的通信网络的类型。
40.出于说明的目的,无线通信子系统212可以被设计为在一个或多个移动网络(例如,gsm、gprs、edge)、可以包括wimax网络的wi

fi网络、短距离无线网络(例如,蓝牙网络)和/或前述项的任何组合上操作。无线通信子系统212可以实现托管协议,使得用户设备200可以被配置为用于其他无线设备的基站。
41.音频子系统214可以耦接至扬声器216和麦克风218以实现语音使能的功能,例如语音识别、语音复制、数字录音、音频处理和电话功能。音频子系统214代表与以下描述的实施例一起使用以接收设备用户的口头话语的子系统。音频子系统214可以生成各种类型的音频数据。
42.输入/输出(i/o)设备220可以耦接至接口电路206。i/o设备220的示例包括例如显
示设备、触敏显示设备、轨迹板、键盘、指点设备、通信端口(例如,usb端口)、网络适配器、按钮或其他物理控件等。诸如显示屏和/或显示板之类的触敏设备被配置为使用多种触敏技术中的任一种来检测接触、移动、接触中断等。示例的触敏技术包括例如电容、电阻、红外和表面声波技术、其他接近传感器阵列或用于确定与触敏设备的一个或多个接触点的其他元件等。一个或多个i/o设备220可以适用于控制用户设备200的传感器、子系统等的功能。
43.用户设备200还包括电源240。电源240能够向用户设备200的各种元件提供电力。在一个实施例中,电源240被实现为一个或多个电池。电池可以使用多种不同电池技术中的任一种来实现,无论是一次性的(例如,可更换的)还是可再充电的。在另一个实施例中,电源240被配置为从外部电源获得电力并向用户设备200的元件提供电力(例如,dc电力)。在可再充电电池的情况下,电源240还可以包括当耦接到外部电源时能够为一个或多个电池充电的电路。
44.存储器202可以包括随机存取存储器(例如易失性存储器)和/或非易失性存储器,例如一个或多个磁盘存储设备、一个或多个光存储设备、闪存等。存储器202可以存储操作系统252,例如linux、unix、移动操作系统、嵌入式操作系统等。操作系统252可以包括用于处理系统服务以及用于执行依赖于硬件的任务的指令。
45.存储器202可以另外地存储其他程序代码254。其他程序代码254的示例可以包括:用以实现与一个或多个附加设备、一个或多个计算机和/或一个或多个服务器进行通信的指令;图形用户界面处理;用以实现传感器相关功能的处理指令;电话相关功能;电子讯息相关功能;网页浏览相关功能;媒体处理相关功能;gps和导航相关功能;安全功能;相机相关功能,包括网络相机和/或网络视频功能;等等。存储器202还可以存储一个或多个其他应用262。
46.存储器202可以存储语音交互程序代码256。语音交互程序代码256可以例如被用户用来与基于网络的系统(例如,航班、汽车和/或酒店预订系统)进行可听交互。用户设备200可以通过诸如图1的数据通信网络112之类的数据通信网络与这样的系统通信耦接。因此,用户设备200可以通过口语话语经由数据通信网络与基于网络的系统交互。
47.所描述的各种类型的指令和/或程序代码是出于说明而非限制的目的而提供的。程序代码可以实现为单独的软件程序、过程或模块。存储器202可以包括附加指令或更少的指令。此外,用户设备200的各种功能可以在硬件和/或软件中实现,包括实现在一个或多个信号处理和/或专用集成电路中。
48.在存储器202内存储的程序代码和由用户设备200使用、生成和/或操作的任何数据是功能数据结构,当用作设备的一部分时该功能数据结构向设备赋予功能。功能数据结构的其他示例包括例如传感器数据、通过用户输入获得的数据、通过查询外部数据源获得的数据、基线信息等。术语“数据结构”是指数据模型在物理存储器中组织数据的物理实现。这样,数据结构由存储器内的特定电或磁结构元素形成。数据结构对存储器中存储的由处理器使用的数据进行物理组织。
49.取决于所实施的系统的特定类型,用户设备200可以包括比图2所示的那些更少的组件或者包括除了图2所示的那些之外的附加组件。此外,所包括的具体的操作系统和/或应用和/或其他程序代码也可以根据系统类型而变化。此外,一个或多个说明性组件可以并入到另一组件中,或者以其他方式形成另一组件的一部分。例如,处理器可以包括至少一些
存储器。
50.出于说明而非限制的目的提供用户设备200。配置为执行这里描述的操作的设备和/或系统可以具有与图2中所示不同的架构。该架构可以是用户设备200的简化版本并且可以包括处理器和存储指令的存储器。用户设备200的示例实现包括例如智能手机或其他移动设备、可穿戴计算设备(例如,智能手表)、计算机(例如,台式机、膝上型计算机、平板计算机、虚拟助理、智能电视、其他数据处理系统)或其他电子设备。应当理解,实施例可以部署为独立设备或部署为分布式客户端

服务器联网系统中的多个设备。例如,在某些实施例中,智能手表可以可操作地耦接至移动设备(例如,电话)。移动设备可以配置为或可以不配置为与远程服务器和/或计算机系统交互。
51.诸如图2的用户设备200之类的用户设备可以通过数据通信网络通信地耦接至联网服务器或其他计算节点。在联网计算节点上执行的系统可以实现多模型结构,用于从用户的话语(口语或基于文本)(例如,语音交互代码256)和/或由如下所述的用户设备捕获的图像内多个对象之间的关系(例如,一个或多个其他应用262)确定意图。
52.图3图示了示例计算节点300。在一个或多个实施例中,计算节点300是示例性的基于云的计算节点(例如,基于云的服务器)。计算节点300可以执行本公开中描述的任何功能,并且不旨在暗示对这里描述的本发明的实施例的使用范围或功能的任何限制。
53.计算节点300说明性地包括计算机系统312,其可与许多其他通用或专用计算系统环境或配置一起操作。可适用于计算机系统312的已知计算系统、环境和/或配置的示例包括但不限于智能手机、虚拟助理、个人计算机系统、服务器计算机系统、瘦客户端、胖客户端、手持或膝上型设备、多处理器系统、基于微处理器的系统、机顶盒、可编程消费电子产品、网络pc、小型计算机系统、大型计算机系统和包括上述任何系统或设备的分布式云计算环境等。
54.计算机系统312可以在由计算机系统执行诸如程序模块的计算机系统可执行指令的通用场景中进行描述。通常,程序模块可以包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、逻辑、数据结构等。计算机系统312可以在分布式云计算环境中实践,其中任务由通过通信网络链接的远程处理设备执行。在分布式云计算环境中,程序模块可以位于本地和远程计算机系统存储介质中,包括内存存储设备。
55.如图3所示,计算机系统312以通用计算设备(例如,服务器)的形式示出。计算机系统312的组件可以包括但不限于一个或多个处理器316、存储器328和将包括存储器328的各种系统组件耦接至处理器316的总线318。处理器包括被配置为执行指令的硬件电路。该硬件电路可以是集成电路。处理器的示例包括但不限于中央处理单元(cpu)、阵列处理器、向量处理器、数字信号处理器(dsp)、现场可编程门阵列(fpga)、可编程逻辑阵列(pla)、专用集成电路(asic)、可编程逻辑电路和控制器。
56.总线318代表多种类型的总线结构中的一种或多种,包括存储器总线或存储器控制器、外围总线、加速图形端口以及使用各种总线架构中的任一种的处理器或本地总线。仅通过示例而非限制的方式,这种架构包括工业标准架构(isa)总线、微通道架构(mca)总线、增强型isa(eisa)总线、视频电子标准协会(vesa)本地总线、外围组件互连(pci)总线和pci快速(pcie)总线。
57.计算机系统312典型地包括各种计算机系统可读介质。这种介质可以是计算机系
统312可访问的任何可用介质,并且可以包括易失性和非易失性介质、可移动和不可移动介质。
58.存储器328可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(ram)330和/或高速缓存存储器332。计算机系统312还可以包括其他可移动/不可移动、易失性/非易失性计算机系统存储介质。举例来说,可以提供用于从不可移动、非易失性磁介质和/或固态驱动器(未示出并且通常称为“硬盘驱动器”)读取并向其写入的存储系统334。尽管未示出,但是可以提供用于从可移动、非易失性磁盘(例如“软盘”)读取并向其写入的磁盘驱动器以及用于从可移动、非易失性光盘读取或向其写入的光盘驱动器,其中光盘例如是cd

rom、dvd

rom或其他光学介质。在这种情况下,每个介质都可以通过一个或多个数据媒体接口连接到总线318。如下文将进一步描绘和描述的,存储器328可以包括至少一个程序产品,该程序产品具有一组(例如,至少一个)程序模块,该程序模块被配置为执行本发明实施例的功能。
59.通过示例而非限制的方式,具有一组(至少一个)程序模块342的程序/应用340可以与操作系统、一个或多个应用程序、其他程序模块和程序数据一起存储在存储器328中。操作系统、一个或多个应用程序、其他程序模块和程序数据中的每一个或它们的一些组合可以包括联网环境的实现方式。程序模块342通常执行如本文所描述的本发明实施例的功能和/或方法。特别地,一个或多个程序模块可以实现如下系统,该系统用于基于这里描述的一个或多个多模型结构从用户的语音话语和/或图像内多个对象之间的关系确定意图。
60.程序/应用340可由处理器316执行。程序/应用340和由计算机系统312使用、生成和/或操作的任何数据项是在被计算机系统312使用时赋予功能的功能数据结构。
61.计算机系统312还可以与一个或多个外部设备314通信,例如键盘、指点设备、显示器324等;使用户能够与计算机系统312交互的一个或多个设备;和/或使计算机系统312能够与一个或多个其他计算设备通信的任何设备(例如,网卡、调制解调器等)。这种通信可以通过i/o接口322发生。然而,计算机系统312可以通过网络适配器320与一个或多个网络(例如lan、通用wan和/或公共网络(例如因特网))通信。如图所示,网络适配器320经由总线318与计算机系统312的其他组件通信。应当理解的是,尽管未示出,但其他硬件和/或软件组件可以与计算机系统312结合使用。示例包括但不限于:微代码、设备驱动程序、冗余处理单元、外部磁盘驱动器阵列、raid系统、磁带驱动器和数据归档存储系统等。
62.尽管计算节点300用于说明云计算节点的示例,但是应当理解,使用与结合图3所描述的架构相同或相似的架构的计算机系统也可以用于非云计算实现方案中以执行本文描述的各种操作。在这点上,本文描述的示例实施例不旨在受限于云计算环境。计算节点300是数据处理系统的示例。如本文所限定的,“数据处理系统”是指配置为处理数据的一个或多个硬件系统,每个硬件系统包括至少一个被编程为发起操作的处理器和存储器。
63.计算节点300是计算机硬件的示例。计算节点300可以包括比图3中示出的更少的组件或图3中未示出的附加组件,这取决于所实现的设备和/或系统的特定类型。所包括的特定操作系统和/或应用可以根据设备和/或系统类型而变化,所包括的i/o设备的类型也是如此。此外,一个或多个说明性组件可以并入到另一组件中或以其他方式形成另一组件的一部分。例如,处理器可以包括至少一些存储器。
64.图4示意性地示出了根据一个实施例的多模型结构400的某些操作特征。多模型结
构400可以在运行在服务器或其他联网计算节点上的系统中实现。基于多模型结构400,系统可以根据通过数据通信网络传送到系统的用户话语来确定用户意图。
65.意图确定可以在许多不同情况下具有相关性。例如,在自动预订系统的场景中,用户话语可以表达多个意图。例如,通过智能手机或虚拟助理传达的用户话语可能采用以下形式“你能帮我预订5月1日从纽约到旧金山的航班,在希尔顿住两天,使用赫兹租车吗?并且你能告诉我价格吗?”。该用户话语表达了四个单独的意图:预订航班;租车;预订酒店房间;并确定每种的价格。两个意图只是隐含的,引用了希尔顿而不是酒店以及引用了赫兹而不是汽车租赁。最后一个意图仅隐含地指代航班、租车和酒店的单独价格,仅引用了单数形式的价格。多模型结构400操作用于从单独的领域(航班、汽车租赁和酒店)以及对每个领域共同的共享特征辨别每个意图,确定价格。
66.通常,多模型结构400分别从k个模型即模型402a、模型402b和402k生成输出y1、y2、...、y
k
。尽管仅示出了模型402a、402b和402k,但应当理解的是可以在多模型结构400中并入任意数量的模型。每个模型402a

402k对应于特定领域(例如,航班、汽车租赁、酒店预订、价格)。每个输出都是响应于用户话语(口语或基于文本)生成的,系统将用户话语预处理为特征向量x。将特征向量x整体输入到每个领域特定模型402a

402k中。每个领域特定模型402a

402k基于特征向量x的输入而生成的输出可以是介于0和1之间的实数,反映相应意图存在于由特征向量x表示的用户话语中的概率。将输出y1、y2、...、y
k
输入到意图确定器404。意图确定器404将每个输出y1、y2、...、y
k
分别乘以相应的系数α1、α2、...、α
k
,这些系数如下详述地确定。在下面详细描述的某些实施例中,这些系数包括凸系数集合。
67.在一个或多个实施例中,意图确定器404是多输入二元分类器,其将每个领域特定模型的输出分类为两种状态之一:意图存在或意图不存在。例如,如果α
i
y
i
大于预定阈值(例如,0.5),则意图确定器404确定在由特征向量x表示的用户话语中很可能表达了相应的意图。因此,意图确定器404基于每个领域特定模型402a

402k的每个输出,生成具有0和1的k维向量[i1,i2,...,i
k
],1表示在用户话语中存在意图。例如,在自动预订系统的场景中,如果多模型结构400对领域“航班、汽车租赁、酒店预订、航班价格、租赁价格、酒店价格”进行建模,那么生成向量[1,0,1,1,0,0]的用户话语特征向量表示用户可能打算预订航班和酒店,但只是请求航班价格。一旦基于多模型结构400确定了意图,自动预订系统就执行下游任务,例如标记、填充空位并且提取完成预订请求所需的细节。
[0068]
多模型结构400的一个方面是使用来自多个领域特定模型的集体信息以使用机器学习创建单个结构,即多模型结构。多模型结构提供了增强的训练速度。多模型结构在较少的训练步长或时期内收敛,并且一旦得以训练,则提供与单独训练模型相似或更好的预测(或分类)准确性。多模型结构提供了下面描述的其他优点。
[0069]
图5示意性地图示了根据实施例的使用机器学习来创建多模型结构500的某些方面。说明性地,多模型结构500包括领域特定模型502a、502b和502k。尽管仅示出了三个领域特定模型,但应当理解的是,可以在多模型结构500中并入任意数量的领域特定模型。基于局部损失度量使用反馈来训练每个领域特定模型502a

502k,每个局部损失度量对应于领域特定模型之一。训练还基于全局损失度量,其迭代地调节凸系数估计量的集合504。在使用一组示例输入(特征向量)进行训练期间,将模型生成的输出(值)和与示例输入相对应的真实值或目标值进行比较。基于模型生成的值与真实值或目标值之间的差异来确定误差,
误差被用于迭代地更新各个领域特定模型502a

502k的参数和凸系数504。现在,在包含神经网络的每个领域特定模型的上下文中对训练过程进行描述。然而,在其他实施例中,可以使用不同的机器学习模型来创建多模型结构500。
[0070]
神经网络(或人工神经网络)是一种基于算法或电路的手段,它提供了基于一组训练示例来逼近或“学习”实值、离散值或向量值目标函数的鲁棒方法。神经网络结构通常包括由互连节点和激活函数组成的层。在输入层将模式呈现给神经网络,输入层与一个或多个隐藏层进行通信,这些隐藏层通过加权的连接系统来执行处理。隐藏层链接到产生处理结果的输出层。在操作上,输出是输入数据到预测的映射。损失函数将预测与目标值进行比较,生成损失值,损失值是预测与示例的正确值相匹配程度的度量。反向传播神经网络使用梯度下降来调节网络的参数以最好地拟合输入

输出对(x,y)的集合,其中输入x是n维向量,y是神经网络基于输入值生成的输出。
[0071]
在图5中,模型502a、502b和502k分别是神经网络n1(w1,x)、n2(w2,x)和n
k
(w
k
,x)。尽管仅示出了三个这样的神经网络,但应当理解的是,可以在多模型结构500中并入任意数量的神经网络。每个n
i
(w
i
,x)通过计算值y来对输入向量x进行分类,值y表示分配给x的标签。y是基于权重w
i
确定的。权重w
i
是基于机器学习规则确定的,其初始值可以被任意设置,根据机器学习规则,权重被迭代地调节,直到n
i
(w
i
,x)能够以可接受的准确度水平来预测输出为止。权重w
i
是使用一组包含输入

输出数据对(x,y)的训练示例来确定的,其中每个输入x对应于正确分配给输入的标签y。在连续迭代中,将由神经网络n
i
(w
i
,x)确定的输出与目标y进行比较。局部损失度量确定模型预测的和目标y的接近程度,并且基于机器学习规则来调节权重w
i
。单独的测试数据集被用于确定每个n
i
(w
i
,x)的准确性。
[0072]
在使用机器学习的训练期间,是w
i
的估计,并且是第i个神经网络n
i
(w
i
,x)的预测输出。因此,
[0073][0074]
权重w
i
可以通过输出误差的反向传播进行训练(迭代地调节),其中t是步长或训练时期的索引。基于使用反向传播的机器学习,也就是说,随着步长或训练时期的数量增加(接近无穷大),对于每个输入x的预测输出接近真实值yt。
[0075]
不是使用每个预测输出来预测输出y
t
,而是使用的组合(称为凸组合)作为每个步长t下的y
t
的估计:
[0076][0077]
其中如果第i个系数(对于i=1,...,k)是第i个目标凸系数α
i
在步长t处的估计量,其中α
i
满足以下条件:
[0078][0079]
目标系数α1、α2、...、α
k
通过凸系数估计量的集合504进行估计。凸系数是满足以下凸性标准的系数:
[0080]
[0081]
此外,基于凸性,估计的凸系数在凸域内在步长t处被约束如下:
[0082][0083]
其中k是神经网络n
i
(w
i
,x)的数量。
[0084]
使用两个不同的损失函数对多模型结构500进行训练,这两个损失函数被同时使用以同时对每个模型502a

502k进行训练(说明性地,神经网络n
i
(w
i
,x),i=1,2,...,k)。一个损失函数是局部损失度量另一个损失函数是全局损失度量g
t
。对于每个模型502a

502k都有相应的损失函数。将局部损失度量定义为每个n
i
(w
i
,x)的输出的交叉熵:
[0085][0086]
其中是第i个神经网络的第j个标签在步长t处的预测概率,并且m是输出y
i
的分类(标签)的总数(在二元分类器的情况下,如上,只存在一个分类)。
[0087]
将全局损失度量g
t
定义为真实值或正确值(标签)y
t
与预测值(标签)之间的差:
[0088][0089]
基于凸性约束,全局损失度量可以改写如下:
[0090][0091]
其中是在步长t处的第i个模型输出并且将定义为目标输出与步长t处的第i个模型输出之间的差:
[0092][0093]
第i个神经网络(或其他模型)损失函数与最后(第k个)神经网络(或其他模型)损失函数之间的差为其如下定义:
[0094][0095]
可以将从等式8导出的损失函数进一步简化如下:
[0096][0097]
其中将(对于m个分类和k个神经网络或其他机器学习模型)定义为并且将凸系数向量定义为
[0098]
局部损失度量和全局损失度量被用于同时训练神经网络(或其他机器学习模型)。局部损失度量被用于通过根据误差项的反向传播对自适应权重进行调节,来训练每个单独的神经网络全局损失度量g
t
与导出的全局损失度量矩阵一起被用于同时训练凸系数向量
[0099]
使用导出的全局损失度量矩阵来训练凸系数提供了如下所述的明显优点。将等式11的两侧都乘以则产生:
[0100][0101]
从等式12得出针对凸系数的机器学习规则:
[0102][0103]
其中因此,对于凸系数的机器学习规则如下:
[0104][0105]
因此,如所描述的,使用局部损失度量(例如交叉熵)通过反向传播对每个神经网络n
i
(w
i
,x)进行训练,第i个局部损失度量对应于第i个神经网络。基于多个神经网络中的每一个的输出来生成全局损失度量(k
‑1×
m矩阵),并且全局损失度量被用于训练凸系数所述凸系数满足在每个迭代步长t处的条件如上所述,局部损失度量和全局损失度量被用于同时训练神经网络(或其他机器学习模型)。全局损失度量提供了凸系数机器学习规则的基础。在训练期间,全局损失度量确定由多模型结构预测的值与训练示例的真实值或目标值之间的接近程度,并且相应地调节多模型结构参数。如由全局损失度量步进式引导的,迭代地调节模型参数,直到模型在应用于测试数据集时达到可接受的预测准确度水平为止。
[0106]
以下伪代码实现了用于根据所描述的各方面训练多模型结构的算法:
[0107][0108]
用于训练每个单独领域特定模型(例如,神经网络)的反向传播是基于梯度下降优化的,这涉及计算非线性激活函数的梯度:相对较慢的过程要求比调节凸系数更多的时间。对凸系数进行更新的凸系数机器学习规则(等式15)是线性差分方程,它提供了相对较快的收敛。一旦凸系数收敛,则根据所描述过程训练的多模型结构生成接近于真实目标值的模型预测输出。全局损失度量是函数的凸组合,并且因此是凸函数。由此,多模型结构的一些优点是更快的学习速度以及由于更快的收敛而更有可能避免梯度消失问题。
[0109]
在每个训练步长,所估计的凸系数满足约束因此,在每个步长t只需要计算k

1个凸系数。
[0110]
需要注意的是,为了基于多个领域特定模型的输出形成凸包(convex hull),模型的数量k需要至少比输出类别或标签的数量n大1。即,k≥n。尽管对于上述二元分类器,n是1,因此很容易满足约束。一般而言,尽管约束似乎增加了所需参数的总数,但实际上,如仿
真所验证的那样,对于多个神经网络,可以将较少数量的隐藏层与多模型结构一起使用。此外,如仿真所验证的那样,使用较少数量的隐藏层可以实现甚至更好的性能。即使不满足约束,仍然可以训练多模型结构,但可能没有实值解、而只有数值近似,这会对性能产生不利影响。
[0111]
全局损失度量的一个方面是基于在训练期间对由单独的领域特定模型生成的信息进行整合来生成协作信息。例如,可以通过利用协作信息识别单个话语中的多个意图来训练使用多模型结构的slu系统。全局损失度量使得slu系统能够克服传统slu系统的局限性,传统slu系统即使相结合也彼此独立地操作,因此无法将来自一个模型的信息与来自任何其他模型的信息进行整合或组合。多模型结构的协作信息体现在凸系数集合中(α1,α2,...,α
k
),如上所述,凸系数被用于分别对多模型结构的k个领域特定模型中的每一个的输出y1、y2、...、y
k
进行加权。每个乘积项α
i
y
i
确定是否可能在由特征向量x表示的单个用户话语中表达相应的意图。
[0112]
因此,例如,根据在图4的上下文中描述的实施例,如果α
i
y
i
大于预定阈值(例如,0.5),则由特征向量x表示的话语表达与第i个领域相对应的意图。然而,该确定并非只基于第i个模型确定y
i
,而是基于第i个模型确定以及在基于全局损失度量训练的系数α
i
中体现的协作信息。全局损失度量并入了多模型结构的其他模型的影响。因此,多模型结构的多个模型不是独立的,而是每一个模型联合地反映了其他模型中的每一个所体现的信息。在slu系统的场景中,多模型结构的这一方面使得包含该结构的slu系统能够克服传统slu系统的局限性,传统slu系统即使相结合也彼此独立地操作并且无法整合或组合来自多个模型的信息。
[0113]
在不同的实施例中,可以扩展多模型结构以基于在两个或更多个用户之间的对话期间(通过语音或文本)表达的话语来确定多个用户的一个或多个意图。图6图示了根据实施例的多模型结构600的某些操作特征,其中多模型结构600在多个用户的多个设备(例如,智能手机)之间联合操作以提供对话意图检测。多模型结构600说明性地包括与均使用单独设备的不同用户相对应的用户特定模型602a、602b、602k以及在联网服务器上运行的多模型意图确定器604,该联网服务器通过数据通信网络通信地耦接至每一个单独的设备。尽管只示出了与三个用户相对应的三个模型,但是应当理解的是,模型的数量可以是大于一的任何数量。每个模型602a

602k可以例如与在相应设备上运行的虚拟助理可操作地耦接。基于上述过程,多模型结构600可以从用户话语中确定一个或多个意图i1、i2和i
k
,这些意图分别被传达给在用户设备上运行的虚拟助理

统称为虚拟助理606。
[0114]
两个或更多个用户之间的对话可以触发在参与对话的用户的每个设备上运行的虚拟助理。每个这样的虚拟助理都是针对特定用户定制的,并包含那个人的偏好(例如,电话信息、web浏览信息),可以在做出涉及参与对话的每个用户的相互决定时考虑这些偏好。多模型结构600可以基于响应于相应用户的话语而生成的用户特定模型602a、602b和/或602k的输出来确定每个用户的意图。例如,用户joan可能会问在她的设备(例如智能手机)上运行的虚拟助理:“你能帮我和amy预订下周六从纽约飞往旧金山的航班吗?预订赫兹并在希尔顿两天,可以给我个报价吗?”。基于该对话,多模型结构600确定与amy相关的意图,并将该意图提供给joan的虚拟助理,虚拟助理可能使用从joan的设备可用的个性化电话信息联系amy。
[0115]
joan话语的处理取决于amy的同意。如果多模型结构600确定amy的意图是加入joan进行所建议的旅行,则处理继续进行joan最初表达的意图。否则,如果amy做出否定响应,则处理终止。例如,如果amy回复说:例如“很想去,但我有日程安排冲突”,则多模型结构600确定amy的意图不是加入joan的旅途,并且基于该模型确定的意图,没有进一步的处理发生。相反,如果amy说“是的,我那几天有空并且想去”来回复虚拟助理的询问,则处理继续。因此,多模型结构600确定amy的意图,这确认了她希望与joan一起旅行到所指示数据上所指示的位置,并且作为答复,多模型结构600从joan的话语确定joan的意图是为她自己和amy预订航班、预订租车(虽然没有明确说明)、从周六开始预订两天的酒店房间(虽然也没有明确说明)并获得每项的价格(从价格的单一引用推断出的)。用户的虚拟助理606可以基于响应于用户意图而做出的相互决定来完成动作(订票、预订房间、租车和提供定价信息)。
[0116]
在其他实施例中,多模型结构可以用于基于图像来确定一个或多个用户意图。多模型结构可以基于由多个领域特定模型(例如深度学习神经网络)生成的输出,从图像中确定一个或多个用户意图。深度学习神经网络经常用于对相机图像进行分类。使用反向传播,神经网络可以学习对图像进行分类的各种目标函数。例如,每个图像像素由0(黑色)和255(白色)之间的灰度强度描述且具有120
×
128分辨率的图像长期以来被用于训练神经网络以基于面部表情对图像进行分类,识别图像中不同的人,确定图片中的人正在看的方向,辨别这个人是否戴着太阳镜,甚至对人进行性别分类。可以将图像编码为3

d阵列,并使用相应的1

d阵列分类器标签进行标记。基于图像确定意图的多模型结构可以使用如上所述根据使用局部损失度量和全局损失度量的凸系数机器学习规则训练的多个领域特定深度学习神经网络。
[0117]
例如,用户可以使用例如集成在用户的智能手机或其他设备中的相机从旅行手册捕获图像。设备可以通过数据通信网络与网络服务器通信地耦接,该网络服务器托管实现多模型结构的系统。可以对多模型结构进行训练以基于来自例如根据上述过程训练的多个领域特定深度学习神经网络的输出来识别一个或多个意图。设备可以将图像传送到托管在网络服务器上的系统。深度学习神经网络例如可以从描述岛屿度假村的图像文本和海滩附近酒店的图像中进行识别。多模型结构可以从图像中确定一个或多个意图。例如,可以对多模型结构进行训练来确定用户意图,以(例如,通过互联网)获取与度假村和附近海滩质量有关的更多信息。例如,可以对多模型结构进行训练来确定用户意图,以获得与岛屿的票价和度假村的房间租金有关的定价信息。在各种实施例中,可以对多模型结构进行训练以基于各种其他类型的图像确定各种其他意图。
[0118]
图7是根据实施例的用于从话语(语音或文本)确定用户意图的示例方法700的流程图。方法700可以由与参考图1至图6描述的系统相同或相似的系统来执行。说明性地,系统在块702处响应于接收到的输入从多个领域特定模型生成输出。领域特定模型是使用针对每个领域特定模型的相应局部损失度量和针对多个领域特定模型的全局损失度量而训练的经同时训练的机器学习模型。在块704,系统确定与每个领域特定模型相对应的意图的存在与否,该确定基于对每个领域特定模型的输出进行分类。
[0119]
可以通过基于一系列误差项迭代地调节每个领域特定模型的参数来同时训练领域特定模型,每个误差项由模型预测值和真实值之间的差确定。每个模型预测值可以是乘积之和,每个乘积是领域特定模型的输出乘以与该领域特定模型相对应的凸系数的乘积。
[0120]
可以通过生成初始的多个凸系数并且基于使用全局损失度量确定的凸系数机器学习规则迭代地调节多个系数中的一个或多个来同时训练领域特定模型。
[0121]
在一些实施例中,每个领域特定模型是神经网络。在一些实施例中,接收到的输入包括话语。话语可以是文本或使用语音到文本处理器转换为文本的语音。在其他实施例中,接收到的输入可以包括一个或多个图像。
[0122]
在其他实施例中,接收到的输入可以包括来自多个用户的多个设备的输入。为了基于在两个或更多个用户之间的对话期间(通过语音或文本)表达的话语来确定多个用户的意图,领域特定模型可以包括用户特定模型。多模型结构可以基于使用多个设备执行的多个用户之间的对话来确定一个或多个用户意图。
[0123]
图8是根据实施例的用于训练多模型结构的示例方法的流程图。可以由与参考图1至图6描述的系统相同或相似的系统来执行方法800。系统在块802处基于由多个计算机实现的机器学习模型响应于接收到训练数据而生成的输出来生成多个凸系数。在块804,系统使用凸系数机器学习规则迭代地调节多个凸系数中的一个或多个。凸系数机器学习规则是基于全局损失度量确定的,如以上等式12

14导出的。
[0124]
可以使用相应局部损失度量和全局损失度量对每个机器学习模型进行训练。可以与多个凸系数中的一个或多个的迭代调节同时地进行机器学习模型的训练。
[0125]
可以基于训练数据的正确分类与由多个计算机实现的模型生成的训练数据的估计分类之间的差异来确定全局损失度量。训练数据的估计分类可以包括由多个计算机实现的机器学习模型生成的输出的总和,每个输出由多个凸系数中的相应一个进行加权。
[0126]
多个计算机实现的模型可以包括神经网络。可以通过基于局部损失度量计算的误差的反向传播对每个神经网络进行训练,误差是训练数据的正确分类与每个神经网络生成的训练数据的估计分类之间的差异。可以与迭代地调节多个凸系数中的一个或多个同时地执行对每个神经网络的训练。局部损失度量可以是交叉熵度量。
[0127]
一旦经过训练,则可以基于对测试数据集进行分类来确定多个机器学习模型的准确性。可以基于机器学习模型生成的输出的加权和,对测试数据集的元素进行分类,其中通过多个凸系数中的相应一个对每个输出进行加权。
[0128]
在此使用的术语仅用于描述特定实施例的目的,并非意欲进行限制。尽管如此,现在提供贯穿整个文档的若干定义。
[0129]
如这里所限定的,除非上下文另有明确指示,否则术语的单数形式也旨在包括复数形式。
[0130]
如这里所限定的,“另一个”意味着至少第二个或更多个。
[0131]
如这里所限定的,除非另有明确说明,否则“至少一个”、“一个或多个”以及“和/或”是开放式表达,其在操作中既是连接的又是分离的。例如,表述“a、b和c中的至少一个”、“a、b或c中的至少一个”、“a、b和c中的一个或多个”、“a、b或c中的一个或多个”以及“a、b和/或c”中的每一个是指单独的a、单独的b、单独的c、a和b一起、a和c一起、b和c一起或a、b和c一起。
[0132]
如这里所限定的,“自动”意味着无需用户干预。
[0133]
如这里所限定的,“计算机可读存储介质”是指包含或存储供指令执行系统、设备或装置使用或与其结合使用的程序代码的存储介质。此处定义的“计算机可读存储介质”本
身不是瞬态的、传播的信号。计算机可读存储介质可以是但不限于电子存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或前述项的任何合适的组合。如本文所描述的,存储器元件是计算机可读存储介质的示例。计算机可读存储介质的更具体示例的非详尽列表可以包括:便携式计算机软盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或闪存)、静态随机存取存储器(sram)、数字多功能盘(dvd)、记忆棒、软盘等。
[0134]
如这里所限定的,“包括”、“包含”和/或“具有”指定所叙述特征、整数、步骤、操作、元素和/或组件的存在,但不排除存在或添加一个或多个其他特征、整数、步骤、操作、元素、组件和/或其组合。
[0135]
如这里所限定的,取决于上下文,“如果”表示“当...时”或“在...时”或“响应”或“响应于”。因此,取决于上下文,短语“如果确定”或“如果检测到[陈述的条件或事件]”可以解释为“在确定...时”或“响应于确定”或“在检测到[陈述的条件或事件]时”或“响应于检测到[陈述的条件或事件]”或“响应检测到[陈述的条件或事件]”。
[0136]
如这里所限定的,“一个实施例”、“实施例”、“在一个或多个实施例中”、“在特定实施例中”或类似的语言表示结合实施例描述的特定特征、结构或特性被包括在本公开中描述的至少一个实施例中。因此,贯穿本公开的前述短语和/或类似语言的出现可以但不一定全部指代同一实施例。
[0137]
如这里所限定的,“输出”表示在物理存储器元件(例如设备)中存储、写入显示器或其他外围输出设备、发送或传输至另一系统、导出等。
[0138]
如这里所定义的,“处理器”是指被配置为执行在程序代码中包含的指令的至少一个硬件电路。硬件电路可以是集成电路。处理器的示例包括但不限于中央处理单元(cpu)、阵列处理器、向量处理器、数字信号处理器(dsp)、现场可编程门阵列(fpga)、可编程逻辑阵列(pla)、专用集成电路(asic)、可编程逻辑电路和控制器。
[0139]
如这里所限定的,“响应”和“响应于”是指易于对动作或事件做出响应或反应。因此,如果“响应”或“响应于”第一个动作而执行第二个动作,则在第一个动作的发生和第二个动作的发生之间存在因果关系。术语“响应”和“响应于”表示因果关系。
[0140]
如这里所限定的,“基本上”是指不需要精确地实现所叙述特征、参数或值,而是可以在不妨碍所述特征意欲提供的效果的量上出现包括例如容差、测量误差、测量准确度限制和本领域技术人员已知的其他因素在内的偏差或变化。
[0141]
如这里所限定的,术语“用户”和“个人”是指人类。
[0142]
术语第一、第二等可以在本文中用于描述各种元素。这些元素不应受这些术语的限制,因为这些术语仅用于将一个元素与另一个元素区分开来,除非另有说明或上下文另有明确指示。
[0143]
这里公开的本发明方面的各种实施例可以以任何可能的集成技术细节水平实现在系统中、实现为方法和/或实现在计算机程序产品中。计算机程序产品可以包括其上具有计算机可读程序指令的计算机可读存储介质(或媒介),计算机可读程序指令用于使处理器执行这里公开的实施例的各方面。在本公开中,“程序代码”与“计算机可读程序指令”可以互换使用。在此描述的计算机可读程序指令可以从计算机可读存储介质下载到相应的计算/处理设备或通过网络下载到外部计算机或外部存储设备,例如互联网、lan、wan和/或无
线网络。网络可以包括铜传输电缆、光传输光纤、无线传输、路由器、防火墙、交换机、网关计算机和/或包括边缘服务器的边缘设备。每个计算/处理设备中的网络适配器线或网络接口从网络接收计算机可读程序指令并且转发计算机可读程序指令以利用相应的计算/处理设备存储在计算机可读存储介质中。
[0144]
用于执行这里公开的发明布置的操作的计算机可读程序指令可以是汇编指令、指令集架构(isa)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、用于集成电路的配置数据或以一种或多种编程语言(包括面向对象的编程语言和/或过程编程语言)的任意组合编写的源代码或目标代码。计算机可读程序指令可以完全在用户计算机上执行、部分地在用户计算机上执行、作为独立软件包执行、部分地在用户计算机上且部分地在远程计算机上执行、或完全在远程计算机或服务器上执行。在后一种情况下,远程计算机可以通过任何类型的网络连接到用户的计算机,包括lan或wan,或者可以连接到外部计算机(例如,通过使用因特网服务提供商的因特网)。在一些实施例中,包括例如可编程逻辑电路、fpga或pla的电子电路可以通过利用计算机可读程序指令的状态信息定制电子电路来执行计算机可读程序指令,以便执行这里描述的发明布置的各方面。
[0145]
在此参考根据本发明布置的实施例的方法、设备(系统)和计算机程序产品的流程图和/或框图描述了本发明布置的某些方面。应当理解的是,流程图和/或框图的每个块以及流程图和/或框图中的块的组合可以由计算机可读程序指令(例如,程序代码)来实现。
[0146]
这些计算机可读程序指令可以提供给计算机、专用计算机或其他可编程数据处理设备的处理器以生产机器,使得经由计算机或其他可编程数据处理设备的处理器执行的指令创建用于实现流程图和/或框图块或模块中指定的功能/动作的手段。将处理器与程序代码指令可操作地耦接将处理器的机器转变为用于执行程序代码的指令的专用机器。这些计算机可读程序指令也可以存储在计算机可读存储介质中,所述计算机可读存储介质可以引导计算机、可编程数据处理设备和/或其他设备以特定方式运行,使得其中存储有指令的计算机可读存储介质包括制造物品,所述制造物品包括实现流程图和/或框图块或模块中指定的功能/动作的各个方面的指令。
[0147]
计算机可读程序指令也可以加载到计算机、其他可编程数据处理设备或其他设备上,以在计算机、其他可编程设备或其他设备上执行一系列操作步骤以产生计算机实现的过程,使得在计算机、其他可编程设备或其他设备上执行的指令实现在流程图和/或框图或模块中指定的功能/动作。
[0148]
附图中的流程图和框图示出了根据本文描述的发明布置的各种实施例的系统、方法和计算机程序产品的可能实现方案的架构、功能和操作。就这一点而言,流程图或框图中的每一块可以表示模块、段、或指令的一部分,包括用于实现指定逻辑功能的一个或多个可执行指令。在一些替代实施方式中,块中标注的功能可以不按照图中标注的顺序发生。例如,取决于所涉及的功能,连续显示的两个块实际上可以作为一个步骤执行、同时、基本上同时、以部分或全部时间重叠的方式执行,或者有时可以以相反的顺序执行这些块。还应该注意的是:框图和/或流程图的每个块以及框图和/或流程图中的块的组合可以由执行指定功能或动作或者执行专用硬件和计算机指令的组合的基于专用硬件的系统来实现。
[0149]
这里提供的各种实施例的描述是为了说明的目的而呈现的,而并非意欲穷举或限制所公开的形式和示例。选择这里使用的术语来解释本发明布置的原理、实际应用或对市
场中发现的技术的技术改进和/或使本领域普通技术人员能够理解这里公开的实施例。在不脱离所描述的本发明布置的范围和精神的情况下,修改和变化对于本领域的普通技术人员来说是清楚的。因此,应当参考以下权利要求而不是前述公开作为对这些特征和实施方式的范围的表示。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献