基于邻近项目SlopeOne算法的用户改进推荐方法

文档序号:9911794阅读:239来源:国知局
基于邻近项目Slope One算法的用户改进推荐方法
【技术领域】
[0001] 本发明涉及一种基于邻近项目Slope One算法的用户改进推荐方法,具体讲的是 通过结合数据,分析大量的用户一项目数据,从而对数据进行预测,其属于数据挖掘和数据 分析领域。
【背景技术】
[0002] 相对于传统的基于进化算法处理方法,协同过滤算法对于解决推荐和预测的问题 有很大的优势。首先算法利用用户的历史行为分析用户偏好,进而向用户推荐商品或信息。 slope one算法是一种基于评分预测的协同过滤算法,利用用户对一组项目的评分偏差和 用户对某些项目的评分,预测该用户对其他项目的评分值。该算法没有计算项目之间的相 似性,使用最简单的线性回归模型对项目评分进行预测,具有计算速度快、可扩展性好、对 数据稀疏性有较好适应性的优点。
[0003] 以往的算法设计,只是针对项目评分偏差的问题进行改进,没有考虑项目之间的 相似性问题,这往往导致设计的冗余,给实际应用带来了很大的不便。

【发明内容】

[0004] 本发明的目的在于提出一种基于邻近项目Slope One算法的用户改进推荐方法, 其也是基于k近邻项目聚类算法和slope one算法相结合的一种预测算法。使用slope one 算法对与目标项目最邻近的k个项目进行预测值计算,以k个最近邻项目进行评分,从而减 少了计算量,且降低了数据的稀疏性。并且将预测问题转化为相应的推荐问题来求解,采用 成型的推荐算法进行设计和改进,不依赖设计者的经验,可移植性好。
[0005] 为了实现上述目的,本发明所采用的技术方案为基于邻近项目Slope One算法的 用户改进推荐方法,其具体步骤如下:
[0006] 步骤1、构建项目相似性矩阵。
[0007] 步骤2、形成邻近项目集合(步骤1和步骤2为k-means聚类算法)。
[0008] 步骤3、计算与其它评分项目之间的评分偏差。
[0009] 步骤4、获得测试集的用户一项目评分矩阵。
[0010] 步骤5、帮助用户推荐出评分最大的前几个预测项目。
[0011] 所述步骤1中,结合数据集中的评分数据,采用k-means聚类算法计算项目间的相 似度的矩阵,构建项目相似性矩阵;
[0012] 所述步骤2中,根据用户u评价过的项目i,选择与项目i最为相似的k个项目组成k 邻近项目集合V。
[0013] 所述步骤3中,计算目标项目Item」与k邻近项目集合f中项目Itenu之间的评分偏 差dev」,1<3针对k邻近项目集合f,使用式(3)计算与其它评分项目之间的评分偏差devy。
[0014]
[0015]其中,Sj,i(x)为对项目Itemj和Itemi评分的用户集合;card⑶表示集合S中的元素 个数。
[0016] 所述步骤4中,根据公式(4)预测用户u对目标项目Item」的评分P(U)p并最终得到 用户一项目评分矩阵fmXn。
[0017]
[0018] 其中,心为用户u已评分项目的集合。
[0019] 根据步骤4得到的用户一项目评分矩阵R'mXn,为用户u推荐出评分最大的r个预 测项目。
[0020] 本发明的技术方案为:首先使用k-means聚类计算目标项目与所有项目之间相关 性的大小,可以筛选出相关性最大的前k个最近邻项目(k邻近项目集合f ),快速剔除与目 标项目无关的项目。其次,采用slope one算法对当前活跃用户的目标项目预测评分,从而 产生用户一项目调查数据表,得到用户一项目评分矩阵。最后根据用户一项目评分矩阵为 用户推荐项目。实质是先采用项目k-means聚类算法可以快速筛选出最近邻的项目,剔除无 关的项目群组,再使用slope one算法对用户进行预测评分,根据预测结果向客户进行推 荐。
[0021 ]本发明与现有技术相比具有以下优点:
[0022] 1、采用k-means聚类算法;考虑到项目之间的相似性问题;解决了因用户对同一项 目的喜好程度不同,导致对该项目的评分影响。
[0023] 2、将k-means项目聚类和slope one算法结合,减少了计算量,且降低了数据的稀 疏性,从而能够获得更高的预测正确率。
[0024] 3、结合项目k-means聚类算法和slope one算法的优点对用户一项目数据进行分 析。
[0025] 4、本方法可以以较少的近邻项目(k邻近项目集合f )代替原始所有项目列表,这 样不仅提高算法效率,而且可以得到较高的推荐准确率。
【附图说明】
[0026] 以下通过附图及具体实施例对本发明进行详细说明:
[0027]图1为算法框架图;
[0028]图2为三种方法的RSME的对比结果;
[0029]图3为三种方法的MAE的对比结果。
【具体实施方式】 [0030] 实施例1
[0031]下面结合附图对本发明作进一步说明。
[0032] 337调查,是指美国国际贸易委员会根据美国《1930年关税法》第337节337调查,是 指美国国际贸易委员会根据美国《1930年关税法》第337节(简称"337条款")及相关修正案 进行的调查,禁止的是一切不公平竞争行为或向美国出口产品中的任何不公平贸易行为。 近年来,在美跨国公司为维护其在美国市场的霸主地位,对进入美国市场的企业进行了大 量的337调查,并呈现逐年增加的趋势。如果337条款的调查成立,出口商的产品将有可能被 永久排除在美国市场之外,这将会带来巨大的经济损失。通过推荐系统对337法案的信息进 行分析和挖掘来预测一个公司是否受到专利调查以及可能涉及专利调查的类型,这对公司 的发展有着至关重要的作用。而专利数据是由大量用户和项目组成的,是一个比较复杂的 数据格式,现有的推荐方法无法满足需求。
[0033] 详细步骤如下:
[0034]步骤1:预处理专利法案数据进行归一化处理,并将时间和专利类别进行结合。 [0035] 步骤2:采用k-means类型聚类算法,得到k最近邻类型集合。
[0036]步骤3:采用slope one算法为当前活跃公司的目标类型计算评分,得到公司一类 型评分矩阵。
[0037]步骤4:根据公司一类型评分表为用户推荐类型。
[0038]本发明的实施例是在以本发明技术方案为前提下进行实施的,给出了详细的实施 方式和具体的操作过程,但本发明的保护范围不限于下述实施例。
[0039]步骤1:337法案的数据原始描述形式如表1,其中公司表示被337调查的公司名称; 年份表示337调查案件发生的时间;专利代表发起337调查的公司使用的专利号。为表示方 便,我们以3M Company和Bull HN Information Systems Inc为例进行举例。
[0040] 表1 337调查初步数据
[0041]
[0042]步骤2:将第三列的专利数据拆分成一行只有一个专利的数据格式,并对应其原始 公司和年份。之后,将公司名称换成对应的数字,方便算法程序的实现。根据时间段的变化 可以在小范围内预测公司再次被337调查的可能性。以编号为75的专利类别为例,本方法将 年份进行合并(本文设置时间范围是3),数据格式变为750(1997-1999),…,75@(2012-2014)。对评分数据归一化处理。经过这一步的处理,最终数据格式如表2。
[0043] 表2处理之后的337调查数据
[0044]
[0045] 步骤3:结合数据集中的评分数据,采用k-means聚类算法计算类型间的相似度的 矩阵,构建类型相似性矩阵。在构建的过程中,也就是k-means聚类算法的过程中,需要选定 最近邻的个数。本发明采用最近邻的个数为20(此处对应说明书中的步骤2)。
[0046] 步骤4:采用slope one算法为当前的活跃公司进行目标类型的预测评分。并将评 分结果依次写入到公司一类型矩阵列表中。最终形成一个公司一类型预测评分矩阵如表3。
[0047] 步骤5:将公司一类型预测评分矩阵与原始评分矩阵进行
1和
计算,可以判断预测质量的正确性。
[0048] 表3公司一类型二维评分矩阵
[0049]
[0050] 根据以上所示的步骤,我们对337法案的数据进行相关操作,观察其预测评分值, 并对比了基于邻近类型Slope One算法的改进推荐方法与单独使用传统项目推荐方法和双 极slope one算法时的推荐评分性能,最后对所获得的准确率与其他方法进行了比较(见图 2、3)〇
[0051] 综上所述,我们通过基于邻近类型Slope One算法的改进推荐方法对专利法案数 据进行分析,可以发挥k-means类型聚类和slope one算法的优点,筛选出与目标类型更相 似的邻近类型,从而提高预测的准确率。
[0052]以上所述,仅为本发明较佳的【具体实施方式】,但本发明的保护范围并不局限于此, 任何熟悉本技术领域的技术人员在本发明披露的技术范围内,根据本发明的技术方案及其 发明构思加以等同替换或改变,都应涵盖在本发明的保护范围内。
【主权项】
1.基于邻近项目slope one算法的改进推荐方法,其特征在于:先对原始数据进行数据 处理,之后采用k-means聚类算法筛选与目标项目邻近的k个相似项目,再用slope one算法 为当前活跃用户的目标项目预测评分,最后根据用户一项目评分矩阵向用户推荐项目;该 方法具体步骤如下: 1) 结合数据集中的评分数据,采用k-means聚类算法计算项目间的相似度的矩阵,构建 项目相似性矩阵; 2) 根据用户u评价过的项目i,选择与用户u评价过的项目i最为相似的k个项目组成k邻 近项目集合K、 3) 使用公式(1)计算目标项目Item」与k邻近项目集合f中项目Itenu之间的评分偏差 devj,i,其中,Uj和Ui分别表示评价过项目Item」的用户和项目Itemi的用户;Sj,i(x)为对目标 项目Item」与其他项目Itemi进行过评分的用户集合;card(S)表示集合S中的元素个数;4) 根据公式(2)计算用户u对目标项目Iten^的预测评分P(uh,并最终得到用户一项目 评分矩阵f mXη,其中,心为用户u已评分项目的集合;5) 根据步骤4)得到的用户一项目评分矩阵fmXn,为用户u推荐出评分最大的r个预测 项目。
【专利摘要】本发明涉及用户—项目数据的分析领域,设计了一种近邻聚类算法和slopeone算法相结合的改进推荐方法。本方法结合k-means聚类和slopeone算法,首先使用k-means聚类方法为用户找到相似的个项目组成邻近项目集合,然后采用slopeone算法计算用户—项目调查数据表,最后预测数据并推荐给用户。本方法着重解决的问题是在预测用户受到项目调查可能性的过程中,考虑了数据项目之间的相似性,从而使算法预测的结果更加准确。将预测调查可能性的问题转换成一个项目推荐问题来解决,采用基于邻近项目的slopeone算法预测用户被调查的可能性,帮助用户提前做好相关的防范工作。
【IPC分类】G06Q10/06, G06Q10/04, G06K9/62
【公开号】CN105678430
【申请号】CN201610112751
【发明人】张强, 黄丽鹏, 车超, 魏小鹏
【申请人】大连大学
【公开日】2016年6月15日
【申请日】2016年2月29日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1