CN110073347A - 锚定搜索 - Google Patents

锚定搜索 Download PDF

Info

Publication number
CN110073347A
CN110073347A CN201780075116.3A CN201780075116A CN110073347A CN 110073347 A CN110073347 A CN 110073347A CN 201780075116 A CN201780075116 A CN 201780075116A CN 110073347 A CN110073347 A CN 110073347A
Authority
CN
China
Prior art keywords
image
publication
signature
multiple images
component
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201780075116.3A
Other languages
English (en)
Inventor
阿基亚·戈拉克纳特·卡莱
杨帆
王乔松
穆罕默德哈迪·基亚普尔
鲁宾逊·皮拉穆图
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
eBay Inc
Original Assignee
eBay Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by eBay Inc filed Critical eBay Inc
Publication of CN110073347A publication Critical patent/CN110073347A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/58Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/583Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2457Query processing with adaptation to user needs
    • G06F16/24578Query processing with adaptation to user needs using ranking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/58Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/583Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
    • G06F16/5838Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content using colour
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/9032Query formulation
    • G06F16/90332Natural language query formulation or dialogue systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2413Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
    • G06F18/24133Distances to prototypes
    • G06F18/24143Distances to neighbourhood prototypes, e.g. restricted Coulomb energy networks [RCEN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2413Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
    • G06F18/24147Distances to closest patterns, e.g. nearest neighbour classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/01Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/10Image acquisition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/764Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/10Terrestrial scenes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/40Scenes; Scene-specific elements in video content
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/18Speech classification or search using natural language modelling
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
    • H03M13/1575Direct decoding, e.g. by a direct determination of the error locator polynomial from syndromes and subsequent analysis or by matrix operations involving syndromes, e.g. for codes with a small minimum Hamming distance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/16Speech classification or search using artificial neural networks
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/26Speech to text systems
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L2015/088Word spotting

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Multimedia (AREA)
  • General Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Molecular Biology (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Library & Information Science (AREA)
  • Medical Informatics (AREA)
  • Acoustics & Sound (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Business, Economics & Management (AREA)
  • Finance (AREA)
  • Accounting & Taxation (AREA)
  • Probability & Statistics with Applications (AREA)
  • Pure & Applied Mathematics (AREA)
  • Algebra (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)

Abstract

提出了用于向网络服务添加新特征的方法、系统和计算机程序。方法包括:接收描绘感兴趣对象的图像或对这样的图像的选择。该选择充当随后显示的项目图像的锚定器。

Description

锚定搜索
优先权要求
本申请要求于2016年12月6日提交的美国临时申请序列号62/430,426的优先权的权益,其全部内容通过引用并入本文中。
技术领域
本文中公开的主题一般涉及利于网络服务内的图像处理和识别的专用机器——包括这样的专用机器的软件配置的计算机化变体以及对这样的变体的改进——的技术领域,以及涉及使这样的专用机器与利于基于图像识别、图像签名和类别预测而识别图像的其他专用机器相比得到改进的技术。
背景技术
传统的在线图像搜索是耗时的,因为当前的搜索工具提供了刚性且有限的搜索用户接口。选择选项太多并且浏览页面和结果的页面会浪费太多时间。由于常规工具的技术限制,用户可能难以使用单个图像或一组图像容易且简单地传达选择或意图。
当前的解决方案不是针对可用于搜索的文档的规模而设计的,并且经常采用用户提供的术语,以为被提供用于搜索的图像提供上下文和关联。通常会显示不相关的结果,而最佳结果可能隐藏在由数千个搜索结果产生的噪声中。
附图说明
所附附图中的各个附图仅示出了本公开内容的示例实施方式,并且不能被视为限制本公开内容的范围。
图1是示出根据一些示例实施方式的联网系统的框图。
图2是示出根据一些示例实施方式的智能助理的操作的图。
图3示出了根据一些示例实施方式的人工智能(AI)框架的特征。
图4是示出根据一些示例实施方式的服务架构的图。
图5是根据一些示例实施方式的用于实现AI框架的框图。
图6是根据一些示例实施方式的示例计算机视觉部件的框图。
图7是根据一些示例实施方式的用于基于图像识别、图像签名和类别预测来识别一组图像的方法的流程图。
图8是示出根据一些示例实施方式的智能助理的用户接口屏幕的示例界面图。
图9是示出根据一些示例实施方式的智能助理的用户接口屏幕的示例界面图。
图10是根据一些示例实施方式的用于基于图像识别、图像签名和类别预测来识别一组图像的方法的流程图。
图11是根据一些示例实施方式的用于基于图像识别、图像签名和类别预测来识别一组图像的方法的流程图。
图12是根据一些示例实施方式的用于基于图像识别、图像签名和类别预测识别一组图像的方法的流程图。
图13是项目图像的示例,该项目图像由服务器导致显示在用户设备处,随后是在用户设备处选择的项目图像,这样的选择由服务器访问。
图14是图像搜索查询项目的示例,图像搜索查询项目具有由用户设备提供的项目图像或具有例如图13中的由服务器访问的对项目图像的选择,随后服务器作为响应使得项目图像显示在用户设备处,其中显示的项目图像包括最接近的匹配以及图像搜索查询的各方面。
图15是项目图像的示例,该项目图像由服务器导致显示在用户设备处,随后是在用户设备处选择的项目图像,这样的选择由服务器访问。
图16是图像搜索查询项目的示例,该图像搜索查询项目具有由用户设备提供的项目图像或具有例如图15中的由服务器访问的对项目图像的选择,随后服务器作为响应使得项目图像显示在用户设备处,其中显示的项目图像包括最接近的匹配以及图像搜索查询的各方面。
图17是示出根据一些示例实施方式的可以安装在机器上的软件架构的示例的框图。
具体实施方式
示例方法、系统和计算机程序涉及向网络服务添加新特征,例如根据输入图像执行的图像识别、图像签名生成和类别预测。示例仅代表可能的变化。除非另有明确说明,否则部件和功能是可选的并且可以被组合或细分,并且操作顺序可以变化或者操作可以被组合或细分。在以下描述中,出于说明的目的,阐述了多个具体细节以提供对示例实施方式的透彻理解。然而,对于本领域技术人员将明显的是,可以在没有这些具体细节的情况下实践本主题。
通常,启用智能个人助理系统包括可缩放的人工智能(AI)框架(也被称为AI架构),该可缩放的人工智能框架渗透到现有消息传送平台的结构中以提供智能在线个人助理(本文中被称为“机器人”)。AI框架在人类用户与智能在线个人助理之间的预测性轮流沟通中提供智能的、个性化的答案。
协调器部件实现AI架构内的部件的特定集成和交互。协调器充当集成由多个服务提供的功能的指挥者。在一方面,协调器部件决定激活AI框架中的哪个部分(例如,对于图像输入,激活计算机视觉服务,以及对于输入语音,激活语音识别)。
一个通常方面包括一种方法,该方法包括由协调器服务器接收用于处理和搜索的输入图像的操作。输入图像可以是单个图像、一组图像或视频流内的一组帧。通过用户设备上的应用访问协调器服务器的用户捕获包括项目(例如,感兴趣对象、感兴趣对象的一部分或产品)的图像或视频流。协调器服务器使用计算机视觉部件处理图像,生成图像签名和用于图像中的项目的一组类别。然后,协调器服务器将图像签名和一组类别与由协调器服务器可访问的一组发布(publication)匹配。然后,协调器服务器在用户设备处以有序列表呈现该组发布。协调器服务器可以生成图像签名和一组类别、识别该组发布以及在没有进一步用户交互的情况下自动地将有序列表呈现给用户设备。当图像在视频的一组帧内时,协调器服务器可以生成图像签名和类别集、识别该组发布以及在捕获视频时实时呈现有序列表。
在一些实施方式中,协调器服务器接收用于识别用户与网络服务之间的交互类型的用户活动的序列规范(sequence specification)。网络服务包括协调器服务器和一个或更多个服务服务器,并且序列规范包括协调器服务器与来自一个或更多个服务服务器的一组一个或更多个服务服务器之间的用于实现用户活动的交互序列。方法还包括配置协调器服务器以在检测到用户活动时执行序列规范、处理用户输入以检测与该用户输入相关联的用户的意图以及确定用户的意图与用户活动对应。协调器服务器通过调用序列规范的该组一个或更多个服务服务器来执行序列规范,序列规范的执行导致向用户呈现响应于在用户输入中检测到的用户的意图的结果。
一个通常方面包括包含具有指令的存储器和一个或更多个计算机处理器的协调器服务器。指令在由一个或更多个计算机处理器执行时,使一个或更多个计算机处理器执行操作,该操作包括:接收用于识别用户与网络服务之间的交互类型的用户活动的序列规范。网络服务包括协调器服务器和一个或更多个服务服务器,并且序列规范包括协调器服务器与来自一个或更多个服务服务器的一组一个或更多个服务服务器之间的交互序列以实现用户活动。操作还包括配置协调器服务器以在检测到用户活动时执行序列规范、处理用户输入以检测与用户输入相关联的用户的意图以及确定用户的意图与用户活动对应。协调器服务器通过调用序列规范的该组一个或更多个服务服务器来执行序列规范,序列规范的执行使得向用户呈现响应于在用户输入中检测到的用户意图的结果。
一个通常方面包括包含下述指令的非暂态机器可读存储介质,该指令在由机器执行时使机器执行操作,该操作包括:由协调器服务器接收用于识别用户与网络服务之间的交互类型的用户活动的序列规范。网络服务包括协调器服务器和一个或更多个服务服务器,并且序列规范包括协调器服务器与来自一个或更多个服务服务器的一组一个或更多个服务服务器之间的用于实现用户活动的交互序列。操作还包括:配置协调器服务器以在检测到用户活动时执行序列规范;处理用户输入以检测与用户输入相关联的用户的意图;以及确定用户的意图与用户活动对应。协调器服务器通过调用序列规范的该组一个或更多个服务服务器来执行序列规范,序列规范的执行使得向用户呈现响应于在用户输入中检测到的用户意图的结果。
图1是示出根据一些示例实施方式的联网系统的框图。参照图1,示出了基于客户端-服务器的高级网络架构100的示例实施方式。在基于网络的市场或支付系统的示例形式中,联网系统102经由网络104(例如因特网或广域网(WAN))向一个或更多个客户端设备110提供服务器端功能。图1示出了例如在客户端设备110上执行的web客户端112(例如,浏览器,如由华盛顿州雷蒙德市的微软公司开发的因特网浏览器(Internet Explorer))、应用114以及编程客户端116。
客户端设备110可以包括但不限于:移动电话、台式计算机、膝上型电脑、便携式数字助理(PDA)、智能电话、平板电脑、超级本、上网本、笔记本电脑、多处理器系统、基于微处理器或可编程消费电子产品、游戏控制台、机顶盒或用户可以用于访问联网系统102的任何其他通信设备。在一些实施方式中,客户端设备110可以包括显示模块(未示出)以(例如,以用户接口的形式)显示信息。在其他实施方式中,客户端设备110可以包括以下中的一个或更多个:触摸屏、加速度计、陀螺仪、摄像装置、麦克风、全球定位系统(GPS)设备等。客户端设备110可以是用户用于执行涉及联网系统102内的数字项目的交易的设备。在一个实施方式中,联网系统102是下述基于网络的市场,其响应对产品列表的请求、公布包括在基于网络的市场上可获得的产品的项目列表的发布以及管理对这些市场交易的支付。一个或更多个用户106可以是人、机器或与客户端设备110交互的其他装置。在实施方式中,用户106不是网络架构100的一部分,但是可以经由客户端设备110或其他装置与网络架构100交互。例如,网络104的一个或更多个部分可以是自组织网络、内联网、外联网、虚拟专用网络(VPN)、局域网(LAN)、无线LAN(WLAN)、广域网(WAN)、无线WAN(WWAN)、城域网(MAN)、因特网的一部分、公共交换电话网络(PSTN)的一部分、蜂窝电话网络、无线网络、WiFi网络、WiMax网络、另一类型的网络、或者两个或更多个这样的网络的组合。
客户端设备110中的每一个可以包括一个或更多个应用(也被称为“app”),例如但不限于web浏览器、消息传送应用、电子邮件(email)应用、电子商务站点应用(也被称为市场应用)等。在一些实施方式中,如果电子商务站点应用被包括在客户端设备110中的给定一个中,则该应用被配置成在本地提供用户接口和至少一些功能,其中应用被配置成在根据需要的基础上,与联网系统102进行通信以获得在本地不可获得的数据或处理能力(例如,访问可供销售的项目的数据库、认证用户、验证支付方法等)。相反,如果电子商务站点应用没有被包括在客户端设备110中,则客户端设备110可以使用其web浏览器访问在联网系统102上托管的电子商务站点(或其变体)。
一个或更多个用户106可以是人、机器或与客户端设备110交互的其他装置。在示例实施方式中,用户106不是网络架构100的一部分,但是可以经由客户端设备110或其他装置与网络架构100交互。例如,用户向客户端设备110提供输入(例如触摸屏输入或字母数字输入),并且该输入经由网络104被传送至联网系统102。在这种情况下,联网系统102响应于从用户接收到输入,经由网络104将信息传送至客户端设备110以呈现给用户。以这种方式,用户可以使用客户端设备110与联网系统102进行交互。
应用程序接口(API)服务器216和web服务器218耦接至一个或更多个应用服务器140,并且向一个或更多个应用服务器140分别提供编程接口和web接口。应用服务器140托管包括人工智能框架144的智能个人助理系统142,人工智能框架144中的每一个可以包括一个或更多个模块或应用并且人工智能框架144中的每一个可以体现为硬件、软件、固件或其任何组合。
应用服务器140又被示为耦接至便于访问一个或更多个信息存储库或数据库226的一个或更多个数据库服务器226。在示例实施方式中,数据库226是存储要发布到发布系统242的信息(例如,发布或列表)的存储设备。根据示例实施方式,数据库226还可以存储数字项目信息。
另外,在第三方服务器130上执行的第三方应用132被示为经由API服务器216提供的编程接口对联网系统102进行编程访问。例如,使用从联网系统102检索的信息的第三方应用132支持由第三方托管的网站上的一个或更多个特征或功能。例如,第三方网站提供由联网系统102的相关应用支持的一个或更多个促销、市场或支付功能。
此外,虽然图1所示的基于客户端-服务器的网络架构100采用了客户端-服务器架构,但是本发明主题当然不限于这样的架构,并且同样可以在例如分布式或对等架构系统中找到应用。各种发布系统102和人工智能框架系统144也可以实现为独立的软件程序,其不一定具有联网能力。
web客户端212可以经由web服务器218支持的web接口访问智能个人助理系统142。类似地,编程客户端116经由API服务器216提供的编程接口访问由智能个人助理系统142提供的各种服务和功能。
另外,在(一个或更多个)第三方服务器130上执行的(一个或更多个)第三方应用132被示为经由API服务器114提供的编程接口对联网系统102进行编程访问。例如,使用从联网系统102检索的信息的第三方应用132可以支持由第三方托管的网站上的一个或更多个特征或功能。例如,第三方网站可以提供由联网系统102的相关应用支持的一个或更多个促销、市场或支付功能。
图2是示出根据一些示例实施方式的智能助理的操作的图。当今的在线购物是非个人化的、单向的,而不是对话的。购买者不能说普通的语言以表达他们的意愿,因此很难传达意图。在商业网站上购物通常比与销售人员或朋友谈论产品更困难,因此经常购买者难以找到他们想要的产品。
实施方式呈现了个人购物助理(也被称为智能助理),该个人购物助理支持与购物者的双向通信以构建上下文并且理解购物者的意图,从而能够实现递送更好的、个性化的购物结果。智能助理具有自然的、类似人的对话,这可以容易地帮助购买者,从而增加购买者重新使用智能助理进行未来购买的可能性。
人工智能框架144理解用户和可用库存以响应自然语言查询,并且能够在预测和理解客户及其需求方面提供渐进式改进。
人工智能框架(AIF)144包括对话管理器504、自然语言理解(NLU)206、计算机视觉208、语音识别210、搜索218和协调器220。AIF 144能够接收不同种类的输入,例如文本输入212、图像输入214和语音输入216,以生成相关结果222。如本文中所使用的,AIF 144包括由对应的服务器实现的多个服务(例如,NLU 206、计算机视觉208),并且术语服务或服务器可以用于识别服务和对应的服务。
自然语言理解(NLU)206单元处理正式和非正式语言两者的自然语言文本输入212,检测文本的意图,以及提取有用信息,例如感兴趣对象及其属性。因此,可以使用来自附加知识的丰富信息将自然语言用户输入变换成结构化查询以进一步丰富查询。然后,通过协调器220将该信息传递给对话管理器504以用于与用户或整个系统中的其他部件的进一步的动作。结构化且丰富的查询还由搜索218使用以用于改进的匹配。文本输入可以是对产品的查询、对先前查询的细化、或用于相关对象的其他信息(例如,鞋码)。
计算机视觉208将图像作为输入并且执行图像识别以识别图像(例如,用户想要运送的项目)的特征,然后将该特征传送到NLU 206以进行处理。语音识别210将语音216作为输入并且执行语言识别以将语音转换成文本,然后将该文本传送到NLU以进行处理。
NLU 206确定对象、与对象相关联的方面、如何创建搜索界面输入以及如何生成响应。例如,AIF 144可以向用户询问问题以弄清楚用户正在寻找什么。这意味着AIF 144不仅生成结果,而且还可以创建一系列交互操作以获得最佳或接近最佳的结果222。
例如,响应于查询“你能给我找到一双红色耐克鞋吗?”,AIF 144可以生成以下参数:<意图:购物;语句类型:问句;主导对象:鞋子;目标:自身;颜色:红色;品牌:耐克>。对于查询“我正在为我的妻子寻找一副太阳镜”,NLU可以生成<意图:购物;语句类型:陈述句;主导对象:太阳镜;目标:妻子;目标性别:女性>。
对话管理器504是如下模块,该模块分析用户的查询以提取含义,并且在将查询发送至搜索218之前确定是否存在需要被询问以便细化查询的问题。对话管理器504在用户与人工智能框架144之间的先前通信的上下文下使用当前通信。根据(例如,由知识图提供的)累积的知识和搜索可以从库存中提取的内容的组合来自动生成问题。对话管理器的工作是针对用户创建响应。例如,如果用户说“你好”,则对话管理器504生成响应“嗨,我的名字是机器人”。
协调器220协调人工智能框架144内的其他服务之间的交互。下面参照图5提供关于协调器220与其他服务的交互的更多细节。
图3示出了根据一些示例实施方式的人工智能框架(AIF)144的特征。AIF 144能够与若干输入通道304例如本机商务应用、聊天应用、社交网络、浏览器等交互。此外,AIF 144理解用户表达的意图306。例如,意图可以包括用户在寻找好的交易、或者用户在寻找礼物、或者用户在进行购买特定产品的任务、用户在寻找建议等。
此外,AIF 144执行从多个源例如社交网络、电子邮件、日历、新闻、市场趋势等进行的主动数据提取310。AIF 144获知用户细节312,例如用户偏好、期望价格范围、尺寸、密切关系等。AIF 144促进服务网络内的多个服务,例如产品搜索、个性化、推荐、结账特征等。输出308可以包括推荐、结果等。
AIF 144是智能且友好的系统,该系统理解用户的意图(例如,有针对性的搜索、比较、购物、浏览)、强制参数(例如,产品、产品类别、项目)、可选参数(例如,项目的方面、颜色、尺寸、场合),以及隐式信息(例如,地理定位、个人偏好、年龄、性别)。AIF 144以普通语言通过精心设计的响应进行回应。
例如,AIF 144可以处理输入查询,例如:“嘿!请问你可以帮我为我女朋友找一双浅粉色的鞋吗?带有高跟。最高200美元。谢谢”;“我最近搜索了带有经典詹姆斯迪安外观的男士皮夹克。想象几乎是新星球大战电影中哈里森福特的皮夹克。然而,我正在寻找200美元至300美元的价格范围内的质量。也许不可能,但是我想看到!”;或者“我正在寻找黑色的北面聚热球(Northface Thermoball)夹克。”
替代硬编码系统,AIF 144提供具有机器学习能力的可配置的、灵活的接口以进行持续改进。AIF 144支持提供价值(将用户连接到用户想要的东西)、智能(了解和学习用户以及用户行为以推荐正确的项目)、便利(提供多个用户接口)、易于使用以及高效(节省用户时间和金钱)的商业系统。
图4是示出根据一些实施方式的服务架构400的图。服务架构400呈现服务架构的各种视图以便描述可以如何在各种数据中心或云服务上部署服务架构。架构400表示用于实现本文描述的实施方式的合适环境。
服务架构402表示云架构通常如何对用户、开发者等呈现。架构通常是在图1的其他视图中表示的实际底层架构实现方式的抽象表示。例如,服务架构402包括多个层,多个层表示与服务架构402相关联的不同功能和/或服务。
体验服务层404表示从最终顾客的角度来看的构建在不同的客户端平台上的服务和特征的逻辑分组,例如在平台(移动电话、台式机等)上运行的应用、基于web的呈现(移动web、桌面Web浏览器等),等等。体验服务层404包括呈现用户接口和向客户端平台提供信息使得可以呈现适当的用户接口、捕获客户端输入等。在市场的上下文中,将驻留在该层中的服务的示例是主页(例如,主视图)、查看项目列表、搜索/查看搜索结果、购物车、购买用户接口和有关服务、销售用户接口和有关服务、售后体验(发布交易、反馈等)等。在其他系统的上下文中,体验服务层404将结合由系统实现的这些最终用户服务和体验。
API层406包含允许与业务流程和核心层交互的API。这允许针对服务架构402进行第三方开发并且允许第三方在服务架构402之上开发附加服务。
业务流程服务层408是针对所提供服务业务逻辑所驻留的位置。在市场的上下文中,这是实现诸如用户注册、用户登录、列表创建和发布、添加到购物车、提供报价、结账、发送发票、打印标签、发货、退货等服务的地方。业务流程服务层408还在各种业务逻辑与数据实体之间进行协调并且因此表示共享服务的组合。该层中的业务流程还可以支持多租户以提高与一些云服务架构的兼容性。
数据实体服务层410强制围绕直接数据访问进行隔离,并且包含更高级别层所依赖的服务。因此,在市场上下文中,该层可以包括诸如订单管理、金融机构管理、用户帐户服务等的底层服务。该层中的服务通常支持多租户。
基础设施服务层412包括那些不是特定于正在实现的服务架构类型的服务。因此,在市场的上下文中,该层中的服务是不特定于市场或对市场不独特的服务。因此,如加密功能、密钥管理、CAPTCHA、认证和授权、配置管理、日志记录、跟踪、文档和管理等的功能驻留在该层中。
通常将在这些层中的一个或更多个中实现本公开内容的实施方式。具体地,AIF144以及协调器220和AIF 144的其他服务。
数据中心414是各种资源池416及其组成比例单元(scale unit)的表示。该数据中心表示示出了在云计算模型中实现服务架构402所带来的缩放和弹性。资源池416包括服务器(或计算)比例单元420、网络比例单元418和存储比例单元422。比例单元是作为能够在数据中心内部署的最小单元的服务器、网络和/或存储单元。比例单元允许根据需求增加或减少来部署或移除更多容量。
网络比例单元418包含可以部署的一个或更多个网络(例如,网络接口单元等)。网络可以包括例如虚拟LAN。计算比例单元420通常包括包含多个处理单元(例如,处理器)的单元(服务器等)。存储比例单元422包含一个或更多个存储设备,例如盘、存储附接网络(SAN)、网络附接存储(NAS)设备等。这些在下面的描述中总体地示出为SAN。每个SAN可以包括一个或更多个卷、盘等。
图1的剩余视图示出了服务架构400的另一示例。该视图更加注重硬件,并且示出了在图1的其他视图中的更加逻辑的架构下的资源。云计算架构通常具有多个服务器或其他系统424、426。这些服务器包括多个真实和/或虚拟服务器。因此服务器424包括服务器1以及虚拟服务器1A、1B、1C等。
服务器连接至一个或更多个网络例如网络A 428和/或网络B 430和/或通过所述一个或更多个网络互连。服务器还连接至多个存储设备,例如SAN 1(436)、SAN 2(438)等。SAN通常通过网络例如SAN访问A 432和/或SAN访问B 434连接至服务器。
计算比例单元420通常是服务器424和/或426的一些方面,如处理器和与其相关联的其他硬件。网络比例单元418通常包括或至少利用所示网络A(428)和B(432)。存储比例单元通常包括SAN 1(436)和/或SAN 2(438)的一些方面。因此,逻辑服务架构402可以被映射到物理架构。
本文中描述的实施方式的服务和其他实现方式将在服务器或虚拟服务器上运行并且利用各种硬件资源来实现所公开的实施方式。
图5是根据一些示例实施方式的用于实现AIF 144的框图。具体地,图2的智能个人助理系统142被示出为包括:前端部件502(FE),智能个人助理系统142通过该前端部件502(FE)与网络架构100内的其他系统(例如,在网络104上)通信。前端部件502可以与现有消息传送系统的结构通信。如本文所使用的,术语消息传送结构是指可以为诸如脸书信使、微软科塔娜(Cortana)和其他“机器人”的第三方平台提供某种能力的API和服务的集合。在一个示例中,消息传送结构可以支持允许用户交流商业意图的在线商务生态系统。可以在作为与智能个人助理的接口的部分的客户端设备(例如,图1中的客户端设备110)的显示器中呈现前端部件502的输出。
智能个人助理系统142的前端部件502耦接至用于前端的后端部件504(BFF),该后端部件504操作以将前端部件502与AIF 144链接。人工智能框架144包括下面讨论的若干部件。
在一个示例实施方式中,协调器220协调人工智能框架144内部的部件和外部的部件的通信。可以根据计算机视觉部件208、语音识别部件210和可以形成语音识别部件210的部分的文本标准化部件得到AI协调器206的输入模态。计算机视觉部件208可以从视觉输入(例如,图片)中识别对象和属性。语音识别部件210将音频信号(例如,讲出的话语)转换成文本。文本标准化部件进行操作以使输入标准化,例如通过将表情符号呈现为文本来进行语言标准化。其他标准化是可能的,例如,字形归一化、外语标准化、会话文本标准化等。
人工智能框架144还包括自然语言理解(NLU)部件206,该自然语言理解(NLU)部件206操作以解析和提取用户意图和意图参数(例如,强制或可选参数)。NLU部件206被示为包括子部件,例如拼写校正器(拼写器)、解析器、命名实体识别(NER)子部件、知识图和词义检测器(WSD)。
人工智能框架144还包括对话管理器204,该对话管理器204操作以理解(例如,诸如搜索查询或话语的输入的)“特异性的完整性”并且决定下一动作类型和参数(例如,“搜索”或“从用户请求更多信息”)。在一个示例中,对话管理器204与上下文管理器518和自然语言生成(NLG)部件512相关联地操作。上下文管理器518管理用户关于在线个人助理(或“机器人”)和助理的相关联的人工智能的上下文和通信。上下文管理器518包括两个部分:长期历史和短期存储器。例如,输入这些部分中的一个或两个中的数据可以包括通信轮次或机器人交互、给定输入的所有有关结果和所有参数以及相关意图。NLG部件512操作以根据AI消息构造自然语言话语以呈现给与智能机器人交互的用户。
搜索部件218也包括在人工智能框架144内。如图所示,搜索部件218具有前端单元和后端单元。后端单元操作以管理项目和产品库存并且提供搜索库存、针对意图和意图参数的特定元组进行优化的功能。身份服务522部件(可以构成或可以不构成人工智能框架144的部分)操作以管理用户简档,例如为用户属性形式的显式信息(例如,“姓名”、“年龄”、“性别”、“地理位置”),而且为例如“信息提炼”形式的隐式信息,例如“用户兴趣”或“相似角色”等。身份服务522包括一组策略、API和服务,该组策略、API和服务很好地集中所有用户信息,从而使得AIF 144能够对用户的意愿具有洞察力。此外,身份服务522保护商业系统及其用户免于被欺诈或恶意使用私人信息。
人工智能框架144的功能可以被设置成多个部分,例如决策制定部分和上下文部分。在一个示例中,决策制定部分包括由以下进行的操作;协调器220、NLU部件206及其子部件、对话管理器204、NLG部件512、计算机视觉部件208和语音识别部件210。AI功能的上下文部分涉及围绕用户的参数(隐式和显式)和传达的意图(例如,针对给定的库存或其他方面)。在一些示例实施方式中,为了随时间的推移测量和提高AI质量,可以使用样本查询(例如,开发集合)来训练人工智能框架144并且在不同的查询集合(例如,[0001]评估集合)上测试人工智能框架144,该两个集合要由人类策展(curation)来开发或来自用户数据。此外,人工智能框架144将在由有经验的策展专家或人类覆写(human override)524定义的交易和交互流程方面受训练。在人工智能框架144的各种部件内编码的流程和逻辑定义了由智能助理基于所识别的用户意图进行的后续话语或呈现(例如,问题、结果集)。
智能个人助理系统142试图理解用户的意图(例如,有针对性的搜索、比较、购物,浏览等)、强制参数(例如,产品、产品类别、项目等)以及可选参数(例如,诸如项目/产品的方面、场合等的显式信息)以及隐式信息(例如,地理位置、个人偏好、年龄和性别等)并且通过内容丰富和智能的回应来响应用户。显式输入模态可以包括文本、语音和视觉输入,并且可以利用用户的隐式知识(例如,地理位置、性别、出生地、先前的浏览历史等)来丰富。输出模态可以包括文本(例如,语音或自然语言句子或产品相关信息)以及智能设备(例如,客户端设备110)的屏幕上的图像。因此,输入模态是指用户可以与机器人通信的不同方式。输入模态还可以包括键盘或鼠标导航、触敏姿势等。
关于计算机视觉部件208的模态,照片通常可以表示与文本相比用户更好寻找的内容。此外,计算机视觉部件208可以用于基于待运送项目的图像形成运送参数。用户可能不知道什么项目被调用,或者可能很难甚至不可能使用文本来获得专家可能知道的精细详细信息,例如,服装的复杂图案或家具的某种款式。此外,在移动电话上键入复杂文本查询是不方便的并且长的文本查询通常具有较差的查全率(recall)。计算机视觉部件208的关键功能包括对象定位、对象识别、光学字符识别(OCR)以及基于来自图像或视频的视觉线索与库存的匹配。当在具有内置摄像装置的移动设备上运行时,具有计算机视觉能力的机器人是有利的。强大的深度神经网络可以用于实现计算机视觉应用。
参考语音识别部件210,特征提取部件操作以将原始音频波形转换成表示声音的数的某一维度向量。该部件使用深度学习将原始信号投射到高维度语义空间中。声学模型部件进行操作以托管语音单元的统计模型,例如,音位和音位变体。这些可以包括高斯混合模型(GMM),但是也可以使用深度神经网络。语言模型部件使用语法的统计模型来定义词在句子中的组合方式。这些模型可以包括基于n-gram的模型或建立在词嵌入之上的深度神经网络。语音到文本(STT)解码器部件通常以以下方式将语音话语转换为词序列:利用使用隐马尔可夫模型(HMM)框架中的特征提取部件、声学模型部件和语言模型部件从原始信号中得到的特征,以从特征序列得出词序列。在一个示例中,云中的语音到文本服务将这些部件部署在具有API的云框架中,该API允许发布用于语音话语的音频样本以及检索对应的词序列。控制参数可用于定制或影响语音到文本的处理。
机器学习算法可以用于由AIF 144服务进行的匹配、相关和最终重新排序。机器学习是使计算机无需被明确编程而能够学习的研究领域。机器学习探索可以从数据中学习和基于数据进行预测的算法的研究和构建。这样的机器学习算法通过根据示例输入构建模型来操作以便将数据驱动的预测或决策表达为输出。机器学习算法也可以用于教导如何实现处理。
可以使用深度学习模型、深度神经网络(DNN)、递归神经网络(RNN)、卷积神经网络(CNN)和长短期CNN以及其他ML模型和IR模型。例如,搜索218可以使用n-gram、实体和基于语义向量的查询来进行产品匹配。深度学习的语义向量使得能够直接将产品与非文本输入匹配。多级相关过滤可以使用BM25、预测的查询叶类别+产品叶类别、查询与产品之间的语义向量相似性以及其他模型来选择最终重新排序算法下的前几个候选产品。
预测的点击率和转化率以及GMV构成了最终重新排序式,以朝向特定的业务目标、更多的购物参与度、更多的产品购买或更多的GMV轻微调整功能。点击预测和转换预测模型两者将查询、用户、销售者和产品作为输入信号。通过从登录管理(onboarding)、补充管理(sideboarding)和用户行为中学习来丰富用户简档以提高针对各个用户由匹配阶段、相关阶段和排序阶段中的每一个所使用的模型的精确度。为了提高模型改进的速度,在在线A/B测试之前使用离线评估管道。
在人工智能框架144的一个示例中,提供了用于语音识别部件210的两个附加部分,即扬声器适配部件和LM适配部件。扬声器适配部件允许STT系统的客户端(例如,语音识别部件210)针对每个扬声器定制特征提取部件和声学模型部件。这可能是重要的,因为大多数语音到文本系统都是针对来自目标区域的代表性扬声器组的数据被训练的,并且通常系统的准确度在很大程度上取决于目标扬声器与训练池中的扬声器匹配的程度如何。扬声器适配部件允许语音识别部件210(并且因此,人工智能框架144)通过不断学习用户的语调、发音、口音和其他语音因素的特质并且将这些特质应用于语音相关部件,例如,特征提取部件和声学模型部件而对扬声器的变化具有鲁棒性。虽然该方法利用要针对每个扬声器创建和保持的非显著尺寸语音简档,但是准确度的潜在益处通常远远超过存储缺陷。
语言模型(LM)适配部件操作以使用来自目标域(例如,库存类别或用户角色)的新词和代表性语句定制语言模型部件和语音到文本词汇。该能力允许人工智能框架144是可缩放的,因为支持新类别和角色。
AIF的目标是针对AI提供可缩放和可扩展的框架,其中可以使用执行特定自然语言处理功能的服务动态地完成新活动(本文中也被称为任务)。添加新服务不需要重新设计整个系统。替代地,如果需要则(例如,使用机器学习算法)准备服务,并且协调器被配置有与新活动有关的新序列。下面参照图6至图13提供关于序列配置的更多细节。
本文中呈现的实施方式提供了协调器220的动态配置以学习新意图以及如何响应新意图。在一些示例实施方式中,协调器220通过接收与新活动相关联的新序列的配置来“学习”新技能。序列规范包括协调器220与来自AIF 144的一组一个或更多个服务服务器之间的交互序列。在一些示例实施方式中,序列的每个交互(至少)包括:针对服务服务器的识别、要通过调用而传递至所识别的服务服务器的调用参数定义;以及由所识别的服务服务器返回的响应参数定义。
在一些示例实施方式中,除了协调器220之外,AIF 144内的服务彼此不知道,例如,它们不直接彼此交互。协调器220管理与其他服务器的所有交互。具有中央协调资源简化了其他服务的实现方式,其他服务不需要知道其他服务提供的接口(例如,API)。当然,可能存在在服务对之间可以支持直接接口的一些情况。
图6是示出根据一些示例实施方式的计算机视觉部件208的部件的框图。计算机视觉部件208被示为包括全部被配置成彼此(例如,经由总线、共享存储器或交换器)通信的图像部件610、图像解释部件620、签名匹配部件630、方面排序部件640以及接口部件650。可以使用硬件(例如,机器的一个或更多个处理器)或硬件和软件的组合来实现本文中描述的模块中的任何一个或更多个。例如,本文描述的任何模块可以配置处理器(例如,机器的一个或更多个处理器中的处理器)以执行为该模块设计的操作。此外,这些模块中的任何两个或更多个可以组合成单个模块,并且可以在多个模块之间细分本文中针对单个模块描述的功能。此外,根据各种示例实施方式,本文中描述为在单个机器、(一个或更多个)数据库126、或设备(例如,客户端设备110)内实现的模块可以跨多个机器、(一个或更多个)数据库126或设备分布。
图7是根据一些示例实施方式的在执行基于图像识别、图像签名和类别预测来识别一组图像的方法700时计算机视觉部件208的操作的流程图。虽然顺序地呈现和描述该流程图中的各种操作,但是普通技术人员将理解,操作中的一些或全部可以以不同的顺序执行、被组合或省略,或者被并行执行。方法700中的操作可以由计算机视觉部件208使用以上关于图6描述的部件来执行。在一些实施方式中,方法700的操作由计算机视觉部件208的部件和人工智能框架144的部件执行或与其结合地执行。
在操作710中,图像部件610接收描绘感兴趣对象的至少一部分的至少一个图像。在一些实施方式中,图像部件610从与发布系统102(例如,联网系统102)的用户相关联的用户设备接收至少一个图像。例如,用户设备可以是图像捕获设备(例如,摄像装置)、移动计算设备(例如,膝上型电脑、智能电话、平板电脑)、台式计算设备(例如,个人计算机)、或任何其他合适的用户设备。在这些实施方式中,与计算机视觉部件208相关联的应用可以提示捕获至少一个图像,使得在捕获到静止图像时图像部件610接收图像。在至少一个图像是视频中的一组帧的情况下,用于计算机视觉部件208的应用可以提示捕获至少一个图像,并且图像部件610在正在(例如,实时或接近实时)捕获视频时接收视频中的一组帧。图像部件610也可以在捕获会话终止之后接收该组帧,使得视频的该组帧被捕获并且由访问部件610接收作为闭合的一组图像而不是视频流。例如,当在用户设备上打开应用时,用户接口元件(例如,应用、图像部件610或接口部件650的用户接口元件)可以访问与用户设备相关联的图像捕获设备并且使得在应用的用户接口内呈现图像捕获设备的视场。与应用的用户接口的交互使得图像捕获设备启动对视场内的一个或更多个图像的捕获,并且使用户设备将一个或更多个图像发送到图像部件610。在这些实例中,通过用户设备上的应用的操作,计算机视觉部件208可以在捕获和传输至少一个图像或一组帧时控制或至少部分地控制用户设备以由图像部件610接收。
在一些实施方式中,图像部件610从数据存储设备接收至少一个图像。例如,在打开计算机视觉部件208的应用时,用户接口元件可以使得呈现数据存储设备上的一组图像。数据存储设备可以通过直接连接(例如,诸如硬盘驱动器的板载数据存储设备)或通过远程连接(例如,在服务器、云存储设备或由用户设备可访问的其他机器上实现的数据存储设备)与用户设备相关联。用户接口元件可以通过使用户设备访问数据存储设备并且将该组图像填充到用户接口元件来引起该组图像的呈现。例如,用户接口元件的计算机可执行指令或由图像部件610或接口部件650发送的计算机可执行指令可以使用户接口访问和打开在用户设备上本地存储的文件夹或一组图像或者访问在远程数据存储位置(例如,云存储设备或基于网络的服务器)内存储的文件夹或一组图像。在访问本地或远程存储的该组图像之后,可执行指令使用户设备在应用的用户接口内呈现该组图像的表示(例如,缩略图、图块或文件名)。
在一些示例实施方式中,图像部件610在来自用户设备的请求下从数据存储设备接收至少一个图像。在这些实例中,一旦打开计算机视觉部件208的应用,其就接收要由图像部件610接收的图像的数据存储位置的表示(例如,网络地址)。响应于接收到请求,图像部件610生成请求并且将该请求发送到数据存储设备。来自图像部件610的请求可以包括至少一个图像的数据存储位置和标识。然后,图像部件610可以接收来自数据存储设备的响应于该请求的至少一个图像。
在操作720中,图像解释部件620确定用于感兴趣对象的类别集。在一些实施方式中,图像解释部件620包括一个或更多个机器学习过程以对至少一个图像和在至少一个图像内描绘的感兴趣对象或其部分执行图像分析。在一些实例中,一个或更多个机器学习过程包括神经网络。例如,如下所述,在一些实施方式中,图像解释部件620包括并且使用深度残差网络的多个层来执行图像处理和分析以确定类别集。深度残差网络可以是完全连接的卷积神经网络。
尽管关于深度残差网络进行了描述,但是应当理解,图像解释部件620可以包括任何合适的图像处理和分析功能以执行本文所述的图像解释部件620的功能。例如,图像解释部件620可以包括神经网络、部分连接的神经网络、完全连接的神经网络、卷积神经网络、一组机器学习部件、一组图像识别部件、一组模式识部件、一组计算机视觉部件或能够执行本文所述的图像解释部件620的功能中的一个或更多个的任何其他合适的指令、模块、部件或过程。
在一些实例中,图像解释部件620使用一个或更多个图像识别过程来确定用于感兴趣对象或其部分的类别集。在一些实施方式中,图像识别过程包括图案识别、边缘检测、轮廓识别、文本识别、特征识别或检测、特征提取、特征向量、面部识别、基于机器学习的图像识别、基于神经网络的图像识别以及被配置成识别和表征至少一个图像内的感兴趣对象的其他合适的操作。图像解释部件620可以从图像部件610接收至少一个图像。在一些实施方式中,响应于接收到至少一个图像,图像解释部件620对至少一个图像内的感兴趣对象进行识别和分类。图像解释部件620选择用于表示感兴趣对象的识别和分类的类别集的一个或更多个类别。
在一些示例实施方式中,在类别集中包括的类别与发布语料库的一个或更多个发布相关联。类别层次树可以将发布语料库中的每个发布一致地排列成层次。在一些示例实施方式中,然后将发布类别组织成层次(例如,图或树),使得更一般的类别包括更具体的类别。树或图中的每个节点是具有父母类别(例如,与发布类别相关联的更一般类别)并且可能具有一个或更多个孩子类别(例如,与发布类别相关联的窄的或更具体的类别)的发布类别。每个发布类别与特定的静态网页相关联。
根据一些示例实施方式,将多个发布一起分组成发布类别。作为示例,每个类别用字母来标记(例如,类别A至类别AJ)。此外,每个发布类别被组织为类别层次的部分。在该示例中,类别A是所有其他发布类别从其派生的一般产品类别。然后将类别A中的发布划分成至少两个不同的发布类别,类别B和类别C。应当注意,每个父母类别(例如,在该情况下,类别A是类别B和类别C两者的父母类别)可以包括大量孩子类别(例如,子类别)。在该示例中,发布类别B和C两者具有子类别(或孩子类别)。例如,如果类别A是服装发布,则类别B可以是男士服装发布并且类别C是女士服装发布。类别B的子类别包括类别D、类别E和类别F。取决于由每个子类别所涵盖的发布的具体细节,子类别D、E和F中的每一个具有不同数目的子类别。
例如,如果类别D是运动服装发布、类别E是正式服装发布并且类别F是户外服装发布,则每个子类别包括不同数目和类型的子类别。例如,类别D(该示例中的运动服装发布)包括子类别I和J。(针对该示例)子类别I包括运动鞋发布并且子类别J包括T恤发布。由于这两个子类别之间的差异,子类别I包括四个附加子类别(子类别K至N)以表示不同类型的运动鞋发布(例如,跑鞋发布、篮球鞋发布、攀岩鞋发布和网球鞋发布)。相比之下,子类别J(在该示例中,其用于T恤发布)不包括任何子类别(但是在真实产品数据库中,T恤发布类别可以包括子类别)。因此,每个类别(除了最上面的产品类别以外)具有表示更一般的发布类别的父母类别和一个或更多个孩子类别或子类别(其是在更一般的类别内的更具体的发布类别)。因此,类别E具有两个子类别O和P,并且每个子类别分别具有两个孩子产品类别,即类别Q和R以及类别S和T。类似地,类别F具有三个子类别(U、V和W)。具有类别A作为其父母的产品类别的类别C包括两个附加子类别(G和H)。类别G包括两个孩子(X和AF)。类别X包括子类别Y和Z,并且Y包括AA至AE。类别H包括子类别AG和AH。类别AG包括类别AI和AJ。
在一些实施方式中,发布语料库的发布的代表性图像或发布语料库的发布中包括的所有图像被聚类在类别内。在这些实例中,具有相似图像签名、方面、视觉外观要素、特征、元数据和其他属性的图像被分配或以其他方式聚类在相似类别内。图像群集(cluster)可以与一个或更多个类别相关联。在一些实例中,图像群集包括子群集,使得分层类别由父母类别的群集内的子群集表示。在一些实施方式中,通过访问图标图像(例如,类别的共同代表图像)将图像聚类在类别内。图像解释部件620确定输入语义向量与用于图标图像的图标语义向量之间的最接近匹配。可以忽略非图标图像以加速处理。响应于最接近的匹配聚类是先前错误分类的图像的聚类,降低输入图像具有该类别的概率。响应于不平衡的聚类,聚类被重新平衡。这可以重复直到聚类平衡或更加平衡,使得可比较数目的图像在每个聚类中。
在一些示例实施方式中,使用一个或更多个子操作来执行操作720。在这些实施方式中,输入图像(例如,至少一个图像)被从用户操作的设备发送。用户可以在发布语料库中搜索发布。用户可以张贴带有发布图像的新发布,并且依赖处理流程来帮助提供类别。访问与输入图像对应的输入语义向量。如下面将描述的,输入语义向量可以是用于输入图像或至少一个图像的图像签名。具有输入语义向量的图像解释部件620可以将输入语义向量同与用于发布语料库的发布类别中的每个类别相关联的语义向量进行比较。在一些实施方式中,与每个类别相关联的语义向量是使用与每个类别相关联的一组图像和与每个类别相关联的一组元数据或描述性术语中的一个或更多个生成的代表性语义向量。在一些实例中,输入图像缺少类别元数据。响应于类别概率超过最小阈值,将缺失的类别元数据添加到输入图像。在另一实施方式中,针对未丢失元数据的输入图像提供至少一个类别概率以双重检查元数据。在图像解释部件620分析按类别和子类别聚类的图像群集内的图像的情况下,输入图像(例如,至少一个图像)与图像群集或针对图像群集选择的图标图像具有高语义相似性,图像解释部件620对输入图像同与图标图像相关联的一个或更多个类别有关分配更高的概率。因此图像解释部件620更可能选择图标图像或图像群集的类别作为用于包括在类别集中的类别。
在一些示例实施方式中,可以使用输入图像来训练操作为机器学习模型的图像解释部件620。在这些实例中,将训练图像输入到机器学习模型。利用机器学习模型(例如,图像解释部件620)处理训练图像。从机器学习模型输出训练类别。通过将训练类别输出是否正确反馈到机器学习模型来训练机器学习模型。
在示例实施方式中,机器学习模型用于嵌入给定列表标题的深层潜在语义含义并且将其投影到共享语义向量空间。向量空间可以是指被称为向量的对象集合。向量空间可以通过它们的维度来表征,该维度指定空间中独立方向的数目。语义向量空间可以表示短语和语句并且可以捕获用于图像搜索和图像表征任务的语义。在其他的实施方式中,语义向量空间可以表示音频声音、短语或音乐;视频剪辑;以及图像,并且可以捕获用于图像搜索和图像表征任务的语义。
在各种实施方式中,机器学习用于使源(X)(例如,列表标题)与目标(Y)(搜索查询)之间的相似性最大化。机器学习模型可以基于深度神经网络(DNN)或卷积神经网络(CNN)。DNN是在输入层与输出层之间有多个隐藏的单元层的人工神经网络。DNN可以将深度学习架构应用到递归神经网络。CNN由顶部上具有完全连接的层(例如与典型的人工神经网络匹配的层)的一个或更多个卷积层组成。CNN还使用绑定权重和池化层。DNN和CNN两者可以使用标准的反向传播算法进行训练。
当将机器学习模型应用于映射特定的<源,目标>对时,用于机器学习源模型和机器学习目标模型的参数被优化,使得相关的<源,目标>对具有更近的向量表示距离。以下公式可以用于计算最小距离。
在上述式中,ScrSeq=源序列;TgtSeq=目标序列;SrcMod=源机器学习模型;TgtMod=目标机器学习模型;SrcVec=用于源序列的连续向量表示(也被称为源的语义向量);以及TgtVec=用于目标序列的连续向量表示(也被称为目标的语义向量)。源机器学习模型将源序列编码成连续向量表示。目标机器学习模型将目标序列编码成连续向量表示。在示例实施方式中,向量各自具有约100个维度。
在其他实施方式中,可以使用任何数目的维度。在示例实施方式中,语义向量的维度被存储在KD树结构中。KD树结构可以被称为用于组织KD空间中的点的空间划分数据结构。KD树可以用于执行最近邻查找。因此,给定空间中的源点,可以使用最近邻查找来识别到源点的最接近点。
如上所述,图像解释部件620可以是机器学习部件。在一些示例实施方式中,图像解释部件620是深度残差网络(例如,一种神经网络)。在这些实施方式中,图像解释部件620使用一组神经网络层处理至少一个图像。可以使用一个或更多个网络核生成神经网络层。在一些实例中,一个或更多个网络核包括卷积核、池化核、合并核、微分核(derivativekernel)、任何其他合适的核或其组合。卷积核可以通过对图像内的一组区域、交叠区域或像素进行交互处理来处理输入图像。卷积核可以充当以下中的一个或更多个的基础:图像滤波、图像识别或其他图像处理。例如,卷积核可以充当以下中的一个或更多个:合并核(例如,使图像的至少一部分模糊)、微分核(例如,支持边缘检测)或任何其他合适的核处理。神经网络的一部分层可以使用卷积核并且可以应用于小区域或单个像素。一部分层可以是池化层。池化层可以对来自图像的值进行子采样以执行非线性下采样。例如,池化层可以将至少一个图像划分为一组区域并且输出每个区域的最大值或平均值。虽然在一些实例中被描述为划分,但是池化层可以接收先前确定的划分的指示,并且使用预定的区域划分来下采样。
操作720包括一个或更多个子操作。在一些示例实施方式中,图像解释部件620识别表示至少一个图像内的感兴趣对象的一个或更多个属性的一组方面。在识别和分类至少一个图像时,图像解释部件620使用以上所述的一个或更多个功能来识别构成感兴趣对象的视觉外观的要素的一个或更多个属性。每个方面与以下中的至少一个对应:属性(例如,视觉外观的要素)和与指定属性相关联的描述性词。例如,图像解释部件620可以将一条红色裤子识别为至少一个图像中的感兴趣对象。图像解释部件620可以将该组方面识别为包括包含如下的属性:预测风格(例如,脚踝长度裤子)、颜色(例如,红色)、图案(例如,纯色)、品牌、材料(例如,牛仔布)、季节(例如,一年中适合穿裤子的季节或部分)和衣服类型(例如,休闲服装和“下装”)。每个属性可以由描述性词例如裤子、红色、结实、牛仔布、秋季、休闲服装和下装来表示。在该示例中,每个描述性词是感兴趣对象的视觉外观的要素的表示。
在一些实施方式中,图像解释部件620通过生成与输入图像对应的输入语义向量(例如,一组词、短语、描述性术语、特征或方面)来识别方面。可以通过将图像签名与先前确定的用于类似图像签名的语义向量匹配来识别输入语义向量或其部分。在输入语义向量与表示多个方面的发布图像向量之间识别最接近的匹配。输入语义向量(例如,一组描述性术语)或其部分可以选自被确定为匹配的一个或更多个发布语义向量。机器学习模型可以与XOR运算一起使用,以获得速度。根据XOR运算的公共比特的数量可以用作相似性的度量。在一些实例中,通过找到语义向量空间中的最近邻居来识别输入语义向量与表示多个方面的发布图像向量之间的最接近的匹配。在先前处理中的任一个之后,基于机器学习模型提供多个方面概率,并且基于多个方面概率识别该组方面。例如,可以基于超过概率阈值来选择包括在该组方面中的方面。
在操作720的随后子操作中,图像解释部件620确定与该组方面的至少一个方面相关联的一个或更多个类别以用于包括在类别集中。图像解释部件620可以将该组方面与全局类别集进行比较并且选择一个或更多个类别以用于包括在类别集中。在一些实施方式中,全局类别集中的每个类别与一个或更多个关键字、描述符或视觉外观的要素相关联。图像解释部件620使该组方面同与一个或更多个类别相关联的关键字匹配并且选择一个或更多个类别以用于包括在类别集中。在一些实例中,图像解释部件620识别在类别集中包括的每个类别的概率。可以使用与匹配该组方面的类别相关联的关键字的数量、被识别为与类别的关键字匹配或在语义上相关的该组方面的百分比或任何其他合适的方式来确定概率。
在操作730中,图像解释部件620生成用于至少一个图像的图像签名。图像签名包括至少一个图像的向量表示。在一些实施方式中,图像签名是至少一个图像的二进制向量表示,其中向量的每个值是1或0。在图像解释部件620包括神经网络或深度残差网络的情况下,图像解释部件620使用神经网络的散列层来生成图像签名。散列层可以从深度残差神经网络的连接层中的一个或更多个连接层接收浮点值。散列层可以使用浮点值生成向量表示。在一些实施方式中,浮点值是介于1与0之间的值。在图像签名是二进制散列的情况下,散列层可以将浮点值与阈值进行比较以将浮点值转换为二进制值。例如,向量可以是4096个维度的向量。向量的值可以在1与0之间。在生成向量时,散列层可以将向量转换成二进制向量以生成二进制图像签名。可以将向量的值与阈值例如0.5进行比较。超过阈值的值可以被转换为二进制图像签名中的值1并且低于阈值的值可以被转换为二进制图像签名中的值0。
在操作740中,签名匹配部件630识别发布数据库内的一组发布。签名匹配部件630使用至少一个图像的类别集和图像签名来识别该组发布。在一些实施方式中,签名匹配部件630在从图像解释部件620接收到类别集和图像签名时自动地识别一组发布。签名匹配部件630通过使用类别集和图像签名搜索发布数据库来识别该组发布。在一些实施方式中,将发布数据库的发布按类别划分或以其他方式组织。在这些实例中,签名匹配部件630将发布数据库的一个或更多个类别与针对至少一个图像识别的类别集进行匹配。签名匹配部件630可以仅搜索与类别集的类别匹配的一个或更多个类别所关联的发布的子集。
一旦识别了发布的子集,签名匹配部件630就可以识别与发布的子集的发布中包括的图像相关联的发布图像签名。签名匹配部件630将针对至少一个图像生成的图像签名与发布图像签名进行比较。在一些实例中,签名匹配部件630确定至少一个图像的图像签名同与发布的子集的每个发布相关联或包括在其中的图像的每个发布图像签名之间的汉明距离。
在操作750中,签名匹配部件630基于图像签名来指定该组发布中的每个发布的排序。签名匹配部件630使用分配给每个发布的排序来生成发布的排序列表。发布的排序列表包括该组发布的至少一部分。在签名匹配部件630确定至少一个图像的图像签名与每个发布图像签名之间的汉明距离的实施方式中,签名匹配部件630使用每个发布图像签名的经计算的汉明距离作为排序得分。签名匹配部件630基于排序得分(例如,针对每个发布图像签名计算的汉明距离)来指定每个发布的排序,从而按照汉明距离的升序对发布进行排序。在这些实例中,与具有较大汉明距离的发布相比,将具有较小汉明距离的发布放置在发布的排序列表(例如,有序列表)中更高的位置处。
在操作760,接口部件650使得在与用户相关联的计算设备处呈现发布的排序列表。在一些实施方式中,计算设备是从其接收至少一个图像的设备(例如,诸如智能电话的移动计算设备)。接口部件650使得发布的排序列表呈现在计算设备的用户接口内或者对计算设备可访问。在排序列表内呈现的每个发布与图像相关联,该图像的图像签名用于在操作750中将发布与至少一个图像匹配。
在一些实施方式中,使用发布标识(例如,标题或描述性词或短语)以及与用于识别和排序发布的图像签名相关联的图像的表示来呈现发布的排序列表中的每个发布。例如,如图8所示,接口部件650使得呈现在操作710处接收到的至少一个图像810和发布的排序列表820。发布的排序列表在可选择的用户接口元件内呈现,该用户接口元件包括发布的标题(例如,发布标识)和用于发布的代表性图像(例如,与用于对发布进行匹配和排列的图像签名相关联的图像)。对用于排序列表内的发布的用户接口元件的选择可以导致呈现包括发布标识、一个或更多个图像以及发布的附加细节的完整发布。
在一些实施方式中,附加细节包括以下中的一个或更多个:用于发布的一组类别、用于与发布相关联的电子商务系统或网站的项目列表、与发布相关联的位置或任何其他合适细节。在发布是项目列表的情况下,用于发布的附加细节可以包括包含以下中的一个或更多个的信息:项目条件、图案、用于项目的产品标识、品牌、样式、尺寸、销售方标识、颜色、可用数量、价格(例如,标价、销售价格或当前拍卖价格或出价)、先前销售的项目的数量以及与销售、购买或和项目列表的交互相关的任何其他合适的信息。
在图8中,在一些示例实施方式中,基于用于发布的代表性图像830呈现发布的排序列表。可以以指示排序列表中包括的发布的相应排序的方式呈现代表性图像。例如,图像可以以如下线性格式呈现:其中具有较高排序的发布被呈现为更靠近列表中的第一位置(例如,最顶部位置或最左侧位置)。在一些实例中,如图9所示,代表性图像910以平铺格式呈现。平铺格式可以代表每个发布的排序。例如,图像的相对位置、图像的尺寸、图像的突出显示、其组合或任何其他合适的呈现方案可以指示发布在排序列表内的相对位置。在这些示例中,发布的排序可以由以下来指示:图像的尺寸(例如,较大图像与较高排序的发布相关联)、图像的相对位置(例如,位置较高或者以其他方式更显著的图像与较高排序的图像相关联)或图像的突出显示(例如,由带包围或具有指定颜色编码的图像与更高排序的发布相关联)。
图10是根据一些示例实施方式的在执行基于图像识别、图像签名、类别预测和方面预测来识别一组图像的方法1000时计算机视觉部件208的操作的流程图。虽然顺序地呈现和描述该流程图中的各种操作,但是普通技术人员将理解,操作中的一些或全部可以以不同的顺序执行、被组合或省略,或者被并行执行。方法1000中的操作可以由计算机视觉部件208使用以上关于图6描述的部件来执行。在一些实施方式中,方法1000的操作由计算机视觉部件208的部件和人工智能框架144的部件执行或与其结合地执行。在一些实施方式中,方法1000的操作形成方法1000的部分或子操作。在一些实例中,方法1000的一个或更多个操作被执行为方法1000的一个或更多个操作的部分或其子操作。
在操作1010中,图像解释部件620识别表示至少一个图像内的感兴趣对象的一个或更多个属性的一组方面。在一些实施方式中,感兴趣对象的一个或更多个属性是感兴趣对象的外观的要素。在这些实施方式中,每个方面是与指定属性相关联的描述性词。在一些实施方式中,该组方面由图像解释部件620使用如下中的一个或更多个来确定:边缘检测、对象识别、颜色识别、图案识别和其他合适的计算机视觉处理。例如,图像解释部件620可以使用计算机视觉处理来识别至少一个图像中的感兴趣对象的颜色(例如,红色)、图案(例如,花卉)和对象类型(例如,女装)。颜色、图案和对象类型的描述性术语或其表示可以被包括在该组方面中。在一些实例中,以与上文关于操作720描述的方式类似或相同的方式确定该组方面。
在操作1020中,针对该组方面的每个方面,图像解释部件620确定在至少一个图像内的感兴趣对象包括指定方面的概率。使用针对每个方面确定的概率,图像解释部件620生成用于每个方面的置信度得分。可以基于至少一个图像的图像签名的匹配部分(例如,与发布签名匹配的图像签名的百分比或者与发布签名的一组比特匹配的图像签名中的一组比特的位置)来确定用于该组方面的每个方面的概率。在一些实例中,基于使用以下中的一个或更多个生成的相似性得分来确定用于每个方面的概率:图像签名、用于至少一个图像的元数据、发布图像签名以及与发布相关联的元数据。概率也可以与上面关于操作720所描述的那样类似或相同地确定。
在操作1030中,针对该组发布的每个发布,方面排序部件640识别一组元数据描述符。元数据描述符是该组发布的每个发布中的或与该组发布的每个发布相关联的隐式描述性术语或显式描述性术语。在一些示例实施方式中,用于发布的元数据描述符是作者提供的术语。在这些示例中,负责发布或与发布相关联的一方或实体(例如,作者、创建者、管理员或销售方)在创建发布期间或其之后生成或以其他方式提供用于发布的元数据描述符。例如,在发布是用于电子商务系统或网站的项目列表的情况下,销售方可以包括类别指定、项目描述信息(例如,品牌、颜色、图案、产品、样式、尺寸或条件指定)或其他描述词、短语或用户接口选择以描述由项目列表所表示的项目。元数据描述符可以是显式的,使得包括该组元数据描述符的术语可由与该发布交互的用户查看。元数据描述符也可以是隐式的,使得术语与发布相关联但不在发布的呈现内呈现。例如,隐式元数据描述符可以被包括在与发布相关联的元数据文件中,或者被包括在发布系统上的发布内所包括的元数据部分中。
在操作1040中,方面排序部件640生成该组发布的每个发布的方面排序得分。通过执行感兴趣对象的该组方面与该组元数据描述符的加权比较来生成方面排序得分。在一些实施方式中,用于每个发布的每个元数据描述符被分配值。将针对至少一个图像识别的该组方面与用于该组发布的每个发布的元数据描述符进行比较。针对与元数据描述符匹配的该组方面中的每个方面,方面排序部件640检索分配给元数据描述符的值。然后,每个发布可以被指定作为与方面匹配的每个元数据描述符的值的组合的方面排序得分。在一些实施方式中,方面排序部件640将用于每个匹配的元数据描述符的值相加,并且将和指定作为发布的方面排序得分。方面排序部件640可以类似地生成和指定该组发布的每个发布的方面排序得分。方面排序部件640可以针对该组发布串行或并行地生成和指定方面排序得分。
在一些实施方式中,针对该组发布的每个发布,方面排序部件640检索用于匹配的元数据描述符的值并且对检索的值进行求和。方面排序部件640识别用于与发布相关联的该组元数据描述符的总值。可以通过将该组元数据描述符内的每个元数据描述符的值相加来计算总值。在这些实施方式中,方面排序部件640将用于匹配的元数据描述符的值的总和除以用于与发布相关联的元数据描述符的总值。由值的总和除以总值得到的商是用于发布的方面排序得分。
在通过加权比较来生成方面排序得分的实施方式中,方面排序部件640检索在操作750中确定的每个发布的排序得分。排序得分充当通过将用于至少一个图像的图像签名与每个发布的代表图像进行比较而生成的外观得分。针对每个发布,方面排序部件640根据加权方案对方面排序得分和外观得分来生成组合得分。在一些实施方式中,排序方案包括用于方面排序得分和外观得分的一个或更多个预定权重。预定权重可以包括用于外观得分的第一权重和用于方面排序得分的第二权重。第一权重可以大于第二权重,使得外观得分比方面排序得分占组合分数的相对更大部分。
在一些实施方式中,加权方案包括一个或更多个动态权重。可以使用一个或更多个机器学习操作来生成动态权重。机器学习操作可以包括监督学习、无监督学习、强化学习、神经网络、深度神经网络、部分连接的神经网络、完全连接的神经网络或任何其他合适的机器学习过程、操作、模型或算法。机器学习操作可以访问用户交互数据以及历史搜索和排序信息。历史搜索和排序信息包括:在多个先前搜索中使用的图像或图像签名;在多个搜索中识别的发布;以及发布的相应排序和用于生成排序的元数据描述符及方面。用户交互数据包括在将发布呈现给执行搜索的指定用户时接收到的用户选择的指示。机器学习算法基于以下来修改一个或更多个动态权重:用户交互给出用于搜索的图像类型的概率;以及针对由搜索检索到的发布而生成的外观得分和方面排序得分。
在操作1050中,方面排序部件640生成根据第二排序顺序组织的发布的经修改的排序列表,该第二排序顺序反映方面排序得分和基于图像签名的排序的组合。在一些实施方式中,方面排序部件640类似于上面关于操作750描述的方式生成经修改的排序列表。方面排序部件640可以通过根据方面排序得分将在操作750中生成的排序列表从第一顺序重新排序成第二顺序来生成经修改的排序列表。在一些示例实施方式中,方面排序部件640根据组合得分生成经修改的排序列表,该组合得分是根据外观得分和方面排序得分的组合或加权组合生成的。
图11是根据一些示例实施方式的在执行基于图像识别、图像签名和类别预测识别一组图像的方法1100时计算机视觉部件208的操作的流程图。虽然顺序地呈现和描述该流程图中的各种操作,但是普通技术人员将理解,操作中的一些或全部可以以不同的顺序执行、被组合或省略,或者被并行执行。方法1100中的操作可以由计算机视觉部件208使用以上关于图6描述的部件来执行。在一些实施方式中,方法1100的操作由计算机视觉部件208的部件和人工智能框架144的部件执行或与其结合执行。在一些实施方式中,方法1100的操作形成操作740的部分或子操作。
在操作1110中,签名匹配部件630选择与类别集中的一个或更多个类别相关联的查询发布。在一些实施方式中,签名匹配部件630可以通过识别与一个或更多个类别相关联的数据结构或群集来选择查询发布。在一些实例中,签名匹配部件630通过执行发布的初始搜索以识别发布内或与发布相关联的元数据中所包含的类别来选择与一个或更多个类别相关联的查询发布。当发布在发布的描述或元数据内包括与类别集的一个或更多个类别匹配的类别的情况下,则选择该发布以包括在搜索中。
在一些示例实施方式中,签名匹配部件630被分布在两个或更多个搜索节点上。搜索节点访问包含可用于搜索的全部数量的发布的发布数据库。每个搜索节点接收包括以下中的至少一个的请求:用于至少一个图像的图像签名和类别集。每个节点被指定为搜索在发布数据库中存储的发布的子集。在接收到请求时,每个节点确定分配给该节点的发布的子集是否被包含在该类别集的至少一个类别内。在分配给节点的发布的子集的一部分被包含在至少一个类别内的情况下,该节点识别发布的子集中的每个发布的图像签名。每个发布的图像签名可以与用于发布的代表性图像相关联。
在操作1120中,签名匹配部件630将用于至少一个图像的图像签名同与查询发布相关联的一组图像签名进行比较以确定一个或更多个相似的图像签名。签名匹配部件630可以将用于查询发布内的每个发布的至少一个图像的图像签名(例如,代表性图像或代表性图像签名)进行比较。在签名匹配部件630分布在两个或更多个搜索节点上的示例实施方式中,签名匹配部件630的每个节点将至少一个图像的图像签名与被分配给节点并且与类别集的至少一个类别匹配的发布的子集的部分的图像签名进行比较。签名匹配部件630可以与上面在操作740中描述的方式类似或相同地比较图像签名。
在操作1130中,签名匹配部件630将该组发布识别为与一个或更多个相似图像签名相关联的查询发布的子集。在一些实施方式中,签名匹配部件630识别具有至少部分地匹配至少一个图像的图像签名的图像签名的发布。签名匹配部件630以与关于操作750描述的方式类似或相同的方式来指定发布的排序。在一些实施方式中,签名匹配部件630选择用于包括在发布集合中的具有高于指定阈值的排序得分(例如,外观得分)的发布。指定的阈值可以是预定的或动态的。在阈值是动态的情况下,阈值可以由以下中的一个或更多个来确定:搜索请求中包含的选择、网络流量度量、用户偏好、在操作1120中识别的发布数目的比率或比例、其组合或任何其他合适度量。
图12是根据一些示例实施方式的在执行基于图像识别、图像签名和类别预测来识别一组图像的方法1200时计算机视觉部件208的操作的流程图。虽然顺序地呈现和描述该流程图中的各种操作,但是普通技术人员将理解,操作中的一些或全部可以以不同的顺序执行、被组合或省略,或者被并行执行。方法1200中的操作可以由计算机视觉部件208使用以上关于图6描述的部件来执行。在一些实施方式中,方法1200的操作由计算机视觉部件208的部件和人工智能框架144的部件执行或与其结合地执行。在一些实施方式中,方法1200的操作形成方法700、1000或1100的部分或子操作。
在操作1210中,图像部件610接收包括视频的一组帧。该组帧包括至少一个图像。在一些实施方式中,在由图像捕获设备捕获该组帧期间接收该组帧。在这些实例中,在用户设备上操作的与图像部件610相关联的应用使图像捕获设备(例如,摄像装置)捕获该组帧并且实时或接近实时地将该组帧发送到图像部件610。例如,在打开用户设备上的应用时,应用可以导致呈现一个或更多个用户接口元件,该用户接口元件使得能够访问图像捕获设备并且启动一个或更多个过程以在应用内捕获该组帧。在一些实例中,应用包括以下用户接口元件,该用户接口元件使得在捕获该组帧时呈现该组帧,与此同时向图像部件610传输该组帧。在一些实例中,在应用的用户接口内捕获和呈现该组帧与将该组帧向图像部件610传输之间存在时间延迟。
在一些实施方式中,图像部件610接收先前捕获的一组帧,使得用户设备上的与图像部件610相关联的应用访问数据存储设备上的该组帧或者在将该组帧传输到图像部件610之前终止对该组帧捕获。例如,应用可以提供一个或更多个用户接口元件,该一个或更多个用户接口元件使得能够从智能手机(例如,用户设备)上的摄像装置相册或从云服务选择先前捕获的视频。
在操作1220中,图像解释部件620确定用于第一图像中的感兴趣对象的第一类别集和用于第二图像中的感兴趣对象的第二类别集。第一图像和第二图像可以是来自视频的一组帧的各个帧。在一些实施方式中,图像解释部件620以与上面在操作720的一个或更多个中描述的方式类似或相同地确定第一类别集和第二类别集。尽管参考用于第一图像的第一类别集和用于第二图像的第二类别集进行了描述,但是应当理解的是,图像解释部件620可以确定用于该组帧内包含的任何数目的图像的任何数目的类别集。例如,图像解释部件620可以确定用于高达和包括该组图像的总图像数的多个图像的多个类别集。
尽管关于第一类别集和第二类别集进行了描述,但是在图像部件610接收一组图像的情况下,图像解释部件620确定用于包括该组帧的图像的组合的组合类别集。图像解释部件620可以生成包括该组帧的图像中的两个或更多个的合成图像。合成图像可以包含两个或更多个图像中的每个图像的多个视觉属性、方面和特征。图像解释部件620可以以与上面关于操作720描述的方式类似或相同的方式确定来自合成图像的合成类别集。
在操作1230中,图像解释部件620生成包括第一图像的第一向量表示的第一图像签名和包括第二图像的第二向量表示的第二图像签名。在一些实施方式中,图像解释部件620以与上面关于操作730描述的方式类似或相同的方式生成用于第一图像的第一图像签名和用于第二图像的第二图像签名。在图像解释部件620根据该组帧的两个或更多个图像生成合成图像的实施方式中,图像解释部件620生成包括合成图像的向量表示的合成图像签名。在一些实例中,向量表示包括一组值,该组值是第一值(例如,0)与第二值(例如,1)之间的浮点值。在一些实施方式中,向量表示是包括是1或0的一组值的二进制向量表示。在图像解释部件620识别用于该组帧的图像的组合的组合类别集的情况下,图像解释部件620生成用于该组帧中的图像的组合的组合图像签名。在一些示例实施方式中,识别组合类别集的图像解释部件620生成该组帧中的图像的组合中的每个图像的图像签名,使得每个图像可以与独立的并且在一些情况下独特的图像签名相关联。
在一些实施方式中,图像解释部件620识别表示第一图像内的感兴趣对象的一个或更多个属性的一组第一方面和表示第二图像内的感兴趣对象的一个或更多个属性的一组第二方面。在图像解释部件620生成合成图像的情况下,图像解释部件620生成表示合成图像内的感兴趣对象的一个或更多个属性的方面的合成组。图像解释部件620以与关于操作1010(即,识别该组方面)和操作1020(即,识别用于该组方面中的每个方面的概率)描述的方式类似或相同的方式生成第一方面的组、第二方面的组或方面的合成组。
在操作1240中,签名匹配部件630识别发布数据库内的一组发布。签名匹配部件630使用第一类别集、第二类别集、第一图像签名和第二图像签名来识别该组发布。在图像解释部件620识别组合类别集和组合图像签名的情况下,签名匹配部件630使用用于该组帧中的图像的组合的组合类别集和组合图像签名来识别该组发布。在图像解释部件620识别该组帧中的图像的组合的组合类别集和每个图像的单独图像签名的情况下,签名匹配部件630使用用于图像组合的组合类别集和每个图像的单独的图像签名来识别该组发布。在这些实例中,针对每个图像签名,并且同样针对图像组合中的每个图像识别一组发布。在图像解释部件620生成合成图像、识别合成类别集并且确定合成图像签名的实施方式中,签名匹配部件630使用合成类别集和合成图像签名识别该组发布。在上述实施方式中的一个或更多个中,签名匹配部件630以与上面关于操作740或操作1110至1130描述的方式类似或相同的方式识别该组发布。
在操作1250中,签名匹配部件630基于第一图像签名和第二图像签名中的一个或更多个来指定该组发布中的每个发布的排序。通过指定每个发布的排序,签名匹配部件630生成发布的排序列表,其中排序列表包括根据发布的指定排序来排序的该组发布的至少一部分。在签名匹配部件630针对组合类别集和组合图像签名识别该组发布的情况下,签名匹配部件630基于组合图像签名来指定每个发布的排序。在签名匹配部件630针对用于图像组合的组合类别和用于每个图像的单独的图像签名识别该组发布的实例中,签名匹配部件630基于用于识别发布和相应的发布组的单独图像签名来指定每个发布的排序。在签名匹配部件630使用合成类别集和合成图像签名识别该组发布的实施方式中,签名匹配部件630使用合成图像签名来指定该组发布中的每个发布的排序。在上述实施方式中的一个或更多个中,签名匹配部件630以与上面关于操作750或操作1130描述的方式类似或相同的方式来指定每个发布的排序。
在图像解释部件620识别表示该组帧的图像的属性的一组方面的实施方式中,方面排序部件640识别该组发布中的每个发布的一组元数据描述符;生成每个发布的方面排序得分;以及根据第二排序顺序生成发布的经修改的排序列表,该第二排序顺序反映了方面排序得分和基于部分地用于识别该组发布的图像签名的排序的组合。在图像解释部件620识别表示第一图像的一组第一方面和表示第二图像的一组第二方面的情况下,方面排序部件640识别针对第一图像和第二图像识别的一组发布中的每个发布的一组元数据描述符;生成每个发布的方面排序得分;以及根据第二排序顺序生成发布的经修改的排序列表,该第二排序顺序反映了方面排序得分和基于部分地用于识别该组发布的图像签名的排序的组合。在图像解释部件620识别表示合成图像的合成组方面的实例中,方面排序部件640识别针对合成图像识别的该组发布中的每个发布的一组元数据描述符;生成每个发布的方面排序得分;以及根据第二排序顺序生成发布的经修改的排序列表,该第二排序顺序反映方面排序得分和基于合成图像签名的排序的组合。在上述实施方式或实例中的一个或更多个中,方面排序部件640以与上面关于操作1030描述的方式类似或相同的方式识别一组元数据描述符;以与上面关于操作1040描述的方式类似或相同的方式生成方面排序得分;以及以与关于操作1050描述的方式类似或相同的方式生成发布的经修改的排序列表。
图13是项目图像的示例,该项目图像由服务器导致显示在用户设备处,随后是在用户设备处选择的项目图像,这样的选择由服务器访问。例如,用户单击项目图像或控件,以启动对更多视觉上相似的项目的查询。所选择的项目图像充当新视觉搜索的锚定器。在一个实施方式中,新的视觉搜索纯粹是视觉搜索。在另一实施方式中,通过来自与所选择的项目图像相关联的发布的属性或方面来通知新的视觉搜索。这样的方面依赖于来自与所选择的项目图像相关联的发布的文本、图像或其他内容。锚定图像提供来自对应锚定发布的信息,而不是要求用户提供信息以及查询图像。在一些示例中,锚定图像将进一步的搜索驱动为具有不同选项例如价格、运送和/或尺寸的同一项目。在其他示例中,锚定图像将进一步的搜索驱动为在类别、视觉外观、品牌、颜色、图案、标题、样式、功能和/或目的上类似或相同,例如用于诸如儿童的特定人群的项目。
图14是图像搜索查询项目的示例,图像搜索查询项目具有由用户设备提供的项目图像或具有例如图13中的由服务器访问的对项目图像的选择,随后服务器作为响应使得项目图像显示在用户设备处,其中显示的项目图像包括最接近的匹配以及图像搜索查询的各方面。各种实施方式对图像进行去重复或不对图像进行去重复。重复图像因关于同一项目的不同发布而产生。
图15是项目图像的示例,该项目图像由服务器导致显示在用户设备处,随后是在用户设备处选择的项目图像,这样的选择由服务器访问。
图16是图像搜索查询项目的示例,该图像搜索查询项目具有由用户设备提供的项目图像或具有例如图15中的由服务器访问的对项目图像的选择,随后服务器作为响应使得项目图像显示在用户设备处,其中显示的项目图像包括最接近的匹配以及图像搜索查询的各方面。
在图13至图16中,在一些实施方式中的过程是迭代的,使得在响应于图像查询而显示多个项目图像之后,用户选择所显示的项目图像中的一个或更多个以启动另一图像查询。在示例实施方式中,用户顺序地选择多个显示图像。每次,下一所选图像变为锚定器(例如,新图像查询),根据该锚定器启动另外的视觉搜索。在各种实施方式中作为结果的图像查询仅考虑最近选择的图像(也被称为最近的任务),或者来自多个图像查询的多个图像(也被称为多个任务)。来自多个图像查询的多个图像形成针对用户的个性化上下文以通知另外的图像查询,例如年龄、性别、尺寸、爱好、风格偏好、季节性和/或位置。在一些实施方式中,个性化上下文通过与所选择的一个或更多个图像相关联的发布的内容来通知。各种实施方式依赖于基于web的客户端、本机应用和聊天机器人,并且在一些这样的实施方式中,个性化上下文包括由用户尝试的一组查询和/或过滤器或由用户查看的项目。
图17是示出根据一些示例实施方式的机器1700的部件的框图,机器1700能够从机器可读介质(例如,机器可读存储介质)读取指令并且执行本文中讨论的方法中的任何一种或更多种。具体地,图17示出了呈计算机系统的示例形式的机器1700的示意表示,在该机器1700中可以执行用于使机器1700执行本文讨论的方法中的任何一种或更多种的指令1710(例如,软件、程序、应用、小程序、app或其他可执行代码)。例如,指令1710可以使机器1700执行图4、图7、图8和图9的流程图。另外或替选地,指令1710可以实现与图1至图6的服务和部件相关联的服务器等。指令1710将通用的非编程的机器1700转换为被编程成以描述的方式执行所描述的和所示出的功能的特定机器1700。
在替选实施方式中,机器1700操作为独立设备或者可以耦接(例如,联网)至其他机器。在联网部署中,机器1700可以以服务器-客户端网络环境中的服务器机器或客户端机器的身份进行操作,或者作为对等(或分布式)网络环境中的对等机器进行操作。机器1700可以包括但不限于:交换器、控制器、服务器计算机、客户端计算机、个人计算机(PC)、平板计算机、膝上型计算机、上网本、机顶盒(STB)、个人数字助理(PDA)、娱乐媒体系统、蜂窝电话、智能电话、移动设备、可穿戴设备(例如,智能手表)、智能家居设备(例如,智能电器)、其他智能设备、web设备、网络路由器、网络交换机、网络桥接器或者能够顺序地或以其他方式执行指定要由机器1700采取的动作的指令1710的任何机器。此外,虽然仅示出了单个机器1700,但是术语“机器”还应该被理解为包括单独或共同执行指令1710以执行本文中讨论的方法中的任何一种或更多种的机器1700的集合。
机器1700可以包括处理器1704、存储器/存储装置1706和I/O部件1718,其中,处理器1704、存储器/存储装置1706和I/O部件1718可以被配置成例如经由总线1702彼此通信。在示例实施方式中,处理器1704(例如,中央处理单元(CPU)、精简指令集计算(RISC)处理器、复杂指令集计算(CISC)处理器、图形处理单元(GPU)、数字信号处理器(DSP)、专用集成电路(ASIC)、射频集成电路(RFIC)、另外的处理器或其任何适当的组合)可以包括例如可以执行指令1710的处理器1708和处理器1712。术语“处理器”旨在包括多核处理器,该多核处理器可以包括可以同时执行指令的两个或更多个独立处理器(有时被称为“核”)。尽管图17示出了多个处理器1704,但是机器1700可以包括具有单个核的单个处理器、具有多个核的单个处理器(例如,多核处理器)、具有单个核的多个处理器、具有多个核的多个处理器或者其任意组合。
存储器/存储装置1706可以包括诸如主存储器或其他存储器存储装置的存储器1714以及存储单元1716,这两者都可由处理器1704例如经由总线1702访问。存储单元1716和存储器1714存储用于实现本文中描述的方法或功能中的任何一个或更多个的指令1710。指令1710还可以在其由机器1700执行期间完全地或部分地驻留在存储器1714内、驻留在存储单元1716内、驻留在处理器1704中的至少一个内(例如,在处理器的高速缓冲存储器内)或其任何合适的组合内。因此,存储器1714、存储单元1716和处理器1704的存储器是机器可读介质的示例。
如本文中使用的,“机器可读介质”是指能够临时地或永久地存储指令和数据的设备,并且可以包括但不限于:随机存取存储器(RAM)、只读存储器(ROM)、缓冲存储器、闪速存储器、光学介质、磁性介质、高速缓冲存储器、其他类型的存储装置(例如,可擦除可编程只读存储器(EEPROM))和/或其任意合适组合。术语“机器可读介质”应该被认为包括能够存储指令1710的单个介质或多个介质(例如,集中式或分布式数据库、或者相关联的缓存和服务器)。术语“机器可读介质”还应该被认为包括下述任何介质或多个介质的组合,所述任何介质或多个介质的组合能够存储用于由机器(例如,机器1700)执行的指令(例如,指令1710),使得指令在由机器的一个或更多个处理器(例如,处理器1704)执行时,使机器执行本文中描述的方法中的任何一种或更多种。因此,“机器可读介质”是指单个存储装置或设备以及包括多个存储装置或设备的“基于云”的存储系统或存储网络。术语“机器可读介质”不包括信号本身。
I/O部件1718可以包括用于接收输入、提供输出、产生输出、发送信息、交换信息、捕获测量结果等的各种各样的部件。在特定机器中包括的具体I/O部件1718将取决于机器的类型。例如,诸如移动电话的便携式机器将可能包括触摸输入设备或其他这样的输入机构,而无头服务器机器将可能不包括这样的触摸输入设备。要理解的是,I/O部件1718可以包括图17中未示出的许多其他部件。根据功能对I/O部件1718进行分组仅仅出于简化以下讨论的目的,并且分组决不是限制性的。在各种示例实施方式中,I/O部件1718可以包括输出部件1726和输入部件1728。输出部件1726可以包括视觉部件(例如,诸如等离子显示板(PDP)、发光二极管(LED)显示器、液晶显示器(LCD)、投影仪或阴极射线管(CRT)的显示器)、声学部件(例如,扬声器)、触觉部件(例如,振动马达、阻力机构)、其他信号发生器等。输入部件1728可以包括字母数字输入部件(例如,键盘、被配置成接收字母数字输入的触摸屏、光电键盘(photo-optical keyboard)或其他字母数字输入部件)、基于点的输入部件(例如,鼠标、触摸板、跟踪球、操纵杆、运动传感器或其他指向仪器)、触感输入部件(例如,物理按钮、提供触摸或触摸姿势的位置和/或力的触摸屏或其他触感输入部件)、音频输入部件(例如,麦克风)等。
在另外的示例实施方式中,I/O部件1718可以包括生物部件1730、运动部件1734、环境部件1736或位置部件1738以及各种其他部件。例如,生物部件1730可以包括用于检测表达(例如,手部表达、面部表情、声音表达、身体姿势或眼睛跟踪)、测量生物信号(例如,血压、心率、体温、出汗或脑波)、识别人(例如,语音识别、视网膜识别、面部识别、指纹识别或基于脑电图的识别)等的部件。运动部件1734可以包括加速度传感器部件(例如,加速度计)、重力传感器部件、旋转传感器部件(例如,陀螺仪)等。环境部件1736可以包括例如照明传感器部件(例如,光度计)、温度传感器部件(例如,检测环境温度的一个或更多个温度计)、湿度传感器部件、压力传感器部件(例如,气压计)、声学传感器部件(例如,检测背景噪声的一个或更多个麦克风)、接近度传感器部件(例如,检测附近对象的红外传感器)、气体传感器(例如,为了安全而检测危险气体的浓度或者测量大气中的污染物的气体检测传感器)或者可以提供与周围物理环境对应的指示、测量或信号的其他部件。位置部件1738可以包括位置传感器部件(例如,全球定位系统(GPS)接收器部件)、高度传感器部件(例如,高度计或检测可以根据其得出高度的气压的气压计)、定向传感器部件(例如,磁力计)等。
可以使用各种技术来实现通信。I/O部件1718可以包括通信部件1740,该通信部件1740可操作以分别经由耦接1724和耦接1722将机器1700耦接至网络1732或设备1720。例如,通信部件1740可以包括网络接口部件或其他合适的设备以与网络1732进行接口。在另外示例中,通信部件1740可以包括有线通信部件、无线通信部件、蜂窝通信部件、近场通信(NFC)部件、部件(例如,低功耗)、部件和经由其他模态提供通信的其他通信部件。设备1720可以是另外的机器或各种外围设备中的任何外围设备(例如,经由USB耦接的外围设备)。
此外,通信部件1740可以检测标识符或者包括可操作以检测标识符的部件。例如,通信部件1740可以包括射频识别(RFID)标签阅读器部件、NFC智能标签检测部件、光学阅读器部件(例如,用于检测诸如通用产品码(UPC)条形码的一维条形码、诸如快速响应(QR)码、Aztec码、数据矩阵、数据符号(Dataglyph)、最大码(MaxiCode)、PDF417、超码(UltraCode)、UCC RSS-2D条形码的多维条形码以及其他光学码的光学传感器)或声学检测部件(例如,用于识别标记的音频信号的麦克风)。此外,可以经由通信部件1740得到各种信息,如经由因特网协议(IP)地理位置得到的位置、经由信号三角测量得到的位置、经由检测可以指示特定位置的NFC信标信号得到的位置等。
在各种示例实施方式中,网络1732的一个或更多个部分可以是自组织网络、内联网、外联网、虚拟专用网络(VPN)、局域网(LAN)、无线LAN(WLAN)、广域网(WAN)、无线WAN(WWAN)、城域网(MAN)、因特网、因特网的一部分、公共交换电话网络(PSTN)的一部分、普通老式电话服务(POTS)网络、蜂窝电话网络、无线网络、网络、另外类型的网络或者两个或更多个这样的网络的组合。例如,网络1732或网络1732的一部分可以包括无线或蜂窝网络,并且耦接1724可以是码分多址(CDMA)连接、全球移动通信系统(GSM)连接或另外类型的蜂窝或无线耦接。在该示例中,耦接1724可以实现各种类型的数据传输技术中的任何数据传输技术,例如单载波无线电传输技术(1xRTT)、演进数据优化(EVDO)技术、通用分组无线服务(GPRS)技术、增强型数据速率GSM演进(EDGE)技术、包括3G的第三代合作伙伴计划(3GPP)、第四代无线(4G)网络、通用移动通讯系统(UMTS)、高速分组接入(HSPA)、全球微波接入互操作性(WiMAX)、长期演进(LTE)标准、由各种标准设置组织定义的其他数据传输技术、其他远程协议或其他数据传输技术。
可以经由网络接口设备(例如,包括在通信部件1740中的网络接口部件)使用传输介质并且利用若干公知的传输协议中的任意一种传输协议(例如,超文本传输协议(HTTP))通过网络1732来发送和接收指令1710。类似地,可以经由到设备1720的耦接1722(例如,对等耦接)使用传输介质来发送或接收指令1710。术语“传输介质”应被认为包括能够存储、编码或承载用于由机器1700执行的指令1710的任何无形介质,并且包括数字或模拟通信信号或其他无形介质以利于这样的软件的通信。
遍及本说明书,多个实例可以实现被描述为单个实例的部件、操作或结构。虽然一种或更多种方法的各个操作被示出和描述为分离的操作,但是各个操作中的一个或更多个可以同时执行,并且不要求以所示的顺序执行操作。在示例配置中作为分离的部件呈现的结构和功能可以实现为组合的结构或部件。类似地,作为单个部件呈现的结构和功能可以被实现为分离的部件。这些和其他变型、修改、添加以及改进落入本文中的主题的范围内。
本文中示出的实施方式被足够详细地描述,以使得本领域技术人员能够实践所公开的教示。可以使用以及从本文中示出的实施方式得到其他实施方式,使得可以在不偏离本公开内容的范围的情况下进行结构和逻辑替代和改变。因此,详细描述不应以限制性意义来理解,并且各种实施方式的范围仅通过所附权利要求以及这样的权利要求有权得到的等同方案的完全范围来限定。
如本文中使用的,术语“或”可以被解释为包含性或排他性意义。此外,可以针对在本文中描述为单个实例的资源、操作或结构提供多个实例。另外,各种资源、操作、模块、引擎和数据存储装置之间的边界在某种程度上是任意的,并且在特定说明性配置的背景下示出了特定操作。功能的其他分配被预见并且可以落入本公开内容的各种实施方式的范围内。通常,在示例配置中呈现为独立资源的结构和功能可以实现为组合的结构或资源。类似地,呈现为单个资源的结构和功能可以实现为独立的资源。这些和其他变型、修改、添加和改进落入如由所附权利要求表示的本公开内容的实施方式的范围内。因此,说明书和附图应以说明性的而不是限制性意义来看待。

Claims (20)

1.一种系统,包括:
一个或更多个硬件处理器;以及
包括指令的非暂态机器可读存储介质,所述指令在由至少一个硬件处理器执行时,使得所述至少一个硬件处理器执行操作,所述操作包括:
由所述至少一个硬件处理器访问描绘感兴趣对象的至少一部分的至少一个图像;
使得显示具有相应第一签名的第一多个图像,所述第一多个图像各自对应于发布语料库中的至少一个相应发布,所述至少一个图像的签名具有超过第一阈值相似性水平的关于所述第一签名的签名相似性;以及
响应于从所述第一多个图像中选择了选定图像,使得显示具有相应第二签名的第二多个图像,所述第二多个图像各自对应于发布语料库中的至少一个相应发布,所述第二签名具有超过第二阈值相似性水平的关于所述第二签名的签名相似性。
2.根据权利要求1所述的系统,其中,所述第一签名包括所述第一多个图像的向量表示。
3.根据权利要求1所述的系统,所述操作还包括:基于具有二进制向量表示的所述第一签名,确定所述至少一个图像与所述第一多个图像的所述第一签名具有更大的相似性是基于确定所述至少一个图像与所述第一多个图像之间的汉明距离以及所述至少一个图像与其他图像之间的汉明距离。
4.根据权利要求1所述的系统,其中,基于由在至少一个服务器上执行的聊天机器人接收到的会话文本来选择所述至少一个图像。
5.根据权利要求4所述的系统,其中,所述聊天机器人执行自然语言识别以将所述会话文本转换成结构化查询,所述结构化查询在被执行时产生对应于所述至少一个图像的搜索结果。
6.根据权利要求4所述的系统,其中,所述聊天机器人执行序列规范以构建上下文并且确定用户的意图,并且所述结构化查询被利用对应于所述意图的参数来丰富。
7.根据权利要求1所述的系统,其中,所述选定图像的选择是来自所述第一多个图像的使用表示所述第一多个图像的排序的平铺格式的呈现,并且所述第二多个图像的显示使用表示所述第二多个图像的排序的平铺格式。
8.一种方法,包括:
由至少一个服务器的至少一个处理器访问描绘感兴趣对象的至少一部分的至少一个图像;
使得显示具有相应第一签名的第一多个图像,所述第一多个图像各自对应于发布语料库中的至少一个相应发布,与对应于所述发布语料库中的其他发布的其他图像的第二签名相比,所述至少一个图像的签名与对应于所述发布物料库中的相应发布的所述第一多个图像的所述第一签名具有更大的签名相似性;以及
响应于从所述第一多个图像中选择了选定图像,使得显示具有相应第二签名的第二多个图像,所述第二多个图像各自对应于发布语料库中的至少一个相应发布,与对应于所述发布语料库中的其他发布的其他图像的第三签名相比,所述选定图像的第二输入签名与对应于所述发布语料库中的相应发布的所述第二多个图像的所述第二签名具有更大的签名相似性。
9.根据权利要求8所述的方法,其中,所述第一签名包括所述第一多个图像的向量表示。
10.根据权利要求8所述的方法,还包括:基于具有二进制向量表示的所述第一签名,确定所述至少一个图像与所述第一多个图像的所述第一签名具有更大的相似性是基于确定所述至少一个图像与所述第一多个图像之间的汉明距离以及所述至少一个图像与其他图像之间的汉明距离。
11.根据权利要求8所述的方法,其中,基于由在所述至少一个服务器上执行的聊天机器人接收到的会话文本来选择所述至少一个图像。
12.根据权利要求11所述的方法,其中,所述聊天机器人执行自然语言识别以将所述会话文本转换成结构化查询,所述结构化查询在被执行时产生对应于所述至少一个图像的搜索结果。
13.根据权利要求11所述的方法,其中,所述聊天机器人执行序列规范以构建上下文并且确定用户的意图,并且所述结构化查询被利用对应于所述意图的参数来丰富。
14.根据权利要求8所述的方法,其中,所述选定图像的选择是来自所述第一多个图像的使用表示所述第一多个图像的排序的平铺格式的呈现,并且所述第二多个图像的显示使用表示所述第二多个图像的排序的平铺格式。
15.一种包括指令的非暂态机器可读存储介质,所述指令在由至少一个机器的至少一个处理器执行时使得所述至少一个机器执行操作,所述操作包括:
由所述至少一个机器的所述至少一个处理器访问描绘感兴趣对象的至少一部分的至少一个图像;
使得显示具有相应第一签名的第一多个图像,所述第一多个图像各自对应于发布语料库中的至少一个相应发布,与对应于所述发布语料库中的其他发布的其他图像的其他签名相比,所述至少一个图像的签名与对应于所述发布物料库中的相应发布的所述第一多个图像的所述第一签名具有更大的签名相似性;以及
响应于从所述第一多个图像中选择了选定图像,使得显示第二多个图像,所述第二多个图像各自对应于发布语料库中的至少一个相应发布,与对应于所述发布语料库中的其他发布的其他图像的第三签名相比,所述选定图像的第二输入签名与对应于所述发布语料库中的相应发布的所述第二多个图像的所述第二签名具有更大的签名相似性。
16.根据权利要求15所述的非暂态机器可读存储介质,其中,所述第一签名包括所述第一多个图像的向量表示。
17.根据权利要求15所述的非暂态机器可读存储介质,还包括:基于具有二进制向量表示的所述第一签名,确定所述至少一个图像与所述第一多个图像的所述第一签名具有更大的相似性是基于确定所述至少一个图像与所述第一多个图像之间的汉明距离以及所述至少一个图像与其他图像之间的汉明距离。
18.根据权利要求15所述的非暂态机器可读存储介质,其中,基于由在至少一个服务器上执行的聊天机器人接收到的会话文本来选择所述至少一个图像。
19.根据权利要求18所述的非暂态机器可读存储介质,其中,所述聊天机器人执行自然语言识别以将所述会话文本转换成结构化查询,所述结构化查询在被执行时产生对应于所述至少一个图像的搜索结果。
20.根据权利要求18所述的非暂态机器可读存储介质,其中,所述聊天机器人执行序列规范以构建上下文并且确定用户的意图,并且所述结构化查询被利用对应于所述意图的参数来丰富。
CN201780075116.3A 2016-12-06 2017-12-05 锚定搜索 Pending CN110073347A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201662430426P 2016-12-06 2016-12-06
US62/430,426 2016-12-06
PCT/US2017/064663 WO2018106663A1 (en) 2016-12-06 2017-12-05 Anchored search

Publications (1)

Publication Number Publication Date
CN110073347A true CN110073347A (zh) 2019-07-30

Family

ID=62243230

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201780075116.3A Pending CN110073347A (zh) 2016-12-06 2017-12-05 锚定搜索

Country Status (5)

Country Link
US (1) US20180157681A1 (zh)
EP (1) EP3552168A4 (zh)
KR (1) KR20190095333A (zh)
CN (1) CN110073347A (zh)
WO (1) WO2018106663A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111752448A (zh) * 2020-05-28 2020-10-09 维沃移动通信有限公司 信息显示方法、装置及电子设备

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10599701B2 (en) 2016-02-11 2020-03-24 Ebay Inc. Semantic category classification
KR102387767B1 (ko) * 2017-11-10 2022-04-19 삼성전자주식회사 사용자 관심 정보 생성 장치 및 그 방법
US10977303B2 (en) * 2018-03-21 2021-04-13 International Business Machines Corporation Image retrieval using interactive natural language dialog
US10776626B1 (en) * 2018-05-14 2020-09-15 Amazon Technologies, Inc. Machine learning based identification of visually complementary item collections
US10824909B2 (en) * 2018-05-15 2020-11-03 Toyota Research Institute, Inc. Systems and methods for conditional image translation
CN109242601A (zh) * 2018-08-08 2019-01-18 阿里巴巴集团控股有限公司 商品信息查询方法和系统
US11698921B2 (en) * 2018-09-17 2023-07-11 Ebay Inc. Search system for providing search results using query understanding and semantic binary signatures
US10381006B1 (en) * 2018-11-26 2019-08-13 Accenture Global Solutions Limited Dialog management system for using multiple artificial intelligence service providers
US10438315B1 (en) * 2019-01-31 2019-10-08 Capital One Services, Llc Distributed image processing and manipulation
CN111831844A (zh) * 2019-04-17 2020-10-27 京东方科技集团股份有限公司 图像检索方法、图像检索装置、图像检索设备及介质
US11188720B2 (en) * 2019-07-18 2021-11-30 International Business Machines Corporation Computing system including virtual agent bot providing semantic topic model-based response
US11687778B2 (en) 2020-01-06 2023-06-27 The Research Foundation For The State University Of New York Fakecatcher: detection of synthetic portrait videos using biological signals
US11625429B2 (en) 2020-01-31 2023-04-11 Walmart Apollo, Llc Image searching using a full-text search engine
US11636291B1 (en) * 2020-04-06 2023-04-25 Amazon Technologies, Inc. Content similarity determination
US11580424B2 (en) * 2020-04-06 2023-02-14 International Business Machines Corporation Automatically refining application of a hierarchical coding system to optimize conversation system dialog-based responses to a user
US11935106B2 (en) * 2020-12-30 2024-03-19 Beijing Wodong Tianjun Information Technology Co., Ltd. System and method for product recommendation based on multimodal fashion knowledge graph
US11610249B2 (en) * 2021-01-13 2023-03-21 Walmart Apollo, Llc System, method, and computer readable medium for automatic item rankings
US20230267151A1 (en) * 2022-02-18 2023-08-24 Ebay Inc. Aspect-aware autocomplete query

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102057371A (zh) * 2008-06-06 2011-05-11 汤姆逊许可证公司 用于图像的类似性搜索的系统和方法
US20110314031A1 (en) * 2010-03-29 2011-12-22 Ebay Inc. Product category optimization for image similarity searching of image-based listings in a network-based publication system

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7158961B1 (en) * 2001-12-31 2007-01-02 Google, Inc. Methods and apparatus for estimating similarity
US7551780B2 (en) * 2005-08-23 2009-06-23 Ricoh Co., Ltd. System and method for using individualized mixed document
US7966327B2 (en) * 2004-11-08 2011-06-21 The Trustees Of Princeton University Similarity search system with compact data structures
US7860317B2 (en) * 2006-04-04 2010-12-28 Microsoft Corporation Generating search results based on duplicate image detection
EP2618290A3 (en) * 2008-04-02 2014-08-06 Google, Inc. Method and apparatus to incorporate automatic face recognition in digital image collections
US8391615B2 (en) * 2008-12-02 2013-03-05 Intel Corporation Image recognition algorithm, method of identifying a target image using same, and method of selecting data for transmission to a portable electronic device
US9008424B2 (en) * 2011-01-25 2015-04-14 Telecom Italia S.P.A. Method and system for comparing images
WO2013075316A1 (en) * 2011-11-24 2013-05-30 Microsoft Corporation Interactive multi-modal image search
US9836671B2 (en) * 2015-08-28 2017-12-05 Microsoft Technology Licensing, Llc Discovery of semantic similarities between images and text
US9846808B2 (en) * 2015-12-31 2017-12-19 Adaptive Computation, Llc Image integration search based on human visual pathway model

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102057371A (zh) * 2008-06-06 2011-05-11 汤姆逊许可证公司 用于图像的类似性搜索的系统和方法
US20110314031A1 (en) * 2010-03-29 2011-12-22 Ebay Inc. Product category optimization for image similarity searching of image-based listings in a network-based publication system

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
KEVIN LIN: ""Deep Learning of Binary Hash Codes for Fast Image Retrieval"", 《IEEE》 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111752448A (zh) * 2020-05-28 2020-10-09 维沃移动通信有限公司 信息显示方法、装置及电子设备

Also Published As

Publication number Publication date
EP3552168A1 (en) 2019-10-16
EP3552168A4 (en) 2020-01-01
WO2018106663A1 (en) 2018-06-14
KR20190095333A (ko) 2019-08-14
US20180157681A1 (en) 2018-06-07

Similar Documents

Publication Publication Date Title
US11604951B2 (en) Image analysis and prediction based visual search
CN110073347A (zh) 锚定搜索
US11423636B2 (en) Saliency-based object counting and localization
US11775844B2 (en) Visual aspect localization presentation
CN108701118B (zh) 语义类别分类
KR102318502B1 (ko) 대화 중 미션 변경의 검출
US11704926B2 (en) Parallel prediction of multiple image aspects
US20180107682A1 (en) Category prediction from semantic image clustering
CN109716334A (zh) 选择下一用户提示类型
US20180053233A1 (en) Expandable service architecture with configurable orchestrator
CN110175297A (zh) 馈送中的个性化的每成员模型

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination