《一种基于用户群关联度的个性化推荐方法及系统.pdf》由会员分享,可在线阅读,更多相关《一种基于用户群关联度的个性化推荐方法及系统.pdf(12页珍藏版)》请在专利查询网上搜索。
1、(10)申请公布号 CN 103077220 A(43)申请公布日 2013.05.01CN103077220A*CN103077220A*(21)申请号 201210590104.3(22)申请日 2012.12.29G06F 17/30(2006.01)(71)申请人中国科学院深圳先进技术研究院地址 518055 广东省深圳市南山区西丽大学城学苑大道1068号(72)发明人高明 黄哲学(74)专利代理机构深圳市科进知识产权代理事务所(普通合伙) 44316代理人宋鹰武(54) 发明名称一种基于用户群关联度的个性化推荐方法及系统(57) 摘要本发明涉及互联网通信领域,公开一种基于用户群关联度。
2、的个性化推荐方法,包括:A、使用聚类算法对用户进行聚类;B、判断目标用户与聚簇边缘的距离,当距离大于给定阈值则执行步骤C,否则执行B-1、计算目标用户所在聚簇与其他聚簇之间的关联度;B-2、合并与用户所在聚簇最相关的前r个聚簇;及B-3、在合并后的聚簇内查找n个最近邻居,进而执行步骤D;C、在目标用户所在聚簇中查找n个最近邻居;D、根据最近邻居对产品的评分预测用户对相关产品的评分值;以及E、根据预测评分值的高低,选取前m个产品推荐给用户。本发明还公开一种基于用户群关联度的个性化推荐系统。所述方法及系统可有效提升个性化推荐的精确度。(51)Int.Cl.权利要求书1页 说明书5页 附图5页(19。
3、)中华人民共和国国家知识产权局(12)发明专利申请权利要求书1页 说明书5页 附图5页(10)申请公布号 CN 103077220 ACN 103077220 A1/1页21.一种基于用户群关联度的个性化推荐方法,包括:A、使用聚类算法对用户进行聚类;B、判断目标用户与聚簇边缘的距离,当距离大于给定阈值则执行步骤C,否则:B-1、计算目标用户所在聚簇与其他聚簇之间的关联度;B-2、合并与用户所在聚簇最相关的前r个聚簇;B-3、在合并后的聚簇内查找n个最近邻居,进而执行步骤D;C、在目标用户所在聚簇中查找n个最近邻居;D、根据最近邻居对产品的评分预测用户对相关产品的评分值;以及E、根据预测评分值。
4、的高低,选取前m个产品推荐给用户。2.如权利要求1所述的基于用户群关联度的个性化推荐方法,其特征在于,所述使用聚类算法对用户进行聚类包括:通过计算向量之间的余弦夹角作为用户之间的相似度,进而对用户进行聚类。3.如权利要求2所述的基于用户群关联度的个性化推荐方法,其特征在于,使用k-means算法对用户进行聚类。4.如权利要求1所述的基于用户群关联度的个性化推荐方法,其特征在于,所述合并与用户所在聚簇最相关的前r个聚簇包括:定义两个聚簇中心之间的距离为两个聚簇之间的距离,根据距离从小到大排序;选择与目标用户所在聚簇距离最相近的前r个聚簇进行合并。5.一种基于用户群关联度的个性化推荐系统,包括:聚。
5、类模块,用于使用聚类算法对用户进行聚类;判断模块,用于判断目标用户与聚簇边缘的距离,当距离大于给定阈值则执行查找模块,否则执行关联度计算单元、聚簇合并单元、以及查找子单元,其中关联度计算单元用于计算目标用户所在聚簇与其他聚簇之间的关联度;聚簇合并单元用于合并与用户所在聚簇最相关的前r个聚簇;查找子单元用于在合并后的聚簇内查找n个最近邻居并提交给评分预测模块;查找模块,用于在目标用户所在聚簇中查找n个最近邻居;评分预测模块,用于根据最近邻居对产品的评分预测用户对相关产品的评分值;以及推荐模块,用于根据预测评分值的高低,选取前m个产品推荐给用户。6.如权利要求5所述的基于用户群关联度的个性化推荐系。
6、统,其特征在于,所述聚类模块通过计算向量之间的余弦夹角作为用户之间的相似度,进而对用户进行聚类。7.如权利要求6所述的基于用户群关联度的个性化推荐系统,其特征在于,所述聚类模块使用k-means算法对用户进行聚类。8.如权利要求5所述的基于用户群关联度的个性化推荐系统,其特征在于,所述聚簇合并单元用于定义两个聚簇中心之间的距离为两个聚簇之间的距离,根据距离从小到大排序,并选择与目标用户所在聚簇距离最相近的前r个聚簇进行合并。权 利 要 求 书CN 103077220 A1/5页3一种基于用户群关联度的个性化推荐方法及系统技术领域0001 本发明属于互联网通信领域,尤其涉及一种基于用户群关联度的。
7、个性化推荐方法和系统。背景技术0002 推荐系统是根据用户的历史行为记录,如商品购买记录、网络点击日志等信息,分析用户兴趣爱好,并根据分析结果向其推荐相应产品或信息的智能系统。0003 协同过滤是当前推荐系统中最常用、最有效的算法,算法的出发点是具有相同或者相似兴趣偏好的用户,对产品的评价也是类似的。其主要步骤有两个:1、查找n个与目标用户最相似的其他用户,称为最近邻居;2、根据最近邻居对产品的评分情况来预测目标用户对产品可能的评分值,并向目标用户推荐预测评分值最高的前m个产品。0004 随着用户数量和系统规模的不断扩大,协同过滤技术面临严重的数据稀疏性、推荐的实时性以及推荐系统的可扩展性等方。
8、面的挑战。0005 请参阅图1及图2,本发明人发现其主要问题之一在于:如图1所示,在海量数据环境下,需要计算目标用户与其他所有用户之间的相似度,导致了算法效率低下。如图2所示,针对此问题,基于聚类的协同过滤算法通常的做法是:通过事先对用户离线进行聚类作为解决方案。当需要在线推荐时,系统从用户所在聚簇(用户群)中选择最近邻居,通过这样的方法可以降低目标用户对最近邻居的搜索空间,达到提高算法效率的目标,其基本步骤如下:0006 (1)、离线对用户进行聚类;0007 (2)、在目标用户所在聚簇查找n个最近邻居。0008 (3)、根据n个最近邻居对产品的评分预测用户对相关产品的评分值。0009 (4)。
9、、根据预测评分值的高低,选取前m个产品推荐给用户。0010 然而,如图3所示,本发明的发明人进一步发现,基于聚类的协同过滤算法存在着如下问题:当用户在聚簇中所处位置与聚簇中心的距离大于所在位置与聚簇边缘的位置时,目标用户与其他聚簇内用户的距离往往小于其所在聚簇用户的距离。以聚类阶段使用k-means算法为例,对用户聚类的标准应该是用户被划分到与其最接近的类别中心所标识的聚簇。然而,由于“目标用户”到聚簇A中心点的距离小于其到聚簇B中心点的距离,因此导致“目标用户”虽然被划分到聚簇A中,但是“目标用户”到“用户D”的距离却小于其到“用户E”的距离。0011 如图3所示,由于“目标用户”和“用户D。
10、”分别处于不同的聚簇A与聚簇B,因此使用当前的基于聚簇的协同聚类算法,在选择“目标用户”的最近邻居时,舍弃了“用户D”而选择用户“E”,导致遗漏了大量类似“用户E”的最近邻居,使得推荐结果的误差较高。发明内容0012 有鉴于此,本发明实施例提供一种基于用户群关联度的个性化推荐方法和系统,说 明 书CN 103077220 A2/5页4旨在解决上述因目标用户与真实最近邻居大量丢失而造成推荐结果误差较大的问题。0013 为此,本发明实施例提供了如下技术方案:0014 一种基于用户群关联度的个性化推荐方法,包括:0015 A、使用聚类算法对用户进行聚类;0016 B、判断目标用户与聚簇边缘的距离,当。
11、距离大于给定阈值则执行步骤C,否则:0017 B-1、计算目标用户所在聚簇与其他聚簇之间的关联度;0018 B-2、合并与用户所在聚簇最相关的前r个聚簇;0019 B-3、在合并后的聚簇内查找n个最近邻居,进而执行步骤D;0020 C、在目标用户所在聚簇中查找n个最近邻居;0021 D、根据最近邻居对产品的评分预测用户对相关产品的评分值;以及0022 E、根据预测评分值的高低,选取前m个产品推荐给用户。0023 另外,本发明实施例还进一步提供了如下技术方案:0024 一种基于用户群关联度的个性化推荐系统,包括:0025 聚类模块,用于使用聚类算法对用户进行聚类;0026 判断模块,用于判断目标。
12、用户与聚簇边缘的距离,当距离大于给定阈值则执行查找模块,否则执行关联度计算单元、聚簇合并单元、以及查找子单元,其中关联度计算单元用于计算目标用户所在聚簇与其他聚簇之间的关联度;聚簇合并单元用于合并与用户所在聚簇最相关的前r个聚簇;查找子单元用于在合并后的聚簇内查找n个最近邻居并提交给评分预测模块;0027 查找模块,用于在目标用户所在聚簇中查找n个最近邻居;0028 评分预测模块,用于根据最近邻居对产品的评分预测用户对相关产品的评分值;以及0029 推荐模块,用于根据预测评分值的高低,选取前m个产品推荐给用户。0030 相对于现有技术,本发明实施例提供的基于用户群关联度的个性化推荐方法及系统通。
13、过对用户进行聚类,并计算用户聚簇之间的关联度,在实施推荐时,通过相邻聚簇之间的合并来发现真实的最近邻居,扩充可选推荐空间,解决了因目标用户真实最近邻居大量丢失而造成推荐结果精确度降低的问题,从而提升个性化推荐的精确度。附图说明0031 图1是现有协同过滤算法对目标用户最近邻居进行查找的示意图;0032 图2是基于聚类的系统过滤算法对目标用户最近邻居进行查找的示意图;0033 图3是聚簇内用户间相似度大于聚簇间用户相似度的示例图;0034 图4是本发明第一实施例提供的基于用户群关联度的个性化推荐方法的流程示意图;0035 图5是图4中步骤A使用聚类算法对用户进行聚类的示意图;0036 图6是具有。
14、较高关联度的聚簇的示意图;0037 图7是图4中合并与用户所在聚簇最相关的聚簇的示意图;0038 图8是在临时聚簇内查找目标用户最近邻居的示意图;0039 图9是本发明第二实施例提供的基于用户群关联度的个性化推荐系统的结构示说 明 书CN 103077220 A3/5页5意图。具体实施方式0040 为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。0041 实施例一。
15、0042 图4是本发明第一实施例提供的一种基于用户群关联度的个性化推荐方法的方法流程图,其包括步骤A至步骤E。0043 步骤A、使用聚类算法对用户进行聚类;0044 步骤B、判断目标用户与聚簇边缘的距离,当距离大于给定阈值则执行步骤C,否则:0045 B-1、计算目标用户所在聚簇与其他聚簇之间的关联度;0046 B-2、合并与用户所在聚簇最相关的前r个聚簇;0047 B-3、在合并后的聚簇内查找n个最近邻居,进而执行步骤D;0048 步骤C、在目标用户所在聚簇中查找n个最近邻居;0049 步骤D、根据最近邻居对产品的评分预测用户对相关产品的评分值。0050 步骤E、根据预测评分值的高低,选取前。
16、m个产品推荐给用户。0051 请一起参阅图5-图8,下面将结合具体实施方式对上述方法进行说明,其中图2为所述个性化推荐方法的步骤执行框图。0052 在步骤A中,根据用户-产品评分矩阵,以用户对产品的评分向量作为对用户的描述,对用户进行聚类。具体而言,可通过计算向量之间的余弦夹角作为用户之间的相似度,并使用k-means算法对用户进行聚类。可以理解的是,也可以使用其他常用聚类算法对用户进行聚类,如K-MEDOIDS算、Clara算法或Clarans算法。0053 如图5所示,在本实施例中,通过步骤A对用户进行聚类后的结果包括A、B、C、D四个聚簇(图6中聚簇A、C、D用具有阴影的圆表示,聚簇B用。
17、没有阴影的圆表示),其中聚簇B为目标用户所在的聚簇。0054 在步骤B中,判断目标用户与聚簇边缘的距离,如果此距离大于给定阈值则执行步骤C,否则执行步骤B-1至步骤B-3。本实施例中,目标用户与聚簇B边缘的距离较小(小于或等于给定阈值),即“目标用户”到聚簇B中心点的距离较大,靠近聚簇C,因此需要执行步骤B-1至步骤B-3。0055 在步骤B-1中:计算聚类之间的关联度(用户群之间的关联度)。本实施例中,在计算聚簇之间的关联度前,首先给出如下定义:0056 定义1:评分用户集合:Uiuj,s(uj,i)0,其中s(uj,i)为用户uj对产品i的评分值,定义1给出了曾对产品i进行过评价的集合。0。
18、057 定义2:用户关注度,用来计算关注某产品用户的数量,即针对产品i,评分用户集合的大小:n(i)|Ui|。0058 基于用户关注度,用户聚簇之间的关联度定义如下:说 明 书CN 103077220 A4/5页60059 定义3:聚簇关联度(用户群关联度),两个聚簇内用户关注度大于N的共同评分项,与两个聚簇内用户层给出过评分项总和的比值:0060 另外,在其它变更实施方式中,可将步骤B中用户聚簇之间的关联度用聚簇之间距离所替代,定义两个聚簇中心之间的距离为两个聚簇之间的距离,根据距离从小到大排序。0061 请参阅图6及图7,在步骤B-2中,合并与用户所在聚簇最相关的前r个聚簇,具体地,可选择。
19、与目标用户所在聚簇距离最相近的前r个聚簇进行合并。本实施例中,聚簇B、C有较高关联度(图6用没有阴影的圆表示),合并为一个临时聚簇,如图7所示。0062 请参阅图8,在步骤B-3中,在合并后的聚簇内查找n个最近邻居,本实施例中,在临时聚簇内目标用户的前3个最近邻居为用户C、D、G。0063 当步骤B-3完后,跳过步骤C执行步骤D,即根据最近邻居对产品的评分预测用户对相关产品的评分值。0064 最后执行步骤E,即根据预测评分值的高低,选取前m个产品推荐给用户。步骤D跟E均为较为常为的现有技术,在此不加赘述。0065 由此,本发明第一实施例提供的基于用户群关联度的个性化推荐方法,通过对用户进行聚类。
20、,并计算用户聚簇之间的关联度,在实施推荐时,通过相邻聚簇之间的合并来发现真实的最近邻居,扩充可选推荐空间,解决因目标用户真实最近邻居大量丢失而造成推荐结果精确度降低的问题,从而提升个性化推荐的精确度。0066 实施例二0067 图9是本发明第二实施例提供的一种基于用户群关联度的个性化推荐系统100的结构示意图,包括聚类模块11、判断模块12、查找模块13、评分预测模块14、以及推荐模块15。0068 聚类模块11用于使用聚类算法对用户进行聚类。0069 判断模块12,用于判断目标用户与聚簇边缘的距离,当距离大于给定阈值则执行查找模块13,否则执行关联度计算单元131、聚簇合并单元132、以及查。
21、找子单元133。其中关联度计算单元131用于计算目标用户所在聚簇与其他聚簇之间的关联度;聚簇合并单元132用于合并与用户所在聚簇最相关的前r个聚簇;查找子单元133用于在合并后的聚簇内查找n个最近邻居并提交给评分预测模块14。0070 在本实施例中,查找模块13用于在目标用户所在聚簇中查找n个最近邻居。评分预测模块14用于根据最近邻居对产品的评分预测用户对相关产品的评分值。推荐模块15用于根据预测评分值的高低,选取前m个产品推荐给用户。0071 本实施例中,所述聚类模块11通过计算向量之间的余弦夹角作为用户之间的相似度,使用k-means算法对用户进行聚类。所述聚簇合并单元132用于定义两个聚。
22、簇中心之间的距离为两个聚簇之间的距离,根据距离从小到大排序,并选择与目标用户所在聚簇距离最相近的前r个聚簇进行合并。0072 由此,本发明第二实施例提供的基于用户群关联度的个性化推荐系统100,通过对用户进行聚类,并计算用户聚簇之间的关联度,在实施推荐时,通过相邻聚簇之间的合并来说 明 书CN 103077220 A5/5页7发现真实的最近邻居,扩充可选推荐空间,解决因目标用户真实最近邻居大量丢失而造成推荐结果精确度降低的问题,从而提升个性化推荐的精确度。0073 本发明实施例第二实施例的系统100,与前述的第一实施例的方法构思和原理相同,因此在第二实施例中对与第一实施例中相同的部分不再赘述。。
23、0074 本领域技术人员可以理解实施例中的系统中的模块可以按照实施例描述进行分布于实施例的系统中,也可以进行相应变化位于不同于本实施例的一个或多个系统中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。0075 通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台终端设备(可以是手机,个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。0076 以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视本发明的保护范围。说 明 书CN 103077220 A1/5页8图1图2说 明 书 附 图CN 103077220 A2/5页9图3图4说 明 书 附 图CN 103077220 A3/5页10图5图6说 明 书 附 图CN 103077220 A10。