一种基于时间的产品推荐方法及系统与流程

文档序号:12674292阅读:235来源:国知局
一种基于时间的产品推荐方法及系统与流程

本发明属于互联网技术领域,尤其涉及一种基于时间的产品推荐方法及系统。



背景技术:

现有的产品推荐网站会根据用户的喜好去给用户推荐对应的项目,便于用户的选择。传统的推荐方法是利用用户的旧偏好对用户未来的喜好进行预测并将得分高的项目排在推荐列表前面,根据推荐列表给用户进行项目推荐。传统的推荐方法及其评价方法注重于网络的结构属性而忽略可用的时间信息。然而随着网络老龄化速度的加快,时间成为网络信息增长的重要属性。时间属性已在信息网络的演变中被演示、建模并应用到许多应用之中。所以,将时间属性添加进推荐方法中显得十分必要。

基于时间的推荐方法在传统推荐方法的基础上增加了时间信息,其具体实现过程为:将收集到的数据分为两部分,一部分称为测试集(training set),另一部分称为探针集(probe set)。推荐算法的任务是将测试集作为输入数据去对重现探测集的数据。重现效果越好,说明预测精确度越高。分割数据的时候是根据数据的时间因素:选定一个时间点Tp,将在此时间点之前出现的数据归入测试集,其余数据归入探针集。对于一个推荐方法,其主要任务是通过推荐算法为每一个不同的项目计算出对应的分数,然后根据分数大小得出一个推荐列表,然后将该推荐列表推荐给指定用户。

SimS方法(Similarity-preferential diffusion。相似优先扩散方法)是将物理中的热融合(Heat diffusion)和概率扩散原理(probabilistic spreading)结合起来,该方法是根据其活动为每个单独用户分配项目上的资源,然后通过网络根据扩展规则使用资源。在此方法中,可以通过修改lamda的值获得不同的推荐方法:当lamda=1时,等效于概率扩散方法(ProbS,Probabilistic Spreading),当lamda=0时等效于热融合方法(Heat Spreading)。为了将时间作为考虑因素,在最后所得的推荐分数中加入最近增长热度,将SimS与最近增长热度结合起来的方法为基于时间感知的热融合和概率扩散结合方法(THybrid)

在信息过滤中使用recall值作为一个度量标准去对推荐方法的精确度进行量化分析。recall是作为正确预测项目的比例。一个项目被准确预测的标准是其出现在用户的推荐列表中的同时,其对应的用户--项目链接出现在探测集中。为了计算推荐方法的多样性,使用了出现在推荐列表前L位的项目的度的平均值。

尽管THybrid具有坚实的理论基础,在实践中的应用领域在不断扩展,取得了不错的效果。但是THybrid方法由于未考虑不同类型的数据受时间影响的程度不同,对应的受最近增长热度影响的程度也不同,导致产品推荐的精确度不准确。



技术实现要素:

本发明所要解决的技术问题在于提供一种基于时间的产品推荐方法及系统,旨在解决现有在使用THybrid方法进行产品推荐时容易导致精确度不准确的问题。

本发明是这样实现的,一种基于时间的产品推荐方法,包括:

从目标数据库获取包括用户和项目的目标数据,根据所述目标数据构建关于用户和项目的目标矩阵;

根据所述目标矩阵和SimS算法,计算得到不同项目对用户的分值;

根据最近增长热度算法,计算得到不同项目在指定时间内的最近增长热度;

设置权重值,基于THybrid算法根据所述权重值、所述分值和所述最近增长热度进行计算,得到初级推荐分值;

根据所述目标数据的类型获取目标数据参数,并根据所述目标数据参数对所述初级推荐分值进行优化计算,得到各项目对所述用户的推荐分值;

根据所述推荐分值确定项目列表,所述项目列表按照所述推荐分值对所述项目进行顺序排序,根据预置推荐规则获取所述项目列表中的若干项目,并将所述若干项目推送至所述用户的推荐列表。

进一步地,所述根据所述目标数据构建关于用户和项目的目标矩阵包括:

将所述目标数据保存为.dat格式;

根据所述目标数据构建关于用户和项目的目标矩阵,其中,以a表示所述目标矩阵,则:当第i个用户与第α个项目不相关时,a=0,当第i个用户与第α个项目相关时,a=1。

进一步地,所述根据所述目标数据构建关于用户和项目的目标矩阵之后还包括:

获取每一项目相关的用户数量,及获取每一用户相关的项目数量。

进一步地,以表示所述分值,以Δk'α(t,τ)表示所述最近增长热度,Δk'α(t,τ)=Δkα(t,τ)+εkα(t),以λ表示所述权重值,以表示所述初始推荐分值,则:

进一步地,所述根据所述目标数据的类型获取目标数据参数,并根据所述目标数据参数对所述初级推荐分值进行优化计算,得到各项目对所述用户的推荐分值包括:

根据所述目标数据从类型参数列表中获取所述目标数据的目标数据参数,所述类型参数列表包括目标数据和目标数据参数的对应关系;

根据所述目标数据参数对所述初级推荐分值进行计算,得到各项目对所述用户的推荐分数,以r表示所述目标数据参数,以表示所述推荐分值,则:

本发明还提供了一种基于时间的产品推荐系统,包括:

矩阵构建单元,用于从目标数据库获取包括用户和项目的目标数据,根据所述目标数据构建关于用户和项目的目标矩阵;

分值计算单元,用于根据所述目标矩阵和SimS算法,计算得到不同项目对用户的分值;

热度计算单元,用于根据最近增长热度算法,计算得到不同项目在指定时间内的最近增长热度;

权重计算单元,用于设置权重值,基于THybrid算法根据所述权重值、所述分值和所述最近增长热度进行计算,得到初级推荐分值;

分值确定单元,用于根据所述目标数据的类型获取目标数据参数,并根据所述目标数据参数对所述初级推荐分值进行优化计算,得到各项目对所述用户的推荐分值;

列表推荐单元,用于根据所述推荐分值确定项目列表,所述项目列表按照所述推荐分值对所述项目进行顺序排序,根据预置推荐规则获取所述项目列表中的若干项目,并将所述若干项目推送至所述用户的推荐列表。

进一步地,所述矩阵构建单元具体用于:

将所述目标数据保存为.dat格式;

根据所述目标数据构建关于用户和项目的目标矩阵,其中,以a表示所述目标矩阵,则:当第i个用户与第α个项目不相关时,a=0,当第i个用户与第α个项目相关时,a=1。

进一步地,所述矩阵构建单元还用于:

获取每一项目相关的用户数量,及获取每一用户相关的项目数量。

进一步地,以表示所述分值,以Δk'α(t,τ)表示所述最近增长热度,Δk'α(t,τ)=Δkα(t,τ)+εkα(t),以λ表示所述权重值,以表示所述初始推荐分值,则:

进一步地,所述分值确定单元具体用于:

根据所述目标数据从类型参数列表中获取所述目标数据的目标数据参数,所述类型参数列表包括目标数据和目标数据参数的对应关系;

根据所述目标数据参数对所述初级推荐分值进行计算,得到各项目对所述用户的推荐分数,以r表示所述目标数据参数,以表示所述推荐分值,则:

本发明与现有技术相比,有益效果在于:本发明通过获取目标数据,并根据目标数据构建目标矩阵,根据该目标矩阵和SimS算法计算得到不同项目对用户的分值,并计算指定时间内的最近增长热度,以设置的权重值、分值和最近增长热度基于Thybrid计算得到初始推荐分值,最后根据目标数据的类型获取目标数据参数,并以该目标数据参数对初始推荐分值进行优化,得到最终的推荐分值。本发明实施例在进行产品的推荐分值计算时,在最近增长热度计算时加入了时间因素,并根据目标数据的类型对应的目标数据参数进行计算最终的推荐分值,因为在本发明提供的实施例中加入了时间因素和了目标数据的类型,因此提高了产品推荐的精确度。

附图说明

图1是本发明实施例提供的一种基于时间的产品推荐方法的流程图;

图2是本发明实施例提供的不同项目的度与其最近增长热度的关系示意图;

图3是是本发明实施例提供的目标数据参数与recall值的对应关系图;

图4是本发明实施例提供的一种基于时间的产品推荐系统的结构示意图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

本发明提供了如图1所示的一种基于时间的产品推荐方法,包括:

S101,从目标数据库获取包括用户和项目的目标数据,根据所述目标数据构建关于用户和项目的目标矩阵。

在本步骤中,目标数据库包括现有的提供产品推荐的网站的数据库,如具备商家信息、服务信息、用户点评信息等团购网站,或者具备点评功能的点评网站等。产品推荐系统从目标数据库中获取包括用户和项目的目标数据,用户表示在该目标数据中的注册的用户信息,项目表示该目标数据库中保存的供的各个项目等。产品推荐系统从目标数据库中获取目标数据后,将该目标数据保存为.dat格式,并根据该目标数据构建关于用户和项目的目标矩阵,以a表示所述目标矩阵,则:当第i个用户与第α个项目不相关时,a=0,当第i个用户与第α个项目相关时,a=1。产品推荐系统在构建目标矩阵之后,将获取每一项目相关的用户数量,及获取每一用户相关的项目数量,即目标矩阵中a的值对每一个项目都有其自身的度,以kα表示与项目α相关的用户数量,当有X个用户与项目α相关时,kα=X,以ki表示与用户i相关的项目数量,当有Y个项目与项目i相关时,ki=Y。

S102,根据所述目标矩阵和SimS算法,计算得到不同项目对用户的分值。

在本步骤中,以表示不同项目对用户的分值,则其中,当需要计算项目α对用户i的h值,则需对于全部U个用户,每一个用户j进行以上公式的计算;其中,sij是指用户i与用户j的相似度,其具体的公式为:

就是说,用户i与用户j之间的相似度sij,是根据他们二人共同收集的项目所决定的;其中,I表示所有的项目数。

而中的θ,是决定了需要给高相似度的用户多大的权重,λ是将ProbS和HeatS结合起来的参数。当θ=1,λ=1,SimS等价于ProbS;当θ=1,λ=0,SimS等价于HeatS.

S103,根据最近增长热度算法,计算得到不同项目在指定时间内的最近增长热度。

在本步骤中,以Δk'α(t,τ)表示所述最近增长热度,则Δk'α(t,τ)=Δkα(t,τ)+εkα(t)。

S104,设置权重值,基于THybrid算法根据所述权重值、所述分值和所述最近增长热度进行计算,得到初级推荐分值。

在本步骤中,以λ表示所述权重值,以表示所述初始推荐分值,则:

S105,根据所述目标数据的类型获取目标数据参数,并根据所述目标数据参数对所述初级推荐分值进行优化计算,得到各项目对所述用户的推荐分值。

在本步骤中,产品推荐系统根据所述目标数据从类型参数列表中获取所述目标数据的目标数据参数,所述类型参数列表包括目标数据和目标数据参数的对应关系,并根据所述目标数据参数对所述初级推荐分值进行计算,得到各项目对所述用户的推荐分数,以r表示所述目标数据参数,以表示所述推荐分值,则:在实际应用中,产品推荐系统除了自动获取目标数据的目标数据参数之外,还可以接收目标数据参数设置指令对目标数据参数进行设置。

S106,根据所述推荐分值确定项目列表,所述项目列表按照所述推荐分值对所述项目进行顺序排序,根据预置推荐规则获取所述项目列表中的若干项目,并将所述若干项目推送至所述用户的推荐列表。

在本步骤中,产品推荐系统按照从大到小的推荐分值对所有项目进行排序,得到项目列表,并按照预置推荐规则获取该项目列表中的若干项目,并该若干项目推送至用户的推荐列表。预置推荐规则包括:取该项目列表中的前几个分值最高的项目、取同一类型项目中分值最高的前几个项目等。

本发明实施例用于探索不同网站的基于现有数据对用户进行项目推荐的能力。由于不同类型的网站信息与时间的相关程度不同,与最近增长热度的相关程度也不同。为了提高推荐精确度,本发明实施例提供的产品推荐方法,给THybrid中的最近增长热度提供一个权重值λ,不同类型的网站所得权重值不同。在此引入一个目标数据参数r,最终得到推荐分值根据引入了r后的最近增长热度,再结合SimS进行计算,便可得到recall值更高的推荐方法。

下面通过图2和图3对本发明实施例进行进一步地解释:

本发明利用Netflix,Digg,Yelp三个网站的数据进行推荐算法实践检验,并进行优化,取得了有益效果。

图2分别是三个网站中,不同项目的度与其最近增长热度的关系。采用log-log直线更加直观的展现出不同类型网站中,项目的度与项目最近增长热度不同。其中,Netflix的相关性最高,Digg的相关性最低。图2中,三个数据集中项目的最近增长热度与项目的度之间的关系。使用log-log直线找出两个变量之间的关系。Netflix的斜率m=2.04,Yelp的斜率m=1.74,Digg的斜率m=0.47。

图3展示出不同的r值对应出不同的recall值。其中,在Netflix和Yelp中都有明显的r值使得recall值趋于最优。

图4示出了本发明实施例提供的一种基于时间的产品推荐系统,包括:

矩阵构建单元401,用于从目标数据库获取包括用户和项目的目标数据,根据所述目标数据构建关于用户和项目的目标矩阵;

分值计算单元402,用于根据所述目标矩阵和SimS算法,计算得到不同项目对用户的分值;

热度计算单元403,用于根据最近增长热度算法,计算得到不同项目在指定时间内的最近增长热度;

权重计算单元404,用于设置权重值,基于THybrid算法根据所述权重值、所述分值和所述最近增长热度进行计算,得到初级推荐分值;

分值确定单元405,用于根据所述目标数据的类型获取目标数据参数,并根据所述目标数据参数对所述初级推荐分值进行优化计算,得到各项目对所述用户的推荐分值;

列表推荐单元406,用于根据所述推荐分值确定项目列表,所述项目列表按照所述推荐分值对所述项目进行顺序排序,根据预置推荐规则获取所述项目列表中的若干项目,并将所述若干项目推送至所述用户的推荐列表。

进一步地,矩阵构建单元401具体用于:

将所述目标数据保存为.dat格式;

根据所述目标数据构建关于用户和项目的目标矩阵,其中,以a表示所述目标矩阵,则:当第i个用户与第α个项目不相关时,a=0,当第i个用户与第α个项目相关时,a=1。

进一步地,矩阵构建单元401还用于:

获取每一项目相关的用户数量,及获取每一用户相关的项目数量。

进一步地,以表示所述分值,以Δk'α(t,τ)表示所述最近增长热度,Δk'α(t,τ)=Δkα(t,τ)+εkα(t),以λ表示所述权重值,以表示所述初始推荐分值,则:

进一步地,分值确定单元405具体用于:

根据所述目标数据从类型参数列表中获取所述目标数据的目标数据参数,所述类型参数列表包括目标数据和目标数据参数的对应关系;

根据所述目标数据参数对所述初级推荐分值进行计算,得到各项目对所述用户的推荐分数,以r表示所述目标数据参数,以表示所述推荐分值,则:

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

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