CN109829109B - 基于共现分析的推荐方法 - Google Patents
基于共现分析的推荐方法 Download PDFInfo
- Publication number
- CN109829109B CN109829109B CN201910082503.0A CN201910082503A CN109829109B CN 109829109 B CN109829109 B CN 109829109B CN 201910082503 A CN201910082503 A CN 201910082503A CN 109829109 B CN109829109 B CN 109829109B
- Authority
- CN
- China
- Prior art keywords
- item
- user
- occurrence
- matrix
- items
- 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
Links
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明属于推荐系统技术领域,具体涉及基于共现分析的推荐方法,本发明涉及两种改进的协同过滤推荐方法(WCO_IBCF和MCO_IBCF)的提出,“协同过滤推荐”是一种跨领域的应用,推荐系统作为一种有效的信息过滤手段,特别着重于利用这些技术提高信息的使用效率。共现潜在语义分析理论与方法应用于推荐系统领域,将提高推荐结果的准确率。
Description
技术领域
本发明属于推荐系统技术领域,具体涉及基于共现分析的两种推荐方法,本发明涉及两种改进的协同过滤推荐方法(WCO_IBCF和MCO_IBCF)的提出,“协同过滤推荐”是一种跨领域的应用,推荐系统作为一种有效的信息过滤手段,特别着重于利用这些技术提高信息的使用效率。共现潜在语义分析理论与方法应用于推荐系统领域,将提高推荐结果的准确率。
背景技术
协同过滤推荐技术是推荐系统中被研究和应用最广泛的技术。通过分析用户兴趣,在用户群中找到指定用户的相似(兴趣)用户,综合这些相似用户对某一信息的评价,形成系统对该指定用户对此信息的喜好程度预测,从而根据这一喜好程度来对目标用户进行推荐。相似度的计算是协同过滤推荐的核心,传统的协同过滤推荐在计算用户与用户、项目与项目之间的相似度时,由于用户评分矩阵普遍存在的稀疏性问题,导致计算出来的相似度准确性不高,从而降低推荐结果的精确度。目前,通过预测插补评分矩阵或者降维等方法来提高推荐质量存在局限性和瓶颈,原因在于对评分矩阵的构建上没有充分提取并合理表示出评分矩阵包含的信息。对于如何充分提取原始数据所表达的信息,可以进一步挖掘和利用。
发明内容
本发明针对推荐结果的精确不高的技术问题,提供一种基于共现分析的推荐方法。
为解决上述技术问题,本发明采用的技术方案为:
基于共现分析的推荐方法,包括以下步骤:
步骤1.数据准备:采集数据(例如:电影评分数据),通过数据的融合重铸生成用户-项目评分矩阵R=(rui)n×m,即评分矩阵,将采集的数据中没有出现的评分项记为缺失项
其中n为用户总数,m为项目总数,rui为第u个用户对第i部电影的评分;
步骤2.将评分矩阵R转化为布尔矩阵A=(aui)n×m,将R中有评分的项记为1,缺失项记为0,
其中:用户-项目评分矩阵中的每一行表示的是每位用户对所有项目评过分的情况,每一列表示的是每个项目在所有用户中的出现情况;
步骤3.根据CLSVSM计算共现矩阵,获得项目的出现频次以及项目之间两两共现频次;项目之间的共现矩阵为:C=AT·A=(cij)m×m,当i=j时,cii为第i个项目出现的总频次;当i≠j时,cij表示项目i与项目j之间的共现频次;
步骤4.计算项目之间的共现相对强度矩阵:
其中,当i≠j时,bij为第i个项目与第j个项目的共现强度;显然当i=j时,bij=1,此时为最大共现强度;
步骤5.评分矩阵的补全:
基于项目与项目之间,用户与用户之间的共现分析,运用加权平均方法和最大值法两种模型分别进行评分信息补充,生成WR和MR矩阵;
步骤6.根据补全得到的新的评分矩阵,考虑不同的相似度计算方法,进行更加准确的邻居选择:
(1)余弦相似性:如果设共有n位用户对m个项目进行评分,那么每个项目得到的评分可以看做是n维空间上的向量,项目之间的相似性则可以通过向量间夹角的余弦来度量;夹角越小,两个向量的余弦会越大,项目之间的相似性就越大;设项目i和项目j得到的评分在n维空间上分别为则项目i和项目j的相似度Sim(i,j)为
(2)修正的余弦相似性:余弦相似度未考虑到用户评分尺度问题,修正的余弦相似性度量方法通过减去用户对项目的平均评分来改善上述缺陷;设U为对项目i和项目j共同评分过的用户合集,则项目i和项目j的相似性计算公式如下:
步骤7.用户对项目的预测评分计算:在预测用户u对项目i的评分时,需要加入用户u对和项目i相似的其他项目的评分:
步骤8.根据用户对项目的预测评分生成Top-N推荐方法进行推荐。
所述步骤5中运用加权平均方法和最大值法两种模型分别进行评分信息补充,生成WR和MR矩阵,具体为:
加权平均法:以项目之间的共现强度作为标准,先找到用户u评分过的项目集Iu(1)以及u对它们的评分集合其中,Iu(1)={t|aui=1}表示用户u评分过的项目集合,然后将项目集Iu(1)中的项目与该用户没有评过分的项目i之间的共现强度集合作为权重,计算的加权平均,并把结果作为填补信息,添加到评分矩阵中;记新的评分矩阵为WR,建立的模型如下:
最大值法:以最大共现强度作为标准,先找到用户u评分过的项目集中与该用户没有评分过的项目i具有最大共现强度的项目k(Iu(1)中与项目i具有最大共现强度的项目),并将作为项目i与用户u接近程度的权重,然后将bik与ruk的乘积作为填补信息,添加到评分矩阵中;记新的评分矩阵为MR,建立的模型如下:
本发明提出了共现潜在语义向量空间模型,基于该模型,将共现分析的方法应用于推荐中,可以挖掘出用户评分信息的潜在特征,通过利用潜在共现信息对用户原始评分矩阵的补充来降低评分矩阵的稀疏度,从而弱化由于评分稀缺对推荐准确度的影响,为推荐系统的广泛应用提供一种有效可行的解决方法。充分挖掘评分矩阵中项目之间的潜在共现关系,建立项目之间的共现关系的强度,能更多的表达出原始数据的信息,实现评分矩阵的平滑,有效降低稀疏度,提高推荐准确度。在传统的IBCF(Item-based CollaborativeFiltering)基础上,将共现分析的理论和方法用于推荐方法中,进而提出WCO_IBCF(theweighted co-occurrence IBCF)和MCO_IBCF(the maximum co-occurrence IBCF)两种协同过滤推荐方法。
具体实施方式
下面对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本实施例基于共现分析的推荐方法,以电影评分为例进行基于共现分析的推荐方法的详细介绍,包括以下步骤:
步骤1.数据准备:采集数据,通过数据的融合重铸生成用户-项目评分矩阵R=(rui)n×m,即评分矩阵,将采集的数据中没有出现的评分项记为缺失项
其中n为用户总数,m为项目总数,rui为第u个用户对第i部电影的评分
示例中,原始数据:
设原始评分矩阵为R,数据使用随机生成的训练集,即有:
步骤2.将评分矩阵R转化为布尔矩阵A=(aui)n×m,将R中有评分的项记为1,缺失项记为0,
其中:用户-项目评分矩阵中的每一行表示的是每位用户对所有项目评过分的情况,每一列表示的是每个项目在所有用户中的出现情况;
示例中,根据R矩阵,生成布尔矩阵A:
操作代码:
R<-as.matrix(R)#转化为矩阵格式
ut1<-R#用户-电影
ut1[!is.na(ut1)]<-1#将非缺失值记为1
ut1[is.na(ut1)]<-0#ut1是0格式的(0-1)
A<-ut1#原始评分矩阵的布尔矩阵0-1
步骤3.根据CLSVSM计算共现矩阵,获得项目的出现频次以及项目之间两两共现频次;项目之间的共现矩阵为:C=AT·A=(cij)m×m,当i=j时,cii为第i个项目出现的总频次;当i≠j时,cij表示项目i与项目j之间的共现频次;
计算得电影共现矩阵C:
操作代码:
ut0<-A
Tut<-t(ut0)#矩阵转置
dim(Tut)
#############电影共现矩阵-C矩阵##
ut00<-as.matrix(ut0)
Tut0<-as.matrix(Tut)
C<-Tut0%*%ut00#矩阵相乘
步骤4.计算项目之间的共现相对强度矩阵:
其中,当i≠j时,bij为第i个项目与第j个项目的共现强度;显然当i=j时,bij=1,此时为最大共现强度;
电影共现强度矩阵B:
操作代码:
步骤5.评分矩阵的补全:
基于项目与项目之间,用户与用户之间的共现分析,运用加权平均方法和最大值法两种模型分别进行评分信息补充,生成WR和MR矩阵,具体为:
加权平均法:以项目之间的共现强度作为标准,先找到用户u评分过的项目集Iu(1)以及u对它们的评分集合其中,Iu(1)={t|aui=1}表示用户u评分过的项目集合,然后将项目集Iu(1)中的项目与该用户没有评过分的项目i之间的共现强度集合作为权重,计算的加权平均,并把结果作为填补信息,添加到评分矩阵中;记新的评分矩阵为WR,建立的模型如下:
WR:利用加权平均法进行矩阵补全
操作代码:
最大值法:以最大共现强度作为标准,先找到用户u评分过的项目集中与该用户没有评分过的项目i具有最大共现强度的项目k,并将作为项目i与用户u接近程度的权重,然后将bik与ruk的乘积作为填补信息,添加到评分矩阵中;记新的评分矩阵为MR,建立的模型如下:
MR:利用最大值法进行矩阵补全
操作代码:
步骤6.根据补全得到的新的评分矩阵,考虑不同的相似度计算方法,进行更加准确的邻居选择:
(1)余弦相似性:如果设共有n位用户对m个项目进行评分,那么每个项目得到的评分可以看做是n维空间上的向量,项目之间的相似性则可以通过向量间夹角的余弦来度量;夹角越小,两个向量的余弦会越大,项目之间的相似性就越大;设项目i和项目j得到的评分在n维空间上分别为则项目i和项目j的相似度Sim(i,j)为
(2)修正的余弦相似性:余弦相似度未考虑到用户评分尺度问题,修正的余弦相似性度量方法通过减去用户对项目的平均评分来改善上述缺陷;设U为对项目i和项目j共同评分过的用户合集,则项目i和项目j的相似性计算公式如下:
步骤7.用户对项目的预测评分计算:在预测用户u对项目i的评分时,需要加入用户u对和项目i相似的其他项目的评分:
测试集为:
操作代码:
testdata<-Rdata[c(3,5,7),];testdata
real_testdata<-as(testdata,"realRatingMatrix")
colnames(real_testdata)<-paste("M",1:4,sep="")
进行推荐预测:(WCO_IBCF)
操作代码:
WR[WR==0]<-NA#把WR矩阵中的0元素变为NA
WR_2<-WR
WR_real_2<-as(WR_2,"realRatingMatrix")
colnames(WR_real_2)<-paste("M",1:4,sep="")
re.IBCF1<-Recommender(WR_real_2,method='IBCF')#IBCF--基于项目相似度的推荐
predict1<-predict(re.IBCF1,real_testdata,type='ratings')#生成推荐
result1<-as(predict1,"matrix");result1
进行推荐预测:(MCO_IBCF)
操作代码:
MR[MR==0]<-NA#把WR矩阵中的0元素变为NA
MR_2<-MR
MR_real_2<-as(MR_2,"realRatingMatrix")
colnames(MR_real_2)<-paste("M",1:4,sep="")
re.IBCF2<-Recommender(MR_real_2,method='IBCF')#IBCF--基于项目相似度的推荐
predict2<-predict(re.IBCF2,real_testdata,type='ratings')#生成推荐
result2<-as(predict2,"matrix");result2
步骤8.根据用户对项目的预测评分生成Top-N推荐方法进行推荐。
本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。
Claims (2)
1.基于共现分析的推荐方法,包括以下步骤:
步骤1.数据准备:采集数据,通过数据的融合重铸生成用户-项目评分矩阵R=(rui)n×m,即评分矩阵,将采集的数据中没有出现的评分项记为缺失项
其中n为用户总数,m为项目总数,rui为第u个用户对第i部电影的评分;
其中:用户-项目评分矩阵中的每一行表示的是每位用户对所有项目评过分的情况,每一列表示的是每个项目在所有用户中的出现情况;步骤2.将评分矩阵R转化为布尔矩阵A=(aui)n×m,将R中有评分的项记为1,缺失项记为0,
步骤3.根据CLSVSM计算共现矩阵,获得项目的出现频次以及项目之间两两共现频次;项目之间的共现矩阵为:C=AT·A=(cij)m×m,当i=j时,cii为第i个项目出现的总频次;当i≠j时,cij表示项目i与项目j之间的共现频次;
步骤4.计算项目之间的共现相对强度矩阵:
其中,当i≠j时,bij为第i个项目与第j个项目的共现强度;显然当i=j时,bij=1,此时为最大共现强度;
步骤5.评分矩阵的补全:
基于项目与项目之间,用户与用户之间的共现分析,运用加权平均方法和最大值法两种模型分别进行评分信息补充,生成WR和MR矩阵;
步骤6.根据补全得到的新的评分矩阵,考虑不同的相似度计算方法,进行更加准确的邻居选择:
(1)余弦相似性:如果设共有n位用户对m个项目进行评分,那么每个项目得到的评分看做是n维空间上的向量,项目之间的相似性则通过向量间夹角的余弦来度量;夹角越小,两个向量的余弦会越大,项目之间的相似性就越大;设项目i和项目j得到的评分在n维空间上分别为则项目i和项目j的相似度Sim(i,j)为
(2)修正的余弦相似性:余弦相似度未考虑到用户评分尺度问题,修正的余弦相似性度量方法通过减去用户对项目的平均评分来改善上述问题;设U为对项目i和项目j共同评分过的用户合集,则项目i和项目j的相似性计算公式如下:
步骤7.用户对项目的预测评分计算:在预测用户u对项目i的评分时,需要加入用户u对和项目i相似的其他项目的评分:
步骤8.根据用户对项目的预测评分生成Top-N推荐方法进行推荐。
2.根据权利要求1所述的基于共现分析的推荐方法,其特征在于:所述步骤5中运用加权平均方法和最大值法两种模型分别进行评分信息补充,生成WR和MR矩阵,具体为:
加权平均法:以项目之间的共现强度作为标准,先找到用户u评分过的项目集Iu(1)以及用户u对它们的评分集合其中,Iu(1)={t|aui=1}表示用户u评分过的项目集合,然后将项目集Iu(1)中的项目与该用户没有评过分的项目i之间的共现强度集合作为权重,计算的加权平均,并把结果作为填补信息,添加到评分矩阵中;记新的评分矩阵为WR,建立的模型如下:
最大值法:以最大共现强度作为标准,先找到用户u评分过的项目集中与该用户没有评分过的项目i具有最大共现强度的项目k,并将作为项目i与用户u接近程度的权重,然后将bik与ruk的乘积作为填补信息,添加到评分矩阵中;记新的评分矩阵为MR,建立的模型如下:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910082503.0A CN109829109B (zh) | 2019-01-28 | 2019-01-28 | 基于共现分析的推荐方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910082503.0A CN109829109B (zh) | 2019-01-28 | 2019-01-28 | 基于共现分析的推荐方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109829109A CN109829109A (zh) | 2019-05-31 |
CN109829109B true CN109829109B (zh) | 2021-02-02 |
Family
ID=66862648
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910082503.0A Active CN109829109B (zh) | 2019-01-28 | 2019-01-28 | 基于共现分析的推荐方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109829109B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111177545B (zh) * | 2019-12-24 | 2023-06-09 | 百度国际科技(深圳)有限公司 | 广告投放方法、平台、电子设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104219575A (zh) * | 2013-05-29 | 2014-12-17 | 酷盛(天津)科技有限公司 | 相关视频推荐方法及系统 |
CN105843860A (zh) * | 2016-03-17 | 2016-08-10 | 山东大学 | 一种基于并行item-based协同过滤算法的微博关注推荐方法 |
CN106708969A (zh) * | 2016-12-02 | 2017-05-24 | 山西大学 | 文献资源主题聚类共现潜在语义向量空间模型语义核方法 |
CN106844301A (zh) * | 2017-02-22 | 2017-06-13 | 山西大学 | 一种基于二元和三元共词潜在语义信息的文献表示方法 |
US10095771B1 (en) * | 2012-03-19 | 2018-10-09 | Amazon Technologies, Inc. | Clustering and recommending items based upon keyword analysis |
-
2019
- 2019-01-28 CN CN201910082503.0A patent/CN109829109B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10095771B1 (en) * | 2012-03-19 | 2018-10-09 | Amazon Technologies, Inc. | Clustering and recommending items based upon keyword analysis |
CN104219575A (zh) * | 2013-05-29 | 2014-12-17 | 酷盛(天津)科技有限公司 | 相关视频推荐方法及系统 |
CN105843860A (zh) * | 2016-03-17 | 2016-08-10 | 山东大学 | 一种基于并行item-based协同过滤算法的微博关注推荐方法 |
CN106708969A (zh) * | 2016-12-02 | 2017-05-24 | 山西大学 | 文献资源主题聚类共现潜在语义向量空间模型语义核方法 |
CN106844301A (zh) * | 2017-02-22 | 2017-06-13 | 山西大学 | 一种基于二元和三元共词潜在语义信息的文献表示方法 |
Non-Patent Citations (2)
Title |
---|
三元共现潜在语义向量空间模型;牛奉高等;《情报科学》;20180131;第147-151页 * |
基于用户共现矩阵乘子的分布式协同过滤推荐;何明等;《计算机科学》;20161130;第428-435页 * |
Also Published As
Publication number | Publication date |
---|---|
CN109829109A (zh) | 2019-05-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Xian et al. | Zero-shot learning-the good, the bad and the ugly | |
Li et al. | A linguistic neutrosophic multi-criteria group decision-making approach with EDAS method | |
Peng et al. | Detecting Spam Review through Sentiment Analysis. | |
US8768050B2 (en) | Accurate text classification through selective use of image data | |
CN104778186B (zh) | 将商品对象挂载到标准产品单元的方法及系统 | |
CN108765383B (zh) | 基于深度迁移学习的视频描述方法 | |
Liu et al. | Graph and autoencoder based feature extraction for zero-shot learning. | |
CN109784092A (zh) | 一种基于标签和差分隐私保护的推荐方法 | |
CN110717654B (zh) | 基于用户评论的产品质量评价方法和系统 | |
CN107943897B (zh) | 一种用户推荐方法 | |
CN107330727A (zh) | 一种基于隐语义模型的个性化推荐方法 | |
JP2011198364A (ja) | 媒体文書へのラベル添加方法及び該方法を用いるシステム | |
CN111159396B (zh) | 面向数据共享交换的文本数据分类分级模型的建立方法 | |
Li et al. | Collaborative filtering based on user attributes and user ratings for restaurant recommendation | |
CN113052411A (zh) | 数据产品质量评价方法及装置 | |
CN114969566B (zh) | 一种距离度量的政务服务事项协同过滤推荐方法 | |
Chen et al. | Discovering multi-label temporal patterns in sequence databases | |
CN109829109B (zh) | 基于共现分析的推荐方法 | |
CN115471712A (zh) | 一种基于视觉语义约束的生成零样本学习方法 | |
CN116739408A (zh) | 基于数据标签的电网调度安全监控方法、系统及电子设备 | |
CN110633394A (zh) | 基于特征加强的图压缩方法 | |
CN114781348A (zh) | 一种基于词袋模型的文本相似度计算方法及系统 | |
CN111667339B (zh) | 一种基于改进递归神经网络的诽谤性恶意用户检测方法 | |
CN114970693A (zh) | 一种基于联邦学习的充电桩用户画像方法 | |
CN115345710A (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 |