一种基于深度学习的科技文献向量化方法

文档序号:33386309发布日期:2023-03-08 08:23阅读:25来源:国知局
一种基于深度学习的科技文献向量化方法

1.本发明属于深度学习和文献计量交叉领域,具体涉及一种基于深度学习的科技文献向量化方法。


背景技术:

2.在文献计量领域,如何将科技文献进行特征表示是一个热点研究问题。在传统的基于引用计数或者随机游走研究方法中,将文献视为离散数据,未充分考虑文献之间的相似性和相关性,具有较大的局限性。
3.目前较为先进的基于图和网络的研究方法,通过文献之间的引用关系,在一定程度上考虑了文献之间关联,但是这些方法通常不能直接将文献进行向量化表示,从而影响了这些它们的进一步应用。
4.本发明以文献的引用关系为基础,通过引入深度学习技术,可以实现将科技文献表示为稠密向量,实现了对科技文献的较好的特征表示。


技术实现要素:

5.发明目的:本发明设计了一种基于深度学习的科技文献向量化方法,可以直接将科技文献转换为稠密向量,实现对科技文献的特征表示。
6.技术方案:本发明提出一种基于深度学习的科技文献向量化方法,具体包括以下步骤:
7.(1)从科技文献数据中通过负采样算法生成训练所需要的样本数据集;
8.(2)构建科技文献向量化深度学习网络模型;
9.(3)用步骤(1)生成的数据对科技文献向量化深度学习网络模型进行训练,求取模型参数,获得优化模型;
10.(4)用步骤(3)获得的优化模型中的嵌入层参数,作为科技文献的向量表示。
11.进一步地,所述步骤(1)包括以下步骤:
12.(11)从具有引用关系的科技文献数据中抽取引用网络数据,构建科技文献网络数据集d
net
,其包含如下的信息:
13.文献集p={p1,p2,...,pv},pi表示第i篇文献,v是文献总数;
14.引用序列数据集sr={(p1,r1),...,(pv,rv)},其中,pi是某个文献,ri是文献pi对应的参考文献;
15.被引序列数据集sc={(p1,c1)....,(pv,cv)},其中,ci是引用pi的其他文献集合;
16.(13)对d
net
进行数据清洗,剔除掉被引数和参考文献同时小于阈值θr,θc的数据;其中θr表示最小参考文献数阈值,θc表示最小被引数阈值
17.(13)初始化最终数据集对于sr中的每条数据(pi,ri),拆分为数据并将这些数据加入到集合s中;其中r
i,k
表示文献pi的参考文献ri中的第k篇引文;(pi,r
i-{ri,k},r
i,k

1)将作为训练的一个正样本,表示用pi和r
i-{r
i,k
}来作为模型输入,预测r
i,k
时,真实标签应该为1;
18.(14)采用负采样算法neg_sample(pi,ri,n-),来生成负样本,n-表示的是每个正样本对应的最大负样本数,对于步骤(13)中的每个正样本,将通过负采样算法随机产生1~n-个负样本。
19.进一步地,所述步骤(14)包括以下步骤:
20.s1:生成负样本候选集,其中,ei表示发表时间早于文献pi的论文集,{p|p∈(p-ri)∩ei}表示的是未被文献pi引用且发表时间早于pi的科技文献;
21.s2:生成一个随机整数,表示关于文献pi将要实际采样的负样本数;
22.s3:对,计算其未归一化权重其中,yi表示的是文献pi发表的年份;进行负采样时,对于候选集npi中的文献,|cj|表示的是文献pj的被引次数,0.5是平滑参数,表示候选负样本pj和施引文献pi的发表年份差,未归一化权重和该项的平方根成反比,表示较新的文献有更多的概率被采样;分母中的1是一个平滑项;
23.s4:对未归一化权重w
′j进行归一化处理,获取归一化的权重
24.s5:以wj作为采样pj∈npi的概率,从npi中无放回的采样个样本,记采样得到的文献为
25.s6:采用算法来实现将拆分成|ri|个子集ti是一个大小为|ri|的向量,子集取集合的前t
i,1
个元素,取的第t
i,1
~t
i,1
+t
i,2
个元素;算法partion(n,k,v)实现一个将大小为n的蛋糕拆分为k份,并且尽量满足每份蛋糕大小至少为v的方案;算法partion(n,k,v)具体描述如下:令r=n-k
×
v;如果r≥0,定义t=[1,...,1],为一个长度为k的全1向量;否则定义t=[0,...,0],为长度为k的全0向量,并令r=n;使用多项分布将剩余蛋糕r拆分为k份,e是一个大小为k的向量,并且满足n表示正整数集合;令p=t+e,并将p作为结果返回;
[0026]
s7:对于步骤s6中的每个子集中的每个文献pk,将(pi,r
i-{r
i,j
},pk,0)作为负样本加入到最终数据集s中;
[0027]
s8:将s按照6∶3∶1的比例随机拆分为s
train
,s
val
,s
test
,分别作为训练集、验证集和测试集。
[0028]
进一步地,所述步骤(2)包括以下步骤:
[0029]
(21)构建一个嵌入尺寸为512的嵌入层e1,用以将离散的文献表示为稠密向量;
[0030]
(22)构建一个注意力层,对于训练样本(pi,r
i-{r
i,k
},pj,label∈{0,1}),使用文献pi的嵌入表示向量作为查询向量,对序列r
i-{r
i,k
}的嵌入表示向量做attention,输出的是和pi嵌入表示一样尺寸的向量;该注意力层实现了对r
i-{r
i,k
}中文献嵌入表示的加权平
均,记该注意力层的输出为oi;
[0031]
(23)对pi的嵌入表示构建一个全连接层l1,记该全连接层的输出为ci;
[0032]
(24)对oi构建一个全连接层l2,记该全连接层的输出为qi;
[0033]
(25)构建一个嵌入尺寸为512的嵌入层e2,将pj输入该嵌入层,记输出为tj;
[0034]
(26)记si=ci+qi,构造一个网络层,参数为w,实现并采用sigmoid作为激活函数,激活函数的输出表示pj应该被pi引用的概率。
[0035]
进一步地,所述步骤(3)包括以下步骤:
[0036]
(31)将s
train
中的样本顺序打乱;
[0037]
(32)采用无放回随机采样方法,从乱序的s
train
中抽取batch_size=512个样本作为一个批次来训练模型,直到训练集中数据被全部采样完;
[0038]
(33)对于每一个批次的样本,对模型进行前向计算;对于训练样本(pi,r
i-{r
i,k
},pj,label),模型前向运算输出的是p(pj∈ri|pi,r
i-{r
i,k
}),即预测pj在pi的参考文献中的概率,其含义是给定了一篇文献pi和该文献的若干篇参考文献ri,预测任意一篇文献pj被pi引用的概率;
[0039]
(34)使用二元交叉熵损失函数计算训练损失;
[0040]
(35)对模型进行反向传播,计算梯度;
[0041]
(36)用adam优化算法根据反向传播的梯度来更新模型参数;
[0042]
(37)每轮训练结束时,将训练的模型保存;
[0043]
(38)每隔5~10轮,采用验证数据集s
val
来计算平均验证损失,并记录该轮的训练损失;根据训练损失和验证损失的曲线图,判断模型是否训练成功;如果该轮的训练损失和验证损失达到要求,则提前结束训练。
[0044]
进一步地,所述步骤(4)实现过程如下:
[0045]
将优化后的科技文献向量化深度学习网络模型的嵌入层e1中,参数w
e1
∈rv×d的第i行表示的是一个大小为d的向量,对应文献pi的稠密向量表示。
[0046]
有益效果:与现有技术相比,本发明的有益效果:本发明中模型所采用的注意力机制可以判断文献和参考文献的关联性,因此本发明也可以用来鉴别科技文献引用的合理性;本发明可以直接将科技文献转换为稠密向量,实现对科技文献的特征表示,可以用于如分类、聚类、推荐等若干种下游任务;本发明除了实现科技文献的特征表示这一主要功能外,还可以用于判定参考文献中的虚假引用,也可以用于引文推荐。
附图说明
[0047]
图1为本发明的流程图;
[0048]
图2为科技文献向量化深度学习网络模型结构示意图。
具体实施方式
[0049]
下面结合附图对本发明作进一步详细说明。
[0050]
本发明提供一种基于深度学习的科技文献向量化方法,主要包括一种负采样算法来从若干科技文献数据中生成高质量的训练数据集和一种基于注意力机制的科技文献向量化深度学习模型,如图1所示,具体包括以下步骤:
[0051]
步骤1:从科技文献数据中通过负采样算法生成训练所需要的样本数据集。
[0052]
以美国物理协会数据集aps(https://journals.aps.org/datasets)为例,进一步阐明本发明的具体实施步骤,应理解这些实施例仅用于说明本发明而不用于限制本发明的范围,在阅读了本发明之后,本领域技术人员对本发明的各种等价形式的修改均落于本技术所附权利要求所限定的范围。
[0053]
aps数据集包含了两个文件:aps-dataset-citations-2020.csv和aps-dataset-metadata-2020.zip。前者记录了文献之间的引用关系,后者则记录了文献的元数据。通过负采样算法生成训练数据步骤,包括:
[0054]
(1.1)初始化数据集
[0055]
(1.2)对于aps-dataset-citations-2020.csv中的每一行数据《pi,pc>(其中pi表示的是施引文献,pc表示被引文献),检查pi对应的4元组(pi,yi,ri,ci)是否存在于d
net
中。若不存在,则新建一个4元组其中yi从aps-dataset-metadata-2020.zip中读取,然后将该4元组添加到d
net
。若已经存在,则更新对应的4元组(pi,yi,ri,ci)

(pi,yi,ri→ri
∪{pc},ci);然后检查pc对应的4元组(pc,yc,rc,cc)是否存在于d
net
中,如果不存在,则新建一个4元组并将该4元组加入到d
net
中。若(pc,yc,rc,cc)已经存在,则更新其为(pc,yc,rc,cc)

(pc,yc,rc,cc→cc
∪{pi})。
[0056]
(1.3)对于d
net
中的每一个4元组(pi,yi,ri,ci),若|ri|《θr且|ci|<θc,则将(pi,yi,ri,ci)从d
net
剔除,并且对于d
net
中其他任意的4元组(pj,yj,rj,cj),若pi∈rj,更新rj→rj-{pi},若pi∈cj,更新cj→cj-{pi}。
[0057]
(1.4)初始化数据集
[0058]
(1.5)对于d
net
中的每个4元组(pi,yi,ri,ci),生成|ri|条数据:|条数据:并将它们加入到s中。式中,r
i,k
表示的是文献pi的参考文献ri中的第k篇文献。
[0059]
(1.6)对于d
net
中的每个4元组(pi,yi,ri,ci),生成负样本候选集),生成负样本候选集,其中ei={pj|pj∈p且yj≤yi}。
[0060]
(1.7)生成一个随机正整数表示将要采样的负样本个数。
[0061]
(1.8)对于npi中的每一篇文献pj,计算未归一化权重式中,|cj|表示的是文献pj的被引次数。
[0062]
(1.9)将w
′j做归一化处理,令wj将作为npi中文献pj的采样概率。
[0063]
(1.10)对于npi中的每一篇文献pj,采用wj作为采样概率,从npi中无放回的采样出篇文献,记为
[0064]
(1.11)定义变量如果r≥0,定义t=[1,...,1]为一个长度为|ri|的全1向量,否则定义t=[0,..,0],并且令
[0065]
(1.12)调用科学计算库中的多项分布函数来实现对剩余
的r个元素实现划分,记结果为e。和t类似,e是一个长度为|ri|的向量,ek表示的是剩余的r个元素划分到第k个子集中的元素个数。
[0066]
(1.13)令t=t+e,将按照向量t划分为|ri|个子集,每个子集中包含pi中第个元素(取的前t1个元素)。
[0067]
(1.14)对于每个子集中的每一个文献pj,构造一个4元组(pi,r
i-{r
i,k
},pj,0),并将其加入到s中。
[0068]
(1.15)将s打乱,按照比例6∶3∶1拆分为s
train,sval
,s
test
,分别表示训练集、验证集和测试集。
[0069]
步骤2:构建科技文献向量化深度学习网络模型,如图2所示,其结构包括:
[0070]
(2.1)一个嵌入层e1,该嵌入层的参数设为,其中v是文献数,d是嵌入尺寸,设定为512。用以将离散的文献表示为稠密向量。对于文献pi,其通过嵌入层后的输出为we[i,:],即矩阵we的第i行。记pi通过e后的输出为xi,xi∈r
512

[0071]
(2.2)一个注意力层a,以训练样本(pi,r
i-{r
i,k
},pj,label)中的pi的嵌入表示xi和r
i-{r
i,k
}的嵌入表示为输入,输出为oi和wi,其中wi是一个长度为|ri|-1向量,w
i,n
表示的是参考文献中的第n篇文献与文献pi相关性,w
i,n
∈[0,1]其满足∑nw
i,n
=1,输出的
[0072]
(2.3)对xi构建一个全连接层l1,记该全连接层的输出为ci。
[0073]
(2.4)对oi构建一个全连接层l2,记该全连接层的输出为qi。
[0074]
(2.5)对训练样本(pi,r
i-{r
i,k
},pj,label)中的pj应用一个单独的嵌入层e2,记输出为tj,tj∈r
512

[0075]
(2.6)记si=ci+qi,构造一个网络层,参数为w,实现并采用sigmoid作为激活函数。激活函数的输出表示pj应该被pi引用的概率。
[0076]
步骤3:用步骤1生成的数据对科技文献向量化深度学习网络模型进行训练,求取模型参数,获得优化模型,具体实现过程如下:
[0077]
(3.1)进行若干轮训练,在每轮训练中重复步骤(3.2)~(3.8)。
[0078]
(3.2)将s
trian
中的样本顺序打乱。
[0079]
(3.3)依次从s
train
从无放回的取batch_size=512个样本。
[0080]
(3.4)将每个批次的样本输入模型,对于每个训练样本输入(pi,r
i-{r
i,k
},pj,label),模型输出的是一个条件概率:p(pj∈ri|pi,r
i-{r
i,k
}),既给定了文献pi和其部分参考文献pi,r
i-{r
i,k
}的前提条件下,预测文献pj被pi引用的概率。
[0081]
(3.5)使用二元交叉熵损失计算本批次的训练损失。
[0082]
(3.6)将损失反向传播,得到和本批次相关的梯度。
[0083]
(3.7)使用adam优化算法来迭代更新模型的参数。
[0084]
(3.8)本轮训练结束后将模型保存。
[0085]
(3.9)每隔5~10轮进行采用s
val
进行一次模型验证并记录模型的验证损失,通过可视化的训练损失和验证损失曲线,判断训练是否可以提前终止。如果曲线中训练损失和验证损失的表现总体上既不是欠拟合也不是过拟合,则提前终止训练。
[0086]
(3.10)用测试集s
test
验证模型性能是否满足要求。
[0087]
步骤4:用步骤3获得的优化模型中的嵌入层参数,作为科技文献的向量表示。
[0088]
从保存的最佳科技文献向量化深度学习网络模型中,取出模型的参数,模型的嵌入层e1中,参数的第i行表示的是一个大小为d的向量,对应文献pi的稠密向量表示。
[0089]
以分类任务为例,对于一篇科技文献,以本方法抽取的稠密向量作为特征,输入到分类器中,输出分类结果。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1