CN113538085A - 用于店内产品推荐的计算机实现的系统和方法 - Google Patents

用于店内产品推荐的计算机实现的系统和方法 Download PDF

Info

Publication number
CN113538085A
CN113538085A CN202110410610.9A CN202110410610A CN113538085A CN 113538085 A CN113538085 A CN 113538085A CN 202110410610 A CN202110410610 A CN 202110410610A CN 113538085 A CN113538085 A CN 113538085A
Authority
CN
China
Prior art keywords
product
merchant
user
location
products
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
CN202110410610.9A
Other languages
English (en)
Inventor
J·M·哈波加
B·L·德尔加多
S·勒鲁
D·博尚
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.)
Xiu Pufei Co
Shopify Inc
Original Assignee
Xiu Pufei Co
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 Xiu Pufei Co filed Critical Xiu Pufei Co
Publication of CN113538085A publication Critical patent/CN113538085A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • G06Q30/0251Targeted advertisements
    • G06Q30/0255Targeted advertisements based on user history
    • 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
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0631Item recommendations
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/017Head mounted
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/20Scenes; Scene-specific elements in augmented reality scenes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/52Surveillance or monitoring of activities, e.g. for recognising suspicious objects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • H04L67/306User profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/535Tracking the activity of the user
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/0101Head-up displays characterised by optical features
    • G02B2027/0138Head-up displays characterised by optical features comprising image capture systems, e.g. camera
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/0101Head-up displays characterised by optical features
    • G02B2027/014Head-up displays characterised by optical features comprising information/image processing systems
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/0179Display position adjusting means not related to the information to be displayed

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Development Economics (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Economics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Mathematical Physics (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Data Mining & Analysis (AREA)
  • Multimedia (AREA)
  • Computer Hardware Design (AREA)
  • Game Theory and Decision Science (AREA)
  • Optics & Photonics (AREA)
  • Human Computer Interaction (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

当人访问实体零售商店时,商家通常没有足够的关于该人的信息来作出有意义的产品推荐。此外,实体零售商店通常具有物理地分布在整个商店各处的产品。可能希望具有顾客所在的位置和所推荐产品的位置之间的某种关系。在一些实施例中,当人访问商店时,计算机确定该人的身份并且基于该人的用户特定信息来生成产品推荐。在一些实施例中,生成产品推荐包括检测设备的摄像机的视场已经改变,并且作为响应,确定摄像机的当前视场内或附近的多个产品。然后,将多个产品中的至少一个标识为推荐产品。

Description

用于店内产品推荐的计算机实现的系统和方法
优先权
本申请要求2020年4月17日提交的题为“Computer-Implemented Systems andMethods for In-Store Product Recommendations”的美国临时专利申请序列号63/011,518的优先权。
技术领域
本申请涉及使用计算机技术来帮助在实体零售商店中的产品推荐。
背景技术
商家可以经营实体零售商店,顾客能够亲自访问实体零售商店以便查看和购买产品。实体零售商店有时也被称为“实体”店。
进入实体零售商店的人可以是回头客或新的访客。即使该人是回头客,商家也可能不能认出该人,例如,如果该人仅在许多月前进行过单次购买。即使商家将该人识别为回头客,商家通常也几乎没有关于该回头客的信息,除了商家可以记住或立即看到的内容之外(例如,该人是成年男士)。商家通常没有足够的关于该人的信息来对商店中的销售产品进行有意义的推荐。更一般地,商家可能不记得或不觉知针对该商店中存在的特定库存的所有可能的产品推荐。
此外,实体零售商店通常具有物理地分布在整个商店中的产品。可能希望在顾客在商店中的位置与所推荐产品的位置之间具有某种关联,例如,使得不向顾客推荐位于商店的与顾客当前所在地方相对端处的产品。
发明内容
希望使用计算机技术来尝试减轻上述问题中的一个或多个问题。
在一些实施例中,当人访问实体零售商店时,计算机确定该人的身份并且基于该人的用户特定信息来生成产品推荐。在一些实施例中,产品推荐还基于或替代地基于记录在计算机存储器中的商店库存信息。在一些实施例中,产品推荐还基于或替代地基于人在商店中的位置(例如,物理位置和/或定向),和/或基于人表达出兴趣的产品。在一些实施例中,存储产品推荐规则并将其用于生成产品推荐。
在一些实施例中,当人进入实体零售商店时,首先执行识别步骤以便将该人与计算机系统中的用户相关联。用户由用户标识(ID)来标识。在一些实施例中,识别步骤可以包括执行面部识别和/或与该人的移动电话通信以获得用户ID。用户ID被用于从计算机存储器中检索与该用户ID相关地存储的信息。信息可以包括用户特定的特征,例如用户特定的信息,诸如(但不限于)用户的先前购买历史、和/或用户的尺寸、和/或用户与商家的先前交互(诸如与商家的文本或电子邮件交换)、和/或用户的地址或账单信息等。在一些实施例中,用户特定信息然后被用于做出特定于用户的产品推荐。在一些实施例中,产品推荐也基于或替代地基于由计算机获得的其他信息,例如基于商店库存信息、人在商店中的物理位置等。
作为一个示例:计算机使用室内定位系统(IPS)或信标技术来识别用户在商店的销售牛仔裤的部分中;计算机挖掘用户的简档以确定用户去年购买了32英寸腰围的蓝色牛仔裤;计算机在存储器中存储规则“如果先前购买的牛仔裤的尺寸为X,颜色为Y,并且如果用户的位置在牛仔裤的区域中,则推荐现货中尺寸为X并且颜色不同于Y的牛仔裤”。计算机执行该规则,并确定腰围为32英寸的黑色牛仔裤有现货,并满足该规则的结果。然后,对黑色牛仔裤的推荐被显露给商家,例如在商家的移动设备或增强现实(AR)眼镜上。32英寸的腰围尺寸也可以显露给商家以让他们获知信息。在一些实施例中,可以例如使用AR寻路或通过使在商店中展示单元的推荐的黑色牛仔裤上或附近的视觉或听觉传感器激活来为商家标识黑色牛仔裤的位置。例如,当检测到商家设备的位置在黑色牛仔裤的位置附近时,例如使用图像处理来处理由商家设备的摄像机捕获的数字图像,以尝试在图像中标识推荐的黑色牛仔裤。一旦标识了它们,就可以在商家设备上呈现数字对象以便强调黑色牛仔裤。例如,数字对象可以是在商家设备上呈现在黑色牛仔裤上的圆点。
在一些实施例中,推荐替代地(或附加地)呈现在顾客设备上,例如在其中产品推荐直接在顾客设备上呈现给顾客的实现中。
在一些实施例中,一种计算机实现的方法包括检测设备的摄像机的视场已经改变。响应于检测到摄像机的视场已经改变,确定摄像机的当前视场内或附近的多个产品。将多个产品中的至少一个标识为推荐产品。该方法还可以包括引起推荐产品的强调。设备可以是顾客设备和/或商家设备。可以以不同的方式执行对摄像机的视场已经改变的检测,例如检测设备的位置的改变和/或检测由摄像机捕获的图像的改变和/或检测摄像机的至少一个参数的改变。推荐产品的强调可以以不同的方式进行,例如强调推荐产品上的机构、和/或强调推荐产品存在于其上或其中的展示或存储单元、和/或在设备的显示器上呈现视觉指示符等。
在一些实施例中,一种计算机实现的方法包括获得与访问零售商店的人相关联的用户身份。该方法还包括从存储器检索链接到用户身份的用户简档。用户简档存储关于该人的信息。该方法还可以包括基于来自用户简档的信息生成产品推荐。该方法还可以包括传送产品推荐以用于在设备的用户界面上呈现。产品推荐是针对推荐产品的。在一些实施例中,传送产品推荐以用于在设备的用户界面上呈现包括传送推荐产品以用于在设备的用户界面上显示的指示。在一些实施例中,生成产品推荐可以包括:检测设备的摄像机的视场已经改变,并且响应于检测到摄像机的视场已经改变,确定摄像机的当前视场内或附近的多个产品。在一些实施例中,多个产品中的一个可以被标识为推荐产品。在一些实施例中,该方法可以包括引起推荐产品的强调。引起推荐产品的强调可以包括指示强调推荐产品上的机构、和/或指示强调推荐产品存在于其上或其中的展示或存储单元、和/或指示在设备的显示器上呈现视觉指示符等。
还公开了一种被配置为执行本文公开的方法的系统。例如,该系统可以包括存储器以存储信息,例如存储与访问零售商店的人相关联的用户身份,和/或存储具有关于该人的信息的用户简档。该系统还可以包括至少一个处理器,以直接执行(或指示系统执行)方法步骤。在另一实施例中,提供了一种计算机可读介质,其上存储有计算机可执行指令,所述指令当由计算机执行时使计算机执行本文公开的方法的操作。
根据一个实施例,一种计算机实现的方法包括检测设备的摄像机的视场已经改变。该方法还可以包括:响应于检测到摄像机的视场已经改变,确定摄像机的当前视场内或附近的多个产品。该方法还可以包括将多个产品中的一个标识为推荐产品。该方法还可以包括引起推荐产品的强调。
在一些实施例中,引起推荐产品的强调可以包括以下中的至少一个:指示强调推荐产品上的机构;指示强调推荐产品存在于其上或其中的展示或存储单元;或指示在设备的显示器上呈现视觉指示符。视觉指示符可以在设备的显示器上显示的图像中强调推荐产品。
在一些实施例中,检测摄像机的视场已经改变可以包括以下中的至少一个:检测设备的位置的改变;检测由摄像机捕获的图像的改变;或者检测摄像机的至少一个参数的改变。
在一些实施例中,可以基于设备的位置来确定多个产品。在一些实施例中,位置可以包括设备的位置和/或定向。在一些实施例中,可从设备上的至少一个传感器确定定向。在一些实施例中,确定多个产品可以包括基于摄像机的至少一个参数和/或基于设备的位置和/或定向来确定哪些产品在摄像机的当前视场内或附近。在一些实施例中,至少一个传感器包括加速度计,并且可使用加速度计来确定设备的定向。在一些实施例中,可以使用以下中的至少一个来确定位置:室内定位系统(IPS);信标;设备上的射频标识(RFID)读取器;设备上的机器可读代码读取器;或者由摄像机捕获的至少一个图像的图像处理。
在一些实施例中,该方法可包括通过执行由摄像机捕获的至少一个图像的处理以标识图像中的指示设备的位置的至少一个特征来获得设备的位置。
在一些实施例中,将多个产品中的一个标识为推荐产品可以包括:获得访问零售商店的人的用户身份;从存储器检索链接到用户身份的用户简档,用户简档存储关于该人的信息;以及基于来自用户简档的信息生成推荐产品。
在一些实施例中,用户简档中的信息可以包括由人在线查看的一个或多个产品的指示,并且推荐产品可以基于由人在线查看的一个或多个产品的指示来生成。
在一些实施例中,用户简档中的信息可以包括人的购买历史,并且可以基于购买历史来生成推荐产品。
在一些实施例中,生成推荐产品可以包括对照规则的一个或多个条件来评估来自用户简档的信息,并且当满足规则的每个条件时选择推荐产品作为由规则指示的结果。
在一些实施例中,生成推荐产品可以包括将来自用户简档的信息作为输入提供给机器学习算法,并且根据机器学习算法的所得输出选择推荐产品。
根据另一实施例,一种计算机实现的方法可以包括获得与访问零售商店的人相关联的用户身份。该方法还可以包括从存储器检索链接到该用户身份的用户简档。用户简档可以存储关于该人的信息。该方法还可以包括基于来自用户简档的信息生成产品推荐。该方法还可以包括传送产品推荐以用于在设备的用户界面上呈现。
在一些实施例中,产品推荐可以是针对推荐产品的,并且传送产品推荐以用于在设备的用户界面上呈现可以包括传送推荐产品以用于在设备的用户界面上显示的指示。在一些实施例中,生成产品推荐可以包括:检测设备的摄像机的视场已经改变;响应于检测到摄像机的视场已经改变,确定摄像机的当前视场内或附近的多个产品;以及将多个产品中的一个标识为推荐产品。
在一些实施例中,该方法可以包括引起推荐产品的强调。引起推荐产品的强调可以包括以下中的至少一个:指示强调推荐产品上的机构;指示强调推荐产品存在于其上或其中的展示或存储单元;或指示在设备的显示器上呈现视觉指示符等。视觉指示符可以在设备的显示器上显示的图像中强调推荐产品。
在一些实施例中,检测摄像机的视场已经改变可以包括以下中的至少一个:检测设备的位置的改变;检测由摄像机捕获的图像的改变;或者检测摄像机的至少一个参数的改变。在一些实施例中,位置包括设备的位置和/或定向。可以从设备上的至少一个传感器确定定向。在一些实施例中,确定多个产品可以包括基于摄像机的至少一个参数和/或基于设备的位置和/或定向来确定哪些产品在摄像机的当前视场内或附近。
在一些实施例中,用户简档中的信息可以包括人的购买历史,并且可以基于购买历史来生成产品推荐。
在一些实施例中,用户简档中的信息可以包括由人在线查看的一个或多个产品的指示,并且可以基于由人在线查看的一个或多个产品的指示来生成产品推荐。
在一些实施例中,生成产品推荐可以包括对照规则的一个或多个条件来评估来自用户简档的信息,并且当满足规则的每个条件时选择产品推荐作为由规则指示的结果。
在一些实施例中,产品推荐可以基于存储在存储器中的一个或多个规则。在一些实施例中,一个或多个规则可以是在训练期间由机器学习算法确定的关系或模式。在一些实施例中,生成产品推荐可以包括将来自用户简档的信息作为输入提供给机器学习算法,并且根据机器学习算法的所得输出选择产品推荐。
在一些实施例中,设备是商家设备,产品推荐是针对特定产品的,并且传送产品推荐以用于在设备的用户界面上呈现包括向商家设备发送特定产品的指示。在一些实施例中,该方法可以包括确定特定产品的位置,以及指示商家设备在商家设备的用户界面上显示视觉引导。视觉引导可以帮助将商家引导到特定产品。
根据另一实施例,系统可以包括存储器,以存储与访问零售商店的人相关联的用户身份。存储器还可以或替代地存储具有关于该人的信息的用户简档。系统还可以包括至少一个处理器以:获得用户身份并且基于该用户身份检索用户简档;基于来自用户简档的信息生成产品推荐;以及传送产品推荐以用于在设备的用户界面上呈现。
在一些实施例中,产品推荐可以是针对推荐产品的。在一些实施例中,至少一个处理器可以通过传送推荐产品以用于在设备的用户界面上显示的指示来传送产品推荐以用于在设备的用户界面上呈现。在一些实施例中,至少一个处理器通过执行包括如下的操作来生成产品推荐:检测设备的摄像机的视场已经改变;响应于检测到摄像机的视场已经改变,确定摄像机的当前视场内或附近的多个产品;以及将多个产品中的一个标识为推荐产品。
在一些实施例中,至少一个处理器将通过执行以下中的至少一个来引起推荐产品的强调:指示强调推荐产品上的机构;指示强调推荐产品存在于其上或其中的展示或存储单元;或指示在设备的显示器上呈现视觉指示符,视觉指示符在设备的显示器上显示的图像中强调推荐产品。
在一些实施例中,至少一个处理器将通过执行以下各项中的至少一项来检测摄像机的视场已经改变:检测设备的位置的改变;检测由摄像机捕获的图像的改变;或者检测摄像机的至少一个参数的改变。在一些实施例中,位置可以包括设备的位置和/或定向。在一些实施例中,可从设备上的至少一个传感器确定定向。在一些实施例中,至少一个处理器可以通过执行包括如下的操作来确定多个产品:基于摄像机的至少一个参数和/或基于设备的位置和/或定向来确定哪些产品在摄像机的当前视场内或附近。
在一些实施例中,用户简档中的信息可以包括该人的购买历史,并且产品推荐将基于该购买历史而生成。
在一些实施例中,用户简档中的信息可以包括由人在线查看的一个或多个产品的指示,并且产品推荐将基于由人在线查看的一个或多个产品的指示来生成。
在一些实施例中,至少一个处理器通过执行包括如下的操作来生成产品推荐:对照规则的一个或多个条件来评估来自用户简档的信息,以及当满足规则的每个条件时选择产品推荐作为由规则指示的结果。
在一些实施例中,产品推荐可以基于存储在存储器中的一个或多个规则。一个或多个规则可以是在训练期间由机器学习算法确定的关系或模式。在一些实施例中,至少一个处理器将通过执行包括如下的操作来生成产品推荐:提供来自用户简档的信息作为到机器学习算法的输入,以及根据机器学习算法的所得输出选择产品推荐。
在一些实施例中,设备是商家设备。在一些实施例中,产品推荐是针对特定产品的。在一些实施例中,至少一个处理器将通过将特定产品的指示发送到商家设备来传送产品推荐以用于在设备的用户界面上呈现。在一些实施例中,至少一个处理器将确定特定产品的位置并且指示商家设备在商家设备的用户界面上显示视觉引导。视觉引导可以用于帮助将商家引导到特定产品。
根据另一实施例,提供了一种计算机可读介质,其上存储有计算机可执行指令,所述指令当由计算机执行时使计算机执行操作。操作可以包括获得与访问零售商店的人相关联的用户身份。操作还可以包括从存储器检索链接到用户身份的用户简档,用户简档存储关于该人的信息。操作还可以包括基于来自用户简档的信息生成产品推荐。信息还可以包括传送产品推荐以用于在设备的用户界面上呈现。
根据另一实施例,提供了一种系统,其具有处理器,以使该系统执行本文所述的方法中的任何一种方法。
根据另一实施例,提供了一种计算机程序,其当由计算机执行时使计算机执行本文所述的方法中的任何一种方法的步骤。
因此,提供了如在所附权利要求中详述的方法、系统和计算机程序。
附图说明
将参考附图仅通过示例的方式描述实施例,其中:
图1是根据一个实施例的电子商务平台的框图;
图2是根据一个实施例的管理器(administrator)主页的示例;
图3示出图1的电子商务平台,但是具有产品推荐引擎;
图4示出根据一个实施例的用于实体零售商店中的产品推荐的系统;
图5示出示例用户简档;
图6示出根据一个实施例的零售商店的产品库存和位置数据的示例;
图7示出根据一个实施例的推荐规则的示例;
图8至图10示出根据各种实施例的示例用户界面;
图11和12示出根据各种实施例的推荐产品的强调;以及
图13和14是根据各种实施例的计算机实现的方法。
具体实施方式
出于说明性目的,现在将在下文结合附图更详细地解释特定示例实施例。
示例电子商务平台
在一些实施例中,本文公开的方法可以与商务平台相关地执行,该商务平台在本文中将被称为电子商务平台。因此,为了完整起见,将首先描述电子商务平台的示例。
图1示出了根据一个实施例的电子商务平台100。电子商务平台100可用于向顾客提供商家产品和服务。虽然本公开考虑使用设备、系统和过程来购买产品和服务,但是为了简单起见,本文中的描述将只针对产品。贯穿本公开的对产品的所有引用也应当被理解为对产品和/或服务的引用,包括物理产品、数字内容、票、订阅、要提供的服务等。
虽然本公开通篇考虑了“商家”和“顾客”可以不只是个人,但是为了简单起见,本文中的描述一般也可以同样指代商家们和顾客们。在本公开中对商家和顾客的所有引用也应当被理解为对个人、公司、企业、计算实体等的组的引用,并且可以表示产品的盈利目的或非盈利目的的交换。此外,虽然本公开通篇涉及“商家”和“顾客”,并且如此描述了它们的角色,但是电子商务平台100应当被理解为更一般地支持电子商务环境中的用户,并且本公开通篇对商家和顾客的所有引用也应当被理解为是对用户的引用,诸如其中用户是商家用户(例如,产品的销售者、零售商、批发商或提供商)、顾客用户(例如,产品的买家、购买代理或用户)、预期用户(例如,浏览并且尚未承诺购买的用户、评估电子商务平台100以潜在地用于营销和销售产品的用户等)、服务提供商用户(例如,配送提供商112、财务提供商等)、公司或企业用户(例如,代表购买、销售或使用产品的公司、企业用户、顾客关系或顾客管理代理等)、信息技术用户、计算实体用户(例如,用于购买、销售或使用产品的计算机器人程序)等。
电子商务平台100可以提供用于向商家提供用于管理其业务的在线资源和设施的集中式系统。本文所述的设施可通过在一个或多个处理器上执行计算机软件、模块、程序代码和/或指令的机器来部分或全部部署,所述一个或多个处理器可为平台100的一部分或在其外部。商家可以利用电子商务平台100来管理与顾客的商务,诸如经由通过在线商店138、通过渠道110A-B、通过物理位置(例如,实体店面或诸如通过信息亭、终端、读取器、打印机、3D打印机等的其他位置)中的POS设备152实现与顾客的电子商务体验、经由通过电子商务平台100管理他们的业务、以及经由通过电子商务平台100的通信设施129与顾客交互、或其任何组合。商家可以将电子商务平台100用作与顾客的唯一商务存在,或者与其他商家商务设施相结合,诸如通过实体商店(例如,“实体”零售商店)、商家平台外网站104(例如,与电子商务平台分开的由商家支持或代表商家的商务互联网网站或其他互联网或web资产)等。然而,甚至这些“其他”商家商务设施也可被结合到电子商务平台中,诸如其中商家的实体商店中的POS设备152被链接到电子商务平台100中、其中商家平台外网站104诸如通过将内容从商家平台外网站104链接到在线商店138的“购买按钮”而被绑定到电子商务平台100等等。
在线商店138可以表示包括多个虚拟店面的多租户设施。在实施例中,商家可以诸如通过商家设备102(例如,计算机、膝上型计算机、移动计算设备等)来管理在线商店138中的一个或多个店面,并且通过多个不同的渠道110A-B(例如,在线商店138;通过POS设备152的实体店面;电子市场;通过集成到诸如社交网络、社交媒体页面、社交媒体消息传送系统之类的网站或社交媒体渠道中的电子购买按钮;等)来向顾客提供产品。商家可以跨渠道110A-B销售,然后通过电子商务平台100管理其销售,其中,渠道110A可以在电子商务平台100内部提供或者从电子商务渠道110B外部提供。商家可以在其实体零售商店中、在弹出处、通过批发、通过电话等销售,然后通过电子商务平台100管理其销售。商家可以采用这些的全部或任何组合,诸如通过利用POS设备152的实体店面来维护业务、通过在线商店138来维护虚拟店面、以及利用通信设施129来利用顾客交互和分析132以提高销售的概率。贯穿本公开,术语在线商店138和店面可以同义地用于指代通过电子商务平台100提供存在的商家的在线电子商务,其中,在线商店138可以指代由电子商务平台100支持的店面的多租户集合(例如,针对多个商家)或者指代单独的商家的店面(例如,商家的在线商店)。
在一些实施例中,顾客可以通过顾客设备150(例如,计算机、膝上型计算机、移动计算设备等)、POS设备152(例如,零售设备、售货亭、自动结账系统等)或本领域已知的任何其他商务接口设备进行交互。电子商务平台100可以使商家能够通过在线商店138、通过物理位置(例如,商家的店面或其他地方)中的POS设备152到达顾客,以通过经由电子通信设施129的对话等来促进与顾客的商务,从而提供用于到达顾客并促进可用于到达顾客并与顾客交互的真实或虚拟路径的商家服务的系统。
在一些实施例中,并且如本文进一步描述的,电子商务平台100可以通过包括处理器和存储器的处理设施来实现,处理设施存储一组指令,当执行该组指令时使得电子商务平台100执行如本文描述的电子商务和支持功能。处理设施可以是服务器、客户端、网络基础设施、移动计算平台、云计算平台、固定计算平台或其他计算平台的一部分,并且提供电子商务平台100的电子部件、商家设备102、支付网关106、应用开发者、渠道110A-B、配送提供商112、顾客设备150、销售点设备152等之间的电子连接和通信。电子商务平台100可以被实现为云计算服务、软件即服务(SaaS)、基础设施即服务(IaaS)、平台即服务(PaaS)、桌面即服务(DaaS)、管理软件即服务(MSaaS)、移动后端即服务(MBaaS)、信息技术管理即服务(ITMaaS)等,诸如在软件和递送模型中,其中,软件基于订阅被许可并且被集中托管(例如,由用户使用客户端(例如,瘦客户端)经由web浏览器或其他应用进行访问、通过POS设备进行访问等)。在一些实施例中,电子商务平台100的元素可以被实现为在各种平台和操作系统上操作,诸如iOS、Android、在web上等(例如,管理器114在针对web以及针对iOS、Android的给定在线商店的多个实例中实现,每个具有类似的功能)。
在一些实施例中,可以通过由电子商务平台100的服务器提供的网页来将在线商店138提供给顾客设备150。服务器可以从安装在顾客设备150上的浏览器或其他应用接收对网页的请求,其中,浏览器(或其他应用)通过IP地址连接到服务器,IP地址通过转换域名而获得。作为回应,服务器发送回所请求的网页。网页可以用超文本标记语言(HTML)、模板语言、JavaScript等或其任何组合来编写或包括超文本标记语言(HTML)、模板语言、JavaScript等或其任何组合。例如,HTML是描述网页的静态信息的计算机语言,诸如网页的布局、格式和内容。网站设计者和开发者可以使用模板语言来构建网页,其组合了在多个页面上相同的静态内容和从一个页面到下一个页面发生改变的动态内容。模板语言可以使得能够在利用来自在线商店的数据动态地填充页面的同时重新使用定义网页布局的静态元素。静态元素可以用HTML编写,而动态元素可以用模板语言编写。文件中的模板语言元素可以充当占位符,使得文件中的代码被编译并发送到顾客设备150,然后诸如在安装主题时,模板语言被来自在线商店138的数据替换。模板和主题可以考虑标签、对象和过滤器。客户端设备web浏览器(或其他应用)然后相应地渲染页面。
在一些实施例中,可以由电子商务平台100将在线商店138提供给顾客,其中,顾客可以浏览和购买各种可用产品(例如,将它们添加到购物车中、通过购买按钮立即购买等)。可以以透明的方式将在线商店138提供给顾客,而顾客不必知道其是通过电子商务平台100提供的(而不是直接从商家提供的)。商家可以使用商家可配置域名、可定制HTML主题等来定制其在线商店138。商家可以通过主题系统定制其网站的外观和感觉,诸如其中商家可以通过改变他们的主题同时具有在在线商店的产品层次内示出的相同的基础产品和业务数据来选择和改变他们的在线商店138的外观和感觉。主题还可以通过主题编辑器、使用户能够灵活地定制其网站设计的设计接口来定制。主题还可以使用主题特定设置来定制,其改变诸如特定颜色、字体和预先建立的布局方案之类的方面。在线商店可以实现用于网站内容的内容管理系统。商家可以创作博客帖子或静态页面,并将它们发布到其在线商店138(例如通过博客、文章等),以及配置导航菜单。商家可以将(例如,用于产品的)图像、视频、内容、数据等上传到电子商务平台100,诸如用于由系统存储(例如,作为数据134)。在一些实施例中,电子商务平台100可以提供用于调节图像大小、将图像与产品相关联、添加文本并将文本与图像相关联、添加用于新产品变体的图像、保护图像等的功能。
如这里所描述的,电子商务平台100可以通过包括在线商店138的多个不同的渠道110A-B、通过电话以及通过物理POS设备152来向商家提供产品的交易设施,如本文所述。电子商务平台100可包括与运行在线业务相关联的业务支持服务116、管理器114等,从而诸如提供与其在线商店相关联的域服务118、用于促进与顾客交易的支付服务120、用于提供针对所购买产品的顾客配送选项的配送服务122、与产品保护和责任相关联的风险和保险服务124、商家账单等。服务116可以经由电子商务平台100或与外部设施相关联地提供,诸如通过用于支付处理的支付网关106、用于加速产品配送的配送提供商112等。
在一些实施例中,电子商务平台100可以提供整合的配送服务122(例如,通过电子商务平台配送设施或通过第三方配送承运商),诸如向商家提供实时更新、跟踪、自动费率计算、批量订单准备、标签打印等。
图2描绘了管理器114的主页的非限制性实施例,其可以示出关于日常任务、商店的最近活动、以及商家可以采取以构建其业务的接下来的步骤的信息。在一些实施例中,商家可以经由商家设备102诸如从台式计算机或移动设备登录到管理器114,并且管理其在线商店138的各方面,诸如查看在线商店138的最近活动、更新在线商店138的目录、管理订单、最近访问活动、总订单活动等。在一些实施例中,商家可能能够通过使用工具栏(sidebar)来访问管理器114的不同部分,诸如图2所示,管理器114的各部分可以包括用于访问和管理包括订单、产品、顾客、可用报告和折扣的商家业务的核心方面的各种接口。管理器114还可以包括用于管理包括在线商店、使得顾客可访问商店的(一个或多个)移动应用(移动App)、POS设备和/或购买按钮的商店的销售渠道的接口。管理器114还可以包括用于管理安装在商家账户上的应用(App);应用于商家在线商店138和账户的设置的接口。商家可使用搜索栏来查找产品、页面或其他信息。取决于商家正在使用的设备102或软件应用,可以通过管理器114使得他们能够用于不同的功能。例如,如果商家从浏览器登录到管理器114,则他们可能能够管理他们的在线商店138的所有方面。如果商家从其移动设备(例如,经由移动应用)登录,则他们可能能够查看其在线商店138的所有方面或其子集,诸如查看在线商店138的最近活动、更新在线商店138的目录、管理订单等。
可以通过获取报告或度量(诸如显示商家的总体业务的销售概要、现行销售渠道的具体销售和参与数据等)来查看关于商家的在线商店138的商务和访客的更详细的信息。报告可以包括获取报告、行为报告、顾客报告、财务报告、营销报告、销售报告、定制报告等。商家可以能够诸如通过使用下拉菜单来查看来自不同时间段(例如,天、周、月等)的不同渠道110A-B的销售数据。可以为想要更详细地查看商店的销售和参与数据的商家提供概览仪表板。可以提供主页度量部分中的活动馈送以示出商家账户上的活动的概况。例如,通过点击“查看所有最近活动”仪表板按钮,商家可以能够看到在其账户上的最近活动的较长馈送。主页可以诸如基于账户状态、增长、最近的顾客活动等示出关于商家的在线商店138的通知。可以提供通知以帮助商家导航通过过程,诸如捕获支付、将订单标记为已完成、将完成的订单存档等。
电子商务平台100可以提供通信设施129和相关联的商家接口,其用于提供电子通信和营销,诸如利用电子消息传送聚合设施来收集和分析商家、顾客、商家设备102、顾客设备150、POS设备152等之间的通信交互,以聚合和分析通信,诸如用于增加提供产品销售的可能性等。例如,顾客可能具有与产品相关的问题,其可以在顾客和商家(或代表商家的自动的基于处理器的代理)之间产生对话,其中,通信设施129分析交互并向商家提供关于如何提高销售概率的分析。
电子商务平台100可以提供用于与顾客的安全财务交易的财务设施120,诸如通过安全卡服务器环境。电子商务平台100可以存储信用卡信息,例如在支付卡行业数据(PCI)环境(例如,卡服务器)中,以便核对财务、向商家开账单、在电子商务平台100财务机构账户和商家的银行账户之间执行自动化票据交换所(ACH)转账(例如,当使用资本时)等。这些系统可以具有Sarbanes-Oxley法案(SOX)合规以及在它们的开发和操作中所需的高水平的勤勉。财务设施120还可以诸如通过借出资本(例如,借出资金、现金预付等)和提供保险来向商家提供财务支持。另外,电子商务平台100可以提供一组营销和合作伙伴服务,并且控制电子商务平台100和合作伙伴之间的关系。它们还可以将新的商家与电子商务平台100连接并将新的商家装载于电子商务平台100。这些服务可以通过使商家更容易地跨电子商务平台100工作来实现商家增长。通过这些服务,可以经由电子商务平台100向商家提供帮助设施。
在一些实施例中,在线商店138可以支持大量独立管理的店面,并且针对各种产品每天处理大量交易数据。交易数据可以包括顾客联系信息、账单信息、配送信息、关于所购买产品的信息、关于所提供服务的信息、以及与通过电子商务平台100的业务相关联的任何其他信息。在一些实施例中,电子商务平台100可以将该数据存储在数据设施134中。交易数据可以被处理以产生分析132,其继而可以被提供给商家或第三方商务实体,从而诸如提供消费者趋势、营销和销售洞察力、用于改进销售的推荐、对顾客行为的评估、营销和销售建模、欺诈趋势等,其与在线商务有关,并且通过仪表板接口、通过报告等来提供。电子商务平台100可以存储关于业务和商家交易的信息,并且数据设施134可以具有增强、贡献、改善和提取数据的许多方式,其中,随着时间的推移,所收集的数据可以实现针对电子商务平台100的各方面的改进。
再次参考图1,在一些实施例中,电子商务平台100可以被配置有用于内容管理、任务自动化和数据管理的商务管理引擎136以使得能够实现针对多个在线商店138的支持和服务(例如,与产品、库存、顾客、订单、合作、供应商、报告、财务、风险和欺诈等相关),但是可通过应用142A-B扩展,其使得能够实现适应日益增长的各种商家在线商店、POS设备、产品和服务所需的更大灵活性和定制过程,其中,应用142A可以在电子商务平台100或应用142B内部提供或者从电子商务平台100外部提供。在一些实施例中,应用142A可由提供平台100的同一方或由不同方来提供。在一些实施例中,应用142B可由提供平台100的同一方或由不同方来提供。商务管理引擎136可以通过诸如按顾客标识符、订单标识符、在线商店标识符等划分(例如,分片)功能和数据而被配置用于灵活性和可扩展性。商务管理引擎136可以适应特定于商店的业务逻辑,并且在一些实施例中,可以包含管理器114和/或在线商店138。
商务管理引擎136包括电子商务平台100的基本或“核心”功能,并且因此,如本文所述,并非支持在线商店138的所有功能都可能适于包括在内。例如,用于包括在商务管理引擎136中的功能可能需要超过核心功能阈值,通过该阈值可以确定功能是商务体验的核心(例如,对于大多数在线商店活动是共同的,诸如跨渠道、管理器接口、商家位置、行业、产品类型等),可跨在线商店138重复使用(例如,可跨核心功能重复使用/修改的功能),限于一次单个在线商店138的上下文(例如,实现在线商店“隔离原则”,其中,代码应当不能一次与多个在线商店138交互,从而确保在线商店138不能访问彼此的数据),提供交易工作负载等。维持对实现什么功能的控制可以使商务管理引擎136能够保持响应,因为许多所需特征要么由商务管理引擎136直接提供要么通过接口140A-B实现,例如通过其经由到应用142A-B和渠道110A-B的应用编程接口(API)连接的扩展,其中,接口140A可以被提供给电子商务平台100内部的应用142A和/或渠道110A,或者通过被提供给电子商务平台100外部的应用142B和/或渠道110B的接口140B。通常,平台100可包括接口140A-B(其可以是扩展、连接器、API等),其便于与其他平台、系统、软件、数据源、代码等的连接和通信。更一般地,这样的接口140A-B可以是商务管理引擎136的接口140A或平台100的接口140B。如果没有对商务管理引擎136中的限制功能给予关注,则可能会损害响应性,诸如通过经由慢速数据库的基础设施降级或非关键后端故障、通过诸如具有数据中心离线的灾难性基础设施故障、通过花费比预期更长的时间来执行的新代码等。为了防止或减轻这些情形,商务管理引擎136可被配置成维持响应性,诸如通过利用超时、排队、反向压力来防止降级的配置等。
尽管隔离在线商店数据对于维护在线商店138与商家之间的数据隐私是重要的,但可能存在收集和使用跨商店数据的原因,诸如例如,利用订单风险评估系统或平台支付设施,这两者都需要来自多个在线商店138的信息以良好执行。在一些实施例中,不是违反隔离原则,而是可以优选将这些组件移出商务管理引擎136并移入其自己的电子商务平台100内的基础设施中。
在一些实施例中,电子商务平台100可以提供平台支付设施120,其是利用来自商务管理引擎136的数据的组件的另一示例,但是可以位于外部以便不违反隔离原则。平台支付设施120可以允许与在线商店138交互的顾客使其支付信息由商务管理引擎136安全存储,使得他们仅必须输入其一次。当顾客访问不同的在线商店138时,即使他们以前从未去过那里,平台支付设施120也可以调用他们的信息以实现更快速和正确的结帐。这可以提供跨平台网络效果,其中,电子商务平台100随着更多商家加入而变得对其商家更有用,诸如因为存在更多的由于关于顾客购买的使用容易而更频繁地结账的顾客。为了最大化该网络的效果,给定顾客的支付信息可以从在线商店的结帐可检索,从而使该信息跨在线商店138全局可用。对于每个在线商店138来说,能够连接到任何其他在线商店138以检索存储在那里的支付信息将是困难的并且容易出错的。结果,平台支付设施可以在商务管理引擎136外部实现。
对于未包括在商务管理引擎136内的那些功能,应用142A-B提供了向电子商务平台100添加特征的方式。应用142A-B可能能够访问和修改商家的在线商店138上的数据,通过管理器114执行任务,通过(例如,通过扩展/API而显露的)用户界面为商家创建新流等等。商家可以被允许通过应用搜索、推荐和支持128来发现和安装应用142A-B。在一些实施例中,核心产品、核心扩展点、应用和管理器114可以被开发以一起工作。例如,应用扩展点可以构建在管理器114内部,使得核心特征可以借助于应用被扩展,其可以通过扩展将功能递送给商家。
在一些实施例中,应用142A-B可以通过接口140A-B向商家递送功能,诸如在应用142A-B能够将交易数据显露给商家的情况下(例如,App:“引擎,使用嵌入式app SDK在移动和web管理器中显露我的app数据),和/或在商务管理引擎136能够要求应用按需执行工作的情况下(引擎:“App,给予我用于该结帐的本地税务计算”)。
应用142A-B可以支持在线商店138和渠道110A-B,提供商家支持,与其他服务整合等。在商务管理引擎136可以向在线商店138提供服务基础的情况下,应用142A-B可以为商家提供满足特定的并且有时是独特的需要的方式。不同的商家将具有不同的需要,并且因此可以受益于不同的应用142A-B。应用142A-B可以更好地通过电子商务平台100发现,通过开发应用分类(类别),所述应用分类(类别)使得应用能够根据它为商家执行的功能类型被标记;通过支持搜索、排名和推荐模型的应用数据服务;通过应用发现接口,诸如应用商店、主页信息卡、应用设置页面;等等。
应用142A-B可以通过接口140A-B连接到商务管理引擎136,诸如利用API来向应用的功能(例如,通过REST、GraphQL等)暴露通过商务管理引擎136和在其内可用的功能和数据。例如,电子商务平台100可向面向商家和合作伙伴的产品和服务提供API接口140A-B,诸如包括应用扩展、过程流服务、面向开发者的资源等。随着顾客更频繁地使用移动设备来购物,与移动使用相关的应用142A-B可以受益于对API更广泛的使用,以支持相关增长的商务流量。通过使用应用和API(例如,如为应用开发所提供的)而提供的灵活性使得电子商务平台100能够更好地适应商家(以及通过内部API的内部开发者)的新的和独特的需要,而不需要对商务管理引擎136的持续改变,从而在商家需要时向他们提供他们所需要的东西。例如,可以通过配送或承运商服务API将配送服务122与商务管理引擎136整合,从而使得电子商务平台100能够提供配送服务功能,而不直接影响在商务管理引擎136中运行的代码。
许多商家问题可以通过让合作伙伴通过应用开发来改进和扩展商家工作流来解决,诸如与后台操作(面向商家的应用142A-B)相关联的问题以及在线商店138(面向顾客的应用142A-B)中的问题。作为进行业务的一部分,许多商家将每天使用移动和web相关的应用来进行后台任务(例如,推销、库存、折扣、履行等)和在线商店任务(例如,与其在线商店相关的应用、用于快销、新产品出售等),其中,应用142A-B通过扩展/140 API A-B帮助使产品在快速增长的市场中易于查看和购买。在一些实施例中,合作伙伴、应用开发者、内部应用设施等可以设置有软件开发工具包(SDK),诸如通过在管理器114内创建将应用接口沙盒化的框架。在一些实施例中,管理器114可能没有对框架内发生了什么的控制也不知晓框架内发生了什么。SDK可以与用户界面工具包结合使用,以产生模仿电子商务平台100外观和感觉的接口,例如充当商务管理引擎136的扩展。
利用API的应用142A-B可以按需拉取数据,但是它们通常还需要在发生更新时推送数据。更新事件可以以订阅模型来实现,诸如例如顾客创建、产品改变或订单取消。更新事件可以向商家提供关于商务管理引擎136的改变状态的所需更新,诸如用于同步本地数据库、通知外部整合合作伙伴等。更新事件可以实现该功能,而不必一直轮询商务管理引擎136以检查更新,例如通过更新事件订阅。在一些实施例中,当发生与更新事件订阅相关的改变时,商务管理引擎136就可以发布诸如对预定义的回调URL的请求。该请求的主体可以包含对象的新状态和动作或事件的描述。更新事件订阅可以在管理器设施114中手动创建,或者自动创建(例如,经由API 140A-B)。在一些实施例中,更新事件可以排队并且与触发它们的状态改变异步地处理,这可以产生不是实时分发的更新事件通知。
在一些实施例中,电子商务平台100可提供应用搜索、推荐和支持128。应用搜索、推荐和支持128可以包括开发者产品和工具以帮助应用的开发、应用仪表板(例如,用于向开发者提供开发接口、向管理器提供应用的管理、向商家提供应用的定制等)、用于安装和提供关于提供对应用142A-B的访问的许可的设施(例如,用于公共访问,诸如在安装之前必须满足准则,或者用于商家的私人使用)、应用搜索以使得商家易于搜索满足他们的在线商店138的需要的应用142A-B、应用推荐以向商家提供关于他们如何能够通过他们的在线商店138来改进用户体验的建议、对商务管理引擎136内的核心应用能力的描述等。这些支持设施可以由任何实体执行的应用开发来利用,包括开发其自己的应用142A-B的商家、开发应用142A-B的第三方开发者(例如,由商家签订合同、自己开发以提供给公众、签订合同以与电子商务平台100相关联地使用等)、或者由与电子商务平台100相关联的内部个人资源开发的应用142A或142B。在一些实施例中,应用142A-B可以被分配应用标识符(ID),诸如用于链接到应用(例如,通过API)、搜索应用、进行应用推荐等。
商务管理引擎136可以包括电子商务平台100的基本功能,并且通过API 140A-B将这些功能暴露给应用142A-B。API 140A-B可以实现通过应用开发构建的不同种类的应用。应用142A-B可能能够满足商家的各种各样需要,但是可以粗略地分为三类:面向顾客的应用、面向商家的应用、整合应用等。面向顾客的应用142A-B可以包括在线商店138或作为商家可以列出产品并让它们被购买的地方的渠道110A-B(例如,在线商店、用于快销的应用(例如,商家产品或来自第三方源的机会性销售机会)、移动商店应用、社交媒体渠道、用于提供批发购买的应用等)。面向商家的应用142A-B可以包括允许商家管理其在线商店138(例如,通过与web或网站或移动设备相关的应用)、运行其业务(例如,通过与POS设备相关的应用)、增长其业务(例如,通过与配送(例如,投递配送)相关的应用、使用自动化代理、使用过程流开发和改进)等的应用。整合应用可以包括提供参与业务运行的有用整合的应用,例如配送提供商112和支付网关。
在一些实施例中,应用开发者可以使用应用代理来从外部位置获取数据并将其显示在在线商店138的页面上。这些代理页面上的内容可以是动态的、能够被更新的,等等。应用代理可以有用于显示图像图库、统计、定制表单和其他种类的动态内容。电子商务平台100的核心应用结构可以允许在应用142A-B中建立数量不断增加的商家体验,使得商务管理引擎136可以保持关注更普遍利用的商务业务逻辑。
电子商务平台100通过策划的系统架构提供了在线购物体验,该架构使得商家能够以灵活且透明的方式与顾客连接。通过示例性的实施例购买工作流程可以更好地理解典型的顾客体验,其中,顾客在渠道110A-B上浏览商家的产品,将他们想要购买的东西添加到他们的购物车中,进行结账,并为他们的购物车的内容支付,从而为商家创建订单。然后,商家可以审阅并履行(或取消)该订单。然后产品被交付给顾客。如果顾客不满意,他们可以将产品退货给商家。
在示例性实施例中,顾客可以在渠道110A-B上浏览商家的产品。渠道110A-B是顾客可以查看和购买产品的地方。在一些实施例中,渠道110A-B可以被建模为应用142A-B(可能的例外是在线商店138,其被整合在业务管理引擎136内)。推销组件可以允许商家描述他们想要出售什么以及他们在哪里出售它。产品和渠道之间的关联可以被建模为产品发布并且由渠道应用访问,诸如经由产品列表API。产品可以具有许多选项(如尺寸和颜色)以及将可用选项扩展到所有选项的特定组合的许多变体,如额外小和绿色的变体、或尺寸大和蓝色的变体。产品可以具有至少一个变体(例如,为没有任何选项的产品创建“默认变体”)。为了便于浏览和管理,产品可以被分组为集合,被提供产品标识符(例如,库存单位(SKU))等。产品集合可以通过要么将产品手动分类为一个(例如,定制集合)、通过构建用于自动分类的规则集(例如,智能集合)等来构建。产品可以通过虚拟、增强或混合现实接口等作为2D图像、3D图像、旋转视图图像来查看。
在一些实施例中,顾客可以将他们想要购买的东西添加到他们的购物车(在替选实施例中,可以直接购买产品,诸如通过购买按钮,如本文所述)。顾客可以将产品变体添加到他们的购物车。购物车模型可以是渠道特定的。在线商店138购物车可以由多个购物车明细物品组成,其中,每个购物车明细物品跟踪产品变体的数量。商家可以使用购物车脚本来基于其购物车的内容向顾客提供特定的促销。由于向购物车添加产品并不意味着来自顾客或商家的任何承诺,并且购物车的预期寿命可以是大约几分钟(而不是几天),所以购物车可以被存留到短暂的数据存储装置。
然后,顾客进行结账。结账组件可以将web结账实现为面向顾客的订单创建过程。结账API可被提供为由某些渠道应用使用的面向计算机的订单创建过程,以代表顾客创建订单(例如,用于销售点)。结账可以根据购物车而创建,并且记录顾客的信息,例如电子邮件地址、账单和配送详情。在结帐时,由商家承诺定价。如果顾客输入其联系信息但并没有进行支付,那么电子商务平台100可以提供与顾客重新接入的机会(例如,在放弃的结账特征中)。由于这些原因,结账可以具有比购物车长得多的寿命(几小时或者甚至几天),并且因此被存留。结账可以基于顾客的配送地址来计算税款和配送成本。结帐可以将税款计算委托给计税组件,并将配送成本计算委托给递送组件。定价组件可以使商家能够创建折扣代码(例如,当在结账处输入时将新价格应用于结账处的物品的“秘密”字符串)。折扣可以由商家用来吸引顾客并评估营销活动的表现。折扣和其他定制价格系统可在同一平台片段之上实现,诸如通过价格规则(例如,在满足时暗示一组权利的一组先决条件)。例如,先决条件可以是诸如“订单小计大于$100”或“配送成本低于$10”的物品,并且权利可以是诸如“整个订单的20%折扣”或“产品X、Y和Z减$10”的物品。
然后,顾客为他们的购物车的内容支付,从而为商家创建订单。渠道110A-B可以使用商务管理引擎136来从以及向消费者和商家移动金钱、货币或价值存储(例如美元或加密货币)。与各种支付提供商(例如,在线支付系统、移动支付系统、数字钱包、信用卡网关等)的通信可以在支付处理组件内实现。与支付网关106的实际交互可以通过卡服务器环境来提供。在一些实施例中,支付网关106可接受国际支付,诸如与领先的国际信用卡处理器整合。卡服务器环境可以包括卡服务器应用、卡槽、托管字段等。该环境可以充当敏感信用卡信息的安全关守。在一些实施例中,大部分过程可由支付处理作业来编排。商务管理引擎136可以支持许多其他支付方法,诸如通过非现场支付网关106(例如,其中顾客被重定向到另一网站)、手动(例如,现金)、在线支付方法(例如,在线支付系统、移动支付系统、数字钱包、信用卡网关等)、礼品卡等。在结账过程结束时,订单被创建。订单是商家和顾客之间的销售合同,其中,商家同意提供订单上列出的商品和服务(例如,订单明细物品、配送明细物品等),而顾客同意提供支付(包括税款)。该过程可以在销售组件中建模。不依赖于商务管理引擎136结帐的渠道110A-B可以使用订单API来创建订单。一旦创建了订单,就可以将订单确认通知发送给顾客,并且经由通知组件将下订单通知发送给商家。当支付处理工作开始时可以预留库存以避免超售(例如,商家可以根据每个变体的库存策略来控制这种行为)。库存预留可以具有短的时间跨度(几分钟),并且可能需要非常快速和可缩放以支持快销(例如,短时间内提供的折扣或促销,诸如以冲动购买为目标)。如果支付失败,则释放预留。当支付成功并创建了订单时,预留被转换成分配给特定位置的长期库存承诺。库存组件可以记录变体被存货的位置,并且跟踪启用了库存跟踪的变体的数量。它可以将产品变体(代表产品列表的模板的面向顾客的概念)与库存物品(代表其数量和位置被管理的物品的面向商家的概念)分离。库存水平组件可以跟踪可用于销售、提交到订单或从库存转移组件(例如,从供应商)传入的数量。
然后,商家可以审阅并履行(或取消)订单。审阅组件可实现业务过程商家的使用以确保订单在实际履行之前适于履行。订单可能是欺诈性的,需要验证(例如,ID检查),具有需要商家等待以确保他们将收到他们的资金的支付方法,等等。风险和建议可以被存留在订单风险模型中。订单风险可以从欺诈检测工具生成、由第三方通过订单风险API提交等。在进行履行之前,商家可能需要捕获支付信息(例如,信用卡信息)或等待接收它(例如,经由银行转帐、支票等)并将订单标记为已支付。商家现在可以准备用于递送的产品。在一些实施例中,该业务过程可以由履行组件实现。履行组件可以基于库存位置和履行服务将订单的明细物品分组到工作的逻辑履行单元中。商家可以审阅、调节工作单元、以及触发相关的履行服务(诸如通过在商家在盒子中挑选和打包产品时使用的手动履行服务(例如,在商家管理的位置处))、购买配送标签并输入它的跟踪号、或仅仅把物品标记为已完成。定制履行服务可以发送电子邮件(例如,不提供API连接的位置)。API履行服务可以触发第三方,其中,第三方应用创建履行记录。传统履行服务可以触发从商务管理引擎136到第三方的定制API调用(例如,由Amazon的履行)。礼品卡履行服务可以提供(例如,生成号码)并激活礼品卡。商家可以使用订单打印机应用来打印装箱单。当物品被打包在盒子中并且准备好配送、被配设、跟踪、递送、验证为由顾客接收等时,履行过程可以被执行。
如果顾客不满意,他们可将(一个或多个)产品退货给商家。业务过程商家可以经历由退货组件实现的“取消销售”物品。退货可由各种不同的动作组成,例如再上货,其中,被销售的产品实际上回到了企业中并且可再次销售;退款,其中,从顾客收取的钱被部分或全部退还;记下退款了多少钱的记账调节(例如,包括是否存在任何再进货费用,或未退还并留在顾客手中的货物);等等。退货可以表示对销售合同(例如,订单)的改变,并且其中电子商务平台100可以使商家知道关于法律义务(例如,关于税务)的合规问题。在一些实施例中,电子商务平台100可以使商家能够跟踪销售合同随时间的改变,诸如通过销售模型组件(例如,记录发生于物品的与销售有关的只能添加的基于日期的分类账)实现的。
将电子商务平台100用于实体零售商店中的产品推荐
在电子商务平台100上具有商家账户的商家可以具有实体零售商店。商家可以具有或可以不具有在线商店。商家的实体零售商店中的访客可以具有电子商务平台100上的顾客账户,并且具有存储在电子商务平台100中的相关联的用户简档。用户简档可以作为数据134的一部分存储在存储器中。用户简档可以存储用户特定信息,诸如用户的先前购买历史、和/或用户的偏好、和/或用户的服装尺寸、和/或用户与商家在电子商务平台上的先前交互(诸如文本或电子邮件交换)、和/或用户的地址信息、和/或用户的账单信息等。存储在用户简档中的一些信息可以与运行实体零售商店的商家相关联(例如,由商家向用户出售的产品的先前购买历史)。用户简档中的其他信息可能不与运行实体零售商店的商家特别相关(例如,用户购买的由其他商家在电子商务平台100上销售的产品的先前购买历史)。与用户简档相关联的人可能过去从未访问过商家的实体零售商店和/或可能从未查看或购买过该商家所销售的任何产品,然而该人可能仍然具有存储在电子商务平台100中的用户简档,例如指示用户的偏好、在电子商务平台100上与其他商家的先前购买历史等的用户简档。如果用户没有用户简档,则当该人第一次进入商家的实体零售商店时可以创建该人的用户简档,例如通过向用户分配唯一且新的用户ID并且一旦获知(例如,如果该人进行了购买)就在用户简档中填充信息。
电子商务平台100可以包括产品推荐引擎,其生成用于在商家的实体零售商店中销售的产品的产品推荐。由产品推荐引擎生成的推荐可以基于用户特定信息(例如,存储在电子商务平台100中的用户简档中的信息),和/或基于其他信息,例如,基于商店库存信息(例如,存储在电子商务平台100中的存储器中),和/或基于人在商家的零售商店中的物理位置(例如,位置和/或定向)等。在一些实施例中,产品推荐规则被存储在电子商务平台100中的存储器中,并且被用于生成产品推荐。
图3示出了图1的电子商务平台100,但是在商务管理引擎136中具有产品推荐引擎304。产品推荐引擎304可使用诸如执行存储在存储器中或存储在另一计算机可读介质中的指令的通用处理器之类的处理电路来实现。指令在被执行时使产品推荐引擎304执行产品推荐引擎304的操作。或者,产品推荐引擎304中的一些或全部可使用专用电路来实现,例如专用集成电路(ASIC)、图形处理单元(GPU)或经编程的现场可编程门阵列(FPGA)。在一些实施例中,产品推荐引擎304可以位于电子商务平台100外部。产品推荐引擎304被用于生成针对实体零售商店的产品推荐,例如如本文所述。
尽管可以使用在电子商务平台100中实现的产品推荐引擎304来实现下面描述的实施例,但是下面描述的实施例并不限于图1至3的特定的电子商务平台100,并且可以结合任何电子商务平台来使用。在一些实施例中,甚至不需要在电子商务平台上或与电子商务平台相关联的实现。例如,本文描述的功能可以被实现为独立的组件或服务(例如,在电子商务平台100外部),或者完全或部分地由实体零售商店中的本地计算设备(例如,商家设备)来实现。因此,将更一般地描述下面的实施例。
用于实体零售商店中的产品推荐的示例性系统
图4示出了根据一个实施例的用于实体零售商店中的产品推荐的系统400。系统400包括产品推荐引擎402和至少一个实体零售商店602。仅示出了单个实体零售商店602。
产品推荐引擎402包括处理器404,其用于实现由产品推荐引擎402执行的本文所述的操作,例如,诸如标识用户、基于特定信息(例如,用户特定信息)生成产品推荐、检测摄像机的视场已经改变、确定摄像机的当前视场内或附近的多个产品等的操作。处理器404可以由执行存储在存储器(例如,存储器408)中或存储在另一计算机可读介质中的指令的一个或多个通用处理器来实现。指令在执行时使处理器404直接执行或指示产品推荐引擎402执行产品推荐引擎402的操作。在其他实施例中,处理器404可以使用专用电路来实现,例如FPGA、GPU或ASIC。
产品推荐引擎402还包括网络接口406。网络接口406用于通过网络502进行通信,例如,以与下面描述的商家设备612和/或用户设备632进行通信。取决于实现,网络接口406可以被实现为网络接口卡(NIC)和/或计算机端口(例如,插头或线缆连接到的物理插口)和/或网络插座等。
产品推荐引擎402还包括存储器408。图4中示出了单个存储器408,但是在实现中,存储器408可以是分布式的。存储器408存储在产品推荐引擎402中标识的每个用户的用户简档410。图4中仅示出了单个用户简档410。当用户第一次访问零售商店602时,或者可能在用户第一次访问零售商店602之前,例如,如果用户使用软件应用(诸如“购物app”)单独地向产品推荐引擎402注册并创建简档,和/或当用户在另一商家的另一商店中购买产品时,可以建立用户简档410。
图5示出了根据一个实施例的用户“Fred”的示例性用户简档410。用户被分配唯一用户ID 57468556,其将用户与产品推荐引擎402中标识的其他用户区分开。用户简档410可以包括诸如以下的信息:个人信息710(例如,用户的姓名、年龄、用户ID等);和/或账单信息712(例如,用户的信用卡信息);和/或偏好714(例如,用户的偏好颜色、材料、产品等);和/或购买历史716;和/或(例如,先前在电子商务平台上的商家网站和/或其他商家网站上查看的产品的)浏览历史720。图5中所示的信息仅是示例。可以包括附加的或不同的信息,例如用户与一个或多个商家有过的先前交换相关的信息。
购买历史716可以特定于零售商店602和/或与零售商店602相关联的商家。在一些实施例中,可以针对从具有在产品推荐引擎402上或可访问产品推荐引擎的商家账户的任何商家做出的任何购买来记录用户的购买历史716。在图5的示例中,“Jane”是经营零售商店602的商家。用户Fred先前已经从商家Jane处购买了蓝色牛仔裤和法兰绒衬衫。在图5的表中未指示这些先前产品是从零售商店602中的商家Jane处购买的还是通过另一方法(例如,经由Jane的在线商店)购买的。该指示可以被包括为购买历史716的一部分。在图5的示例中,在购买历史716中指示用户Fred先前从另一商家(商家“Kathy”)购买了钱包。在该示例中,商家Kathy与商家Jane没有关系,除了两个商家都向产品推荐引擎402注册了以外,例如两个商家都具有在产品推荐引擎402上或可访问产品推荐引擎402的商家账户。取决于许可设置,商家Jane可以访问或不可以访问与商家Kathy相关的购买历史。类似地,浏览历史720可能仅特定于商家Jane,例如仅包括用户Fred在商家Jane的网站上进行的产品视图。或者,浏览历史720也可以包括用户对其他商家的在线商店的浏览历史。
每当用户Fred执行提供关于用户Fred的附加信息的动作时,例如当Fred进行附加购买或执行附加在线浏览时,都可以更新存储在用户简档410中的信息。用户简挡410还可以由用户Fred手动更新,例如,用户Fred可以使用安装在用户Fred的移动电话上的软件app来手动更新他的偏好。
返回图4,产品推荐引擎402的存储器408也存储零售商店602中的每种现货产品的产品库存和产品位置数据412。零售商店602中的每种现货产品的记录以及零售商店602中的该产品的位置被存储。图6示出了根据一个实施例的零售商店602的产品库存和位置数据412的示例。可以针对每种现货产品存储的示例性字段包括:产品名称、产品描述、产品ID(例如产品库存单位(SKU))、现货中的产品数量等。还存储产品在商店中的位置。位置可以被存储为零售商店602的3D空间中的(x,y,z)坐标,如图6所示的示例中的情况那样。可以代替地使用表示每个产品的位置的其他方式,例如通过指定商店中的区域、货架编号、货仓编号等。如果相同的产品位于商店中的多个位置(例如,一些在地板上,一些在储藏室中),则在存储器中可以存在两个单独的条目,例如,如图6中的表的前两行中所示。当产品被售出时、当新产品到达时、以及如果产品的位置改变,则可以更新图6中的数据。存储的细节是实现特定的,并且图6中的表格式仅是示例。
返回图4,产品推荐引擎402的存储器408还存储被用于进行产品推荐的推荐规则414。推荐规则可以是当满足某些条件时推荐特定产品或产品类型或类别的决策做出逻辑的单元。推荐规则可以采用“如果-则”语句的形式。取决于实现,可以以不同的方式生成推荐规则。例如,推荐规则可以由商家例如使用商家设备612的用户界面来定制创建。作为另一示例,推荐规则可以由产品推荐引擎402基于由其他商家使用的、对那些其他商家产生正面结果(诸如高销售转换)的推荐规则而添加。作为另一示例,可由第三方(例如,由时尚专家)手动地将推荐规则提供到产品推荐引擎402。在一些实施例中,如果推荐规则不是由商家创建的,那么推荐规则可以首先被推荐/呈现给商家,并且在推荐规则被添加到推荐规则414之前可能需要由商家给予授权。推荐规则可以是或可以不是特定于商家的。推荐规则可以是或可以不是特定于商家具有现货的产品库存的。
图7示出了根据一个实施例的推荐规则414的示例。一些规则具有依赖于用户在其用户简档410中的特定信息的一个或多个条件,例如图7中所示的示例规则1到4和6的情况。一些规则可以具有独立于用户简档中的信息但是基于用户在商店中的活动的条件,例如图7中的示例规则5的情况。一些规则可以是特定于商家的和/或特定于商店的,例如规则的条件可以是要被推荐的产品有现货(例如规则1和4到6)。一些规则可以具有取决于用户在零售商店602中的物理位置的条件,例如,如图7中的示例规则2。
注意,在一些实施例中,推荐规则414不一定是彼此分开存储的离散规则,如图7所示。例如,推荐规则414可以是在训练期间由机器学习算法确定的关系或模式,其中,经训练的机器学习算法基于对经训练的机器学习算法的输入来生成产品推荐。例如,可以在互联网上公开可用的大量图片上训练机器学习算法,并且确定产品之间的关系。这些关系本质上可以是推荐规则414。然后,例如,当用户简档410指示Fred先前购买了男士蓝色牛仔裤,并且该信息被输入到经训练的机器学习算法中时,输出可以是对芥末黄T恤的推荐,例如基于在训练期间未覆盖的蓝色牛仔裤和芥末黄衬衫之间的关系。机器学习算法可以包含由零售商店602的产品库存所施加的限制,例如,如果芥末黄衬衫没有现货,则机器学习算法将返回不包括芥末黄衬衫的推荐。现货中的产品库存的指示(例如,来自图6的产品库存数据)可以在机器学习算法的训练或训练后期间被包含。
回到图4,零售商店602包括待售产品,例如产品652。在一些实施例中,每个产品都可以包括允许该产品从其他产品或其他产品类型唯一地标识的特征。例如,特征可以是射频标识(RFID)标签654或一些其他机器可读标记,诸如例如,诸如条形码或QR码之类的一些形式的视觉机器可读标记。如稍后所解释的,该特征(如果存在)可以可选地用于帮助确定产品在零售商店602中的位置。在一些实施例中,一个或多个无线发送器(例如信标656)可以存在于零售商店602中以与商店中的访客的用户设备632(例如移动电话)通信。如果使用信标技术,则无线通信可以是通过Bluetooth™,例如Bluetooth低功耗(LE)。在一些实施例中,无线通信可以通过超宽带(UWB)。
零售商店602包括商家设备612,其是由零售商店602的商家使用的计算设备。商家设备612可以是智能电话、膝上型计算机、平板计算机、AR设备等,这取决于实现。AR设备是指使用增强现实(AR)、混合现实(MR)和/或虚拟现实(VR)的设备,例如诸如智能电话(例如,被配置为覆盖摄像机输入的智能电话)、头戴式耳机或眼镜之类的设备。商家设备612包括处理器614、存储器616、用户界面320和网络接口618。处理器614直接执行或指示商家设备612执行本文所述的商家设备612的操作,例如与产品推荐引擎402通信以接收和呈现产品推荐、可能收集和提供关于产品位置的信息给产品推荐引擎402、可能将与商家设备612捕获的语音和/或图像有关的信息传送给产品推荐引擎402等,这取决于实现。处理器614可以由执行存储在存储器(例如,存储器616)中或存储在另一计算机可读介质中的指令的一个或多个通用处理器来实现。指令在被执行时使处理器614直接执行或指示商家设备612执行本文描述的操作。在其他实施例中,处理器614可以使用专用电路来实现,诸如经编程的FPGA、GPU或ASIC。用户界面620可以被实现为显示屏(其可以是触摸屏并且可能集成到AR设备中)、和/或键盘、和/或鼠标、和/或指环、和/或扬声器等,这取决于实现。网络接口618用于通过网络通信,例如,以可能通过网络502与产品推荐引擎402和/或信标通信。网络接口618的结构将取决于商家设备612如何与网络对接。例如,如果商家设备612是移动电话、平板计算机或AR设备,则网络接口618可以包括具有天线的发送器/接收器,以向网络发送无线传输/从网络接收无线传输。如果商家设备612是通过网络电缆连接到网络的个人计算机,那么网络接口618可包括网络接口卡(NIC)和/或计算机端口(例如,插头或电缆连接到的物理插口)和/或网络插座等。商家设备612还可以包括用于捕获图像的摄像机617。摄像机617具有相关联的参数。一些参数可以是物理的,例如,商家设备612上的摄像机617的物理位置。其他参数可以是基于软件的、或者是基于物理和软件的组合,例如焦距、视角和/或放大率。商家设备612还可以包括被用于确定商家设备612的定向的传感器619。这样的传感器619的示例是加速度计,尽管传感器619可以以不同的方式实现(例如,传感器619可以是或包括运动传感器或磁力计)。
假设访客在零售商店602中,并且该访客具有相关联的计算设备,其在图4中被标记为用户设备632。用户设备632通常将是访客携带的移动电话,但是取决于场景,可以代替地是平板计算机、膝上型计算机、AR设备等。用户设备632包括处理器634、存储器636、用户界面340和网络接口638。处理器634直接执行或指示用户设备632执行本文所述的用户设备612的操作,例如,与产品推荐引擎402和/或商家设备612通信以提供用户的用户ID、可能与零售商店602中的信标(例如,信标656)通信、可能呈现产品推荐等,这取决于实现。处理器634可以由执行存储在存储器(例如,存储器636)中或存储在另一计算机可读介质中的指令的一个或多个通用处理器来实现。指令在执行时使处理器634直接执行或指示用户设备632执行用户设备632的操作。在其他实施例中,处理器634可以使用专用电路来实现,例如经编程的FPGA、GPU或ASIC。取决于实现,用户界面640可以被实现为显示屏(其可以是触摸屏)、和/或键盘、和/或鼠标、和/或扬声器等。网络接口638用于通过网络通信,例如,可能通过网络502与产品推荐引擎402和/或商家设备612和/或信标656通信。网络接口638的结构将取决于用户设备632如何与网络对接。例如,如果用户设备632是移动电话或平板计算机,那么网络接口638可以包括具有天线的发送器/接收器,以向网络发送无线传输/从网络接收无线传输。如果用户设备632是利用网络电缆连接到网络的膝上型计算机,那么网络接口638可以包括网络接口卡(NIC)、和/或计算机端口(例如,插头或电缆连接到的物理插口)、和/或网络插座等。用户设备632还可以包括用于捕获图像的摄像机637。摄像机637具有相关联的参数。一些参数可以是物理的,例如,用户设备632上的摄像机637的物理位置。其他参数可以是基于软件的、或者是基于物理和软件的组合,例如焦距、视角和/或放大率。用户设备632还可以包括被用于确定用户设备632的定向的传感器639。这种传感器639的示例是加速度计,尽管传感器639可以以不同的方式来实现(例如,传感器639可以是或包括运动传感器或磁力计)。
在一些实施例中,产品推荐引擎402是电子商务平台(例如电子商务平台100)的一部分。例如,产品推荐引擎402可以是图3中所示的产品推荐引擎304。然而,这不是必需的。产品推荐引擎402可以替代地由电子商务平台的另一组件提供,或者被实现为电子商务平台外部的独立组件或服务。在一些实施例中,图3的应用142A-B中的任一者或两者以可下载应用的形式提供产品推荐引擎402,该可下载应用可用于与商家账户相关的安装。在一些实施例中,产品推荐引擎402的至少一部分可以在商家设备上实现,例如在图3的商家设备102或图4的商家设备612上实现。例如,商家设备可以在本地存储和运行产品推荐引擎402的一些或全部,作为软件应用。图4将产品推荐引擎402示为与商家设备612和实体零售商店602两者分开。如下所述的实施例将假设产品推荐引擎402与商家设备612和实体零售商店602分开,如所示出的。然而,产品推荐引擎402的一些或全部可以替代地被包括在零售商店602中的计算设备上,并且该计算设备可以是或可以不是与商家设备612相同的计算设备。在一些实施例中,产品推荐引擎402的一些可以在用户设备632上实现。例如,在其中产品推荐被直接呈现给顾客的实现中,被描述为由产品推荐引擎402执行的操作中的一些操作可以替代地由用户设备632执行。例如,用户设备632可以确定摄像机的视场已经改变,和/或可以确定摄像机的当前视场内或附近的多个产品等。在一些实施例中,可以可能的是,推荐引擎402完全在用户设备632上实现。
示例方法
现在将描述用于执行产品推荐的系统的操作。并非所有下述步骤在所有实施例中都是必需的。此外,一些步骤可以代替地被其他步骤替代,并且描述了许多不同的变型。在以下说明中,假设商家是早先介绍的商家Jane。商家Jane正在运行实体零售商店602并使用商家设备612。访问商店的人被假定为前面介绍的用户Fred,其具有用户设备632和用户简档410(图5所示)。
在一些实施例中,可由商家Jane执行初始设置,例如如下。商家Jane确保零售商店602中的所有现货产品都被添加到存储器408中的产品库存和位置数据412。在一些实施例中,当在商店例如通过扫描每个产品或产品组上的配送标签或其他机器可读代码、或者通过例如经由商家设备612的用户界面620的手动输入而接收到每个产品时,将该产品添加到图6中的存储产品库存中。作为另一示例,在一些实施例中,在捕获产品的位置数据的同时,将每个产品添加到产品库存。即,例如当商家走遍商店并以下面解释的方式记录产品位置时,可以执行提供产品ID及其在零售商店602中的位置两者的单个步骤。
商家Jane还为每个产品填充位置数据。位置数据的示例是图6的最右栏中所示的数据。以下是可以获得零售商店602中的每个产品的位置数据的一些示例性方式。在一个示例中,零售商店602的空间被映射到虚拟坐标空间,该虚拟坐标空间将被称为坐标空间。然后,在该空间中为每个产品分配(x,y,z)坐标。例如,商家持有或佩戴商家设备612,并且从初始位置(例如,商店的前面)开始,商家开始在商店内走动。初始位置被分配坐标空间的原点(0,0,0)。商家设备612可以是或包含机器可读代码扫描器(例如,条形码/QR码扫描器)或RFID扫描器。在一些实施例中,原点可以与固定的机器可读代码相关联,诸如例如条形码或QR码,例如,商家可以通过扫描商店前面的指定虚拟空间的原点的特定机器可读标记(例如QR码)来开始记录其位置,商家然后从该原点开始在商店中来回移动。随着商家设备612遍及商店移动,商家设备612的位置被记录为坐标空间中的坐标点。测量商家设备612相对于初始位置的位移的一个示例性方式是商家设备612使用室内定位系统(IPS)(例如,通过使用三角测量)、WiFi定位系统(WPS)或通过GPS来测量位移,然后将该位移映射到(x,y,z)坐标。测量商家设备612相对于初始位置的位移的另一示例性方式是使用信标技术。例如,信标(例如信标656)可以被放置在商店四处,以便将商店划分成多个3D区域,其中,每个3D区域跨相应信标的发送范围。然后,当商家设备612进入特定信标的区域时,商家设备612经由例如BluetoothTM从该信标接收信号发送。从该信标发送的信号包括该信标的标识符。然后,将标识符从商家设备612发送到产品推荐引擎402,其具有信标标识符到商店中的物理位置的预定义映射。由此,可以使用该信标的预定义已知物理位置来向该信标分配(x,y,z)坐标空间中的位置坐标。作为替选,可以在商家设备612自身上执行信标标识符到物理位置的映射和/或信标到(x,y,z)坐标空间中的位置坐标的分配。由于商家设备612在信标的范围内,所以表示信标位置的(x,y,z)坐标被假定为商家设备612的位置,即使商家设备612可能不是真正与信标处于完全相同的位置。如果商家设备612能够估计其与信标的距离(例如,使用从信标接收到的信号的接收信号强度),则估计的距离可以用于改善分配给商家设备612的(x,y,z)位置坐标的准确度。因此,当商家设备612在商店四处移动时,在(x,y,z)坐标空间中跟踪商家设备612的位置。坐标空间和坐标可以存储在商家设备612和/或产品推荐引擎402中。
在一个示例中,随着商家设备612在商店内四处移动,商家设备612也可以标识出在每个位置处存在任何产品。例如,可以通过商家设备612读取每个产品的机器可读码(例如,条形码或QR码)来标识产品。机器可读代码唯一地标识产品,且在读取代码的情况下商家设备612的位置被用作该产品的位置。例如,如果当商家设备612扫描男士蓝色牛仔裤的条形码时,商家设备612处于坐标(235,456,10),那么男士蓝色牛仔裤在商店602中的位置被捕获为坐标(235,456,10)。除了机器可读代码之外的技术可以被应用或者作为机器可读代码的附加或替代。例如,每个产品都可以包括RFID标签,例如图4中的RFID标签654。商家设备612可以包括接收由RFID标签654发送的数字数据的RFID读取器。来自标签的数字数据唯一地标识产品,并且在读取RFID标签时商家设备612的位置被用作该产品的位置。如果商家设备612能够估计其与RFID标签的距离(例如,使用从RFID标签接收的信号的接收信号强度),那么估计的距离测量结果可用于改善分配给产品的(x,y,z)位置坐标的准确度。
可以使用其他示例方式来为商店602中的产品填充位置数据,例如不涉及在3D空间中分配(x,y,z)坐标的方式。例如,产品存在于其中或其上的展示或存储单元可以被分配唯一的标识符(例如,每个货架可以被分配唯一的编号),并且存储器中的映射将每个产品与该产品存在于其中或其上的展示或存储单元的唯一标识符相关联。例如,代替(或除了)在图6的位置列中存储(x,y,z)坐标,可以存储货架、机架或货仓编号。零售商店602的映射也可以被存储,其记载了每个唯一的展示和存储单元的物理位置。
一旦捕获到产品库存和位置数据412,则产品库存和位置数据412可以由产品推荐引擎402用于查询什么产品有现货以及查询那些产品的位置。例如,如果执行推荐规则414并且推荐黑色32英寸男士腰带,那么产品推荐引擎402可从图6中的表确认有六个现货位于坐标(95、630、10)处。商家设备612知道其在坐标空间中的当前位置,并且因此可以引导商家到坐标(95、630、10)处,例如通过在商家设备612的用户界面620处呈现的视觉或听觉方向。稍后描述将商家引导至推荐产品的示例方式。
在访问零售商店602之前,访客Fred可以有或者可以没有存储在产品推荐引擎402的存储器408中的用户简档410。如果Fred先前向产品推荐引擎402注册并且提供了用于创建用户简档410的信息,则Fred的用户简档410可以在先前已被建立。例如,Fred可以利用产品推荐引擎402来创建账户,从而建立唯一的用户ID,然后通过填充一些信息(例如个人信息、账单信息和/或偏好)来建立其用户简档410。这可以在Fred访问任何商家之前发生,例如通过Fred经由他的用户设备632的用户界面640访问软件应用并且使用软件应用与产品推荐引擎402通信以便创建账户、建立登录信息(链接到Fred的唯一用户ID)以及建立他的用户简档410。例如,产品推荐引擎402可以是Fred注册为买家的电子商务平台的一部分。作为另一示例,产品推荐引擎402可被实现为特定于商家Jane的平台的一部分,并且商家Jane可具有Fred在其用户设备632上下载并用来创建帐户、登录信息和用户简档410的她的商店的app。在任何情况下,一旦建立了用户简档410,则当Fred执行向产品推荐引擎402提供用户特定信息的动作时,例如当Fred购买产品、浏览商家的在线商店等时,可以更新它。在以下剩余的说明中,将假设当Fred走进零售商店602时,访客Fred已经在产品推荐引擎402上具有用户ID和相关联的用户简档410。否则,仅可以进行对于Fred不是用户特定的产品推荐,并且Fred的用户ID和用户简档410可以在Fred的访问期间建立,例如在收集关于Fred的信息时的结账处。
访客Fred进入零售商店602,并且Fred被产品推荐引擎402标识。标识Fred的一些示例性方式如下。在一个示例中,当Fred携带其用户设备632进入商店602时,用户设备632进入了商店602入口处的信标的发送范围内。用户设备632从该信标接收消息,例如通过BluetoothTM。该消息指示用户设备632在用户设备632的用户界面640上呈现消息,该消息要求Fred许可向商家标识Fred。假定Fred经由用户界面640授予许可,则唯一地标识Fred的信息(例如,他的登录信息和/或唯一用户ID)从用户设备632传送到产品推荐引擎402。产品推荐引擎402的处理器404使用所接收的信息来检索Fred的用户简档410,并且指示向商家设备612发送指示Fred已经进入了商店的消息。发送到商家设备612的消息传送来自Fred的用户简档410的商家可能感兴趣的任何初始信息(例如Fred的名称以及他是否是回头客)。这样的信息被呈现在商家设备612的用户界面620上以供商家查看。在一些实施例中,用户设备632与产品推荐引擎402之间的通信和/或商家设备612与产品推荐引擎402之间的通信可以经由商店中的信标中的一个或多个信标而发生。除了或代替使用上述示例中的信标技术,也可以附加地或替换地使用IPS和/或GPS,以例如确定Fred已经进入零售商店602。然后,可以通过例如无线网络开始用户设备632和产品推荐引擎402之间的通信。
当Fred进入商店602时标识Fred的另一示例性方式如下。商家设备612上的数字摄像机捕获了Fred面部的数字照片,这可以离散地进行,例如,如果商家设备612包括诸如具有嵌入式摄像机(例如,摄像机617)的智能眼镜之类的AR设备。数字照片可以替换地称为数字图像或简单地称为图像。Fred面部的数字照片被发送到产品推荐引擎402,其使用面部识别来尝试将照片与注册用户相关联。在一个实现中,这是如下那样实现的。在Fred进入商店602之前,产品推荐引擎402已经具有Fred的多张照片(例如六到十张照片)。这些照片先前由Fred提供,或者先前以某种其他方式获得,例如从Fred对其他商店的先前访问。处理器404对多张照片执行监督学习以训练机器学习算法来标识Fred何时出现在照片中。训练后,当Fred进入零售商店602并且Fred的新照片从商家设备612被提供给产品推荐引擎402时,处理器404对新照片执行经训练的机器学习算法,并且标识出Fred。然后,获得Fred的用户简档410,并且将相关信息发送到商家设备612。
当Fred进入商店602时标识Fred的另一示例性方式是商家向Fred要求他的用户ID(例如通过Fred向商家设备612中输入登录信息或者直接将其从用户设备632发送到商家设备612),然后商家设备612将Fred的用户ID发送到产品推荐引擎402,以从Fred的用户简档410中获得信息。
在一些实施例中,产品推荐引擎402还跟踪Fred在商店602中的物理位置并将其存储在存储器408中,这例如使用来自用户设备632的GPS信息、使用IPS、和/或通过使用信标技术。例如,如前所述,在一个实施例中,BluetoothTM信标(例如信标656)被放置在商店四处,以便将商店划分成多个3D区域,其中,每个3D区域跨相应信标的发送范围。因此,当Fred的用户设备632进入信标区域时,用户设备632从该信标接收信号发送。从该信标发送的信号包括该信标的标识符。然后,将标识符从用户设备632发送到产品推荐引擎402,其具有信标标识符到商店中的物理位置的预定义映射。由此,可以使用信标的已知物理位置来向信标分配商店的(x,y,z)坐标空间中的位置坐标。由于用户设备632在信标的范围内,所以表示信标位置的(x,y,z)坐标被假定为Fred的位置,即使Fred可能不是真正与信标处于完全相同的地点。如果用户设备632能够估计其与信标的距离(例如,使用从信标接收到的信号的接收信号强度),则估计的距离可被用于改善分配给Fred的(x,y,z)位置坐标的准确度。在任何情况下,Fred的位置都记录在产品推荐引擎402中。
确定Fred在商店中的位置的另一示例性方式如下。由商家设备612上的数字摄像机捕获Fred的数字照片,并且该数字照片被发送给产品推荐引擎402。处理器404然后实现计算机视觉算法以尝试标识照片中Fred周围的环境,并且由此从这些标识的环境推断Fred处于商店602中的特定位置。例如,每个货架、机架或货仓都可具有在数字照片中唯一且容易标识的特征,例如回射对象。计算机视觉算法在数字照片中搜索该特征(例如,回射对象),并唯一地标识该特征,然后将该特征映射到已知位置。然后将该位置记录为Fred的位置。
在一些实施例中,Fred的位置可用于帮助商家Jane跟踪和/或定位Fred。例如,当Fred首先被标识并且通过Jane的AR眼镜观看时,数字对象可以出现在眼镜上,强调Fred(例如,围绕Fred的头部绘制的圆,其具有指示“Fred”的标签)。计算机视觉可用于确切地确定Fred头在Jane的AR眼镜中所观察到的图像中的什么位置。Jane可能会分心并离开Fred去处理其他事情。Fred移动到商店中的不同位置,并且Jane希望再次找到Fred。Jane可以通过例如语音命令“查找Fred”向产品推荐引擎402指示她希望定位Fred。产品推荐引擎402将Fred的当前位置发送到商家设备612。商家设备612知道其位置和Fred的位置,并且因此显示指示向Fred移动的方向的指令。例如,可以在Jane的AR眼镜上显示箭头。当Jane靠近Fred时,可以使用面部识别来为Jane标识Fred,例如基于Fred第一次进入商店时所捕获的Fred的先前图像。
在一些实施例中,产品推荐引擎402还跟踪Fred在零售商店602中时表达了兴趣的产品的任何指示,并将其存储在存储器408中。取决于实现,如果Fred拿起特定产品和/或靠近该产品和/或在该产品附近停留/逗留,则Fred可以被认为是“表达出了对该产品的兴趣”。产品推荐引擎402可以确定Fred以一种或多种不同的方式表达了对特定产品的兴趣。几个示例如下。在一个示例中,Fred的用户设备632在信标656的范围内移动,该信标安装在货架上与展示单元男士蓝色牛仔裤的位置相等的位置处。信标656的唯一ID被发送到Fred的用户设备632,并且Fred的用户设备632将该唯一信标ID转发到产品推荐引擎402。产品推荐引擎402因此可以记录Fred已经表达了对男士蓝色牛仔裤的兴趣,因为产品推荐引擎402已经具有指示男士蓝色牛仔裤靠近该特定信标的预定义映射。在一些实施例中,产品推荐引擎402可首先确定Fred站在/逗留在男士蓝色牛仔裤附近,且仅在确定Fred站在/逗留在男士蓝色牛仔裤附近的情况下记录Fred已表达了对男士蓝色牛仔裤的兴趣。站在/逗留可以基于Fred在置于信标656的任一侧上的两个信标之间移动得有多快来推断。在另一示例中,展示单元男士蓝色牛仔裤的货架可以包括指示产品何时被拿起的称重秤或移动传感器。该信息可以被发送到产品推荐引擎402,并且与Fred的用户设备的位置耦合,以推断出Fred已经拿起(并且由此对其感兴趣)男士蓝色牛仔裤。在另一示例中,由商家设备612上的数字摄像机来捕获Fred的数字照片,并且该数字照片被发送给产品推荐引擎402。对数字照片执行计算机视觉算法以尝试推断Fred是否正在观看或持有特定产品。在另一示例中,商家使用其商家设备612的用户界面620来手动地输入Fred看来似乎感兴趣的产品,并且这被发送到产品推荐引擎402。在另一示例中,商家设备612在Fred说话时(例如在Fred对商家说话时)进行记录。语音记录被发送到产品推荐引擎402,并且执行语音识别软件以确定语音记录是否包括任何产品名称,例如“牛仔裤”。产品名称的存在可被解释为Fred表达对该产品感兴趣的指示。
现在将描述产品推荐。在Fred进入商店602之后,并且当他在商店602中时,产品推荐引擎402可以执行推荐规则414中的一个或多个规则,来为Fred推荐一个或多个产品。如前所述,推荐规则414可以以不同的方式建立,例如由商家Jane定制创建、由第三方(例如时尚专家)提供、基于对其他商家具有正面结果的推荐规则添加、使用机器学习算法生成等。在图7中示出了推荐规则的示例。在一些实施例中,推荐规则414的库可以非常大,其中,产品推荐引擎402的处理器404遍历该库并且仅执行满足条件的推荐规则,例如,如果Fred的用户简档410未指示优选材料,那么图7中的规则2将永远不会被执行。在一些实施例中,推荐规则414可以是推荐规则的主列表的子集,其中,该子集是在特定于用户的基础上创建的。例如,图7中的推荐规则414可以基于Fred用户简档410中的信息而特定于他的,并且可以是推荐规则的更大主列表的子集。可以通过过滤掉具有基于Fred用户简档410而不会满足的条件的任何规则来非实时地创建该子集。例如,由于Fred用户简档410指示了他是成年男士,所以主列表中具有与女士产品或儿童产品相关的条件的任何规则都将不被包括在推荐规则414中。由于Fred用户简档410可以随时间而更新,所以推荐规则414也可以随时间而更新,例如定期更新。然后,当Fred进入商店602并被标识出时,产品推荐引擎402实时(或接近实时)地遍历所存储的推荐规则414并执行满足条件的推荐规则,以便输出产品推荐。如先前所解释的,在一些实施例中,推荐规则414可以不是如图7中所示的离散的“如果-则”语句,但是可以附加地或替换地是在训练期间由机器学习算法确定的关系或模式,其中,经训练的机器学习算法基于对经训练的机器学习算法的输入来生成产品推荐。来自Fred用户简档的信息被提供给经训练的机器学习算法以获得产品推荐。例如,输入“成人”、“男士”和“先前购买的蓝色牛仔裤”可以从用户简档410检索到,并且被提供给由处理器404执行的经训练的机器学习算法,并且返回的推荐可以是芥末黄T恤。
一些推荐规则可以具有针对来自用户简档410的信息而评估的一个或多个条件,例如“如果先前购买过牛仔裤,则推荐腰带”。一些推荐规则可以具有依赖于知道用户在商店中的位置(例如,位置和/或定向)并且针对用户在商店中的位置(例如,位置和/或定向)而评估的一个或多个条件,例如“如果用户在清货货仓附近,则推荐蓝色袜子”(例如,由于商家具有大量的蓝色袜子要清货出售)。一些推荐规则可以具有依赖于用户在零售商店时已经表达了对特定产品的兴趣并且针对该用户是否表达了对特定产品的兴趣而评估的一个或多个条件,例如“如果用户表达了对黑色牛仔裤的兴趣,则推荐棕色腰带”。一些推荐规则可以具有对于商家的库存是特定的和/或对于商家希望销售的产品是特定的一个或多个条件,例如“如果J.K. Renold钱包有现货,则推荐J.K. Renold钱包”(例如,因为该钱包具有高利润率)。推荐规则可以替代地依赖于其他条件,即,前述示例条件是非限制性的。而且,在实际实现中,许多规则可以是不同条件的组合,例如,如图7中所示的许多示例性规则的情况,或者如果使用机器学习来生成规则那么可以是这种情况。取决于实现,条件可以被实现为由机器学习算法在训练期间确定的关系或模式,例如,其中经训练的机器学习算法在其执行期间评估条件。
一旦生成了产品推荐,就可以将推荐发送到用户设备632以在用户设备632的用户界面640处呈现,例如使得Fred可以直接接收推荐。作为替选(或附加地),产品推荐可以被发送到商家设备612以在商家设备612的用户界面620处呈现,例如使得商家可以直接接收推荐。将推荐发送到商家设备612可以使商家向Fred提供无缝的定做服务,并且可能没有中断,例如,如果推荐显示在商家佩戴的AR眼镜的顶角上。例如,商家Jane可以在Fred到店时对他进行问候,并询问他是否需要帮助。Fred被标识,并且针对Fred的以下推荐产品被显露并发送到商家设备612以显示在Jane的眼镜的顶角上:32英寸 X 34英寸的黑色牛仔裤;腰带;法兰绒衬衫。Fred告诉Jane他正在寻找衬衫。Jane看到法兰绒衬衫是推荐产品,因此建议Fred由她向他示出刚刚到货的一些新的法兰绒衬衫。Fred优选颜色为蓝色(Fred的用户简挡410中)也被发送到并显示在Jane的眼镜上,因此她首先向Fred示出蓝色法兰绒衬衫。Fred对交互的容易性和蓝色法兰绒衬衫产品的适用性很满意,因而购买了该产品。Fred不会因必须检查其自己的用户设备632以得到产品推荐而费心,并且在Jane的AR眼镜上呈现推荐使Jane容易地进行交互。
在一些实施例中,可以执行动作以帮助将商家Jane引导到特定产品。例如,Jane希望将Fred引到蓝色法兰绒衬衫,但她不记得它们位于商店602中的什么地方。产品推荐引擎402从商家设备612接收期望导航到蓝色法兰绒衬衫的指示。该指示可以由Jane例如通过语音命令提供给商家设备612:“蓝色法兰绒衬衫在哪里
Figure DEST_PATH_IMAGE002
”。产品推荐引擎402查询产品库存和位置数据412以检索蓝色法兰绒衬衫的位置。然后,使用位置数据将商家Jane引导到有蓝色法兰绒衬衫的货架。
可以实现引导的示例性方式如下。在一个示例中,蓝色法兰绒衬衫存在于特定的存储或展示单元中或上。存储或展示单元的示例包括货架、机架、货仓、柜台、容器等。蓝色法兰绒衬衫存在于其上或其中的存储或展示单元具有唯一的ID以将其与其他存储/展示单元区分开。该唯一ID被发送到商家设备612以在其用户界面620上显示,例如显示消息“蓝色法兰绒衬衫在货架27上”。作为替选(或附加地),每个存储和展示单元具有当被激活时帮助强调该单元的机构,例如通过经由光和/或声音和/或振动运动发出警报。产品推荐引擎402向蓝色法兰绒衬衫存在于其上或其中的单元发送指令,以便强调该单元。例如,蓝色法兰绒衬衫存在于其上的货架点亮。作为替选(或附加),每个产品本身包括在被激活时帮助强调该产品的机构。产品推荐引擎402向蓝色法兰绒衬衫上的机构发送指令,以便强调蓝色法兰绒衬衫(例如,蓝色法兰绒衬衫的标签上的机构点亮并发出响声)。在另一示例中,通过使商家设备612经由例如AR寻路向商家呈现可听或视觉方向来提供引导。蓝色法兰绒衬衫的位置是已知的(例如,存储在图6中所示的表中),且商家设备612的当前位置也是已知的(例如,使用IPS、GPS或信标,如先前所描述)。产品推荐引擎402因此可以向商家设备612发送指令,指令指示了向蓝色法兰绒衬衫移动的方向。例如,可以在商家设备612的屏幕上显示诸如箭头的视觉引导。例如,假设商家设备612是由商家佩戴的AR眼镜,那么箭头可以作为数字AR对象显示在AR眼镜上。
当商家走近蓝色法兰绒衬衫并且商家设备612的位置改变时,箭头的方向被更新。当商家设备612到达蓝色法兰绒衬衫的大致位置处时,商家设备612的摄像机可以捕获该位置的数字照片,并且使用图像处理(例如,计算机视觉)算法来处理数字照片,以尝试在图像中标识蓝色法兰绒衬衫。一旦它们被标识出,就可以在AR眼镜上呈现数字对象,以便强调蓝色法兰绒衬衫。例如,数字对象可以是在AR眼镜上在蓝色法兰绒衬衫之上呈现的绿点、和/或在蓝色法兰绒衬衫周围的其他物品之上施加以使那些其他物品变灰的掩模,从而更容易地将商家的注意力吸引到蓝色法兰绒衬衫。如果蓝色法兰绒衬衫的位置数据仅是大致的位置数据,而不精确到足以确切定位蓝色法兰绒衬衫,则使用位置(例如,位置和/或方向)数据和图像处理(例如,计算机视觉)的组合可能是有益的。位置数据将商家带到大致的位置,并且计算机视觉被用于在该大致的位置内找到产品。
用于在图像中标识推荐产品的算法可以以不同的方式来实现。在一个示例性实现中,由商家出售的每个产品具有或关联于物理特征,所述物理特征对于该产品是唯一的并且在数字图像中可容易标识,例如,附接到每个产品的唯一地标识该产品的回射对象。算法从例如查找表中检索与推荐产品对应的唯一特征的指示。然后,算法在由商家设备612的摄像机617捕获的数字图像中搜索该唯一特征。当对应于推荐产品的唯一特征被定位时,数字图像中的像素可以在唯一特征的位置上和/或周围被修改,以便尝试强调推荐产品。在另一示例性实现中,算法是经训练的机器学习算法。在训练期间,商家产品的图片连同每个图片中有哪一个或多个产品的指示以及每个图片中一个或多个产品中的每个产品的位置被提供给机器学习算法。这些图片可以是商店设施中的产品的图片,可能是从人在走过商店时将查看产品的通常角度捕获的。训练后,当商家设备612处于推荐产品的大致位置时,由商家设备612的摄像机617捕获的数字图像被提供作为对经训练的机器学习算法的输入,并且经训练的机器学习算法提供标识图像中的产品及其在图像中的位置的输出。如果推荐产品被标识,那么数字图像中的像素可以在推荐产品的位置上和/或周围被修改,以便尝试强调推荐产品。
鉴于以上,应当理解,在一些实施例中,将商家引导到推荐产品可以是多步骤过程。在过程的第一步骤中,可以在商家设备612处呈现将商家引导到推荐产品附近的位置的方向。例如,方向可以采用音频和/或视觉引导的形式,例如,可以在商家设备612的屏幕上显示以箭头形式的数字AR对象。例如,图8示出了商家设备612的用户界面620,其以箭头740的形式显示视觉引导。在图8中,商家设备612是AR眼镜,并且推荐产品是蓝色法兰绒衬衫。指引商家的箭头740被叠加在由商家设备612的摄像机617所捕获的零售商店的图像之上。当商家设备612移动时,例如使用IPS、GPS或信标和/或使用传感器619来跟踪商家设备612的位置。商家设备612的物理位置可被映射到坐标空间中的坐标,例如,如先前所描述的。通过例如将商家设备612(在坐标空间中)的坐标与推荐产品(在相同坐标空间中)的已知坐标进行比较,将商家设备612的位置与推荐产品的定位进行比较。取决于实现,可以在商家设备612处或者由产品推荐引擎402执行比较。当商家设备612在推荐产品的位置附近时,由商家设备612的摄像机617捕获的图像可以通过上述的图像处理算法来处理,以尝试在所捕获的数字图像中定位推荐产品。当推荐产品被定位时,可以强调推荐产品。在一个实施例中,这通过修改数字图像的像素以叠加在视觉上强调推荐产品的数字对象来实现。例如,数字对象可以是在推荐产品之上呈现的点和/或在推荐产品周围的其他物品之上应用以使那些其他物品变灰的掩模,从而更容易地将商家的注意力吸引到推荐产品。例如,图9示出了在商家在推荐产品附近的点处的商家设备612的用户界面620。采用点742的形式的数字对象被置于蓝色法兰绒衬衫之上以强调蓝色法兰绒衬衫。
决定商家设备612“靠近”推荐产品是实现特定的。在一个示例性实现中,当商家设备612的位置被确定为处于与推荐产品的位置相同的位置处或者在距推荐产品的位置的预定义距离内时,商家设备612被认为在推荐产品附近。例如,如果使用IPS确定推荐产品的位置处于位置(x,y,z),那么,如果IPS确定商家设备612处于从(x,y,z)在任何方向上10个坐标点内的任何位置处,例如(x±10,y±10,z±10),则可以确定商家设备612在推荐产品的位置附近。作为IPS的替选或补充,可以替代地或附加地使用另一位置跟踪系统,例如GPS或早先描述的信标方法。在另一示例性实现中,如果商家设备612在与推荐产品相关联(例如,最靠近推荐产品)的相同信标的范围内,那么商家设备612可以被认为在推荐产品附近。在另一示例性实现中,如果商家设备612识别(例如,通过图像处理)商家设备612在商店的特定区域和/或与推荐产品相关联的货仓或货架附近,则商家设备612可以被认为在推荐产品附近。在一些实施例中,商家设备612的当前位置与推荐产品的位置的比较被连续地或周期性地执行,例如每秒一次。
以上关于如何将商家引导至推荐产品的说明同样适用于用户/用户设备632。例如,如果推荐产品被发送到用户设备632,并且用户Fred通过用户设备632的用户界面640指示他想要被引导到该产品,那么可以执行上述引导方法。例如,图8和图9中描述和示出的示例可以替代地应用于用户设备632,尽管用户设备632可以(尽管不是必须)是移动电话而不是AR眼镜。稍后解释主要从用户设备632的角度解释的实施例。
在一些实施例中,当产品推荐被发送到商家或用户设备时,关于产品的信息也可被发送。例如,如果推荐了男士蓝色牛仔裤,那么该推荐可以与关于产品的一些基本信息(例如,品牌、材料类型等)一起被发送到商家Jane的AR眼镜,使得Jane可以解释关于产品的细节,而无需记住所有产品细节。在一些实施例中,如果接收到商家可能需要谈论推荐产品的指示,则仅在商家设备的用户界面620上显示产品细节。例如,语音识别软件可以监视要由商家发声的推荐产品(例如,“您可能对男士蓝色牛仔裤感兴趣”),此时,推荐产品的产品细节显示在商家用户界面620上(例如,“仿磨损痕迹”、“牛仔布”、“石洗”等)。
在一些实施例中,产品推荐引擎402可以响应于设备上的摄像机视场的改变而生成产品推荐。例如,如果推荐独立于顾客,而是基于商家在商店中所处的位置,则设备可以是商家设备612。例如,如果推荐是基于顾客在商店中所处的位置,那么设备可以替代地是用户设备632。在紧接以下讨论的示例性场景中,设备是用户设备632。
当用户在零售商店602中到处移动时,用户(以及因此用户设备632)改变位置。“位置”是指位置或定向、或者定位和定向两者,这取决于实现。用户可以使用他们的用户设备632来导航,例如,出于AR寻路的目的和/或出于接收关于产品的信息的目的等。假设用户设备632的位置是用户的位置。
用户设备632上的摄像机637的视场可以由于不同的原因而改变。作为一个示例,用户可以从商店602中的一个位置移动到商店602中的另一位置,使得用户设备632的位置改变,例如,用户设备632的虚拟坐标和/或IPS坐标改变。当用户设备632移动到不同的位置时,摄像机637的视场被确定为已经改变。作为另一示例,用户设备632的定向可以改变,例如,用户使用户设备632指向上、指向下或指向不同方向。当用户设备632的定向改变时,摄像机637的视场被确定为已经改变。定向的改变可以由用户设备632的传感器639来确定,例如,传感器639可以是加速度计或磁力计。在另一示例中,与摄像机637相关联的参数可以改变,这可以改变摄像机637的视场。例如,用户设备632可以改变摄像机637的放大率、焦距和/或视角,以可能地响应于用户界面640处的用户提示。当与摄像机637相关联的特定参数改变时,摄像机637的视场被确定为已经改变。作为另一示例,当检测到由摄像机637捕获的多个图像的改变时,摄像机637的视场被确定为已经改变,例如,用户设备632的处理器634可以使用图像处理来确定摄像机637的视场已经改变。例如,如果图像处理指示由摄像机637捕获的当前图像与由摄像机637捕获的一个或多个先前图像不对应,那么确定摄像机637的视场已经改变。作为另一示例,可以分析由摄像机637捕获的图像序列以直接确定摄像机637的视场是否已经改变,或者检测运动,从而推断摄像机637的视场已经改变。
在一些实施例中,响应于检测到摄像机637的视场已经改变,标识在摄像机637的当前视场内或附近的多个产品。例如,摄像机637的视场已经改变的指示由产品推荐引擎402接收(例如,从用户设备632发送),并且作为响应,产品推荐引擎402确定在摄像机637的当前视场内或附近的产品。在另一实现中,用户设备632自身的处理器634或者处理器634和产品推荐引擎402的某种组合确定在摄像机637的当前视场内或附近的产品。可以实现不同的方式来确定在摄像机637的当前视场内或附近的产品。
在一些实施例中,用户设备632的位置被用于确定在摄像机637的当前视场内或附近的产品。在一个简单示例中,可能仅使用用户设备632的位置,例如,如果用户设备632的虚拟坐标和/或IPS坐标处于或靠近与男士法兰绒衬衫相同的位置,则男士法兰绒衬衫被认为在摄像机637的当前视场内或附近。在另一示例中,用户设备632的定向也可以用于标识在摄像机637的当前视场内或附近的产品。例如,如果来自用户设备632上的加速度计或指南针/磁力计的读数指示用户设备632的定向在特定方向上,则标识在用户设备632的位置处或附近并且在该方向上的一个或多个产品。例如,使用航位推算或绝对测量,基于加速度计和/或磁力计,可确定用户设备632在北方以约45度角指向下方。例如使用IPS和/或信标技术(例如,用户设备632在特定位置处进入信标的范围内),和/或使用用户设备632上的RFID读取器(例如,用户设备632读取指示位置的RFID标签),和/或使用设备上的机器可读代码读取器(例如,用户设备632扫描指示位置的条形码或QR码),和/或通过图像处理(例如,由摄像机637捕获的图像包括指示用户设备632处于特定位置处的特征),将用户设备632的位置确定为处于坐标(695、520、20)。一旦已知对应于位置的坐标,例如,一旦已知用户设备632处于坐标(695、520、20)(在此示例中),那么可以确定,在北方以45度角从该坐标投影会穿过或靠近坐标(695、332、5)。根据图6的表412,坐标(695,332,5)对应于男士法兰绒衬衫的位置。因此,男士法兰绒衬衫被认为在摄像机637的当前视场内或附近。
在一些实施例中,图像处理可以用于确定用户设备632的位置,例如,由摄像机637捕获的至少一个图像可用于标识图像中的指示用户设备632的位置的至少一个特征。在一个示例中,使用各自与商店中的相应位置具有已知关联的图像来训练机器学习算法。然后,在训练后,经训练的机器学习算法基于从用户设备632的摄像机637接收的图像来确定用户设备632的位置,例如,图像的像素被用于确定图像中的某些对象和/或特征,经训练的机器学习算法将这些对象和/或特征与商店中的已知位置相关联。在另一示例中,诸如标记和/或物品(其可以是回射的)的唯一特征被置于整个商店中并与已知位置相关联。每个特征具有到商店中的特定位置的唯一映射。然后,对由摄像机637捕获的一个或多个图像执行图像处理以搜索唯一特征。在一个或多个图像中标识的特定特征映射到用户设备632的特定位置和/或定向。
在一些实施例中,当确定在摄像机637的当前视场内或附近的产品时,摄像机637的一个或多个参数也可以或替代地被考虑。例如,摄像机视野是面向后的还是面向前的可以指示或影响视场的方向。作为另一示例,摄像机637的放大率可以影响视场的范围。例如,如果视觉放大较高(用户正在放大),则仅位于或紧邻摄像机637的直接视线的产品被分类为在摄像机637的当前视场内或附近,而如果视觉放大较低,则与摄像机637的直接视线相邻但离其较远的其他附加产品被分类为在摄像机637的当前视场内或附近。
在一些实施例中,图像处理可被用于确定在摄像机637的当前视场内或附近的产品,可能独立于明确地确定用户设备632的位置。例如,可以对由摄像机637捕获的图像执行图像处理以标识图像中的一个或多个产品。图像中标识的产品可被认为是在摄像机637的当前视场内或附近的产品。可选地,图像外但已知在图像中的产品附近的产品可以被附加地包括作为在摄像机637的当前视场内或附近的产品。可以以不同的方式经由图像处理在图像中标识产品。在一个示例中,每个产品(或产品存在于其上或其中的货仓或货架)具有唯一地标识产品(例如,特定回射对象)的特征。当在图像中唯一地标识特征时,可以确定对应的产品在图像中。在另一示例中,可以使用产品的图片来训练机器学习算法,例如,执行监督训练,其中,对每个产品的大量图片训练机器学习算法。然后,在训练后,当摄像机637拍摄图像时,经训练的机器学习算法处理图像以标识图像中存在哪一个或多个产品。
上文和本文的一些实施例讨论了产品“靠近”位置或设备(例如,靠近用户设备632)。被认为“靠近”是实现特定的。在一个示例实现中,“靠近”某物的产品意味着它处于与该物相同或在距该物的预定义距离内的位置。例如,如果产品的位置被确定为在位置(x,y,z)处,则如果IPS确定设备处于从(x,y,z)在任何方向上在10个坐标点内的任何位置处,例如(x±10,y±10,z±10),则可以确定设备在产品的位置附近。在另一示例性实现中,如果产品在与某物相关联(例如,最靠近)的相同信标的范围内,则产品被认为是“靠近”该物。在另一示例性实现中,如果设备识别(例如,通过图像处理)设备在与产品相关联的商店的特定区域和/或货仓或货架的摄像机视图中,则该产品就被认为是“靠近”该设备。
在一些实施例中,在操作中,当用户在零售商店602中时,用户设备632改变其视场,例如,因为用户改变用户设备632的位置和/或改变摄像机参数(例如,改变放大率)。作为响应,确定在当前视场内或附近的多个产品。然后,推荐这些产品中的至少一个,即,将其识别为推荐产品。产品推荐以先前描述的方式发生,例如使用与用户设备632相关联的用户简档410中的用户特定信息和/或使用推荐规则(例如图7的表414中的规则)。
在一些实施例中,推荐引擎402引起推荐产品的强调。强调的示例在早先介绍。在一个示例中,强调通过例如经由先前描述的方法之一标识由摄像机637捕获的图像中的产品(诸如经由图像处理标识对应于该产品的唯一特征)来提供。然后,修改数字图像的像素以叠加在视觉上强调推荐产品的数字对象。例如,数字对象可以是呈现在推荐产品之上的点和/或应用在推荐产品周围的其他物品之上以使那些其他物品变灰的掩模,从而更容易地将商家的注意力吸引到推荐产品。例如,图10示出了用户设备632处于用户靠近推荐产品的点,在该示例中推荐产品是蓝色法兰绒衬衫。采用点744形式的数字对象被置于推荐的蓝色法兰绒衬衫之上,以便强调蓝色法兰绒衬衫。在另一示例中,作为补充或替选,强调可通过指示对推荐产品的机构的强调来提供。例如,图11示出了固定到推荐的红色法兰绒衬衫的机构746。机构746发光并振动。可选地,这与用户设备632的用户界面640上的消息耦合,该消息声称“您可能对我们的红色法兰绒衬衫感兴趣(查找正寻呼您的衬衫…)”。在另一示例中,替代地,通过指示推荐产品存在于其上或其中的展示或存储单元的强调来提供强调。例如,图12是图11的变型,其中,集成到和/或固定到展示货架的对象750发光并振动。注意,强调展示或存储单元可以通过强调连接到(例如,固定到)展示或存储单元的某物来实现。它还可以或者替代地以不直接固定到展示或存储单元但是仍然强调展示或存储单元的方式来实现,例如在展示或存储单元上方或下方发光,和/或激活指向展示或存储单元的发光箭头等。
以上参考用户设备632进行了解释。然而,当适用时,以上解释适用于商家设备612。在一个示例中,产品推荐仍可基于用户特定信息,但是基于商家设备612的摄像机617的当前视场,例如,仅向商家推荐在商家设备612的摄像机617的视场内或附近的用于顾客的产品。以这种方式,当商家在协助顾客时,商家可以针对顾客的推荐产品,其中,推荐产品在商家所处的或正在查看的地方附近。在另一示例中,推荐可以是独立于顾客的,并且基于商家设备612的摄像机617的视场针对商家和/或顾客而强调。
上面的实施例涉及从多个产品中推荐产品,其中,基于设备的摄像机(例如,商家设备612或用户设备632的摄像机)的当前视场来确定多个产品。在这样的实施例中可能有不同的益处。一个益处是推荐在人或人的视场内或附近的产品。实时地或接近实时地,当人移动并查看商店时,推荐该人可能感兴趣的、并且在人的设备上的其摄像机的视场内或附近的产品。此外,在一些实现中,可能减少或避免使用诸如IPS之类的室内导航系统,这有时可能是不准确的和/或在技术上难以实现的。替代地,在一些实施例中,摄像机的视场捕获可以用于标识摄像机的当前视场内或附近的产品的图像,这例如通过直接标识图像中的产品、和/或通过根据图像中的特征确定商店的位置并将该位置映射到产品。然后从所标识的产品中选择推荐产品。在其他实施例中,室内导航系统和由摄像机捕获的一个或多个图像两者都可用于标识摄像机的当前视场内或附近的产品,例如,如果来自摄像机的一个或多个图像补充来自室内导航系统的信息。
现在将描述一些其他示例性方法。
图13是根据一个实施例的计算机实现的方法。该方法可由计算设备(例如产品推荐引擎402)执行。在图13的方法中,将步骤描述为由产品推荐引擎402的处理器404执行,但这仅是示例。例如,步骤可以替代地由另一实体执行,该另一实体可以是或可以不是产品推荐引擎402的一部分。
在步骤752,处理器404获得与访问零售商店的人相关联的用户身份,例如,在前述示例中,Fred的用户身份在他进入商家Jane的商店时被获得。在一个示例中,用户身份可以由处理器404经由网络接口406例如响应于用户设备632的用户授予与商家共享他们的信息的许可而从用户设备632接收。在另一示例中,用户身份可以通过处理器404(例如,经由网络接口406从商家设备612)接收用户面部的数字图像并且使用面部识别来将数字图像中的面部与用户身份进行匹配来获得。
在步骤754,处理器404从存储器408检索链接到用户身份的用户简档410。例如,用户ID可以用于唯一地标识存储器408中的用户简档410。如先前所讨论的,用户简档410存储关于该人的信息,例如,像图5中的示例中那样。在步骤756,处理器404生成产品推荐。产品推荐是针对将被称为推荐产品的产品。注意,本文所用的“产品”可以指一般产品类型,例如“牛仔裤”、“男士法兰绒衬衫”、或者特定产品,例如“J.K.Renold钱包棕色皮革产品SKU143221114987”。
产品推荐可以基于来自用户简档410的信息,尽管这不是必需的(并且如果产品信息不是至少基于来自用户简档410的一些信息,则可能不需要先前的步骤752和754)。先前描述了生成产品推荐的许多示例。例如,在一些实施例中,产品推荐可以基于存储在存储器408中的一个或多个规则(例如,推荐规则414)。在一些实施例中,生成产品推荐可以包括针对规则的一个或多个条件评估来自用户简档410的信息,并且当满足规则的每个条件时选择产品推荐作为由规则指示的结果。例如,如果用户简档中的信息指示用户先前在线查看了法兰绒衬衫并查看了法兰绒衬衫是否有现货,则满足图7的规则6的每个条件,并且因此产品推荐是规则结果:推荐法兰绒衬衫。在一些实施例中,规则中的一个或多个是在训练期间由机器学习算法确定的关系或模式,并且生成产品推荐包括将来自用户简档的信息作为输入提供给机器学习算法并且根据机器学习算法的所得输出来选择产品推荐。
在一些实施例中,处理器404还检索指示零售商店中有哪一个或多个产品有现货的库存信息,并且步骤756包括基于来自用户简档的信息和库存信息两者来生成产品推荐。因此,推荐的特定产品是零售商店中有现货的产品。例如,“如果-则”规则的条件可以评估产品是否有现货(例如,像图7的规则1和4-6中那样)。作为另一示例,可以检查规则的结果以确定用于推荐的潜在产品是否有现货,并且仅在产品有现货时推荐该产品(例如,可以执行图7的规则3,但是仅在处理器404确认腰带有现货时才实际推荐腰带)。作为另一示例,有现货的产品库存可以作为输入被提供给执行产品推荐的机器学习算法,这可以在训练期间和/或训练后发生。
在一些实施例中,当执行步骤756时,用户简档中的信息可以包括该人的购买历史(例如,图5的购买历史716),并且可以基于购买历史来生成产品推荐。在一些实施例中,用户简档中的信息可以包括由该人在线查看的一个或多个产品的指示(例如,图5的浏览历史720),并且可以基于由该人在线查看的一个或多个产品的指示来生成产品推荐。
在步骤758,处理器404传送产品推荐以用于在设备的用户界面上呈现。设备可以是商家设备612或用户设备632,或者,推荐可以被传送到两个设备。图9中的点742和图10中的点744是可以呈现产品推荐的示例方式。此外或作为替选,推荐可以简单地是文本等,“例如,蓝色法兰绒衬衫”。呈现在用户界面上的推荐可以与如何强调推荐产品是分开的,例如,在图11和12中,呈现在用户界面上的产品推荐是“您可能对我们的红色法兰绒衬衫感兴趣”,而推荐产品经由图11的机构746或图12的对象750单独强调。
如果产品推荐引擎402在商家设备612上实现,那么传送产品推荐以用于在商家设备612的用户界面上呈现可涉及处理器404指示商家设备612的用户界面620呈现(例如,显示)所推荐的特定产品的指示。如果产品推荐引擎402是与商家设备612分开的(例如,如图4所示),则传送产品推荐可以涉及处理器404发出指令以通过网络接口406向商家设备612发送消息,其中,消息包括推荐产品的指示。然后,可以由商家设备612在商家设备的用户界面620上呈现(例如,显示)推荐产品的指示。也就是说,在步骤758中传送产品推荐以用于在设备的用户界面上呈现的动作可以包括向商家设备发送所推荐的特定产品的指示。可以由处理器404指示发送。如果产品推荐被传送以在用户设备632的用户界面640上呈现,则同样适用。即,传送的动作可以涉及指示用户设备632的用户界面640呈现(例如,显示)所推荐的特定产品的指示,和/或其可以涉及处理器404发出指令以通过网络接口406向用户设备632发送消息,其中,消息包括推荐产品的指示。
在一些实施例中,传送产品推荐以用于在设备的用户界面上呈现可以包括传送推荐产品的指示以用于在设备的用户界面上显示。
在一些实施例中,生成产品推荐可以包括检测设备的摄像机的视场已经改变,并且响应于检测到摄像机的视场已经改变,确定摄像机的当前视场内或附近的多个产品。多个产品中的至少一个可以被标识为推荐产品。在一些实施例中,方法还可以包括引起推荐产品的强调。引起强调的示例已在之前描述了,例如指示推荐产品上的机构的强调,和/或指示推荐产品存在于其上或其中的展示或存储单元的强调,和/或指示设备的显示器上的视觉指示符的呈现,其中,视觉指示符在设备的显示器上显示的图像中强调推荐产品。
在一些实施例中,检测摄像机的视场已经改变可以包括以下中的至少一个:检测设备的位置改变,和/或检测由摄像机捕获的图像的改变,和/或检测摄像机的至少一个参数的改变。在一些实施例中,位置可以包括设备的定位和定向。在一些实施例中,可以从设备上的至少一个传感器确定定向。在一些实施例中,确定多个产品可以包括基于以下各项来确定哪些产品在摄像机的当前视场内或附近:摄像机的至少一个参数、和/或设备的位置、和/或设备的定向。
在一些实施例中,产品推荐是针对特定产品的。术语“特定产品”可以指一般产品类型,例如推荐是指“牛仔裤”、“男士法兰绒衬衫”、或者特定产品,例如推荐是针对“J.K.Renold钱包棕色皮革产品SKU 143221114987”。在一些实施例中,图13的方法包括获得指示设备位置的设备位置数据,以及确定设备位置是否等于特定(推荐)产品的位置或在距特定(推荐)产品的位置的预定义距离内。例如,设备位置数据可以是坐标,例如如前所述,其可以使用IPS、GPS、信标技术(例如以上述方式)或一些其他技术来确定。特定产品的位置也可以是已知的,例如定位系统中的坐标、货架或货仓编号等。在一些实施例中,如果确定设备的位置等于特定产品的位置或在距特定产品的位置的预定义距离内,则处理器404可以引起特定产品的强调。“预定义距离”是实现特定的,并且可以是在设计或初始化期间设置的距离,其反映了离特定产品的位置不太远的距离。在一些实施例中,引起特定产品的强调可以包括以下中的至少一个:指示特定产品上的机构的强调(例如,引起附接到产品的设备振动和/或点亮);指示特定产品存在于其上或其中的单元的强调(例如,使特定货仓或货架点亮);或者指示在设备的显示器上呈现视觉指示符(例如使用AR的数字对象)。视觉指示符可以在设备的显示器上显示的图像中强调特定产品。在一些实施例中,在指示在设备的显示器上呈现视觉指示符之前,方法还可以包括使用图像处理来在设备的显示器上显示的图像中定位特定产品。
在一些实施例中,图13的方法可以包括确定人在商店中的位置,并且步骤756可以涉及基于人在商店中的位置来生成产品推荐。在一些实施例中,确定人在商店中的位置可以包括:(i)从与人相关联的用户设备接收消息,消息提供了位于商店中的信标的标识;(ii)将信标的标识映射到商店中的信标位置;以及(iii)基于信标位置来确定人在商店中的位置。
在一些实施例中,图13的方法还包括指示被推荐的特定产品上的机构的强调和/或指示特定产品存在于其上或其中的单元的强调。
在一些实施例中,图13的方法还包括确定被推荐的特定产品(在商店中)的位置、以及指示商家设备在商家设备的用户界面上显示视觉引导。视觉引导用于帮助将商家引导到特定产品。视觉引导可以是商家设备的用户界面上的AR数字图像,其指向特定产品的方向和/或强调特定产品。在一些实施例中,被推荐的特定产品的位置基于在设备标识特定产品时用于标识特定产品的设备(例如,条形码读取器、QR码读取器、RF标签读取器等)的位置来确定。早先描述了示例,其中,商家设备612在整个商店中移动以标识产品,并且当产品被标识时,商家设备612的位置被用作所标识产品的位置。在这种情况下,用于确定产品在商店中的位置的商家设备612可能与由商家用于接收产品推荐的商家设备612不同。
图14是根据另一实施例的计算机实现的方法。该方法可由计算设备(例如产品推荐引擎402)执行。在图14的方法中,将步骤描述为由产品推荐引擎402的处理器404执行,但这仅是示例。例如,步骤可以替代地由另一实体执行,该另一实体可以是或可以不是产品推荐引擎402的一部分。实体可以部分地或完全地在诸如用户设备或商家设备之类的设备中实现。
在步骤782,处理器404检测到设备的摄像机的视场已经改变。执行这种检测的示例性方式已在之前描述了,例如,检测可以基于由摄像机捕获的图像的改变和/或设备的位置的改变等。在一个示例中,检测摄像机的视场已经改变包括以下中的至少一个:检测设备的位置的改变;检测由摄像机捕获的图像的改变;或者检测摄像机的至少一个参数的改变。在一些实施例中,检测设备的摄像机的视场已经改变可以通过处理器404从设备接收设备的摄像机的视场已经改变的指示来实现。该指示可以是显式指示,或者其可以是隐式的,例如,接收到设备的经更新的位置和/或定向,其不同于最后已知的位置和/或定向,并且其由此充当设备的摄像机的视场已经改变的固有指示。注意,取决于实现,设备可以是用户设备632或商家设备612。
在步骤784,响应于检测到摄像机的视场已经改变,处理器404确定摄像机的当前视场内或附近的多个产品。先前描述了确定多个产品的示例性方式。如前所述,可以基于设备的位置和/或基于在由设备的摄像机捕获的图像中标识的产品或特征等来标识产品。在一个示例中,基于设备的位置来确定多个产品,并且设备的位置可以包括设备的定位和/或定向。在一个示例中,位置包括设备的定位和定向。在一些实施例中,可以从设备上的至少一个传感器确定定向。例如,至少一个传感器可以是或包括加速度计,并且可以使用加速度计来确定设备的定向。在一些实施例中,确定多个产品可以包括基于以下各项来确定哪些产品在摄像机的当前视场内或附近:摄像机的至少一个参数,和/或基于设备的位置,和/或基于设备的定向。在一些实施例中,可以使用以下中的至少一个来确定设备的位置:IPS;信标;设备上的RFID读取器;设备上的机器可读代码读取器;或对由设备的摄像机捕获的至少一个图像的图像处理。
在一些实施例中,可以通过执行对由摄像机捕获的至少一个图像的处理以标识图像中的指示设备的位置的至少一个特征来确定设备的位置。例如,如先前所解释的,经训练的机器学习算法可基于图像中的特征来确定设备的位置,和/或图像中的回射对象形式的特征可与已知位置相关联。
在步骤786,处理器404将多个产品中的一个标识为推荐产品。可以标识几个推荐产品。可以基于先前描述的任何方式,例如基于与设备相关联的人的用户特定信息,来标识推荐产品。在一些实施例中,将多个产品中的一个标识为推荐产品可以包括:(i)获得访问零售商店的人的用户身份;(ii)从存储器检索链接到用户身份的用户简档,用户简档存储关于该人的信息;以及(iii)基于来自用户简档的信息生成推荐产品。该人可以与设备(例如,设备的所有者)相关联,但是其不一定如此。例如,商家可以协助顾客,并且该方法中的设备可以是商家设备。在一些实施例中,用户简档中的信息可以包括由人在线查看的一个或多个产品的指示,并且推荐产品可以基于由人在线查看的一个或多个产品的指示来生成。在一些实施例中,用户简档中的信息可以包括人的购买历史,并且可以基于购买历史来生成推荐产品。
在一些实施例中,生成推荐产品可以包括对照规则的一个或多个条件来评估来自用户简档的信息,并且当满足规则的每个条件时选择推荐产品作为由规则指示的结果。在一些实施例中,生成推荐产品可以包括将来自用户简档的信息作为输入提供给机器学习算法,并且根据机器学习算法的所得输出来选择推荐产品。
可选地,在步骤788,处理器404引起推荐产品的强调。引起强调的示例性方式已先前描述了并且可以包括例如:指示对推荐产品上的机构的强调,和/或指示对推荐产品存在于其上或其中的展示或存储单元的强调,和/或指示在设备的显示器上呈现视觉指示符,其中,视觉指示符在设备的显示器上显示的图像中强调推荐产品。
在一些实施例中,确定多个产品可以包括:(i)基于设备的位置来确定候选产品;(ii)对由摄像机捕获的图像执行图像处理以确定存在于图像中的候选产品的子集;以及(iii)选择多个产品作为存在于图像中的候选产品的子集。例如,在这样的实施例中,设备的位置可以划出更小的候选产品集合(例如,设备在鞋部分中,并且因此候选产品是鞋)。然后,可以执行图像处理以标识候选产品中的哪些实际上在视场中。设备的位置不一定需要包括设备的定向,例如,设备的位置可以仅仅是设备的定位。定位可能比定向更容易确定。在一些实施例中,执行图像处理可以包括标识图像中的特征,该特征标识候选产品的子集。作为一个示例,经训练的机器学习算法可被用来基于图像中的特征来标识产品。在一个示例中,在图像中标识产品或产品存在于其中或其上的存储或展示单元上的特征(诸如标签),并且其映射到一个或多个特定产品。
在一些实施例中,提供了一种用于执行上述方法的系统。该系统可以包括存储器(例如,存储器408),以存储与访问零售商店的人相关联的用户身份,并且存储具有关于该人的信息的用户简档。该系统还可以包括至少一个处理器(例如,处理器404),以执行操作,所述操作诸如获得用户身份、基于用户身份检索用户简档、基于来自用户简档的信息生成产品推荐、和/或传送产品推荐以用于在设备的用户界面上呈现。在一些实施例中,提供了一种计算机可读介质,其上存储有计算机可执行指令,所述指令当由计算机执行时使计算机执行上述方法步骤。
总结
注意,如本文所用,表述“A或B中的至少一个”可与表述“A和/或B”互换。它是指你可以在其中选择的列表:A或B,或A和B两者。类似地,本文所用的“A、B或C中的至少一个”可与“A和/或B和/或C”或“A、B和/或C”互换。它是指你可以在其中选择的列表:A或B或C,或A和B两者,或A和C两者,或B和C两者,或A、B和C的全部。相同的原则适用于格式相同的较长列表。
尽管已经参考本发明的具体特征和实施例描述了本发明,但是在不脱离本发明的情况下可以对其进行各种修改和组合。因此,说明书和附图应被简单地看作是对由所附权利要求限定的本发明的一些实施例的说明,并且被认为覆盖了落入本发明的范围内的任何和所有修改、改变、组合或等同物。因此,尽管已经详细描述了本发明及其优点,但是在不背离由所附权利要求限定的本发明的情况下,可以在此进行各种改变、替换和变更。此外,本申请的范围并不旨在限于说明书中描述的过程、机器、制造、物质组成、装置、方法和步骤的特定实施例。如本领域普通技术人员从本发明的公开内容中可以容易理解的,根据本发明,也可以利用目前存在的或以后将开发的、执行与本文所述的相应实施例基本相同的功能或实现与本文所述的相应实施例基本相同的结果的过程、机器、制造、物质组成、设备、方法或步骤。因此,所附权利要求旨在将这些过程、机器、制造、物质组成、设备、方法或步骤包括在其范围内。
此外,本文中例示的执行指令的任何模块、组件或设备都可以包括或以其他方式访问用于存储信息的非暂时性计算机/处理器可读存储介质,诸如计算机/处理器可读指令、数据结构、程序模块和/或其他数据。非暂时性计算机/处理器可读存储介质的示例的非穷举列表包括磁带盒、磁带、磁盘存储或其他磁存储设备、诸如压缩盘只读存储器(CD-ROM)、数字视频盘或数字多功能盘(DVD)、Blu-ray Disc™或其他光学存储之类的光盘、以任何方法或技术实现的易失性和非易失性、可移动和不可移动介质、随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、闪存或其他存储器技术。任何这样的非暂时性计算机/处理器存储介质都可以是设备的一部分或者可接入或可连接到该设备上。本文描述的任何应用或模块可使用可由这样的非暂时性计算机/处理器可读存储介质存储或以其他方式保持的计算机/处理器可读/可执行指令来实现。

Claims (15)

1.一种计算机实现的方法,包括:
检测设备的摄像机的视场已经改变;
响应于检测到所述摄像机的所述视场已经改变,确定所述摄像机的当前视场内或附近的多个产品;
将所述多个产品中的一个产品标识为推荐产品;以及
引起对所述推荐产品的强调。
2.根据权利要求1所述的计算机实现的方法,其中,引起对所述推荐产品的强调包括以下中的至少一个:指示对推荐产品上的机构的强调;指示所述推荐产品存在于其上或其中的展示或存储单元的强调;或者指示在所述设备的显示器上呈现视觉指示符,所述视觉指示符在所述设备的所述显示器上显示的图像中强调所述推荐产品。
3.根据权利要求1或2所述的计算机实现的方法,其中,检测所述摄像机的所述视场已经改变包括以下中的至少一个:检测所述设备的位置的改变;检测由所述摄像机捕获的图像的改变;或者检测所述摄像机的至少一个参数的改变。
4.根据权利要求3所述的计算机实现的方法,其中,所述多个产品是基于所述设备的位置来确定的。
5.根据权利要求4所述的计算机实现的方法,其中,所述位置包括所述设备的定位和定向,其中,所述定向从所述设备上的至少一个传感器确定,并且其中,确定所述多个产品包括基于所述摄像机的至少一个参数、以及所述设备的定位和定向来确定哪些产品在所述摄像机的当前视场内或附近。
6.根据权利要求5所述的计算机实现的方法,其中,所述至少一个传感器包括加速度计,并且其中,使用所述加速度计来确定所述设备的定向。
7.根据权利要求5或6所述的计算机实现的方法,其中,所述定位是使用以下中的至少一个来确定的:室内定位系统(IPS);信标;所述设备上的射频标识(RFID)读取器;所述设备上的机器可读代码读取器;或者由所述摄像机捕获的至少一个图像的图像处理。
8.根据权利要求4所述的计算机实现的方法,还包括通过执行对由所述摄像机捕获的至少一个图像的处理以标识所述图像中的指示所述设备的位置的至少一个特征来获得所述设备的位置。
9.根据权利要求1至8中任一项所述的计算机实现的方法,其中,将所述多个产品中的一个产品标识为推荐产品包括:
获得访问所述零售商店的人的用户身份;
从存储器检索链接到所述用户身份的用户简档,所述用户简档存储关于所述人的信息;
基于来自所述用户简档的信息来生成所述推荐产品。
10.根据权利要求9所述的计算机实现的方法,其中,所述用户简档中的信息包括由所述人在线查看的一个或多个产品的指示,并且所述推荐产品基于由所述人在线查看的所述一个或多个产品的所述指示来生成。
11.根据权利要求9或10所述的计算机实现的方法,其中,所述用户简档中的信息包括所述人的购买历史,并且所述推荐产品基于所述购买历史而生成。
12.根据权利要求9至11中任一项所述的计算机实现的方法,其中,生成所述推荐产品包括对照规则的一个或多个条件来评估来自所述用户简档的信息,并且当满足所述规则的每个条件时选择所述推荐产品作为由所述规则指示的结果。
13.根据权利要求9至11中任一项所述的计算机实现的方法,其中,生成所述推荐产品包括将来自所述用户简档的信息作为输入提供给机器学习算法并且根据所述机器学习算法的所得输出来选择所述推荐产品。
14. 一种系统,包括:
存储器,被配置为存储用户简档;以及
处理器,用于使所述系统执行根据权利要求1至13中任一项所述的方法。
15.一种计算机程序,所述计算机程序当由计算机执行时使所述计算机执行根据权利要求1至13中任一项所述的方法的步骤。
CN202110410610.9A 2020-04-17 2021-04-16 用于店内产品推荐的计算机实现的系统和方法 Pending CN113538085A (zh)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US202063011518P 2020-04-17 2020-04-17
US63/011518 2020-04-17
US17/110,665 US11887173B2 (en) 2020-04-17 2020-12-03 Computer-implemented systems and methods for in-store product recommendations
US17/110665 2020-12-03
EP21151031.8 2021-01-11
EP21151031.8A EP3896635A1 (en) 2020-04-17 2021-01-11 Computer-implemented systems and methods for in-store product recommendations

Publications (1)

Publication Number Publication Date
CN113538085A true CN113538085A (zh) 2021-10-22

Family

ID=74175605

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110410610.9A Pending CN113538085A (zh) 2020-04-17 2021-04-16 用于店内产品推荐的计算机实现的系统和方法

Country Status (4)

Country Link
US (2) US11887173B2 (zh)
EP (1) EP3896635A1 (zh)
CN (1) CN113538085A (zh)
CA (1) CA3107721A1 (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160012453A1 (en) * 2014-07-11 2016-01-14 Shamim A. Naqvi System and Method for Inferring the Intent of a User While Receiving Signals On a Mobile Communication Device From a Broadcasting Device
US20220067688A1 (en) 2020-09-01 2022-03-03 Lg Electronics Inc. Automated shopping experience using cashier-less systems
US20220319126A1 (en) * 2021-03-31 2022-10-06 Flipkart Internet Private Limited System and method for providing an augmented reality environment for a digital platform
US20230126497A1 (en) * 2021-10-26 2023-04-27 Docusign, Inc. Tracking time-based conditions relative to events for secure electronic document agreements
US11758380B2 (en) * 2021-11-22 2023-09-12 Capital One Services, Llc Methods and systems for presenting user specific information based on mobile device proximity to short-range wireless technology beacons

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10614513B2 (en) 2006-07-07 2020-04-07 Joseph R. Dollens Method and system for managing and displaying product images with progressive resolution display
US20100253787A1 (en) 2009-04-02 2010-10-07 Isaac Grant Method for Object Recognition and Communication of Associated Label and Other Information
US20130293530A1 (en) * 2012-05-04 2013-11-07 Kathryn Stone Perez Product augmentation and advertising in see through displays
US10360619B2 (en) * 2014-03-28 2019-07-23 Paypal, Inc. Item location assistant
AU2016284700A1 (en) 2015-06-24 2018-01-18 Magic Leap, Inc. Augmented reality devices, systems and methods for purchasing
CA3020912A1 (en) 2016-04-15 2017-10-19 Walmart Apollo, Llc Systems and methods that provide customers with access to rendered retail environments
WO2018081176A1 (en) 2016-10-24 2018-05-03 Aquifi, Inc. Systems and methods for contextual three-dimensional staging
GB2562095B (en) * 2017-05-05 2020-07-15 Arm Kk An electronic label and methods and system therefor
KR102378682B1 (ko) 2018-02-06 2022-03-24 월마트 아폴로, 엘엘씨 커스터마이즈된 증강 현실 아이템 필터링 시스템
US11068969B2 (en) 2019-02-27 2021-07-20 International Business Machines Corporation Method and system for configuring a virtual reality environment
KR102057227B1 (ko) 2019-03-08 2019-12-18 주식회사 캠펑 증강현실 기반 자동 이미지 분할, gps 및 비콘을 이용한 실시간 리워드 광고 서비스 제공 시스템 및 방법
US11281734B2 (en) * 2019-07-03 2022-03-22 International Business Machines Corporation Personalized recommender with limited data availability
US11631122B2 (en) 2020-09-23 2023-04-18 Shopify Inc. Computer-implemented systems and methods for in-store route recommendations
US20220114639A1 (en) 2020-10-09 2022-04-14 Micron Technology, Inc. Recommending products using artificial intelligence

Also Published As

Publication number Publication date
EP3896635A1 (en) 2021-10-20
US20210326959A1 (en) 2021-10-21
CA3107721A1 (en) 2021-10-17
US20240119503A1 (en) 2024-04-11
US11887173B2 (en) 2024-01-30

Similar Documents

Publication Publication Date Title
JP7495034B2 (ja) 物理的アイテムに関する拡張現実シーンを生成するシステムおよび方法
US20220130126A1 (en) Augmented reality-assisted methods and apparatus for assessing fit of physical objects in three-dimensional bounded spaces
US11810060B2 (en) Systems and methods for facilitating e-commerce product returns using orders for returned items
CN114526736B (zh) 用于店内路线推荐的计算机实现的系统和方法
US11887173B2 (en) Computer-implemented systems and methods for in-store product recommendations
US20200402001A1 (en) Systems and methods for facilitating e-commerce product returns using an online store
US11783284B2 (en) Systems and methods for facilitating e-commerce product returns using an online marketplace
US11398079B2 (en) Systems and methods for generating augmented reality content based on distorted three-dimensional models
US11341558B2 (en) Systems and methods for recommending a product based on an image of a scene
EP3757932A1 (en) Systems and methods for facilitating e-commerce product returns using orders for returned items
KR102684040B1 (ko) 물리적 아이템에 대한 증강 현실 장면을 생성하기 위한 시스템 및 방법
US20230260249A1 (en) Systems and methods for training and using a machine learning model for matching objects
WO2024050620A1 (en) Methods for calibrating augmented reality scenes

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