CN102385586A - 多方协同过滤方法和系统 - Google Patents

多方协同过滤方法和系统 Download PDF

Info

Publication number
CN102385586A
CN102385586A CN2010102700518A CN201010270051A CN102385586A CN 102385586 A CN102385586 A CN 102385586A CN 2010102700518 A CN2010102700518 A CN 2010102700518A CN 201010270051 A CN201010270051 A CN 201010270051A CN 102385586 A CN102385586 A CN 102385586A
Authority
CN
China
Prior art keywords
parameter
participant
data
neighbour
collaborative filtering
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.)
Granted
Application number
CN2010102700518A
Other languages
English (en)
Other versions
CN102385586B (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.)
NEC China Co Ltd
Renesas Electronics China Co Ltd
Original Assignee
NEC China 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 NEC China Co Ltd filed Critical NEC China Co Ltd
Priority to CN201010270051.8A priority Critical patent/CN102385586B/zh
Publication of CN102385586A publication Critical patent/CN102385586A/zh
Application granted granted Critical
Publication of CN102385586B publication Critical patent/CN102385586B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提出了一种多数据方共同参与的协同过滤方法,包括:基于参与多方协同过滤的另一参与方所发布的每个第一参量的k-近邻集合,根据所拥有的数据,通过计算相邻性的度量值,得到与所发布的每个第一参量相同的每个第一参量的k-近邻集合;针对每个第一参量,确定所发布的k-近邻集合与所得到的k-近邻集合的交集;在所得到的k-近邻集合中,选择除了所述交集中的第一参量之外的第一数量的第一参量,构成第一集合;在所发布的k-近邻集合中,选择除了所述交集中的第一参量之外的第二数量的第一参量,构成第二集合;以及利用所拥有的数据,根据所述交集、所述第一集合和所述第二集合,估计第二参量与所述第一参量之间的估计评分。

Description

多方协同过滤方法和系统
技术领域
本发明涉及信息搜索领域中的协同过滤技术,更具体地,涉及一种兼顾隐私保护的多方协同过滤技术。
背景技术
面对互联网上面的海量信息,用户如何快速有效的获得自己感兴趣的那一部分信息,一直是互联网应用中研究的热点。通常情况下解决方案基于两种主要的思路:用户的主动搜索、以及系统的主动推荐。现在,尤其是在互联网电子商务领域,主动推荐技术作为核心营销手段已经得到了普遍的应用。推荐技术中最具代表性、也是最具实际操作性和应用最广泛的是协同过滤(Collaborative Filtering)技术。协同过滤基于搜集处理一群用户的兴趣信息,来完成对一个用户(user)兴趣的预测。协同过滤技术的基本假设是:在过去感兴趣的项目(item)一致的用户,在未来对其他项目也会更容易达成一致。
协同过滤技术虽已得到广泛使用,但是其仍有许多问题尚未得到解决,其中稀疏问题、以及新使用者/项目问题仍旧是研究界中的热点和难点问题。使用多方的数据一起进行协同过滤是解决此类问题的一种思路。不同数据方之间可能包含①相同的用户和不同的项目(比如,相同用户的购物信息及观影信息分别存储在电子购物网站Amazon上和电影网站MovieFinder上),或者是②相同的项目和不同的用户(比如,同一零售连锁店在不同区域的分店)。各协同过滤参与方的数据可以形成一定程度的互补,利于提高用户兴趣预测的准确度。但是,多方协同过滤引入了一个新的问题,则是用户隐私保护的问题。因为用户的兴趣属于用户的隐私,数据存储者在与其他数据方共享数据时应该确保用户的隐私不被泄漏。因此,如何在保护隐私的同时又能发挥多方数据的优势来得到更好的协同过滤的效果是多方协同过滤问题中的一个研究重点。
现有的兼顾隐私的多方协同过滤技术,多是基于单方协同过滤技术进行的扩展或变化。单方协同过滤技术主要分为两大类:基于记忆的(Memory-Based)和基于模型的(Model-Based)。基于记忆的单方协同过滤利用用户对项目的已有评价(或者评分)来计算用户之间或者项目之间的相似性,然后利用得到的相似性来向用户推荐项目。基于模型的单方协同过滤通过数据挖掘或者机器学习、基于已有的用户评价数据(可以看成“训练数据”)来得到预测模型,然后利用得到的模型来向用户推荐项目,模型学习方法包括贝叶斯网络、潜在语义模型等,。
参考文献1(US 7,685,232B2)提出了一种匿名的多方协同过滤方法,各参与方将自己的数据中的用户信息匿名化(例如,用无意义的代号代替用户姓名)后发给第三方服务器,第三方服务器汇集所有参与方的数据,形成用户-项目评分矩阵MR,将用户-项目评分矩阵MR分解成用户特征矩阵MU以及项目特征矩阵MI,即MR=MUMI,第三方服务器将分解得到的项目特征矩阵MI发送回各参与方,各参与方利用获得的项目特征矩阵,基于各自已有的评分数据,计算各自局部的用户特征向量,从而得到未评分数据的预测值,完成协同过滤。
参考文献2(Privacy-preserving collaborative filtering onvertically partitioned data(Huseyin Polat and Wenliang Du,PKDD2005))针对拥有相同用户不同项目的多个参与方之间的多方协同过滤给出了一种基于安全多方计算(Secure Multi-party Computing)的多方协同过滤方法,设计了参与方之间的安全通讯协议,用于在完成协同过滤计算的同时,各方之间交换的数据不会泄漏隐私。
参考文献3(Privacy-preserving collaborative filtering usingrandomized perturbation techniques(Huseyin Polat and Wenliang Du,ICDM 2003))提出了一种基于数据扰动的多方协同过滤方法,各参与方将自己的用户评价数据做随机扰动,然后将扰动后的数据发到第三方服务器,第三方服务器搜集到各参与方的扰动后的评价数据后使用传统的协同过滤技术完成预测,而采用的随机扰动的算法可保证最终协同过滤的结果逼近根据不加扰动的数据而得到的协同过滤结果。
如上所述,参考文献1和3都需要一个第三方服务器,这使得这两种方法在实际应用中都缺乏足够的灵活性和方便性。另外,参考文献1的隐私保护方法仅在于将用户简单匿名化,而实际上这种简单的匿名化在很多情形下并不能真正地保护用户隐私,尤其是在某些用户有一些特别的兴趣点的情况下,可以根据评分数据中的一些异常点来反推出用户的真实身份,而导致用户隐私的泄漏。参考文献3通过随机扰动的方法保护隐私,拥有随机扰动的通用缺点,即异常点暴露问题。参考文献2不需要第三方的参与,而是基于安全多方计算,这就需要各参与方在计算过程中频繁通讯,使得参与方之间过于耦合,实际应用时可操作性较差,而且安全通讯协议的采用会使计算效率大大降低。
发明内容
为了解决上述问题,本发明提出了一种多方协同过滤方法,使得在多方共同参与协同过滤的过程中,各参与方内部数据的相关用户隐私不会被泄露,又能够使得多方协同过滤的效果要优于只有单方数据时协同过滤的效果。
根据本发明,将参与方分成两种角色,参与方A利用自己及来自其他方的数据为自己的用户及项目进行评价预测,参与方B以保护隐私的方式将自己的数据提供给参与方A来帮助参与方A提高预测准确度。因此,本发明需要确保:参与方B在兼顾隐私保护的前提下,向参与方A提供有价值的数据;以及,参与方A利用参与方B提供的数据来改善自己的协同过滤效果。
根据本发明的第一方案,提出了一种用于多方协同过滤的数据发布方法,包括:根据所拥有的数据,通过计算相邻性的度量值,得到每个第一参量的k-近邻集合;以及发布所得到每个第一参量的k-近邻集合,以便参与多方协同过滤的其他参与方使用。
优选地,基于矩阵分解方法,得到每个第一参量的k-近邻集合;或者基于Pearson相关系数,得到每个第一参量的k-近邻集合。
优选地,基于矩阵分解方法得到每个第一参量的k-近邻集合包括:对由所拥有的数据构成的矩阵进行奇异值分解,得到表示所拥有的数据的第一参量的第一参量特征矩阵,所述第一参量特征矩阵由与每个第一参量对应的第一参量特征向量构成;以及针对与每个第一参量相对应的第一参量特征向量,计算所述第一参量特征向量与其他第一参量特征向量中的每一个的点积,作为这两个第一参量之间的相邻性的度量值;以及选择与所述第一参量之间的相邻性的度量值最大的k个第一参量,构成所述第一参量的k-近邻集合。
优选地,基于Pearson相关系数得到每个第一参量的k-近邻集合包括:针对每个第一参量,计算所述第一参量与其他第一参量中的每一个的Pearson相关系数,作为这两个第一参量之间的相邻性的度量值;以及选择与所述第一参量之间的相邻性的度量值最大的k个第一参量,构成所述第一参量的k-近邻集合。
优选地,发布所得到每个第一参量的k-近邻集合包括:将每个第一参量的k-近邻集合组合在一起,形成一个数据发布矩阵,然后发布所述数据发布矩阵。
优选地,所述第一参量是用户或项目。
根据本发明的第二方案,提出了一种多数据方共同参与的协同过滤方法,包括:基于参与多方协同过滤的另一参与方所发布的每个第一参量的k-近邻集合,根据所拥有的数据,通过计算相邻性的度量值,得到与所发布的每个第一参量相同的每个第一参量的k-近邻集合;针对每个第一参量,确定所发布的k-近邻集合与所得到的k-近邻集合的交集;在所得到的k-近邻集合中,选择除了所述交集中的第一参量之外的第一数量的第一参量,构成第一集合;在所发布的k-近邻集合中,选择除了所述交集中的第一参量之外的第二数量的第一参量,构成第二集合;以及利用所拥有的数据,根据所述交集、所述第一集合和所述第二集合,估计第二参量与所述第一参量之间的估计评分。
优选地,基于矩阵分解方法,得到每个第一参量的k-近邻集合;或者基于Pearson相关系数,得到每个第一参量的k-近邻集合。
优选地,基于矩阵分解方法得到每个第一参量的k-近邻集合包括:对由所拥有的数据构成的矩阵进行奇异值分解,得到表示所拥有的数据的第一参量的第一参量特征矩阵,所述第一参量特征矩阵由与每个第一参量对应的第一参量特征向量构成;以及针对与每个第一参量相对应的第一参量特征向量,计算所述第一参量特征向量与其他第一参量特征向量中的每一个的点积,作为这两个第一参量之间的相邻性的度量值;以及选择与所述第一参量之间的相邻性的度量值最大的k个第一参量,构成所述第一参量的k-近邻集合。
优选地,基于Pearson相关系数得到每个第一参量的k-近邻集合包括:针对每个第一参量,计算所述第一参量与其他第一参量中的每一个的Pearson相关系数,作为这两个第一参量之间的相邻性的度量值;以及选择与所述第一参量之间的相邻性的度量值最大的k个第一参量,构成所述第一参量的k-近邻集合。
优选地,所述第一数量与所述第二数量相等;或者所述第一数量与由所拥有的数据构成的矩阵的稀疏度成正比,而所述第二数量与由所述另一参与方所拥有的数据构成的矩阵的稀疏度成正比。
优选地,估计第二参量与所述第一参量之间的估计评分包括:针对每个第二参量,根据所拥有的数据,计算已与所述第一参量关联的所有第二参量与所述第一参量之间的评分的平均值;根据所拥有的数据,针对所述交集、所述第一集合和所述第二集合中的每一个第一参量,计算已与所述每一个第一参量关联的所有第二参量与所述每一个第一参量之间的评分的平均值;以及根据所得到的所述第一参量的平均评分值和所述每个第一参量的平均评分值、所述第二参量与所述每一个第一参量之间的评分、以及所述第一参量与所述每一个第一参量的相邻性的度量值,估计出所述每个第二参量与所述第一参量之间的估计评分。
优选地,所述协同过滤方法还包括:基于参与多方协同过滤的另一参与方所发布的每个第一参量的k-近邻集合,根据所拥有的数据,选择所发布的每个第一参量的k-近邻集合的子集和所拥有的数据的子集,以使得在所选择的这两个子集中,第一参量完全相同。
优选地,所述第一参量是用户或项目,以及所述第二参量是项目或用户。
根据本发明的第三方案,提出了一种多数据方共同参与的协同过滤系统,包括:发布参与方,用于根据自身所拥有的数据,得到并发布每个第一参量的k-近邻集合;和过滤参与方,用于根据自身所拥有的数据,得到与所述发布参与方所发布的每个第一参量相同的每个第一参量的k-近邻集合,并基于所述发布参与方所发布的k-近邻集合和所得到的k-近邻集合,估计第二参量与所述每个第一参量之间的估计评分。
优选地,所述过滤参与方针对每个第一参量,确定所述发布参与方所发布的k-近邻集合与所得到的k-近邻集合的交集;在所得到的k-近邻集合中,选择除了所述交集中的第一参量之外的第一数量的第一参量,构成第一集合;在所发布的k-近邻集合中,选择除了所述交集中的第一参量之外的第二数量的第一参量,构成第二集合;以及利用所拥有的数据,根据所述交集、所述第一集合和所述第二集合,估计所述第二参量与所述第一参量之间的估计评分。
优选地,所述发布参与方和所述过滤参与方基于矩阵分解方法,得到每个第一参量的k-近邻集合;或者基于Pearson相关系数,得到每个第一参量的k-近邻集合。
优选地,基于矩阵分解方法得到每个第一参量的k-近邻集合包括:对由所拥有的数据构成的矩阵进行奇异值分解,得到表示所拥有的数据的第一参量的第一参量特征矩阵,所述第一参量特征矩阵由与每个第一参量对应的第一参量特征向量构成;以及针对与每个第一参量相对应的第一参量特征向量,计算所述第一参量特征向量与其他第一参量特征向量中的每一个的点积,作为这两个第一参量之间的相邻性的度量值;以及选择与所述第一参量之间的相邻性的度量值最大的k个第一参量,构成所述第一参量的k-近邻集合。
优选地,基于Pearson相关系数得到每个第一参量的k-近邻集合包括:针对每个第一参量,计算所述第一参量与其他第一参量中的每一个的Pearson相关系数,作为这两个第一参量之间的相邻性的度量值;以及选择与所述第一参量之间的相邻性的度量值最大的k个第一参量,构成所述第一参量的k-近邻集合。
优选地,所述第一数量与所述第二数量相等;或者所述第一数量与由所述过滤参与方所拥有的数据构成的矩阵的稀疏度成正比,而所述第二数量与由所述发布参与方所拥有的数据构成的矩阵的稀疏度成正比。
优选地,所述过滤参与方估计第二参量与所述第一参量之间的估计评分包括:针对每个第二参量,根据所拥有的数据,计算已与所述第一参量关联的所有第二参量与所述第一参量之间的评分的平均值;根据所拥有的数据,针对所述交集、所述第一集合和所述第二集合中的每一个第一参量,计算已与所述每一个第一参量关联的所有第二参量与所述每一个第一参量之间的评分的平均值;以及根据所得到的所述第一参量的平均评分值和所述每个第一参量的平均评分值、所述第二参量与所述每一个第一参量之间的评分、以及所述第一参量与所述每一个第一参量的相邻性的度量值,估计出所述第二参量与所述第一参量之间的估计评分。
优选地,所述发布参与方将每个第一参量的k-近邻集合组合在一起,形成一个数据发布矩阵,然后发布所述数据发布矩阵。
优选地,所述过滤参与方还基于所述发布参与方所发布的每个第一参量的k-近邻集合,根据所拥有的数据,选择所发布的每个第一参量的k-近邻集合的子集和所拥有的数据的子集,以使得在所选择的这两个子集中,第一参量完全相同。
优选地,所述第一参量是用户或项目,以及所述第二参量是项目或用户。
本发明相对与已有的方案,既不需要第三方的参与,也不需要参与方之间紧密捆绑进行互相通信,这个特点使得该方法的灵活性和实际可用性大大增强。同时,根据本发明,参与方A可以利用参与方B公布的数据,使得参与方A得到更准确的预测结果,同时又保护了参与方B内用户的隐私。
附图说明
通过下面结合附图说明本发明的优选实施例,将使本发明的上述及其它目的、特征和优点更加清楚,其中:
图1是示出了可应用本发明的多方协同过滤场景的示意图;
图2是示出了参与方B发布项目特征信息的具体方法的流程图;
图3是示出了参与方A利用参与方B发布的项目特征信息进行协同过滤的具体方法的流程图;
图4是示出了参与方B发布用户特征信息的具体方法的流程图;以及
图5是示出了参与方B利用参与方A发布的用户特征信息进行协同过滤的具体方法的流程图。
具体实施方式
下面参照附图对本发明的优选实施例进行详细说明,在描述过程中省略了对于本发明来说是不必要的细节和功能,以防止对本发明的理解造成混淆。
图1是示出了可应用本发明的多方协同过滤场景的示意图。
参与方A与参与方B共同参与的任何一次协同过滤都可以分解为可以应用两个基本多方协同过滤的场景:①参与方A与参与方B项目相同,但用户不同;②参与方A与参与方B用户相同,但项目不同。参与方A与参与方B项目不同且用户不同的情形不属于可以应用多方协同过滤的场景,可参考任何已知的现有技术进行处理(或根本不进行处理)。本发明主要关注于参与方A与参与方B具有至少一个完全相同的参量(用户或项目)的情形。
对于场景①,参与方B需要保护的隐私信息是参与方B包含了哪些用户,参与方B公布的数据中不能明显或者潜在地泄漏用户身份;而对于场景②,由于参与方A和参与方B拥有相同的用户,参与方B拥有哪些用户已经不构成参与方B的隐私,则对于这种情形,参与方B不能泄漏用户关于参与方B的项目的兴趣偏好。
如图1所示,首先,(i)参与方B产生并发布满足隐私保护要求的数据,然后,(ii)参与方A利用参与方B发布的数据进行协同过滤,产生预测结果。参与方B发布的数据需要满足参与方B的隐私要求,同时又需要对参与方A提高预测准确度有帮助。
[基本协同过滤场景①]
对于基本协同过滤场景①(参与方A与参与方B项目相同,但用户不同),参与方B发布由参与方B数据得到的项目特征信息。由于项目特征信息不包含用户信息,因此可以保证参与方B用户隐私不会被泄露。
图2是示出了参与方B发布项目特征信息的具体方法的流程图。
在步骤S101,参与方B根据参与方B所拥有的数据,得到的每个项目i的k-近邻集合SBi(1×kB,1行kB列)。
参与方B可以采用多种方法来得到每个项目i的k-近邻集合SBi
例如,参与方B可以基于矩阵分解方法来获得每个项目i的k-近邻集合SBi
a)对由参与方B的评价数据组成的m×n(m个项目,n个用户)矩阵MB进行奇异值分解,得到MB=TBSBVB,其中TB是m×s矩阵,表示由参与方B的评价数据得到的项目特征矩阵,TB中的每一行是对应项目的特征向量;SB是s×s矩阵,其中s=rank(MB);VB是s×n矩阵,表示由参与方B的评价数据得到的用户特征矩阵,VB中的每一列是对应用户的特征向量;
b)对于项目i和任意一个其他项目κ,将项目特征向量矩阵TB中对应的项目特征向量做点积,作为项目i与这个项目κ的相邻性的度量值neighbor1(i,κ);
c)选择相邻性的度量值neighbor1(i,κ)最大的kB个项目(1≤kb≤m-1),构成项目i的k-近邻集合SBi
或者,参与方B可以基于Pearson相关系数来获得每个项目i的k-近邻集合SBi
a)基于参与方B的评价数据,计算项目i和任意一个其他项目κ之间的Pearson相关系数cor(i,κ),
cor ( i , κ ) = Σ t ∈ T iκ ( r ti - i ‾ ) ( r tκ - κ ‾ ) Σ t ∈ T iκ ( r ti - i ‾ ) 2 Σ t ∈ T iκ ( r tκ - κ ‾ ) 2 ,
其中T表示在参与方B中对项目i和κ均做出过评价的用户的集合,rti和r分别表示在参与方B中用户t对项目i和κ的评分,
Figure BSA00000255123100101
分别表示项目i和κ在参与方B中的已有评分的平均值。将该Pearson相关系数值cor(i,κ)作为项目i与这个项目κ的相邻性的度量值neighbor2(i,κ)=cot(i,κ);
b)选择相邻性的度量值neighbor2(i,κ)=cor(i,κ)最大的kB个项目(1≤kB≤m-1),构成项目i的k-近邻集合SBi
在步骤S102,参与方B将每个项目i的k-近邻集合SBi作为发布数据,发布给参与多方协同过滤的另一参与方(例如,参与方A)。例如,参与方B可以将每个项目i的k-近邻集合SBi组合在一起,形成一个kB×m的数据发布矩阵然后发布给参与方A。或者,参与方B也可以单独发布每个项目i的k-近邻集合SBi作为发布数据。
图3是示出了参与方A利用参与方B发布的项目特征信息进行协同过滤的具体方法的流程图。
在步骤S201,参与方A根据参与方A所拥有的数据,得到的每个项目i的k-近邻集合SAi(1×kA,1行kA列)。
参与方A可以采用多种方法来得到每个项目i的k-近邻集合SAi
例如,参与方A可以基于矩阵分解方法来获得每个项目i的k-近邻集合SAi
a)对由参与方A的评价数据组成的m×p(m个项目,p个用户)矩阵MA进行奇异值分解,得到MA=TASAVA,其中TA是m×q矩阵,表示由参与方A的评价数据得到的项目特征矩阵,TA中的每一行是对应项目的特征向量;SA是q×q矩阵,其中q=rank(MA);VA是q×p矩阵,表示由参与方A的评价数据得到的用户特征矩阵,VA中的每一列是对应用户的特征向量;
b)对于项目i和任意一个其他项目κ,将项目特征向量矩阵TA中对应的项目特征向量做点积,作为项目i与这个项目κ的相邻性的度量值neighbor1(i,κ)
c)选择相邻性的度量值neighbor1(i,κ)最大的kA个项目(1≤kA≤m-1),构成项目i的k-近邻集合SAi
或者,参与方A可以基于Pearson相关系数来获得每个项目i的k-近邻集合SAi
a)基于参与方A的评价数据,计算项目i和任意一个其他项目κ之间的Pearson相关系数cor(i,κ),
cor ( i , κ ) = Σ t ∈ T iκ ( r ti - i ‾ ) ( r tκ - κ ‾ ) Σ t ∈ T iκ ( r ti - i ‾ ) 2 Σ t ∈ T iκ ( r tκ - κ ‾ ) 2 ,
其中T表示在参与方A中对项目i和κ均做出过评价的用户的集合,rti和r分别表示在参与方A中用户t对项目i和κ的评分,
Figure BSA00000255123100113
分别表示项目i和κ在参与方A中的已有评分的平均值。将该Pearson相关系数值cor(i,κ)作为项目i与这个项目κ的相邻性的度量值neighbor2(i,κ)=cor(i,κ);
b)选择相邻性的度量值neighbor2(i,κ)最大的kA个项目(1≤kA≤m-1),构成项目i的k-近邻集合SAi
虽然参与方A和B分别执行了k-近邻集合SAi和SBi的确定和选择过程,但是,这两个集合中的元素个数kA=|SAi|和kB=|SBi|可以相同也可以不同。以下,为了描述的方便,以kA=kB=k的情况为例,进行本发明的详细描述,但这并不影响本领域普通技术人员将本发明应用于kA≠kB的情况。
在步骤S202,参与方A针对每个项目i,确定在步骤S201中所得到该项目i的k-近邻集合SAi与从参与方B接收到的该项目i的k-近邻集合SBi的交集Si=SAi∩SBi,si表示交集Si中元素的个数,即si=|Si|。交集Si中的元素将作为参与方A与参与方B协同得到的项目特征被用于参与方A的预测处理。
在步骤S203,参与方A针对每个项目i,在步骤S201中所得到的该项目i的k-近邻集合SAi中除了交集Si中的元素外再选取kAi个项目,构成集合SSAi,即SSAi={{SAi-Si}中与项目i最近邻的kAi个项目},以及在从参与方B接收到的该项目i的k-近邻集合SBi中除了交集Si中的元素外再选取kBi个项目,构成集合SSBi,即SSBi={{SBi-Si}中与项目i最近邻的kBi个项目},其中0≤kAi≤k-si,0≤kBi≤k-si。集合SSAi和SSBi中的元素将作为参与方A和参与方B各自不同的项目特征被用于参与方A的预测处理。
参与方A可以采用多种方法来确定集合SSAi和SSBi中的元素个数kAi和kBi
例如,参与方A可以选择:
或者
Figure BSA00000255123100122
也可以选择:
Figure BSA00000255123100123
或者
Figure BSA00000255123100124
kBi=k-si-kAi
或者,参与方A可以根据由参与方A和参与方B各自的评价数据组成的矩阵MA和MB的稀疏度ρA和ρB,来确定kAi和kBi的值,例如:
Figure BSA00000255123100125
或者
Figure BSA00000255123100126
kBi=k-si-kAi
但是,基于稀疏度ρA和ρB来确定kAi和kBi的计算方法并不局限于上述公式。理论上,如果ρB>ρA,参与方B的项目特征应该被更加充分地利用;如果ρB<ρA,则参与方A自身的项目特征应该更占主导地位;在ρB=ρA时,参与方A和参与方B的项目特征应该具有大体均等的权重。
在这种情况下,参与方A的评价数据的稀疏度ρA可以由参与方A自行计算,而参与方B的评价数据的稀疏度ρB则需要由参与方B计算得出并提供给参与方A。
在步骤S204,参与方A利用自身的评价数据,根据集合Si、SSAi和SSBi,估计尚未对项目i进行评分的用户u对项目i的估计评分
Figure BSA00000255123100127
首先,参与方A确定项目i目前的平均得分值
Figure BSA00000255123100128
i ‾ = Σ v ∈ U i r vi | U i |
其中Ui代表已经对项目i进行过评分的所有用户的集合,rvi代表用户v对项目i的评分。
然后,参与方A类似地确定集合Si、SSAi和SSBi中的各个项目j目前的平均得分值
Figure BSA00000255123100131
最后,参与方A根据项目i和项目j的平均得分值
Figure BSA00000255123100132
Figure BSA00000255123100133
用户u对项目j的评分ruj、以及项目i和项目j的相邻性neighbor(i,j),估计出尚未对项目i进行过评分的用户u对项目i的估计评分
Figure BSA00000255123100134
例如,参与方A可以根据下述公式确定估计评分
Figure BSA00000255123100135
r ~ ui = i ‾ + Σ j ∈ S i ∪ SSA i ∪ SSB i neighbor ( i , j ) × ( r uj - j ‾ ) Σ j ∈ S i ∪ SSA i ∪ SSB i neighbor ( i , j )
参与方A可以采用多种方法来得到项目i和项目j的相邻性neighbor(i,j),例如,可以采用步骤S201中的相邻性的度量值neighbor1(i,j)或neighbor2(i,j)=cor(i,j)。
[基本协同过滤场景②]
对于基本协同过滤场景②(参与方A与参与方B用户相同,但项目不同),这种情形下,由于参与方B拥有哪些用户已经不构成参与方B的隐私,则参与方B需要保护的是用户对项目的具体评价数据。参与方B可以发布每个用户的k-近邻集合,这样就能够保证参与方B的用户对项目的具体评价数据不会被泄露。由于在协同过滤的处理过程中,参量(项目和用户)的地位可以进行互换,基本协同过滤场景②的处理过程等同于将上面基本协同过滤场景①的处理过程中的“用户”与“项目”对调而得到的协同过滤处理过程。
图4是示出了参与方B发布用户特征信息的具体方法的流程图。
在步骤S301,参与方B根据参与方B所拥有的数据,得到的每个用户u的k-近邻集合SBu(kB×1,kB行1列)。
参与方B可以采用多种方法来得到每个用户u的k-近邻集合SBu
例如,参与方B可以基于矩阵分解方法来获得每个用户u的k-近邻集合SBu
a)对由参与方B的评价数据组成的m×n(m个项目,n个用户)矩阵MB进行奇异值分解,得到MB=TBSBVB,其中TB是m×s矩阵,表示由参与方B的评价数据得到的项目特征矩阵,TB中的每一行是对应项目的特征向量;SB是s×s矩阵,其中s=rank(MB);VB是s×n矩阵,表示由参与方B的评价数据得到的用户特征矩阵,VB中的每一列是对应用户的特征向量;
b)对于用户u和任意一个其他用户κ,将用户特征向量矩阵VB中对应的用户特征向量做点积,作为用户u与这个用户κ的相邻性的度量值neighbor1(u,κ);
c)选择相邻性的度量值neighbor1(u,κ)最大的kB个用户(1≤kB≤n-1),构成用户u的k-近邻集合SBu
或者,参与方B可以基于Pearson相关系数来获得每个用户u的k-近邻集合SBu
a)基于参与方B的评价数据,计算用户u和任意一个其他用户κ之间的Pearson相关系数cor(u,κ),
cor ( u , κ ) = Σ s ∈ S uκ ( r us - u ‾ ) ( r κs - κ ‾ ) Σ s ∈ S uκ ( r us - u ‾ ) 2 Σ s ∈ S uκ ( r κs - κ ‾ ) 2 ,
其中S表示在参与方B中用户u和κ均做出过评价的项目的集合,rus和rκs分别表示在参与方B中用户i和κ对项目s的评分,
Figure BSA00000255123100142
Figure BSA00000255123100143
分别表示用户u和κ在参与方B中的已有评分的平均值。将该Pearson相关系数值cor(u,κ)作为用户u与这个用户κ的相邻性的度量值neighbor2(u,κ)=cor(u,κ);
b)选择相邻性的度量值neighbor2(u,κ)=cor(u,κ)最大的kB个用户(1≤kB≤n-1),构成用户u的k-近邻集合SBu
在步骤S302,参与方B将每个用户u的k-近邻集合SBu作为发布数据,发布给参与多方协同过滤的另一参与方(例如,参与方A)。例如,参与方B可以将每个用户u的k-近邻集合SBi组合在一起,形成一个kB×n的数据发布矩阵[SB1…SBu…SBn],然后发布给参与方A。或者,参与方B也可以单独发布每个用户u的k-近邻集合SBu作为发布数据。
图5是示出了参与方A利用参与方B发布的用户特征信息进行协同过滤的具体方法的流程图。
在步骤S401,参与方A根据参与方A所拥有的数据,得到的每个用户u的k-近邻集合SAu(kA×1,kA行1列)。
参与方A可以采用多种方法来得到每个用户u的k-近邻集合SAu
例如,参与方A可以基于矩阵分解方法来获得每个用户u的k-近邻集合SAu
a)对由参与方A的评价数据组成的p×n(p个项目,n个用户)矩阵MA进行奇异值分解,得到MA=TASAVA,其中TA是p×q矩阵,表示由参与方A的评价数据得到的项目特征矩阵,TA中的每一行是对应项目的特征向量;SA是q×q矩阵,其中q=rank(MA);VA是q×n矩阵,表示由参与方A的评价数据得到的用户特征矩阵,VA中的每一列是对应用户的特征向量;
b)对于用户u和任意一个其他用户κ,将用户特征向量矩阵VA中对应的用户特征向量做点积,即可得到用户u与这个用户κ的相邻性的度量值neighbor1(u,κ)
c)选择相邻性的度量值neighbor1(u,κ)最大的kA个用户(1≤kA≤n-1),构成用户u的k-近邻集合SAu
或者,参与方A可以基于Pearson相关系数来获得每个用户u的k-近邻集合SAi
a)基于参与方A的评价数据,计算用户u和任意一个其他用户κ之间的Pearson相关系数cor(u,κ),
cor ( u , κ ) = Σ s ∈ S uκ ( r us - u ‾ ) ( r κs - κ ‾ ) Σ s ∈ S uκ ( r us - u ‾ ) 2 Σ s ∈ S uκ ( r κs - κ ‾ ) 2 ,
其中S表示在参与方A中用户u和κ均做出过评价的项目的集合,rus和rκs分别表示在参与方A中用户i和κ对项目s的评分,分别表示用户u和κ在参与方A中的已有评分的平均值。将该Pearson相关系数值cor(u,κ)作为用户u与这个用户κ的相邻性的度量值neighbor2(u,κ)=cor(u,κ);
b)选择相邻性的度量值neighbor2(u,κ)最大的kA个用户(1≤kA≤n-1),构成用户u的k-近邻集合SAu
虽然参与方A和B分别执行了k-近邻集合SAu和SBu的确定和选择过程,但是,这两个集合中的元素个数kA=|SAu|和kB=|SBu|可以相同也可以不同。以下,为了描述的方便,以kA=kB=k的情况为例,进行本发明的详细描述,但这并不影响本领域普通技术人员将本发明应用于kA≠kB的情况。
在步骤S402,参与方A针对每个用户u,确定在步骤S401中所得到该用户u的k-近邻集合SAu与从参与方B接收到的该用户u的k-近邻集合SBu的交集Su=SAu∩SBu,su表示交集Su中元素的个数,即su=|Su|。交集Su中的元素将作为参与方A与参与方B协同得到的用户特征被用于参与方A的预测处理。
在步骤S403,参与方A针对每个用户u,在步骤S401中所得到的该用户u的k-近邻集合SAu中除了交集Su中的元素外再选取kAu个用户,构成集合SSAu,即SSAu={{SAu-Su}中与用户u最近邻的kAu个用户},以及在从参与方B接收到的该用户u的k-近邻集合SBu中除了交集Su中的元素外再选取kBu个用户,构成集合SSBu,即SSBu={{SBu-Su}中与用户u最近邻的kBu个用户},其中0≤kAu≤k-su,0≤kBu≤k-su。集合SSAu和SSBu中的元素将作为参与方A和参与方B各自不同的用户特征被用于参与方A的预测处理。
参与方A可以采用多种方法来确定集合SSAu和SSBu中的元素个数kAu和kBu
例如,参与方A可以选择:
或者
Figure BSA00000255123100162
也可以选择:
Figure BSA00000255123100163
或者
Figure BSA00000255123100164
kBu=k-su-kAu
或者,参与方A可以根据由参与方A和参与方B各自的评价数据的组成的矩阵MA和MB稀疏度ρA和ρB,来确定kAu和kBu的值,例如:
Figure BSA00000255123100171
或者
Figure BSA00000255123100172
kBu=k-su-kAu
但是,基于稀疏度ρA和ρB来确定kAu和kBu的计算方法并不局限于上述公式。理论上,如果ρB>ρA,参与方B的用户特征应该被更加充分地利用;如果ρB<ρA,则参与方A自身的用户特征应该更占主导地位;在ρB=ρA时,参与方A和参与方B的用户特征应该具有大体均等的权重。
在这种情况下,参与方A的评价数据的稀疏度ρA可以由参与方A自行计算,而参与方B的评价数据的稀疏度ρB则需要由参与方B计算得出并提供给参与方A。
在步骤S404,参与方A利用自身的评价数据,根据集合Su、SSAu和SSBu,估计尚未对项目i进行评分的用户u对项目i的估计评分
Figure BSA00000255123100173
首先,参与方A确定用户u目前的平均评分值
Figure BSA00000255123100174
u ‾ = Σ j ∈ I u r uj | I u |
其中Iu代表用户u已经进行过评分的所有项目的集合,ruj代表用户u对项目j的评分。
然后,参与方A类似地确定集合Su、SSAu和SSBu中的各个用户v目前的平均评分值
最后,参与方A根据用户u和用户v的平均评分值
Figure BSA00000255123100177
Figure BSA00000255123100178
用户v对项目i的评分rvi、以及用户u和用户v的相邻性neighbor(u,v),估计出尚未对项目i进行过评分的用户u对项目i的估计评分
Figure BSA00000255123100179
例如,参与方A可以根据下述公式确定估计评分
Figure BSA000002551231001710
r ~ ui = u ‾ + Σ v ∈ S u ∪ SSA u ∪ SSB u neighbor ( u , v ) × ( v ‾ - r vi ) Σ v ∈ S u ∪ SSA u ∪ SSB u neighbor ( u , v )
参与方A可以采用多种方法来得到用户u和用户v的相邻性neighbor(u,v),例如,可以采用步骤S401中的相邻性的度量值neighbor1(u,v)或neighbor2(u,v)=cor(u,v)。
[改进1]
在参与方A能够与参与方B进行协商通信的情况下,参与方B可以根据参与方A的要求提供参与方A所需的数据,参与方A可以直接按照上述基本协同过滤场景①或②的需求,请求参与方B提供相应的数据,因此,参与方A可以基于参与方B提供的数据,执行基本协同过滤场景①中的步骤S201~S204或者基本协同过滤场景②中的步骤S401~S404,实现本发明的多方协同过滤处理。
另一方面,在参与方B主动发布数据的情况下,由于参与方B不受参与方A的控制,所发布的数据完全由参与方B决定。此时,参与方A可能无法得到与参与方A本身的评价数据的用户相同或项目相同的发布数据。在这种情况下,参与方A仅需根据自身评价数据的用户和项目情况以及参与方B所发布的数据的情况,选择自身评价数据的子集和发布数据的子集,使之满足至少一个参量(用户或项目)完全相同的情形,并基于所选择的这两个子集中的数据,执行基本协同过滤场景①中的步骤S201~S204或者基本协同过滤场景②中的步骤S401~S404,也可以实现本发明的多方协同过滤处理。
[改进2]
参与方B也可以同时提供可用于上述基本协同过滤场景①和②的两种发布数据。
此时,参与方A可以同时并行应用上述基本协同过滤场景①和②中的步骤S201~S204和步骤S401~S404,并根据并行处理的结果,综合确定尚未对项目i进行评分的用户u对项目i的估计评分
Figure BSA00000255123100181
或者,参与方A可以先应用上述基本协同过滤场景①和②之一中的相应处理(步骤S201~S204或步骤S401~S404),再基于先执行的多方协同过滤处理的处理结果,执行上述基本协同过滤场景①和②中的另一个(步骤S401~S404或步骤S201~S204),综合确定尚未对项目i进行评分的用户u对项目i的估计评分
Figure BSA00000255123100182
这里所公开的本发明实施例的其他设置包括执行在先概述并随后详述的方法实施例的步骤和操作的软件程序。更具体地,计算机程序产品是如下的一种实施例:具有计算机可读介质,计算机可读介质上编码有计算机程序逻辑,当在计算设备上执行时,计算机程序逻辑提供相关的操作,从而提供上述多方协同过滤方案。当在计算系统的至少一个处理器上执行时,计算机程序逻辑使得处理器执行本发明实施例所述的操作(方法)。本发明的这种设置典型地提供为设置或编码在例如光介质(例如CD-ROM)、软盘或硬盘等的计算机可读介质上的软件、代码和/或其他数据结构、或者诸如一个或多个ROM或RAM或PROM芯片上的固件或微代码的其他介质、或专用集成电路(ASIC)、或一个或多个模块中的可下载的软件图像、共享数据库等。软件或固件或这种配置可安装在计算设备上,以使得计算设备中的一个或多个处理器执行本发明实施例所述的技术。结合诸如一组数据通信设备或其他实体中的计算设备进行操作的软件过程也可以提供根据本发明的系统。根据本发明的系统也可以分布在多个数据通信设备上的多个软件过程、或者在一组小型专用计算机上运行的所有软件过程、或者单个计算机上运行的所有软件过程之间。
应该理解,严格地讲,本发明的实施例可以实现为数据处理设备上的软件程序、软件和硬件、或者单独的软件和/或单独的电路。
至此已经结合优选实施例对本发明进行了描述。应该理解,本领域技术人员在不脱离本发明的精神和范围的情况下,可以进行各种其它的改变、替换和添加。因此,本发明的范围不局限于上述特定实施例,而应由所附权利要求所限定。

Claims (24)

1.一种用于多方协同过滤的数据发布方法,包括:
根据所拥有的数据,通过计算相邻性的度量值,得到每个第一参量的k-近邻集合;以及
发布所得到每个第一参量的k-近邻集合,以便参与多方协同过滤的其他参与方使用。
2.根据权利要求1所述的数据发布方法,其中
基于矩阵分解方法,得到每个第一参量的k-近邻集合;或者
基于Pearson相关系数,得到每个第一参量的k-近邻集合。
3.根据权利要求2所述的数据发布方法,其中基于矩阵分解方法得到每个第一参量的k-近邻集合包括:
对由所拥有的数据构成的矩阵进行奇异值分解,得到表示所拥有的数据的第一参量的第一参量特征矩阵,所述第一参量特征矩阵由与每个第一参量对应的第一参量特征向量构成;以及
针对与每个第一参量相对应的第一参量特征向量,
计算所述第一参量特征向量与其他第一参量特征向量中的每一个的点积,作为这两个第一参量之间的相邻性的度量值;以及
选择与所述第一参量之间的相邻性的度量值最大的k个第一参量,构成所述第一参量的k-近邻集合。
4.根据权利要求2所述的数据发布方法,其中基于Pearson相关系数得到每个第一参量的k-近邻集合包括:
针对每个第一参量,
计算所述第一参量与其他第一参量中的每一个的Pearson相关系数,作为这两个第一参量之间的相邻性的度量值;以及
选择与所述第一参量之间的相邻性的度量值最大的k个第一参量,构成所述第一参量的k-近邻集合。
5.根据权利要求1~4之一所述的数据发布方法,其中发布所得到每个第一参量的k-近邻集合包括:
将每个第一参量的k-近邻集合组合在一起,形成一个数据发布矩阵,然后发布所述数据发布矩阵。
6.根据权利要求1~5之一所述的数据发布方法,其中
所述第一参量是用户或项目。
7.一种多数据方共同参与的协同过滤方法,包括:
基于参与多方协同过滤的另一参与方所发布的每个第一参量的k-近邻集合,根据所拥有的数据,通过计算相邻性的度量值,得到与所发布的每个第一参量相同的每个第一参量的k-近邻集合;
针对每个第一参量,
确定所发布的k-近邻集合与所得到的k-近邻集合的交集;
在所得到的k-近邻集合中,选择除了所述交集中的第一参量之外的第一数量的第一参量,构成第一集合;
在所发布的k-近邻集合中,选择除了所述交集中的第一参量之外的第二数量的第一参量,构成第二集合;以及
利用所拥有的数据,根据所述交集、所述第一集合和所述第二集合,估计第二参量与所述第一参量之间的估计评分。
8.根据权利要求7所述的协同过滤方法,其中
基于矩阵分解方法,得到每个第一参量的k-近邻集合;或者
基于Pearson相关系数,得到每个第一参量的k-近邻集合。
9.根据权利要求8所述的协同过滤方法,其中基于矩阵分解方法得到每个第一参量的k-近邻集合包括:
对由所拥有的数据构成的矩阵进行奇异值分解,得到表示所拥有的数据的第一参量的第一参量特征矩阵,所述第一参量特征矩阵由与每个第一参量对应的第一参量特征向量构成;以及
针对与每个第一参量相对应的第一参量特征向量,
计算所述第一参量特征向量与其他第一参量特征向量中的每一个的点积,作为这两个第一参量之间的相邻性的度量值;以及
选择与所述第一参量之间的相邻性的度量值最大的k个第一参量,构成所述第一参量的k-近邻集合。
10.根据权利要求8所述的协同过滤方法,其中基于Pearson相关系数得到每个第一参量的k-近邻集合包括:
针对每个第一参量,
计算所述第一参量与其他第一参量中的每一个的Pearson相关系数,作为这两个第一参量之间的相邻性的度量值;以及
选择与所述第一参量之间的相邻性的度量值最大的k个第一参量,构成所述第一参量的k-近邻集合。
11.根据权利要求7所述的协同过滤方法,其中
所述第一数量与所述第二数量相等;或者
所述第一数量与由所拥有的数据构成的矩阵的稀疏度成正比,而所述第二数量与由所述另一参与方所拥有的数据构成的矩阵的稀疏度成正比。
12.根据权利要求7所述的协同过滤方法,其中估计第二参量与所述第一参量之间的估计评分包括:
针对每个第二参量,
根据所拥有的数据,计算已与所述第一参量关联的所有第二参量与所述第一参量之间的评分的平均值;
根据所拥有的数据,针对所述交集、所述第一集合和所述第二集合中的每一个第一参量,计算已与所述每一个第一参量关联的所有第二参量与所述每一个第一参量之间的评分的平均值;以及
根据所得到的所述第一参量的平均评分值和所述每个第一参量的平均评分值、所述第二参量与所述每一个第一参量之间的评分、以及所述第一参量与所述每一个第一参量的相邻性的度量值,估计出所述第二参量与所述第一参量之间的估计评分。
13.根据权利要求7~12之一所述的协同过滤方法,还包括:
基于参与多方协同过滤的另一参与方所发布的每个第一参量的k-近邻集合,根据所拥有的数据,选择所发布的每个第一参量的k-近邻集合的子集和所拥有的数据的子集,以使得在所选择的这两个子集中,第一参量完全相同。
14.根据权利要求7~13之一所述的协同过滤方法,其中
所述第一参量是用户或项目,以及所述第二参量是项目或用户。
15.一种多数据方共同参与的协同过滤系统,包括:
发布参与方,用于根据自身所拥有的数据,得到并发布每个第一参量的k-近邻集合;和
过滤参与方,用于根据自身所拥有的数据,得到与所述发布参与方所发布的每个第一参量相同的每个第一参量的k-近邻集合,并基于所述发布参与方所发布的k-近邻集合和所得到的k-近邻集合,估计第二参量与所述每个第一参量之间的估计评分。
16.根据权利要求15所述的协同过滤系统,其中所述过滤参与方针对每个第一参量,
确定所述发布参与方所发布的k-近邻集合与所得到的k-近邻集合的交集;
在所得到的k-近邻集合中,选择除了所述交集中的第一参量之外的第一数量的第一参量,构成第一集合;
在所发布的k-近邻集合中,选择除了所述交集中的第一参量之外的第二数量的第一参量,构成第二集合;以及
利用所拥有的数据,根据所述交集、所述第一集合和所述第二集合,估计所述第二参量与所述第一参量之间的估计评分。
17.根据权利要求15所述的协同过滤系统,其中所述发布参与方和所述过滤参与方
基于矩阵分解方法,得到每个第一参量的k-近邻集合;或者
基于Pearson相关系数,得到每个第一参量的k-近邻集合。
18.根据权利要求17所述的协同过滤系统,其中基于矩阵分解方法得到每个第一参量的k-近邻集合包括:
对由所拥有的数据构成的矩阵进行奇异值分解,得到表示所拥有的数据的第一参量的第一参量特征矩阵,所述第一参量特征矩阵由与每个第一参量对应的第一参量特征向量构成;以及
针对与每个第一参量相对应的第一参量特征向量,
计算所述第一参量特征向量与其他第一参量特征向量中的每一个的点积,作为这两个第一参量之间的相邻性的度量值;以及
选择与所述第一参量之间的相邻性的度量值最大的k个第一参量,构成所述第一参量的k-近邻集合。
19.根据权利要求17所述的协同过滤系统,其中基于Pearson相关系数得到每个第一参量的k-近邻集合包括:
针对每个第一参量,
计算所述第一参量与其他第一参量中的每一个的Pearson相关系数,作为这两个第一参量之间的相邻性的度量值;以及
选择与所述第一参量之间的相邻性的度量值最大的k个第一参量,构成所述第一参量的k-近邻集合。
20.根据权利要求16所述的协同过滤系统,其中
所述第一数量与所述第二数量相等;或者
所述第一数量与由所述过滤参与方所拥有的数据构成的矩阵的稀疏度成正比,而所述第二数量与由所述发布参与方所拥有的数据构成的矩阵的稀疏度成正比。
21.根据权利要求15或16所述的协同过滤系统,其中所述过滤参与方估计第二参量与所述第一参量之间的估计评分包括:
针对每个第二参量,
根据所拥有的数据,计算已与所述第一参量关联的所有第二参量与所述第一参量之间的评分的平均值;
根据所拥有的数据,针对所述交集、所述第一集合和所述第二集合中的每一个第一参量,计算已与所述每一个第一参量关联的所有第二参量与所述每一个第一参量之间的评分的平均值;以及
根据所得到的所述第一参量的平均评分值和所述每个第一参量的平均评分值、所述第二参量与所述每一个第一参量之间的评分、以及所述第一参量与所述每一个第一参量的相邻性的度量值,估计出所述第二参量与所述第一参量之间的估计评分。
22.根据权利要求15~21之一所述的协同过滤系统,其中所述发布参与方将每个第一参量的k-近邻集合组合在一起,形成一个数据发布矩阵,然后发布所述数据发布矩阵。
23.根据权利要求15~22之一所述的协同过滤系统,其中所述过滤参与方还基于所述发布参与方所发布的每个第一参量的k-近邻集合,根据所拥有的数据,选择所发布的每个第一参量的k-近邻集合的子集和所拥有的数据的子集,以使得在所选择的这两个子集中,第一参量完全相同。
24.根据权利要求15~23之一所述的协同过滤系统,其中
所述第一参量是用户或项目,以及所述第二参量是项目或用户。
CN201010270051.8A 2010-08-27 2010-08-27 多方协同过滤方法和系统 Expired - Fee Related CN102385586B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201010270051.8A CN102385586B (zh) 2010-08-27 2010-08-27 多方协同过滤方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201010270051.8A CN102385586B (zh) 2010-08-27 2010-08-27 多方协同过滤方法和系统

Publications (2)

Publication Number Publication Date
CN102385586A true CN102385586A (zh) 2012-03-21
CN102385586B CN102385586B (zh) 2014-03-19

Family

ID=45825007

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201010270051.8A Expired - Fee Related CN102385586B (zh) 2010-08-27 2010-08-27 多方协同过滤方法和系统

Country Status (1)

Country Link
CN (1) CN102385586B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103019860A (zh) * 2012-12-05 2013-04-03 北京奇虎科技有限公司 基于协同过滤的处理方法和系统
CN104933156A (zh) * 2015-06-25 2015-09-23 西安理工大学 一种基于共享近邻聚类的协同过滤方法
CN109446420A (zh) * 2018-10-17 2019-03-08 青岛科技大学 一种跨域协同过滤方法和系统
CN110110229A (zh) * 2019-04-25 2019-08-09 深圳前海微众银行股份有限公司 一种信息推荐方法及装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040176966A1 (en) * 2003-03-05 2004-09-09 Qiming Chen Method and system for generating recommendations
CN101685458A (zh) * 2008-09-27 2010-03-31 华为技术有限公司 一种基于协同过滤的推荐方法和系统

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040176966A1 (en) * 2003-03-05 2004-09-09 Qiming Chen Method and system for generating recommendations
CN101685458A (zh) * 2008-09-27 2010-03-31 华为技术有限公司 一种基于协同过滤的推荐方法和系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
YEHUDA KOREN: "Factorization Meets the Neighborhood: a Multifaceted Collaborative Filtering Model", 《PROCEEDINGS OF 14TH ACM SIGKDD INTERNATIONAL CONFERENCE ON KNOWLEDGE DISCOVERY AND DATA MINING》, 31 December 2008 (2008-12-31), pages 426 - 434 *
孙小华: "协同过滤系统的稀疏性与冷启动问题研究", 《浙江大学博士学位论文》, 15 May 2006 (2006-05-15) *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103019860A (zh) * 2012-12-05 2013-04-03 北京奇虎科技有限公司 基于协同过滤的处理方法和系统
CN103019860B (zh) * 2012-12-05 2015-12-09 北京奇虎科技有限公司 基于协同过滤的处理方法和系统
CN104933156A (zh) * 2015-06-25 2015-09-23 西安理工大学 一种基于共享近邻聚类的协同过滤方法
CN109446420A (zh) * 2018-10-17 2019-03-08 青岛科技大学 一种跨域协同过滤方法和系统
CN109446420B (zh) * 2018-10-17 2022-01-25 青岛科技大学 一种跨域协同过滤方法和系统
CN110110229A (zh) * 2019-04-25 2019-08-09 深圳前海微众银行股份有限公司 一种信息推荐方法及装置

Also Published As

Publication number Publication date
CN102385586B (zh) 2014-03-19

Similar Documents

Publication Publication Date Title
Jiang et al. A trust-based collaborative filtering algorithm for E-commerce recommendation system
Yang et al. Friend or frenemy? Predicting signed ties in social networks
Ziegler et al. Analyzing correlation between trust and user similarity in online communities
Dereli et al. A novel approach for assessment of candidate technologies with respect to their innovation potentials: Quick innovation intelligence process
Ren et al. Lazy collaborative filtering for data sets with missing values
Wan et al. Information propagation model based on hybrid social factors of opportunity, trust and motivation
Liao et al. Joint modeling of participant influence and latent topics for recommendation in event-based social networks
CN110932962B (zh) 一种基于矩阵分解的网络结构去匿名化系统及方法
CN108133390A (zh) 用于预测用户行为的方法和装置以及计算设备
CN108053050A (zh) 点击率预估方法、装置、计算设备及存储介质
Zhao et al. Social recommendation incorporating topic mining and social trust analysis
Srba et al. Utilizing non-qa data to improve questions routing for users with low qa activity in cqa
US20090138443A1 (en) Method and system for searching for a knowledge owner in a network community
CN102385586B (zh) 多方协同过滤方法和系统
CN111475744A (zh) 一种基于集成学习的个性化位置推荐方法
CN103412865A (zh) 网站项目的通知方法和系统
Wei et al. Fedads: A benchmark for privacy-preserving cvr estimation with vertical federated learning
CN102831219B (zh) 一种应用于社区发现的可覆盖聚类方法
CN112016850A (zh) 业务评估方法以及装置
CN112800345A (zh) 一种社区角色感知的用户需求主动预测方法及系统
CN107688964A (zh) 一种用于大规模众包任务扩散的激励方法
Yang et al. Personalized recommendation based on collaborative filtering in social network
Song et al. Applying user interest on item-based recommender system
Lin et al. Nonprogressive diffusion on social networks: Approximation and applications
CN114037473A (zh) 即时配送场景下商店选址推荐方法

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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20140319

Termination date: 20160827

CF01 Termination of patent right due to non-payment of annual fee