2] 分配模块,用于为集群分配项目标签,项目标签根据对应的偏好信息确定;
[0043] 判断模块,用于根据集群中用户的数目判断对应的项目标签的重要性,当集群中 的用户的数目大于等于某一阈值时,集群对应的项目标签判断结果为重要;否则为非重 要;
[0044] 第三计算模块,用于计算非重要项目标签与每一重要项目标签的标签相似度,标 签相似度采用K-means聚类算法计算,当标签相似度大于或等于预预设值时,将非重要项 目标签所对应的集群归于重要项目标签所对应的集群中;否则忽略非重要项目标签所对应 的集群。
[0045] 本发明的实施例的有益效果是:一种个体推荐方法及系统,通过引入评级矩阵,使 得网络中的各个个体与各个项目之间形成一一对应的二维数组形式,再采用K均值算法将 同一项目下具有相同偏好的个体进行聚类,得到具有相同偏好的个体的集群,当某个体需 要为其推荐具有相同偏好的个体时,可在对应的集群中向其推荐满足条件的个体,这样就 提高了个体推荐的有效性,由于该方法考虑到网络中的每一个个体的项目偏好,这样就在 一定程度上提高了个体推荐的满意度。
【附图说明】
[0046] 图1表示本发明的个体推荐方法的基本流程图;
[0047] 图2表示本发明的个体推荐方法的具体流程图;
[0048] 图3表示本发明的个体推荐系统的结构示意图。
【具体实施方式】
[0049] 下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明 的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例 所限制。相反,提供这些实施例是为了能够更透彻地理解本发明,并且能够将本发明的范围 完整的传达给本领域的技术人员。
[0050] 实施例
[0051] 如图1所示,本发明的实施例提供了一种个体推荐方法,包括:
[0052] 步骤10 :获取第一类个体的偏好信息,第一类个体是预先确定的、具有明确项目 偏好的个体,其中,该个体为单个用户或由多个用户组成的群组;
[0053] 对于在网络中的各个个体,在单个用户注册或创建包括多个用户的群组时,会设 置与本身偏好相关的标签,或网络中其他用户或群体对该用户或群组有所了解,并赋予与 其偏好相关的标签,本实施例主要指兴趣项目的偏好标签,例如:音乐、美食或摄影等兴趣 标签,此类个体的偏好信息明确,而对于这些预先确定的、具有明确项目偏好的个体在此称 其为第一类个体。
[0054] 步骤20 :创建第一类个体对项目偏好的评级矩阵,评级矩阵中的元素为第一类个 体中的各个个体对各个项目的偏好程度;
[0055] 创建网络中偏好信息明确的各个个体,即第一类个体,与第一类个体中对应的各 个项目的评级矩阵,即,网络中的每个个体与每个项目--对应,其中,该评级矩阵中的元 素为第一类个体中的各个个体对各个项目的偏好程度,由于创建该评级矩阵,使得网络中 的第一类个体中的个体与项目形成二维数组的形式。
[0056] 步骤30 :仓键具有相同偏好的第一类个体的集群,该集群采用K均值算法对评级 矩阵中的元素进行聚类得到;
[0057] 由于创建了第一类个体中个体对项目的评级矩阵,利用K均值算法将该评级矩阵 中的项目进行个体的聚类,得到第一类个体的集群,每个集群对应偏好相同的项目。
[0058] 步骤40 :向一指定个体推荐与该指定个体具有相同偏好的集群中的其他个体;
[0059] 当网络中的个体请求向其推荐相同偏好的其他个体时,在与该个体具有相同偏好 项目的集群中筛选被推荐对象,例如:某用户或群组偏好音乐,则向其推荐偏好项目为音乐 的集群中的用户或群组,而被推荐对象为用户还是为群组,则需判断请求推荐的个体的具 体需求。
[0060] 本发明的个体推荐方法,通过创建评级矩阵,使得网络中各个个体与各个项目之 间形成一一对应的二维数组形式,再采用K均值算法将同一项目下具有相同偏好的个体进 行聚类,得到具有相同偏好的个体的集群,当某个体需要为其推荐具有相同偏好的个体时, 可在对应的集群中筛选被推荐对象,这样就提高了个体推荐的有效性,又由于考虑到网络 中每一个个体的项目偏好,这样就在一定程度上提高了个体推荐的满意度。
[0061] 本发明的个体推荐方法的具体步骤如图2所示,除了包括如上所述的:
[0062] 步骤10 :获取第一类个体的偏好信息,第一类个体是预先确定的、具有明确项目 偏好的个体,其中,该个体为单个用户或由多个用户组成的群组;
[0063] 步骤20 :创建第一类个体对项目偏好的评级矩阵,评级矩阵中的元素为第一类个 体中的各个个体对各个项目的偏好程度;
[0064] 步骤30 :仓键具有相同偏好的第一类个体的集群,该集群采用K均值算法对评级 矩阵中的元素进行聚类得到;
[0065] 步骤40 :向一指定个体推荐与该指定个体具有相同偏好的集群中的其他个体。
[0066] 其中,评级矩阵用下式表示:
[0067] M = (mui);
[0068] 式中,Μ表示评级矩阵,mul为评级矩阵Μ中的元素,且mul表示第一类个体中的个体 u对项目i的偏好程度,m ui的取值为0或1,当mui = 1表示个体u对项目i为偏好,当mui =〇表示个体u对项目i不偏好;采用K均值算法,筛选出评级矩阵Μ中对相同项目i的偏 好程度mul的值等于1的第一类个体中的个体,得到偏好项目i的第一类个体的集群R U1。
[0069] 该个体推荐方法还包括:
[0070] 步骤301 :采用皮尔逊Pearson相关系数公式,计算第二类个体中的个体与第一 类个体中的个体之间的偏好相似度,第二类个体是预先确定的、不具有明确项目偏好的个 体;
[0071] 在网络中,除了存在那些偏好信息明确的第一类个体之外,还存在一些在注册用 户或创建群组时,并未对自身偏好进行标记的个体,而其他个体也并未对其贴上偏好的项 目标签,故该类个体的偏好信息是不明确的,将此类个体称其为第二类个体;
[0072]由于第二类个体的偏好信息不明确,故将第二类个体中的个体的偏好信息预设为 与第一类个体中的个体的偏好相同,并计算第一类个体与第一类个体的偏好相似度,其中, 偏好相似度用下式表示:
[0073]
[0074] 式中,sim(u,η)表示偏好相似度,CRn表示第二类个体中的个体η偏好的项目i的 集合;CRu,η表示第一类个体中的个体u偏好的项目i的集合和第二类个体中的个体η偏 好的项目i的集合的并集;m ul表示第一类个体中的个体u对项目i的偏好程度,表示 第一类个体中的个体u对项目i的平均偏好程度;mni表示第二类个体中的个体η对项目i 的预设偏好程度,表示第二类个体中的个体η对项目i的平均预设偏好程度;其中,当 sim(u,η)的值大于或等于预定值时,将对应的第一类个体中的个体u和第二类个体中的个 体η判断为相同偏好。
[0075] 步骤302 :若偏好相似度的计算结果大于或等于预设值时,将对应的第二类个体 归于相应的第一类个体的集群中;
[0076] 当个体为用户时,根据第二类个体中的某一个体与第一类个体中的某一个体的偏 好相似度的计算结果,判断第二类个体的偏好,当偏好相似度大于或等于某一预设值时,将 对应的第二类个体中的个体归于相