CN113239266B - 基于局部矩阵分解的个性化推荐方法及系统 - Google Patents

基于局部矩阵分解的个性化推荐方法及系统 Download PDF

Info

Publication number
CN113239266B
CN113239266B CN202110373817.3A CN202110373817A CN113239266B CN 113239266 B CN113239266 B CN 113239266B CN 202110373817 A CN202110373817 A CN 202110373817A CN 113239266 B CN113239266 B CN 113239266B
Authority
CN
China
Prior art keywords
user
matrix
node
scoring
item
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
CN202110373817.3A
Other languages
English (en)
Other versions
CN113239266A (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.)
Information Engineering University of PLA Strategic Support Force
Original Assignee
Information Engineering University of PLA Strategic Support Force
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 Information Engineering University of PLA Strategic Support Force filed Critical Information Engineering University of PLA Strategic Support Force
Priority to CN202110373817.3A priority Critical patent/CN113239266B/zh
Publication of CN113239266A publication Critical patent/CN113239266A/zh
Application granted granted Critical
Publication of CN113239266B publication Critical patent/CN113239266B/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/9535Search customisation based on user profiles and personalisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/16Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Abstract

本发明属于个性化推荐技术领域,特别涉及一种基于局部矩阵分解的个性化推荐方法及系统,依据用户社交网络信息和用户对项目评分信息构建异构信息网络,并形成用户评分矩阵;从异构信息网络中提取用户和项目节点向量表示,并依据节点向量表示的相似性将评分矩阵划分为多个子矩阵;通过在子矩阵中进行矩阵分解获取子矩阵的预测评分,将预测评分的加权均值用于最终个性化推荐。本发明将辅助数据和评分数据建模为异构信息网络,从异构信息网络中学习用户表示和项目表示,提升用户对项目评分预测精确度,优化个性化推荐性能,具有较好的应用前景。

Description

基于局部矩阵分解的个性化推荐方法及系统
技术领域
本发明属于个性化推荐技术领域,特别涉及一种基于局部矩阵分解的个性化推荐方法及系统。
背景技术
作为一种应对信息过载的工具,推荐系统被广泛研究。在商业领域,服务提供者使用推荐系统获得用户偏好,在大量的商品中向用户推送他们可能感兴趣的商品,提高了经济效益。传统推荐系统通过分析用户与项目的历史交互数据(如评级数据、浏览数据),得到用户的偏好向量,该向量刻画了用户在向量空间维度的若干属性,通过偏好向量可以预测用户行为,从而进行个性化推荐。推荐系统中的用户通常具有群体性特征,某一部分的用户可能对特定部分的商品更感兴趣,如何根据用户的群体性特征设计一种合理的推荐模型是一项关键的问题。协同过滤是一种经典的推荐系统模型。作为应用最广泛的协同过滤模型,矩阵分解算法因其良好的性能和可扩展性而受到广泛的关注。矩阵分解将用户-项目交互矩阵分解为两个矩阵,即用户隐特征矩阵和项目隐特征矩阵。通过这种方式将用户和项目映射到隐特征空间,用户偏好和项目属性通过隐特征向量相关联。而矩阵分解的基本假设是用户-项目交互矩阵是一个低秩矩阵,这意味着矩阵中的行(列)是高度相关的。事实上,用户-项目交互矩阵通常不是全局的低秩矩阵,存在部分用户只对某一部分的商品更感兴趣。一般来说,根据用户偏好(项目属性),可以将所有用户(项目)划分为不同的子集。在子集中,用户(项目)之间的相关性更密切。因此,由用户子集和项目子集构造的局部用户-项目交互矩阵是低秩的。将整个交互矩阵转化为多个局部低秩矩阵,在局部低秩矩阵中进行推荐可以获得较好的性能。
现有的局部低秩矩阵分解算法显著的改进了推荐系统的性能,但是仍然面临数据稀疏性的问题。在现实中存在一些用户,他们很少或者没有对商品进行评分。在这种情况下,利用矩阵分解算法抽取得到的用户隐性特征向量,无法有效的反应出用户的偏好,对推荐系统的性能会造成影响。例如通过全局矩阵分解算法得到用户与项目的隐性特征向量,并通过比较隐性特征的相似性,来确定用户或项目是否可以构建为同一子矩阵。如果部分用户的评分较少,则用户隐性特征向量无法刻画用户的偏好,导致构建的子矩阵不能反映用户的局部群体性。
发明内容
为此,本发明提供一种基于局部矩阵分解的个性化推荐方法及系统,将辅助数据和评分数据建模为异构信息网络,从异构信息网络中学习用户表示和项目表示,提升用户对项目评分预测精确度,优化个性化推荐性能。
按照本发明所提供的设计方案,提供一种基于局部矩阵分解的个性化推荐方法,包含如下内容:
依据用户社交网络信息和用户对项目评分信息构建异构信息网络,并形成用户评分矩阵;
从异构信息网络中提取用户和项目节点向量表示,并依据节点向量表示的相似性将评分矩阵划分为多个子矩阵;
通过在子矩阵中进行矩阵分解获取子矩阵的预测评分,将预测评分的加权均值用于最终个性化推荐。
作为本发明基于局部矩阵分解的个性化推荐方法,进一步地,依据用户集合和项目集合,构建用户社交信息图和用户-项目评分图;将用户社交信息图和用户-项目评分图融合,形成异构信息网络。
作为本发明基于局部矩阵分解的个性化推荐方法,进一步地,异构信息网络表示为
Figure BDA0003010384750000021
其中,
Figure BDA0003010384750000022
表示节点集合,
Figure BDA00030103847500000212
表示边集合,
Figure BDA0003010384750000023
Figure BDA0003010384750000024
表示用户集合,
Figure BDA0003010384750000025
表示项目集合,
Figure BDA0003010384750000026
ε1表示用户间存在关系边,ε2表示用户对项目有评分边。
作为本发明基于局部矩阵分解的个性化推荐方法,进一步地,依据目标节点类型采用随机游走算法对节点序列进行采样来获取节点序列集合,并利用skip-gram模型获取节点向量表示。
作为本发明基于局部矩阵分解的个性化推荐,进一步地,若当前节点为项目类型时,通过均匀概率选择用户类型为目标节点,若当前节点为用户类型时,设置跳转概率参数并利用该参数控制用户类型跳转到用户类型或项目类型概率,通过随机游走算法对节点序列进行采样。
作为本发明基于局部矩阵分解的个性化推荐,进一步地,跳转概率表示为
Figure BDA0003010384750000027
其中,
Figure BDA0003010384750000028
表示当前用户节点user,
Figure BDA0003010384750000029
是随机游走跳转目标节点user or item,α∈[0,1]表示选择下一跳节点为用户类型节点的概率,
Figure BDA00030103847500000210
表示当前用户节点的邻居用户类型集合,
Figure BDA00030103847500000211
表示当前用户节点的邻居项目类型集合,ε1表示用户间存在关系边,ε2表示用户对项目有评分边。
作为本发明基于局部矩阵分解的个性化推荐,进一步地,随机选择n个锚点,利用核函数计算锚点与用户数据点表示节点向量表示的相似性来判断数据点是否属于锚点的自矩阵,其中,数据点与锚点之间的相似性由用户之间的相关度和项目之间的相关度共同决定。
作为本发明基于局部矩阵分解的个性化推荐,进一步地,若相似性小于阈值则将数据点归为以锚点为中心的子矩阵中,若数据点与任一锚点均不满足阈值,则将其划入预期相关程度最高的子矩阵中。
作为本发明基于局部矩阵分解的个性化推荐,进一步地,对每个子矩阵进行矩阵分解得到对应每个子矩阵局部的用户隐性特征向量和项目隐性特征向量,通过隐特征向量与项目隐特征向量内 积获取预测评分;并依据余弦相似度对预测评分加权平均得到全局近似评分。
进一步地,本发明还提供一种基于局部矩阵分解的个性化推荐系统,包含:网络构建模块、矩阵分解模块和预测评分模块,其中,
网络构建模块,用于依据用户社交网络信息和用户对项目评分信息构建异构信息网络,并形成用户评分矩阵;
矩阵分解模块,用于从异构信息网络中提取用户和项目节点向量表示,并依据节点向量表示的相似性将评分矩阵划分为多个子矩阵;
预测评分模块,用于通过在子矩阵中进行矩阵分解获取子矩阵的预测评分,将预测评分的加权均值用于最终个性化推荐。
本发明的有益效果:
本发明利用网络嵌入方法改进基于局部低秩假设的矩阵分解算法的性能,利用社交数据和用户评分数据构建异构信息网络,然后从中学习用户和项目表示向量,可以准确表征用户偏好和物品属性;根据表示向量的相关性,构造更有意义的子矩阵;对子矩阵的预测评分进行加权,得到最终的预测数据,能够有效提升用户对项目评分预测精确度及个性化推荐性能。并进一步通过两个真实数据集的实验结果证明本案方案的有效性,具有较好的应用前景。
附图说明:
图1为实施例中基于局部矩阵分解的个性化推荐方法流程示意;
图2为实施例中异构信息网络结构示意;
图3为实施例中基于网络嵌入技术的局部低秩矩阵分解模型流程示意;
图4为实施例中子矩阵数量对LLORMA与LMFE模型性能影响的仿真示意;
图5为实施例中阈值参数对模型性能影响的仿真示意。
具体实施方式:
为使本发明的目的、技术方案和优点更加清楚、明白,下面结合附图和技术方案对本发明作进一步详细的说明。
在推荐系统中,用户具有明显的群体性特征,部分用户对部分项目更感兴趣。因此,评分矩阵通常不是全局低秩而是局部低秩的,如何构建低秩子矩阵进行局部矩阵分解是一个关键问题。本发明实施例,提供一种基于局部矩阵分解的个性化推荐方法,参见图1所示,包含如下内容:
S101、依据用户社交网络信息和用户对项目评分信息构建异构信息网络,并形成用户评分矩阵;
S102、从异构信息网络中提取用户和项目节点向量表示,并依据节点向量表示的相似性将评分矩阵划分为多个子矩阵;
S103、通过在子矩阵中进行矩阵分解获取子矩阵的预测评分,将预测评分的加权均值用于最终个性化推荐。
利用网络嵌入方法改进基于局部低秩假设的矩阵分解算法的性能,利用社交数据和用户评分数据构建异构信息网络,然后从中学习用户和项目表示向量,可以准确表征用户偏好和物品属性;根据表示向量的相关性,构造更有意义的子矩阵;对子矩阵的预测评分进行加权,得到最终的预测数据,能够有效提升用户对项目评分预测精确度及个性化推荐性能。
作为本发明实施例中基于局部矩阵分解的个性化推荐方法,进一步地,依据用户集合和项目集合,构建用户社交信息图和用户-项目评分图;将用户社交信息图和用户-项目评分图融合,形成异构信息网络。进一步地,异构信息网络表示为
Figure BDA0003010384750000041
其中,
Figure BDA0003010384750000042
表示节点集合,
Figure BDA0003010384750000043
表示边集合,
Figure BDA0003010384750000044
Figure BDA0003010384750000045
表示用户集合,
Figure BDA0003010384750000046
表示项目集合,
Figure BDA0003010384750000047
ε1表示用户间存在关系边,ε2表示用户对项目有评分边。
异构信息网络是具有对象类型映射函数τ:ν→A.和链接类型映射函数φ:ε→R的有向图G=(ν,ε),其中每个对象v∈V属于一个特定的对象类型τ(v)∈A,每个链接e∈ε属于一个特定的关系φ(e)∈R,如果两个链接属于同一关系类型,那么这两个链接具有相同类型的开始和结束对象。并且满足对象类型满足|A|>1,或者关系类型满足|R|>1时。参见图2所示,(c) 包含了两种类型边的关系:用户的社交关系,用户与项目的评分关系;同时包含了两种节点类型:用户与项目;从图中可以看出用户1与用户2为朋友关系;用户与项目之间存在评分 (rating)关系,即用户1对项目1的评分为1(评分等级1~5)。
设定
Figure BDA0003010384750000048
表示用户集合,
Figure BDA0003010384750000049
表示项目集合。
Figure BDA00030103847500000410
表示用户社交信息图,其中ε1={r1,r2,...,rf,},rf表示用户间存在朋友关系。
Figure BDA00030103847500000411
表示用户-项目评分图,其中ε2={r1,r2,...,rr},rr表示用户对项目有评分的关系。将社交网络信息G1与用户对商品的评分数据信息G2融合,构建异构网络
Figure BDA00030103847500000412
其中
Figure BDA00030103847500000413
在图G里不仅包含用户的评分关系,同样包含了用户的社交关系。
矩阵分解的基本假设是用户的偏好、项目的属性可以由一组k维的特征来表示。该方法从评分矩阵中抽取一组隐特征向量,通过该隐特征向量表示用户偏好和项目属性。用户的隐特征向量与项目隐特征向量的内 积是预测评分,即用户对该项目的喜好程度。该方法可以形式化表示为公式(1),其中ui为用户i的隐性特征向量,vj为项目j的隐特征向量,ui与vj的内 积
Figure BDA0003010384750000051
为用户i对项目j的预测评分。
Figure BDA0003010384750000052
矩阵分解的基本形式如公式(2)所示。对于评分矩阵
Figure BDA0003010384750000053
可以将其分解为用户隐性特征矩阵
Figure BDA0003010384750000054
项目隐性特征矩阵
Figure BDA0003010384750000055
其中k<<min(m,n)。
R≈UVT, (2)
损失函数如公式3所示:
Figure BDA0003010384750000056
其中,rij为评分的真实值,uivj T为评分的预测值。在公式3中加入λ(||ui||2+||vj||2)来防止过拟合。通过优化损失函数,使得预测值与真实值的差距最小,对公式(3)进行梯度下降法求解得到隐性特征向量ui与vj
本案实施例利用基于网络嵌入的局部矩阵分解模型(local matrixfactorization model based on network embedding,简称LMFE),为了更准确地表征用户和项目,在模型中加入辅助数据。辅助数据一般包括用户属性、项目属性、社会关系等信息,这些数据从多个方面描述了用户和项目。将辅助数据和评分数据建模为一个异构的信息网络,并利用一种新的嵌入方法从异构信息网络中学习用户表示和项目表示。由于交互矩阵是局部低秩的,可以将其分解为多个低秩子矩阵。参见图3所示,首先随机选择锚点(用户-项目数据对),子矩阵的个数由选定的锚点的个数决定,即一个锚点构建对应的一个子矩阵。根据用户表示和项目表示,计算锚点与所有数据点之间的相关性,将相关性超过设定阈值的数据点划分为由锚点构建的子矩阵中。由于相关性高的数据点所构造的子矩阵是低秩的,对这些子矩阵进行矩阵分解可以精确的预测用户对项目的评分,从而提高推荐性能。
得到异构信息网络G之后,为了学习用户、项目的表示向量,应设计一种应用于异构信息网络的嵌入方法。首先需要在异构信息网络中采集节点序列。随机游走算法是一种同构图中常见的节点序列采集方法,但是并不能直接应用于异构图中。由于异构网络中存在不同类型的节点,因此当随机游走从当前节点开始时,必须考虑应选择哪种类型的节点作为目标节点。具体的,当前节点是Item时,与其相连的只有User类型的节点,因此可以以均匀概率选择一个用户作为目标节点。当前节点是User时,与User相连的有User(社交关系)与Item (评分关系)两种类型的节点。需要设定参数α来控制User跳转到User或Item的概率。当前节点为User时,跳转概率形式化定义如下:
Figure BDA0003010384750000061
其中
Figure BDA0003010384750000062
表示当前用户节点(user),
Figure BDA0003010384750000063
是随机游走跳转目标节点(user oritem),α∈[0,1]表示选择下一跳节点为用户类型节点的概率。
Figure BDA0003010384750000064
表示当前用户节点的邻居(用户类型) 集合。
Figure BDA0003010384750000065
表示当前用户节点的邻居(项目类型)集合。可以看出,当参数α变大时,随机游走选择下一跳节点为用户节点的概率变大,这意味着随机游走更倾向于选择用户的社交关系进行游走,社交关系对随机游走的影响随之增加。
通过在异构信息网络G上进行有偏置的随机游走,完成对节点序列的采样,得到节点序列集合D。最后通过skip-gram模型,学习得到节点的表示向量
Figure BDA0003010384750000066
由于评分矩阵不是整体低秩的,而是局部低秩的。在局部模型中,并不是所有用户都具有紧密的相关性,而是部分用户的相关性较高。在评分矩阵内构建相关性更强的局部低秩矩阵可以有效提高推荐系统性能。子矩阵构建过程总体上分为锚点选择和相似性计算两个部分。
锚点选择。首先在评分矩阵R中随机抽取q个数据点(ut,mt)作为锚点。并以这q个数据点为中心构建q个子矩阵。锚点选择可采用随机选择锚点、在测试集中选择锚点、在训练集中选择锚点等方法来实现。本案实施例中可采用随机选择锚点的方法。
相似性计算。通过计算锚点与数据点的相关性,来决定数据点是否被归为属于锚点的自矩阵。数据点di=(ui,mi)与锚点at=(ut,mt)之间的相似性由用户之间的相关度和项目之间的相关度共同决定。具体计算方法如下:
E(dn,at)=Eh(ui,ut)×Eh(mj,mt), (5)
其中,E(di,at)表示数据点di=(ui,mi)与锚点at=(ut,mt)的相关性。采用Epanechnikov核函数来衡量其相关度,Eh(s1,s2)为Epanechnikov核函数,其计算方式如公式(6)所示:
Figure BDA0003010384750000067
其中,s表示数据点或锚点。在公式(6)中,采用基于余弦距离的距离函数d(si,st)来表示数据点与锚点之间的距离。得到的用户、项目表示ev来计算数据点si与st之间的距离:
Figure BDA0003010384750000068
可以看出,当si与st的余弦相似度越低,d(si,st)数值增高,说明si与st的距离很远。如公式(6)所示,h为设置的阈值。如果d(si,st)>h,则Eh(s1,s2)为0,表示si与st的距离超过设置的阈值,将其相关度设置为0。具体表现为该用户或项目会排除在根据锚点建立的子矩阵之外。如果E(di,at)≠0,将di=(ui,mi)归为根据锚点at=(ut,mt)建立的子矩阵中。子矩阵构建算法如Algorithm 1所示。
特别的,如果数据点di=(ui,mj)与任一锚点的相关性均不满足阈值,将其划入与其相关程度最高的子矩阵中。其具体算法可设计为如下内容:
Figure BDA0003010384750000071
在得到q个子矩阵之后,利用公式(2)Rt≈UVT对每一个子矩阵进行矩阵分解。得到对应每个子矩阵的用户隐性特征向量
Figure BDA0003010384750000072
和项目隐性特征向量
Figure BDA0003010384750000073
由于同一用户-项目数据点 di=(ui,mi)可能出现在多个子矩阵。因此,可利用公式(7)通过q组局部矩阵的预测评分加权平均得到全局的近似评分。
Figure BDA0003010384750000074
其中,
Figure BDA0003010384750000075
表示数据点di=(ui,mj)与所在矩阵锚点at=(ut,mt)的相似度。
Figure BDA0003010384750000076
为数据点di=(ui,mj)与所有锚点的相似度之和。公式后半部分
Figure BDA0003010384750000077
代表数据点di=(ui,mj)在子矩阵Rt中的评分权重。例如,如果数据点di与某一锚点as的相似度很高,那么di在锚点as建立的子矩阵s中的权重很高。也就是说最终ui对mj的评分主要受到在子矩阵s中ui对mj的评分的影响。最终,预测评分
Figure BDA0003010384750000078
由多个子矩阵的预测评分
Figure BDA0003010384750000079
加权求得。
进一步地,基于上述的方法,本发明实施例还提供一种基于局部矩阵分解的个性化推荐系统,包含:网络构建模块、矩阵分解模块和预测评分模块,其中,
网络构建模块,用于依据用户社交网络信息和用户对项目评分信息构建异构信息网络,并形成用户评分矩阵;
矩阵分解模块,用于从异构信息网络中提取用户和项目节点向量表示,并依据节点向量表示的相似性将评分矩阵划分为多个子矩阵;
预测评分模块,用于通过在子矩阵中进行矩阵分解获取子矩阵的预测评分,将预测评分的加权均值用于最终个性化推荐。
为验证本案方案有效性,下面结合具体仿真数据做进一步解释说明:
为了验证推荐系统的性能,选择Root Mean Square Error(RMSE)和MeanAbsolute Error (MAE)作为评估标准。RMSE和MAE是评估推荐系统预测评分精确性的常用指标,定义如下:
Figure BDA0003010384750000081
Figure BDA0003010384750000082
其中,Dtest表示评分记录的测试集,ri,j表示用户i对项目j的真实打分,
Figure BDA0003010384750000083
表示模型的预测分数。RMSE和MAE的值表示真实值与模型预测值之间的差距。因此当RMSE和MAE的值越小时,模型的性能更好。
实验在python2.7环境中进行,并在一台服务器上进行测试,使用的是2.10GHzIntel Core E5-2620 CPU,64GB RAM,Windows 10professional x64。分别在Yelp和Douban数据集上验证本案方案。Yelp是一家美国点评网站,用户可以在该平台上对商品进行评分,同时该平台内还保存用户之间的朋友关系。该数据集由Yelp Dataset Challenge提供。豆瓣电影是一家电影社区网站,用户可以对自己看过的电影进行评分,同时该平台内还保存用户之间的朋友关系。两个数据集的统计数据如表I所示。在表1中,Rating Density表示评分矩阵的密度,Social edges表示用户的社交关系。
Table 1.Statistics of Datasets
Figure BDA0003010384750000084
随机将数据集以8:2的比例分为训练集和测试集。重复进行5次实验,取平均RMSE和 MAE作为实验结果。将以下几种基线模型与LMFE进行对比:
RegSVD:一种标准矩阵分解模型,只使用评分矩阵作为输入数据。
LLORMA:一种局部矩阵分解方法,将评分矩阵分解为子矩阵之后,在子矩阵上进行矩阵分解算法。
SocReg:将用户社交信息作为正则项加入到矩阵分解模型。
SLOMA:根据社会同质性理论构造子矩阵,并进行局部矩阵分解。
LMFE:本案方法,首先从HIN中学习网络节点的表示,使用该表示构建子矩阵,最后进行局部矩阵分解得出推荐结果。
为了评估推荐系统的性能,分别计算本案中LMFE模型与对比模型的RMSE与MAE值,实验结果列于表1中。
其中Regsvd、LLORMA算法只利用用户-项目评分矩阵作为算法输入,SocReg和LMFE算法使用用户-项目评分矩阵、用户社交属性矩阵作为算法输入。可以看出,在隐性特征向量维数k=10,局部矩阵个数为30的情况下,LMFE算法得出的RMSE和MAE值均优于对比算法。这证明了利用社交关系构建子矩阵可以有效改善推荐系统性能。
Table 2.Performance of different methods with K=10
Figure BDA0003010384750000091
通过对比Regsvd与LMFE的实验结果,LMFE算法的性能要明显优于Regsvd。这说明评分矩阵拥有局部低秩属性假设的正确性,即在整个用户群体内存在部分用户关联性较强。将关联性较强的用户(商品)构建为子矩阵是合理的。
对比LLORMA与LMFE的实验结果可以发现,在模型中加入用户社交关系后,模型LMFE的推荐性能要高于LLORMA模型。通过对数据集进行分析,可发现在用户-项目评分矩阵中存在大量用户未进行任何打分行为。打分密度为0.03%。因此LLORMA算法通过矩阵分解得到的用户隐性特征向量并不能准确反映出用户的相似性。LMFE模型加入了用户社交信息。在用户评分项稀疏的情况下,可以利用用户的社交特性来构建子矩阵。缓解了评分矩阵稀疏性的问题,推荐模型的性能也得到了提升。
从表2可以看出LMFE模型的性能要优于SocReg模型。这是由于LMFE模型综合了社交网络信息和局部低秩假设算法的优点。LMFE利用社交关系使子矩阵构建方式更加合理,在基于矩阵局部低秩假设的前提下进一步优化了推荐系统的性能。
SLOMA是一种有效的局部矩阵分解方法,它将社会关系添加到推荐系统中。SLOMA比 Regsvd、LLORMA和SocReg的性能更好。这是因为通过社会关系构建的子矩阵是低秩的。对低秩子矩阵进行矩阵分解可以获得较好的性能。而在推荐系统中,用户之间的相关性不仅可以通过社会关系来体现,还可以通过用户-物品评分关系来体现。因此,利用异构信息网络对多种类型的关系进行建模,得到更准确的用户和项目表示向量,因此LMFE可以获得更好的性能。
进一步,选择不同子矩阵数量进行实验。可以从图4可以看出,当子矩阵数量为1时, LLORMA与LMFE的性能远差于其他方法。原因是子矩阵数量为1意味着只选择一个锚点。这就相当于认为全部用户都受到单一锚点用户的影响,这在实际中是不现实的。子矩阵数量在5 个以内时,局部矩阵分解(LMFE,LLORMA,SLOMA)模型的性能比较差。当子矩阵数量超过5个时,LMFE算法的性能优势逐渐体现。随着局部子矩阵的数量的增多LMFE模型的RMSE随之下降,在子矩阵数量超过35时RMSE值趋于稳定。
在LMFE中,定义参数h来控制数据点是否可以被归为锚点构建的子矩阵。如果数据点与锚点的余弦相似性高,那么他们之间的距离d较小。当距离d小于阈值h时,那么该数据点可以被归为由锚点创建的子矩阵中。直观上讲,当h较小时,数据点与锚点需要较高的相似度才能归为同一子矩阵。
在数据集Yelp和Douban中,分别选取不同的阈值h并进行实验,h的设定范围是(0.2,0.4, 0.6,0.8)。由于不同的表示向量维度d会影响相似度的计算,我们分别在d=8、d=32两种情况下进行实验。在每种实验环境内,分别选取不同数量的锚点进行测试,Yelp锚点的数量分别取为(10,20,30,40),在Douban数据集中,锚点的数量分别取为(5,20,30,40)。实验结果如图5所示。可以看出,当阈值设置为0.2时,所有情况下模型的性能都是最差的。这是因为当阈值为0.2时,意味着只有相似度高的用户(similarity>0.8)才能被构造成一个子矩阵。这样的阈值会导致很多数据点不被归为任何子矩阵。根据算法,这样的数据点会被归为与其相关度最高的锚点构造的子矩阵中。这种严格的阈值从子矩阵中排除了大量的数据点,导致性能下降。当锚点的数量较少时,这种情况会导致更多的数据点被错误的划分,从而加剧性能的退化。随着阈值的增大,性能逐渐变好,然后趋于稳定。在Douban数据集中,当 d=32,锚点数量大于20时,在阈值变化的情况下,性能保持稳定。这是因为豆瓣数据集规模较小,用户(项目)之间的相关性较高。当锚点足够多时,严格的阈值也足以使这些锚点覆盖所有用户,从而构造有效的子矩阵。当阈值设置为1时,意味着每个锚点将所有的数据点构造成一个子矩阵,这显然是不合理的,导致性能下降。
LMFE利用网络嵌入方法改进了基于局部低秩假设的矩阵分解算法的性能。利用社交数据和用户评分数据构建异构信息网络,然后从中学习用户和项目表示向量,可以准确表征用户偏好和物品属性。根据表示向量的相关性,可以构造更有意义的子矩阵。最后,对子矩阵的预测评分进行加权,得到最终的预测数据。两个真实数据集上的实验结果则进一步证明了本案方案的有效性。
在这里示出和描述的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制,因此,示例性实施例的其他示例可以具有不同的值。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

Claims (5)

1.一种基于局部矩阵分解的个性化推荐方法,其特征在于,包含如下内容:
依据用户社交网络信息和用户对项目评分信息构建异构信息网络,并形成用户评分矩阵;
从异构信息网络中提取用户和项目节点向量表示,并依据节点向量表示的相似性将评分矩阵划分为多个子矩阵;
通过在子矩阵中进行矩阵分解获取子矩阵的预测评分,将预测评分的加权均值用于最终个性化推荐;
依据目标节点类型采用随机游走算法对节点序列进行采样来获取节点序列集合,并利用skip-gram模型获取节点向量表示;
若当前节点为项目类型时,通过均匀概率选择用户类型为目标节点,若当前节点为用户类型时,设置跳转概率参数并利用该参数控制用户类型跳转到用户类型或项目类型概率,通过随机游走算法对节点序列进行采样;
跳转概率表示为
Figure FDA0004018956350000011
其中,
Figure FDA0004018956350000012
表示当前用户节点user,
Figure FDA00040189563500000110
是随机游走跳转目标节点user or item,α∈[0,1]表示选择下一跳节点为用户类型节点的概率,
Figure FDA0004018956350000013
表示当前用户节点的邻居用户类型集合,
Figure FDA0004018956350000014
表示当前用户节点的邻居项目类型集合,ε1表示用户间存在关系边,ε2表示用户对项目有评分边;
随机选择n个锚点,利用核函数计算锚点与用户数据点表示节点向量表示的相似性来判断数据点是否属于锚点的自矩阵,其中,数据点与锚点之间的相似性由用户之间的相关度和项目之间的相关度共同决定;
若相似性小于阈值则将数据点归为以锚点为中心的子矩阵中,若数据点与任一锚点均不满足阈值,则将其划入预期相关程度最高的子矩阵中。
2.根据权利要求1所述的基于局部矩阵分解的个性化推荐方法,其特征在于,依据用户集合和项目集合,构建用户社交信息图和用户-项目评分图;将用户社交信息图和用户-项目评分图融合,形成异构信息网络。
3.根据权利要求1或2所述的基于局部矩阵分解的个性化推荐方法,其特征在于,异构信息网络表示为
Figure FDA0004018956350000015
其中,
Figure FDA0004018956350000016
表示节点集合,ε表示边集合,
Figure FDA0004018956350000017
Figure FDA0004018956350000018
表示用户集合,
Figure FDA0004018956350000019
表示项目集合,ε12∈ε,ε1表示用户间存在关系边,ε2表示用户对项目有评分边。
4.根据权利要求1所述的基于局部矩阵分解的个性化推荐方法,其特征在于,对每个子矩阵进行矩阵分解得到对应每个子矩阵局部的用户隐性特征向量和项目隐性特征向量,通过隐特征向量与项目隐特征向量内 积获取预测评分;并依据余弦相似度对预测评分加权平均得到全局近似评分。
5.一种基于局部矩阵分解的个性化推荐系统,其特征在于,基于权利要求1所述的方法实现,包含:网络构建模块、矩阵分解模块和预测评分模块,其中,
网络构建模块,用于依据用户社交网络信息和用户对项目评分信息构建异构信息网络,并形成用户评分矩阵;
矩阵分解模块,用于从异构信息网络中提取用户和项目节点向量表示,并依据节点向量表示的相似性将评分矩阵划分为多个子矩阵;
预测评分模块,用于通过在子矩阵中进行矩阵分解获取子矩阵的预测评分,将预测评分的加权均值用于最终个性化推荐。
CN202110373817.3A 2021-04-07 2021-04-07 基于局部矩阵分解的个性化推荐方法及系统 Active CN113239266B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110373817.3A CN113239266B (zh) 2021-04-07 2021-04-07 基于局部矩阵分解的个性化推荐方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110373817.3A CN113239266B (zh) 2021-04-07 2021-04-07 基于局部矩阵分解的个性化推荐方法及系统

Publications (2)

Publication Number Publication Date
CN113239266A CN113239266A (zh) 2021-08-10
CN113239266B true CN113239266B (zh) 2023-03-14

Family

ID=77131126

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110373817.3A Active CN113239266B (zh) 2021-04-07 2021-04-07 基于局部矩阵分解的个性化推荐方法及系统

Country Status (1)

Country Link
CN (1) CN113239266B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113868514B (zh) * 2021-08-27 2024-03-29 天翼数字生活科技有限公司 一种基于辅助信息的矩阵分解推荐方法和系统
CN116484115A (zh) * 2023-05-17 2023-07-25 北京淘友天下技术有限公司 一种具有智能分析功能的交友推荐系统和方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107944629A (zh) * 2017-11-30 2018-04-20 北京邮电大学 一种基于异质信息网络表示的推荐方法及装置
CN109636509A (zh) * 2018-11-20 2019-04-16 华中科技大学 一种基于非对称距离构建子矩阵的评分预测方法
CN111339435A (zh) * 2020-02-10 2020-06-26 南京邮电大学 一种基于潜在因子的矩阵分解补全混合推荐方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106503022B (zh) * 2015-09-08 2020-12-01 北京邮电大学 推送推荐信息的方法和装置
CN110009455B (zh) * 2019-04-02 2022-02-15 长安大学 一种基于网络表示学习的网约共享出行人员匹配方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107944629A (zh) * 2017-11-30 2018-04-20 北京邮电大学 一种基于异质信息网络表示的推荐方法及装置
CN109636509A (zh) * 2018-11-20 2019-04-16 华中科技大学 一种基于非对称距离构建子矩阵的评分预测方法
CN111339435A (zh) * 2020-02-10 2020-06-26 南京邮电大学 一种基于潜在因子的矩阵分解补全混合推荐方法

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
Local Low-Rank Matrix Approximation with Preference Selection of Anchor Points;Menghao Zhang等,;《ACM》;20170403;第1395-1403页 *
local low-rank matrix approximation;Joonseok Lee等;《ACM》;20160101;第17卷(第1期);第442-465页 *
Network Representation Learning Based Extended Matrix Factorization for Recommendation;Jinmao Xu等;《Springer Link》;20200913;第454-465页 *
基于异构信息网络表征学习的推荐方法;李亚莹;《现代计算机》;20200205(第04期);第7-10页 *

Also Published As

Publication number Publication date
CN113239266A (zh) 2021-08-10

Similar Documents

Publication Publication Date Title
US20210271975A1 (en) User tag generation method and apparatus, storage medium, and computer device
CN111428147B (zh) 结合社交和兴趣信息的异源图卷积网络的社交推荐方法
Son et al. Content-based filtering for recommendation systems using multiattribute networks
CN107330115B (zh) 一种信息推荐方法及装置
CN111797321B (zh) 一种面向不同场景的个性化知识推荐方法及系统
CN110717098B (zh) 基于元路径的上下文感知用户建模方法、序列推荐方法
Matthews et al. Web usage mining with evolutionary extraction of temporal fuzzy association rules
Papadakis et al. SCoR: a synthetic coordinate based recommender system
CN109740924B (zh) 融合属性信息网络和矩阵分解的物品评分预测方法
Gong et al. Identification of multi-resolution network structures with multi-objective immune algorithm
CN113239266B (zh) 基于局部矩阵分解的个性化推荐方法及系统
De et al. Discriminative link prediction using local, community, and global signals
CN105868334A (zh) 一种基于特征递增型的电影个性化推荐方法及系统
CN109710835B (zh) 一种带有时间权重的异构信息网络推荐方法
CN107633444A (zh) 基于信息熵与模糊c均值聚类的推荐系统噪声过滤方法
CN109840833A (zh) 贝叶斯协同过滤推荐方法
CN113011471A (zh) 一种社交群体的划分方法、划分系统及相关装置
Liu et al. Heterogeneous anomaly detection in social diffusion with discriminative feature discovery
Deodhar et al. A framework for simultaneous co-clustering and learning from complex data
CN111611499A (zh) 协同过滤方法、协同过滤装置及系统
CN110321492A (zh) 一种基于社区信息的项目推荐方法及系统
Gharibshah et al. Connectedness of users–items networks and recommender systems
CN107276843B (zh) 一种基于Spark平台的多目标进化社区检测方法
CN108389113B (zh) 一种协同过滤推荐方法和系统
Ali et al. Dynamic context management in context-aware recommender systems

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