CN110659424B - 基于Kruskal算法改进的K均值双重聚类推荐的方法、系统及计算机可读存储介质 - Google Patents

基于Kruskal算法改进的K均值双重聚类推荐的方法、系统及计算机可读存储介质 Download PDF

Info

Publication number
CN110659424B
CN110659424B CN201910897142.5A CN201910897142A CN110659424B CN 110659424 B CN110659424 B CN 110659424B CN 201910897142 A CN201910897142 A CN 201910897142A CN 110659424 B CN110659424 B CN 110659424B
Authority
CN
China
Prior art keywords
user
initial
item
similarity
project
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
CN201910897142.5A
Other languages
English (en)
Other versions
CN110659424A (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.)
Changsha University of Science and Technology
Original Assignee
Changsha University of Science and Technology
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 Changsha University of Science and Technology filed Critical Changsha University of Science and Technology
Priority to CN201910897142.5A priority Critical patent/CN110659424B/zh
Publication of CN110659424A publication Critical patent/CN110659424A/zh
Application granted granted Critical
Publication of CN110659424B publication Critical patent/CN110659424B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/953Querying, e.g. by the use of web search engines
    • G06F16/9536Search customisation based on social or collaborative filtering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/35Clustering; Classification
    • 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/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques
    • G06F18/232Non-hierarchical techniques
    • G06F18/2321Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
    • G06F18/23213Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions with fixed number of clusters, e.g. K-means clustering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0631Item recommendations

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Finance (AREA)
  • Accounting & Taxation (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Evolutionary Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开基于Kruskal算法改进的K均值双重聚类推荐的方法、系统及计算机可读存储介质,该基于Kruskal算法改进的K均值双重聚类推荐的方法包括:获取全部的初始用户信息、初始项目信息及初始用户对项目的评分数据;建立初始用户属性矩阵、初始项目属性矩阵及初始用户对项目的评分数据矩阵;获取邻集的初始用户属性对应的评分数据;获取邻集的初始项目属性评分数据;根据邻集的初始用户属性对应的评分数据和邻集的初始项目属性对应的评分数据得出评分数据,作为目标用户对于目标项目的评分数据;将全部的初始用户对项目的评分数据和目标用于对于目标项目的评分数据进行集合,由上至下进行排序显示对应的项目信息。本发明用于提高给用户推荐项目的精准度。

Description

基于Kruskal算法改进的K均值双重聚类推荐的方法、系统及 计算机可读存储介质
技术领域
本发明涉及信息处理技术领域,特别涉及一种基于Kruskal算法改进的K均值双重聚类推荐的方法、系统及计算机可读存储介质。
背景技术
随着互联网的发展与普及,人们在享受网络资源带来极大便利的同时,也受到信息碎片化与信息超载的困扰,即人们发觉很难在海量的信息中找到满足自己真正需求的内容。虽然通过基于关键字的搜索引擎如百度、谷歌等可以满足大众的简单需求,但无法满足个性化与定制化的用户需求。因此,推荐系统应运而生,成为当前解决“信息超载”问题的主流方法。例如,用户浏览商品与购买行为(如电子商务平台关于某个产品与用户的浏览记录、购买记录、购物车等)等数据实际上蕴含着用户的潜在需求与消费习惯,个性化推荐系统正是通过挖掘这些数据,捕捉用户兴趣爱好,从而将商品精准地推荐给用户。
近几年随着个性化推荐系统技术的不断改进,为了能够让个性化推荐系统得到更精确的优化,很多算法陆续被深入研究并应用到实际当中。其中比较常用的是基于协同过滤技术的一系列改进算法,这些算法虽然在某种程度上提高了推荐性能,但仍然存在许多问题亟待解决。总体来说,推荐系统所面临的难题和挑战主要有以下几方面。
(1)数据的稀疏性
在大多的推荐系统中,用户和项目的数量都非常庞大,但用户对项目的评价或已有购买点击记录却并不多,即用户项目历史评分远远少于项目数量,由此增大了推荐项目的盲目性。特别在目前应用广泛的协同过滤技术中,系统为目标用户寻找最近邻时,数据稀疏成为了最大的障碍,并且影响了推荐结果的精确度和速度。在实际的商业推荐系统中,评价矩阵同样十分稀疏,通常商业推荐系统的评价矩阵密度不会超过1%。
(2)冷启动问题
冷启动问题也被称为新用户问题或新项目问题。冷启动用户是指新加入系统或历史行为数据极其少的用户,这部分用户可供参考的历史记录过少,系统无法根据现有的历史数据为其进行推荐服务。项目冷启动则是指新加入系统或很少被用户关注的项目,这部分项目的关注度和搜索量低,难以被推荐给用户,由此造成这部分项目的关注度和推荐量不断降低,造成一种恶性循环,部分项目愈加热门,而冷启动项目不断降温。
(3)时效性问题
如今大部分推荐系统利用用户评分矩阵来进行协同过滤,从而生成推荐信息。然而,大部分用户评分所跨越的时间较长,在此期间,用户的兴趣也许会发生迁移,因为人们的兴趣会随着年龄的增长,环境的转变而有所变化,兴趣并不是一成不变的,影响兴趣的因素很多,时间是最重要的影响因素之一。将如此持久时间内的评分以相同的权值处理,难免会忽略时间衰减因素对推荐系统的影响,这样会导致推荐结果有很大的偏差。
(4)忽视项目属性及用户偏好
现有的诸多基于聚类的协同过滤算法虽在一定程度上提升了推荐的实时性与准确性,但同时仍然存在一些不足。一方面,仅对项目的评分数据进行聚类,没有考虑项目本身属性的相关性。电子商务领域内的用户评分值往往范围较小,这会导致聚类效果不好;另一方面,没有考虑用户实际的购买偏好。通常,用户只会对某个或某几个领域内的商品感兴趣。用户的历史购买记录则反映了用户对该商品所在领域是存在购买偏好的,而已有算法对此信息的关注度不够。
发明内容
本发明的主要目的是提供一种基于Kruskal算法改进的K均值双重聚类推荐的方法,旨在提高给用户推荐项目的精准度。
为实现上述目的,本发明提出一种基于Kruskal算法改进的K均值双重聚类推荐的方法,该基于Kruskal算法改进的K均值双重聚类推荐的方法包括以下步骤:
S100:获取全部的初始用户信息、初始项目信息及初始用户对项目的评分数据;
S200:建立初始用户属性矩阵、初始项目属性矩阵及初始用户对项目的评分数据矩阵;
S301:将初始用户属性矩阵的信息通过Kruskal算法进行双重聚类处理;
S302:通过艾宾浩斯遗忘曲线对双重聚类处理后的初始用户属性再次处理以获取初始用户属性之间的相似度集合;
S303:获取位于目标用户属性的邻集的初始用户属性;
S304:获取邻集的初始用户属性对应的评分数据;
S401:将初始项目属性矩阵的信息通过Kruskal算法进行双重聚类处理;
S402:通过艾宾浩斯遗忘曲线对双重聚类处理后的初始项目属性再次处理以获取初始项目属性之间的相似度集合;
S403:获取位于目标项目属性的邻集的初始项目属性;
S404:获取邻集的初始项目属性对应的评分数据;
S500:根据邻集的初始用户属性对应的评分数据和邻集的初始项目属性对应的评分数据得出评分数据,作为目标用户对于目标项目的评分数据;
S600:将全部的初始用户对项目的评分数据和目标用于对于目标项目的评分数据进行集合,并由上至下进行排序显示对应的项目信息。
优选地,S301将初始用户属性矩阵的信息通过Kruskal算法进行双重聚类处理具体包括以下步骤:
S3011:通过初始用户对项目的评分数据矩阵获取初始用户基于评分的相似度;
S3012:通过初始用户属性矩阵获取初始用户基于属性的相似度;
S3013:将初始用户基于评分的相似度和初始用户基于属性的相似度进行加权综合计算后获取初始用户的属性的相似度集合。
优选地,S302通过艾宾浩斯遗忘曲线对双重聚类处理后的初始用户属性再次处理以获取初始用户属性之间的相似度集合具体包括以下步骤:
通过拟合公式进行初步拟合获取用户兴趣变化范围,拟合公式为:f(x)=83.97x-0.2392+15.71;其中x表示从记忆开始到现在为止的以分钟计的时间,f(x)表示记忆的保留比率;
引入时间相关函数Tim(t),则公式为:
Figure GDA0003450143650000031
其中T0为参考的起始时间,作为用户兴趣随时间变化的起始点;Ti为用户填写项目打分的时间;Tmax为用户最后一次访问系统的时间;Tmin为用户第一次对项目评分的时间;m表示的是用户兴趣变化速率的大小,取值范围为[0,1],
将艾宾浩斯遗忘曲线与时间相关函数整合,获得用户兴趣随时间变化的函数:
Figure GDA0003450143650000041
将基于用户兴趣变化的权值融入到相似度计算当中去,得到针对用户兴趣变化的相似度计算方式:
Figure GDA0003450143650000042
其中
Figure GDA0003450143650000043
分别代表用户a和用户b的平均评分,r(a,s),r(b,s)分别代表用户a和用户b对项目s的评分。
优选地,S401将初始项目属性矩阵的信息通过Kruskal算法进行双重聚类处理具体包括以下步骤:
S4011:通过初始用户对项目的评分数据矩阵获取初始项目基于评分的相似度;
S4012:通过初始项目属性矩阵获取初始项目基于属性的相似度;
S4013:将初始项目基于评分的相似度和初始项目基于属性的相似度进行加权综合计算后获取初始项目属性的相似度集合。
优选地,S402通过艾宾浩斯遗忘曲线对双重聚类处理后的初始项目属性再次处理以获取初始项目属性之间的相似度集合具体包括以下步骤:
采用pearson相关系数,初步计算初始项目属性之间相似度,
计算公式为:
Figure GDA0003450143650000044
其中S代表的是项目Ii与项目Ij都进行评分过的初始用户集合,rui表示的是初始用户u对项目Ii的评分,
Figure GDA0003450143650000045
Figure GDA0003450143650000046
代表的是项目Ii与项目Ij的平均评分;
将初始项目属性进行量化,则计算方式为:
Figure GDA0003450143650000051
其中Iik代表项目Ii的属性k,Ijk代表项目Ij的属性k;
将两两初始项目之间的相似程度由所有的初始项目共同属性的相似度综合得到,其计算方式为计算各个属性之间的相似程度,然后基于加权相加,得出最终的项目属性相似度,其中所有属性的权值相加为1,初始项目属性相似度计算公式为:
Figure GDA0003450143650000052
再根据初始用户对项目的评分矩阵通过相似度计算方式获取项目相关相似性sim(Ii,Ij),得到初始项目之间相似度的计算方式:
sim'(Ii,Ij)=βsimatt(Ii,Ij)+(1-β)sim(Ii,Ij),
其中β代表项目属性相似度所占的权重,β∈[0,1]。
优选地,S500根据邻集的初始用户属性对应的评分数据和邻集的初始项目属性对应的评分数据得出评分数据,作为目标用户对于目标项目的评分数据具体包括以下步骤:
通过最近邻集合获取部分所得到的用户最近邻集合Neighbor_u,通过最近邻集合的评分结果来预测目标用户对未评分项目的评分结果,计算公式为:
Figure GDA0003450143650000053
其中puser(u,i)代表的是用户u对项目i的预测评分结果,sim(u,v)代表的是用户u和用户v之间的相似度,rvi表示的是用户v对项目Ii的评分结果,ru与rv表示的是用户u和用户v的评分均值;
根据最近邻集合获取部分所得到的项目最近邻集合Neighbor_I,通过最近邻集合的评分结果来预测目标对未评分项目的评分结果,计算公式为:
Figure GDA0003450143650000054
其中pitem(u,i)代表的是用户u对项目Ii的预测评分结果,sim(i,j)代表的是项目Ii与项目Ij之间的相似度,ruj表示的是用户u对项目Ij的评分结果,ri与rj表示的是项目Ii和项目Ij的评分均值;
根据计算出来的目标用户u对项目Ii的预测评分,对两者进行融合得到最终的项目预测评分p(u,i)的计算方式为:
Figure GDA0003450143650000055
其中
Figure GDA0003450143650000061
表示基于用户聚类预测评分所占的比重,
Figure GDA0003450143650000062
本发明还提出一种基于Kruskal算法改进的K均值双重聚类推荐系统,所述基于Kruskal算法改进的K均值双重聚类推荐系统包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的基于Kruskal算法改进的K均值双重聚类推荐程序,其中:
所述基于Kruskal算法改进的K均值双重聚类推荐程序被所述处理器执行时实现上述任一所述的基于Kruskal算法改进的K均值双重聚类推荐方法的步骤。
本发明还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有基于Kruskal算法改进的K均值双重聚类推荐程序,所述基于Kruskal算法改进的K均值双重聚类推荐程序被处理器执行时实现上述任一所述的基于Kruskal算法改进的K均值双重聚类推荐方法的步骤。
本发明技术方案通过获取全部的初始用户信息、初始项目信息及初始用户对项目的评分数据;建立初始用户属性矩阵、初始项目属性矩阵及初始用户对项目的评分数据矩阵;将初始用户属性矩阵的信息通过Kruskal算法进行双重聚类处理;通过艾宾浩斯遗忘曲线对双重聚类处理后的初始用户属性再次处理以获取初始用户属性之间的相似度集合;获取位于目标用户属性的邻集的初始用户属性;获取邻集的初始用户属性对应的评分数据;将初始项目属性矩阵的信息通过Kruskal算法进行双重聚类处理;通过艾宾浩斯遗忘曲线对双重聚类处理后的初始项目属性再次处理以获取初始项目属性之间的相似度集合;获取位于目标项目属性的邻集的初始项目属性;获取邻集的初始项目属性对应的评分数据;根据邻集的初始用户属性对应的评分数据和邻集的初始项目属性对应的评分数据得出评分数据,作为目标用户对于目标项目的评分数据;将全部的初始用户对项目的评分数据和目标用于对于目标项目的评分数据进行集合,并由上至下进行排序显示对应的项目信息。以此实现了自动生成均匀分布的初始聚类中心,对初始用户信息和初始项目信息进行双重聚类,从而解决了数据稀疏性的问题;针对用户的兴趣不断变化问题,利用艾宾浩斯遗忘曲线为根据,利用该曲线来描述用户兴趣随时间改变的趋势;在计算初始用户间相似度时,对初始用户不同时间的评分进行加权处理,从而获取到的相似度更符合用户当前的实际情况。针对冷启动问题,使用融合初始用户属性的用户相似度计量方式和融合初始项目的项目相似度计量方式进行相似度分析,得出评分数据,作为目标用户对于目标项目的评分数据,使得未进行评分的目标用户也能获得一个更精确的评分数据,从而可收集更多的用户评分信息,使得最终为新的用户使用时可推荐出更精确的项目。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图示出的结构获得其他的附图。
图1为本发明基于Kruskal算法改进的K均值双重聚类推荐的方法一实施例的流程结构示意图;
图2为图1基于Kruskal算法改进的K均值双重聚类推荐的方法的步骤S301的一实施例的流程结构示意图;
图3为图1基于Kruskal算法改进的K均值双重聚类推荐的方法的步骤S401的一实施例的流程结构示意图;
图4为本发明的初始用户对项目的评分数据矩阵;
图5为本发明的初始用户属性矩阵;
图6为本发明的初始项目属性矩阵;
图7为本发明图1的步骤S301和步骤S401中的Kruskal算法的流程结构示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明,本发明实施例中所有方向性指示(诸如上、下、左、右、前、后……)仅用于解释在某一特定姿态(如附图所示)下各部件之间的相对位置关系、运动情况等,如果该特定姿态发生改变时,则该方向性指示也相应地随之改变。
在本发明中,除非另有明确的规定和限定,术语“连接”、“固定”等应做广义理解,例如,“固定”可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系,除非另有明确的限定。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
另外,在本发明中如涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。
本发明提出一种基于Kruskal算法改进的K均值双重聚类推荐系统。所述基于Kruskal算法改进的K均值双重聚类推荐系统可以是移动电话、智能电话、笔记本电脑、PAD(平板电脑)等可移动设备,以及诸如台式计算机、服务器等固定终端。所述基于Kruskal算法改进的K均值双重聚类推荐系统包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的基于Kruskal算法改进的K均值双重聚类推荐程序。
其中,所述存储器至少包括一种计算机可读存储介质,用于存储安装于所述基于Kruskal算法改进的K均值双重聚类推荐系统的操作系统和各类应用软件,例如基于Kruskal算法改进的K均值双重聚类推荐程序的程序代码等。此外,所述存储器还可以用于暂时地存储已经输出或者将要输出的各类数据。
所述处理器在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器通常用于控制所述基于Kruskal算法改进的K均值双重聚类推荐系统的总体操作。本实施例中,所述处理器用于运行所述存储器中存储的程序代码或者处理数据,例如运行所述基于Kruskal算法改进的K均值双重聚类推荐程序等。
参照图1、图4、图5及图6,所述基于Kruskal算法改进的K均值双重聚类推荐程序被所述处理器执行时,实现如下步骤:
S100:获取全部的初始用户信息、初始项目信息及初始用户对项目的评分数据;
S200:建立初始用户属性矩阵、初始项目属性矩阵及初始用户对项目的评分数据矩阵;
S301:将初始用户属性矩阵的信息通过Kruskal算法进行双重聚类处理;
S302:通过艾宾浩斯遗忘曲线对双重聚类处理后的初始用户属性再次处理以获取初始用户属性之间的相似度集合;
S303:获取位于目标用户属性的邻集的初始用户属性;
S304:获取邻集的初始用户属性对应的评分数据;
S401:将初始项目属性矩阵的信息通过Kruskal算法进行双重聚类处理;
S402:通过艾宾浩斯遗忘曲线对双重聚类处理后的初始项目属性再次处理以获取初始项目属性之间的相似度集合;
S403:获取位于目标项目属性的邻集的初始项目属性;
S404:获取邻集的初始项目属性对应的评分数据;
S500:根据邻集的初始用户属性对应的评分数据和邻集的初始项目属性对应的评分数据得出评分数据,作为目标用户对于目标项目的评分数据;
S600:将全部的初始用户对项目的评分数据和目标用于对于目标项目的评分数据进行集合,并由上至下进行排序显示对应的项目信息。
其中的步骤S100可为依据获取到的原始数据,包括全部的初始用户信息、初始项目信息及初始用户对项目的评分数据,其中原始数据可为在一个软件平台上收集的用户信息及评分数据;再通过步骤S200,将其通过现有运算,包括正则运算,进行拆分获取初始用户属性矩阵、初始项目属性矩阵及初始用户对项目的评分数据矩阵,并且获取初始用户集合U={user1,user2,user3,……,usern},以及初始项目矩阵集合I={item1,item2,item3,……,itemn}。
参照图2和图7,其中的S301将初始用户属性矩阵的信息通过Kruskal算法进行双重聚类处理具体包括以下步骤:
S3011:通过初始用户对项目的评分数据矩阵获取初始用户基于评分的相似度;
S3012:通过初始用户属性矩阵获取初始用户基于属性的相似度;
S3013:将初始用户基于评分的相似度和初始用户基于属性的相似度进行加权综合计算后获取初始用户的属性的相似度集合。
参照图3和图7,其中的S401将初始项目属性矩阵的信息通过Kruskal算法进行双重聚类处理具体包括以下步骤:
S4011:通过初始用户对项目的评分数据矩阵获取初始项目基于评分的相似度;
S4012:通过初始项目属性矩阵获取初始项目基于属性的相似度;
S4013:将初始项目基于评分的相似度和初始项目基于属性的相似度进行加权综合计算后获取初始项目属性的相似度集合。
具体为Step1:初始用户或初始项目集中的数据代表空间中的顶点,初始用户之间或初始项目之间的相似性psim(pi,pj)代表项目i和项目j之间的距离,其中i,j∈{1,2,3,…,n},并将其作为两点间边的权值,那么所有的项目就可以表示为一个无项带权连通图N=(V,{E}),V代表初始用户或初始项目顶点的集合,E代表间距的集合(边的集合)。最初只有n个顶点没有一条边,此时为非连通图T=(V,{});
Step2:对边集E中的边按权值大小进行排序,按照从小到大的顺序依次选出对应的边,这样就获得了无向带权连通图N的最小生成树;
Step3:按权值从大到小的顺序删除MST的K-1条边得到K个连通子图,计算这K个子图中数据对象的平均值并作为初始聚类中心,这时就得到了K个初始聚类中心
Figure GDA0003450143650000101
|Pi|为簇Pi的个数,i∈[1,k];
Step4:对初始用户或初始项目集中的所有项目分别计算其道初始聚类中心的距离,根据计算的距离值大小(相似度大小)分别把各项目划分到不同的K个聚类中;
Step5:分别计算K个聚类中所有对象的平均值,并把该平均值作为新的中心值。
Step6:对Step4和Step5进行循环,直到平方误差准则函数
Figure GDA0003450143650000102
收敛,聚类中心保持不变为止。
初始用户的属性的相似度集合和初始项目属性的相似度集合通过执行上述相同的步骤即可分别获取。
进一步地,S302通过艾宾浩斯遗忘曲线对双重聚类处理后的初始用户属性再次处理以获取初始用户属性之间的相似度集合以改进初始用户属性的相似度,具体包括以下步骤:
通过拟合公式进行初步拟合获取用户兴趣变化范围,拟合公式为:f(x)=83.97x-0.2392+15.71;其中x表示从记忆开始到现在为止的以分钟计的时间,f(x)表示记忆的保留比率;
引入时间相关函数Tim(t),则公式为:
Figure GDA0003450143650000111
其中T0为参考的起始时间,作为用户兴趣随时间变化的起始点;Ti为用户填写项目打分的时间;Tmax为用户最后一次访问系统的时间;Tmin为用户第一次对项目评分的时间;m表示的是用户兴趣变化速率的大小,取值范围为[0,1],
将艾宾浩斯遗忘曲线与时间相关函数整合,获得用户兴趣随时间变化的函数:
Figure GDA0003450143650000112
将基于用户兴趣变化的权值融入到相似度计算当中去,得到针对用户兴趣变化的相似度计算方式:
Figure GDA0003450143650000113
其中
Figure GDA0003450143650000114
分别代表用户a和用户b的平均评分,r(a,s),r(b,s)分别代表用户a和用户b对项目s的评分。
再进一步地,将初始用户属性加入到上述的初始用户相似度的计算方式中,得到一种新的初始用户属性相似度计算方式:
Figure GDA0003450143650000115
其中Ud表示初始用户属性集合,aik,ajk代表初始用户i和初始用户j共有的属性k,sim(aik,ajk)表示的是初始用户i和初始用户j各自属性k具有的相似度,ω(ak)表示的是属性k的权重。式中sim(aik,ajk)若为数值属性,则计算方式为:
Figure GDA0003450143650000121
通过上述计算出新的初始用户属性相似度s(u,v),再根据初始用户对项目的评分矩阵通过传统相似度计算方式获取用户相关性sim(u,v),得到基于用户属性的改进的用户相似度计算方式:
simatt(u,v)=αs(u,v)+(1-α)sim(u,v),
其中α代表初始用户属性相似度s(u,v)所占的权重,α∈[0,1]。
最后,将上两步中得出的初始用户相似度simattr(u,v)与基于初始用户兴趣变化加权的相似度simebin(u,v)进行综合计算,得到最终初始用户之间相似度的计算方式:
sim(u,v)=ωsimebin(u,v)+(1-ω)simatt(u,v),
其中ω代表基于初始用户兴趣变化加权相似度所占的权重,ω∈[0,1]。以此可解决冷启动问题,增强获取的初始用户之间的相似度的精确度。
进一步地,上述的S402通过艾宾浩斯遗忘曲线对双重聚类处理后的初始项目属性再次处理以获取初始项目属性之间的相似度集合具体包括以下步骤:
采用pearson相关系数,初步计算初始项目属性之间相似度,
计算公式为:
Figure GDA0003450143650000122
其中S代表的是项目Ii与项目Ij都进行评分过的初始用户集合,rui表示的是初始用户u对项目Ii的评分,
Figure GDA0003450143650000123
Figure GDA0003450143650000124
代表的是项目Ii与项目Ij的平均评分;
将初始项目属性进行量化,则计算方式为:
Figure GDA0003450143650000125
其中Iik代表项目Ii的属性k,Ijk代表项目Ij的属性k;
将两两初始项目之间的相似程度由所有的初始项目共同属性的相似度综合得到,其计算方式为计算各个属性之间的相似程度,然后基于加权相加,得出最终的项目属性相似度,其中所有属性的权值相加为1,初始项目属性相似度计算公式为:
Figure GDA0003450143650000126
再根据初始用户对项目的评分矩阵通过相似度计算方式获取项目相关相似性sim(Ii,Ij),得到初始项目之间相似度的计算方式:
sim'(Ii,Ij)=βsimatt(Ii,Ij)+(1-β)sim(Ii,Ij),
其中β代表项目属性相似度所占的权重,β∈[0,1]。
以此可解决项目冷启动问题,增强获取的初始项目之间的相似度的精确度。
进一步地,参照图1,步骤S303和步骤S304具体包括以下步骤:
通过最近邻集合获取部分所得到的用户最近邻集合Neighbor_u,通过最近邻集合的评分结果来预测目标用户对未评分项目的评分结果,计算公式为:
Figure GDA0003450143650000131
其中puser(u,i)代表的是用户u对项目i的预测评分结果,sim(u,v)代表的是用户u和用户v之间的相似度,rvi表示的是用户v对项目Ii的评分结果,ru与rv表示的是用户u和用户v的评分均值。
步骤S403和步骤S404具体包括以下步骤:
根据最近邻集合获取部分所得到的项目最近邻集合Neighbor_I,通过最近邻集合的评分结果来预测目标对未评分项目的评分结果,计算公式为:
Figure GDA0003450143650000132
其中pitem(u,i)代表的是用户u对项目Ii的预测评分结果,sim(i,j)代表的是项目Ii与项目Ij之间的相似度,ruj表示的是用户u对项目Ij的评分结果,ri与rj表示的是项目Ii和项目Ij的评分均值。
更进一步地,S500根据邻集的初始用户属性对应的评分数据和邻集的初始项目属性对应的评分数据得出评分数据,作为目标用户对于目标项目的评分数据具体包括以下步骤:
根据计算出来的目标用户u对项目Ii的预测评分,对两者进行融合得到最终的项目预测评分p(u,i)的计算方式为:
Figure GDA0003450143650000133
其中
Figure GDA0003450143650000134
表示基于用户聚类预测评分所占的比重,
Figure GDA0003450143650000135
以此计算所有的目标用户未进行过评分项目的预测评分之后,最终获得到项目-预测评分集合。
步骤S600具体包括:TopN推荐。选择TopN算法,根据计算的到的所有项目的预测评分集合中,包括初始的用户的项目评分,即已有的评分,还包括目标用户的项目评分,即未对项目评分进行预测的评分。选择其中评分值最高的N个项目,将这些项目作为最终推荐集合反馈给用户
以此使得未进行评分的目标用户也能获得一个更精确的评分数据,从而可收集更多的用户评分信息,使得最终为新的用户使用时可推荐出更精确的项目。
以上所述仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是在本发明的发明构思下,利用本发明说明书及附图内容所作的等效结构变换,或直接/间接运用在其他相关的技术领域均包括在本发明的专利保护范围内。

Claims (4)

1.一种基于Kruskal算法改进的K均值双重聚类推荐的方法,其特征在于,包括以下步骤:
S100:获取全部的初始用户信息、初始项目信息及初始用户对项目的评分数据;
S200:建立初始用户属性矩阵、初始项目属性矩阵及初始用户对项目的评分数据矩阵;
S301:将初始用户属性矩阵的信息通过Kruskal算法进行双重聚类处理;
S302:通过艾宾浩斯遗忘曲线对双重聚类处理后的初始用户属性再次处理以获取初始用户属性之间的相似度集合;
S303:获取位于目标用户属性的邻集的初始用户属性;
S304:获取邻集的初始用户属性对应的评分数据;
S401:将初始项目属性矩阵的信息通过Kruskal算法进行双重聚类处理;
S402:通过艾宾浩斯遗忘曲线对双重聚类处理后的初始项目属性再次处理以获取初始项目属性之间的相似度集合;
S403:获取位于目标项目属性的邻集的初始项目属性;
S404:获取邻集的初始项目属性对应的评分数据;
S500:根据邻集的初始用户属性对应的评分数据和邻集的初始项目属性对应的评分数据得出评分数据,作为目标用户对于目标项目的评分数据;
S600:将全部的初始用户对项目的评分数据和目标用于对于目标项目的评分数据进行集合,并由上至下进行排序显示对应的项目信息;
S302通过艾宾浩斯遗忘曲线对双重聚类处理后的初始用户属性再次处理以获取初始用户属性之间的相似度集合具体包括以下步骤:
通过拟合公式进行初步拟合获取用户兴趣变化范围,拟合公式为:f(x)=83.97x-0.2392+15.71;其中x表示从记忆开始到现在为止的以分钟计的时间,f(x)表示记忆的保留比率;
引入时间相关函数Tim(t),则公式为:
Figure FDA0003480945750000011
其中T0为参考的起始时间,作为用户兴趣随时间变化的起始点;Ti为用户填写项目打分的时间;Tmax为用户最后一次访问系统的时间;Tmin为用户第一次对项目评分的时间;m表示的是用户兴趣变化速率的大小,取值范围为[0,1],
将艾宾浩斯遗忘曲线与时间相关函数整合,获得用户兴趣随时间变化的函数:
Figure FDA0003480945750000021
将基于用户兴趣变化的权值融入到相似度计算当中去,得到针对用户兴趣变化的相似度计算方式:
Figure FDA0003480945750000022
其中
Figure FDA0003480945750000023
分别代表用户a和用户b的平均评分,r(a,s),r(b,s)分别代表用户a和用户b对项目s的评分;
S401将初始项目属性矩阵的信息通过Kruskal算法进行双重聚类处理具体包括以下步骤:
S4011:通过初始用户对项目的评分数据矩阵获取初始项目基于评分的相似度;
S4012:通过初始项目属性矩阵获取初始项目基于属性的相似度;
S4013:将初始项目基于评分的相似度和初始项目基于属性的相似度进行加权综合计算后获取初始项目属性的相似度集合;
S402通过艾宾浩斯遗忘曲线对双重聚类处理后的初始项目属性再次处理以获取初始项目属性之间的相似度集合具体包括以下步骤:
采用pearson相关系数,初步计算初始项目属性之间相似度,
计算公式为:
Figure FDA0003480945750000024
其中S代表的是项目Ii与项目Ij都进行评分过的初始用户集合,rui表示的是初始用户u对项目Ii的评分,
Figure FDA0003480945750000025
Figure FDA0003480945750000026
代表的是项目Ii与项目Ij的平均评分;
通过项目的属性信息来反映项目特征,
将初始项目属性进行量化,则计算方式为:
Figure FDA0003480945750000027
其中Iik代表项目Ii的属性k,Ijk代表项目Ij的属性k;
初始项目之间的相似程度由所有的初始项目共同属性的相似度综合得到,其计算方式为计算各个属性之间的相似程度,然后基于加权相加,得出最终的项目属性相似度,其中所有属性的权值相加为1,初始项目属性相似度计算公式为:
Figure FDA0003480945750000031
再根据初始用户对项目的评分矩阵通过相似度计算方式获取项目相关相似性sim(Ii,Ij),得到初始项目之间相似度的计算方式:
sim'(Ii,Ij)=βsimatt(Ii,Ij)+(1-β)sim(Ii,Ij),
其中β代表项目属性相似度所占的权重,β∈[0,1];
S500根据邻集的初始用户属性对应的评分数据和邻集的初始项目属性对应的评分数据得出评分数据,作为目标用户对于目标项目的评分数据具体包括以下步骤:
通过最近邻集合获取部分所得到的用户最近邻集合Neighbor_u,通过最近邻集合的评分结果来预测目标用户对未评分项目的评分结果,计算公式为:
Figure FDA0003480945750000032
其中puser(u,i)代表的是用户u对项目i的预测评分结果,sim(u,v)代表的是用户u和用户v之间的相似度,rvi表示的是用户v对项目Ii的评分结果,
Figure FDA0003480945750000033
Figure FDA0003480945750000034
表示的是用户u和用户v的评分均值;
根据最近邻集合获取部分所得到的项目最近邻集合Neighbor_I,通过最近邻集合的评分结果来预测目标对未评分项目的评分结果,计算公式为:
Figure FDA0003480945750000035
其中pitem(u,i)代表的是用户u对项目Ii的预测评分结果,sim(i,j)代表的是项目Ii与项目Ij之间的相似度,ruj表示的是用户u对项目Ij的评分结果,
Figure FDA0003480945750000036
Figure FDA0003480945750000037
表示的是项目Ii和项目Ij的评分均值;
根据计算出来的目标用户u对项目Ii的预测评分,对两者进行融合得到最终的项目预测评分p(u,i)的计算方式为:
Figure FDA0003480945750000038
其中
Figure FDA0003480945750000039
表示基于用户聚类预测评分所占的比重,
Figure FDA00034809457500000310
2.如权利要求1所述的基于Kruskal算法改进的K均值双重聚类推荐的方法,其特征在于,S301将初始用户属性矩阵的信息通过Kruskal算法进行双重聚类处理具体包括以下步骤:
S3011:通过初始用户对项目的评分数据矩阵获取初始用户基于评分的相似度;
S3012:通过初始用户属性矩阵获取初始用户基于属性的相似度;
S3013:将初始用户基于评分的相似度和初始用户基于属性的相似度进行加权综合计算后获取初始用户的属性的相似度集合。
3.一种基于Kruskal算法改进的K均值双重聚类推荐系统,其特征在于,所述基于Kruskal算法改进的K均值双重聚类推荐系统包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的基于Kruskal算法改进的K均值双重聚类推荐程序,其中:
所述基于Kruskal算法改进的K均值双重聚类推荐程序被所述处理器执行时实现如权利要求1至2中任一项所述的基于Kruskal算法改进的K均值双重聚类推荐方法的步骤。
4.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有基于Kruskal算法改进的K均值双重聚类推荐程序,所述基于Kruskal算法改进的K均值双重聚类推荐程序被处理器执行时实现如权利要求1至2中任一项所述的基于Kruskal算法改进的K均值双重聚类推荐方法的步骤。
CN201910897142.5A 2019-09-23 2019-09-23 基于Kruskal算法改进的K均值双重聚类推荐的方法、系统及计算机可读存储介质 Active CN110659424B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910897142.5A CN110659424B (zh) 2019-09-23 2019-09-23 基于Kruskal算法改进的K均值双重聚类推荐的方法、系统及计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910897142.5A CN110659424B (zh) 2019-09-23 2019-09-23 基于Kruskal算法改进的K均值双重聚类推荐的方法、系统及计算机可读存储介质

Publications (2)

Publication Number Publication Date
CN110659424A CN110659424A (zh) 2020-01-07
CN110659424B true CN110659424B (zh) 2022-04-15

Family

ID=69038783

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910897142.5A Active CN110659424B (zh) 2019-09-23 2019-09-23 基于Kruskal算法改进的K均值双重聚类推荐的方法、系统及计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN110659424B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115062732B (zh) * 2022-08-18 2022-11-11 睿驰(深圳)智能有限公司 基于大数据用户标签信息的资源共享合作推荐方法及系统

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9633081B1 (en) * 2013-09-30 2017-04-25 Google Inc. Systems and methods for determining application installation likelihood based on user network characteristics
CN106407379A (zh) * 2016-09-13 2017-02-15 天津大学 一种基于Hadoop平台的电影推荐方法
CN108470083A (zh) * 2018-02-02 2018-08-31 宁波大学 一种基于Kruskal算法的混淆有限状态机构建方法

Also Published As

Publication number Publication date
CN110659424A (zh) 2020-01-07

Similar Documents

Publication Publication Date Title
CN107833117B (zh) 一种考虑标签信息的贝叶斯个性化排序推荐方法
CN109241405B (zh) 一种基于知识关联的学习资源协同过滤推荐方法及系统
CN109190023B (zh) 协同推荐的方法、装置及终端设备
US10528572B2 (en) Recommending a content curator
US11720633B2 (en) Aggregating personalized suggestions from multiple sources
Di Noia et al. Adaptive multi-attribute diversity for recommender systems
CN107451894B (zh) 数据处理方法、装置和计算机可读存储介质
CN109543109B (zh) 一种融合时间窗技术和评分预测模型的推荐算法
CN107545471B (zh) 一种基于高斯混合的大数据智能推荐方法
Lu et al. Scalable news recommendation using multi-dimensional similarity and Jaccard–Kmeans clustering
TWI721374B (zh) 基於多分類器的推薦方法、裝置及電子設備
CN111310046B (zh) 对象推荐方法及装置
Li et al. Collaborative filtering based on user attributes and user ratings for restaurant recommendation
CN110827924A (zh) 基因表达数据的聚类方法、装置、计算机设备及存储介质
CN112149003B (zh) 商品社群推荐方法、装置和计算机设备
CN113032668A (zh) 基于用户画像的产品推荐方法、装置、设备及存储介质
CN110659424B (zh) 基于Kruskal算法改进的K均值双重聚类推荐的方法、系统及计算机可读存储介质
JP5813052B2 (ja) 情報処理装置、方法及びプログラム
CN111078997A (zh) 一种资讯推荐方法及装置
US9785676B2 (en) Systems and methods for providing ordered results for search queries
CN110825965A (zh) 一种基于信任机制和时间加权的改进协同过滤推荐方法
Sreepada et al. Revisiting tendency based collaborative filtering for personalized recommendations
CN115114517A (zh) 基于用户属性和项目评分的协同过滤推荐算法
CN111581505B (zh) 基于组合推荐的航班推荐方法及系统
CN114564653A (zh) 信息推荐方法、装置、服务器及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant