CN108363804A - 基于用户聚类的局部模型加权融合Top-N电影推荐方法 - Google Patents
基于用户聚类的局部模型加权融合Top-N电影推荐方法 Download PDFInfo
- Publication number
- CN108363804A CN108363804A CN201810169922.3A CN201810169922A CN108363804A CN 108363804 A CN108363804 A CN 108363804A CN 201810169922 A CN201810169922 A CN 201810169922A CN 108363804 A CN108363804 A CN 108363804A
- Authority
- CN
- China
- Prior art keywords
- user
- model
- film
- document
- theme
- 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.)
- Granted
Links
- 230000004927 fusion Effects 0.000 title claims abstract description 25
- 238000000034 method Methods 0.000 title claims abstract description 22
- 238000012549 training Methods 0.000 claims abstract description 54
- 239000011159 matrix material Substances 0.000 claims abstract description 52
- 239000013598 vector Substances 0.000 claims abstract description 48
- 230000003595 spectral effect Effects 0.000 claims abstract description 14
- 238000004364 calculation method Methods 0.000 claims description 10
- 238000012360 testing method Methods 0.000 claims description 9
- 238000013507 mapping Methods 0.000 claims description 7
- 239000000203 mixture Substances 0.000 claims description 6
- 230000000694 effects Effects 0.000 claims description 5
- 238000010276 construction Methods 0.000 claims description 4
- 150000001875 compounds Chemical class 0.000 claims description 3
- 238000002790 cross-validation Methods 0.000 claims description 3
- 230000001186 cumulative effect Effects 0.000 claims description 3
- 238000011478 gradient descent method Methods 0.000 claims description 3
- -1 number of users n Substances 0.000 claims description 3
- 201000003672 autosomal recessive hypophosphatemic rickets Diseases 0.000 claims 1
- 230000005611 electricity Effects 0.000 claims 1
- 239000000284 extract Substances 0.000 claims 1
- 238000001228 spectrum Methods 0.000 claims 1
- 238000007781 pre-processing Methods 0.000 abstract description 4
- 238000004140 cleaning Methods 0.000 abstract 1
- 238000012795 verification Methods 0.000 abstract 1
- 230000006870 function Effects 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 5
- 238000001914 filtration Methods 0.000 description 4
- 241000208340 Araliaceae Species 0.000 description 2
- 235000005035 Panax pseudoginseng ssp. pseudoginseng Nutrition 0.000 description 2
- 235000003140 Panax quinquefolius Nutrition 0.000 description 2
- 239000012141 concentrate Substances 0.000 description 2
- 235000008434 ginseng Nutrition 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 238000012800 visualization Methods 0.000 description 2
- 238000013499 data model Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000002156 mixing Methods 0.000 description 1
- 238000000465 moulding Methods 0.000 description 1
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/70—Information retrieval; Database structures therefor; File system structures therefor of video data
- G06F16/73—Querying
- G06F16/735—Filtering based on additional data, e.g. user or group profiles
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
Landscapes
- Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Computational Biology (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computational Linguistics (AREA)
- Multimedia (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
基于用户聚类的局部模型加权融合Top‑N电影推荐方法,包括:步骤1:数据预处理;对不活跃用户以及流行度很小的电影进行数据清洗;构造用户电影标签文档;把显式的评分信息转换成隐式反馈信息,构造用户‑电影隐式反馈矩阵A;步骤2:用户聚类;利用电影标签信息,通过LDA主题模型训练得到用户特征向量,用谱聚类算法实现用户聚类;步骤3确定局部推荐模型和进行全局推荐模型训练;步骤4模型加权融合推荐阶段;步骤5.通过留一法交叉验证来证明模型的有效性。
Description
技术领域
本发明涉及一种网络上的电影推荐方法。
背景技术
随着信息科技和社交网络的快速发展,互联网产生的数据近来呈指数式暴涨,大数据时代来临。随着数据量的增多,人们越来越难以从海量数据中发现自己真正想要的信息。此时,推荐***则能发挥它的最大应用价值。根据用户资料、物品信息以及用户历史行为数据,推荐算法能够准确预测用户的喜好,个性化地为用户推荐他们可能感兴趣的东西,大大降低了用户发现目标信息的成本。
推荐算法可分为基于内容的推荐以及协同过滤推荐。现代化的推荐***主要有两个任务,一个是评分预测,另一个是在现实商业场景中应用最多的Top-N推荐。Top-N推荐算法通过给用户推荐一个经过排名且大小为n的物品列表的方式让用户选择自己感兴趣的东西。Top-N推荐模型主要分为两种类型,分别是基于邻域的协同过滤和基于模型的协同过滤。前者又可细分为基于用户的邻域模型(UserKNN)和基于物品的邻域模型(ItemKNN),后者则以隐因子模型为代表。
俗话说“物以类聚人以群分”,不同用户群体内部往往会形成各自独特的行为模式,使得两个相同的物品在不同的人群中相似度发生改变。而单一推荐算法模型往往捕捉不到这些局部的相似度差别,它们认为两个相同的物品在任何场景中的相似度都是一致的,这些模型无法准确捕获用户的真实偏好,降低了个性化推荐的质量。通过训练多个局部推荐模型,再融合局部模型来提升总体推荐效果的推荐算法在一定程度上能解决以上问题,但是这些算法往往没有充分利用推荐场景提供的数据,利用到的数据比较单一,最终的推荐效果也一般。
发明内容
为了克服现有技术的单一模型无法准确捕获用户偏好以及多模型融合算法使用训练数据单一的问题,本发明提供一种新的基于用户聚类的局部模型加权融合电影推荐算法来实现电影的Top-N个性化推荐。
本发明利用电影的文本内容信息,通过LDA主题模型计算语义层次用户特征向量,并基于此通过谱聚类算法来实现用户聚类,构造局部人群。本发明进一步利用用户对电影的评分信息,通过稀疏线性模型构造局部推荐模型和全局推荐模型,通过局部模型和全局模型的线性加权融合来实现最终的电影Top-N个性化推荐。
基于用户聚类的局部模型加权融合Top-N电影推荐方法,总体流程如图1所示,具体包括如下步骤:
步骤1:数据预处理阶段。对一些不活跃用户以及流行度很小的电影进行数据清洗;构造用户电影标签文档;把显式的评分信息转换成隐式反馈信息,构造用户-电影隐式反馈矩阵A;
1.1对原始数据集进行数据清洗工作,剔除观影数小于20部电影的用户,同时剔除被评分次数小于20次的电影,得到新的训练数据集;
1.2统计新数据集里所有用户给电影打的标签生成一个标签字典,把用户看过的所有电影的标签组成的文档来表示当前用户,所有用户的文档组成一个语料库,计算文档中每个词在语料库中的TF-IDF值。词频TF,逆文档频IDF以及词频-逆文档频TF-IDF的计算公式如公式(1)(2)(3)所示;
TFIDFi,j=TFi,j×IDFi (3)
其中TFi,j表示词语ti在文档dj中的词频,ni,j表示词语ti在文档dj中出现的次数,∑knk,j表示文档dj中所有词语的出现次数之和。IDFi表示词ti的逆文档频,|D|表示语料库中文档的总数,|{j:ti∈dj}|表示包含词语ti的文档数目。TFIDFi,j表示文档dj中词语ti的词频逆文档频;
1.3把显式的评分信息如1-5分,转换成用0-1表示的隐式反馈信息,若当前用户对当前电影打过分则记为1,没打过分的电影即待推荐的电影记为0,得到一个n×m的用户-电影隐式反馈矩阵,用户数为n,电影数为m;
步骤2:用户聚类阶段。利用电影标签信息,通过LDA主题模型训练得到用户特征向量,用谱聚类算法实现用户聚类;
2.1LDA主题模型是一个文档-主题-单词的三层贝叶斯网络,给定一个语料库,该模型可以分析该语料库中每篇文档的主题分布,以及每个主题的词分布。它的联合概率如公式(4)所示;
θ表示一篇文档的主题分布,z表示一个主题,w表示一篇文档,α表示每篇文档下主题的多项分布的Dirichlet先验参数,β表示每个主题下词的多项分布的Dirichlet先验参数,N表示语料库中的文档数,zn表示一篇文档中第n个词的主题,wn表示一篇文档的第n个单词;
每部电影都有多个用户给它赋予的标签,把一个电影标签映射成一个单词wn,把一个用户看过的所有电影的标签组成的集合映射成一篇文档w,把用户所偏好的一类特定的电影类型映射成一个主题z。若数据集里共有n个用户,则可生成一个含有n篇文档的语料库以及一个字典,语料库中的每篇文档用字典长度的向量表示,向量中的每个值是对应字典中标签在该用户文档及语料库中的TF-IDF值;
为了能区分出更加独特的用户群体,不同主题之间的差异性越大越好。为了确定最佳主题个数,通过设置多个主题数训练多个LDA模型,计算每个LDA模型训练得到的主题向量之间的平均相似度,取主题向量平均相似度最小的模型对应的主题数作为模型最佳主题个数。通过LDA模型训练,得到每一篇文档的主题分布θ,用它来表示每一个用户的特征向量;
2.2利用以上步骤得到的用户特征向量(共n个),使用谱聚类算法实现对用户的聚类;
在聚类之前首先需要确定聚类个数。因为训练得到的每个用户向量的每一维度表示该用户属于对应主题的隶属度,故为了确定每个主题在当前用户群体中的重要性,把所有用户特征向量按维度做累加后再取平均,得到一个代表整体的主题强度向量,通过观察主题强度向量的值分布来确定最佳聚类个数。例如,在某次主题数为10的LDA训练过程中,按以上方法得到一个10维的主题强度向量,可视化如图2所示(纵轴表示主题强度,横轴为主题),通过观察可以看到主题2、9、3、8、6在当前数据集中强度最大,说明喜欢看这些类型电影的人最多,故当前情况使用谱聚类算法把用户聚成5类较适宜。谱聚类算法具体步骤如下:
(1)计算n×n的相似度矩阵W和度矩阵D;
(2)计算拉普拉斯矩阵L=D-W;
(3)计算L的前k个特征向量t1,t2,…,tk;
(4)将k个列向量t1,t2,…,tk组成矩阵T,T∈Rn×k;
(5)对于i=1,…,n,令yi∈Rk是T的第i行向量;
(6)使用K-Means算法将用户(yi)i=1,2,…,n聚类成簇C1,C2,…,Ck;
对于每个用户聚类,把原始隐式反馈训练矩阵A中不属于该聚类的用户行向量都置为0,每个聚类都生成一个对应的局部隐式反馈训练矩阵Pu表示聚类编号,且Pu∈{1,…,k};
步骤3确定局部推荐模型和进行全局推荐模型训练。稀疏线性模型SLIM的损失函数如公式(5)所示;
其中,A表示原始的用户-电影隐式反馈矩阵,α和ρ控制L1和L2范数的权重,通过最小化该损失函数可以获得一个大小为m×m的电影相似度稀疏矩阵W。该模型中L1范数控制W稀疏程度,L2范数控制模型的复杂度,防止模型过拟合。该模型通过随机梯度下降法,并行训练W矩阵的每一列wj来得到最终的W矩阵,如公式(6)所示;
其中,aj表示矩阵A中的第j列。用户i关于电影j的预测推荐度计算公式如公式(7)所示;
使用稀疏线性模型SLIM作为基本推荐模型构建全局推荐模型和局部推荐模型,利用全局隐式反馈训练矩阵A训练得到全局电影相似度矩阵W,利用局部隐式反馈训练矩阵训练得到每个聚类对应的局部电影相似度矩阵
步骤4模型加权融合推荐阶段。局部模型加权融合推荐度计算公式如公式(8)所示;
其中表示电影j对于用户u的加权融合推荐度,Ru为与用户u发生过交互的所有电影的集合,wlj为电影l和电影j在全局模型中的相似度,为电影l和电影j在用户u所属的聚类Pu对应的局部模型中的相似度,参数g为全局模型的权重参数。通过调节参数g来控制全局模型和局部模型在融合模型中的权重比例,通过确定最优权重参数g获得融合模型的最佳推荐效果。可以通过实验来确定在当前数据集中最佳的全局模型权重参数。在确定了模型中的所有参数之后,通过计算所有电影关于当前用户u的加权融合推荐度,按从大到小的排序,同时删除已经与当前用户发生过交互的电影,取排在前N位的电影推荐给当前用户;
步骤5.该推荐方法可通过留一法交叉验证来证明模型的有效性。可以从每个用户的电影评分集合中随机抽取一部电影放入测试集中,其他电影用来作为模型的训练集。然后用训练好的模型为每个用户推荐一个Top-N的电影列表,观察测试集里该用户的对应那一部电影是否出现在推荐列表中以及其出现在列表中的具***置pi。最后,可以用命中率(HR)和平均排名命中率(ARHR)两个指标来衡量模型的推荐质量,其中#hits表示推荐命中数,#users表示用户总数,它们的定义如公式(9)、(10)所示;
推荐方法流程步骤至此结束。
本发明综合上述技术提出了基于用户聚类的局部模型加权融合Top-N电影推荐算法。为了解决传统单一推荐模型无法准确估计物品的局部差异性,导致无法准确捕获用户偏好的问题,提出了分别训练全局推荐模型和基于用户聚类的局部推荐模型,通过模型之间的线性加权融合来实现电影的Top-N推荐。另外,为了充分使用电影推荐场景中的数据,从多个维度来提升推荐的质量,本发明利用电影标签信息,通过LDA主题模型来实现对用户在语义层次的特征向量的计算,实现用户在语义层次族群的划分。
本发明的优点是:(1)算法思路新颖。使用稀疏线性模型作为基本推荐模型,分别训练全局推荐模型和基于用户聚类的局部推荐模型,最后通过线性加权融合生成最终的融合模型,这一思路能够处理电影的在不同人群中的相似度差异,有效克服了单一模型无法准确捕获用户偏好的问题。(2)多维度提升推荐质量。除了使用传统的评分数据来训练推荐模型,在用户聚类阶段,本发明通过引入电影标签数据,利用LDA主题模型分析人群在语义层次上的主题属性,得到用户特征向量并用谱聚类算法实现人群聚类,进一步提升了推荐的质量。(3)算法实现简单快速。在局部模型和全局模型训练阶段,由于各模型之间互相独立,各模型相似度矩阵的每一列之间也相互独立,故可采用并行训练的方法,极大降低了模型的训练时间,提升了模型训练的效率。(4)推荐质量较优。本发明提出的局部模型加权融合推荐算法是内容推荐、基于邻域的协同过滤、基于模型的协同过滤三者的有效结合,充分利用了每种推荐算法的优点,又弥补了互相之间的不足,相比于单一使用某种推荐算法,在推荐质量上有了极大的提升。
附图说明
图1是本发明方法的总流程图;
图2是本发明方法的主题强度分布图。
具体实施方式
参照图1技术方案总流程图,本发明共有四个阶段,分别是:数据预处理阶段、用户聚类阶段、全局推荐模型和局部推荐模型训练阶段以及推荐模型线性加权融合阶段。数据预处理阶段是对数据集进行清洗,剔除掉一些不活跃用户和冷门电影,构造用于LDA主题模型训练的语料库和用于稀疏线性模型训练的用户电影隐式反馈训练矩阵;用户聚类阶段,使用第一阶段得到的用户语料库通过训练LDA主题模型,得到用户特征向量,通过谱聚类算法实现对用户的聚类,每个聚类生成一个局部隐式反馈训练矩阵;全局推荐模型和局部推荐模型训练阶段,用原始隐式反馈矩阵和局部隐式反馈矩阵分别通过稀疏线性模型训练得到全局模型和局部模型;模型线性加权融合推荐阶段,把前一步得到的全局模型和局部模型通过线性加权的方式融合得到最终的推荐模型。
本发明的输入为用户观影的评分数据、以及电影的标签数据,输出为针对用户的Top-N个性化电影推荐列表。
具体步骤如下:
步骤1:数据预处理阶段。对一些不活跃用户以及流行度很小的电影进行数据清洗;构造用户电影标签文档;把显式的评分信息转换成隐式反馈信息,构造用户-电影隐式反馈矩阵A;
1.1对原始数据集进行数据清洗工作,剔除观影数小于20部电影的用户,同时剔除被评分次数小于20次的电影,得到新的训练数据集;
1.2统计新数据集里所有用户给电影打的标签生成一个标签字典,把用户看过的所有电影的标签组成的文档来表示当前用户,所有用户的文档组成一个语料库,计算文档中每个词在语料库中的TF-IDF值。TF(词频),IDF(逆文档频)以及TF-IDF(词频-逆文档频)的计算公式如公式(1)(2)(3)所示;
TFIDFi,j=TFi,j×IDFi (3)
其中TFi,j表示词语ti在文档dj中的词频,ni,j表示词语ti在文档dj中出现的次数,∑knk,j表示文档dj中所有词语的出现次数之和。IDFi表示词ti的逆文档频,|D|表示语料库中文档的总数,|{j:ti∈dj}|表示包含词语ti的文档数目。TFIDFi,j表示文档dj中词语ti的词频逆文档频;
1.3把显式的评分信息如1-5分,转换成用0-1表示的隐式反馈信息,若当前用户对当前电影打过分则记为1,没打过分的电影即待推荐的电影记为0,得到一个n×m的用户-电影隐式反馈矩阵,用户数为n,电影数为m;
步骤2:用户聚类阶段。利用电影标签信息,通过LDA主题模型训练得到用户特征向量,用谱聚类算法实现用户聚类;
2.1LDA主题模型是一个文档-主题-单词的三层贝叶斯网络,给定一个语料库,该模型可以分析该语料库中每篇文档的主题分布,以及每个主题的词分布。它的联合概率如公式(4)所示;
θ表示一篇文档的主题分布,z表示一个主题,w表示一篇文档,α表示每篇文档下主题的多项分布的Dirichlet先验参数,β表示每个主题下词的多项分布的Dirichlet先验参数,N表示语料库中的文档数,zn表示一篇文档中第n个词的主题,wn表示一篇文档的第n个单词;
每部电影都有多个用户给它赋予的标签,把一个电影标签映射成一个单词wn,把一个用户看过的所有电影的标签组成的集合映射成一篇文档w,把用户所偏好的一类特定的电影类型映射成一个主题z。若数据集里共有n个用户,则可生成一个含有n篇文档的语料库以及一个字典,语料库中的每篇文档用字典长度的向量表示,向量中的每个值是对应字典中标签在该用户文档及语料库中的TF-IDF值;
为了能区分出更加独特的用户群体,不同主题之间的差异性越大越好。为了确定最佳主题个数,通过设置多个主题数训练多个LDA模型,计算每个LDA模型训练得到的主题向量之间的平均相似度,取主题向量平均相似度最小的模型对应的主题数作为模型最佳主题个数。通过LDA模型训练,得到每一篇文档的主题分布θ,用它来表示每一个用户的特征向量;
2.2利用以上步骤得到的用户特征向量(共n个),使用谱聚类算法实现对用户的聚类;
在聚类之前首先需要确定聚类个数。因为训练得到的每个用户向量的每一维度表示该用户属于对应主题的隶属度,故为了确定每个主题在当前用户群体中的重要性,把所有用户特征向量按维度做累加后再取平均,得到一个代表整体的主题强度向量,通过观察主题强度向量的值分布来确定最佳聚类个数。例如,在某次主题数为10的LDA训练过程中,按以上方法得到一个10维的主题强度向量,可视化如图2所示(纵轴表示主题强度,横轴为主题),通过观察可以看到主题2、9、3、8、6在当前数据集中强度最大,说明喜欢看这些类型电影的人最多,故当前情况使用谱聚类算法把用户聚成5类较适宜。谱聚类算法具体步骤如下:
(1)计算n×n的相似度矩阵W和度矩阵D;
(2)计算拉普拉斯矩阵L=D-W;
(3)计算L的前k个特征向量t1,t2,…,tk;
(4)将k个列向量t1,t2,…,tk组成矩阵T,T∈Rn×k;
(5)对于i=1,…,n,令yi∈Rk是T的第i行向量;
(6)使用K-Means算法将用户(yi)i=1,2,…,n聚类成簇C1,C2,…,Ck;
对于每个用户聚类,把原始隐式反馈训练矩阵A中不属于该聚类的用户行向量都置为0,每个聚类都生成一个对应的局部隐式反馈训练矩阵Pu表示聚类编号,且Pu∈{1,…,k};
步骤3确定局部推荐模型和进行全局推荐模型训练。稀疏线性模型SLIM的损失函数如公式(5)所示;
其中,A表示原始的用户-电影隐式反馈矩阵,α和ρ控制L1和L2范数的权重,通过最小化该损失函数可以获得一个大小为m×m的电影相似度稀疏矩阵W。该模型中L1范数控制W稀疏程度,L2范数控制模型的复杂度,防止模型过拟合。该模型通过随机梯度下降法,并行训练W矩阵的每一列wj来得到最终的W矩阵,如公式(6)所示;
其中,aj表示矩阵A中的第j列。用户i关于电影j的预测推荐度计算公式如公式(7)所示;
使用稀疏线性模型SLIM作为基本推荐模型构建全局推荐模型和局部推荐模型,利用全局隐式反馈训练矩阵A训练得到全局电影相似度矩阵W,利用局部隐式反馈训练矩阵训练得到每个聚类对应的局部电影相似度矩阵
步骤4模型加权融合推荐阶段。局部模型加权融合推荐度计算公式如公式(8)所示;
其中表示电影j对于用户u的加权融合推荐度,Ru为与用户u发生过交互的所有电影的集合,wlj为电影l和电影j在全局模型中的相似度,为电影l和电影j在用户u所属的聚类Pu对应的局部模型中的相似度,参数g为全局模型的权重参数。通过调节参数g来控制全局模型和局部模型在融合模型中的权重比例,通过确定最优权重参数g获得融合模型的最佳推荐效果。可以通过实验来确定在当前数据集中最佳的全局模型权重参数。在确定了模型中的所有参数之后,通过计算所有电影关于当前用户u的加权融合推荐度,按从大到小的排序,同时删除已经与当前用户发生过交互的电影,取排在前N位的电影推荐给当前用户;
步骤5.该推荐方法可通过留一法交叉验证来证明模型的有效性。可以从每个用户的电影评分集合中随机抽取一部电影放入测试集中,其他电影用来作为模型的训练集。然后用训练好的模型为每个用户推荐一个Top-N的电影列表,观察测试集里该用户的对应那一部电影是否出现在推荐列表中以及其出现在列表中的具***置pi。最后,可以用命中率(HR)和平均排名命中率(ARHR)两个指标来衡量模型的推荐质量,其中#hits表示推荐命中数,#users表示用户总数,它们的定义如公式(9)、(10)所示;
推荐方法流程步骤至此结束。
本说明书实施例所述的内容仅仅是对发明构思的实现形式的列举,本发明的保护范围不应当被视为仅限于实施例所陈述的具体形式,本发明的保护范围也及于本领域技术人员根据本发明构思所能够想到的等同技术手段。
Claims (1)
1.基于用户聚类的局部模型加权融合Top-N电影推荐方法,具体包括如下步骤:
步骤1:数据预处理;对不活跃用户以及流行度很小的电影进行数据清洗;构造用户电影标签文档;把显式的评分信息转换成隐式反馈信息,构造用户-电影隐式反馈矩阵A;
1.1对原始数据集进行数据清洗工作,剔除观影数小于20部电影的用户,同时剔除被评分次数小于20次的电影,得到新的训练数据集;
1.2统计新数据集里所有用户给电影打的标签生成一个标签字典,把用户看过的所有电影的标签组成的文档来表示当前用户,所有用户的文档组成一个语料库,计算文档中每个词在语料库中的TF-IDF值;词频TF,逆文档频IDF以及词频-逆文档频TF-IDF的计算公式如公式(1)(2)(3)所示;
TFIDFi,j=TFi,j×IDFi (3)
其中TFi,j表示词语ti在文档dj中的词频,ni,j表示词语ti在文档dj中出现的次数,∑knk,j表示文档dj中所有词语的出现次数之和;IDFi表示词ti的逆文档频,|D|表示语料库中文档的总数,|{j:ti∈dj}|表示包含词语ti的文档数目;TFIDFi,j表示文档dj中词语ti的词频逆文档频;
1.3把显式的评分信息如1—5分,转换成用0-1表示的隐式反馈信息,若当前用户对当前电影打过分则记为1,没打过分的电影即待推荐的电影记为0,得到一个n×m的用户-电影隐式反馈矩阵,用户数为n,电影数为m;
步骤2:用户聚类;利用电影标签信息,通过LDA主题模型训练得到用户特征向量,用谱聚类算法实现用户聚类;
2.1 LDA主题模型是一个文档-主题-单词的三层贝叶斯网络,给定一个语料库,LDA主题模型分析该语料库中每篇文档的主题分布,以及每个主题的词分布;主题的词分布的联合概率如公式(4)所示;
θ表示一篇文档的主题分布,z表示一个主题,w表示一篇文档,α表示每篇文档下主题的多项分布的Dirichlet先验参数,β表示每个主题下词的多项分布的Dirichlet先验参数,N表示语料库中的文档数,zn表示一篇文档中第n个词的主题,wn表示一篇文档的第n个单词;
每部电影都有多个用户给它赋予的标签,把一个电影标签映射成一个单词wn,把一个用户看过的所有电影的标签组成的集合映射成一篇文档w,把用户所偏好的一类特定的电影类型映射成一个主题z;若数据集里共有n个用户,则可生成一个含有n篇文档的语料库以及一个字典,语料库中的每篇文档用字典长度的向量表示,向量中的每个值是对应字典中标签在该用户文档及语料库中的TF-IDF值;
为了能区分出更加独特的用户群体,不同主题之间的差异性越大越好;为了确定最佳主题个数,通过设置多个主题数训练多个LDA模型,计算每个LDA模型训练得到的主题向量之间的平均相似度,取主题向量平均相似度最小的模型对应的主题数作为模型最佳主题个数;通过LDA模型训练,得到每一篇文档的主题分布θ,用它来表示每一个用户的特征向量;
2.2利用以上步骤得到的n个用户特征向量,使用谱聚类算法实现对用户的聚类;
在聚类之前首先需要确定聚类个数;因为训练得到的每个用户向量的每一维度表示该用户属于对应主题的隶属度,故为了确定每个主题在当前用户群体中的重要性,把所有用户特征向量按维度做累加后再取平均,得到一个代表整体的主题强度向量,通过观察主题强度向量的值分布来确定最佳聚类个数;;谱聚类算法具体步骤如下:
(1)计算n×n的相似度矩阵W和度矩阵D;
(2)计算拉普拉斯矩阵L=D-W;
(3)计算L的前k个特征向量t1,t2,…,tk;
(4)将k个列向量t1,t2,…,tk组成矩阵T,T∈Rn×k;
(5)对于i=1,…,n,令yi∈Rk是T的第i行向量;
(6)使用K-Means算法将用户(yi)i=1,2,...,n聚类成簇C1,C2,…,Ck;
对于每个用户聚类,把原始隐式反馈训练矩阵A中不属于该聚类的用户行向量都置为0,每个聚类都生成一个对应的局部隐式反馈训练矩阵Pu表示聚类编号,且Pu∈{1,...,k};
步骤3确定局部推荐模型和进行全局推荐模型训练;稀疏线性模型SLIM的损失函数如公式(5)所示;
其中,A表示原始的用户-电影隐式反馈矩阵,α和ρ控制L1和L2范数的权重,通过最小化该损失函数可以获得一个大小为m×m的电影相似度稀疏矩阵W;该模型中L1范数控制W稀疏程度,L2范数控制模型的复杂度,防止模型过拟合;该模型通过随机梯度下降法,并行训练W矩阵的每一列wj来得到最终的W矩阵,如公式(6)所示;
其中,aj表示矩阵A中的第j列;用户i关于电影j的预测推荐度计算公式如公式(7)所示;
使用稀疏线性模型SLIM作为基本推荐模型构建全局推荐模型和局部推荐模型,利用全局隐式反馈训练矩阵A训练得到全局电影相似度矩阵W,利用局部隐式反馈训练矩阵训练得到每个聚类对应的局部电影相似度矩阵
步骤4模型加权融合推荐阶段;局部模型加权融合推荐度计算公式如公式(8)所示;
其中表示电影j对于用户u的加权融合推荐度,Ru为与用户u发生过交互的所有电影的集合,wlj为电影l和电影j在全局模型中的相似度,为电影l和电影j在用户u所属的聚类Pu对应的局部模型中的相似度,参数g为全局模型的权重参数;通过调节参数g来控制全局模型和局部模型在融合模型中的权重比例,通过确定最优权重参数g获得融合模型的最佳推荐效果;通过实验来确定在当前数据集中最佳的全局模型权重参数;在确定了模型中的所有参数之后,通过计算所有电影关于当前用户u的加权融合推荐度,按从大到小的排序,同时删除已经与当前用户发生过交互的电影,取排在前N位的电影推荐给当前用户;
步骤5.通过留一法交叉验证来证明模型的有效性;从每个用户的电影评分集合中随机抽取一部电影放入测试集中,其他电影用来作为模型的训练集;然后用训练好的模型为每个用户推荐一个Top-N的电影列表,观察测试集里该用户的对应那一部电影是否出现在推荐列表中以及其出现在列表中的具***置pi;最后,用命中率HR和平均排名命中率ARHR两个指标来衡量模型的推荐质量,其中#hits表示推荐命中数,#users表示用户总数,如公式(9)、(10)所示;
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810169922.3A CN108363804B (zh) | 2018-03-01 | 2018-03-01 | 基于用户聚类的局部模型加权融合Top-N电影推荐方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810169922.3A CN108363804B (zh) | 2018-03-01 | 2018-03-01 | 基于用户聚类的局部模型加权融合Top-N电影推荐方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108363804A true CN108363804A (zh) | 2018-08-03 |
CN108363804B CN108363804B (zh) | 2020-08-21 |
Family
ID=63002919
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810169922.3A Active CN108363804B (zh) | 2018-03-01 | 2018-03-01 | 基于用户聚类的局部模型加权融合Top-N电影推荐方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108363804B (zh) |
Cited By (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109408702A (zh) * | 2018-08-29 | 2019-03-01 | 昆明理工大学 | 一种基于稀疏边缘降噪自动编码的混合推荐方法 |
CN110008377A (zh) * | 2019-03-27 | 2019-07-12 | 华南理工大学 | 一种利用用户属性进行电影推荐的方法 |
CN110069663A (zh) * | 2019-04-29 | 2019-07-30 | 厦门美图之家科技有限公司 | 视频推荐方法及装置 |
CN110084670A (zh) * | 2019-04-15 | 2019-08-02 | 东北大学 | 一种基于lda-mlp的货架商品组合推荐方法 |
CN110443502A (zh) * | 2019-08-06 | 2019-11-12 | 合肥工业大学 | 基于工人能力测评的众包任务推荐方法和*** |
CN110795570A (zh) * | 2019-10-11 | 2020-02-14 | 上海上湖信息技术有限公司 | 一种用户时序行为特征提取方法及装置 |
CN111008334A (zh) * | 2019-12-04 | 2020-04-14 | 华中科技大学 | 基于局部成对排序和全局决策融合的Top-K推荐方法和*** |
CN111309873A (zh) * | 2018-11-23 | 2020-06-19 | 北京嘀嘀无限科技发展有限公司 | 数据处理方法、装置、电子设备及存储介质 |
CN111309874A (zh) * | 2018-11-23 | 2020-06-19 | 北京嘀嘀无限科技发展有限公司 | 数据处理方法、装置、电子设备及存储介质 |
CN111460046A (zh) * | 2020-03-06 | 2020-07-28 | 合肥海策科技信息服务有限公司 | 一种基于大数据的科技信息聚类方法 |
CN111581522A (zh) * | 2020-06-05 | 2020-08-25 | 预见你情感(北京)教育咨询有限公司 | 一种基于用户身份辨别的社交分析方法 |
CN111897999A (zh) * | 2020-07-27 | 2020-11-06 | 九江学院 | 一种用于视频推荐且基于lda的深度学习模型构建方法 |
CN111984856A (zh) * | 2019-07-25 | 2020-11-24 | 北京嘀嘀无限科技发展有限公司 | 信息推送方法、装置、服务器及计算机可读存储介质 |
CN112184391A (zh) * | 2020-10-16 | 2021-01-05 | 中国科学院计算技术研究所 | 一种推荐模型的训练方法、介质、电子设备和推荐模型 |
CN112348629A (zh) * | 2020-10-26 | 2021-02-09 | 邦道科技有限公司 | 一种商品信息推送方法和装置 |
CN112364245A (zh) * | 2020-11-20 | 2021-02-12 | 浙江工业大学 | 基于异构信息网络嵌入的Top-K电影推荐方法 |
CN112395487A (zh) * | 2019-08-14 | 2021-02-23 | 腾讯科技(深圳)有限公司 | 信息推荐方法、装置、计算机可读存储介质及电子设备 |
CN112925926A (zh) * | 2021-01-28 | 2021-06-08 | 北京达佳互联信息技术有限公司 | 多媒体推荐模型的训练方法、装置、服务器以及存储介质 |
CN113111251A (zh) * | 2020-01-10 | 2021-07-13 | 阿里巴巴集团控股有限公司 | 项目推荐方法、装置及*** |
CN113268670A (zh) * | 2021-06-16 | 2021-08-17 | 中移(杭州)信息技术有限公司 | 潜在因子混合推荐方法、装置、设备及计算机存储介质 |
CN113342963A (zh) * | 2021-04-29 | 2021-09-03 | 山东大学 | 一种基于迁移学习的服务推荐方法及*** |
CN113449147A (zh) * | 2021-07-06 | 2021-09-28 | 乐视云计算有限公司 | 基于主题的视频推荐方法和装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103544216A (zh) * | 2013-09-23 | 2014-01-29 | Tcl集团股份有限公司 | 一种结合图像内容和关键字的信息推荐方法及*** |
US20150120742A1 (en) * | 2012-06-21 | 2015-04-30 | Tencent Technology (Shenzhen) Company Limited | Method and system for processing recommended target software |
CN107609201A (zh) * | 2017-10-25 | 2018-01-19 | 广东工业大学 | 一种基于推荐***的推荐模型生成方法及相关装置 |
-
2018
- 2018-03-01 CN CN201810169922.3A patent/CN108363804B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150120742A1 (en) * | 2012-06-21 | 2015-04-30 | Tencent Technology (Shenzhen) Company Limited | Method and system for processing recommended target software |
CN103544216A (zh) * | 2013-09-23 | 2014-01-29 | Tcl集团股份有限公司 | 一种结合图像内容和关键字的信息推荐方法及*** |
CN107609201A (zh) * | 2017-10-25 | 2018-01-19 | 广东工业大学 | 一种基于推荐***的推荐模型生成方法及相关装置 |
Non-Patent Citations (2)
Title |
---|
EVANGELIA CHRISTAKOPOULOU: "Local item-item models for top-n recommendation", 《ACM》 * |
李倩: "基于谱聚类与多因子融合的协同过滤推荐算法", 《计算机应用研究》 * |
Cited By (33)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109408702B (zh) * | 2018-08-29 | 2021-07-16 | 昆明理工大学 | 一种基于稀疏边缘降噪自动编码的混合推荐方法 |
CN109408702A (zh) * | 2018-08-29 | 2019-03-01 | 昆明理工大学 | 一种基于稀疏边缘降噪自动编码的混合推荐方法 |
CN111309873A (zh) * | 2018-11-23 | 2020-06-19 | 北京嘀嘀无限科技发展有限公司 | 数据处理方法、装置、电子设备及存储介质 |
CN111309874A (zh) * | 2018-11-23 | 2020-06-19 | 北京嘀嘀无限科技发展有限公司 | 数据处理方法、装置、电子设备及存储介质 |
CN110008377A (zh) * | 2019-03-27 | 2019-07-12 | 华南理工大学 | 一种利用用户属性进行电影推荐的方法 |
CN110008377B (zh) * | 2019-03-27 | 2021-09-21 | 华南理工大学 | 一种利用用户属性进行电影推荐的方法 |
CN110084670A (zh) * | 2019-04-15 | 2019-08-02 | 东北大学 | 一种基于lda-mlp的货架商品组合推荐方法 |
CN110084670B (zh) * | 2019-04-15 | 2022-03-25 | 东北大学 | 一种基于lda-mlp的货架商品组合推荐方法 |
CN110069663A (zh) * | 2019-04-29 | 2019-07-30 | 厦门美图之家科技有限公司 | 视频推荐方法及装置 |
CN110069663B (zh) * | 2019-04-29 | 2021-06-04 | 厦门美图之家科技有限公司 | 视频推荐方法及装置 |
CN111984856A (zh) * | 2019-07-25 | 2020-11-24 | 北京嘀嘀无限科技发展有限公司 | 信息推送方法、装置、服务器及计算机可读存储介质 |
CN110443502A (zh) * | 2019-08-06 | 2019-11-12 | 合肥工业大学 | 基于工人能力测评的众包任务推荐方法和*** |
CN112395487A (zh) * | 2019-08-14 | 2021-02-23 | 腾讯科技(深圳)有限公司 | 信息推荐方法、装置、计算机可读存储介质及电子设备 |
CN112395487B (zh) * | 2019-08-14 | 2024-04-26 | 腾讯科技(深圳)有限公司 | 信息推荐方法、装置、计算机可读存储介质及电子设备 |
CN110795570B (zh) * | 2019-10-11 | 2022-06-17 | 上海上湖信息技术有限公司 | 一种用户时序行为特征提取方法及装置 |
CN110795570A (zh) * | 2019-10-11 | 2020-02-14 | 上海上湖信息技术有限公司 | 一种用户时序行为特征提取方法及装置 |
CN111008334B (zh) * | 2019-12-04 | 2023-04-18 | 华中科技大学 | 基于局部成对排序和全局决策融合的Top-K推荐方法和*** |
CN111008334A (zh) * | 2019-12-04 | 2020-04-14 | 华中科技大学 | 基于局部成对排序和全局决策融合的Top-K推荐方法和*** |
CN113111251A (zh) * | 2020-01-10 | 2021-07-13 | 阿里巴巴集团控股有限公司 | 项目推荐方法、装置及*** |
CN111460046A (zh) * | 2020-03-06 | 2020-07-28 | 合肥海策科技信息服务有限公司 | 一种基于大数据的科技信息聚类方法 |
CN111581522A (zh) * | 2020-06-05 | 2020-08-25 | 预见你情感(北京)教育咨询有限公司 | 一种基于用户身份辨别的社交分析方法 |
CN111897999A (zh) * | 2020-07-27 | 2020-11-06 | 九江学院 | 一种用于视频推荐且基于lda的深度学习模型构建方法 |
CN111897999B (zh) * | 2020-07-27 | 2023-06-16 | 九江学院 | 一种用于视频推荐且基于lda的深度学习模型构建方法 |
CN112184391B (zh) * | 2020-10-16 | 2023-10-10 | 中国科学院计算技术研究所 | 一种推荐模型的训练方法、介质、电子设备和推荐模型 |
CN112184391A (zh) * | 2020-10-16 | 2021-01-05 | 中国科学院计算技术研究所 | 一种推荐模型的训练方法、介质、电子设备和推荐模型 |
CN112348629A (zh) * | 2020-10-26 | 2021-02-09 | 邦道科技有限公司 | 一种商品信息推送方法和装置 |
CN112364245B (zh) * | 2020-11-20 | 2021-12-21 | 浙江工业大学 | 基于异构信息网络嵌入的Top-K电影推荐方法 |
CN112364245A (zh) * | 2020-11-20 | 2021-02-12 | 浙江工业大学 | 基于异构信息网络嵌入的Top-K电影推荐方法 |
CN112925926A (zh) * | 2021-01-28 | 2021-06-08 | 北京达佳互联信息技术有限公司 | 多媒体推荐模型的训练方法、装置、服务器以及存储介质 |
CN113342963A (zh) * | 2021-04-29 | 2021-09-03 | 山东大学 | 一种基于迁移学习的服务推荐方法及*** |
CN113268670B (zh) * | 2021-06-16 | 2022-09-27 | 中移(杭州)信息技术有限公司 | 潜在因子混合推荐方法、装置、设备及计算机存储介质 |
CN113268670A (zh) * | 2021-06-16 | 2021-08-17 | 中移(杭州)信息技术有限公司 | 潜在因子混合推荐方法、装置、设备及计算机存储介质 |
CN113449147A (zh) * | 2021-07-06 | 2021-09-28 | 乐视云计算有限公司 | 基于主题的视频推荐方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN108363804B (zh) | 2020-08-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108363804A (zh) | 基于用户聚类的局部模型加权融合Top-N电影推荐方法 | |
CN108763362B (zh) | 基于随机锚点对选择的局部模型加权融合Top-N电影推荐方法 | |
CN110162693B (zh) | 一种信息推荐的方法以及服务器 | |
Phorasim et al. | Movies recommendation system using collaborative filtering and k-means | |
CN109145112A (zh) | 一种基于全局信息注意力机制的商品评论分类方法 | |
CN107220365A (zh) | 基于协同过滤与关联规则并行处理的精准推荐***及方法 | |
CN108665323A (zh) | 一种用于理财产品推荐***的集成方法 | |
CN104063481A (zh) | 一种基于用户实时兴趣向量的电影个性化推荐方法 | |
CN110263257A (zh) | 基于深度学习的多源异构数据混合推荐模型 | |
CN108228867A (zh) | 一种基于观点增强的主题协同过滤推荐方法 | |
CN109214454B (zh) | 一种面向微博的情感社区分类方法 | |
CN108334592A (zh) | 一种基于内容与协同过滤相结合的个性化推荐方法 | |
CN108920521A (zh) | 基于伪本体的用户画像-项目推荐***及方法 | |
Liu et al. | Using collaborative filtering algorithms combined with Doc2Vec for movie recommendation | |
KR20170027576A (ko) | 연구 이력 매칭 기반의 연구자 추천 장치 및 방법 | |
CN107180078A (zh) | 一种基于用户兴趣学习的垂直搜索方法 | |
Li et al. | On integrating multiple type preferences into competitive analyses of customer requirements in product planning | |
Desai | Sentiment analysis of Twitter data | |
CN110457477A (zh) | 一种面向社交网络的兴趣社群发现方法 | |
CN112000804A (zh) | 一种微博热点话题用户群情感倾向性分析方法 | |
Barkan et al. | Cold start revisited: A deep hybrid recommender with cold-warm item harmonization | |
CN109902131A (zh) | 一种基于对偶自编码器的组推荐方法 | |
Cai et al. | An extension of social network group decision-making based on trustrank and personas | |
CN113672818B (zh) | 一种获取社交媒体用户画像的方法及*** | |
Hoang et al. | Academic event recommendation based on research similarity and exploring interaction between authors |
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 |