CN104731887B - 一种协同过滤中的用户相似度度量方法 - Google Patents
一种协同过滤中的用户相似度度量方法 Download PDFInfo
- Publication number
- CN104731887B CN104731887B CN201510110009.2A CN201510110009A CN104731887B CN 104731887 B CN104731887 B CN 104731887B CN 201510110009 A CN201510110009 A CN 201510110009A CN 104731887 B CN104731887 B CN 104731887B
- Authority
- CN
- China
- Prior art keywords
- user
- distance
- attribute
- record
- similarity
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search customisation based on user profiles and personalisation
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种协同过滤中的用户相似度度量方法。本发明建立用户数值属性与用户分类属性之间的联系,采用聚类算法挖掘用户分组,综合考虑用户分组信息与用户对物品的评分信息预测用户的潜在兴趣,从而完成面向用户的个性化推荐。本发明提供的方法优势在于能够提高用户之间相似度度量的准确度,提高用户兴趣挖掘的精度,增加网络用户体验度。
Description
技术领域
本发明涉及一种协同过滤中的用户相似度度量方法,用于实现对用户进行高精度的协同过滤个性化推荐,属于计算机网络技术领域。
背景技术
随着信息及互联网技术的不断涌现,人们正面临着日益严重的“信息过载”(Information Overload)问题。而推荐系统(Recommendation System)致力于帮助人们从互联网提供的繁杂信息中找到自己感兴趣的信息。目前,推荐系统已经得到了研究人员的广泛关注,并电子商务、社交网络及智能电视等各个领域取得了大量的实际应用。一般来说,推荐系统可以分为基于内容与协同过滤两大类,而其中,协同过滤技术在1992年由研究人员提出,已经显现出极强的可用性及高效率。协同过滤根据用户对物品的历史评分记录决定用户或物品之间的关系,从而挖掘用户的潜在兴趣,提高用户体验以及商业利润。
协同过滤技术可分从实现策略方面分为基于模型的方法与基于内存的方法,与后者相比前者有着两方面的优势。首先,基于内存的方法与待推荐的物品之间关系较小,也就是说更容易在不同领域得到应用;其次基于内存的方法充分利用了用户与其他用户之间的关系,从而更容易挖掘用户的潜在兴趣。
而相似度度量是协同过滤的基础步骤,只有通过度量用户或物品之间的相似度,才能发现其相似邻居。近些年来,研究人员已经提出了不少相似度度量的方法,包括:余弦相似度(COS:Cosine-based method)、皮尔森相关系数(PCC:Pearson CorrelationCoefficient)、欧式距离(ED:Euclidean Distance)等。而这些方法都有着自身存在的缺点,COS方法关注于待比较用户向量之间的夹角而忽视向量的长度,PCC方法比较用户向量的变化趋势而忽略向量的属性量级,ED方法虽然在距离计算中最常用,但在实用中效果往往不好。也有学者提出结合这几种方法以提高度量效果,但提高程度有限。造成这种度量精度瓶颈的根本原因是现有方法没有充分利用用户的社会属性信息,而这种用户的社会属性信息往往更能反映出用户的特征以及其他用户之间的关系。
因此亟需设计一种能够充分考虑用户社会属性信息的相似度度量方法,以突破相似度度量性能的瓶颈,为用户提供精度更高、体验更好的个性化服务。
发明内容
发明目的:针对现有技术中存在的问题与不足,本发明提供一种协同过滤中的用户相似度度量方法,该方法协同过滤中能够提高用户之间相似度度量的准确度,提高了用户兴趣挖掘的精度,增加了网络用户体验度。
技术方案:一种协同过滤中的用户相似度度量方法,通过建立用户分类属性与数值属性之间的联系,采用改进的聚类算法挖掘用户分类信息,使得用户分类更加准确合理;构造相似度度量模型,综合考虑用户属性信息与用户对物品的评分信息,丰富用户之间相似度度量的依据,提高相似度度量精度。具体可分为三个步骤:在用户记录之间的距离计算阶段,针对用户记录的数值属性与分类属性,分别采用不同距离度量方法,并建立二者联系,形成一个全面的用户记录之间距离度量的方法,得到用户记录之间的距离RD;在挖掘用户分类信息阶段,根据用户记录之间的距离RD来判断两个用户之间的差异程度,基于此种差异改进聚类算法,对用户记录聚类后得到全局用户的分组信息,每个分组内的用户差异较小,不同分组内的用户差异较大;在相似度度量阶段,基于已有用户对物品的历史评分信息以及用户的分类信息,得到目标用户与其他用户之间的相似度。
有益效果:本发明与现有技术相比,具有以下优点:
1.分别采用不同方式处理用户记录的数值属性与分类属性,并通过权值决定二者在用户记录距离计算过程中的重要性,实现了对用户记录之间距离的全面度量。
2.改进已有聚类算法,并采用该算法挖掘用户的分类信息,以充分利用用户的社会属性信息。
3.建立统一框架,在相似度度量过程中同时考虑了用户的社会属性信息以及用户对物品的评分信息,开辟了使用用户社会属性信息的新途径。
附图说明
图1本发明实施例的相似度度量过程图;
图2为本发明实施例中用户记录距离计算原理图。
具体实施方式
下面结合具体实施例,进一步阐明本发明,应理解这些实施例仅用于说明本发明而不用于限制本发明的范围,在阅读了本发明之后,本领域技术人员对本发明的各种等价形式的修改均落于本申请所附权利要求所限定的范围。
如图1所示,整个相似度度量方法包括用户记录数据集、用户评分数据集、距离计算、用户分类挖掘、相似度度量部分。
本发明具体实施时包括距离计算阶段、用户分类挖掘阶段和相似度度量阶段。
距离计算阶段:
用户距离计算部分负责基于目标用户之间的属性信息类别的差异,即分类属性或数值属性,选择不同的处理方式,分别计算不同类型属性之间的距离,如图2所示。具体处理方式如下:
对于数值属性,距离ND计算公式表述如下:
其中qa和qb是两个待比较的数值属性,而qmin和qmax分别是该数值属性区间的最小值与最大值;
对于分类属性,距离CD计算公式表述如下:
其中ya和yb是两个待比较的分类属性,T(ya,yb)为以ya和yb最小公共父结点为根节点的子树,H(T)为树T的高度,和为数据集内分别与ya和yb对应的所有分类属性的平均值;
对于整个用户记录,距离RD计算公式表述如下:
其中ra和rb是两个待比较的用户记录,λ为调节因子,取值范围为0到1,ri[x]为记录ri的属性x,p为分类属性的种类数,q为数值属性的种类数。
距离度量阶段根据用户记录的属性之间的差异可充分利用数值属性与分类属性等用户信息,增加用户距离度量的合理性与准确性,为用户分类挖掘以及相似度度量提供坚实可靠的基础。
用户分类挖掘阶段:
用户分类挖掘阶段基于用户记录数据集,采用距离度量方法RD完善K-means聚类算法,具体步骤为:
1、设定簇数k、阈值参数s;
2、随机选择k个用户记录作为初始聚类簇中心;
3、计算每个用户记录到k个簇中心的距离,将每个记录归于与其距离最小的簇中心所代表的簇,计算所有用户与其所属簇的平均距离;
4、重新计算簇中心及所有用户与其所属于的簇中心之间的距离,更新每个用户所属的簇;
5、计算所有用户与其所属簇的平均距离并与上一次的平均距离作比较,如果差值小于阈值s,则停止迭代运算,完成用户分类挖掘;否则转至步骤4,进行下一次迭代。
相似度度量阶段:
根据用户的分类信息以及用户对物品的评分信息,建立完善相似度计算模型,得到目标用户与其他用户之间的相似度sim(X,Y)。这种方式可以克服现有方法仅考虑数值评分的不足,充分利用用户的属性信息,从而使得用户之间的相似度度量更加可靠。公式表述如下:
其中,CX为用户X所属于聚类分组的中心,Ix为用户x所评分过的物品集合,i为用户X与Y共同评分的物品,rXi为用户X对物品i的评分,为用户X的平均评分。
Claims (4)
1.一种协同过滤中的用户相似度度量方法,其特征在于,包括以下步骤:
用户记录之间的距离计算阶段:
针对用户记录的数值属性与分类属性,分别采用不同距离度量方法,并建立二者联系,形成一个全面的用户记录之间距离度量的方法,得到用户记录之间的距离RD;
挖掘用户分类信息阶段:
根据用户记录之间的距离RD来判断两个用户之间的差异程度,基于此种差异改进聚类算法,对用户记录聚类后得到全局用户的分组信息,每个分组内的用户差异较小,不同分组内的用户差异较大;
相似度度量阶段:
基于已有用户对物品的历史评分信息以及用户的分类信息,得到目标用户与其他用户之间的相似度;
用户记录之间的距离计算阶段中,基于目标用户之间的属性信息类别的差异,即分类属性或数值属性,选择不同的处理方式,分别计算不同类型属性之间的距离;
对于数值属性,距离ND计算公式表述如下:
其中qa和qb是两个待比较的数值属性,而qmin和qmax分别是该数值属性区间的最小值与最大值;
对于分类属性,距离CD计算公式表述如下:
其中ya和yb是两个待比较的数值属性,T(ya,yb)为以ya和yb最小公共父结点为根节点的子树,H(Th)为树Th的高度,和为数据集中分别与ya和yb是对应的所有数值属性的平均值;
对于整个用户记录,距离RD计算公式表述如下:
其中ra和rb是两个待比较的用户记录,λ为调节因子,ri[x]为记录ri的属性x,p为分类属性的种类数,q为数值属性的种类数。
2.如权利要求1所述的协同过滤中的用户相似度度量方法,其特征在于:在对用户记录进行聚类的过程中,采用了考虑用户分类属性与数值属性的距离度量标准度量用户之间的差异;多次聚类迭代运算结束后得到k个用户类别以及每个用户类别所对应的分类中心。
3.如权利要求2所述的协同过滤中的用户相似度度量方法,其特征在于,用户分类挖掘阶段基于用户记录数据集,采用距离度量方法RD完善K-means聚类算法,具体步骤为:
(1)、设定簇数k、阈值参数s;
(2)、随机选择k个用户记录作为初始聚类簇中心;
(3)、计算每个用户记录到k个簇中心的距离,将每个记录归于与其距离最小的簇中心所代表的簇,计算所有用户与其所属簇的平均距离;
(4)、重新计算簇中心及每个用户与每个簇中心的距离,更新每个用户所属的簇;
(5)、计算所有用户与其所属簇的平均距离并与上一次的平均距离作比较,如果差值小于阈值s,则停止迭代运算,完成用户分类挖掘;否则转至步骤4,进行下一次迭代。
4.如权利要求1所述的协同过滤中的用户相似度度量方法,其特征在于:在计算目标用户与其他用户之间相似度的过程中,综合利用了用户的分组信息以及用户对物品的评分信息,建立完善相似度计算模型,得到目标用户与其他用户之间的相似度sim(X,Y),公式表述如下:
其中,CX为用户X所属于聚类分组的中心,i为用户X与Y共同评分的物品,rXi为用户X对物品i的评分,为用户X的平均评分,为用户Y的平均评分,IX为用户X所评分过的物品集合,IY为用户Y所评分过的物品集合。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510110009.2A CN104731887B (zh) | 2015-03-13 | 2015-03-13 | 一种协同过滤中的用户相似度度量方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510110009.2A CN104731887B (zh) | 2015-03-13 | 2015-03-13 | 一种协同过滤中的用户相似度度量方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104731887A CN104731887A (zh) | 2015-06-24 |
CN104731887B true CN104731887B (zh) | 2018-02-02 |
Family
ID=53455774
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510110009.2A Active CN104731887B (zh) | 2015-03-13 | 2015-03-13 | 一种协同过滤中的用户相似度度量方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104731887B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105095516B (zh) * | 2015-09-16 | 2019-02-15 | 中国传媒大学 | 基于谱聚类集成的广播电视用户分群系统及方法 |
CN105488684A (zh) * | 2015-11-16 | 2016-04-13 | 孙宝文 | 交易系统中的推荐关系确定方法及装置 |
CN106101839A (zh) * | 2016-06-20 | 2016-11-09 | 徐汕 | 一种识别电视端用户集合的方法 |
CN106127519A (zh) * | 2016-06-24 | 2016-11-16 | 武汉斗鱼网络科技有限公司 | 一种基于K‑Means算法的直播平台用户细分方法及系统 |
CN109002469B (zh) * | 2018-06-11 | 2021-08-31 | 广东奥博信息产业股份有限公司 | 一种基于广义点集距离的信息个性化推荐及提示方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102609533A (zh) * | 2012-02-15 | 2012-07-25 | 中国科学技术大学 | 一种基于核方法的协同过滤推荐系统及方法 |
CN102982466A (zh) * | 2012-07-17 | 2013-03-20 | 华东师范大学 | 一种基于用户活跃度的评分预测方法 |
CN103093376A (zh) * | 2013-01-16 | 2013-05-08 | 北京邮电大学 | 基于奇异值分解算法的聚类协同过滤推荐系统 |
-
2015
- 2015-03-13 CN CN201510110009.2A patent/CN104731887B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102609533A (zh) * | 2012-02-15 | 2012-07-25 | 中国科学技术大学 | 一种基于核方法的协同过滤推荐系统及方法 |
CN102982466A (zh) * | 2012-07-17 | 2013-03-20 | 华东师范大学 | 一种基于用户活跃度的评分预测方法 |
CN103093376A (zh) * | 2013-01-16 | 2013-05-08 | 北京邮电大学 | 基于奇异值分解算法的聚类协同过滤推荐系统 |
Non-Patent Citations (4)
Title |
---|
A Fuzzy Variant of k-Member Clustering for Collaborative Filtering With Data Anonymization;Katsuhiro Honda等;《IEEE》;20120615;第1-6页 * |
A new similarity function for selecting neighbors for each target item in collaborative filtering;Keunho Choi等;《ELSEVIER》;20131231;第146-153页 * |
基于用户属性和项目类别的协同过滤算法;黄霞等;《计算机与数字工程》;20121231;第40卷(第10期);第5-7页 * |
基于用户相似度的协同过滤推荐算法;荣辉桂等;《通信学报》;20140228;第35卷(第2期);第16-24页 * |
Also Published As
Publication number | Publication date |
---|---|
CN104731887A (zh) | 2015-06-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104731887B (zh) | 一种协同过滤中的用户相似度度量方法 | |
CN101315663B (zh) | 一种基于区域潜在语义特征的自然场景图像分类方法 | |
CN110555455A (zh) | 一种基于实体关系的在线交易欺诈检测方法 | |
CN102810113B (zh) | 一种针对复杂网络的混合型聚类方法 | |
CN107798346B (zh) | 一种基于Fréchet距离阈值的轨迹相似性快速匹配方法 | |
CN102880644B (zh) | 社区发现方法 | |
CN104239496B (zh) | 一种结合模糊权重相似性度量和聚类协同过滤的方法 | |
CN105389713A (zh) | 基于用户历史数据的移动流量套餐推荐算法 | |
CN107391670A (zh) | 一种融合协同过滤和用户属性过滤的混合推荐方法 | |
CN102750286B (zh) | 一种处理缺失数据的新型决策树分类器方法 | |
CN102184364A (zh) | 基于半监督学习的推荐系统托攻击检测方法 | |
CN108897789A (zh) | 一种跨平台的社交网络用户身份识别方法 | |
CN108763956A (zh) | 一种基于分形维数的流式数据差分隐私保护发布方法 | |
CN105808696A (zh) | 一种基于全局和局部特征的跨在线社交网络用户匹配方法 | |
CN104102699B (zh) | 一种聚簇图集合中的子图检索方法 | |
CN107784327A (zh) | 一种基于gn的个性化社区发现方法 | |
CN104077723A (zh) | 一种社交网络推荐系统及方法 | |
CN105678590A (zh) | 一种面向社交网络基于云模型的topN推荐方法 | |
CN112464107B (zh) | 一种基于多标签传播的社交网络重叠社区发现方法及装置 | |
CN103729467A (zh) | 一种社交网络中的社区结构发现方法 | |
CN108241619A (zh) | 一种基于用户多兴趣的推荐方法 | |
CN105608105B (zh) | 一种基于收听上下文的音乐推荐方法 | |
CN116383519A (zh) | 基于双加权的自注意力的群组推荐方法 | |
CN107832753B (zh) | 一种基于四值权重与多重分类的人脸特征提取方法 | |
CN103164487B (zh) | 一种基于密度与几何信息的数据聚类方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |