本发明涉及一种融合多信息源耦合张量分解的标签推荐方法,属于计算机网络标注技术领域。
背景技术:
随着web2.0网站的日益发展,web上的信息以惊人的速度快速增长,信息增长的速度远远超过人们的处理能力。此时推荐系统在有效处理信息的过程中扮演了越来越重要的角色。社会化标注系统是推荐系统的一个典型应用得到了迅速发展,如共享音乐的last.fm、共享图片的flicker、共享书签的delicious等,在这些社会化标注系统当中,用户主动产生标签,并通过标签标识、管理和发现信息资源。标签的推荐是当前标注系统的一个研究热点,旨在减轻用户负担,帮助用户选择合适的标签完成标注操作。与传统的推荐系统只处理用户-资源(user-item)不同,社会化标注系统需要处理用户-标签-资源(user-tag-item)三个维度,所以只考虑二元关系的模型已不再适合包含用户、资源和标签三元关系的社会化标注系统。同时张量模型已经成为研究高阶数据之间潜在关联的流行方法,因此越来越多的学者开始研究基于张量分解模型的标签推荐。但是已有的张量分解方法,在标签推荐过程中仍然面临数据极度稀疏、缺失值以及过拟合问题。
针对上述三个问题,现有的基于张量分解的标签推荐方法只利用了标签-标签之间的同构辅助信息,而没有考虑利用标签-资源和标签-用户之间的异构辅助信息。
技术实现要素:
目的:随着社会化标注系统应用的普及,为了克服现有基于张量分解的标签推荐方法只利用了标签-标签之间的同构信息的不足,为了提高标签推荐的准确性,本发明提供一种融合多信息源耦合张量分解的标签推荐方法。
技术方案:为解决上述技术问题,本发明采用的技术方案为:
一种融合多信息源耦合张量分解的标签推荐方法,具体步骤如下:
step1:基于标签共现和语义相关两种相似性度量的线性集成构造标签相似矩阵b;
step2:构造标签-资源,tag-item矩阵c;
step3:构造标签-资源,tag-user矩阵d;
step4:模型构建及参数优化算法;
step5:标签推荐。
作为优选方案,所述step1包括如下步骤:
step1.1计算标签共现相似性:
假设ti和tj是标签相似矩阵b数据集中的两个标签,那么它们之间共现相似性的度量方法如式1所示:
|ti∩tj|表示ti和tj共同标注的资源数,|ti∪tj|表示ti和tj标注的资源总和;
step1.2计算标签语义相似性:
根据标签在wordnet中语义相似性计算标签的语义相似性,数据集中两个标签ti和tj语义相似性如式2所示:
其中lcs是ti和tj的最小公共超概念,depth(lcs)是从lcs到分类根的节点数目;n1是从ti到lcs路径上节点的数目,n2是从tj到lcs路径上节点的数目;
step1.3集成相似性和语义作为最后相似度:
step1.1和step1.2分别获取标签共现相似性和标签语义层级的相互关联关系,为了使这两种方式相互补充,组合两种标签间的相似性计算作为ti和tj最后的相似度:
bi,j=γ×cooccurrence_bi,j+(1-γ)×senmantic_bi,j,γ∈[0,1](3)
step1.4标签图laplacian作为正则化项:
标签图正则化的假设是如果标签i和标签j相似,那么由张量分解过程挖掘的标签的隐含特征因子矩阵u(1)中标签i和标签j的隐含特征行向量
其中,bi,j为step1.3中计算标签i和标签j的最终相似度值;
作为优选方案,所述step2包括如下步骤:
将社会化标注系统的训练数据集中所有标签视为文档集,标签th标注资源vj的权重为:
其中num(h,j)表示标签th在整个标签集中出现的次数,m为系统中资源总的个数,dhj表示标签标注的资源数。
作为优选方案,所述step3包括如下步骤:
将社会化标注系统的训练数据集中所有标签视为文档集,则标签tk被用户ui使用的权重为:
其中num(k,i)表示标签tk在整个标签集中出现的次数,n为系统中总的用户数,wki表示标签标注的用户数。
作为优选方案,所述step4包括如下步骤:
step4.1:形式化标签推荐为基本的cp张量分解模型:
设定u(1),u(2),u(3)分别是标签(tag)、资源(item)、用户(user)对应的隐含特征因子矩阵;其中
其中,
step4.2:整合step1-step3构造的辅助信息作为正则化项加入到步骤4.1构造的模型,步骤4.1中模型变换成解决如下约束优化问题:
其中α控制标签之间相似性的辅助信息参与分解的权重,β控制标签-资源矩阵c和标签-用户矩阵d作为辅助信息参与分解的权重;
因为公式(8)没有闭式解,本发明用admm,alternatingdirectionmethodofmultipliers算法优化目标函数求解;目标函数公式(8)写成部分拉格朗日函数形式如式公式(9):
其中z(n)≥0,n=1,2,3是为了求解式(9)引入的临时变量,y(n)(n=1,2,3)为拉格朗日乘子矩阵,η是惩罚参数,<*,*>是内积运算;
step4.3:admm优化目标表达式公式(9):
本发明采取迭代方案求解式(9),分别更新
(1)更新z(1),z(2),z(3)
为了更新z(1),z(2),z(3),只需要求解如下优化问题,如式(10)所示:
把z,y,u写成列向量形式,比如z=[z1...zm],zi是z的第i列,因此zi,yi,ui都是列向量;z(n)通过求解优化问题公式(11)和公式(12)被有效的更新:
解(11)得到
解(12)得到
其中i为单位矩阵;
(2)更新u(1),u(2),u(3):
为了更新u(1),u(2),u(3),式(9)重新写成式(15):
其中e(n)=(u(n)⊙...u(n+1)⊙u(n-1)⊙lu(1))t|n=3,⊙为khatri-rao积,x(n)是张量
(3)更新
其中
(4)更新y(n):
(5)更新η:
自适应更新η加速优化算法,按式(21)更新η:
ηt+1=min(ρηt,ηmax)(21)。
作为优选方案,所述step5包括如下步骤:
经过对式(9)的联合分解后,可以得到补全后的张量
有益效果:本发明提供的融合多信息源耦合张量分解的标签推荐方法,首先通过构建标签与标签、标签与资源、标签与用户三个辅助信息矩阵,在构建了问题模型后,用admm算法对训练模型进行参数优化,使用耦合张量-矩阵分解方法计算标签、用户和资源的隐含特征向量,为标注用户推荐标签。该算法可以有效地利用标签的同构和异构语义信息,有效缓解了上述数据稀疏、缺失值和过拟合问题;具有通用性,适合应用于各社会化标注系统。
附图说明
图1为耦合张量-矩阵分解模型示意图;
图2为标签推荐算法框架图;
图3为admm优化模型参数算法图。
具体实施方式
下面结合附图对本发明作更进一步的说明。
如图1-2所示,一种融合多信息源耦合张量分解的标签推荐方法,具体步骤如下:
step1:基于标签共现和语义相关两种相似性度量的线性集成构造标签相似矩阵b;
如果两个资源被打过相似的标签,那么这两个资源很有可能具有相似的隐含特征向量,因此可以通过标签信息正则化耦合张量-矩阵分解过程。
step1.1计算标签共现相似性:
假设ti和tj是标签相似矩阵b数据集中的两个标签,那么它们之间共现相似性的度量方法如式1所示:
|ti∩tj|表示ti和tj共同标注的资源数,|ti∪tj|表示ti和tj标注的资源总和;
step1.2计算标签语义相似性:
根据标签在wordnet中语义相似性计算标签的语义相似性,数据集中两个标签ti和tj语义相似性如式2所示:
其中lcs是ti和tj的最小公共超概念,depth(lcs)是从lcs到分类根的节点数目;n1是从ti到lcs路径上节点的数目,n2是从tj到lcs路径上节点的数目;
step1.3集成相似性和语义作为最后相似度:
步骤1.1和步骤1.2分别获取标签共现相似性和标签语义层级的相互关联关系,为了使这两种方式相互补充,组合两种标签间的相似性计算作为ti和tj最后的相似度:
bi,j=γ×cooccurrence_bi,j+(1-γ)×senmantic_bi,j,γ∈[0,1](3)
step1.4标签图laplacian作为正则化项:
标签图正则化的主要假设是如果标签i和标签j相似,那么由张量分解过程挖掘的标签的隐含特征因子矩阵u(1)中标签i和标签j的隐含特征行向量
其中,bi,j为step1.3中计算标签i和标签j的最终相似度值;
step2:构造标签-资源(tag-item)矩阵c:
将社会化标注系统的训练数据集中所有标签视为文档集,标签th标注资源vj的权重为:
其中num(h,j)表示标签th在整个标签集中出现的次数,m为系统中资源总的个数,dhj表示标签标注的资源数;
step3:构造标签-资源(tag-user)矩阵d:
将社会化标注系统的训练数据集中所有标签视为文档集,则标签tk被用户ui使用的权重为:
其中num(k,i)表示标签tk在整个标签集中出现的次数,n为系统中总的用户数,wki表示标签标注的用户数;
step4:模型构建及参数优化算法:
step4.1形式化标签推荐为基本的cp张量分解模型:
设定u(1),u(2),u(3)分别是标签(tag)、资源(item)、用户(user)对应的隐含特征因子矩阵。其中
其中,
step4.2整合step1-step3构造的辅助信息作为正则化项加入到步骤4.1构造的模型,步骤4.1中模型变换成解决如下约束优化问题:
其中α控制标签之间相似性的辅助信息参与分解的权重,β控制标签-资源矩阵c和标签-用户矩阵d作为辅助信息参与分解的权重。
因为式(8)没有闭式解。本发明用admm(alternatingdirectionmethodofmultipliers)算法优化目标函数求解。目标函数(8)写成部分拉格朗日函数形式如式(9):
其中z(n)≥0,n=1,2,3是为了求解式(9)引入的临时变量,y(n)(n=1,2,3)为拉格朗日乘子矩阵,η是惩罚参数,<*,*>是内积运算。
如图3所示,step4.3:admm优化目标表达式:
本发明采取迭代方案求解式(9),分别更新
(1)更新z(1),z(2),z(3)
为了更新z(1),z(2),z(3),只需要求解如下优化问题,如式(10)所示:
把z,y,u写成列向量形式,比如z=[z1...zm],zi是z的第i列,因此zi,yi,ui都是列向量。z(n)可以通过求解优化问题(11)和(12)被有效的更新:
解(11)得到
解(12)得到
其中i为单位矩阵。
(2)更新u(1),u(2),u(3).
为了更新u(1),u(2),u(3),式(9)重新写成式(15):
其中e(n)=(u(n)⊙...u(n+1)⊙u(n-1)⊙lu(1))t|n=3,⊙为khatri-rao积,x(n)是张量
(3)更新
其中
(4)更新y(n)
(5)更新η
可以自适应更新η加速优化算法,按式子(21)更新η。
ηt+1=min(ρηt,ηmax)(21)
step5标签推荐
经过对式(9)的联合分解后,可以得到补全后的张量
以上所述仅是本发明的优选实施方式,应当指出:对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。