CN103810262B - 信息推荐方法和系统 - Google Patents

信息推荐方法和系统 Download PDF

Info

Publication number
CN103810262B
CN103810262B CN201410038156.9A CN201410038156A CN103810262B CN 103810262 B CN103810262 B CN 103810262B CN 201410038156 A CN201410038156 A CN 201410038156A CN 103810262 B CN103810262 B CN 103810262B
Authority
CN
China
Prior art keywords
user
vector
matrix
weight
behavior
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201410038156.9A
Other languages
English (en)
Other versions
CN103810262A (zh
Inventor
王迎宾
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Vipshop Guangzhou Software Co Ltd
Original Assignee
Guangzhou Pinwei Software Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Guangzhou Pinwei Software Co Ltd filed Critical Guangzhou Pinwei Software Co Ltd
Priority to CN201410038156.9A priority Critical patent/CN103810262B/zh
Publication of CN103810262A publication Critical patent/CN103810262A/zh
Application granted granted Critical
Publication of CN103810262B publication Critical patent/CN103810262B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/951Indexing; Web crawling techniques

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供一种信息推荐方法和系统。首先生成用户‑对象矩阵,然后建立用户权值向量和对象质量向量,再通过迭代算法计算出用户的优先级权值和对象的质量权值,分别按照权值排序提取用于推荐计算的优先用户高质对象,既剔除了对推荐计算结果影响较小的数据,减少了数据计算量,又能避免无用数据的影响,提高推荐计算的结果的精确度;综合来看,该方案能够明显提高服务器资源利用率,降低推荐计算的时间消耗,提高了信息推荐的效果和效率,更有利于信息推荐的实时化。

Description

信息推荐方法和系统
技术领域
本发明涉及互联网技术领域,特别是涉及一种信息推荐方法和系统。
背景技术
现在的互联网网站中,常见的信息推荐方案可以分为两种:基于内容的和基于行为的。前者在新闻、电影等类型的信息推荐中比较常用,而在以特定对象为推荐的一类网站中中,一般只能作为辅助、补充的方法。
由于网站的浏览量巨大、用户群众多,每天都有大量的用户行为数据积累下来。当前最常见的基于行为的推荐算法,是协同过滤及各种衍生版本。其核心是根据用户与特定对象执行的行为数据,在用户空间中计算特定对象之间的相似度,从而根据特定对象来推荐其他对象;或者在对象空间中计算用户的相似度,然后计算出相似用户有过行为的特定对象,来推荐给当前用户。
前面所述的计算方法,数据稀疏性比较严重,计算量非常大,算法效率的提升容易遇到瓶颈。由于要计算所有用户和所有对象,数据容易掺进杂质,降低结果的准确率。由于需要推荐的对象和用户数都非常巨大,通常达到百万、千万以上的级别。这样,在计算对象相似度或者用户相似度时,数据稀疏性比较严重。另一方面,更多的长尾用户的网上行为,是零星的、没有规律性的,在推荐流程中,只会增加时间复杂度,而不会对计算的效果有所提高。
由此可见,传统方法统计用户行为和数据,涉及过多的用户和对象。正如签名所述,包含较多用户的行为是不具有规律性、可参考性的,经过推荐流程后,包含有较多也并不是作为优先对象所希望选择的;这些用户和对象对最终的推荐效果,并没有太大的正面影响;但在进行推荐流程的技术时,却仍然将其包含到技术范围内,这就明显浪费服务器资源,后续推荐计算的时间消耗多,既降低了推荐的效果,又降低了推荐的效率,阻碍了信息推荐的实时化。
发明内容
基于此,有必要针对现有技术中存在的后续推荐计算的时间消耗多,推荐的效果差和推荐效率低的问题,提供一种信息推荐方法和系统。
一种信息推荐方法,包括如下步骤:
根据数据库中保存的用户行为数据,建立用户到待推荐的对象的m×n矩阵A,根据矩阵A的元素Aij确定每个用户对每个对象的行为权值;其中,m为用户数量,n为对象数量;
矩阵A的元素满足:
A_(ik)>A_(jk),k为同一对象,用户i对对象的行为比用户j更早产生;
A_(ik)=0,用户i对对象k没有行为;
建立m维的用户权值向量E和n维的对象质量向量Q,并将两个向量的所有元素都初始化为1,其中,E表示用户的优先级权值,Q表示对象的质量权值;
将用户权值向量E和n维的对象质量向量Q进行迭代运算:
E:=Q×AT
Q:=E×A
其中,AT为矩阵A的转置矩阵;
将用户权值向量E的各个元素对应的用户和对象质量向量Q的各个元素对应的对象分别按照权值排序;
依顺序提取前面比例为a(a<1)的权值的用户设为优先用户,依顺序提取前面比例为a的权值的对象设为高质对象;
根据所述优先用户和高质对象,采用基于对象的协同过滤方法或基于用户的协同过滤方法进行对象信息的推荐。
一种信息推荐系统,包括:
矩阵生成模块,用于根据数据库中保存的用户行为数据,建立用户到待推荐的对象的m×n矩阵A,根据矩阵A的元素Aij确定每个用户对每个对象的行为权值;其中,m为用户数量,n为对象数量;
矩阵A的元素满足:
A_(ik)>A_(jk),k为同一对象,用户i对对象的行为比用户j更早产生;
A_(ik)=0,用户i对对象k没有行为;
向量生成模块,用于建立m维的用户权值向量E和n维的对象质量向量Q,并将两个向量的所有元素都初始化为1,其中,E表示用户的优先级权值,Q表示对象的质量权值;将用户权值向量E和n维的对象质量向量Q进行迭代运算:
E:=Q×AT
Q:=E×A
其中,AT为矩阵A的转置矩阵;
用户和对象提取模块,用于将用户权值向量E的各个元素对应的用户和对象质量向量Q的各个元素对应的对象分别按照权值排序;依顺序提取前面比例为a(a<1)的权值的用户设为优先用户,依顺序提取前面比例为a的权值的对象设为高质对象;
信息推荐模块,用于根据所述优先用户和高质对象,采用基于对象的协同过滤方法或基于用户的协同过滤方法进行对象信息的推荐。
上述信息推荐方法和系统。首先生成用户-对象矩阵,然后建立用户权值向量和对象质量向量,再通过迭代算法计算出用户的优先级权值和质量权值,分别按照权值排序提取用于推荐计算的优先用户高质对象,既剔除了对推荐计算结果影响较小的数据,减少了数据计算量,又能避免无用数据的影响,提高推荐计算的结果的精确度;综合来看,该方案能够明显提高服务器资源利用率,降低推荐计算的时间消耗,提高了信息推荐的效果和效率,更有利于信息推荐的实时化。
附图说明
图1为本发明的信息推荐方法流程图;
图2为本发明的信息推荐系统结构示意图。
具体实施方式
下面结合附图对本发明的信息推荐方法和系统的具体实施方式作详细描述。
参考图1所示,图1为本发明的信息推荐方法流程图,主要包括如下步骤:
步骤S10,根据数据库中保存的用户行为数据,建立用户到待推荐的对象的m×n矩阵A,根据矩阵A的元素Aij确定每个用户对每个对象的行为权值;其中,m为用户数量,n为对象数量;
矩阵A的元素满足:
A_(ik)>A_(jk),k为同一对象,用户i对对象的行为比用户j更早产生;A_(ik)=0,用户i对对象k没有行为。
m×n矩阵A可以表示如下:
在一个实施例中,对于根据矩阵A的元素Aij确定每个用户对每个对象的行为权值的过程,具体可以包括如下:
步骤S101,建立用户的行为数据集合R;R={(u,p,t)},其中,集合R的每个元素(u,p,t)表示用户u在时间t对对象p的一个行为事件。
步骤S102,设定行为权值的数学表达式:
Aij=|{u|(u,pj,t),(ui,pj,ti)∈R∧(t>ti)}|;
其中,符号“∧”表示满足右边条件的元素,“u|”表示符合右边条件的任意用户,符号“‖”表示集合里面的元素的个数;即用户i对对象j的行为权值Aij,等于所有在此时间之后对该对象产生行为的用户的个数。
步骤S103,根据所述数学表达式计算用户对对象的行为权值矩阵;具体的,计算过程可以如下:
将矩阵A初始化为m×n阶的零矩阵;遍历所有行为数据集,搜索到一个用户i对对象j的行为数据时,则将元素Aij置1,并把矩阵A的第j列中所有非零元素自增1;遍历完所有行为数据后,为防止最终结果的奇异化,再将矩阵A的非零元素进行平滑处理:
Aij:=log(1+Aij)
根据平滑处理后的矩阵A确定用户对对象的行为权值矩阵。
步骤S20,建立m维的用户权值向量E和n维的对象质量向量Q,并将两个向量的所有元素都初始化为1,其中,E表示用户的优先级权值,Q表示对象的质量权值。
步骤S30,将用户权值向量E和n维的对象质量向量Q进行迭代运算:
E:=Q×AT
Q:=E×A
其中,AT为矩阵A的转置矩阵;E:的分量形式可以表示为:Ei=∑jAijQj;Q:的分量形式可以表示为:Qj=∑jEiAij;i为用户数量,j为对象数量。
将用户权值向量E的各个元素对应的用户和对象质量向量Q的各个元素对应的对象分别按照权值排序。
依顺序提取前面比例为a(a<1)的权值的用户设为优先用户,依顺序提取前面比例为a的权值的对象设为高质对象。
作为一个实施例,对于迭代运算的过程,可以包括如下:
a、遍历向量E中的每个元素Ei;遍历矩阵A的第i行的每个元素Aij;将Aij乘以Qj,然后加到Ei上;即Ei:=Ei+Aij*Qj
b、计算完所有E的元素后,开始计算Q,遍历向量Q的每个元素Qj;遍历矩阵A的第j列的每一个元素Aij;将Aij乘以Ei,加到Qj上;即Qj:=Qj+Aij*Ei
c、反复进行以上a~b的计算,直至向量E和向量Q都收敛停止。
通过上述计算处理,得到最终的用户权值向量E和对象质量向量Q后,根据权值大小进行排序,取前面的比例a(如1/10)的用户设为优先用户,取前面的比例a(如1/10)的对象设为高质对象;由此排除了长尾用户的影响,在后面的推荐处理流程中,只需要利用优先用户和高质对象进行计算,从而可以大大地减少算法的计算量。
步骤S40,根据所述优先用户和高质对象,采用基于对象的协同过滤方法或基于用户的协同过滤方法进行对象信息的推荐。
在本步骤中,在计算相似度的推荐流程中,只计算用户与优先用户的相似度,根据这些相似优先用户的历史行为来给该用户做推荐,而不必计算所有用户两两之间的相似度,从而减少推荐流程中的计算耗时,便于算法的实时化。
在一个实施例中,计算推荐流程可以包括如下:
(一)基于对象的协同过滤进行对象信息的推荐,具体包括步骤:
(1)从数据库中查找出所有对象和优先用户的行为记录,生成对象向量P:
Pj=(Pj1,Pj2,…,Pju,…,Pjm*a)
其中,Pj为第j个对象向量,向量的每一个分量Pju表示对象j对应该优先用户u的行为权值;
优选的,对于pju的计算,还可以根据实际执行不同的行为对应设定的权值来进行计算:
其中,……表示优先用户u对对象j执行过的第一行为、第二行为……;N1、N2分别表示第一行为、第二行为……的权值。
(2)计算所有高质对象之间的相似度:
Sij=∑u(Piu*Pju)/|Pi|*|Pj|
其中,|Pi|=∑uPiu,|Pj|=∑uPju,求和∑u是对所有优先用户u进行遍历的;
(3)对于每一个对象i,根据计算的相似度进行排序,选择相似度Pij最大的前K个对象,设为原对象i的推荐结果进行对象信息的推荐。
(二)基于用户的协同过滤方法进行对象信息的推荐,具体包括步骤:
(1)从数据库中查找出所有用户和高质对象的行为记录,生成用户向量C:
Cu=(Cu1,Cu2,…,Cui,…,Cun*a)
其中,Cu为第u个用户向量,向量的每一个分量Cui表示高质对象i对应该用户u的行为权值;
优选的,对于Cui的计算,还可以根据实际执行不同的行为对应设定的权值来进行计算:
其中,……表示某个高质对象j被用户u对执行过的第一行为、第二行为……;N1、N2分别表示第一行为、第二行为……的权值。
(2)计算所有优先用户之间的相似度:
Wuv=∑i(Cui*Cvi)/|Pu|*|Pv|
其中,|Pu|=∑iPui,|Pv|=∑iPvi,求和∑i是对所有的高质对象i进行遍历的;
(3)根据用户之间的相似度Wuv和用户向量Cu,并以用户间的相似度作为加权,计算针对用户u的对象i的被推荐的权值Rui
Rui=∑v(Wuv Cvi/∑iCvi)
将所有的对象i按照权值Rui进行排序,选择前K个对象对用户u进行对象信息的推荐。
参考图2所示,图2为本发明的信息推荐系统结构示意图,包括:
矩阵生成模块10,用于根据数据库中保存的用户行为数据,建立用户到待推荐的对象的m×n矩阵A,根据矩阵A的元素Aij确定每个用户对每个对象的行为权值;其中,m为用户数量,n为对象数量;
矩阵A的元素满足:
A_(ik)>A_(jk),k为同一对象,用户i对对象的行为比用户j更早产生;
A_(ik)=0,用户i对对象k没有行为;
向量生成模块20,用于建立m维的用户权值向量E和n维的对象质量向量Q,并将两个向量的所有元素都初始化为1,其中,E表示用户的优先级权值,Q表示对象的质量权值;将用户权值向量E和n维的对象质量向量Q进行迭代运算:
E:=Q×AT
Q:=E×A
其中,AT为矩阵A的转置矩阵;
用户和对象提取模块30,用于将用户权值向量E的各个元素对应的用户和对象质量向量Q的各个元素对应的对象分别按照权值排序;依顺序提取前面比例为a(a<1)的权值的用户设为优先用户,依顺序提取前面比例为a的权值的对象设为高质对象;
信息推荐模块40,用于根据所述优先用户和高质对象,采用基于对象的协同过滤方法或基于用户的协同过滤方法进行对象信息的推荐。
在一个实施例中,所述矩阵生成模块10用于根据矩阵A的元素Aij确定每个用户对每个对象的行为权值的方法具体包括:
建立用户的行为数据集合R;R={(u,p,t)},其中,集合R的每个元素(u,p,t)表示用户u在时间t对对象p的一个行为事件;
设定行为权值的数学表达式:
Aij=|{u|(u,pj,t),(ui,pj,ti)∈R∧(t>ti)}|;
其中,符号“∧”表示满足右边条件的元素,“u|”表示符合右边条件的任意用户,符号“‖”表示集合里面的元素的个数;
根据所述数学表达式计算用户对对象的行为权值矩阵。
进一步地,所述矩阵生成模块10用于根据所述数学表达式计算用户对对象的行为权值矩阵的方法具体包括:
将矩阵A初始化为m×n阶的零矩阵;
遍历所有行为数据集,搜索到一个用户i对对象j的行为数据时,则将元素Aij置1,并把矩阵A的第j列中所有非零元素自增1;
遍历完所有行为数据后,为防止最终结果的奇异化,再将矩阵A的非零元素进行平滑处理:
Aij:=log(1+Aij)
根据平滑处理后的矩阵A确定用户对对象的行为权值矩阵。
在一个实施例中,所述向量生成模块20用于将用户权值向量E和n维的对象质量向量Q进行迭代运算的方法具体包括:
遍历向量E中的每个元素Ei
遍历矩阵A的第i行的每个元素Aij
将Aij乘以Qj,然后加到Ei上;
计算完所有E的元素后,开始计算Q,遍历向量Q的每个元素Qj
遍历矩阵A的第j列的每一个元素Aij
将Aij乘以Ei,加到Qj上;
反复进行以上计算,直至向量E和向量Q都收敛停止。
在一个实施例中,所述信息推荐模块40用于基于对象的协同过滤进行对象信息的推荐的方法具体包括:
从数据库中查找出所有对象和优先用户的行为记录,生成对象向量P:
Pj=(Pj1,Pj2,…,Pju,…,Pjm*a)
其中,Pj为第j个对象向量,向量的每一个分量Pju表示对象j对应该优先用户u的行为权值;
计算所有高质对象之间的相似度:
Sij=∑u(Piu*Pju)/|Pi|*|Pj|
其中,|Pi|=∑uPiu,|Pj|=∑uPju,求和∑u是对所有优先用户u进行遍历的;
对于每一个对象i,根据计算的相似度进行排序,选择相似度Pij最大的前K个对象,设为原对象i的推荐结果进行对象信息的推荐;
所述信息推荐模块40用于基于用户的协同过滤方法进行对象信息的推荐的方法具体包括:
从数据库中查找出所有用户和高质对象的行为记录,生成用户向量C:
Cu=(Cu1,Cu2,…,Cui,…,Cun*a)
其中,Cu为第u个用户向量,向量的每一个分量Cui表示高质对象i对应该用户u的行为权值;
计算所有优先用户之间的相似度:
Wuv=∑i(Cui*Cvi)/|Pu|*|Pv|
其中,|Pu|=∑iPui,|Pv|=∑iPvi,求和∑i是对所有的高质对象i进行遍历的;
根据用户之间的相似度Wuv和用户向量Cu,并以用户间的相似度作为加权,计算针对用户u的对象i的被推荐的权值Rui
Rui=∑v(Wuv Cvi/∑iCvi)
将所有的对象i按照权值Rui进行排序,选择前K个对象对用户u进行对象信息的推荐。
本发明的信息推荐系统与本发明的信息推荐方法一一对应,在上述信息推荐方法的实施例阐述的技术特征及其有益效果均适用于信息推荐系统的实施例中,特此声明。
本发明的技术方案,可以用于对互联网网站进行信息推荐过程中,以提高服务器资源利用率,降低推荐计算的时间消耗,提高信息推荐的效果和效率。
例如,可以用于电子商务网站对待售商品(即待推荐的对象)信息的推荐,一般电子商务平台中,囊括众多不同的商品品类,以及大量的知名品牌。每天都有大量新商品上线。而特殊的销售模式决定了每件商品只有极其有限的售卖档期。对于单独一个用户来说,大部分商品是没有机会被展示出来、并被看到的。如果能根据特定的场合和特定的用户,把这些数量庞大的长尾商品展示出来,就既可以提高商品的销售量和网站的转化率,增加商业利润,又可以减少用户到达理想商品的路径长度,增加用户购物的舒适度。
而利用本发明的技术方案,可以在推荐流程中获得更优的技术效果:
例如,在对待推荐的商品信息时,得到最终的用户权值向量E和商品的质量权值向量Q后,将用户和商品分别按照权值排序,取前1/10权值最高的用户作为优先用户(共m/10个),前1/10权值最高的商品作为高质商品(共n/10个)。在推荐流程中,则只需要利用这些优先用户和高质商品来做算法来计算相似度。实际计算中,可以只计算用户与优先用户的相似度,根据这些相似的优先用户的历史行为来给该用户做推荐,而不必计算所有用户两两之间的相似度,从而减少推荐算法的耗时,便于算法的实时化。
在商品信息推荐中,只需要采用优先用户的行为数据(如浏览、选购等)来计算商品的相似度,略去了大量影响较小的用户的噪音数据,最后计算出的商品推荐结果会更可靠,而且相似度的计算复杂度会降低两个数量级(从m×m降低至m×m/100)。
同理,与商品信息推荐流程类似,针对用户的个性化的信息推荐的计算流程,只需要使用高质商品的数据来计算用户的相似度,剔除了影响较小的商品,推荐效果会有提升,同时相似度的计算复杂度会降低两个数量级(从n×n降低至n×n/100)。
由此可见,该方案用于电子商务网站进行商品信息的推荐时,能够明显减少服务器计算资源损耗,降低商品信息的推荐计算的时间消耗,提高了信息推荐的效果和效率,更有利于网站平台对信息推荐的实时化。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

Claims (10)

1.一种信息推荐方法,其特征在于,包括如下步骤:
根据数据库中保存的用户行为数据,建立用户到待推荐的对象的m×n矩阵A,根据矩阵A的元素Aij确定每个用户对每个对象的行为权值;
其中,m为用户数量,n为对象数量,矩阵A的元素满足:
A_(ik)>A_(jk),k为同一对象,用户i对对象的行为比用户j更早产生;A_(ik)=0,用户i对对象k没有行为;
建立m维的用户权值向量E和n维的对象质量向量Q,并将两个向量的所有元素都初始化为1;其中,E表示用户的优先级权值,Q表示对象的质量权值;
将用户权值向量E和n维的对象质量向量Q进行迭代运算:
E:=Q×AT
Q:=E×A
其中,AT为矩阵A的转置矩阵;
将用户权值向量E的各个元素对应的用户和对象质量向量Q的各个元素对应的对象分别按照权值排序;依顺序提取前面比例为a的权值的用户设为优先用户,依顺序提取前面比例为a的权值的对象设为高质对象,其中,a<1;
根据所述优先用户和高质对象,采用基于对象的协同过滤方法或基于用户的协同过滤方法进行对象信息的推荐。
2.根据权利要求1所述的信息推荐方法,其特征在于,所述根据矩阵A的元素Aij确定每个用户对每个对象的行为权值的步骤包括:
建立用户的行为数据集合R;R={(u,p,t)},其中,集合R的每个元素(u,p,t)表示用户u在时间t对对象p的一个行为事件;
设定行为权值的数学表达式:
Aij=|{u|(u,pj,t),(ui,pj,ti)∈R∧(t>ti)}|;
其中,符号“∧”表示满足右边条件的元素,“u|”表示符合右边条件的任意用户,符号“||”表示集合里面的元素的个数;
根据所述数学表达式计算用户对对象的行为权值矩阵。
3.根据权利要求2所述的信息推荐方法,其特征在于,所述根据所述数学表达式计算用户对对象的行为权值矩阵的步骤包括:
将矩阵A初始化为m×n阶的零矩阵;
遍历所有行为数据集,搜索到一个用户i对对象j的行为数据时,则将元素Aij置1,并把矩阵A的第j列中所有非零元素自增1;
遍历完所有行为数据后,为防止最终结果的奇异化,再将矩阵A的非零元素进行平滑处理:
Aij:=log(1+Aij)
将平滑处理后的矩阵A确定作为用户对对象的行为权值矩阵。
4.根据权利要求1所述的信息推荐方法,其特征在于,所述将用户权值向量E和n维的对象质量向量Q进行迭代运算的步骤包括:
遍历向量E中的每个元素Ei
遍历矩阵A的第i行的每个元素Aij
将Aij乘以Qj,然后加到Ei上;
计算完所有E的元素后,开始计算Q,遍历向量Q的每个元素Qj
遍历矩阵A的第j列的每一个元素Aij
将Aij乘以Ei,加到Qj上;
反复进行以上计算,直至向量E和向量Q都收敛停止。
5.根据权利要求1所述的信息推荐方法,其特征在于,所述基于对象的协同过滤进行对象信息的推荐的步骤包括:
从数据库中查找出所有对象和优先用户的行为记录,生成对象向量P:
Pj=(Pj1,Pj2,…,Pju,…,Pjm*a)
其中,Pj为第j个对象向量,向量的每一个分量Pju表示对象j对应该优先用户u的行为权值;
计算所有高质对象之间的相似度:
Sij=∑u(Piu*Pju)/|Pi|*|Pj|
其中,|Pi|=∑uPiu,|Pj|=∑uPju,求和∑u是对所有优先用户u进行遍历的;
对于每一个对象i,根据计算的相似度进行排序,选择相似度Sij最大的前K个对象,设为对象i的推荐结果进行对象信息的推荐;
所述基于用户的协同过滤方法进行对象信息的推荐的步骤包括:
从数据库中查找出所有用户和高质对象的行为记录,生成用户向量C:
Cu=(Cu1,Cu2,…,Cui,…,Cun*a)
其中,Cu为第u个用户向量,向量的每一个分量Cui表示高质对象i对应该用户u的行为权值;
计算所有优先用户之间的相似度:
Wuv=∑i(Cui*Cvi)/|Pu|*|Pv|
其中,|Pu|=∑iPui,|Pv|=∑iPvi,求和∑i是对所有的高质对象i进行遍历的;
根据用户之间的相似度Wuv和用户向量Cu,并以用户间的相似度作为加权,计算针对用户u的对象i的被推荐的权值Rui
Rui=∑v(WuvCvi/∑iCvi)
将所有的对象i按照权值Rui进行排序,选择前K个对象对用户u进行对象信息的推荐。
6.一种信息推荐系统,其特征在于,包括:
矩阵生成模块,用于根据数据库中保存的用户行为数据,建立用户到待推荐的对象的m×n矩阵A,根据矩阵A的元素Aij确定每个用户对每个对象的行为权值;其中,m为用户数量,n为对象数量;矩阵A的元素满足:
A_(ik)>A_(jk),k为同一对象,用户i对对象的行为比用户j更早产生;A_(ik)=0,用户i对对象k没有行为;
向量生成模块,用于建立m维的用户权值向量E和n维的对象质量向量Q,并将两个向量的所有元素都初始化为1,其中,E表示用户的优先级权值,Q表示对象的质量权值;将用户权值向量E和n维的对象质量向量Q进行迭代运算:
E:=Q×AT
Q:=E×A
其中,AT为矩阵A的转置矩阵;
用户和对象提取模块,用于将用户权值向量E的各个元素对应的用户和对象质量向量Q的各个元素对应的对象分别按照权值排序;依顺序提取前面比例为a的权值的用户设为优先用户,依顺序提取前面比例为a的权值的对象设为高质对象,其中,a<1;
信息推荐模块,用于根据所述优先用户和高质对象,采用基于对象的协同过滤方法或基于用户的协同过滤方法进行对象信息的推荐。
7.根据权利要求6所述的信息推荐系统,其特征在于,所述矩阵生成模块用于根据矩阵A的元素Aij确定每个用户对每个对象的行为权值的方法具体包括:
建立用户的行为数据集合R;R={(u,p,t)},其中,集合R的每个元素(u,p,t)表示用户u在时间t对对象p的一个行为事件;
设定行为权值的数学表达式:
Aij=|{u|(u,pj,t),(ui,pj,ti)∈R∧(t>ti)}|;
其中,符号“∧”表示满足右边条件的元素,“u|”表示符合右边条件的任意用户,符号“||”表示集合里面的元素的个数;
根据所述数学表达式计算用户对对象的行为权值矩阵。
8.根据权利要求7所述的信息推荐系统,其特征在于,所述矩阵生成模块用于根据所述数学表达式计算用户对对象的行为权值矩阵的方法具体包括:
将矩阵A初始化为m×n阶的零矩阵;
遍历所有行为数据集,搜索到一个用户i对对象j的行为数据时,则将元素Aij置1,并把矩阵A的第j列中所有非零元素自增1;
遍历完所有行为数据后,为防止最终结果的奇异化,再将矩阵A的非零元素进行平滑处理:
Aij:=log(1+Aij)
将平滑处理后的矩阵A确定作为用户对对象的行为权值矩阵。
9.根据权利要求6所述的信息推荐系统,其特征在于,所述向量生成模块用于将用户权值向量E和n维的对象质量向量Q进行迭代运算的方法具体包括:
遍历向量E中的每个元素Ei
遍历矩阵A的第i行的每个元素Aij
将Aij乘以Qj,然后加到Ei上;
计算完所有E的元素后,开始计算Q,遍历向量Q的每个元素Qj
遍历矩阵A的第j列的每一个元素Aij
将Aij乘以Ei,加到Qj上;
反复进行以上计算,直至向量E和向量Q都收敛停止。
10.根据权利要求6所述的信息推荐系统,其特征在于,所述信息推荐模块用于基于对象的协同过滤进行对象信息的推荐的方法具体包括:
从数据库中查找出所有对象和优先用户的行为记录,生成对象向量P:
Pj=(Pj1,Pj2,…,Pju,…,Pjm*a)
其中,Pj为第j个对象向量,向量的每一个分量Pju表示对象j对应该优先用户u的行为权值;
计算所有高质对象之间的相似度:
Sij=∑u(Piu*Pju)/|Pi|*|Pj|
其中,|Pi|=∑uPiu,|Pj|=∑uPju,求和∑u是对所有优先用户u进行遍历的;
对于每一个对象i,根据计算的相似度进行排序,选择相似度Sij最大的前K个对象,设为对象i的推荐结果进行对象信息的推荐;
所述信息推荐模块用于基于用户的协同过滤方法进行对象信息的推荐的方法具体包括:
从数据库中查找出所有用户和高质对象的行为记录,生成用户向量C:
Cu=(Cu1,Cu2,…,Cui,…,Cun*a)
其中,Cu为第u个用户向量,向量的每一个分量Cui表示高质对象i对应该用户u的行为权值;
计算所有优先用户之间的相似度:
Wuv=∑i(Cui*Cvi)/|Pu|*|Pv|
其中,|Pu|=∑iPui,|Pv|=∑iPvi,求和∑i是对所有的高质对象i进行遍历的;
根据用户之间的相似度Wuv和用户向量Cu,并以用户间的相似度作为加权,计算针对用户u的对象i的被推荐的权值Rui
Rui=∑v(WuvCvi/∑iCvi)
将所有的对象i按照权值Rui进行排序,选择前K个对象对用户u进行对象信息的推荐。
CN201410038156.9A 2014-01-26 2014-01-26 信息推荐方法和系统 Active CN103810262B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410038156.9A CN103810262B (zh) 2014-01-26 2014-01-26 信息推荐方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410038156.9A CN103810262B (zh) 2014-01-26 2014-01-26 信息推荐方法和系统

Publications (2)

Publication Number Publication Date
CN103810262A CN103810262A (zh) 2014-05-21
CN103810262B true CN103810262B (zh) 2017-10-31

Family

ID=50707032

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410038156.9A Active CN103810262B (zh) 2014-01-26 2014-01-26 信息推荐方法和系统

Country Status (1)

Country Link
CN (1) CN103810262B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108121770B (zh) * 2017-11-30 2021-09-14 南京南邮信息产业技术研究院有限公司 一种基于移动端大数据的信息分类装置
JP7470315B2 (ja) * 2018-07-26 2024-04-18 グローバル ファイル システムズ インコーポレイテッド 類似性コホートに基づくユーザ管理型コンテンツおよび広告配信
CN111597223A (zh) * 2020-04-10 2020-08-28 神华国能集团有限公司 故障预警处理方法、装置及系统
CN111597450A (zh) * 2020-05-21 2020-08-28 深圳辉煌明天科技有限公司 大数据的智能分析系统及方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012118878A (ja) * 2010-12-02 2012-06-21 Ntt Docomo Inc リコメンドシステム及びリコメンド方法
CN103440341A (zh) * 2013-09-09 2013-12-11 广州品唯软件有限公司 信息推荐方法及装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012118878A (ja) * 2010-12-02 2012-06-21 Ntt Docomo Inc リコメンドシステム及びリコメンド方法
CN103440341A (zh) * 2013-09-09 2013-12-11 广州品唯软件有限公司 信息推荐方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
一种优化的协同过滤推荐算法;周军峰等;《计算机研究与发展》;20041031;第41卷(第10期);全文 *

Also Published As

Publication number Publication date
CN103810262A (zh) 2014-05-21

Similar Documents

Publication Publication Date Title
US11710054B2 (en) Information recommendation method, apparatus, and server based on user data in an online forum
CN106651542B (zh) 一种物品推荐的方法及装置
Teo et al. Adaptive, personalized diversity for visual discovery
CN107451894B (zh) 数据处理方法、装置和计算机可读存储介质
CN105095267B (zh) 一种用于用户参与项目的推荐方法及装置
TWI508011B (zh) Category information providing method and device
US10140342B2 (en) Similarity calculation system, method of calculating similarity, and program
CN109933721B (zh) 一种融合用户隐式物品偏好与隐式信任的可解释推荐方法
CN111428138A (zh) 一种课程推荐方法、系统、设备及存储介质
Niu et al. FUIR: Fusing user and item information to deal with data sparsity by using side information in recommendation systems
CN110555712B (zh) 商品关联程度确定方法及装置
WO2012039755A2 (en) Matching text sets
CN103810262B (zh) 信息推荐方法和系统
JP5507607B2 (ja) コンテンツ提供装置、低ランク近似行列生成装置、コンテンツ提供方法、低ランク近似行列生成方法およびプログラム
CN108470052B (zh) 一种基于矩阵补全的抗托攻击推荐算法
Li et al. A slope one collaborative filtering recommendation algorithm using uncertain neighbors optimizing
WO2018068648A1 (zh) 一种信息匹配方法及相关装置
CN104679835A (zh) 一种基于多视图哈希的图书推荐方法
CN109214882B (zh) 一种商品推荐方法
US20160224636A1 (en) Scalable system and method for weighted similarity estimation in massive datasets revealed in a streaming fashion
CN107169830B (zh) 一种基于聚类pu矩阵分解的个性化推荐方法
CN110085292B (zh) 药品推荐方法、装置及计算机可读存储介质
CN108304407B (zh) 一种进行对象排序的方法和系统
CN112948670B (zh) 基于用户行为偏好的平台交易推荐模型的构建方法
Varasteh et al. An Improved Hybrid Recommender System: Integrating Document Context-Based and Behavior-Based Methods

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20220112

Address after: 510000 Room 601, 128 Dingxin Road, Haizhu District, Guangzhou City, Guangdong Province (office only)

Patentee after: Vipshop (Guangzhou) Software Co.,Ltd.

Address before: 510370 self compiled buildings 1-5, No. 20, Huahai street, Fangcun, Liwan District, Guangzhou, Guangdong

Patentee before: GUANGZHOU PINWEI SOFTWARE Co.,Ltd.