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

商品特征相似度计算方法及系统

文献发布时间:2023-06-19 10:32:14


商品特征相似度计算方法及系统

技术领域

本发明涉及数据处理技术领域,具体地说,尤其涉及一种商品特征相 似度计算方法及系统。

背景技术

现代社会商品种类繁多,尤其是在我国,发达的网络购物让各种商品 都能得以展现。面对如此之多品类的商品,一方面,如何能够让用户高效 率的找到自己称心如意的商品成为了用户体验的重中之重。另一方面,同 类商品之间的竞争给从业者带来了巨大压力,准确而快速的找到具有竞争 关系的一对相似商品必然能够为行业产品的市场拓展和降低成本带来重要 参考依据。

为了达到这样一个目的,很多电商网站都会有个性化的推荐服务。通 过推荐相似的商品,一方面为客户提供解决方案,另一方面也为商家提供 竞品分析服务。现如今存在的问题是:关于商品相似度数据分析结果不准 确,从业工作人员辨识商品需要很多先验知识,分析方法也大多存在缺陷。 如何计算每个商品的相似商品集合成为了目前亟待解决的问题。

现有技术中,大多数商品的相似度计算都是基于商品名称,通过计算 商品名称的相似度来代替商品之间的相似度。但是该方法准确度不高,本 身商品名称提供的都是粗粒度的信息,而且信息量少,不能够高效、精准 的计算商品之间的相似度。

现有技术中,还采用基于词袋模型的方法计算商品相似度,该方法主 要依靠商品的标签、属性等特征。但由于海量的商品数据规模,为了提高 计算效率,减少计算量,现有技术在计算商品相似度时,对商品的价格区 间进行了限制,即只计算相邻价格区间的商品的相似度。但是该方法由于 商品中的特征数量少,因此,传统计算文本相似度的词袋方法不能理解商 品的深层语义信息,计算出的相似商品往往不准确;同时考虑到动辄数十 亿的商品数据规模,使用现有商品相似度计算方法,两两计算全量数据会 耗费巨大的计算资源,且限制条件过强会导致计算结果缺失大量的相似商 品。

因此亟需开发一种克服上述缺陷的基于局部敏感哈希算法的商品特征 相似度计算方法及系统。

发明内容

针对上述问题,本发明提供一种商品特征相似度计算方法,其中,包 括:

数据获取步骤:获取多个商品的商品特征数据;

特征词向量获得步骤:通过向量转换工具将所述商品特征数据一一对 应地转化为商品特征词向量;

特征向量获得步骤:对所述商品特征词向量进行处理获得商品特征向 量;

相似度计算步骤:根据所述商品特征向量通过局部敏感哈希算法获取 相似商品候选集,通过所述商品候选集获得待计算商品的商品特征相似度。

上述的商品特征相似度计算方法,其中,所述数据处理步骤中包括, 所述向量转换工具为word2vec模型,通过所述word2vec模型将商品特征 数据映射为高纬度的商品特征词向量。

上述的商品特征相似度计算方法,其中,所述特征向量获得步骤包括: 将多个所述商品特征词向量加权求和获得所述商品特征向量。

上述的商品特征相似度计算方法,其中,所述相似度计算步骤包括:

哈希签名向量获得步骤:将各所述商品特征向量转化为哈希签名向量;

比较步骤:设置比较步长,根据所述比较步长对各所述哈希签名向量 进行逐一判断后筛选出相似商品,将所述相似商品加入所述相似商品候选 集;

停止步骤:设置所述相似商品候选集的阈值,当所述相似商品候选集 的所述相似商品的大于所述阈值时,停止所述比较步骤并输出所述相似商 品候选集。

上述的商品特征相似度计算方法,其中,所述相似度计算步骤还包括:

根据所述待计算商品的商品特征向量与所述相似商品的商品特征向量 的计算出二者的余弦距离。

本发明还提供一种商品特征相似度计算系统,其中,包括:

数据获取单元,获取多个商品的商品特征数据;

特征词向量获得单元,通过向量转换工具将所述商品特征数据一一对 应地转化为商品特征词向量;

特征向量获得单元,对所述商品特征词向量进行处理获得商品特征向 量;

相似度计算单元,根据所述商品特征向量通过局部敏感哈希算法获取 相似商品候选集,通过所述商品候选集获得待计算商品的商品特征相似度。

上述的商品特征相似度计算系统,其中,所述向量转换工具为word2vec 模型,所述数据处理单元通过所述word2vec模型将商品特征数据映射为高 纬度的商品特征词向量。

上述的商品特征相似度计算系统,其中,所述特征向量获得单元将多 个所述商品特征词向量加权求和获得所述商品特征向量。

上述的商品特征相似度计算系统,其中,所述相似度计算单元包括:

哈希签名向量获得模块,将各所述商品特征向量转化为哈希签名向量;

比较模块,设置比较步长,根据所述比较步长对各所述哈希签名向量 进行逐一判断后筛选出相似商品,将所述相似商品加入所述相似商品候选 集;

停止模块,设置所述相似商品候选集的阈值,当所述相似商品候选集 的所述相似商品的大于所述阈值时,停止所述比较步骤并输出所述相似商 品候选集。

上述的商品特征相似度计算系统,其中,所述相似度计算单元根据所 述待计算商品的商品特征向量与所述相似商品的商品特征向量的计算出二 者的余弦距离。

综上所述,本发明相对于现有技术其功效在于:

第一、提升相似度计算的准确度。本发明基于深度学习模型word2vec, 挖掘现有属性特征的深层语义信息,丰富模型输入的信息量,提升模型的 准确度。

第二、提升相似度计算的效率。本发明使用局部敏感哈希算法,根据 设置的哈希签名的比较步长值来确定需要比较的相似商品,而不必两两组 合的遍历,节省了大量的时间和空间,提升了相似度计算过程的效率。

本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从 说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其 他优点可通过在说明书、权利要求书以及附图中所指出的结构来实现和获 得。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对 实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地, 下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲, 在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明的商品特征相似度计算方法的流程图;

图2为图1中步骤S4的分步骤流程图;

图3为本发明的商品特征相似度计算系统的结构示意图;

图4为本发明的电子设备的结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本 发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地说 明,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。 基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提 下所获得的所有其他实施例,都属于本发明保护的范围。

本发明的示意性实施例及其说明用于解释本发明,但并不作为对本发 明的限定。另外,在附图及实施方式中所使用相同或类似标号的元件/构件 是用来代表相同或类似部分。

关于本文中所使用的“第一”、“第二”、“S1”、“S2”、…等, 并非特别指称次序或顺位的意思,也非用以限定本发明,其仅为了区别以 相同技术用语描述的元件或操作。

关于本文中所使用的方向用语,例如:上、下、左、右、前或后等, 仅是参考附图的方向。因此,使用的方向用语是用来说明并非用来限制本 创作。

关于本文中所使用的“包含”、“包括”、“具有”、“含有”等等, 均为开放性的用语,即意指包含但不限于。

关于本文中所使用的“及/或”,包括所述事物的任一或全部组合。

关于本文中的“多个”包括“两个”及“两个以上”;关于本文中的 “多组”包括“两组”及“两组以上”。

关于本文中所使用的用语“大致”、“约”等,用以修饰任何可以微 变化的数量或误差,但这些微变化或误差并不会改变其本质。一般而言, 此类用语所修饰的微变化或误差的范围在部分实施例中可为20%,在部分实 施例中可为10%,在部分实施例中可为5%或是其他数值。本领域技术人员 应当了解,前述提及的数值可依实际需求而调整,并不以此为限。

某些用以描述本申请的用词将于下或在此说明书的别处讨论,以提供 本领域技术人员在有关本申请的描述上额外的引导。

电商平台的商品种类繁多,为了方便用户快速找到称心如意的商品, 提高用户体验,购物网站通常会向用户提供个性化的商品推荐服务。为推 荐相似商品,需要计算每个商品的相似商品集合。

现有的计算商品相似性的方法效果都不太理想。有基于商品名称计算 的,也有基于商品属性的词袋方法计算的。但是各有不足之处。基于商品 名称的计算方法准确度不高,因为名称带有的信息量少且粒度比较粗;而 基于商品属性的计算方法,同样会面临属性特征较少的问题,而且由于商 品数量巨大,两两计算的效率非常低下。

本发明提供了一种基于局部敏感哈希算法的商品特征相似度计算方法, 主要解决了提升相似度计算的准确度以及提升相似度计算的效率。基于此, 本发明使用局部敏感哈希算法,根据设置的哈希签名的比较步长值来确定 需要比较的相似商品,而不必两两组合的遍历,节省了大量的时间和空间, 提升了相似度计算过程的效率,以下结合附图进行具体说明。

请参照图1,图1为本发明的商品特征相似度计算方法的流程图。如图 1所示,本发明的商品特征相似度计算方法包括:

数据获取步骤S1:获取多个商品的商品特征数据;

特征词向量获得步骤S2:通过向量转换工具将所述商品特征数据一一 对应地转化为商品特征词向量;

特征向量获得步骤S3:对所述商品特征词向量进行处理获得商品特征 向量;

相似度计算步骤S4:根据所述商品特征向量通过局部敏感哈希算法获 取相似商品候选集,通过所述商品候选集获得待计算商品的商品特征相似 度。

由此,本发明的一种基于局部敏感哈希算法的商品特征相似度计算方 法,挖掘了商品属性特征的深层语义信息,提高了相似度计算的准确度, 同时使用局部敏感哈希算法,减少了计算量,提高了准确度计算的效率。

进一步地,所述数据处理步骤S2中包括,所述向量转换工具为 word2vec模型,通过所述word2vec模型将商品特征数据映射为高纬度的商 品特征词向量。

具体地说,使用word2vec将商品特征数据转化为特征词向量,通过这 一步,可以将原来低维度的商品特征转化为高维度的词向量,但还不会引 发维度爆炸,一方面可以挖掘出商品属性特征之间的深层语义关系,另一 方面还可以在一定范围内丰富模型输入的信息量,提升模型的准确度。

比如有一系列商品的文本信息,每一行就是一件商品的特征,一件商 品的属性特征有红色、XL、真皮等等。这份文本信息对于word2vec模型来 说就是一份已经做完分词的输入数据,将其输入到word2vec模型之后,就 可以将各个特征映射为高纬度的词向量,比如颜色特征中的“红色”这一属性 特征通过word2vec模型之后,就可以得到词向量:[0.2265,0.5378,-0.6328,4.6527,...,-0.9864],词向量的长度可以自定义。

再进一步地,所述特征向量获得步骤S3包括:将多个所述商品特征词 向量加权求和获得所述商品特征向量。

具体地说,将商品的所有属性特征均通过word2vec映射为高维度的词 向量之后,将这些词向量进行加权求和(该操作可以进行自定义,可以使拼 接),作为该商品的特征向量,权重由该特征的出现频次占比来决定;比如 某个商品有三个特征,经过word2vec训练之后,这些特征的词向量以及频 率占比分别是:特征“红色”的词向量为[0.2354,0.3472,-0.9657,0.8643],词 频占比是0.32;特征“XL”的词向量为[0.6543,-0.6432,-0.5972,-0.1963],词 频占比是0.65;特征“真皮”的词向量为[-0.8764,0.7542,-0.6409,-0.7642],词频占比是0.15;则商品的商品特征向量为: 0.32*[0.2354,0.3472,-0.9657,0.8643]+0.65*[0.6543,-0.6432,-0.5972,-0.1963]+0 .15*[-0.8764,0.7542,-0.6409,-0.7642]。

请参照图2,图2为图1中步骤S4的分步骤流程图。如图2所示,所 述相似度计算步骤S4包括:

哈希签名向量获得步骤S41:将各所述商品特征向量转化为哈希签名向 量;

比较步骤S42:设置比较步长,根据所述比较步长对各所述哈希签名向 量进行逐一判断后筛选出相似商品,将所述相似商品加入所述相似商品候 选集;

停止步骤S43:设置所述相似商品候选集的阈值,当所述相似商品候选 集的所述相似商品的大于所述阈值时,停止所述比较步骤并输出所述相似 商品候选集。

具体地说,经过步骤S3,得到了所有商品的特征向量之后,由于该向 量是一个高维数据,在挑选相似商品的时候,对所有商品的数据逐一进行 相似度比较是不现实的,这里应用局部敏感哈希算法筛选出所述商品向量 的相似商品候选集,具体说明如下:

1、做汉明化操作,将各商品向量转化为二值的0、1向量。先随机生 成多个与商品向量同维度的法向量,然后将商品向量分别与各个法向量做 投影操作,如果商品向量在法向量的左侧,则取1,如果商品向量在法向量 的右侧,则取0,进而得到由0、1组成的哈希签名。例如,随机生成了五 个法向量n1、n2、n3、n4、n5,商品向量在n1的左侧,则哈希签名的首位取1;商品向量在n2的左侧,则哈希签名的第二位取1;商品向量在n3 的右侧,则哈希签名的第三位取0;商品向量在n4的左侧,则哈希签名的 第四位取1;商品向量在n5的右侧,则哈希签名的第五位取0,因此,得 到的哈希签名向量为(1,1,0,1,0)。

2、设置比较步长。比较步长设为n,则在为某一个商品选择相似商品 候选集的时候,只比较这两个商品的前n个向量,而不是比较全部的向量 维度。只要前n个向量是相同的,则将这一商品加入相似商品候选集之中。

3、设置相似商品候选集的阈值,并判断相似商品数量是否大于预设阈 值。一旦经过上面的操作,达到相似商品候选集的阈值,则停止比较,得 到了某一商品的相似商品候选集。

更进一步地,所述相似度计算步骤S4还包括:

根据所述待计算商品的商品特征向量与所述相似商品的商品特征向量 的计算出二者的余弦距离,具体地说,基于属性距离,计算某商品特征向 量与其相似商品候选集中的商品特征向量的余弦距离,作为两者的相似度 值。

由此,通过以上步骤,能够使计算出的相似商品符合高层次的“相像”, 提高商品相似度的计算准确率和计算效率。

请参照图3,图3为本发明的商品特征相似度计算系统的结构示意图。 如图3所示,本发明的商品特征相似度计算系统包括:

数据获取单元11,获取多个商品的商品特征数据;

特征词向量获得单元12,通过向量转换工具将所述商品特征数据一一 对应地转化为商品特征词向量;

特征向量获得单元13,对所述商品特征词向量进行处理获得商品特征 向量;

相似度计算单元14,根据所述商品特征向量通过局部敏感哈希算法获 取相似商品候选集,通过所述商品候选集获得待计算商品的商品特征相似 度。

进一步地,所述向量转换工具为word2vec模型,所述数据处理单元12 通过所述word2vec模型将商品特征数据映射为高纬度的商品特征词向量。

再进一步地,所述特征向量获得单元13将多个所述商品特征词向量加 权求和获得所述商品特征向量。

又进一步地,所述相似度计算单元14包括:

哈希签名向量获得模块141,将各所述商品特征向量转化为哈希签名向 量。

比较模块142,设置比较步长,根据所述比较步长对各所述哈希签名向 量进行逐一判断后筛选出相似商品,将所述相似商品加入所述相似商品候 选集;

停止模块142,设置所述相似商品候选集的阈值,当所述相似商品候选 集的所述相似商品的大于所述阈值时,停止所述比较步骤并输出所述相似 商品候选集。

更进一步地,所述相似度计算单元15根据所述待计算商品的商品特征 向量与所述相似商品的商品特征向量的计算出二者的余弦距离。

请参照图4,图4本发明的电子设备的结构示意图。如图4所示,本实 施例揭示了一种电子设备的一种具体实施方式。电子设备可以包括处理器 81以及存储有计算机程序指令的存储器82。

具体地,上述处理器81可以包括中央处理器(CPU),或者特定集成 电路(Application Specific Integrated Circuit,简称为ASIC),或者 可以被配置成实施本申请实施例的一个或多个集成电路。

其中,存储器82可以包括用于数据或指令的大容量存储器。举例来说 而非限制,存储器82可包括硬盘驱动器(Hard Disk Drive,简称为HDD)、 软盘驱动器、固态驱动器(Solid State Drive,简称为SSD)、闪存、光 盘、磁光盘、磁带或通用串行总线(UniversalSerial Bus,简称为USB) 驱动器或者两个或更多个以上这些的组合。在合适的情况下,存储器82可 包括可移除或不可移除(或固定)的介质。在合适的情况下,存储器82可 在数据处理装置的内部或外部。在特定实施例中,存储器82是非易失性 (Non-Volatile)存储器。在特定实施例中,存储器82包括只读存储器 (Read-Only Memory,简称为ROM)和随机存取存储器(Random Access Memory, 简称为RAM)。在合适的情况下,该ROM可以是掩模编程的ROM、可编程ROM (Programmable Read-Only Memory,简称为PROM)、可擦除PROM(ErasableProgrammable Read-Only Memory,简称为EPROM)、电可擦除PROM (ElectricallyErasable Programmable Read-Only Memory,简称为 EEPROM)、电可改写ROM(Electrically Alterable Read-Only Memory, 简称为EAROM)或闪存(FLASH)或者两个或更多个以上这些的组合。在合 适的情况下,该RAM可以是静态随机存取存储器(StaticRandom-Access Memory,简称为SRAM)或动态随机存取存储器(Dynamic Random AccessMemory,简称为DRAM),其中,DRAM可以是快速页模式动态随机存取存储 器(Fast PageMode Dynamic Random Access Memory,简称为FPMDRAM)、 扩展数据输出动态随机存取存储器(Extended Date Out Dynamic Random Access Memory,简称为EDODRAM)、同步动态随机存取内存(Synchronous Dynamic Random-Access Memory,简称SDRAM)等。

存储器82可以用来存储或者缓存需要处理和/或通信使用的各种数据 文件,以及处理器81所执行的可能的计算机程序指令。

处理器81通过读取并执行存储器82中存储的计算机程序指令,以实 现上述实施例中的任意一种商品特征相似度计算方法。

在其中一些实施例中,电子设备还可包括通信接口83和总线80。其中, 如图4所示,处理器81、存储器82、通信接口83通过总线80连接并完成相互 间的通信。

通信接口83用于实现本申请实施例中各模块、装置、单元和/或设备 之间的通信。通信端口83还可以实现与其他部件例如:外接设备、图像/ 数据采集设备、数据库、外部存储以及图像/数据处理工作站等之间进行数 据通信。

总线80包括硬件、软件或两者,将电子设备的部件彼此耦接在一起。 总线80包括但不限于以下至少之一:数据总线(Data Bus)、地址总线 (Address Bus)、控制总线(Control Bus)、扩展总线(Expansion Bus)、 局部总线(Local Bus)。举例来说而非限制,总线80可包括图形加速接 口(Accelerated Graphics Port,简称为AGP)或其他图形总线、增强工 业标准架构(Extended Industry Standard Architecture,简称为EISA) 总线、前端总线(Front Side Bus,简称为FSB)、超传输(Hyper Transport, 简称为HT)互连、工业标准架构(Industry Standard Architecture,简 称为ISA)总线、无线带宽(InfiniBand)互连、低引脚数(Low Pin Count, 简称为LPC)总线、存储器总线、微信道架构(Micro ChannelArchitecture, 简称为MCA)总线、外围组件互连(Peripheral Component Interconnect,简称为PCI)总线、PCI-Express(PCI-X)总线、串行高级技术附件(Serial AdvancedTechnology Attachment,简称为SATA)总线、视频电子标准协 会局部(Video ElectronicsStandards Association Local Bus,简称为 VLB)总线或其他合适的总线或者两个或更多个以上这些的组合。在合适的 情况下,总线80可包括一个或多个总线。尽管本申请实施例描述和示出了 特定的总线,但本申请考虑任何合适的总线或互连。

另外,结合上述实施例中处理方法,本申请实施例可提供一种计算机 可读存储介质来实现。该计算机可读存储介质上存储有计算机程序指令; 该计算机程序指令被处理器执行时实现上述实施例中的任意一种商品特征 相似度计算方法。

综上所述,本发明基于深度学习模型word2vec,挖掘现有属性特征的 深层语义信息,丰富模型输入的信息量,提升模型的准确度,从而提升相 似度计算的准确度;同时本发明使用局部敏感哈希算法,根据设置的哈希 签名的比较步长值来确定需要比较的相似商品,而不必两两组合的遍历, 节省了大量的时间和空间,从而提升了相似度计算过程的效率。

尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术 人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改, 或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相 应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

相关技术
  • 商品特征相似度计算方法及系统
  • 基于图像相似度的商品相似计算方法及商品推荐系统
技术分类

06120112586157