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

用于化妆品推荐的方法和设备与流程

2022-03-19 14:34:12 来源:中国专利 TAG:


1.本公开大体上涉及用于提供定制推荐的方法和设备,更具体地,用于基于一个或多个图像的化妆品推荐。


背景技术:

2.定制或个性化的产品推荐,诸如个人护理或化妆品,越来越受欢迎。然而,现有的提供产品推荐的方法可能涉及长期的调查和问卷调查,以获取有关用户偏好的信息。例如,现有的选择香水的方法要么需要面对面咨询,要么不能在没有长期调查的情况下立即虚拟推荐香水产品。因此,需要一种用于向消费者提供产品推荐的改进的方法。


技术实现要素:

3.本文的实施方案提供了用于基于图像提供产品推荐的系统和方法。
4.在一个实施方案中,一种计算机实现的产品推荐方法包括接收用于分析的图像,请求对图像进行分析以进行字词注释,接收作为一个或多个标签生成的注释字词,使用处理器创建与一个或多个标签对应的第一组训练字词向量,以将来自一个或多个标签的每个字词映射到n维空间中的对应向量,使用处理器创建与数据库中的一个或多个产品描述对应的一组或多组训练字词向量,以将产品描述中的每个字词映射到n维空间中的对应向量,计算第一组训练字词向量与对应于产品描述的一组或多组训练字词向量中的每组训练字词向量之间的距离,比较计算的距离以确定表示接收图像和产品描述之间最佳匹配的最接近距离,以及基于比较自动生成产品推荐。
附图说明
5.图1示出了根据本文的实施方案的基于示例性图像的产品推荐方法;
6.图2示出了图1的产品推荐方法的示例性流程图;
7.图3示出了根据本文的实施方案的用于提供基于图像的产品推荐的系统;
8.图4示出了根据本文的实施方案的可以实施本发明的至少一个或多个部件或步骤的示例性计算设备;
9.图5示出了图1和图2的基于图像的产品推荐方法的示例性过程流程;
10.图6示出了根据本文的实施方案的用于将图像识别和匹配到产品以提供产品推荐的过程的流程图;并且
11.图7示出了根据本文的实施方案的用于实施产品推荐方法的示例性用户界面。
具体实施方式
12.本文将参考示例性网络和计算系统架构描述本发明的实施方案。然而,应当理解,本发明的实施方案并不旨在限于这些示例性架构,而是更通常适用于可能需要基于图像的产品推荐的任何系统。
13.如本文所用,“n”可以表示大于1的任何正整数。
14.参考图1,示出了根据本文的实施方案的产品推荐方法的概述,用户101访问用户设备102上的用户界面103以使用推荐引擎104。用户101可以经由用户界面103使用设备102上传图像。用户界面103可以是网站、用户设备102上的应用程序,或现在已知或随后开发的任何合适的方式。用户界面103与推荐引擎104交互并且基于来自推荐引擎104的上传图像接收至少一个产品推荐。将产品推荐显示在用户设备102的显示器上。用户设备102可以是移动设备、计算机或能够与推荐引擎104交互的任何合适的设备。下面进一步描绘用于实施基于图像的产品推荐的方法和系统的详细信息。
15.图2示出了图1的产品推荐方法的过程的流程图。具体地,在图1的用户界面103处实施的过程200用于接收图像并且基于图像提供至少一个产品推荐。在步骤201处,用户界面103从用户101接收图像(例如,在用户设备102处)。可以在用户设备处使用成像设备捕获该图像,或者在用户设备处存储经由用户界面上传的该图像。图像与用户请求推荐的产品、产品类型或产品特征相关。例如,如果产品是香水,则图像可以代表用户感兴趣的香水(例如,花香、清洁、皮革等)的特征或与之相关的特征。在步骤202处,将上传图像和请求由用户界面103发送到推荐引擎104。在步骤203处,用户界面103在用户设备102处向用户101显示加载屏幕。在步骤204处,用户界面103基于上传图像向推荐引擎104发送对产品推荐的请求。在步骤205处,用户界面103接收来自推荐引擎104的产品推荐的最佳匹配。在步骤206处,将最佳匹配产品作为基于上传图像的产品推荐显示在用户设备102上。
16.图3示出了可实施上述基于图像的产品推荐方法的一个或多个步骤的系统的示例性实施方案。系统300包括耦接到数据库350的推荐引擎320。推荐引擎320还通过网络301耦接到一个或多个服务器330a

330n和一个或多个计算设备340a

340n。根据本文的实施方案,网络301可以是局域网(lan)、广域网(wan),诸如互联网、蜂窝数据网络、其任何组合或将支持推荐引擎320、服务器330a

330n、计算设备340a

340n与数据库350之间的通信的连接和协议的任何组合。网络301可以包括有线、无线或光纤连接。推荐引擎320(例如,上述推荐引擎104)可以是驻留在服务器或计算设备上的应用程序编程接口(api),其被配置成与一个或多个数据库和/或一个或多个设备(例如,打印机、销售点设备、移动设备等)通信以存储和检索用户或产品信息。服务器330a

330n可以是管理服务器、网络服务器、能够处理程序指令和接收和发送数据的任何其他电子设备或计算系统,或其组合。计算设备340a

340n可以是台式计算机、膝上型计算机、平板计算机或其它移动设备。通常,计算设备340a

340n可以是能够处理程序指令、发送和接收数据并能够经由网络301与系统300中的一个或多个部件、推荐引擎320和服务器330a

330n通信的任何电子设备或计算系统。数据库350可以包括产品信息、用户信息和任何其它合适的信息。数据库350可以是任何合适的数据库,诸如关系数据库,包括结构化查询语言(sql)数据库,用于存储数据。存储的数据可以是结构化数据,其是根据定义的方案组织的数据集。数据库350被配置成与系统300中的一个或多个部件(诸如推荐引擎320)和一个或多个服务器330a

330n交互。系统300可以包括多个数据库。
17.推荐引擎320可以包括至少一个处理器322。处理器322可配置和/或可编程用于执行存储在存储器中的计算机可读和计算机可执行指令或软件以及用于实现本公开的示例性实施方案的其他程序。处理器322可以是被配置为执行一个或多个模块的单核处理器或
多核处理器。例如,推荐引擎320可以包括交互模块324,其被配置成与一个或多个用户和/或外部设备(例如,其它服务器或计算设备)交互。推荐引擎320可以包括用于运行nlp算法以转换和/或比较与一个或多个接收图像相关的数据的自然语言处理(nlp)模块325。推荐引擎320还可以包括产品推荐模块326,以基于nlp模块结果提供一个或多个产品推荐。然后可以将推荐显示在用户界面上和/或发送到一个或多个外部设备,和/或存储在一个或多个数据库内。在一些实施方案中,如果用户从推荐中选择一个或多个产品,交互模块324可以检索每个产品的信息并允许用户通过用户界面购买产品。
18.图4示出了根据示例性实施方案的可以实施本发明的一个或多个步骤/部件的示例性计算设备的框图。计算设备400包括用于存储用于实施示例性实施方案的一个或多个计算机可执行指令或软件的一个或多个非暂态计算机可读介质。非暂态计算机可读介质可以包括但不限于一种或多种类型的硬件存储器、非暂态有形介质(例如,一个或多个磁性存储盘、一个或多个光盘、一个或多个闪存驱动器、一个或多个固态磁盘)等。例如,计算设备400的存储器401可以存储用于实现计算设备400的示例性操作的计算机可读和计算机可执行指令或软件(例如,上述应用程序和模块)。存储器401可以包括计算机系统存储器或随机存取存储器,诸如dram、sram、edo ram等。存储器401也可以包括其它类型的存储器,或其组合。计算设备400还可以包括用于执行存储在存储器401中的计算机可读和计算机可执行指令或软件的可配置和/或可编程处理器402以及用于实现本公开的示例性实施方案的其他程序。处理器402可以是单核处理器或多核处理器,其被配置为执行结合推荐引擎320描述的模块中的一个或多个模块。计算设备400可以通过输入/输出接口405从输入/输出设备接收数据,诸如外部设备420、显示器410和计算设备340a

340n。用户可以通过显示器410与计算设备400交互,诸如计算机监视器或移动设备屏幕,其可以显示一个或多个图形用户界面、多点触摸界面等。输入/输出接口405可以提供到外部设备420的连接,诸如键盘、小键盘和便携式计算机可读存储介质,例如拇指驱动器、便携式光盘或磁盘和存储卡等。计算设备400还可以包括一个或多个存储设备404,诸如硬盘驱动器、cd-rom或其他计算机可读介质,用于存储实现本公开的示例性实施方案的数据和计算机可读指令和/或软件(例如,上述用于推荐引擎320的模块)。计算设备400可以包括网络接口403,其被配置为经由一个或多个网络,例如局域网(lan)、广域网(wan)或通过各种连接的互联网(包括但不限于标准电话线、lan或wan链路、宽带连接、无线连接、控制器区域网络(can)或以上任何或全部的一些组合)与一个或多个网络设备交接。
19.图5示出了系统(例如,系统300)的各种部件之间的示例性过程流程,用于实现本文描述的方法。在步骤1处,用户501将图像上传到诸如网站502的用户界面。在步骤2处,网站502接收用户图像并将包含图像的请求发送到api 503。网站502可以通过各种语言和方法来实施和配置用于与api 503交互,诸如react、hypertext markup语言(html)、cascading style sheets(css)、javascript(js)或这些语言的组合。在步骤3处,api 503将请求发送到标签检测平台504以分析图像。标签检测平台504被配置成自动执行图像注释、提取图像属性、执行光学字符识别(ocr)和/或内容检测以生成图像的字词标签或标签。例如,如果用户上传了一杯咖啡的图片,标签检测平台504会对该图片进行分析,并返回作为标签的字词诸如咖啡、马克杯和咖啡豆。由标签检测平台504生成的标签在步骤5返回到api 503。可商购的示例性标签检测平台是可从获得的google cloud vision。在
步骤6处,api 503向网站502发送响应,其中请求的状态为正在处理。在步骤7处,该网站向用户501显示加载屏幕。在步骤8处,网站向api发送基于图像的产品推荐请求(例如香水推荐)。在步骤9处,api 503对从标签检测平台504接收的标签执行自定义nlp算法。nlp算法的详细信息描绘于图6中。在步骤10处,api 503与数据库506通信并且将标签与数据库506中的产品描述进行比较,以基于上传图像返回最佳匹配产品。在步骤11处,api 503发送包含最佳匹配产品的网站502的响应。在步骤12处,网站显示作为推荐的最佳匹配产品。在步骤13处,用户501在用户设备的显示器上看到推荐。
20.网站502、api 503和标签检测平台504可以在图3所示的系统300中的相同或不同服务器上实施。根据本文的实施方案,api 503可以被实施为图3中的推荐引擎320。用户设备可以实施为图3和图4中所示的计算设备中的一个计算设备。可用于实现本文实施方案中使用的一个或多个api的语言是python、javascript或任何其他编程语言。
21.图6示出了根据本文的实施方案的通过诸如图3的nlp模块325的nlp模块在图5中的api 503处执行的nlp算法的流程图。在步骤601处,api向标签检测平台或任何其它图像检测平台发送图像分析请求。在步骤602处,以字词或字符的形式接收图像的标签。在步骤603处,nlp算法执行步骤604-606。此nlp算法使用预先训练的字词向量进行字词表示。字词向量的商用示例是使用斯坦福大学提供的glove(全局向量)无监督学习算法训练的字词向量组。在步骤604处,对于图像标签列表中的每个字词,将字词映射到n维空间中的对应向量,其中n可以是任何正整数,优选地超过100。这类似于词典查找功能。在步骤605处,进行如下比较:对数据库中的每个产品,应用与步骤604相同的推理,并将字词转化为向量。生成与图像标签对应的第一字词向量列表与对应于描述字词的第二字词向量列表。然后,对于图像标签中的每个字词向量,它与描述词中“最接近”的字词向量的距离是确定的,其中接近度由距离的空间定义确定,例如欧几里得或余弦距离。给定每个字词与其最接近邻居之间的距离,nlp算法会找到这些距离的平均值,并将其确定为图像与相关产品之间的接近度。在步骤606处,根据用户上传的图像确定最接近的平均距离是最佳产品匹配。在步骤607处,然后将最佳匹配作为产品推荐返回到网站或用户界面。最佳匹配可以是一种或多种产品。
22.下面的表1显示了两个字词列表的示例表示以及由上述nlp算法生成的字词之间的余弦距离。
23.表1:字词之间余弦距离的示例性表示
[0024][0025]
表1中的行表示由标签检测平台504从上传图像生成的一组示例性标签。表1中的列表示来自数据库中产品描述的关键字。表中的值表示基于上传图像生成的字词(每行)与
来自产品描述(列)的字词之间的距离,由上述nlp算法生成。在一个实施例中,表1中所示的数字计算为余弦相似性。每个单元格计算如下:
[0026][0027]
其中a和b分别是与行和列字词对应的向量。值越大,字词之间的距离越近,字词之间的相关性和匹配度越高。例如,与“人”行和“人”列对应的单元格的值为1.00,表示完全匹配。作为另一实施例,“套装”行和“提神醒脑”列对应的单元格的值为-0.189,表示两个字词之间的相关性较低。
[0028]
如上所述,nlp算法会找到这些距离的平均值,并将该平均值确定为图像与相关产品之间的接近度。对于数据库中的每个产品描述,可以重复此过程。基于计算的平均值,距离的最接近平均值被确定为最佳匹配,然后与最佳匹配相关联的产品作为产品推荐返回到网站或用户界面。
[0029]
图7示出了用于实施本文所述的产品推荐方法的用户界面的实施例。如710所示,用户设备显示经由网站(或设备应用程序)上传图像的界面。图像702通过界面上传。在此实施例中,用户正在寻求基于图像的香水推荐。网站接收图像,并且该网站和api执行上面图5和图6中详述的步骤。如720所示,具有与从图像生成的标签最佳匹配的描述的香水作为推荐的香水产品显示在用户设备的显示器上。然后,用户能够找到更多信息或从用户设备购买产品。
[0030]
图中的流程图和框图示出了根据本发明的各种实施方案的系统、方法和计算机程序产品的可能实现的架构、功能和操作。在这方面,流程图或框图中的每个区块可以表示包括用于实施指定逻辑功能的一个或多个可执行指令的模块、片段或代码部分。还应注意,在一些替代实施方式中,框中标注的功能可以不按照图中标注的顺序出现。例如,连续示出的两个框实际上可以基本上同时执行,或者框有时可以按相反顺序执行,这取决于所涉及的功能。还应注意,框图和/或流程图图示的每个框以及框图和/或流程图图示中的框的组合可以由执行指定功能或动作的基于专用硬件的系统或专用硬件和计算机指令的组合来实施。
再多了解一些

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

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

相关文献