CN108363804B - 基于用户聚类的局部模型加权融合Top-N电影推荐方法 - Google Patents

基于用户聚类的局部模型加权融合Top-N电影推荐方法 Download PDF

Info

Publication number
CN108363804B
CN108363804B CN201810169922.3A CN201810169922A CN108363804B CN 108363804 B CN108363804 B CN 108363804B CN 201810169922 A CN201810169922 A CN 201810169922A CN 108363804 B CN108363804 B CN 108363804B
Authority
CN
China
Prior art keywords
user
model
movie
document
topic
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
CN201810169922.3A
Other languages
English (en)
Other versions
CN108363804A (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.)
Zhejiang University of Technology ZJUT
Original Assignee
Zhejiang University of Technology ZJUT
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 Zhejiang University of Technology ZJUT filed Critical Zhejiang University of Technology ZJUT
Priority to CN201810169922.3A priority Critical patent/CN108363804B/zh
Publication of CN108363804A publication Critical patent/CN108363804A/zh
Application granted granted Critical
Publication of CN108363804B publication Critical patent/CN108363804B/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/70Information retrieval; Database structures therefor; File system structures therefor of video data
    • G06F16/73Querying
    • G06F16/735Filtering based on additional data, e.g. user or group profiles
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering 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推荐。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)所示;
Figure GDA0002399965690000021
Figure GDA0002399965690000022
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的用户—电影隐式反馈矩阵A,用户数为n,电影数为m;
步骤2:用户聚类阶段。利用电影标签信息,通过LDA主题模型训练得到用户特征向量,用谱聚类算法实现用户聚类;
2.1LDA主题模型是一个文档-主题-单词的三层贝叶斯网络,给定一个语料库,该模型可以分析该语料库中每篇文档的主题分布,以及每个主题的词分布。它的联合概率如公式(4)所示;
Figure GDA0002399965690000023
θ表示一篇文档的主题分布,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,每个聚类都生成一个对应的局部隐式反馈训练矩阵
Figure GDA0002399965690000031
Pu表示聚类编号,且Pu∈{1,…,k};
步骤3确定局部推荐模型和进行全局推荐模型训练。稀疏线性模型SLIM的损失函数如公式(5)所示;
Figure GDA0002399965690000041
其中,A表示用户—电影隐式反馈矩阵,α和ρ控制L1和L2范数的权重,通过最小化该损失函数可以获得一个大小为m×m的电影相似度稀疏矩阵W。该模型中L1范数控制W稀疏程度,L2范数控制模型的复杂度,防止模型过拟合。该模型通过随机梯度下降法,并行训练W矩阵的每一列wj来得到最终的W矩阵,如公式(6)所示;
Figure GDA0002399965690000042
其中,aj表示矩阵A中的第j列。用户i关于电影j的预测推荐度
Figure GDA0002399965690000043
计算公式如公式(7)所示;
Figure GDA0002399965690000044
使用稀疏线性模型SLIM作为基本推荐模型构建全局推荐模型和局部推荐模型,利用用户—电影隐式反馈矩阵A训练得到全局电影相似度矩阵W,利用局部隐式反馈训练矩阵
Figure GDA0002399965690000045
训练得到每个聚类对应的局部电影相似度矩阵
Figure GDA0002399965690000046
步骤4模型加权融合推荐阶段。局部模型加权融合推荐度计算公式如公式(8)所示;
Figure GDA0002399965690000047
其中
Figure GDA0002399965690000048
表示电影j对于用户u的加权融合推荐度,Ru为与用户u发生过交互的所有电影的集合,wlj为电影l和电影j在全局模型中的相似度,
Figure GDA0002399965690000049
为电影l和电影j在用户u所属的聚类Pu对应的局部模型中的相似度,参数g为全局模型的权重参数。通过调节参数g来控制全局模型和局部模型在融合模型中的权重比例,通过确定最优权重参数g获得融合模型的最佳推荐效果。可以通过实验来确定在当前数据集中最佳的全局模型权重参数。在确定了模型中的所有参数之后,通过计算所有电影关于当前用户u的加权融合推荐度,按从大到小的排序,同时删除已经与当前用户发生过交互的电影,取排在前N位的电影推荐给当前用户;
步骤5.该推荐方法可通过留一法交叉验证来证明模型的有效性。可以从每个用户的电影评分集合中随机抽取一部电影放入测试集中,其他电影用来作为模型的训练集。然后用训练好的模型为每个用户推荐一个Top-N的电影列表,观察测试集里该用户的对应那一部电影是否出现在推荐列表中以及其出现在列表中的具***置pi。最后,可以用命中率(HR)和平均排名命中率(ARHR)两个指标来衡量模型的推荐质量,其中#hits表示推荐命中数,#users表示用户总数,它们的定义如公式(9)、(10)所示;
Figure GDA0002399965690000051
Figure GDA0002399965690000052
推荐方法流程步骤至此结束。
本发明综合上述技术提出了基于用户聚类的局部模型加权融合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)所示;
Figure GDA0002399965690000061
Figure GDA0002399965690000062
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的用户—电影隐式反馈矩阵A,用户数为n,电影数为m;
步骤2:用户聚类阶段。利用电影标签信息,通过LDA主题模型训练得到用户特征向量,用谱聚类算法实现用户聚类;
2.1LDA主题模型是一个文档-主题-单词的三层贝叶斯网络,给定一个语料库,该模型可以分析该语料库中每篇文档的主题分布,以及每个主题的词分布。它的联合概率如公式(4)所示;
Figure GDA0002399965690000071
θ表示一篇文档的主题分布,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,每个聚类都生成一个对应的局部隐式反馈训练矩阵
Figure GDA0002399965690000081
Pu表示聚类编号,且Pu∈{1,…,k};
步骤3确定局部推荐模型和进行全局推荐模型训练。稀疏线性模型SLIM的损失函数如公式(5)所示;
Figure GDA0002399965690000082
其中,A表示用户—电影隐式反馈矩阵,α和ρ控制L1和L2范数的权重,通过最小化该损失函数可以获得一个大小为m×m的电影相似度稀疏矩阵W。该模型中L1范数控制W稀疏程度,L2范数控制模型的复杂度,防止模型过拟合。该模型通过随机梯度下降法,并行训练W矩阵的每一列wj来得到最终的W矩阵,如公式(6)所示;
Figure GDA0002399965690000083
其中,aj表示矩阵A中的第j列。用户i关于电影j的预测推荐度
Figure GDA0002399965690000084
计算公式如公式(7)所示;
Figure GDA0002399965690000085
使用稀疏线性模型SLIM作为基本推荐模型构建全局推荐模型和局部推荐模型,利用用户—电影隐式反馈矩阵A训练得到全局电影相似度矩阵W,利用局部隐式反馈训练矩阵
Figure GDA0002399965690000086
训练得到每个聚类对应的局部电影相似度矩阵
Figure GDA0002399965690000087
步骤4模型加权融合推荐阶段。局部模型加权融合推荐度计算公式如公式(8)所示;
Figure GDA0002399965690000091
其中
Figure GDA0002399965690000092
表示电影j对于用户u的加权融合推荐度,Ru为与用户u发生过交互的所有电影的集合,wlj为电影l和电影j在全局模型中的相似度,
Figure GDA0002399965690000093
为电影l和电影j在用户u所属的聚类Pu对应的局部模型中的相似度,参数g为全局模型的权重参数。通过调节参数g来控制全局模型和局部模型在融合模型中的权重比例,通过确定最优权重参数g获得融合模型的最佳推荐效果。可以通过实验来确定在当前数据集中最佳的全局模型权重参数。在确定了模型中的所有参数之后,通过计算所有电影关于当前用户u的加权融合推荐度,按从大到小的排序,同时删除已经与当前用户发生过交互的电影,取排在前N位的电影推荐给当前用户;
步骤5.该推荐方法可通过留一法交叉验证来证明模型的有效性。可以从每个用户的电影评分集合中随机抽取一部电影放入测试集中,其他电影用来作为模型的训练集。然后用训练好的模型为每个用户推荐一个Top-N的电影列表,观察测试集里该用户的对应那一部电影是否出现在推荐列表中以及其出现在列表中的具***置pi。最后,可以用命中率(HR)和平均排名命中率(ARHR)两个指标来衡量模型的推荐质量,其中#hits表示推荐命中数,#users表示用户总数,它们的定义如公式(9)、(10)所示;
Figure GDA0002399965690000094
Figure GDA0002399965690000095
推荐方法流程步骤至此结束。
本说明书实施例所述的内容仅仅是对发明构思的实现形式的列举,本发明的保护范围不应当被视为仅限于实施例所陈述的具体形式,本发明的保护范围也及于本领域技术人员根据本发明构思所能够想到的等同技术手段。

Claims (1)

1.基于用户聚类的局部模型加权融合Top-N电影推荐方法,具体包括如下步骤:
步骤1:数据预处理;对不活跃用户以及流行度很小的电影进行数据清洗;构造用户电影标签文档;把显式的评分信息转换成隐式反馈信息,构造用户-电影隐式反馈矩阵A;
1.1对原始数据集进行数据清洗工作,剔除观影数小于20部电影的用户,同时剔除被评分次数小于20次的电影,得到新的训练数据集;
1.2统计新数据集里所有用户给电影打的标签生成一个标签字典,把用户看过的所有电影的标签组成的文档来表示当前用户,所有用户的文档组成一个语料库,计算文档中每个词在语料库中的TF-IDF值;词频TF,逆文档频IDF以及词频-逆文档频TF-IDF的计算公式如公式(1)(2)(3)所示;
Figure FDA0002399965680000011
Figure FDA0002399965680000012
TFIDFi,j=TFi,j×IDFi (3)
其中TFi,j表示词语ti在文档dj中的词频,ni,j表示词语ti在文档dj中出现的次数,∑knk,j表示文档dj中所有词语的出现次数之和;IDFi表示词ti的逆文档频,|D|表示语料库中文档的总数,|{j:ti∈di}|表示包含词语ti的文档数目;TFIDFi,j表示文档dj中词语ti的词频逆文档频;
1.3把显式的评分信息1—5分,转换成用0—1表示的隐式反馈信息,若当前用户对当前电影打过分则记为1,没打过分的电影即待推荐的电影记为0,得到一个n×m的用户—电影隐式反馈矩阵A,用户数为n,电影数为m;
步骤2:用户聚类;利用电影标签信息,通过LDA主题模型训练得到用户特征向量,用谱聚类算法实现用户聚类;
2.1 LDA主题模型是一个文档-主题-单词的三层贝叶斯网络,给定一个语料库,LDA主题模型分析该语料库中每篇文档的主题分布,以及每个主题的词分布;主题的词分布的联合概率如公式(4)所示;
Figure FDA0002399965680000013
θ表示一篇文档的主题分布,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,每个聚类都生成一个对应的局部隐式反馈训练矩阵
Figure FDA0002399965680000021
Pu表示聚类编号,且Pu∈{1,...,k};
步骤3确定局部推荐模型和进行全局推荐模型训练;稀疏线性模型SLIM的损失函数如公式(5)所示;
Figure FDA0002399965680000022
其中,A表示用户—电影隐式反馈矩阵,α和ρ控制L1和L2范数的权重,通过最小化该损失函数可以获得一个大小为m×m的电影相似度稀疏矩阵W;该模型中L1范数控制W稀疏程度,L2范数控制模型的复杂度,防止模型过拟合;该模型通过随机梯度下降法,并行训练W矩阵的每一列wj来得到最终的W矩阵,如公式(6)所示;
Figure FDA0002399965680000031
其中,aj表示矩阵A中的第j列;用户i关于电影j的预测推荐度
Figure FDA0002399965680000032
计算公式如公式(7)所示;
Figure FDA0002399965680000033
使用稀疏线性模型SLIM作为基本推荐模型构建全局推荐模型和局部推荐模型,利用用户—电影隐式反馈矩阵A训练得到全局电影相似度矩阵W,利用局部隐式反馈训练矩阵
Figure FDA0002399965680000034
训练得到每个聚类对应的局部电影相似度矩阵
Figure FDA00023999656800000310
步骤4模型加权融合推荐阶段;局部模型加权融合推荐度计算公式如公式(8)所示;
Figure FDA0002399965680000035
其中
Figure FDA0002399965680000036
表示电影j对于用户u的加权融合推荐度,Ru为与用户u发生过交互的所有电影的集合,wlj为电影l和电影j在全局模型中的相似度,
Figure FDA0002399965680000037
为电影l和电影j在用户u所属的聚类Pu对应的局部模型中的相似度,参数g为全局模型的权重参数;通过调节参数g来控制全局模型和局部模型在融合模型中的权重比例,通过确定最优权重参数g获得融合模型的最佳推荐效果;通过实验来确定在当前数据集中最佳的全局模型权重参数;在确定了模型中的所有参数之后,通过计算所有电影关于当前用户u的加权融合推荐度,按从大到小的排序,同时删除已经与当前用户发生过交互的电影,取排在前N位的电影推荐给当前用户;
步骤5.通过留一法交叉验证来证明模型的有效性;从每个用户的电影评分集合中随机抽取一部电影放入测试集中,其他电影用来作为模型的训练集;然后用训练好的模型为每个用户推荐一个Top-N的电影列表,观察测试集里该用户的对应那一部电影是否出现在推荐列表中以及其出现在列表中的具***置pi;最后,用命中率HR和平均排名命中率ARHR两个指标来衡量模型的推荐质量,其中#hits表示推荐命中数,#users表示用户总数,如公式(9)、(10)所示;
Figure FDA0002399965680000038
Figure FDA0002399965680000039
Figure FDA0002399965680000041
CN201810169922.3A 2018-03-01 2018-03-01 基于用户聚类的局部模型加权融合Top-N电影推荐方法 Active CN108363804B (zh)

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 CN108363804A (zh) 2018-08-03
CN108363804B true 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)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109408702B (zh) * 2018-08-29 2021-07-16 昆明理工大学 一种基于稀疏边缘降噪自动编码的混合推荐方法
CN111309873A (zh) * 2018-11-23 2020-06-19 北京嘀嘀无限科技发展有限公司 数据处理方法、装置、电子设备及存储介质
CN111309874A (zh) * 2018-11-23 2020-06-19 北京嘀嘀无限科技发展有限公司 数据处理方法、装置、电子设备及存储介质
CN110008377B (zh) * 2019-03-27 2021-09-21 华南理工大学 一种利用用户属性进行电影推荐的方法
CN110084670B (zh) * 2019-04-15 2022-03-25 东北大学 一种基于lda-mlp的货架商品组合推荐方法
CN110069663B (zh) * 2019-04-29 2021-06-04 厦门美图之家科技有限公司 视频推荐方法及装置
CN111984856A (zh) * 2019-07-25 2020-11-24 北京嘀嘀无限科技发展有限公司 信息推送方法、装置、服务器及计算机可读存储介质
CN110443502A (zh) * 2019-08-06 2019-11-12 合肥工业大学 基于工人能力测评的众包任务推荐方法和***
CN112395487B (zh) * 2019-08-14 2024-04-26 腾讯科技(深圳)有限公司 信息推荐方法、装置、计算机可读存储介质及电子设备
CN110795570B (zh) * 2019-10-11 2022-06-17 上海上湖信息技术有限公司 一种用户时序行为特征提取方法及装置
CN111008334B (zh) * 2019-12-04 2023-04-18 华中科技大学 基于局部成对排序和全局决策融合的Top-K推荐方法和***
CN113111251A (zh) * 2020-01-10 2021-07-13 阿里巴巴集团控股有限公司 项目推荐方法、装置及***
CN111460046A (zh) * 2020-03-06 2020-07-28 合肥海策科技信息服务有限公司 一种基于大数据的科技信息聚类方法
CN111581522B (zh) * 2020-06-05 2021-03-09 预见你情感(北京)教育咨询有限公司 一种基于用户身份辨别的社交分析方法
CN111897999B (zh) * 2020-07-27 2023-06-16 九江学院 一种用于视频推荐且基于lda的深度学习模型构建方法
CN112184391B (zh) * 2020-10-16 2023-10-10 中国科学院计算技术研究所 一种推荐模型的训练方法、介质、电子设备和推荐模型
CN112348629A (zh) * 2020-10-26 2021-02-09 邦道科技有限公司 一种商品信息推送方法和装置
CN112364245B (zh) * 2020-11-20 2021-12-21 浙江工业大学 基于异构信息网络嵌入的Top-K电影推荐方法
CN112925926B (zh) * 2021-01-28 2022-04-22 北京达佳互联信息技术有限公司 多媒体推荐模型的训练方法、装置、服务器以及存储介质
CN113342963B (zh) * 2021-04-29 2022-03-04 山东大学 一种基于迁移学习的服务推荐方法及***
CN113268670B (zh) * 2021-06-16 2022-09-27 中移(杭州)信息技术有限公司 潜在因子混合推荐方法、装置、设备及计算机存储介质
CN113449147A (zh) * 2021-07-06 2021-09-28 乐视云计算有限公司 基于主题的视频推荐方法和装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103544216A (zh) * 2013-09-23 2014-01-29 Tcl集团股份有限公司 一种结合图像内容和关键字的信息推荐方法及***
CN107609201A (zh) * 2017-10-25 2018-01-19 广东工业大学 一种基于推荐***的推荐模型生成方法及相关装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103514496B (zh) * 2012-06-21 2017-05-17 腾讯科技(深圳)有限公司 一种推荐目标软件的处理方法及***

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103544216A (zh) * 2013-09-23 2014-01-29 Tcl集团股份有限公司 一种结合图像内容和关键字的信息推荐方法及***
CN107609201A (zh) * 2017-10-25 2018-01-19 广东工业大学 一种基于推荐***的推荐模型生成方法及相关装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Local item-item models for top-n recommendation;Evangelia Christakopoulou;《ACM》;20160919;全文 *
基于谱聚类与多因子融合的协同过滤推荐算法;李倩;《计算机应用研究》;20171031;第34卷(第10期);全文 *

Also Published As

Publication number Publication date
CN108363804A (zh) 2018-08-03

Similar Documents

Publication Publication Date Title
CN108363804B (zh) 基于用户聚类的局部模型加权融合Top-N电影推荐方法
CN108763362B (zh) 基于随机锚点对选择的局部模型加权融合Top-N电影推荐方法
CN111563164B (zh) 一种基于图神经网络的特定目标情感分类方法
WO2020207196A1 (zh) 用户标签生成方法、装置、存储介质和计算机设备
CN108665323B (zh) 一种用于理财产品推荐***的集成方法
CN107357793B (zh) 信息推荐方法和装置
Huang et al. Sentiment and topic analysis on social media: a multi-task multi-label classification approach
Liang et al. A probabilistic rating auto-encoder for personalized recommender systems
CN107220365A (zh) 基于协同过滤与关联规则并行处理的精准推荐***及方法
CN109508385B (zh) 一种基于贝叶斯网的网页新闻数据中的人物关系分析方法
Chen et al. Research on personalized recommendation hybrid algorithm for interactive experience equipment
CN107895303B (zh) 一种基于ocean模型的个性化推荐的方法
CN106126605B (zh) 一种基于用户画像的短文本分类方法
CN107944485A (zh) 基于聚类群组发现的推荐***及方法、个性化推荐***
CN105701516B (zh) 一种基于属性判别的自动图像标注方法
CN107103093B (zh) 一种基于用户行为和情感分析的短文本推荐方法及装置
Duan et al. A hybrid intelligent service recommendation by latent semantics and explicit ratings
Menaria et al. Tweet sentiment classification by semantic and frequency base features using hybrid classifier
Chen et al. A fuzzy matrix factor recommendation method with forgetting function and user features
Najafabadi et al. Tag recommendation model using feature learning via word embedding
Ma et al. Book recommendation model based on wide and deep model
Patil et al. A survey on artificial intelligence (AI) based job recommendation systems
Abdi et al. Using an auxiliary dataset to improve emotion estimation in users’ opinions
Long et al. Domain-specific user preference prediction based on multiple user activities
Bharadhwaj Layer-wise relevance propagation for explainable recommendations

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