一种商品推荐方法、系统、电子设备和存储介质与流程

文档序号:17015568发布日期:2019-03-02 02:26阅读:118来源:国知局
一种商品推荐方法、系统、电子设备和存储介质与流程

本发明属于大数据领域,尤其涉及互联网技术领域,特别是涉及一种商品推荐方法、系统、电子设备和存储介质。



背景技术:

随着社会的发展,物品的数量和种类变得极其丰富,这就使得用户需要耗费极大的成本去发现满足自身需求的商品。为了解决该问题,个性化推荐系统应运而生,通过分析用户的行为以及商品自身的特性,以发现用户个性化兴趣与需求,然后将用户感兴趣的物品推荐给用户,从而提升服务的效率与品质。

在实际生产环境中,通常能够拥有商品两个维度的信息:一是商品文本描述信息,二是用户与商品交互的行为数据信息。基于有限的计算和存储,总希望充分挖掘出用户与商品的关联关系,以便获得更好的推荐效果,而目前的推荐系统存在着诸多的问题:其一就是topk近似文本的计算效率问题,所谓的topk即寻找出排在前k的元素,其中,通常利用word2vector算法实现文本向量化表示,然后度量向量间距离,找出topk近似,在大数据量的情况下,计算量达到o(n^2)(n表示文本数),极其耗费计算和存储资源;其二就是不同算法相互提升的问题,通常各算法采用烟囱式计算,各算法相互独立,推荐列表仅为单一算法结果集的简单融合。



技术实现要素:

本发明的目的是提供一种商品推荐方法、系统、电子设备和存储介质,可以在将商品推荐给用户时,有效降低被推荐商品的计算和存储的资源。

为解决上述技术问题,本发明提供了如下技术方案:

一种商品推荐方法,包括:

获取商品的文本词组的权值,并对所述文本词组进行向量化得到相应的加权文本词向量;

通过预设的聚类算法对所述加权文本词向量进行聚类;

在聚类内计算所述加权文本词向量间的距离,获取预设的高频词元素近似结果;

根据所述预设的高频词元素近似结果,生成相应的商品推荐结果。

优选地,所述获取商品的文本词组的权值,并对所述文本词组进行向量化得到相应的加权文本词向量,包括:

通过tf-idf计算各目标商品的文本词组的权值;

通过word2vector算法对各所述目标商品的文本词组进行向量化,并对该文本词组的词向量进行加权,以得到相应的加权文本词向量。

优选地,所述通过预设的聚类算法对所述加权文本词向量进行聚类,包括:

通过kmeans算法对所述加权文本词向量进行聚类。

优选地,所述在聚类内计算所述加权文本词向量间的距离,获取预设的高频词元素近似结果,包括:

在聚类内计算所述加权文本词向量间的距离;

根据计算结果,获取topk近似结果。

优选地,根据所述预设的高频词元素近似结果,生成相应的商品推荐结果,包括:

通过als算法获取商品推荐列表;

对所述商品推荐列表中的商品通过word2vector算法关联对应的所述topk近似结果对应的商品,以获得扩展推荐列表;

获取用户当前对商品的交互信息;

根据所述交互信息生成有效商品聚类簇;

对所述有效商品聚类簇中的商品通过word2vector算法关联对应的topk近似结果对应的商品,形成基于用户行为的更新推荐列表,以展示给所述用户和/或根据所述用户对商品的更新交互信息进行推荐迭代。

优选地,所述通过als算法获取商品推荐列表,包括:

获取用户对各类商品的评分,并根据该评分构建评分矩阵;

将所述评分矩阵近似分解为第一矩阵和第二矩阵,其中,所述第一矩阵表示用户在自身隐藏特质的得分,所述第二矩阵表示商品在自身隐藏特质的得分;

通过kmeans算法分别对所述第一矩阵和所述第二矩阵进行聚类得到对应的商品推荐列表。

一种商品推荐系统,包括:

加权向量化模块,用于获取商品的文本词组的权值,并对所述文本词组进行向量化得到相应的加权文本词向量;

聚类模块,用于通过预设的聚类算法对所述加权文本词向量进行聚类;

度量模块,用于在聚类内计算所述加权文本词向量间的距离,获取预设的高频词元素近似结果;

结果生成模块,用于根据所述预设的高频词元素近似结果,生成相应的商品推荐结果。

优选地,所述加权向量化模块包括:

权值计算单元,用于通过tf-idf计算各目标商品的文本词组的权值;

向量化单元,用于通过word2vector算法对各所述目标商品的文本词组进行向量化,并对该文本词组的词向量进行加权,以得到相应的加权文本词向量。

优选地,所述聚类模块包括:

kmeans算法聚类单元,用于通过kmeans算法对所述加权文本词向量进行聚类。

优选地,所述度量模块包括:

词向量距离计算单元,用于在聚类内计算所述加权文本词向量间的距离;

topk计算单元,用于根据计算结果,获取topk近似结果。

优选地,所述结果生成模块包括:

推荐列表获取单元,用于通过als算法获取商品推荐列表;

扩展推荐列表获取单元,用于对所述商品推荐列表中的商品通过word2vector算法关联对应的所述topk近似结果对应的商品,以获得扩展推荐列表;

交互信息获取单元,用于获取用户当前对商品的交互信息;

有效商品聚类簇生产单元,用于根据所述交互信息生成有效商品聚类簇;

更新列表生成单元,用于对所述有效商品聚类簇中的商品通过word2vector算法关联对应的topk近似结果对应的商品,形成基于用户行为的更新推荐列表,以展示给所述用户和/或根据所述用户对商品的更新交互信息进行推荐迭代。

优选地,所述推荐列表获取单元包括:

矩阵构建子单元,用于获取用户对各类商品的评分,并根据该评分构建评分矩阵;

矩阵分解子单元,用于将所述评分矩阵近似分解为第一矩阵和第二矩阵,其中,所述第一矩阵表示用户在自身隐藏特质的得分,所述第二矩阵表示商品在自身隐藏特质的得分;

聚类子单元,用于通过kmeans算法分别对所述第一矩阵和所述第二矩阵进行聚类得到对应的商品推荐列表。

一种用于商品推荐的电子设备,包括:

存储器,用于存储计算机程序;

处理器,用于执行所述计算机程序时实现如上述任一项所述的商品推荐方法的步骤。

一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述任一项所述商品推荐方法的步骤

与现有技术相比,上述技术方案具有以下优点:

本发明实施例所提供的一种商品推荐方法,包括:获取商品的文本词组的权值,并对文本词组进行向量化得到相应的加权文本词向量;通过预设的聚类算法对加权文本词向量进行聚类;在聚类内计算加权文本词向量间的距离,获取预设的高频词元素近似结果;根据预设的高频词元素近似结果,生成相应的商品推荐结果。在通过个性化系统为用户进行商品推荐时,将商品的文本词组进行加权向量化,然后对加权文本向量进行聚类处理,在聚类内计算文本向量间距离,最终得到高频词元素近似,大大提高了计算效率,提高了计算资源和存储单元的利用效率。尤其是后续可以基于用户的行为,利用高频词元素近似可以强化商品推荐列表,以得到更为准确的商品推荐结果给用户。

附图说明

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

图1为本发明一种具体实施方式所提供的商品推荐方法流程图;

图2为本发明一种具体实施方式所提供的推荐列表生成示意图;

图3为本发明一种具体实施方式所提供的商品推荐系统示意图;

图4为本发明一种实施方式所提供的用于商品推荐的电子设备结构示意图。

具体实施方式

本发明实施例的核心是提供一种商品推荐方法、系统、电子设备和存储介质,可以在将商品推荐给用户时,有效降低被推荐商品的计算和存储的资源。

为了使本发明的上述目的、特征和优点能够更为明显易懂,下面结合附图对本发明的具体实施方式做详细的说明。

在以下描述中阐述了具体细节以便于充分理解本发明。但是本发明能够以多种不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似推广。因此本发明不受下面公开的具体实施的限制。

请参考图1,图1为本发明一种具体实施方式所提供的商品推荐方法流程图。

本发明的一种具体实施方式提供了一种商品推荐方法,包括:

s11:获取商品的文本词组的权值,并对文本词组进行向量化得到相应的加权文本词向量。

在本发明的一种实施方式中,获取商品的文本词组的权值,并对文本词组进行向量化得到相应的加权文本词向量,包括:通过tf-idf计算各目标商品的文本词组的权值;通过word2vector算法对各所述目标商品的文本词组进行向量化,并对该文本词组的词向量进行加权,以得到相应的加权文本词向量。初始化一个固定维度的随机向量,word2vector算法依据样本数据集优化更新该随机向量。

其中,tf-idf(termfrequency–inversedocumentfrequency)是一种用于信息检索与数据挖掘的常用加权技术。

word2vector算法为一种开源算法,用指定维度的向量表示词组信息,利用向量度量词语间关系。

在本实施方式中,优选采取了tf-idf来计算各目标商品的文本词组的权值,然后通过word2vector算法对各目标商品的文本词组进行向量化,以实现词组的向量化表示,从而得到加权的文本词向量,使得度量的文本词向量更加准确。

s12:通过预设的聚类算法对加权文本词向量进行聚类。

进一步地,通过预设的聚类算法对加权文本词向量进行聚类,包括:通过kmeans算法对加权文本词向量进行聚类。

基于kmeans算法进行聚类,使得后续求解诸如topk的高频词元素近似结果,可以极大地减少计算量。

其中,kmeans算法是无监督聚类算法,对于n个样本的数据集,将其聚类成k个簇,使得簇的方差和最小。

s13:在聚类内计算加权文本词向量间的距离,获取高频词元素近似结果。

所谓的高频词元素指的是出现的频率大于预设阈值的文本词组。在本实施方式中,在聚类内计算加权文本词向量间的距离,获取预设的高频词元素近似结果,优选包括:在聚类内计算加权文本词向量间的距离;根据计算结果,获取topk近似结果。即本实施方式优选采用topk的计算方式来获取相应的近似结果。

s14:根据高频词元素近似结果,生成相应的商品推荐结果。

在本发明的一种实施方式中,根据高频词元素近似结果,生成相应的商品推荐结果,包括:通过als算法获取商品推荐列表;对商品推荐列表中的商品通过word2vector算法关联对应的topk近似结果对应的商品,以获得扩展推荐列表;获取用户当前对商品的交互信息;根据交互信息生成有效商品聚类簇;对有效商品聚类簇中的商品通过word2vector算法关联对应的topk近似结果对应的商品,形成基于用户行为的更新推荐列表,以展示给用户和/或根据用户对商品的更新交互信息进行推荐迭代。

在本实施方式中,具体地,

(1)首先通过als算法得到商品推荐列表,即als推荐列表,也即初始推荐列表。

其中,初始推荐列表可以利用历史数据离线计算得到。als算法:(alternatingleastsquare),交替最小二乘法。

(2)对于上述als推荐列表中的商品,利用word2vector算法关联其topk近似,从而形成扩展推荐列表。对初始推荐列表中的商品用word2vector算法关联对应的topk近似商品。如图2所示,假设初始推荐列表中包括商品w1、商品w2、商品w3、商品w4。则对初始推荐列表中的商品用word2vector算法关联对应的topk近似商品即得到扩展推荐列表,扩展推荐列表中则包括商品w1及w1的topk近似商品,商品w2及w2的topk近似商品,商品w3及w3的topk近似商品,商品w4及w4的topk近似商品。

此时给出该扩展推荐列表,如图2所示,扩展推荐列表中包括商品c2、商品c3、商品c4。

用户可能点击浏览该扩展推荐列表中的商品,也可能点击浏览扩展推荐列表之外的商品(如图2中的商品c1)。

(3)获取用户当前对商品的交互信息,即获取用户所点击浏览了的所有商品。通过als矩阵分解,得到表示商品在自身隐藏特质的得分的第二矩阵,再通过kmeans算法,获取相应的商品簇。其中,将扩展推荐列表中多次推荐而未被用户点击的商品从扩展推荐列表中删除;将用户实际点击的商品,作为扩展推荐列表中的有效商品(即被点击过的商品),利用上述商品簇进行扩充。

在该过程中,接收用户根据当前的扩展推荐列表所对商品进行的交互信息,如对商品的点击浏览信息,从而得到有效商品聚类簇,如在扩展推荐列表的更新过程中,商品c3经过多轮推荐而一直未被点击,则从扩展推荐列表中删除,虽然商品c1原先不属于扩展推荐列表中的商品,但是商品c1是被用户点击的商品,则更新后得到的有效推荐列表中的商品最终剩余的是商品c1、商品c2和商品c4,通过als矩阵分解,得到表示商品在自身隐藏特质的得分的第二矩阵,再通过kmeans算法,获取各商品相应的商品簇,即有效商品聚类簇:c1商品簇、c2商品簇和c4商品簇。

(4)对于经过扩充后的商品簇,利用word2vector算法关联对应的topk近似结果对应的商品进行进一步扩充,形成基于用户行为的更新推荐列表,如图2中的用户行为更新推荐列表商品s1、商品s2、商品s3,依据该更新的推荐列表,进入下一轮次推荐迭代。

需要说明的是,依据als算法,可以得到各类型簇,簇中形成各商品集;依据商品在全体数据集中出现的频率,排序商品集,从而形成有序商品列表;本身商品的topk近似是有序的列表;对于有序商量列表中的商品,利用word2vector得到商品topk近似,并直接插入相应商品后,形成最终有序列表。

进一步地,通过als算法获取商品推荐列表,包括:获取用户对各类商品的评分,并根据该评分构建评分矩阵;将评分矩阵近似分解为第一矩阵和第二矩阵,其中,第一矩阵表示用户在自身隐藏特质的得分,第二矩阵表示商品在自身隐藏特质的得分;通过kmeans算法分别对第一矩阵和第二矩阵进行聚类得到对应的商品推荐列表。

在本实施方式中,给出了als基本计算过程。根据用户对各类商品的评分构建评分矩阵,将评分矩阵近似分解为两个矩阵,即上述的第一矩阵和第二矩阵,以分别表示用户在自身隐藏特质的得分和商品在自身隐藏特质的得分。然后,通过kmeans算法分别对用户在自身隐藏特质的得分、商品在自身隐藏特质的得分进行聚类,得到用户聚类簇和商品聚类簇。根据聚类结果,可以达到以下效果:如对用户a,推荐与用户a同类的用户的购买和点击的商品(其中,所谓的同类指的是具有某一或者某些相同特征);同样,对于商品w,用户a有购买或者点击商品w,则也会向用户推荐w的同类商品(其中,所谓的同类指的是具有某一或者某些相同特征)。由此得出的推荐商品构成的列表即为上述初始推荐列表。

比如原始用户商品评分矩阵为m*n(其中m表示用户数,n表示商品数)分解为m*k,k*n(其中k为隐藏特征数),比如将k列分别解释为描述用户的‘个人偏好’,‘购买力’,‘阅历背景’等等特征。

在本实施方式中,利用als实现用户商品评分矩阵近似分解表示。依据als推荐列表,利用word2vector关联列表中商品的topk近似,实现了推荐结果的扩展;在得到初始推荐列表后,根据用户与推荐结果的交互,利用word2vector关联簇中商品的topk近似,进一步提升了推荐列表。

利用kmeans算法实现了加权文本向量topk近似的快速计算,提高了计算资源及存储单元的利用效率。利用word2vector、als、kmeans、tf-idf等算法,实现了word2vector关联als推荐列表,扩展了推荐列表,提升了推荐的准确度。

请参考图3,图3为本发明一种具体实施方式所提供的商品推荐系统示意图。

相应地,本发明一种实施方式还提供了一种商品推荐系统,包括:加权向量化模块31,用于获取商品的文本词组的权值,并对文本词组进行向量化得到相应的加权文本词向量;聚类模块32,用于通过预设的聚类算法对加权文本词向量进行聚类;度量模块33,用于在聚类内计算加权文本词向量间的距离,获取预设的高频词元素近似结果;结果生成模块34,用于根据预设的高频词元素近似结果,生成相应的商品推荐结果。

进一步地,加权向量化模块包括:权值计算单元,用于通过tf-idf计算各目标商品的文本词组的权值;向量化单元,用于通过word2vector算法对各目标商品的文本词组进行向量化,并对该文本词组的词向量进行加权,以得到相应的加权文本词向量。

更进一步地,聚类模块包括:kmeans算法聚类单元,用于通过kmeans算法对加权文本词向量进行聚类。

度量模块包括:词向量距离计算单元,用于在聚类内计算加权文本词向量间的距离;topk计算单元,用于根据计算结果,获取topk近似结果。

在上述任一实施方式的基础上,本发明一种实施方式中,结果生成模块包括:推荐列表获取单元,用于通过als算法获取商品推荐列表;扩展推荐列表获取单元,用于对商品推荐列表中的商品通过word2vector算法关联对应的topk近似结果对应的商品,以获得扩展推荐列表;交互信息获取单元,用于获取用户当前对商品的交互信息;有效商品聚类簇生产单元,用于根据交互信息生成有效商品聚类簇;更新列表生成单元,用于对有效商品聚类簇中的商品通过word2vector算法关联对应的topk近似结果对应的商品,形成基于用户行为的更新推荐列表,以展示给用户和/或根据用户对商品的更新交互信息进行推荐迭代。

进一步地,推荐列表获取单元包括:矩阵构建子单元,用于获取用户对各类商品的评分,并根据该评分构建评分矩阵;矩阵分解子单元,用于将评分矩阵近似分解为第一矩阵和第二矩阵,其中,第一矩阵表示用户在自身隐藏特质的得分,第二矩阵表示商品在自身隐藏特质的得分;聚类子单元,用于通过kmeans算法分别对第一矩阵和第二矩阵进行聚类得到对应的商品推荐列表。

在本实施方式中,在通过个性化系统为用户进行商品推荐时,将商品的文本词组进行加权向量化,然后对加权文本向量进行聚类处理,在聚类内计算文本向量间距离,最终得到topk近似,大大提高了计算效率,提高了计算资源和存储单元的利用效率。

利用als实现用户商品评分矩阵近似分解表示。依据als推荐列表,利用word2vector关联列表中商品的topk近似,实现了推荐结果的扩展;在得到初始推荐列表后,根据用户与推荐结果的交互,利用word2vector关联簇中商品的topk近似,进一步提升了推荐列表。

利用kmeans算法实现了加权文本向量topk近似的快速计算,提高了计算资源及存储单元的利用效率。利用word2vector、als、kmeans、tf-idf等算法,实现了word2vector关联als推荐列表,扩展了推荐列表,提升了推荐的准确度。

请参考图4,图4为本发明一种实施方式所提供的用于商品推荐的电子设备结构示意图。

相应地,本发明一种实施方式还提供了一种用于商品推荐的电子设备,包括:存储器41,用于存储计算机程序;处理器42,用于执行计算机程序时实现如上述任一项的商品推荐方法的步骤。

当然,该用于商品推荐的电子设备还可以包括各种必要的网络接口、电源以及其它零部件等,在此不做限定,具体视情况而定。

相应地,本发明一种实施方式还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上述任一项商品推荐方法的步骤。

该计算机可读存储介质可以包括:u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质,本实施方式在此不做限定,具体视情况而定。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

综上所述,本发明上述各实施方式所提供的商品推荐方法、系统、电子设备和存储介质,在通过个性化系统为用户进行商品推荐时,将商品的文本词组进行加权向量化,然后对加权文本向量进行聚类处理,在聚类内计算文本向量间距离,最终得到高频词元素近似,大大提高了计算效率,提高了计算资源和存储单元的利用效率。尤其是后续可以基于用户的行为,利用高频词元素近似可以强化商品推荐列表,以得到更为准确的商品推荐结果给用户。

以上对本发明所提供的一种商品推荐方法、系统、电子设备和存储介质进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1