一种融合社会化信息的个性化推荐方法技术

技术编号:13282479 阅读:77 留言:0更新日期:2016-07-09 00:05
一种融合社会化信息的个性化推荐方法,包括以下步骤:S1、构建用户‑用户信任矩阵;S2、构建项目‑项目标签相似度矩阵;S3、构建及训练模型:S4、预测用户对于未知项目的偏好。本发明专利技术主要有如下优点:1) 将信息检索领域中排序学习的方法应用到Top‑K推荐中,有效地解决了推荐系统中的排序问题,同时克服了传统的基于评分预测方法无法有效进行Top‑K推荐的缺点;2) 在基于排序学习的模型中融合了社会化信息即用户社交信息和项目标签信息,提高了推荐结果的准确率。

【技术实现步骤摘要】
一种融合社会化信息的个性化推荐方法
本专利技术涉及个性化推荐、排序学习和社会网络领域,尤其是一种融合社会化信息的个性化推荐方法。
技术介绍
随着互联网技术特别是电子商务的飞速发展,互联网中数据的增长速度远远超过了人类的接收速度,信息过载问题显得越来越严重。帮助我们从海量数据中筛选出有用数据的信息过滤技术显得越来越重要,个性化推荐技术正是一种根据用户偏好从大规模数据中找到用户感兴趣数据的理想方法。目前,个性化推荐的应用主要分为两大类。第一类是评分预测问题,即通过给定一个用户的历史评分行为预测对未知项目的评分,评分值即表示用户对项目的喜好程度。第二类是Top-K推荐问题,Top-K推荐致力于为用户推荐其最可能喜欢的K个项目。由于用户往往最关注排在前面的项目,因此和评分预测问题相比,Top-K更加直观地为用户提供排序的推荐列表,因此更加实用,这也是目前各大电子商务网站致力于解决的问题。个性化推荐技术的核心在于推荐算法,目前推荐算法主要分为两大类,分别是内容过滤和协同过滤。内容过滤推荐方法主要通过分析用户和项目的内容信息,如用户的人口统计信息,项目的描述信息等,从而构建出用户和项目的一系列特征,最终通过匹配用户和项目的相似度来做出推荐。与此不同的是,协同过滤方法不需要任何用户或项目的内容信息,是一种完全与领域无关的方法。协同过滤方法有效地利用了群体智慧,它基于这样的假设,用户会喜欢和自己具有相同兴趣用户喜欢的项目,同时,用户之间的共同行为越多则用户之间的兴趣越相似。目前协同过滤方法主要分为两大类,分别是基于记忆的协同过滤和基于模型的协同过滤。协同过滤方法有效地避免了需要专家标注信息的问题,并且已经广泛地应用在了各种各样的推荐系统中。上述方法虽然能在一定程度上提高推荐准确率,但是在实际应用中却面临着“数据稀疏”和“冷启动”问题。“数据稀疏”问题是指用户-项目矩阵中空元素过多,有值元素过少从而导致可利用数据过少的问题;“冷启动”问题是指新用户的行为数据过少导致系统无法分析其偏好的问题。近年来,随着在线社交网络的发展,基于社会化信息的个性化推荐方法越来越受到工业界和研究人员的重视。社会化信息主要包括社会化网络和社会化标签,2008年HaoMa等人提出SoRec方法,采用概率矩阵分解的方法同时分解用户-项目评分矩阵和用户-用户信任矩阵来进行推荐;2010年Mohsen等人提出SocMF方法,在矩阵分解过程中同时约束用户和用户朋友之间的特征向量的差异,基于社交网络采用信任传导的矩阵分解方法;2012年LeWu等人提出了NHPMF方法,利用用户和项目的标签信息,在概率矩阵分解模型中加入用户和项目的标签约束项来进行模型训练,进而得到用户和项目的潜在特征矩阵,对用户-项目偏好值进行预测。上述推荐方法以优化评分预测准确率为目标,在评分预测问题中有较高的准确率,但是没有考虑推荐列表的排序问题,在进行Top-K推荐时具有一定的局限性。Top-K列表推荐可以看作一个排序问题,而排序学习是一种在信息检索领域中优化文档排序的方法。将用户-项目对类比为信息检索领域的查询-文档对作为数据输入,排序学习的方法也逐渐应用在了个性化推荐领域,和传统排序学习方法类似,个性化推荐中的排序学习方法也主要分为三大类,分别是Point-wise方法、Pair-wise方法和List-wise方法。Point-wise方法旨在为单个项目预测出准确的喜好值,传统基于评分预测的协同过滤方法都属于Point-wise方法;Nathan等在2010年提出了基于Pair-wise的Bradley-TerryMF方法,XinLiu等在2014年提出了RankNet-MF方法,基于Pair-wise的方法利用用户对项目喜好的偏序关系训练模型,以优化项目的排序列表;2010年YueShi等人提出了ListRank-MF方法,使用交叉熵(Cross-Entropy)作为损失函数,提出了一种基于List-wise排序学习的矩阵分解方法,旨在对整个推荐列表最大程度地拟合和优化。Point-wise的方法仍然是面向评分预测的模型,没有考虑排序的特性;Pair-wise的方法需要考虑所有项目之间的偏序关系,模型训练的复杂度过高;ListRank-MF方法虽然考虑到了优化整个推荐列表的排序,能在一定程度上解决项目的排序问题,但由于在模型中融入的信息太少,没有考虑到用户和项目社会化信息的影响,还是难以避免“数据稀疏性”和“冷启动”问题,在实际应用中具有很大的局限性。
技术实现思路
本专利技术的目的是提供一种更接近于人思维习惯,具有较高准确率的融合社会化信息的个性化推荐方法。本专利技术解决现有技术问题所采用的技术方案:一种融合社会化信息的个性化推荐方法,包括以下步骤:S1、构建用户-用户信任矩阵:a1、获取用户间有向信任度:在已知含有社会化信息的数据库中,根据所述数据库中包含的社交网络中用户间的关注关系获取用户间有向信任度,所述用户间有向信任度的获取方法如下:其中,tuk表示数据库社交网络中用户u对用户k的用户间有向信任度,d-(vk)表示用户k被关注的数量,d+(vu)表示用户u关注用户的数量;a2、归一化处理:然后对用户间有向信任度tuk做归一化处理,得到tuk的用户间有向信任度初始化值Tuk,并由所述用户间有向信任度初始化值构建用户-用户信任矩阵;S2、构建项目-项目标签相似度矩阵:b1、获得项目的权重向量:采集数据库中的项目标签信息,采用tf*idf权重为每个项目中的各个标签标记权重,并以tf*idf权重值构成每个项目的权重向量的元素,项目的标签权重向量的维度即为数据库中标签的数量,项目的标签权重向量代表了项目的标签特征,具体方法如下:其中,N为数据库中项目的个数,wjt表示项目j中的标签t的权重值,tf(j,t)表示项目j被标上标签t的次数,没有明显标记次数时记为1,df(t)表示标签t被标记的项目个数,没有标记的标签权重自动记为0;b2、计算项目间的标签相似度:通过计算两项目的权重向量的余弦相似度获得项目间的标签相似度,其计算公式如下:其中,sim(j1,j2)为项目j1和项目j2间的标签相似度,为步骤b1中得到的项目j1和项目j2的权重向量;b3、选取K近邻并归一化项目间的标签相似度:根据项目之间的标签相似度选择项目的K近邻,对K近邻的项目间的标签相似度进行归一化,得到归一化之后的K近邻项目间的标签相似度,并将K近邻之外的项目间的标签相似度设为0,得到初始化的项目-项目标签相似度矩阵;S3、构建及训练模型:c1、采集训练数据集:随机抽取已知含有社会化信息的数据库的80%作为训练数据集;c2、构建用户-项目评分矩阵:将训练数据集中包含的每个用户对于每个项目的评分赋予1-5的分值并以这些分值作为矩阵元素构建用户-项目评分矩阵;c3、计算用户对于某个分值的首位概率:通过以下公式计算用户i对于项目j的评分为Rij的首位概率其中,为增函数且对于所有x都满足参数D为用户i评过分的项目数量;所述首位概率为用户i对于项目j的评分Rij在排序列表中被排到第一位的概率值;c4、构建并训练融合社会化信息的列表排序学习推荐模型,包括:d1、构建融合社会化信息的损失函数L(U,V):其中,Rmax为评分本文档来自技高网
...

【技术保护点】
一种融合社会化信息的个性化推荐方法,其特征在于,包括以下步骤:S1、构建用户‑用户信任矩阵:a1、获取用户间有向信任度:在已知含有社会化信息的数据库中,根据所述数据库中包含的社交网络中用户间的关注关系获取用户间有向信任度,所述用户间有向信任度的获取方法如下:tuk=d-(vk)d+(vu)+d-(vk)]]>其中,tuk表示数据库社交网络中用户u对用户k的用户间有向信任度,d‑(vk)表示用户k被关注的数量,d+(vu)表示用户u关注用户的数量;a2、归一化处理:然后对用户间有向信任度tuk做归一化处理,得到tuk的用户间有向信任度初始化值Tuk,并由所述用户间有向信任度初始化值构建用户‑用户信任矩阵;S2、构建项目‑项目标签相似度矩阵:b1、获得项目的权重向量:采集数据库中的项目标签信息采用tf*idf权重为每个项目中的各个标签标记权重,并以tf*idf权重值构成每个项目的权重向量的元素,项目的标签权重向量的维度即为数据库中标签的数量,项目的标签权重向量代表了项目的标签特征,具体方法如下:其中,N为数据库中项目的个数,wjt表示项目j中的标签t的权重值,tf(j,t)表示项目j被标上标签t的次数,没有明显标记次数时记为1,df(t)表示标签t被标记的项目个数,没有标记的标签权重自动记为0;b2、计算项目间的标签相似度:通过计算两项目的权重向量的余弦相似度获得项目间的标签相似度,其计算公式如下:sim(j1,j2)=cos(j→1,j→2)=j→1·j→2||j→1||F*||j→2||F]]>其中,sim(j1,j2)为项目j1和项目j2间的标签相似度,为步骤b1中得到的项目j1和项目j2的权重向量;b3、选取K近邻并归一化项目间的标签相似度:根据项目之间的标签相似度选择项目的K近邻,对K近邻的项目间的标签相似度进行归一化,得到归一化之后的K近邻项目间的标签相似度,并将K近邻之外的项目间的标签相似度设为0,得到初始化的项目‑项目标签相似度矩阵;S3、构建及训练模型:c1、采集训练数据集:随机抽取已知含有社会化信息的数据库的80%作为训练数据集;c2、构建用户‑项目评分矩阵:将训练数据集中包含的每个用户对于每个项目的评分赋予1‑5的分值并以这些分值作为矩阵元素构建用户‑项目评分矩阵;c3、计算用户对于某个分值的首位概率:通过以下公式计算用户i对于项目j的评分为Rij的首位概率其中,为增函数且对于所有x都满足参数D为用户i评过分的项目数量;c4、构建并训练融合社会化信息的列表排序学习推荐模型,包括:d1、构建融合社会化信息的损失函数L(U,V):L(U,V)=Σi=1M{-Σj=1NIijPli(Rij)log(Pli(g(UiTVj)))}+λu2Σi=1M(||Ui-Σj∈NiTijUj||F2)+λv2Σj=1M(||Vj-Σk∈Nps(j,k)Vk||F2)+λ2(||U||F2+||V||F2)]]>其中,Rmax为评分的最高分值;Iij为指示函数,M为用户数量,N为项目数量,若用户i对项目j有评分记录则取值为1,否则取值为0;Ui和Vj分别是用户潜在特征矩阵和项目潜在特征矩阵U、V的行向量,且U和V的维度小于用户数量和项目的数量;和分别表示用户社交关系惩罚系数和项目标签惩罚系数;||U||2和||V||2分别为U和V的二范数;Tij表示用户i和用户j的信任度,S(j,k)表示项目j和项目k的标签相信度;d2、创建融合社会化信息的列表排序学习推荐模型:从损失函数L(U,V)中获取用户潜在特征矩阵U和项目潜在特征矩阵V的梯度,并利用梯度下降法对损失函数进行训练;其中,用户潜在特征矩阵U和项目潜在特征矩阵V的梯度的获取方法如下:∂L∂Ui=Σj=1NIij(exp(g(UiTVj))Σk=1NIikexp(g(UiTVk))-exp(Rij)Σk=1NIikexp(Rik))g′(UiTVj)Vj+λu(Ui-Σj∈NiTijUj)-λuΣi∈NkTki(Uk-Σj∈NkTkjUj)+λUi]]>∂L∂Vj=Σi=1MIij(exp(g(UiTVj))Σk=1NIikexp(g(UiTVk))-e...

【技术特征摘要】
1.一种融合社会化信息的个性化推荐方法,其特征在于,包括以下步骤:S1、构建用户-用户信任矩阵:a1、获取用户间有向信任度:在已知含有社会化信息的数据库中,根据所述数据库中包含的社交网络中用户间的关注关系获取用户间有向信任度,所述用户间有向信任度的获取方法如下:其中,tuk表示数据库社交网络中用户u对用户k的用户间有向信任度,d-(vk)表示用户k被关注的数量,d+(vu)表示用户u关注用户的数量;a2、归一化处理:然后对用户间有向信任度tuk做归一化处理,得到tuk的用户间有向信任度初始化值Tuk,并由所述用户间有向信任度初始化值构建用户-用户信任矩阵;S2、构建项目-项目标签相似度矩阵:b1、获得项目的权重向量:采集数据库中的项目标签信息,采用tf*idf权重为每个项目中的各个标签标记权重,并以tf*idf权重值构成每个项目的权重向量的元素,项目的标签权重向量的维度即为数据库中标签的数量,项目的标签权重向量代表了项目的标签特征,具体方法如下:其中,N为数据库中项目的个数,wjt表示项目j中的标签t的权重值,tf(j,t)表示项目j被标上标签t的次数,没有明显标记次数时记为1,df(t)表示标签t被标记的项目个数,没有标记的标签权重自动记为0;b2、计算项目间的标签相似度:通过计算两项目的权重向量的余弦相似度获得项目间的标签相似度,其计算公式如下:其中,sim(j1,j2)为项目j1和项目j2间的标签相似度,为步骤b1中得到的项目j1和项目j2的权重向量;b3、选取K近邻并归一化项目间的标签相似度:根据项目之间的标签相似度选择项目的K近邻,对K近邻的项目间的标签相似度进行归一化,得到归一化之后的K近邻项目间的标签相似度,并将K近邻之外的项目间的标签相似度设为0,得到初始化的项目-项目标签相似度矩阵;S3、构建及训练模型:c1、采集训练数据集:随机抽取已知含有社会化信息的数据库的80%作为训练数据集;c2、构建用户-项目评分矩阵:将训练数据集中包含的每个用户对于每个项目的评分赋予1-5的分值并以这些分值作为矩阵元素构建用户-项目评分矩阵;c3、计算用户对于某个分值的首位概率:通过以下公式计算用户i对于项目j的评分为Rij的首位概率其中,为增函数且对于所有x都满足参数D为用户i评过分的项目数量;所述首位概率为用户i对于项目j的评分Rij被排到第一位的概率值;c4、构建并训练融合社会化信息的列表排序学习推荐模型,包括:d1、构建融合社会化信息的损失函数L(U,V):其中,Rmax为评分的最高分值;Iij为指示函数,M为用户数量,N为项目数量,若用户i对项目j有评分记录则Iij取值为1,否则Iij取值为0;Ni是用户i的信任用户集合,Np是与项目j标签最相似的项目集合;Ui和Vj分别是用户潜在特征矩阵和项目潜在...

【专利技术属性】
技术研发人员:林鸿飞练绪宝
申请(专利权)人:大连理工大学
类型:发明
国别省市:辽宁;21

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1