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

基于相似产品的产品推荐方法、装置、设备及存储介质与流程

2021-11-03 12:56:00 来源:中国专利 TAG:


1.本发明涉及数据分析技术领域,尤其涉及一种基于相似产品的产品推荐方法、装置、电子设备及计算机可读存储介质。


背景技术:

2.产品推荐是ai人工智能的一个重要分支,现有的产品推荐多为基于用户的各项数据,并运用各种机器学习、深度学习算法生成用于详细描述用户个性化特点的用户画像,进而利用用户画像与预先生成的产品画像之间相似度对用户进行产品推荐。
3.但在对数据进行处理时,尤其在面对大量的用户数据以及大量的产品数据的情况下,人工智能模型精细化的数据分析会占用大量的计算资源,导致推荐效率的降低,且为了提高模型鲁棒性,人工智能模型在数据处理时,有固定的数据处理流程,即对不同的数据使用完全相同的处理流程,因此需要在数据处理前,将数据转换为固定形式,进一步造成了数据处理流程的延长,降低了产品推荐的效率。


技术实现要素:

4.本发明提供一种基于相似产品的产品推荐方法、装置及计算机可读存储介质,其主要目的在于解决进行产品推荐时的效率较低的问题。
5.为实现上述目的,本发明提供的一种基于相似产品的产品推荐方法,包括:
6.获取预设的产品集合中每一个产品的产品描述,从所述产品描述中提取每一个产品的关键词;
7.将所述关键词转换为标签向量,根据所述标签向量计算所述产品集合中每两个产品之间的相似度;
8.获取产品推荐需求,根据所述产品推荐需求选取预设的用户筛选算法,利用所述用户筛选算法从预设用户群体中筛选出多个用户;
9.获取所述多个用户中每一个用户对所述产品集合的行为数据,从所述行为数据内提取所述每一个用户对应的偏好产品;
10.从所述多个用户中任意选择两个用户作为第一用户和第二用户,统计在所述第一用户的偏好产品中存在,但在所述第二用户的偏好产品中不存在的产品为差异产品;
11.选取所述产品集合中与所述差异产品之间的相似度大于预设相似阈值的产品为相似产品,向所述第二用户推荐所述差异产品与所述相似产品。
12.可选地,所述从所述产品描述中提取每一个产品的关键词,包括:
13.对所述产品描述进行分词处理,得到产品分词集合;
14.从所述产品集合中逐个选取其中一个产品为目标产品,从所述目标产品的产品分词中逐个选取其中一个分词为目标分词;
15.统计所述目标分词在所述目标产品的产品分词中出现的第一频率,以及统计所述目标分词在所述产品分词集合中出现的第二频率;
16.根据所述第一频率和所述第二频率计算所述目标分词的关键值,选取所述关键值大于预设关键阈值的目标分词为所述目标产品的关键词。
17.可选地,所述根据所述第一频率和所述第二频率计算所述目标分词的关键值,包括:
18.利用如下关键值算法计算所述目标分词的关键值:
[0019][0020]
其中,k为所述关键值,w为预设系数,f1为所述第一频率,f2为所述第二频率。
[0021]
可选地,所述将所述关键词转换为标签向量,包括:
[0022]
从所述产品集合中逐个选取其中一个产品为目标产品,利用预设的词向量模型将选取的所述目标产品的关键词转换为词向量;
[0023]
统计所述词向量中每一个向量的向量长度,选取所述词向量中向量长度最长的词向量为目标向量;
[0024]
利用预设参数将所述词向量中所有向量的向量长度延长至所述目标向量的向量长度,将所有词向量作为行向量进行拼接,得到标签向量。
[0025]
可选地,所述根据所述产品推荐需求选取预设的用户筛选算法,包括:
[0026]
利用预设的语义分析模型对所述产品推荐需求进行卷积、池化,得到所述产品推荐需求的需求特征;
[0027]
利用预设的激活函数计算所述需求特征中每一个特征的特征值,选取所述特征值大于预设特征阈值的特征为所述产品推荐需求的核心语义;
[0028]
获取预设的多个用户筛选算法中每一个算法对应的算法标签,将所述核心语义转换为语义向量,分别计算所述语义向量与每一个算法标签的匹配值,选取所述匹配值小于预设距离阈值的用户筛选算法。
[0029]
可选地,所述从所述行为数据内提取所述每一个用户对应的偏好产品,包括:
[0030]
识别所述行为数据的数据类型;
[0031]
利用与所述数据类型对应的编译器将预设字符编译为规则表达式;
[0032]
从所述多个用户中逐个选取其中一个用户为目标用户,利用所述规则表达式从所述目标用户的行为数据中提取出所述目标用户对所述产品集合中每一个产品的浏览次数、浏览时长和购买情况;
[0033]
利用预设的权重算法,根据所述浏览次数、所述浏览时长和所述购买情况计算所述目标用户对所述产品集合中每一个产品的偏好程度,选取所述偏好程度大于预设偏好阈值的产品为所述目标用户的偏好产品。
[0034]
可选地,所述利用预设的权重算法,根据所述浏览次数、所述浏览时长和所述购买情况计算所述目标用户对所述产品集合中每一个产品的偏好程度,包括:
[0035]
利用如下权重算法计算所述目标用户对所述产品集合中每一个产品的偏好程度:
[0036]
[0037]
其中,p为所述偏好程度,m为所述目标用户对所述产品集合中第n个产品的浏览次数,t
n
为所述目标用户对所述产品集合中第n个产品进行第m次浏览的浏览时长,s
n
为所述目标用户对所述产品集合中第n个产品的购买情况的数值表达,ω1、ω2、ω3为预设权重系数。
[0038]
为了解决上述问题,本发明还提供一种基于相似产品的产品推荐装置,所述装置包括:
[0039]
关键词提取模块,用于获取预设的产品集合中每一个产品的产品描述,从所述产品描述中提取每一个产品的关键词;
[0040]
相似度计算模块,用于将所述关键词转换为标签向量,根据所述标签向量计算所述产品集合中每两个产品之间的相似度;
[0041]
用户筛选模块,用于获取产品推荐需求,根据所述产品推荐需求选取预设的用户筛选算法,利用所述用户筛选算法从预设用户群体中筛选出多个用户;
[0042]
偏好产品筛选模块,用于获取所述多个用户中每一个用户对所述产品集合的行为数据,从所述行为数据内提取所述每一个用户对应的偏好产品;
[0043]
差异产品筛选模块,用于从所述多个用户中任意选择两个用户作为第一用户和第二用户,统计在所述第一用户的偏好产品中存在,但在所述第二用户的偏好产品中不存在的产品为差异产品;
[0044]
产品推荐模块,用于选取所述产品集合中与所述差异产品之间的相似度大于预设相似阈值的产品为相似产品,向所述第二用户推荐所述差异产品与所述相似产品。
[0045]
为了解决上述问题,本发明还提供一种电子设备,所述电子设备包括:
[0046]
存储器,存储至少一个指令;及
[0047]
处理器,执行所述存储器中存储的指令以实现上述所述的基于相似产品的产品推荐方法。
[0048]
为了解决上述问题,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一个指令,所述至少一个指令被电子设备中的处理器执行以实现上述所述的基于相似产品的产品推荐方法。
[0049]
本发明实施例能够根据产品推荐需求选取相应的用户筛选算法,以筛选出属于同一类别的多个用户,并根据用户偏好的产品之间的差异产品向用户进行产品推送,且根据产品之间的相似度,选取与差异产品相似的产品,同时向用户进行推送,避免了利用复杂建模对用户数据及产品数据的精细化分析,同时实现了根据产品推荐需求选取相应的算法,避免了利用统一的流程对不同的数据进行处理,提高了产品推荐的效率。因此本发明提出的基于相似产品的产品推荐方法、装置、电子设备及计算机可读存储介质,可以解决进行产品推荐时的效率较低的问题。
附图说明
[0050]
图1为本发明一实施例提供的基于相似产品的产品推荐方法的流程示意图;
[0051]
图2为本发明一实施例提供的向量拼接的流程示意图;
[0052]
图3为本发明一实施例提供的选取用户筛选算法的流程示意图;
[0053]
图4为本发明一实施例提供的基于相似产品的产品推荐装置的功能模块图;
[0054]
图5为本发明一实施例提供的实现所述基于相似产品的产品推荐方法的电子设备
的结构示意图。
[0055]
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
[0056]
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0057]
本技术实施例提供一种基于相似产品的产品推荐方法。所述基于相似产品的产品推荐方法的执行主体包括但不限于服务端、终端等能够被配置为执行本技术实施例提供的该方法的电子设备中的至少一种。换言之,所述基于相似产品的产品推荐方法可以由安装在终端设备或服务端设备的软件或硬件来执行,所述软件可以是区块链平台。所述服务端包括但不限于:单台服务器、服务器集群、云端服务器或云端服务器集群等。
[0058]
参照图1所示,为本发明一实施例提供的基于相似产品的产品推荐方法的流程示意图。在本实施例中,所述基于相似产品的产品推荐方法包括:
[0059]
s1、获取预设的产品集合中每一个产品的产品描述,从所述产品描述中提取每一个产品的关键词。
[0060]
本发明实施例中,所述产品集合为产品的供应商、代理商等预先提供的包含多个不同产品的集合,所述产品描述包括所述产品集合中每一个产品的产品名称、产品功能、产品价格等数据。
[0061]
本发明实施例中,可利用具有数据抓取功能的计算机语句(java语句、python语句等)从预先构建的存储区域抓取已被授权可获取的产品描述,所述存储区域包括但不限于数据库、区块链节点、网络缓存。
[0062]
本发明实施例中,所述从所述产品描述中提取每一个产品的关键词,包括:
[0063]
对所述产品描述进行分词处理,得到产品分词集合;
[0064]
从所述产品集合中逐个选取其中一个产品为目标产品,从所述目标产品的产品分词中逐个选取其中一个分词为目标分词;
[0065]
统计所述目标分词在所述目标产品的产品分词中出现的第一频率,以及统计所述目标分词在所述产品分词集合中出现的第二频率;
[0066]
根据所述第一频率和所述第二频率计算所述目标分词的关键值,选取所述关键值大于预设关键阈值的目标分词为所述目标产品的关键词。
[0067]
详细地,可利用预先构建的分词模型对所述产品描述进行分词处理,得到包含所述产品集合中每一个产品的产品描述的产品分词的产品分词集合,所述分词模型包括但不限于nlp(natural language processing,自然语言处理)模型、lda(latent dirichlet allocation,隐含狄利克雷分布)模型。
[0068]
具体地,所述第一频率是指所述目标分词在所述目标产品的产品分词中出现的次数,所述第二频率是指所述目标分词在所述产品分词集合中出现的次数。
[0069]
进一步地,本发明实施例可利用所述第一频率和所述第二频率计算所述目标分词的关键值,所述关键值用于标识该目标分词对所述目标产品的产品描述的概括度,当所述关键值越大(即该目标分词对所述目标产品的产品描述的概括度越大),则说明该目标分词对所述目标产品的产品描述越关键。
[0070]
本发明实施例中,所述根据所述第一频率和所述第二频率计算所述目标分词的关
键值,包括:
[0071]
利用如下关键值算法计算所述目标分词的关键值:
[0072][0073]
其中,k为所述关键值,w为预设系数,f1为所述第一频率,f2为所述第二频率。
[0074]
本发明实施例中,计算得到所述关键值后,选取所述关键值大于预设关键阈值的目标分词为所述目标产品的关键词。
[0075]
例如,所述产品集合中存在产品a和产品b,其中,产品a的产品分词包括a1和a2,产品b的产品分词包括b1和b2,且a1的关键值为80,a2的关键值为20,b1的关键值为30,b2的关键值为70,当预设关键阈值为60时,则选取a1为所述产品a的关键词,选取b2为所述产品b的关键词。
[0076]
s2、将所述关键词转换为标签向量,根据所述标签向量计算所述产品集合中每两个产品之间的相似度。
[0077]
本发明实施例中,为了提高后续进行产品推荐的精确度,可将所述关键词转换为向量形式,且由于每个产品描述的关键词可能有多个,因此,本发明实施例可将关键词转换得到的词向量进行拼接,得到标签向量。
[0078]
本发明实施例中,参图2所示,所述将所述关键词转换为标签向量,包括:
[0079]
s21、从所述产品集合中逐个选取其中一个产品为目标产品,利用预设的词向量模型将选取的所述目标产品的关键词转换为词向量;
[0080]
s22、统计所述词向量中每一个向量的向量长度,选取所述词向量中向量长度最长的词向量为目标向量;
[0081]
s23、利用预设参数将所述词向量中所有向量的向量长度延长至所述目标向量的向量长度,将所有词向量作为行向量进行拼接,得到标签向量。
[0082]
详细地,所述词向量模型包括但不限于word2vec模型、bert模型,但由于关键词转换后得到的词向量的长度可能不一致,因此,为了提高后续的计算效率,减少计算资源的占用,可对所述词向量的向量长度进行统一化。
[0083]
具体地,可统计所述词向量中每一个向量的向量长度,并选取向量长度最长的词向量为目标向量,利用预设参数将所述词向量中除所述目标向量之外的向量的向量长度延长至所述目标向量的向量长度,以实现对词向量中所有向量进行向量长度的统一化,所述预设参数可预先设定。
[0084]
例如,目标产品的词向量包括向量a、向量b和向量c,其中,向量a为:(1,2),向量b为:(1,3,6,7),向量c为:(4,2,5),可知,向量a的向量长度为2,向量b的向量长度为4,向量c的向量长度为3,则选取向量b为目标向量,当预设参数为0时,则利用该预设参数将向量a延长为:(1,2,0,0),将向量c延长为:(4,2,5,0)。
[0085]
本发明实施例中,由于所述目标产品包含多个关键词,且每一个关键词均对应一个词向量,因此,可将多个词向量作为行向量进行拼接,得到该目标产品名的标签向量。
[0086]
例如,存在向量a:(1,2,0,0),向量b:(1,3,6,7)向量c:(4,2,5,0),则将所述向量a、所述向量b和所述向量c作为行向量,拼接为如下形式的标签向量:
[0087][0088]
进一步地,可根据所述标签向量计算所述产品集合中每两个产品之间的相似度,例如,所述产品集合中包括产品a、产品b和产品c,则可根据产品a的标签向量与产品b的标签向量计算产品a和产品b之间的相似度,根据产品a的标签向量与产品c的标签向量计算产品a和产品c之间的相似度,根据产品b的标签向量与产品c的标签向量计算产品b和产品c之间的相似度。
[0089]
本发明实施例中,所述根据所述标签向量计算所述产品集合中每两个产品之间的相似度,包括:
[0090]
利用如下相似度算法计算所述产品集合中每两个产品之间的相似度:
[0091][0092]
其中,sim
(k,j)
为所述产品集合中第k个产品与第j个产品之间的相似度,x
k
为所述产品集合中第k个产品的标签向量,y
j
为所述产品集合中第j个产品的标签向量。
[0093]
s3、获取产品推荐需求,根据所述产品推荐需求选取预设的用户筛选算法,利用所述用户筛选算法从预设用户群体中筛选出多个用户。
[0094]
本发明实施例中,所述产品推荐需求产品的供应商、代理商等预先提供的产品推荐条件。
[0095]
例如,对职业属于金融行业的用户进行推荐,对年龄段属于20至35岁的用户进行推荐,对居住地属于xx省的用户进行推荐、对在预设平台的活跃度大于预设活跃度阈值的用户进行推荐等。
[0096]
本发明其中一个实际应用场景中,由于不同推荐条件下,对用户进行筛选时,需要分析数据不一致,因此,本发明实施例根据所述产品推荐需求选取与所述用户需求对应的用户筛选算法,以提高用户筛选的精确度,进而提高对用户进行产品推荐的精确度和效率。
[0097]
详细地,所述用户筛选算法包括但不限于协同过滤算法、als召回算法、类目召回算法等。
[0098]
本发明实施例中,参图3所示,所述根据所述产品推荐需求选取预设的用户筛选算法,包括:
[0099]
s31、利用预设的语义分析模型对所述产品推荐需求进行卷积、池化,得到所述产品推荐需求的需求特征;
[0100]
s32、利用预设的激活函数计算所述需求特征中每一个特征的特征值,选取所述特征值大于预设特征阈值的特征为所述产品推荐需求的核心语义;
[0101]
s33、获取预设的多个用户筛选算法中每一个算法对应的算法标签,将所述核心语义转换为语义向量,分别计算所述语义向量与每一个算法标签的匹配值,选取所述匹配值小于预设距离阈值的用户筛选算法。
[0102]
详细地,所述语义分析模型包括但不限于hmm(hidden markov model,隐马尔科夫
模型),利用所述语义分析模型对所述产品推荐需求进行卷积、池化等操作,可提取出所述产品推荐需求的需求特征,但提取出的需求特征中可能存在着被错误提取的特征,因此,可利用预设的激活函数计算所述需求特征中每一个特征的特征值,进而根据特征值对需求特征中的特征进行筛选,得到所述产品推荐需求的核心语义,所述激活函数包括但不限于sigmoid激活函数、softmax激活函数、relu激活函数。
[0103]
具体地,所述算法标签是预先根据不同的用户筛选算法的特征生成的向量形式的标签,所述算法标签可用于标识用户筛选算法的特征。
[0104]
本发明实施例中,所述将所述核心语义转换为语义向量的步骤,与s2中将所述关键词转换为标签向量的步骤一致,在此不做赘述。
[0105]
本发明实施例中,所述分别计算所述语义向量与每一个算法标签的匹配值,包括:
[0106]
利用如下距离算法计算所述语义向量与每一个算法标签的匹配值:
[0107][0108]
其中,d为所述匹配值,a为所述语义向量,b
i
为预设的多个用户筛选算法中第i个用户筛选算法的算法标签。
[0109]
本发明实施例从预设的多个用户筛选算法中选取所述距离小于预设距离阈值的用户筛选算法,并利用选取的用户筛选算法对预设的用户群体进行计算,以筛选出所述用户群体中符合所述用户筛选算法的多个用户。
[0110]
详细地,选取的用户筛选算法可以为多个,当选取的用户筛选算法为多个时,逐个利用选取的用户筛选算法对预设的用户群体进行计算,并将每一个用户筛选算法筛选出的用户进行汇集,以实现从预设用户群体中筛选出多个用户。
[0111]
s4、获取所述多个用户中每一个用户对所述产品集合的行为数据,从所述行为数据内提取所述每一个用户对应的偏好产品。
[0112]
本发明实施例中,所述行为数据包括但不限于所述多个用户中每一个用户对所述产品集合中产品的浏览次数、浏览时长、购买记录等数据。
[0113]
详细地,所述获取所述多个用户中每一个用户对所述产品集合的行为数据的步骤,与s1中获取预设的产品集合中每一个产品的产品描述的步骤一致,在此不做赘述。
[0114]
本发明实施例可对所述行为数据进行分析,以获取所述多个用户中每一个和用户对所述产品集合中产品的偏好。
[0115]
例如,产品集合中存在产品a和产品b,存在用户a和用户b,其中,用户a对产品a的浏览次数为20次,每一次的浏览时长为2分钟,且用户购买了产品a,用户a对产品b的浏览次数为3次,每一次的浏览时长为1分钟,且用户未购买了产品b;用户b对产品a的浏览次数为7次,每一次的浏览时长为3分钟,且用户未购买了产品a,用户b对产品a的浏览次数为15次,每一次的浏览时长为5分钟,且用户购买了产品b,因此,可判断出用户a偏好于产品a,用户b偏好于产品b。
[0116]
本发明实施例中,所述从所述行为数据内提取所述每一个用户对应的偏好产品,包括:
[0117]
识别所述行为数据的数据类型;
[0118]
利用与所述数据类型对应的编译器将预设字符编译为规则表达式;
[0119]
从所述多个用户中逐个选取其中一个用户为目标用户,利用所述规则表达式从所述目标用户的行为数据中提取出所述目标用户对所述产品集合中每一个产品的浏览次数、浏览时长和购买情况;
[0120]
利用预设的权重算法,根据所述浏览次数、所述浏览时长和所述购买情况计算所述目标用户对所述产品集合中每一个产品的偏好程度,选取所述偏好程度大于预设偏好阈值的产品为所述目标用户的偏好产品。
[0121]
详细地,由于所述行为数据中可能包含多种数据类型(例如,数值型数据或非数值型数据等),因此,为了提高对所述行为数据分析的精确度,可利用具有数据类型识别功能的java语句识别所述行为数据的数据类型,并利用与所述数据类型对应的编译器将预设字符编译为规则表达式。
[0122]
具体地,所述规则表达式可用于对特定格式的字段进行提取,以实现从所述行为数据中提取出所述用户对产品集合中每一个产品的浏览次数、浏览时长和购买情况等数据。
[0123]
例如,浏览时长往往以xx小时xx分钟xx秒来表示,因此,可利用“xx小时xx分钟xx秒”的规则表达式提取目标用户的行为数据中所有以“xx小时xx分钟xx秒”格式表达的数据,以此获取所述目标用户对所述产品几个中每个产品的浏览时长。
[0124]
进一步地,可利用预设的权重算法根据所述浏览次数、所述浏览时长和所述购买情况计算所述目标用户对所述产品集合中每一个产品的偏好程度。
[0125]
本发明实施例中,所述利用预设的权重算法,根据所述浏览次数、所述浏览时长和所述购买情况计算所述目标用户对所述产品集合中每一个产品的偏好程度,包括:
[0126]
利用如下权重算法计算所述目标用户对所述产品集合中每一个产品的偏好程度:
[0127][0128]
其中,p为所述偏好程度,m为所述目标用户对所述产品集合中第n个产品的浏览次数,t
n
为所述目标用户对所述产品集合中第n个产品进行第m次浏览的浏览时长,s
n
为所述目标用户对所述产品集合中第n个产品的购买情况(当目标用户已购买第n个产品时,s
n
=1,当目标用户未购买第n个产品时,s
n
=0),ω1、ω2、ω3为预设权重系数。
[0129]
本发明实施例中,选取所述偏好程度大于预设偏好阈值的产品为所述目标用户的偏好产品。
[0130]
例如,所述产品集合中存在产品a、产品b、产品c和产品d,其中,所述目标用户对产品a的偏好程度为78,所述目标用户对产品b的偏好程度为34,所述目标用户对产品c的偏好程度为87,所述目标用户对产品d的偏好程度为43,当预设的偏好阈值为50时,则选取产品a和产品c为所述目标用户的偏好产品。
[0131]
s5、从所述多个用户中任意选择两个用户作为第一用户和第二用户,统计在所述第一用户的偏好产品中存在,但在所述第二用户的偏好产品中不存在的产品为差异产品。
[0132]
本发明实施例中,可从所述多个用户中任意选取两个用户作为第一用户和第二用户,并对所述第一用户和所述第二用户的偏好产品进行统计,并汇集存在于所述第一用户的偏好产品中,但不存在于所述第二用户的偏好产品中的产品,确定汇集的产品为第一用
户对所述第二用户的差异产品。
[0133]
例如,第一用户的偏好产品中存在产品a、产品b、数据c,第二用户的偏好产品中存在产品a、产品d和产品e,则经过统计可知,产品b和产品c存在于第一用户的偏好产品中,但不存在与第二用户的偏好产品中,则可汇集产品c和产品d为所述差异产品。
[0134]
本发明其中一个实际应用场景中,由于第一用户和第二用户均是被相同的产品推荐需求从预设的用户群体中筛选出的用户,因此,可认为第一用户与第二用户属于相同的用户群体,进而,可认为第一用户的偏好产品可能也是第二用户的潜在偏好产品。
[0135]
本发明实施例通过对第一用户与第二用户的偏好产品进行统计,获取在所述第一用户的偏好产品中存在,但在所述第二用户的偏好产品中不存在的产品为差异产品,进而有利于后续利用该差异产品对第二用户进行产品推送,无需对用户数据进行详细的分析,提高了产品推荐的效率。
[0136]
s6、选取所述产品集合中与所述差异产品之间的相似度大于预设相似阈值的产品为相似产品,向所述第二用户推荐所述差异产品与所述相似产品。
[0137]
本发明其中一个实际应用场景中,若仅根据所述差异产品对第二用户进行产品推荐,推荐的产品对产品集合的覆盖面较小,产品的多样性较少,因此,本发明实施例可选取所述产品集合中与所述差异产品之间的相似度大于预设相似阈值的产品为相似产品,向所述第二用户推荐所述差异产品与所述相似产品。
[0138]
例如,所述差异产品包括产品a和产品b,所述产品集合中包含产品c、产品d、产品e和产品f,根据步骤s2中计算得到的产品集合中每两个产品之间的相似度可知,产品a与产品c之间的相似度为20,产品a与产品d之间的相似度为40,产品a与产品e之间的相似度为60,产品a与产品f之间的相似度为80,产品b与产品c之间的相似度为88,产品b与产品d之间的相似度为44,产品b与产品e之间的相似度为33,产品b与产品f之间的相似度为22,当预设相似阈值为50时,则可确认产品e和产品f为所述产品a的相似产品,产品c为所述产品b的相似产品,因此,将产品a、产品b、产品c、产品e和产品f推荐给所述第二用户。
[0139]
进一步地,本发明实施例中,所述向所述第二用户推荐所述差异产品与所述相似产品之后,所述方法还包括,返回步骤s5,重新选取两个用户作为第一用户和第二用户,并按照如步骤s5和步骤s6对第二用户进行产品推荐,直至完成对所述多个用户中所有用户进行产品推荐。
[0140]
本发明实施例能够根据产品推荐需求选取相应的用户筛选算法,以筛选出属于同一类别的多个用户,并根据用户偏好的产品之间的差异产品向用户进行产品推送,且根据产品之间的相似度,选取与差异产品相似的产品,同时向用户进行推送,避免了利用复杂建模对用户数据及产品数据的精细化分析,同时实现了根据产品推荐需求选取相应的算法,避免了利用统一的流程对不同的数据进行处理,提高了产品推荐的效率。因此本发明提出的基于相似产品的产品推荐方法,可以解决进行产品推荐时的效率较低的问题。
[0141]
如图4所示,是本发明一实施例提供的基于相似产品的产品推荐装置的功能模块图。
[0142]
本发明所述基于相似产品的产品推荐装置100可以安装于电子设备中。根据实现的功能,所述基于相似产品的产品推荐装置100可以包括关键词提取模块101、相似度计算模块102、用户筛选模块103、偏好产品筛选模块104、差异产品筛选模块105及产品推荐模块
106。本发明所述模块也可以称之为单元,是指一种能够被电子设备处理器所执行,并且能够完成固定功能的一系列计算机程序段,其存储在电子设备的存储器中。
[0143]
在本实施例中,关于各模块/单元的功能如下:
[0144]
所述关键词提取模块101,用于获取预设的产品集合中每一个产品的产品描述,从所述产品描述中提取每一个产品的关键词;
[0145]
所述相似度计算模块102,用于将所述关键词转换为标签向量,根据所述标签向量计算所述产品集合中每两个产品之间的相似度;
[0146]
所述用户筛选模块103,用于获取产品推荐需求,根据所述产品推荐需求选取预设的用户筛选算法,利用所述用户筛选算法从预设用户群体中筛选出多个用户;
[0147]
所述偏好产品筛选模块104,用于获取所述多个用户中每一个用户对所述产品集合的行为数据,从所述行为数据内提取所述每一个用户对应的偏好产品;
[0148]
所述差异产品筛选模块105,用于从所述多个用户中任意选择两个用户作为第一用户和第二用户,统计在所述第一用户的偏好产品中存在,但在所述第二用户的偏好产品中不存在的产品为差异产品;
[0149]
所述产品推荐模块106,用于选取所述产品集合中与所述差异产品之间的相似度大于预设相似阈值的产品为相似产品,向所述第二用户推荐所述差异产品与所述相似产品。
[0150]
详细地,本发明实施例中所述基于相似产品的产品推荐装置100中所述的各模块在使用时采用与上述图1至图3中所述的基于相似产品的产品推荐方法一样的技术手段,并能够产生相同的技术效果,这里不再赘述。
[0151]
如图5所示,是本发明一实施例提供的实现基于相似产品的产品推荐方法的电子设备的结构示意图。
[0152]
所述电子设备1可以包括处理器10、存储器11、通信总线12以及通信接口13,还可以包括存储在所述存储器11中并可在所述处理器10上运行的计算机程序,如基于相似产品的产品推荐程序。
[0153]
其中,所述处理器10在一些实施例中可以由集成电路组成,例如可以由单个封装的集成电路所组成,也可以是由多个相同功能或不同功能封装的集成电路所组成,包括一个或者多个中央处理器(central processing unit,cpu)、微处理器、数字处理芯片、图形处理器及各种控制芯片的组合等。所述处理器10是所述电子设备的控制核心(control unit),利用各种接口和线路连接整个电子设备的各个部件,通过运行或执行存储在所述存储器11内的程序或者模块(例如执行基于相似产品的产品推荐程序等),以及调用存储在所述存储器11内的数据,以执行电子设备的各种功能和处理数据。
[0154]
所述存储器11至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、移动硬盘、多媒体卡、卡型存储器(例如:sd或dx存储器等)、磁性存储器、磁盘、光盘等。所述存储器11在一些实施例中可以是电子设备的内部存储单元,例如该电子设备的移动硬盘。所述存储器11在另一些实施例中也可以是电子设备的外部存储设备,例如电子设备上配备的插接式移动硬盘、智能存储卡(smart media card,smc)、安全数字(secure digital,sd)卡、闪存卡(flash card)等。进一步地,所述存储器11还可以既包括电子设备的内部存储单元也包括外部存储设备。所述存储器11不仅可以用于存储安装于电子设备的应用软件及各
类数据,例如基于相似产品的产品推荐程序的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。
[0155]
所述通信总线12可以是外设部件互连标准(peripheral component interconnect,简称pci)总线或扩展工业标准结构(extended industry standard architecture,简称eisa)总线等。该总线可以分为地址总线、数据总线、控制总线等。所述总线被设置为实现所述存储器11以及至少一个处理器10等之间的连接通信。
[0156]
所述通信接口13用于上述电子设备与其他设备之间的通信,包括网络接口和用户接口。可选地,所述网络接口可以包括有线接口和/或无线接口(如wi

fi接口、蓝牙接口等),通常用于在该电子设备与其他电子设备之间建立通信连接。所述用户接口可以是显示器(display)、输入单元(比如键盘(keyboard)),可选地,用户接口还可以是标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是led显示器、液晶显示器、触控式液晶显示器以及oled(organic light

emitting diode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在电子设备中处理的信息以及用于显示可视化的用户界面。
[0157]
图5仅示出了具有部件的电子设备,本领域技术人员可以理解的是,图5示出的结构并不构成对所述电子设备1的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
[0158]
例如,尽管未示出,所述电子设备还可以包括给各个部件供电的电源(比如电池),优选地,电源可以通过电源管理装置与所述至少一个处理器10逻辑相连,从而通过电源管理装置实现充电管理、放电管理、以及功耗管理等功能。电源还可以包括一个或一个以上的直流或交流电源、再充电装置、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。所述电子设备还可以包括多种传感器、蓝牙模块、wi

fi模块等,在此不再赘述。
[0159]
应该了解,所述实施例仅为说明之用,在专利申请范围上并不受此结构的限制。
[0160]
所述电子设备1中的所述存储器11存储的基于相似产品的产品推荐程序是多个指令的组合,在所述处理器10中运行时,可以实现:
[0161]
获取预设的产品集合中每一个产品的产品描述,从所述产品描述中提取每一个产品的关键词;
[0162]
将所述关键词转换为标签向量,根据所述标签向量计算所述产品集合中每两个产品之间的相似度;
[0163]
获取产品推荐需求,根据所述产品推荐需求选取预设的用户筛选算法,利用所述用户筛选算法从预设用户群体中筛选出多个用户;
[0164]
获取所述多个用户中每一个用户对所述产品集合的行为数据,从所述行为数据内提取所述每一个用户对应的偏好产品;
[0165]
从所述多个用户中任意选择两个用户作为第一用户和第二用户,统计在所述第一用户的偏好产品中存在,但在所述第二用户的偏好产品中不存在的产品为差异产品;
[0166]
选取所述产品集合中与所述差异产品之间的相似度大于预设相似阈值的产品为相似产品,向所述第二用户推荐所述差异产品与所述相似产品。
[0167]
具体地,所述处理器10对上述指令的具体实现方法可参考图1对应实施例中相关
步骤的描述,在此不赘述。
[0168]
进一步地,所述电子设备1集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。所述计算机可读存储介质可以是易失性的,也可以是非易失性的。例如,所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read

only memory)。
[0169]
本发明还提供一种计算机可读存储介质,所述可读存储介质存储有计算机程序,所述计算机程序在被电子设备的处理器所执行时,可以实现:
[0170]
获取预设的产品集合中每一个产品的产品描述,从所述产品描述中提取每一个产品的关键词;
[0171]
将所述关键词转换为标签向量,根据所述标签向量计算所述产品集合中每两个产品之间的相似度;
[0172]
获取产品推荐需求,根据所述产品推荐需求选取预设的用户筛选算法,利用所述用户筛选算法从预设用户群体中筛选出多个用户;
[0173]
获取所述多个用户中每一个用户对所述产品集合的行为数据,从所述行为数据内提取所述每一个用户对应的偏好产品;
[0174]
从所述多个用户中任意选择两个用户作为第一用户和第二用户,统计在所述第一用户的偏好产品中存在,但在所述第二用户的偏好产品中不存在的产品为差异产品;
[0175]
选取所述产品集合中与所述差异产品之间的相似度大于预设相似阈值的产品为相似产品,向所述第二用户推荐所述差异产品与所述相似产品。
[0176]
在本发明所提供的几个实施例中,应该理解到,所揭露的设备,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
[0177]
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
[0178]
另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
[0179]
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。
[0180]
因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附关联图标记视为限制所涉及的权利要求。
[0181]
本发明所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验
证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
[0182]
此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。系统权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一、第二等词语用来表示名称,而并不表示任何特定的顺序。
[0183]
最后应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。
再多了解一些

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

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

相关文献