CN108763367B - 一种基于深度对齐矩阵分解模型进行学术论文推荐的方法 - Google Patents

一种基于深度对齐矩阵分解模型进行学术论文推荐的方法 Download PDF

Info

Publication number
CN108763367B
CN108763367B CN201810473752.8A CN201810473752A CN108763367B CN 108763367 B CN108763367 B CN 108763367B CN 201810473752 A CN201810473752 A CN 201810473752A CN 108763367 B CN108763367 B CN 108763367B
Authority
CN
China
Prior art keywords
paper
matrix
user
vector
word
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
CN201810473752.8A
Other languages
English (en)
Other versions
CN108763367A (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.)
Nanjing University
Original Assignee
Nanjing University
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 Nanjing University filed Critical Nanjing University
Priority to CN201810473752.8A priority Critical patent/CN108763367B/zh
Publication of CN108763367A publication Critical patent/CN108763367A/zh
Application granted granted Critical
Publication of CN108763367B publication Critical patent/CN108763367B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis

Abstract

本发明公开了一种基于深度对齐矩阵分解模型进行学术论文推荐的方法,包括:分别通过两个非线性多层感知器,将用户和论文以及论文和单词映射到相同维度的低维特征空间;通过最大化同一篇论文的两种低维表示向量之间的相似度,在两个非线性多层感知器之间搭建起一个“桥梁”。最后,通过这个“论文信息桥梁”传递信息,轮流训练这两部分感知器。由于通过这种方法,在训练“用户‑论文”部分的感知器时,能借助“论文‑单词”部分的信息;在训练“论文‑单词”部分的感知器时,能借助“用户‑论文”部分的信息。所以,本发明可以同时使用“用户‑论文收藏记录”、“论文内容文本信息”,共同为用户论文推荐做贡献。

Description

一种基于深度对齐矩阵分解模型进行学术论文推荐的方法
技术领域
本发明涉及一种基于深度对齐矩阵分解模型进行学术论文推荐的方法。
背景技术
目前,随着互联网的发展,网上充斥着大量的学术论文,导致研究者们面临严重的信息过剩的问题。据估计,截至2014年,网上已经有几百亿的学术论文了,而且还在以每天6,000多篇的数量增长。如何能帮助研究者用户们快速的从如此大量的论文库中找到他们可能感兴趣的文章,成为人们关注的问题。
当前大多数相关工作采用基于关键词检索的方法,将学术论文当作普通的一些网页处理。然而这些方法既忽略了论文本身的结构化特征,也没有针对用户进行个性化建模。近年来,随着如Mendeley、CiteULike等社交网络的兴起,提供了大量的“用户-论文”交互信息。例如:CiteULike网站上,用户可以创建他们自己的图书馆用来存放他们喜欢论文。有了这些数据,可以使用学术论文推荐算法处理论文数量过多、信息过剩的问题。
现有的一些工作,主要利用“用户-论文”交互信息,基于假设“对于相似的论文,用户倾向于给出相似的打分”,使用基于协同过滤的推荐算法解决学术论文推荐问题。在众多的基于协同过滤的方法中,矩阵分解是一种比较成功的方法,并被广泛使用在很多推荐领域如“电影推荐”、“社交网络推荐”等。基于矩阵分解的协同过滤方法的主要思想是将“用户-项目”打分矩阵分解到低维空间,然后在低维空间上通过相似度计算进行推荐。
然而仅仅使用“用户-论文”交互信息的协同过滤方法会面临冷启动的问题,即一篇未被打分过的新论文不会被考虑推荐用户。因此,当前已经有一些工作探索如何能在协同过滤的基础上,使用“论文本身的文本内容”作为辅助信息,进行更好的推荐。例如:协同话题回归模型(Collaborative Topic Regression Model,简称CTR)、协同深度学习模型(Collaborative Deep Learning Model,简称CDL)。
CTR将潜在狄利克雷分配(Latent Dirichlet Allocation,简称LDA)文本处理模型和概率协同过滤模型(Probabilistic Matrix Factorization,简称PMF)结合在一起,做混合推荐。然而,当论文文本信息稀疏时,LDA的表现不是很好。因此,CDL在CTR的基础上,代替LDA,进一步使用深度学习方法多层降噪自动编码机Stacked Denoising Autoencoders,简称SDAE)模型处理文本内容,并和PMF结合起来做混合推荐。
上述的混合方法是利用论文的文本内容解决协同过滤方法中的冷启动问题,而对“用户-论文”打分矩阵稀疏问题,没有大的改善。另外,它们对两种数据源信息的融合方法是直接将辅助的文本信息直接“加和”到协同过滤的过程中,这种处理方式显然太粗糙,对两种数据源的融合并不是很深入。于是,本发明希望找到一种新的混合推荐模型,能够在使用“用户-论文交互信息”的协同过滤方法基础上,更好的利用“论文本身的文本内容”这种辅助信息解决交互数据稀疏以及论文冷启动的问题,进行更好的学术论文推荐。
发明内容
发明目的:为了克服现有协同过滤推荐方法中“用户-论文交互数据稀疏”以及论文冷启动的问题,本发明使用了一种新型的混合推荐算法,将论文的文本内容加入到基于协同过滤推荐的算法中,同时使用“用户-论文交互”以及“论文的文本内容”两种数据源的信息,向用户推荐其感兴趣的学术论文。
本发明提供了一种基于深度对齐矩阵分解模型进行学术论文推荐的方法,分别对两种数据源“用户-论文交互”信息、“论文文本内容”信息,构造两个多层感知器;因为两个感知器分别会为同一篇论文学习到一种向量表示,本发明通过最大化这两种论文表示之间的相似度,在两个多层感知器之间搭建起一座“桥梁”,由此获得一个深度对齐模型;通过训练这个模型,可以使得这两种数据源同时为学术论文推荐做贡献,具体步骤如下:
包括如下步骤:
步骤1,构建论文与用户输入矩阵U、论文与单词输入矩阵P;
步骤2,通过第一个非线性多层感知器对输入矩阵U做矩阵分解,将用户和论文映射同一个低维空间上,分别得到用户的低维表示向量vu和论文的低维表示向量vp;通过第二个非线性多层感知器对输入矩阵P做矩阵分解,将论文和单词映射同一个低维空间上,分别得到论文的低维表示向量v’p和单词的低维表示向量vz
步骤3,轮流训练第一个非线性多层感知器和第二个非线性多层感知器,且在每个非线性多层感知器的损失函数中,加入最大化论文的两种表示vp和v’p之间的相似度作为约束;
步骤4,根据每个用户的低维表示向量vu和候选论文表示(vp+v’p)之间的内积值,给用户推荐论文。
步骤1包括如下步骤:
步骤1-1,每一个用户由唯一的用户id标识,每一篇论文由唯一的论文id标识,每一个用户拥有一个在线收藏夹,其中存放着其感兴趣的论文;由用户的在线收藏夹构建论文与用户输入矩阵U:如果论文i在用户j的在线收藏夹中,则矩阵U的第i行第j列值Uij为1,否则为0;
步骤1-2,论文的文本内容包括论文的标题和摘要,对每篇论文处理得到该论文的关键词列表,所有论文的关键词列表一起构成关键词词典,从而构建论文与单词输入矩阵P:如果单词k在论文i中,则矩阵P的第i行第k列值Pik为1,否则为0。
步骤1-2中,采用如下方法对每篇论文处理得到该论文的关键词列表:对论文中的每个单词求其tfidf值(参照文献SPARCK JONES K.Document Retrieval Systems[C/OL]//WILLETT P..London,UK,UK:Taylor Graham Publishing,1988:132–142.),然后对所有的单词按照其tfidf值的大小降序排序,选择tfidf值前10的单词作为关键词列表返回。
步骤2包括如下步骤:
步骤2-1,从论文与用户输入矩阵U中,分别得到论文pi和用户uj的原始表示为矩阵U第i行数据组成的向量Ui*和第j列数据组成的向量U*j;从论文与单词输入矩阵P中,分别得到论文pi和单词zk的原始表示为第i行数据组成的向量Pi*和第k列数据组成的向量P*k
步骤2-2,经过非线性多层感知器的每一层,输入向量都会被映射到新的语义空间上的向量,形式化定义两个非线性多层感知器:用x表示输入向量,y表示输出向量,li(i=1,2,3,...,N-1)表示第i个中间的隐层(参照文献:XUE H,DAI X,ZHANG J,et al.DeepMatrix Factorization Models for Recommender Systems[C/OL]//Proceedings of theTwenty-Sixth International Joint Conference on Artificial Intelligence,IJCAI-17.2017:3203–3209,),使用均值为0,方差为0.1的正态分布随机构造并初始化N个权重矩阵W1,Wi-1......WN,使用均值为0,方差为0.1的正态分布生成N个随机常数值b1,bi- 1......bN,WN表示第N个权重矩阵,bN表示第N个常数值,公式f()表示感知器每一层的激活函数,f的具体的定义如步骤2-3、2-4所示,则:
Figure BDA0001663883040000041
步骤2-3,对于第一个非线性多层感知器中的每一层的激活函数f,使用ReLU:f(x)=max(0,x),以U作为输入,获取用户uj的在输出层低维空间的向量表示
Figure BDA0001663883040000042
和论文pi的在输出层低维空间的向量表示
Figure BDA0001663883040000043
步骤2-4,对于第二个非线性多层感知器中的每一层的激活函数f,使用ReLU:f(x)=max(0,x),以P作为输入,获取论文pi的在输出层低维空间的向量表示
Figure BDA0001663883040000044
和单词zk的在输出层低维空间的向量表示
Figure BDA0001663883040000045
步骤2-5,获得在最后一个隐层语义空间上对Uij的预测值
Figure BDA0001663883040000046
和Pik的预测值
Figure BDA0001663883040000047
由此获得了预测矩阵
Figure BDA0001663883040000048
和预测矩阵
Figure BDA0001663883040000049
预测矩阵
Figure BDA00016638830400000410
的第i行第j列值为
Figure BDA00016638830400000411
预测矩阵
Figure BDA00016638830400000412
的第i行第k列值为
Figure BDA00016638830400000413
步骤2-6,选择交叉熵cross entropy作为目标函数来衡量U和
Figure BDA00016638830400000414
的差异以及P和
Figure BDA00016638830400000415
之间的差异,因为计算得到的预测值
Figure BDA00016638830400000416
Figure BDA00016638830400000417
可能是负数,对预测值
Figure BDA00016638830400000418
Figure BDA00016638830400000419
做如下处理:
Figure BDA00016638830400000420
Figure BDA00016638830400000421
步骤2-7,分别为第一个非线性多层感知器定义目标函数Jpu,为第二个非线性多层感知器定义目标函数Jpz
Figure BDA00016638830400000422
Figure BDA00016638830400000423
其中,使用矩阵U中第i行第j列的值Uij为1的行号和列号,组成二元组(论文i,用户j)作为正样本,构造正样本集U+;从所有的Uij值为0数据集合中,随机选择3*|U+|个二元组(论文i,用户j)构成负样本集U-;其中,论文i原始表示为矩阵U的第i行数据组成的向量Ui*,用户j原始表示为矩阵U的第j列数据组成的向量U*j
从矩阵P中抽取所有第i行第k列的值Pik为1的行号和列号组成的二元组(论文i,单词k)作为正样本,构造正样本集P+;从所有的值为0数据集合中,随机选择n*|P+|个二元组(论文i,单词k)构成负样本集P-;其中,论文i原始表示为矩阵P的第i行数据组成的向量Pi*,单词k的原始表示为矩阵P的第列数据组成的向量P*k
步骤2-3中,通过下面的公式获取用户uj的在输出层低维空间的向量表示
Figure BDA0001663883040000051
和论文pi的在输出层低维空间的向量表示
Figure BDA0001663883040000052
Figure BDA0001663883040000053
Figure BDA0001663883040000054
其中UT表示矩阵U的转置;参照文献:XUE H,DAI X,ZHANG J,et al.Deep MatrixFactorization Models for Recommender Systems[C/OL]//Proceedings of theTwenty-Sixth International Joint Conference on Artificial Intelligence,IJCAI-17.2017:3203–3209,针对矩阵U,使用正态分布(均值为0,方差为0.1)随机初始化若干个权重矩阵
Figure BDA0001663883040000055
Figure BDA0001663883040000056
表示矩阵U的第N个权重矩阵;针对矩阵UT,使用正态分布(均值为0,方差为0.1)随机初始化若干个权重矩阵
Figure BDA0001663883040000057
N代表多层感知器的层数,本发明中设置为2。
Figure BDA0001663883040000058
表示矩阵UT的第N个权重矩阵。
步骤2-4中,通过下面的公式获取论文pi的在输出层低维空间的向量表示
Figure BDA0001663883040000059
和单词zk的在输出层低维空间的向量表示
Figure BDA00016638830400000510
Figure BDA00016638830400000511
Figure BDA00016638830400000512
其中PT表示矩阵P的转置;参照文献:XUE H,DAI X,ZHANG J,et al.Deep MatrixFactorization Models for Recommender Systems[C/OL]//Proceedings of theTwenty-Sixth International Joint Conference on Artificial Intelligence,IJCAI-17.2017:3203–3209,针对矩阵P,使用正态分布(均值为0,方差为0.1)随机初始化N个权重矩阵
Figure BDA0001663883040000061
Figure BDA0001663883040000062
表示矩阵P的第1个权重矩阵;针对矩阵PT,使用正态分布(均值为0,方差为0.1)随机初始化N个权重矩阵
Figure BDA0001663883040000063
N代表多层感知器的层数,本发明中设置为2。
Figure BDA0001663883040000064
表示矩阵PT的第一个权重矩阵。
步骤2-5中,通过下面的公式获取在最后一个隐层语义空间上对Uij的预测值
Figure BDA0001663883040000065
和Pik的预测值
Figure BDA0001663883040000066
Figure BDA0001663883040000067
Figure BDA0001663883040000068
步骤3包括如下步骤:
步骤3-1,训练第一个非线性多层感知器时,使用论文单词部分第二个非线性多层感知器学习得到的论文表示进行约束,其目标损失函数Loss1如下:
Figure BDA0001663883040000069
其中,
Figure BDA00016638830400000610
是第一个非线性多层感知器中的权重矩阵,λ1和λ2是常数参数,本发明设置参数为:λ1=0.99,λ2=0.01;通过最小化损失函数Loss1,训练第一个非线性多层感知器,更新权重矩阵
Figure BDA00016638830400000611
的值;
步骤3-2,训练第二个非线性多层感知器时,使用用户论文部分的第二个非线性多层感知器学到的论文表示进行约束,其目标损失函数Loss2如下:
Figure BDA00016638830400000612
其中,
Figure BDA00016638830400000613
是第二个非线性多层感知器中的权重矩阵,λ1和λ2是常数参数,本发明设置参数为:λ1=0.99,λ2=0.01;通过最小化损失函数Loss2,训练第二个非线性多层感知器,更新权重矩阵
Figure BDA0001663883040000071
的值;
步骤3-3,轮流执行步骤3-1和步骤3-2,直到第一个非线性多层感知器和第二个非线性多层感知器都达到收敛状态。
步骤4包括如下步骤:
步骤4-1,输入测试数据集,数据集中包括很多用户u,每个用户ui都对应若干篇(参照文献:HE X,LIAO L,ZHANG H,et al.Neural Collaborative Filtering[C/OL]//WWW’17:Proceedings of the 26th International Conference on World WideWeb.Republic
and Canton of Geneva,Switzerland:International World Wide WebConferences
Steering Committee,2017:173–182.,选为100篇)待推荐的论文;对于测试数据集中的每个用户uj,使用第一个非线性多层感知器,学习得到用户的隐层表示vuj
步骤4-2,对于测试数据集合中的论文,使用第一个非线性多层感知器和第二个非线性多层感知器,分别学习到每个论文的两种隐层向量表示vpi和v’pi,用它们的和(vpi+v’pi)作为论文新的隐层向量表示;
步骤4-3,计算用户隐层表示vuj和各个论文新的隐层向量表示(vpi+v’pi)之间的内积,作为用户uj对论文pi的预测打分,根据这些打分对论文进行排序,挑选出前面(参照文献:HE X,LIAO L,ZHANG H,et al.Neural Collaborative Filtering[C/OL]//WWW’17:Proceedings of the 26th International Conference on World Wide Web.Republic
and Canton of Geneva,Switzerland:International World Wide WebConferences
Steering Committee,2017:173–182.,设置K为10)篇论文推荐给用户uj。按照步骤4-3-1对推荐结果进行评测;
步骤4-3-1,使用命中率(Hit Ratio,简称HR)以及归一化累积获得折扣(Normalized Discounted Cumulative Gain,简称NDCG)作为衡量推荐效果好坏的评测指标:
HR@K表示用户推荐的前K篇论文中,是否存在用户测试集中正样本的论文,存在则HR@K值为1,否则为0;
NDCG@K表示给用户推荐的前K篇论文的质量,NDCG@K值越高,则推荐的这K篇文章质量越高;具体的NDCG@K计算如下,其中
Figure BDA0001663883040000081
是正则化项,给用户推荐的K篇文章中第i篇文章是用户测试集中的正样本时ri为1,否则ri为0:
Figure BDA0001663883040000082
本发明提出一种新的深度对齐矩阵分解模型,并基于这种模型完成学术论文推荐。通过两个多层感知器,分别将用户和论文,论文和单词映射到相同维度的低维特征空间;然后通过最大化该低维下同一论文的两种表示之间的相似度,在两种信息源之间搭建起来一个“桥梁”;轮流训练这两个感知器,且在训练每一个感知器时,都使用论文两种表示之间的相似度作为约束,从而可以引入并使用另外一个数据源的信息,从而能够拉近两种数据源之间的距离,使它们能够共同为学术论文推荐做贡献。
有益效果:本发明同时利用“用户-论文”交互信息以及论文的文本信息,提出了一个新的基于深度对齐模型进行学术论文推荐的算法。相较于现有的基于关键词的学术引擎,本发明利用了“用户-论文”交互信息,能够更好的给用户进行个性化推荐;相较于当前的一些基于协同过滤的推荐算法,本发明增加使用了论文的文本内容信息,缓解了协同过滤推荐算法面临的冷启动问题;相较于现有的一些混合学术论文推荐方法如CTR和CDL,本发明利用两个对齐的多层感知器做深度矩阵分解,更好的融合了两种数据源,缓解了“用户-论文”交互数据稀疏的问题。
附图说明
下面结合附图和具体实施方式对本发明做更进一步的具体说明,本发明的上述或其他方面的优点将会变得更加清楚。
图1是本发明的流程图;
图2是本发明提出的深度对齐矩阵分解模型的体系结构图。
具体实施方式
下面结合附图及实施例对本发明做进一步说明。
本发明提出了一种新的深度对齐矩阵分解模型,并基于这种模型完成学术论文推荐。具体的深度矩阵分解模型体系结构如图1所示:首先通过两个非线性多层感知器,分别将用户和论文,论文和单词映射到相同维度的低维特征空间;然后通过最大化该维度下同一论文的两种表示之间的相似度,在两个感知器之间搭建起来一个“桥梁”;在每一个感知器中,都加入论文两种表示之间的相似度约束,从而引入另一种数据源的信息;通过轮流训练这两个感知器,可以融合两种数据源,使它们能够共同为学术论文推荐做贡献。
本发明所述基于深度对齐矩阵分解模型进行学术论文推荐的步骤如下:
步骤1,人工定义一些超参:
U:“论文-用户”原始输入矩阵
P:“论文-单词”原始输入矩阵
N:多层感知器的层数,本发明中设置为2
m:轮流训练中每一批次(batch)的大小,本发明中设置为128;
n:负采样的比率,本发明中设置为3;
步骤2,构造测试集{用户:[论文]}和两个输入矩阵:首先按照步骤2-1构造用户的测试集收藏夹和训练集收藏夹;然后使用训练集收藏夹由步骤2-2构造“论文-用户”训练矩阵U和“论文-单词”矩阵P;使用矩阵U和矩阵P作为输入,按照体系结构图2所示,训练整个模型;
步骤2-1:对每个用户,从其收藏夹中随机选取一篇论文作为测试集中的正样本,该用户收藏夹中剩下的所有论文组成训练集收藏夹;从用户的收藏夹之外的所有论文集中随机选取99篇论文作为负样本,连同测试集中的正样本一起作为该用户的测试集收藏夹;
步骤2-2:由训练集收藏夹构造“论文-用户”训练矩阵U和“论文-单词”矩阵P:如果论文i在用户j的收藏夹中,则矩阵U的第i行j列值Uij为1,否则为0;如果论文i中存在单词k,则矩阵P的第i行k列值Pik为1,否则为0;
步骤3,使用矩阵U中第i行第j列的值Uij为1的行号和列号,组成二元组(论文i,用户j)作为正样本,构造正样本集U+;从所有的Uij值为0数据集合中,随机选择3*|U+|个二元组(论文i,用户j)构成负样本集U-;其中,如图2所示,论文i原始表示为矩阵U的第i行数据组成的向量Ui*,用户j原始表示为矩阵U的第j列数据组成的向量U*j
从矩阵P中抽取所有第i行第k列的值Pik为1的行号和列号组成的二元组(论文i,单词k)作为正样本,构造正样本集P+;从所有的值为0数据集合中,随机选择n*|P+|个二元组(论文i,单词k)构成负样本集P-;其中,如图2所示,论文i原始表示为矩阵P的第i行数据组成的向量Pi*,单词k的原始表示为矩阵P的第列数据组成的向量P*k
步骤4,参照文献:XUE H,DAI X,ZHANG J,et al.Deep Matrix Factorization Models for Recommender Systems[C/OL]//Proceedings of the Twenty-Sixth International Joint Conference on Artificial Intelligence,IJCAI-17.2017:3203– 3209,使用正态分布(均值为0,标准差为0.1)随机初始化图1中两个多层感知器中的各个参 数:
Figure BDA0001663883040000104
步骤5,从U+,U-集合中选择m个二元组(论文i,用户j);对每一个二元组和其打分Uij,按照如下步骤处理:
步骤5-1,使用下面公式计算论文i和用户j的最终向量表示,其中f为激活函数ReLU(f(x)=max(0,x)):
Figure BDA0001663883040000101
Figure BDA0001663883040000102
步骤5-2,使用如下公式可以计算得出,用户j和论文i之间的预测评分值:
Figure BDA0001663883040000103
步骤6,对这m个二元组,使用下面公式可以计算得到“论文-用户”部分的第一个非 线性多层感知器的平均训练损失Loss1;Loss1中λ1和λ2都是人为设置的常数参数,使用后向 传播梯度下降方法(参照文献:RUMELHART D,MCCLELLAND J.Learning Internal Representations by Error Propagation[M]//Neurocomputing:foundations of research.MIT Press,1988:318-362.),最小化该多层感知器的损失Loss1,更新参数
Figure BDA0001663883040000105
Figure BDA0001663883040000111
Figure BDA0001663883040000112
步骤7,从P+,P-集合中选择m个二元组(论文i,单词k);对每一个二元组及其打分Pik,按照如下步骤处理:
步骤7-1,使用下面公式计算论文i和单词k的最终向量表示:
Figure BDA0001663883040000113
Figure BDA0001663883040000114
步骤7-2,使用如下公式可以计算得出,论文i和单词k之间的预测评分值:
Figure BDA0001663883040000115
步骤8,对m个二元组,使用下面公式可以计算得到“论文-单词”部分的第二个非线 性多层感知器的平均训练损失Loss2;Loss2中λ1和λ2都是人为设置的常数参数,使用后向传 播梯度下降方法,最小化该部分损失Loss2,更新权重矩阵
Figure BDA0001663883040000118
Figure BDA0001663883040000116
Figure BDA0001663883040000117
步骤9,轮流训练步骤5~步骤8,直到遍历完所有的“论文-用户”样本数据U+∪U-以及“论文-单词”样本数据P+∪P-
步骤10-1,对于测试数据集中的每个用户uj,使用第一个非线性多层感知器模型,学习得到用户的隐层表示vuj
步骤10-2,同时对于测试数据集合中的论文,使用非线性多层感知器模型1和非线性多层感知器模型2,学习到每个论文的两种隐层向量表示vpi和v’pi,用它们的和作为论文新的隐层向量表示;
步骤10-3,计算用户向量vuj和各个论文表示(vpi+v’pi)之间的内积,作为用户uj对论文pi的预测打分,对这些打分对论文进行排序,挑选出前面K篇(参照文献:HE X,LIAO L,ZHANG H,et al.Neural Collaborative Filtering[C/OL]//WWW’17:Proceedings of the26th International Conference on World Wide Web.Republic
and Canton of Geneva,Switzerland:International World Wide WebConferences
Steering Committee,2017:173–182.,k设置为10)论文推荐给用户uj
步骤10-4,对推荐结果进行评测。计算命中率(Hit Ratio,简称HR)以及归一化累积获得折扣(Normalized Discounted Cumulative Gain,简称NDCG)作为衡量推荐效果好坏的指标:
HR@K表示用户推荐的前K篇论文中,是否存在用户测试集中正样本的论文,存在则HR@K值为1,否则为0;
Figure BDA0001663883040000121
其中ri表示给用户推荐的前K篇论文中,用户测试集中正样本论文的排名位置;
实施例
本实施例所有的步骤均运行ubuntu14.04平台,使用python语言,tensorflow1.2GPU版本库,分别在两个学术论文推荐领域内数据集CiteULike-a、CiteULike-t上进行实验。
实验配置为:操作系统Ubuntu 14.04,内存32G,4块TitansX显卡。
实验数据准备如下:本发明使用分别由两个研究组整理的两个数据集CiteULike-a和CiteULike-t。它们的统计信息如表1所示。这两个数据集都是从学术社交网站CiteULike中整理得到的。这个网站允许每个研究者用户创建他们个人的在线图书馆,里面存放他们感兴趣的论文,且每篇论文都内容包括其标题和摘要等文本信息。
构建“论文-用户交互”矩阵时,CiteULike-a只保留收藏论文个数超过10篇的用户,而CiteULike-t保留收藏超过3篇论文的用户;因此CiteULike-t的U矩阵比CiteULike-a的U矩阵更大也更为稀疏。构建“论文-单词”矩阵P时,CiteULike-a去除停用词,并根据tfidf值(参照文献SPARCK JONES K.Document Retrieval Systems[C/OL]//WILLETTP..London,UK,UK:Taylor Graham Publishing,1988:132–142.)从每篇文章中选取较大的一些词,总共组成了8,000个单词量,而CiteULike-t用同样的方法删选出来20,000单词量的词汇。
表1
数据集 用户 论文 用户论文矩阵密度 词汇量 论文平均单词量
CiteULike-a 5,551 16,980 0.22% 8,000 66.6
CiteULike-t 7,947 28,975 0.07% 20,000 18.8
本发明的目的是为了同时利用“用户-论文”交互信息以及论文的文本信息,能够更好的给用户进行个性化学术论文推荐;相较于当前的一些基于协同过滤的推荐算法,本发明增加使用了论文的文本内容信息,弥补了协同过滤推荐算法面临的冷启动问题;相较于现有的一些混合学术论文推荐方法如CTR和CDL,本发明利用两个对齐的多层感知器做深度矩阵分解,更好的融合两种数据源的数据,并通过深度矩阵分解模型缓解了“用户-论文”交互数据稀疏的问题。为了验证本发明的有效性,本发明与1)经典的基于协同过滤的推荐算法SVD;2)当前最好的基于协同过滤的推荐算法DMF;3)该领域现有的一些混合学术论文推荐方法如CTR和CDL做比较。比较的衡量指标是命中率(HR)和NDCG,如表2所示,为两个数据集上各方法的推荐结果的HR和NDCG对比:
表2
Figure BDA0001663883040000131
可以看出在HR和NDCG两种衡量指标下,本发明不仅比现有的基于协同过滤的推荐方法SVD、DMF表现要好,同时也要比现有的两种混合方法CTR和CDL表现优秀。另外,本发明在数据集稀疏时(CiteULike-t),相对于其他方法,表现尤为突出,这证实了本发明确实可以缓解数据稀疏的问题。
本发明提出了一种新的深度对齐矩阵分解模型,并基于这种模型完成学术论文推荐。通过两个非线性多层感知器,分别将用户和论文,论文和词映射到相同维度的低维特征空间;然后通过最大化该维度下同一论文的两种表示之间的相似度,在两种信息源之间搭建起来一个“桥梁”;在训练每一个感知器时,都使用论文两种表示之间的相似度作为约束,从而引入另一个数据源的信息;通过轮流训练这两个感知器,拉近两种数据源之间的距离,使它们能够共同为学术论文推荐做贡献。
本发明提供了一种基于深度对齐矩阵分解模型进行学术论文推荐的方法,具体实现该技术方案的方法和途径很多,以上所述仅是本发明在python语言、tensorflow的平台上优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。本实施例中未明确的各组成部分均可用现有技术加以实现。

Claims (9)

1.一种基于深度对齐矩阵分解模型进行学术论文推荐的方法,其特征在于,包括如下步骤:
步骤1,构建论文与用户输入矩阵U、论文与单词输入矩阵P;
步骤2,通过第一个非线性多层感知器对输入矩阵U做矩阵分解,将用户和论文映射同一个低维空间上,分别得到用户的低维表示向量vu和论文的低维表示向量vp;通过第二个非线性多层感知器对输入矩阵P做矩阵分解,将论文和单词映射同一个低维空间上,分别得到论文的低维表示向量v’p和单词的低维表示向量vz
步骤3,轮流训练第一个非线性多层感知器和第二个非线性多层感知器,通过两个非线性多层感知器,分别将用户和论文,论文和单词映射到相同维度的低维特征空间,通过最大化该维度下同一论文的两种表示之间的相似度,在每一个感知器中,都加入论文两种表示之间的相似度约束;
步骤4,根据每个用户的低维表示向量vu和候选论文表示(vp+v’p)之间的内积值,给用户推荐论文。
2.根据权利要求1所述的方法,其特征在于,步骤1包括如下步骤:
步骤1-1,每一个用户由唯一的用户id标识,每一篇论文由唯一的论文id标识,每一个用户拥有一个在线收藏夹,其中存放着其感兴趣的论文;由用户的在线收藏夹构建论文与用户输入矩阵UM*N:如果论文i在用户j的在线收藏夹中,则矩阵U的第i行第j列值Uij为1,否则为0;
步骤1-2,论文的文本内容包括论文的标题和摘要,对每篇论文处理得到该论文的关键词列表,将所有论文的关键词列表一起构成关键词词典Vocab,Vocab中总共包含T个单词,其中从而构建论文与单词输入矩阵PN*T:如果单词Vk(k∈[0,T-1])在论文i中,则矩阵P的第i行第k列值Pik为1,否则为0。
3.根据权利要求2所述的方法,其特征在于,步骤1-2中,采用如下方法对每篇论文处理得到该论文的关键词列表:对论文中的每个单词求其tfidf值,然后对所有的单词按照其tfidf值的大小降序排序,选择tfidf值前10的单词作为关键词列表返回。
4.根据权利要求3所述的方法,其特征在于,步骤2包括如下步骤:
步骤2-1,从论文与用户输入矩阵U中,分别得到论文pi和用户uj的原始表示为矩阵U第i行数据组成的向量Ui*和第j列数据组成的向量U*j;从论文与单词输入矩阵P中,分别得到论文pi和单词zk的原始表示为第i行数据组成的向量Pi*和第k列数据组成的向量P*k
步骤2-2,经过非线性多层感知器的每一层,输入向量都会被映射到新的语义空间上的向量,形式化定义两个非线性多层感知器:用x表示输入向量,y表示输出向量,li表示第i个中间的隐层,i=1,2,3,...,N-1,针对每个隐层li分别构造一个权重矩阵Wi和一个随机常数值bi,其中Wi为满足均值0,方差0.1的正态分布随机分布的矩阵,bi为满足均值0,方差为0.1的正态分布的常数值,隐藏层lN-1之后再构造一个WN和bN
l1=W1x,
li=f(Wi-1li-1+bi),i=2,3,...,N-1
y=f(WNlN-1+bN);
步骤2-3,对于第一个非线性多层感知器中的每一层的激活函数f,使用ReLU:f(x)=max(0,x),以U作为输入,获取用户uj的在输出层低维空间的向量表示
Figure FDA0002412034160000021
和论文pi的在输出层低维空间的向量表示
Figure FDA0002412034160000022
f表示激活函数;
步骤2-4,对于第二个非线性多层感知器中的每一层的激活函数f,使用ReLU:f(x)=max(0,x),以P作为输入,获取论文pi的在输出层低维空间的向量表示
Figure FDA0002412034160000023
和单词zk的在输出层低维空间的向量表示
Figure FDA0002412034160000024
步骤2-5,获得在最后一个隐层语义空间上对Uij的预测值
Figure FDA0002412034160000025
和Pik的预测值
Figure FDA0002412034160000026
由此获得了预测矩阵
Figure FDA0002412034160000027
和预测矩阵
Figure FDA0002412034160000028
预测矩阵
Figure FDA0002412034160000029
的第i行第j列值为
Figure FDA00024120341600000210
预测矩阵
Figure FDA00024120341600000211
的第i行第k列值为
Figure FDA00024120341600000212
步骤2-6,选择交叉熵cross entropy作为目标函数来衡量U和
Figure FDA00024120341600000213
的差异以及P和
Figure FDA00024120341600000214
之间的差异,对预测值
Figure FDA00024120341600000215
Figure FDA00024120341600000216
做如下处理:
Figure FDA00024120341600000217
Figure FDA00024120341600000218
步骤2-7,分别为第一个非线性多层感知器定义目标函数Jpu,为第二个非线性多层感知器定义目标函数Jpz
Figure FDA0002412034160000031
Figure FDA0002412034160000032
其中,使用矩阵U中第i行第j列的值Uij为1的行号和列号,组成二元组(论文i,用户j)作为正样本,构造正样本集U+;从所有的Uij值为0数据集合中,随机选择3*|U+|个二元组(论文i,用户j)构成负样本集U-;其中,论文i原始表示为矩阵U的第i行数据组成的向量Ui*,用户j原始表示为矩阵U的第j列数据组成的向量U*j
从矩阵P中抽取所有第i行第k列的值Pik为1的行号和列号组成的二元组(论文i,单词k)作为正样本,构造正样本集P+;从所有的值为0数据集合中,随机选择n*|P+|个二元组(论文i,单词k)构成负样本集P-;其中,论文i原始表示为矩阵P的第i行数据组成的向量Pi*,单词k的原始表示为矩阵P的第列数据组成的向量P*k
5.根据权利要求4所述的方法,其特征在于,步骤2-3中,通过下面的公式获取用户uj的在输出层低维空间的向量表示
Figure FDA0002412034160000033
和论文pi的在输出层低维空间的向量表示
Figure FDA0002412034160000034
Figure FDA0002412034160000035
Figure FDA0002412034160000036
其中UT表示矩阵U的转置;针对矩阵U,使用均值为0,方差为0.1的正态分布随机初始化N个权重矩阵
Figure FDA0002412034160000037
Figure FDA0002412034160000038
表示矩阵U的第N个权重矩阵,N代表多层感知器的层数;针对矩阵UT,使用均值为0,方差为0.1的正态分布随机初始化N个权重矩阵
Figure FDA0002412034160000039
Figure FDA00024120341600000310
表示矩阵UT的第N个权重矩阵。
6.根据权利要求5所述的方法,其特征在于,步骤2-4中,通过下面的公式获取论文pi的在输出层低维空间的向量表示
Figure FDA00024120341600000311
和单词zk的在输出层低维空间的向量表示
Figure FDA00024120341600000312
Figure FDA0002412034160000041
Figure FDA0002412034160000042
其中PT表示矩阵P的转置;针对矩阵P使用均值为0,方差为0.1的正态分布随机初始化N个权重矩阵
Figure FDA0002412034160000043
Figure FDA0002412034160000044
表示矩阵P的第1个权重矩阵;针对矩阵PT使用均值为0,方差为0.1的正态分布随机初始化N个权重矩阵
Figure FDA0002412034160000045
Figure FDA0002412034160000046
表示矩阵PT的第一个权重矩阵。
7.根据权利要求6所述的方法,其特征在于,步骤2-5中,通过下面的公式获取在最后一个隐层语义空间上对Uij的预测值
Figure FDA0002412034160000047
和Pik的预测值
Figure FDA0002412034160000048
Figure FDA0002412034160000049
Figure FDA00024120341600000410
8.根据权利要求7所述的方法,其特征在于,步骤3包括如下步骤:
步骤3-1,训练第一个非线性多层感知器时,其目标损失函数Loss1如下:
Figure FDA00024120341600000411
其中,
Figure FDA00024120341600000412
是第一个非线性多层感知器中的权重矩阵,λ1和λ2是常数参数;
通过最小化损失函数Loss1,训练第一个非线性多层感知器,更新权重矩阵
Figure FDA00024120341600000413
步骤3-2,训练第二个非线性多层感知器时,其目标损失函数Loss2如下:
Figure FDA00024120341600000414
其中,
Figure FDA00024120341600000415
是第二个非线性多层感知器中的权重矩阵;
通过最小化损失函数Loss2,训练第二个非线性多层感知器,更新权重矩阵
Figure FDA0002412034160000051
步骤3-3,轮流执行步骤3-1和步骤3-2,直到第一个非线性多层感知器和第二个非线性多层感知器都达到收敛状态。
9.根据权利要求8所述的方法,其特征在于,步骤4包括如下步骤:
步骤4-1,输入测试数据集,对于测试数据集中的每个用户uj,使用第一个非线性多层感知器,学习得到用户的隐层表示vuj
步骤4-2,对于测试数据集合中的论文,使用第一个非线性多层感知器和第二个非线性多层感知器,分别学习到每个论文的两种隐层向量表示vpi和v’pi,用它们的和(vpi+v’pi)作为论文新的隐层向量表示;
步骤4-3,计算用户隐层表示vuj和各个论文新的隐层向量表示(vpi+v’pi)之间的内积,作为用户uj对论文pi的预测打分,根据这些打分对论文进行排序,挑选出前面K篇论文推荐给用户uj
CN201810473752.8A 2018-05-17 2018-05-17 一种基于深度对齐矩阵分解模型进行学术论文推荐的方法 Active CN108763367B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810473752.8A CN108763367B (zh) 2018-05-17 2018-05-17 一种基于深度对齐矩阵分解模型进行学术论文推荐的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810473752.8A CN108763367B (zh) 2018-05-17 2018-05-17 一种基于深度对齐矩阵分解模型进行学术论文推荐的方法

Publications (2)

Publication Number Publication Date
CN108763367A CN108763367A (zh) 2018-11-06
CN108763367B true CN108763367B (zh) 2020-07-10

Family

ID=64008520

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810473752.8A Active CN108763367B (zh) 2018-05-17 2018-05-17 一种基于深度对齐矩阵分解模型进行学术论文推荐的方法

Country Status (1)

Country Link
CN (1) CN108763367B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109544224A (zh) * 2018-11-19 2019-03-29 西北工业大学 一种基于神经协同过滤的智能商业选址方法
CN110543603B (zh) * 2019-09-06 2023-06-30 上海喜马拉雅科技有限公司 基于用户行为的协同过滤推荐方法、装置、设备和介质
CN110993113B (zh) * 2019-11-21 2023-04-07 广西大学 基于MF-SDAE的lncRNA-疾病关系预测方法及系统
CN114519097B (zh) * 2022-04-21 2022-07-19 宁波大学 一种异质信息网络增强的学术论文推荐方法
CN115423418B (zh) * 2022-07-04 2023-05-02 北京交通大学 一种基于区块链的论文评审方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101527815A (zh) * 2008-03-06 2009-09-09 株式会社东芝 节目推荐装置以及节目推荐方法
CN102567364A (zh) * 2010-12-24 2012-07-11 鸿富锦精密工业(深圳)有限公司 文件搜索系统及方法
CN103279552A (zh) * 2013-06-06 2013-09-04 浙江大学 一种基于用户兴趣分组的协同过滤推荐方法
CN104408153A (zh) * 2014-12-03 2015-03-11 中国科学院自动化研究所 一种基于多粒度主题模型的短文本哈希学习方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101923545B (zh) * 2009-06-15 2012-10-10 北京百分通联传媒技术有限公司 一种个性化信息推荐的方法
US20100325126A1 (en) * 2009-06-18 2010-12-23 Rajaram Shyam S Recommendation based on low-rank approximation
CN101694652B (zh) * 2009-09-30 2012-11-28 西安交通大学 一种基于极速神经网络的网络资源个性化推荐方法
CN103646099B (zh) * 2013-12-19 2016-09-14 南京大学 一种基于多层图的论文推荐方法
US10191949B2 (en) * 2015-06-18 2019-01-29 Nbcuniversal Media, Llc Recommendation system using a transformed similarity matrix
CN106844665B (zh) * 2017-01-20 2020-05-08 中山大学 一种基于引用关系分布式表达的论文推荐方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101527815A (zh) * 2008-03-06 2009-09-09 株式会社东芝 节目推荐装置以及节目推荐方法
CN102567364A (zh) * 2010-12-24 2012-07-11 鸿富锦精密工业(深圳)有限公司 文件搜索系统及方法
CN103279552A (zh) * 2013-06-06 2013-09-04 浙江大学 一种基于用户兴趣分组的协同过滤推荐方法
CN104408153A (zh) * 2014-12-03 2015-03-11 中国科学院自动化研究所 一种基于多粒度主题模型的短文本哈希学习方法

Also Published As

Publication number Publication date
CN108763367A (zh) 2018-11-06

Similar Documents

Publication Publication Date Title
CN108763367B (zh) 一种基于深度对齐矩阵分解模型进行学术论文推荐的方法
CN109299396B (zh) 融合注意力模型的卷积神经网络协同过滤推荐方法及系统
CN111460130B (zh) 信息推荐方法、装置、设备和可读存储介质
CN109840833B (zh) 贝叶斯协同过滤推荐方法
CN105659225A (zh) 使用路径受约束的随机游走的查询扩展和查询-文档匹配
CN112231577B (zh) 一种融合文本语义向量和神经协同过滤的推荐方法
Zhang et al. A deep joint network for session-based news recommendations with contextual augmentation
CN112417306A (zh) 基于知识图谱的推荐算法性能优化的方法
CN112100512A (zh) 一种基于用户聚类和项目关联分析的协同过滤推荐方法
Huang et al. Neural embedding collaborative filtering for recommender systems
CN112328908B (zh) 一种基于协同过滤的个性化推荐方法
CN111488524A (zh) 一种面向注意力的语义敏感的标签推荐方法
CN116610778A (zh) 基于跨模态全局与局部注意力机制的双向图文匹配方法
CN112699310A (zh) 基于深度神经网络的冷启动跨域混合推荐的方法及系统
CN114048305A (zh) 一种基于图卷积神经网络的行政处罚文书的类案推荐方法
CN113127737A (zh) 融合注意力机制的个性化搜索方法和搜索系统
CN112085158A (zh) 一种基于堆栈降噪自编码器的图书推荐方法
CN110299194B (zh) 基于综合特征表示与改进宽深度模型的相似病例推荐方法
CN111079011A (zh) 一种基于深度学习的信息推荐方法
CN114298783A (zh) 基于矩阵分解融合用户社交信息的商品推荐方法及系统
Shi et al. Explainable neural rule learning
Lan et al. Visual question answering model for fruit tree disease decision-making based on multimodal deep learning
CN116911949A (zh) 基于边界排名损失和邻域感知图神经网络的物品推荐方法
CN116452293A (zh) 一种融合物品受众特征的深度学习推荐方法及系统
CN113449200A (zh) 物品推荐方法、装置及计算机存储介质

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