掌桥专利:专业的专利平台
掌桥专利
首页

使用机器学习生成个性化条幅图像

文献发布时间:2023-06-19 11:00:24


使用机器学习生成个性化条幅图像

相关申请的交叉引用

本申请要求2018年10月9日提交的美国申请序列号16/155,255的优先权,其全部内容通过引用并入本文。

技术领域

本公开的实施例总体上涉及使用机器学习来生成个性化条幅图像,并且更具体地但非限制性地涉及生成用于显示被个性化以吸引特定用户的在线条幅图像的增强用户界面。

背景技术

当前,基于用户使用某些搜索词的先前搜索,生成在线广告(例如,在线条幅图像,或简称为“在线条幅”)以显示给用户。这样的在线广告可以包括产品的库存图像,其表示使用搜索词执行的搜索结果。产品的库存图像可能无法准确地表示用户感兴趣的产品,因此可能无法引起用户的注意,并且可能不会导致预期的结果(例如,点击在线广告,或购买所显示的产品)。另外,条幅图像通常是预先定义和预先生成的,当向用户显示在线条幅时,它们不再与用户相关。

附图说明

各个所附附图仅示出了本公开的示例实施例,并且不可以被认为限制其范围。

图1是示出了根据一些示例实施例的联网系统的框图。

图2示出了根据一些示例实施例的机器学习程序的训练和使用。

图3示出了根据一些示例实施例的显示在线个性化条幅图像的用户界面。

图4是示出了根据一些示例实施例的机器学习系统的组件的框图。

图5是示出了根据一些示例实施例的用于使用机器学习来生成个性化条幅图像的方法的流程图。

图6是示出了根据一些示例实施例的用于使用机器学习来生成个性化条幅图像的方法并表示图5所示方法的附加步骤的流程图。

图7是示出了根据一些示例实施例的用于使用机器学习来生成个性化条幅图像的方法并表示图6所示方法的附加步骤的流程图。

图8是示出了根据一些示例实施例的用于使用机器学习来生成个性化条幅图像的方法并更详细地表示图5所示方法的步骤504的流程图。

图9是示出了根据一些示例实施例的可以安装在机器上的软件架构的示例的框图。

图10示出了根据示例实施例的具有计算机系统的形式的机器的示图表示,在所述计算机系统中,可以执行指令集以使所述机器执行本文讨论的方法中的任意一个或多个方法。

本文提供的标题仅为方便起见,而不一定影响所使用的术语的范围或含义。

具体实施方式

以下描述包括体现本公开的示意性实施例的系统、方法、技术、指令序列和计算机器程序产品。在下文的描述中,为了解释的目的,阐述了很多细节以提供对本发明主题的各种实施例的理解。然而,对本领域技术人员将显而易见的是,本发明主题的实施例可以在没有这些具体细节的情况下实施。一般地,不必详细示出众所周知的指令实例、协议、结构和技术。

机器学习系统可以使用机器学习算法、基于从网站(例如,在线商店或在线市场的网站)上可用的产品列表中提取的实际图像(例如,照片)来促进在线条幅的生成。这些图像对应于用户先前(例如,在先前访问该网站时)所浏览的产品。用户可能已经搜索过这些产品,或者可能在浏览网站时点击了与显示给用户的这些产品相关联的信息。

除了包括来自可购买的实际产品列表的图像的在线条幅之外,基于各种用户选择了哪些类型的在线条幅的连续机器学习,生成在线条幅以在美学上吸引特定用户或用户组。例如,包括特定结构元素的在线条幅(例如,竖直划分为三个相等部分的绿色矩形在线条幅,其中左侧部分包括文本,并且中间部分和右侧部分均包括特定产品的图像)可以被显示给许多用户,并且可以被确定为对某些受众群体更具吸引力。在线条幅的某些特征可以在显示给用户的在线条幅的下一版本中被迭代地修改,以便继续学习用户对与在线条幅相关联的各种特征组合的响应。

持续学习允许机器学习系统迭代地更新与用户相关联的机器学习系统的数据表示(例如,嵌入),以便可以更好地了解用户对在线条幅各个方面的好恶。因此,机器学习系统生成高度定制的在线条幅,这些在线条幅吸引用户组或特定用户(例如,可以被其高度选择)。

例如,A/B测试用于收集与在线条幅有关的用户数据(例如,对特定在线条幅的点击或不点击,或者在线条幅中包括的产品图像中显示的产品的转换率)。基于用户数据(例如,用户对在线条幅设计选择的反馈),机器学习系统使用一种或多种强化学习算法,迭代地修改在线条幅图像的各个方面,以便优化条幅广告的点击率和转换率。

在一些示例实施例中,基于确定一些在线条幅被选择(例如,点击),机器学习系统不仅学习一般用户,而且还学习特定用户。在下一次迭代中(例如,向用户显示的下一个在线条幅),机器学习系统修改先前向用户显示的在线条幅的一个特征,以确定用户是否点击了修改后的在线条幅。这有助于了解用户对修改后的条幅特征的偏好。该学习有利于针对用户对产品图片和在线条幅的美学品质的特定偏好提高在线条幅的定制水平。

在一些示例实施例中,机器学习系统通过基于用户选择各个在线条幅的次数对在线条幅进行排名来识别更成功的在线条幅。基于在线条幅的排名,与更成功的在线条幅相关联的特征组合与特定权重值相关联。机器学习系统还分析更成功的在线条幅的特征组合,以确定某些在线条幅是否对按人口统计学、地理、职业、社区文化等分组的特定人群具有吸引力。机器学习系统可以以多种方式对用户群进行细分,以学习哪些特征组合吸引用户群的各细分群。

通常,发布与公众感兴趣的项目有关的数字内容的网站仅将这样的数字内容呈现为包括关于这些项目的各种信息的列表。这样的数字内容的示例是代表产品卖方发布的列表。客户端设备的用户界面呈现产品列表,该产品列表可以包括该产品的一张或多张照片以及该产品的一个或多个属性的描述。

常规用户界面具有与计算机的有效功能有关的许多缺陷,特别是当常规用户界面显示在小屏幕上时,常规用户界面的用户需要多次滚动并切换视图以找到与项目相关联的正确数据。由于小屏幕往往需要将数据和功能划分为许多层或视图,因此常规用户界面需要用户向下钻取许多层以获取所需的数据或功能。该过程似乎很慢、复杂且难以学习,特别是对于新手用户而言。此外,该过程降低了数据处理速度,并且通常与更高的数据存储要求相关联。

在一些示例实施例中,提供经由用户界面显示的迭代更新后的在线条幅的机器学习系统通过以特定方式在电子设备中呈现与在线条幅中包括的项目图像中示出的项目有关的信息来改善常规用户界面,这导致在向用户呈现在线条幅的可视化时,向用户传递与用户实际感兴趣的特定项目有关的准确信息。电子设备的用户界面的改进后的功能还通过提高数据处理速度和数据存储效率来提高电子设备的效率。

参考图1,示出了高级的基于客户端-服务器的网络架构100的示例实施例。联网系统102经由网络104(例如,互联网或广域网(WAN))向一个或多个客户端设备110提供服务器侧功能。图1示出了例如在客户端设备110上执行的网络客户端112(例如浏览器,比如由华盛顿州雷德蒙德的

客户端设备110可以包括但不限于:移动电话、台式计算机、膝上型计算机、便携式数字助理(PDA)、智能电话、平板计算机、超级本、上网本、多处理器系统、基于微处理器或可编程的消费电子产品、游戏机、机顶盒、可穿戴设备、智能手表或用户可以用来访问联网系统102的任何其他通信设备。在一些实施例中,客户端设备110可以包括显示模块以显示信息(例如,以用户界面的形式)。在其他实施例中,客户端设备110包括触摸屏、加速度计、陀螺仪、相机、麦克风、全球定位系统(GPS)设备等中的一个或多个。客户端设备110是可以用于执行涉及联网系统102内的数字项目的交易的用户设备。在一些示例实施例中,联网系统102包括基于网络的市场(也称为“在线市场”),其响应于对产品列表的请求,发布包括在基于网络的市场上可用的产品或服务的项目列表的公告,并且管理这些市场交易的支付。网络104的一个或多个部分可以是adhoc网络、内联网、外联网、虚拟专用网(VPN)、局域网(LAN)、无线LAN(WLAN)、广域网(WAN)、无线WAN(WWAN)、城域网(MAN)、互联网的一部分、公共电话交换网(PSTN)的一部分、蜂窝电话网、无线网络、WiFi网络、WiMax网络、另一类型的网络或两个或更多个这样的网络的组合。

客户端设备110包括一个或多个应用(也称为“app”),例如但不限于网络浏览器、消息收发应用、电子邮件(email)应用、电子商务网站应用(也称为市场应用)等。在一些实施例中,如果电子商务网站应用被包括在客户端设备110中,则该应用被配置为本地提供用户界面以及功能中的至少一些,其中该应用被配置为根据需要与联网系统102通信,以获得本地不可用的数据或处理能力(例如,访问可出售项目的数据库、认证用户、验证支付方法等)。相反,如果电子商务网站应用未被包括在客户端设备110中,则客户端设备110使用其网络浏览器来访问联网系统102上容纳的电子商务网站(或其变型)。

一个或多个用户106可以是人、机器或与客户端设备110交互的其他装置。在示例实施例中,用户106不是网络架构100的一部分,但可以经由客户端设备110或其他装置与网络架构100进行交互。例如,用户106向客户端设备110提供输入(例如,触摸屏输入或字母数字输入),并且该输入经由网络104传送给联网系统102。在该实例中,联网系统102响应于接收到来自用户106的输入,经由网络104将信息传送给客户端设备110以呈现给用户106。以这种方式,用户106可以使用客户端设备110与联网系统102交互。

应用程序接口(API)服务器120和网络服务器122耦合至一个或多个应用服务器140,并分别向一个或多个应用服务器140提供编程接口和网络接口。应用服务器140可以容纳机器学习系统400和支付系统144,机器学习系统400和支付系统144中的每一个可以包括一个或多个模块或应用,并且其每一个都可以体现为硬件、软件、固件或其任意组合。相应地,应用服务器140被示为耦合到一个或多个数据库服务器124,该数据库服务器124促进对一个或多个信息存储库或数据库126的访问。在示例实施例中,数据库126是存储信息的存储设备,该信息(例如,公告、列表、数字内容项、产品描述、产品图像等)。根据示例实施例,数据库126还可以存储数字项目信息。

另外,在一个或多个第三方服务器130上执行的第三方应用132被示为具有经由API服务器120所提供的程序接口对联网系统102的程序访问。例如,第三方应用132利用从联网系统102取回的信息,支持第三方所容纳的网站上的一个或多个特征或功能。例如,第三方网站提供由联网系统102的相关应用支持的一个或多个促销、市场或支付功能。

机器学习系统400向访问联网系统102的用户106提供多个发布功能和服务。例如,机器学习系统400基于与特定用户相关联的一个或多个数据特征来促进针对特定用户的定制条幅图像的生成和在线发布。一个或多个数据特征包括与关于产品图像的用户行为有关的数据特征。支付系统144提供许多功能以执行或促进支付和交易。尽管图1中示出了机器学习系统400和支付系统144两者都形成了联网系统102的一部分,但是应当理解,在备选实施例中,机器学习系统400和支付系统144中的每一个都可以形成与联网系统102分离且不同的服务的一部分。在一些实施例中,支付系统144可以形成机器学习系统400的一部分。

此外,虽然图1示出的基于客户端-服务器的网络架构100采用了客户端-服务器架构,但是本发明主题当然不限于此种架构,并且可以同样良好地应用于例如分布式或对等架构系统。机器学习系统400和支付系统144也可以被实现为独立软件程序,其不一定具有联网能力。

网络客户端112经由网络服务器122支持的网络接口来访问机器学习系统400或支付系统144。类似地,编程客户端116通过API服务器120所提供的编程接口访问由机器学习系统400或支付系统144提供的各种服务和功能。例如,编程客户端116可以是卖家应用(例如,由加利福尼亚州圣何塞的

图2示出了根据一些示例实施例的机器学习程序的训练和使用。在一些示例实施例中,机器学习程序(MLP)(也称为机器学习算法或工具)用于执行与搜索相关联的操作,例如,数字内容(例如,图像、产品描述或列表)搜索和优化操作。

机器学习是一个使计算机无需进行显式编程即可学习的研究领域。机器学习探索对从现有数据中学习并做出有关新数据的预测的算法(在本文中也称为“工具”)的研究和构建。这种机器学习工具通过根据示例训练数据212构建模型来进行操作,以做出被表示为输出或评估220的数据驱动的预测或决策。尽管针对一些机器学习工具给出了示例实施例,但是本文提出的原理可以应用于其他机器学习工具。

在一些示例实施例中,使用不同的机器学习工具。例如,逻辑回归(LR)、朴素贝叶斯、随机森林(RF)、神经网络(NN)、矩阵分解和支持向量机(SVM)工具可以用于生成经过优化以吸引特定用户的在线条幅图像。

通常,机器学习中存在两种类型的问题:分类问题和回归问题。分类问题(也称为归类问题)旨在将项目分类为几个类别值之一(例如,该对象是苹果还是桔子?)。回归算法旨在量化某些项目(例如,通过提供实数值)。在一些实施例中,示例机器学习算法提供分数(例如,从1到100的数字)以使一个或多个产品符合在线市场用户的匹配条件。

在某些示例实施例中,机器学习算法利用训练数据212来找到影响结果的所识别出的特征202(或特征202的组合)之间的相关性。在一些示例实施例中,示例机器学习算法用于确定:在在线条幅图像中使用什么颜色;什么颜色组合吸引用户;与在线条幅中包括的不同部分相关联的什么比例(例如,度量或比率)吸引用户;用户响应的文本的类型、大小、颜色和字体;以及与产品图像相关联的哪些各种特征引起用户期望的响应(例如,购买产品,或选择在线条幅图像)。特征的随机组合(例如,在线条幅图像的一种整体颜色(或非一种整体颜色)、在线条幅图像中部分的数量、在线条幅图像中每个部分的颜色、在线条幅图像中不同产品的数量、(如果仅使用一种产品)产品图像出现在在线条幅图像中的次数(其中产品图像出现在在线条幅图像中的位置)或各种与文本相关的特征)被用作训练数据212。使用各种特征组合执行机器学习程序以生成许多在线条幅图像。在一些示例实施例中,机器学习系统400的管理员确定特征的各种组合中的哪些组合是良好的(例如,导致期望的结果)而哪些不是。将确定为(例如,分类为)成功的特征组合输入到机器学习算法中,以供机器学习算法学习哪些特征组合(也称为“模式”)是“良好”的(例如,用户将选择在线条幅图片),以及哪些模式是“不良”的。

用户与各种在线条幅的交互为机器学习算法提供了另一特征,以添加到所识别出的特征202中,并用于学习用户偏好的条幅模式(偏好哪种颜色模式/组合);用户是否偏好包括多于一个产品图像的在线条幅,而不是仅包括一个产品图像的在线条幅;用户是否偏好在在线条幅中看到很多个一种颜色(例如,粉红色);用户是否偏好没有产品图像的在线条幅等。然后,机器学习系统开始为同一特征组合生成成千上万的条幅,并且基于连续学习,挑选出在特定时间基于到那时为止执行的学习的最佳条幅以向用户显示。

机器学习算法利用特征来分析数据以生成评估220。特征202是观察到的现象的个体可测量性质。特征的概念与统计技术(例如,线性回归)中使用的解释变量的概念有关。对于MLP在模式识别、分类和回归中的有效操作,选择信息丰富、具有区别性和独立的特征非常重要。特征可以具有不同的类型,例如,数字、字符串和图形。

在一些示例实施例中,特征202可以具有不同的类型,并且包括用户特征204、项目特征206、偏好特征208和在线条幅特征210中的一个或多个。用户特征204包括一个或多个特征,例如,用户标识符(例如,名称或登录名)、用户是买方还是卖方或两者、用户的性别、用户的位置、用户的语言、与用户一次或多次购买有关的数据、用户在在线市场上观看的项目的标识符、在在线市场上喜欢的项目的标识符、放在在线市场的在线购物车中的项目等。

项目特征206包括与项目有关的任何数据,例如,可在在线市场上出售的产品。项目特征206的示例是项目标识符(例如,产品标识符(例如,库存单位(SKU)))、项目的类型、项目的品牌、项目的尺寸、项目的颜色、项目的图像等。

偏好特征208包括与用户的偏好有关的任何数据,例如,由用户提供的明确偏好、或者用户的隐含或派生的偏好(例如,从用户向其他用户提供的推荐中提取的用户偏好)。

在线条幅特征210包括:模板数据特征,其标识用于生成在线条幅图像的模板;频率特征,其标识应该向用户呈现在线条幅图像的频率;结果特征,其指示某个在线条幅图像是否与期望的结果相关联(例如,用户与在线条幅图像的交互)。

机器学习算法利用训练数据212找到影响结果或评估220的所识别出的特征202之间的相关性。在一些示例实施例中,训练数据212包括用于一个或多个所识别出的特征202和一个或多个结果的已知数据,例如,在线条幅图像中导致用户选择在线条幅图像的特征组合、在线条幅图像中导致用户购买显示在在线条幅图像中包括的产品图像中的产品的特征组合等。

利用训练数据212和所识别出的特征202,在操作214处训练机器学习工具。机器学习工具评估特征202与训练数据212相关的值。训练的结果是训练后的机器学习程序216。

当机器学习程序216用于执行评估时,新数据218被提供作为训练后的机器学习程序216的输入,并且机器学习程序216生成评估220作为输出。例如,当用户在用户的客户端设备的用户界面中选择为该用户显示的特定在线条幅图像时,利用用于生成各种在线条幅图像的各种特征组合进行训练过的机器学习程序用一个或多个附加特征(例如,指示用户选择了特定的在线条幅图像的特征)来更新特征202,该附加特征将被用于机器学习程序的进一步训练,并且为特定用户以及可能为其他用户生成将来的个性化在线条幅图像。

图3示出了根据各种示例实施例的通过向客户端设备的用户显示可选择的个性化在线条幅图像310而改进的用户界面300。在线条幅图像310包括一个或多个部分(例如,部分312、部分314或部分316)。在线条幅图像310可以被分为水平部分、竖直部分或其组合。在一些示例实施例中,在线条幅图像310的每个部分具有相同的背景颜色。在一些示例实施例中,各个部分的背景颜色是不同的。在各种示例实施例中,各个部分的背景颜色是相同颜色的阴影。

在线条幅图像310的一个或多个部分包括文本。如图3所示,在线条幅图像310的部分312包括文本318。根据各种示例实施例,文本的位置、与文本相关联的字体的类型和大小可以不同。

在线条幅图像310的一个或多个部分包括一个或多个项目的一个或多个图像。如图3所示,部分314包括图像320,并且部分312包括图像322。在一些情况下,一个或多个项目是可以在在线市场上出售的产品。在一些示例实施例中,一个或多个图像是用户先前查看的产品图像。用户先前查看的产品图像可以包括在在线条幅图像中,以使在线条幅图像个性化为用户在浏览在线市场的网站时最近表现出(例如,表达或显示)的兴趣。

在一些示例实施例中,图像320和图像322是特定产品的相同的精确图像(例如,图像在在线条幅图像310中重复)。在某些示例实施例中,图像320和图像322是特定产品的两个不同图像(例如,图像在在线条幅图像310中显示特定产品的不同视角)。在各种示例实施例中,图像320和图像322是两种不同特定类型的产品的图像(例如,图像320示出了第一类型的鞋子,而图像322示出了第二类型的鞋子)。在一些示例实施例中,图像320和图像322是两种不同类型的两种不同产品的图像,其中,产品的类型属于同一类别,例如,特定运动(例如,图像320示出了曲棍球棒,而图像322示出了冰球)。在各种示例实施例中,图像320和图像322是两种不同类型的两种不同产品的图像,其中,产品的类型属于不同的产品类别(例如,图像320示出了曲棍球棒,而图像322示出了雕塑)。

用户界面300可以显示附加信息,例如,内容项318或内容项320。在一些示例实施例中,附加信息包括与可以在在线市场上出售的一种或多种产品有关的信息。

在各种示例实施例中,用户选择在线条幅图像310(例如,在线条幅图像310的一个或多个部分)。对在线条幅图像310的选择导致引起显示与图像320或图像322之一中示出的产品有关的附加信息。例如,机器学习系统生成个性化在线条幅310,以包括图像320或322,这些图像示出了用户先前在在线市场上查看的特定古董椅子。用户选择在线条幅图像310中包括的图像320或图像322之一。基于用户对图像320或图像322之一的选择,机器学习系统访问与特定古董椅子相关联的产品列表,并使该产品列表在用户界面300中显示为内容项318。产品列表可以包括图像320和图像322中的一个或多个,以及产品的一个或多个属性的描述。

在一些示例实施例中,使在线条幅图像310显示在物理广告牌(例如,在道路一侧显示信息的广告牌)中、电子广告牌(例如,经由客户端设备的用户界面显示信息的广告牌)或电子物理广告牌中(例如,位于公共场所的电子广告牌,其允许用户与电子广告牌的一个或多个部分进行交互以获得与电子广告牌上显示的数据有关的附加信息)。在各种示例实施例中,经由这样的广告牌显示的信息根据特定地理区域(例如,城市、州或国家)的市场或人口进行定制。

图4是示出了根据一些示例实施例的机器学习系统400的组件的框图。如图4所示,机器学习系统400包括访问模块402、数据表示生成模块404、条幅图像生成模块406和用户界面模块408,它们均被配置为彼此通信(例如,经由总线、共享存储器或交换机)。

根据一些示例实施例,访问模块402接收指示与用户相关联的一个或多个数据特征的用户选择。一个或多个数据特征包括与关于产品图像的用户行为有关的数据特征。

数据表示生成模块404使用机器学习算法来生成机器学习算法的数据表示。数据表示的生成基于一个或多个数据特征,该一个或多个数据特征包括与关于产品图像的用户行为有关的数据特征。数据表示包括与在线条幅图像的一个或多个特性有关的一个或多个数据特征。数据表示可以存储在数据库的记录中。

条幅图像生成模块406基于数据表示为用户生成在线条幅图像。在一些示例实施例中,图2的一个或多个特征202包括在数据表示中,并且提供(例如,表示或指示)条幅图像生成模块406在生成在线条幅图像中使用的信息。在一些示例实施例中,条幅图像生成模块406利用计算机视觉技术。在各种示例实施例中,所生成的在线条幅图像包括一个或多个部分,如图3所示。

用户界面模块408使在线条幅图像显示在与该用户相关联的客户端设备的用户界面中。在一些示例实施例中,用户界面模块408使在线条幅图像显示在电子物理广告牌(例如,在汽车站、会议、建筑物的大厅中、商店中或其他公共场所中显示的广告牌)中。导致要显示在电子物理广告牌中的在线条幅图像可以包括一个或多个部分,如图3所示。电子物理广告牌可以在电子物理广告牌的用户界面中提供在线条幅图像,以允许用户选择用户界面的一个或多个元素,或者在线条幅图像的一个或多个部分。在某些情况下,包括在在线条幅图像(其导致要被显示在电子物理广告牌中)中显示的图像中的一个或多个项目是与电子物理广告牌所在的社区相关联(例如,居住、工作或访问)的人口细分群所感兴趣的项目。

为了执行其一个或多个功能,机器学习系统400与一个或多个其他系统通信。例如,集成引擎(未示出)可以将机器学习系统400与一个或多个电子邮件服务器、网络服务器、一个或多个数据库或其他服务器、系统或存储库集成。

本文描述的任何一个或多个模块可以使用硬件(例如,机器的一个或多个处理器)或硬件与软件的组合来实现。例如,本文描述的任意模块可以将处理器(例如,机器的一个或多个处理器中的处理器)配置为执行本文针对该模块描述的操作。在一些示例实施例中,本文描述的模块中的任何一个或多个可以包括一个或多个硬件处理器,并且可以被配置为执行本文描述的操作。在某些示例实施例中,一个或多个硬件处理器被配置为包括本文描述的模块中的任何一个或多个。

此外,这些模块中的任何两个或更多个模块可被合并为单个模块,且本文中针对单个模块描述的功能可以细分到多个模块中。此外,根据各种示例实施例,本文描述为在单个机器、数据库或设备中实现的模块可以分布在多个机器、数据库或设备中。多个机器、数据库或设备可通信地耦接以实现多个机器、数据库或设备之间的通信。模块自身彼此(例如经由适当的接口)通信地耦接并耦接至各种数据源,以允许信息在应用之间传递或允许应用共享和访问公共数据。此外,模块可以访问一个或多个数据库226。

图5-图8是示出了根据一些示例实施例的用于使用机器学习来生成个性化条幅图像的方法的流程图。图5中示出的方法500中的操作可以使用上文参照图4描述的模块来执行。如图5所示,根据示例实施例,方法500可以包括方法操作502、504和506中的一个或多个。

在操作502处,访问模块402接收指示与用户相关联的一个或多个数据特征的用户选择。一个或多个数据特征包括与关于产品图像的用户行为有关的数据特征。在一些示例实施例中,用户选择包括对网站上的项目图像的选择(例如,可以在在线市场上购买的产品的产品图像)。

在操作504处,数据表示生成模块404使用机器学习算法来生成机器学习算法的数据表示。数据表示的生成基于一个或多个数据特征,该一个或多个数据特征包括与关于产品图像的用户行为有关的数据特征。数据表示包括与在线条幅图像的一个或多个特性有关的一个或多个数据特征。

在一些示例实施例中,机器学习算法的数据表示是数据特征的向量。该向量包括与用户相关联的一个或多个数据特征。该向量还包括与在线条幅图像的观感相关联的一个或多个数据特征。在一些情况下,在线条幅图像的观感由模板数据特征指定,该模板数据特征表示在线条幅图像的一个或多个结构元素。在线条幅图像的结构元素的示例是在线条幅图像的部分的数量的标识符、在线条幅图像内各个部分的位置的指示、在线条幅图像的各个部分的背景颜色的标识符、与产品相关联的特定产品图像的标识符,例如,可以在在线市场上购买的产品、要包括在在线条幅图像中的文本等。

在操作506处,条幅图像生成模块406基于数据表示为用户生成在线条幅图像。可以经由用户的客户端设备的用户界面向用户呈现在线条幅图像。示例在线条幅图像显示在上面的图3中。

在一些示例实施例中,机器学习系统400基于用户在在线市场网站上的先前搜索(例如,对与产品有关的数据的搜索),利用自然语言处理和计算机视觉技术为用户实时生成在线条幅图像。

在各种示例实施例中,使在线条幅图像在一些示例实施例中显示在用户界面的特定(例如,第一)区域中。可以在用户界面的其他(例如,第二或第三)区域中向用户呈现附加信息。

在一些示例实施例中,在线条幅图像包括可以经由用户界面选择的产品图像。在一些情况下,经由用户界面对产品图像的选择使与产品图像中描绘的产品相关联的产品列表显示在用户界面中。可以经由用户界面选择产品列表。响应于用户选择产品列表,用户界面模块408从数据库的记录访问与产品列表相关联的数据,并使与产品列表相关联的数据显示在客户端设备的用户界面中(例如,在用户界面的第二区域中)。在一些情况下,导致显示产品信息,使得该产品信息替换用户界面中的在线条幅图像。在一些情况下,导致显示产品信息,使得该产品信息与在线条幅图像一起显示在用户界面中。例如,在线条幅图像显示在用户界面的第一区域中,而产品信息显示在用户界面的第二区域中。

在一些示例实施例中,一个或多个数据特征包括指示用户先前搜索过的产品的特征。例如,在在线市场上的第一用户会话期间,用户登录并浏览与可以经由在线市场购买的一个或多个产品相关联的多个网页。用户可能会花费超过特定阈值的时间来查看特定产品(例如,一双鞋、花瓶或一件艺术品)。下次用户登录与在线市场相关联的网站时,机器学习系统400生成在线条幅图像并将其显示在用户界面中,该在线条幅图像包括用户在先前用户会话中在在线市场上查看过的特定产品的一个或多个实际图像。

下面参考图6-图8描述关于方法500的方法操作的其他细节。

如图6所示,根据一些实施例,方法500包括操作602。可以在操作506之后执行操作602,其中,用户界面模块330使在线条幅图像显示在与用户相关联的客户端设备的用户界面中。

在一些示例实施例中,基于从客户端设备接收一个或多个登录凭证,使在线条幅图像显示在客户端设备的用户界面中。

引起在线条幅图像的显示通过在用户界面中呈现可选的在线条幅图像来增强客户端设备上的用户界面。用户可以选择(例如,点击)在线条幅图像的任何部分,并且可以向用户显示与在所选在线条幅图像中包括的产品图像中示出的产品有关的信息。在一些示例实施例中,机器学习系统400导致显示在所选在线条幅图像中包括的产品图像中示出的产品列表。

如图7所示,根据一些实施例,方法500包括操作702、704和706。在图6的操作602之后执行操作702,其中,用户界面模块330使在线条幅图像显示在与用户相关联的客户端设备的用户界面中。

在操作702处,访问模块402从客户端设备接收输入的指示。在一些示例实施例中,输入是用户对与用户相关联的客户端设备的用户界面中显示的在线条幅图像的选择。

在操作704处,数据表示生成模块404更新机器学习算法的数据表示。在一些示例实施例中,数据表示的更新基于添加指示输入的附加特征。在各种示例实施例中,数据表示的更新基于改变数据表示中包括的现有特征以便指示从客户端设备接收到的输入。

在操作706处,条幅图像生成模块406基于更新后的数据表示为用户更新在线条幅图像。在一些示例实施例中,在线条幅图像的更新包括为用户生成另一在线条幅图像,以反映与用户有关的附加信息(例如,用户的附加动作,或者由用户表达或基于与用户有关的数据推导的附加偏好)。

在一些示例实施例中,输入的指示包括用户缺乏对在线条幅的选择的指示。例如,生成在线条幅以包括一个或多个低质量(例如,照明不佳)的产品图像。图像与卖方的特定卖方标识符相关联。由于机器学习系统接收到缺乏对在线条幅选择的指示,机器学习算法在经过一轮在线条幅展示并且未达到所需结果(例如,来自用户的点击)之后,将不选择与卖方标识符相关联的图像。

如图8所示,根据一些实施例,方法500包括操作802和804。可以执行操作802作为图5的操作504的一部分(例如,前期任务、子例程或一部分),其中,数据表示生成模块404使用机器学习算法来生成机器学习算法的数据表示。

在操作802处,数据表示生成模块404识别包括在机器学习算法的数据表示中的模板数据特征。模板数据特征表示在线条幅图像的一个或多个结构元素。在一些情况下,模板数据特征与数据库记录中的在线条幅图像的一个或多个结构元素的标识符相关联。在一些情况下,在线条幅图像的一个或多个结构元素作为数据特征被包括在机器学习算法的数据表示中。

在各种示例实施例中,包括在线条幅图像中的一个或多个结构元素包括:与在线条幅图像的至少一部分相关联的至少一种背景颜色、包括在在线条幅图像的至少一部分中的至少一个字母数字字符串、以及与包括在可供购买的产品库存中的产品相关联的至少一个产品图像。

在操作804处,数据表示生成模块404生成在线条幅图像以包括由模板数据特征表示的一个或多个结构元素。

某些实施例在本文中被描述为包括逻辑或多个组件、模块或机构。模块可以构成软件模块(例如,机器可读介质上体现的代码)或硬件模块。“硬件模块”是能够执行某些操作的有形单元,并且可以按照某种物理方式配置或布置。在各种示例实施例中,一个或多个计算机系统(例如独立的计算机系统、客户端计算机系统或服务器计算机系统)或者计算机系统的一个或多个硬件模块(例如处理器或处理器组)可由软件(例如应用或应用部分)配置为操作为执行本文描述的特定操作的硬件模块。

在一些实施例中,硬件模块可以按照机械方式、电子方式或其任意适当组合来实现。例如,硬件模块可以包括永久地被配置为执行特定操作的专用电路或逻辑。例如,硬件模块可以是专用处理器,例如,现场可编程门阵列(FPGA)或专用集成电路(ASIC)。硬件模块还可以包括由软件临时配置为执行特定操作的可编程逻辑或电路。例如,硬件模块可以包括由通用处理器或其他可编程处理器执行的软件。一旦由这样的软件配置,硬件模块就变成特定的机器(或机器的特定组件),其被专门定制用于执行所配置的功能,而不再是通用处理器。应当理解的是,以机械方式、以专用和永久配置的电路或以临时配置的电路(例如由软件配置)实现硬件模块的决定可出于成本和时间的考虑。

因此,短语“硬件模块”应理解为涵盖有形实体,是在物理上构造、永久配置(例如硬线连接)或临时配置(例如编程)为以特定方式操作或执行本文描述的特定操作的实体。如本文所使用的,“硬件实现的模块”指硬件模块。考虑临时配置(例如编程)硬件模块的实施例,无需在任一时刻配置或实例化硬件模块中的每一个。例如,在硬件模块包括被软件配置成为专用处理器的通用处理器的情况下,通用处理器可以在不同时间被配置为分别不同的专用处理器(例如包括不同的硬件模块)。因此,软件将特定的一个或多个处理器例如配置为在一个时刻构成特定硬件模块并在另一时刻构成不同的硬件模块。

硬件模块可以向其他硬件模块提供信息并从其他硬件模块接收信息。因此,所描述的硬件模块可以被看作通信地耦接。如果同时存在多个硬件模块,则可以通过两个或更多个硬件模块之间的信号传输(例如通过适当的电路和总线)实现通信。在多个硬件模块在不同时间配置或实例化的实施例中,可以例如通过存储并获取多个硬件模块可访问的存储器结构中的信息来实现这样的硬件模块之间的通信。例如,一个硬件模块可以执行操作并在与其通信耦接的存储设备中存储该操作的输出。然后,另一硬件模块可以稍后访问存储器设备,以取回并处理所存储的输出。硬件模块还可以发起与输入或输出设备的通信,并且能够对资源(例如,信息的集合)进行操作。

此处描述的示例方法的各种操作可以至少部分地由临时配置(例如通过软件)或永久配置为执行相关操作的一个或多个处理器执行。无论是临时还是永久配置,这样的处理器可以构成操作以执行本文描述的一个或多个操作或功能的处理器实现的模块。如本文所使用的,“处理器实现的模块”指使用一个或更多个处理器实现的硬件模块。

类似地,本文描述的方法可以至少部分地由处理器实现,其中特定处理器或多个处理器是硬件的示例。例如,方法的至少一些操作可由一个或多个处理器或处理器实现的模块执行。此外,一个或多个处理器还可操作以支持在“云计算”环境中或作为“软件即服务”(SaaS)执行有关操作。例如,操作中的至少一些可由计算机(作为包括处理器的机器的示例)组执行,这些操作可经由网络(例如互联网)并经由一个或多个适当接口(例如应用程序接口(API))来访问。

某些操作的执行可以分布在处理器中,并不只驻留在单个机器内,而是部署在多个机器中。在一些示例实施例中,处理器或处理器实现的模块可以位于单个地理位置(例如,在家庭环境、办公环境或服务器群中)。在其他示例实施例中,处理器或处理器实现的模块可以分布在多个地理位置中。

在一些实施例中,结合图9和图10描述的模块、方法、应用等在机器和相关联的软件架构的上下文中实现。以下部分描述了适用于与所公开的实施例一起使用的代表性软件架构和机器(例如,硬件)架构。

软件架构与硬件架构一起使用,以创建针对特定用途定制的设备和机器。例如,与特定软件架构耦接的特定硬件架构将创建移动设备,诸如移动电话、平板设备等。稍微不同的硬件和软件架构可以产生用于“物联网”的智能设备。而另一组合产生了在云计算架构中使用的服务器计算机。本文并没有介绍这样的软件和硬件架构的所有组合,因为本领域技术人员可以容易地理解在不同于本文所包含的公开内容的不同上下文中如何实现本发明的主题。

图9是示出代表性软件架构902的框图900,该代表性软件架构902可以结合本文所描述的各种硬件架构一起使用。图9仅是软件架构的非限制性示例,应该理解,可以实施许多其它架构以促进实现本文中所描述的功能。软件架构902可以在诸如图10的机器1000的硬件上执行,机器1000包括处理器1010、存储器1030和I/O组件1050。代表性的硬件层904被示出,并且可以表示例如图10的机器1000。代表性的硬件层904包括具有关联的可执行指令908的一个或多个处理单元906。可执行指令908表示软件架构902的可执行指令,包括图1-图8的方法、模块等的实现。硬件层904还包括存储器和/或存储模块910,该存储器和/或存储模块910也具有可执行指令908。硬件层904还可以包括由912表示的其它硬件,其表示硬件层904的任何其他硬件,例如作为机器1000的一部分示出的其他硬件。

在图9的示例架构中,软件架构902可以被概念化为层的堆栈,其中每层提供特定的功能。例如,软件架构902可以包括诸如操作系统914、库916、框架/中间件918、应用920和表示层922之类的层。在操作上,应用920和/或层内的其它组件可以通过软件堆栈来调用应用程序接口(API)调用924,并且响应于API调用924接收被示出消息926的响应、返回值等等。所示出的层在本质上具有代表性,并不是所有的软件架构都具有所有层。例如,一些移动或专用操作系统可能不提供框架/中间件层918,而其他系统可以提供这样的层。其它软件架构可以包括附加层或不同层。

操作系统914可以管理硬件资源并提供公共服务。操作系统914可以包括例如内核928、服务930和驱动932。内核928可以用作硬件和其他软件层之间的抽象层。例如,内核928可以负责存储器管理、处理器管理(例如调度)、组件管理、联网、安全设置等。服务930可以为其它软件层提供其他公共服务。驱动932可以负责控制底层硬件或与底层硬件接口连接。例如,取决于硬件配置,驱动932可以包括显示器驱动、相机驱动、

库916可以提供可由应用920和/或其它组件和/或层利用的公共基础设施。库916通常提供允许其他软件模块以比直接与底层操作系统914的功能(例如,内核928、服务930和/或驱动932)接口连接更容易的方式执行任务。库916可以包括可以提供诸如存储器分配功能、串操纵功能、数学功能等功能的系统934库(例如,C标准库)。另外,库916可以包括API库936,例如媒体库(例如,用于支持各种媒体格式(诸如MPREG4、H.264、MP3、AAC、AMR、JPG、PNG)的呈现和操纵的库,)、图形库(例如,可以用于在显示器上渲染图形内容中的2D和3D的OpenGL框架)、数据库(例如,可以提供各种关系数据库功能的SQLite)、网络库(例如,可以提供网络浏览功能的WebKit)等。库916还可以包括各种各样的其它库938,以提供到应用920和其它软件组件/模块的许多其他API。

框架918(有时也称为中间件)可以提供可由应用920和/或其他软件组件/模块使用的更高级别的公共基础设施。例如,框架918可以提供各种图形用户界面(GUI)功能、高级资源管理、高级位置服务等。框架918可以提供可以由应用920和/或其它软件组件/模块利用的广泛范围的其它API,其中一些可以特定于特定操作系统或平台。

应用920包括内置应用940、第三方应用942和模块960(例如,访问模块402、数据表示生成模块404、条幅图像生成模块406或用户界面模块408)。代表性的内置应用940的示例可以包括但不限于联系人应用、浏览器应用、书籍阅读器应用、位置应用、媒体应用、消息传递应用和/或游戏应用。第三方应用942可以包括任何内置应用以及各种其他应用。在具体示例中,第三方应用942(例如,由与特定平台的供应商不同的实体使用Android

应用920可以利用内置操作系统功能(例如,内核928、服务930和/或驱动器932)、库(例如,系统934、API 936和其他库938)和框架/中间件918来创建用户接口以与系统的用户交互。备选地或附加地,在一些系统中,与用户的交互可以通过表示层(例如,表示层944)发生。在这些系统中,应用/模块“逻辑”可以与和用户交互的应用/模块的各方面分离。

一些软件架构利用虚拟机。在图9的示例中,这由虚拟机948示出。虚拟机创建软件环境,在该软件环境中应用/模块可以像在硬件机器(例如,图10的机器)上执行一样执行。虚拟机由主操作系统(图10中的操作系统914)托管,并且通常(尽管并不总是)具有管理虚拟机的操作以及与主操作系统(即,操作系统914)连接的接口的虚拟机监控器946。软件架构在虚拟机内执行,例如,操作系统950、库952、框架/中间件954、应用956和/或表示层958。在虚拟机948内执行的这些软件架构的层可以与先前描述的对应层相同,或者可以不同。

图10是示出了根据一些示例实施例的能够从机器可读介质(例如,机器可读存储介质)中读取指令并执行本文所讨论的方法中的任何一个或多个的机器1000的组件的框图。具体地,图10示出了计算机系统的示例形式的机器1000的示意图,其中可以执行指令1016(例如,软件、程序、应用、小应用、app或其他可执行代码)以使机器1000执行本文讨论的任何一种或多种方法。例如,指令可以使机器执行图5-图8的流程图。附加地或备选地,指令可以实现图4的访问模块402、数据表示生成模块404、条幅图像生成模块406和用户界面模块408。指令将通用的未编程的机器转换成被编程为以所描述的方式执行所描述和示出的功能的特定机器。在备选实施例中,机器1000作为独立设备操作或可以耦接(例如,联网)到其他机器。在联网部署中,机器1000可以在服务器-客户端网络环境中以服务器机器或客户端机器的容量操作,或者作为对等(或分布式)网络环境中的对等机器操作。机器1000可以包括但不限于服务器计算机、客户端计算机、个人计算机(PC)、平板计算机、膝上型计算机、上网本、机顶盒(STB)、个人数字助理(PDA)、娱乐媒体系统、蜂窝电话、智能电话、移动设备、可穿戴设备(例如,智能手表)、智能家居设备(例如,智能家电)、其他智能设备、网络设备、网络路由器、网络交换机、网络桥接器、或能够顺序地或以其他方式执行指定机器1000要采取的动作的指令1016的任意机器。此外,尽管仅示出了单个机器1000,但是术语“机器”也将被认为包括机器1000的集合,其单独地或联合地执行指令1016以执行本文讨论的方法中的任何一个或多个。

机器1000可以包括处理器1010、存储器1030和I/O组件1050,其可被配置为例如经由总线1002彼此通信。在示例实施例中,处理器1010(例如,中央处理单元(CPU)、精简指令集计算(RISC)处理器、复杂指令集计算(CISC)处理器、图形处理单元(GPU)、数字信号处理器(DSP)、专用集成电路(ASIC)、射频集成电路(RFIC)、其他处理器或其任何适当组合)可以包括例如可以执行指令1016的处理器1012和处理器1014。术语“处理器”旨在包括可以包括可以同时执行指令的两个或更多个独立处理器(有时称为“核”)的多核处理器。尽管图10示出了多个处理器,但是机器1000可以包括具有单个核的单个处理器、具有多个核的单个处理器(例如,多核处理器)、具有单个核的多个处理器、具有多个核的多个处理器或其任何组合。

存储器/存储设备1030可以包括存储器1032(例如,主存储器或其他存储储存设备)、以及存储单元1036,存储器1032和存储单元1036两者都可例如经由总线1002由处理器1010访问。存储单元1036和存储器1032存储体现本文中所描述的方法或功能中的任何一种或多种的指令1016。在机器1000执行指令1016期间,指令1016还可以完全地或部分地驻留在存储器1032内、存储单元1036内、处理器1010中的至少一个内(例如,处理器的高速缓存存储器内)、或其任何合适的组合内。因此,存储器1032、存储单元1036和处理器1010的存储器是机器可读介质的示例。

如本文所使用,“机器可读介质”是指能够暂时或永久地存储指令和数据的设备,并且可以包括但不限于随机存取存储器(RAM)、只读存储器(ROM)、缓冲存储器、闪速存储器、光学介质、磁性介质、高速缓冲存储器、其它类型的存储器(例如,可擦除可程序只读存储器(EEPROM))和/或其任何合适的组合。术语“机器可读介质”应被视为包括能够存储指令1016的单个介质或多个介质(例如集中式或分布式数据库、或相关联的高速缓冲和服务器)。术语“机器可读介质”还将被视为包括能够存储由机器(例如,机器1000)执行的指令(例如,指令1016)的任何介质或多个介质的组合,使得指令在由机器1000的一个或多个处理器(例如,处理器1010)执行时,使机器1000执行本文所描述的方法中的任何一个或多个。因此,“机器可读介质”指单个存储装置或设备、以及包括多个存储装置或设备的“基于云”的存储系统或存储网络。术语“机器可读介质”不包括信号本身。

I/O组件1050可以包括用于接收输入、提供输出、产生输出、发送信息、交换信息、捕获测量等的各种各样的组件。包括在特定机器中的特定I/O组件1050将取决于机器的类型。例如,诸如移动电话的便携式机器将可能包括触摸输入设备或其他这样的输入机构,而无头服务器机器将可能不包括这样的触摸输入设备。应当理解,I/O组件1050可以包括图10中未示出的许多其他组件。I/O组件1050根据功能被分组,以便简化以下讨论,并且分组不以任何方式进行限制。在各种示例实施例中,I/O组件1050可以包括输出组件1052和输入组件1054。输出组件1052可以包括视觉组件(例如,显示器,诸如等离子体显示面板(PDP)、发光二极管(LED)显示器、液晶显示器(LCD)、投影仪或阴极射线管(CRT))、声学组件(例如扬声器)、触觉组件(例如振动马达、电阻机构)、其他信号发生器等。输入组件1054可以包括字母数字输入组件(例如,键盘、配置为接收字母数字输入的触摸屏、光-光学键盘或其他字母数字输入组件)、基于点的输入组件(例如,鼠标、触摸板、轨迹球、操纵杆、运动传感器或其他定点仪器)、触觉输入组件(例如,物理按钮、提供触摸或触摸手势的位置和/或力的触摸屏或其他触觉输入组件)、音频输入组件(例如,麦克风)等。

在另一些示例实施例中,I/O组件1050可以包括生物测定组件1056、运动组件1058、环境组件1060或定位组件1062、以及许多其他组件。例如,生物测定组件1056可以包括用于检测表达(例如,手表达、面部表情、语音表达、身体姿势或眼睛跟踪)、测量生物信号(例如,血压、心率、体温、汗水或脑波)、识别人(例如,语音识别、视网膜识别、面部识别、指纹识别或基于脑电图的识别)等的组件。运动组件1058可包括加速度传感器组件(例如,加速度计)、重力传感器组件、旋转传感器组件(例如,陀螺仪)等。环境组件1060可以包括例如照明传感器组件(例如,光度计)、温度传感器组件(例如,检测环境温度的一个或多个温度计)、湿度传感器组件、压力传感器组件(例如气压计)、声学传感器组件(例如,检测背景噪声的一个或多个麦克风)、接近传感器组件(例如,检测附近物体的红外传感器)、气体传感器(例如,为安全而检测有害气体浓度或测量大气中的污染物的气体检测传感器)、或可以提供对应于周围物理环境的指示、测量或信号的其他组件。定位组件1062可以包括位置传感器组件(例如,全球定位系统(GPS)接收机组件)、高度传感器组件(例如,高度计或检测气压的气压计(根据气压可以导出高度))、取向传感器组件(例如,磁力计)等。

可以使用各种各样的技术来实现通信。I/O组件1050可以包括通信组件1064,其可操作为分别通过耦接1082和耦接1072将机器1000耦接到网络1080或设备1070。例如,通信组件1064可以包括网络接口组件或与网络1080接口连接的其他合适设备。在另一些示例中,通信组件1064可以包括有线通信组件、无线通信组件、蜂窝通信组件、近场通信(NFC)组件、

此外,通信组件1064可以检测标识符或包括可操作以检测标识符的组件。例如,通信组件1064可以包括射频识别(RFID)标签读取器组件、NFC智能标签检测组件、光学读取器组件(例如,用于检测以下各项的光学传感器:一维条形码(例如通用产品代码(UPC)条形码)、多维条形码(例如快速响应(QR)码)、阿兹台克码、数据矩阵、Dataglyph、MaxiCode、PDF417、超码、UCC RSS-2D条形码和其他光学码)、或声学检测组件(例如,用于识别标记的音频信号的麦克风)。此外,可以经由通信组件1064来导出各种信息,例如,经由互联网协议(IP)地理位置的位置、经由

在各种示例实施例中,网络1080的一个或多个部分可以是自组织网络、内联网、外联网、虚拟专用网(VPN)、局域网(LAN)、无线LAN(WLAN)、广域网(WAN)、无线WAN(WWAN)、城域网(MAN)、互联网、互联网的一部分、公共交换电话网络(PSTN)的一部分、普通老式电话服务(POTS)网络、蜂窝电话网络、无线网络、

指令1016可以经由网络接口设备(例如,包括在通信组件1064中的网络接口组件)使用传输介质并且利用多个公知的传输协议(例如,超文本传输协议(HTTP))通过网络1080发送或接收。类似地,可以使用传输介质经由耦接1072(例如,对等耦接)向设备1070发送或从其接收指令1016。术语“传输介质”应被认为包括能够存储、编码或承载用于被机器1000执行的指令1016的任意无形介质,并且包括用于促进该软件的通信的数字或模拟通信信号或其他无形介质。

可执行指令和机器存储介质

各种存储器(即,处理器1010的1030、1032和/或存储器)和/或存储单元1036可以存储由本文描述的任何一种或多种方法或功能体现或利用的一组或多组指令和数据结构(例如,软件)1016。这些指令在由处理器1010执行时引起各种操作以实现所公开的实施例。

如本文所使用的术语“机器存储介质”、“设备存储介质”、“计算机存储介质”(统称为“机器存储介质”)表示相同的事物,并且可以在本公开中互换使用。这些术语指代存储可执行指令和/或数据的单个或多个存储设备和/或介质(例如,集中式或分布式数据库和/或关联的缓存和服务器),以及基于云的存储系统或包括多个存储装置或设备的存储网络。因此,术语应当被看做包括但不限于固态存储器以及光学和磁介质,包括处理器内部或外部的存储器。机器存储介质、计算机存储介质和/或设备存储介质的特定示例包括非易失性存储器,例如包括半导体存储器设备(例如,可擦除可编程只读存储器(EPROM)、电子可擦除可编程只读存储器(EEPROM)、FPGA和闪存设备);磁盘(例如,内部硬盘和可移动盘);磁光盘;以及CD-ROM和DVD-ROM盘。术语“机器存储介质”、“计算机存储介质”和“设备存储介质”特别排除载波、调制数据信号和其他此类介质,其中至少一些涵盖在下文讨论的术语“信号介质”中。在这种情况下,机器存储介质是非暂时性的。

信号介质

术语“信号介质”或“传输介质”应被认为包括任何形式的调制数据信号、载波等。术语“调制数据信号”是指这样的信号,其一个或多个特征被设置或改变为在该信号中对信息进行编码。

计算机可读介质

术语“机器可读介质”、“计算机可读介质”和“设备可读介质”表示相同的事物,并且可以在本公开中互换使用。这些术语被定义为既包括机器存储介质又包括信号介质。因此,该术语既包括存储设备/介质又包括载波/调制的数据信号。

语言

在整个说明书中,复数实例可以实现如单个实例所描述的部件、操作或结构。尽管一个或多个方法的各个操作被示意和描述为分离的操作,但是各个操作中的一个或多个可以同时执行,并且无需按所示顺序执行操作。在示例配置中被示为分离组件的结构和功能可以被实现为组合结构或组件。类似地,被示为单个组件的结构和功能可以被实现为分离的组件。这些和其它变型、修改、添加和改进落入本文中主题的范围内。

尽管已经参考具体示例实施例描述了本发明主题的概述,但是在不脱离本公开的实施例的更宽范围的情况下,可以对这些实施例进行各种修改和改变。本发明主题的这些实施例在本文中可以单独地或共同地由术语“发明”提及,以仅仅为了方便,并且不旨在自动地将本申请的范围限制为任何单个公开或发明构思(如果事实上公开了一个以上)。

充分详细地描述了本文示出的实施例以使本领域技术人员能够实现所公开的教导。可以利用并根据这些实施例得出其他实施例,从而可以在不脱离本公开的范围的情况下做出结构和逻辑上的替换和改变。因此,该“具体实施方式”不应当看做是限制意义,并且各种实施例的范围仅通过所附权利要求以及权利要求的等同物的全部范围来限定。

如本文所使用的,术语“或”可以被解释为包括性或排他性的意义。此外,可以针对本文中描述为单个实例的资源、操作或结构提供多个实例。此外,各种资源、操作、模块、引擎和数据存储之间的边界在某种程度上是任意的,并且在具体说明性配置的上下文中示出了特定操作。设想了功能的其它分配,并且这些分配可以落入本公开的各种实施例的范围内。一般来说,在示例配置中作为分离资源呈现的结构和功能可以被实现为组合的结构或资源。类似地,作为单个资源呈现的结构和功能可以被实现为分离的资源。这些和其它变型、修改、添加和改进落入由所附权利要求表示的本公开的实施例的范围内。因此,说明书和附图应当被看做说明性的而不是限制意义的。

相关技术
  • 使用机器学习生成个性化条幅图像
  • 使用机器学习模型生成人类姿势的概念图像
技术分类

06120112768928