CN117763363A - 基于知识图谱与提示学习的跨网络学术社区资源推荐方法 - Google Patents
基于知识图谱与提示学习的跨网络学术社区资源推荐方法 Download PDFInfo
- Publication number
- CN117763363A CN117763363A CN202311538150.3A CN202311538150A CN117763363A CN 117763363 A CN117763363 A CN 117763363A CN 202311538150 A CN202311538150 A CN 202311538150A CN 117763363 A CN117763363 A CN 117763363A
- Authority
- CN
- China
- Prior art keywords
- prompt
- layer
- model
- knowledge graph
- matrix
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 53
- 238000012549 training Methods 0.000 claims abstract description 68
- 238000012163 sequencing technique Methods 0.000 claims abstract description 4
- 239000011159 matrix material Substances 0.000 claims description 63
- 239000013598 vector Substances 0.000 claims description 33
- 238000004422 calculation algorithm Methods 0.000 claims description 32
- 238000004364 calculation method Methods 0.000 claims description 21
- 230000008569 process Effects 0.000 claims description 18
- 230000006870 function Effects 0.000 claims description 9
- 230000000873 masking effect Effects 0.000 claims description 6
- 230000009286 beneficial effect Effects 0.000 claims description 4
- 230000004913 activation Effects 0.000 claims description 3
- 230000000295 complement effect Effects 0.000 claims description 3
- 238000010276 construction Methods 0.000 claims description 3
- 238000013016 damping Methods 0.000 claims description 3
- 239000012634 fragment Substances 0.000 claims description 3
- 238000013507 mapping Methods 0.000 claims description 3
- 238000003062 neural network model Methods 0.000 claims description 3
- 238000005295 random walk Methods 0.000 claims description 3
- 230000011218 segmentation Effects 0.000 claims description 3
- 238000013519 translation Methods 0.000 claims description 3
- 230000002708 enhancing effect Effects 0.000 claims description 2
- 238000004891 communication Methods 0.000 abstract description 8
- 238000010586 diagram Methods 0.000 description 5
- 238000002474 experimental method Methods 0.000 description 5
- 238000013528 artificial neural network Methods 0.000 description 3
- 230000001186 cumulative effect Effects 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000004927 fusion Effects 0.000 description 2
- 238000013075 data extraction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000004880 explosion Methods 0.000 description 1
- 239000002360 explosive Substances 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Machine Translation (AREA)
Abstract
本发明公开了一种基于知识图谱与提示学习的跨网络学术社区资源推荐方法,包括:获取不同学术社区中的学术资源信息和作者信息;根据所述信息数据构建知识图谱;构建提示学习模型,包括:定义提示学习模型的提示模板、定义提示学习模型的预训练模型BERT;构建提示学习模型的预训练模型BERT的训练数据;构建提示学习模型的提示模板的训练数据;训练提示学习模型;使用已训练的提示学习模型计算用户与文章之间的相似度,并对结果进行排序,按照用户指定的推荐数目进行学术资源推荐。本发明方法可实现不同网络学术社区之间的高效便捷交流,可在多个平台间快速寻找知识的最优解,有效降低不必要的时间和精力的损耗。
Description
技术领域
本发明属于人工智能技术领域,涉及知识图谱、提示学习、人工智能和推荐系统的交叉技术,尤其是一种通过构建跨网络学术社区的知识图谱,通过提示学习实现学术资源推荐的方法。
背景技术
网络社区是用户通过计算机网络交流而形成的虚拟群体社区,其具有网络化、信息化等特点。随着大数据时代到来,网络社区成为学者们交流的主阵地,众多拥有相同兴趣爱好的学者彼此聚集在一起,相互分享知识、相互交流,形成一种新型学术交流平台。在当前知识爆发式增长的时代,网络学术社区资源知识发现也面临着前所未有的挑战。一方面,缺少一种更为有效的沟通方式,来承担不同网络学术社区之间交流的桥梁;另一方面,在信息爆炸增长的时代,学术资源在呈几何式增长,用户对知识的需求必将是快速、准确而全面化的,这对其有效获取信息提出了挑战。为了解决上述问题,如论文Knowledge DrivenPaper Recommendation Using Heterogeneous Network Embedding Method(Journal ofComputer and Communications,Ahmed,I.,and Kalhoro,Z.A.,2018)提出了一种异质图的论文推荐方法,该方法使用论文数据构建了引文图谱,然后使用Metapath2vec方法来进行资源推荐,但该方法只适用于引文图谱,无法进行扩展到更多元的数据,并且Metapath2vec使用的浅层神经网络特征表示能力不够强大,推荐的精度较低。
发明内容
本发明的目的在于克服现有技术存在的缺陷,提出一种基于知识图谱与提示学习的跨学术网络社区资源推荐方法,使得不同网络学术社区之间交流便捷高效,可在多个平台间快速寻找知识的最优解,有效降低不必要的时间和精力的损耗。
为达到上述目的,本发明采用以下技术方案。
一种基于知识图谱与提示学习的跨网络学术社区资源推荐方法,包括以下步骤:
步骤1.获取不同学术社区中的学术资源信息和作者信息,包括学术资源的标题、正文、网址、时间、来源、点赞人姓名、所属领域属性和作者的关注和访问对象属性;
步骤2.使用步骤1中所述数据构建知识图谱,包括:对缺失的信息进行知识补全、对已经补全的信息进行知识消歧和构建知识图谱;
步骤3.构建提示学习模型,包括:定义提示学习模型的提示模板、定义提示学习模型的预训练模型BERT;
步骤4.构建提示学习模型的预训练模型BERT的训练数据,包括:定义Metapath2vec的元路径生成器、使用元路径生成器抽取知识图谱路径、在路径中添加特殊词;
步骤5.构建提示学习模型的提示模板的训练数据,包括:使用规则抽取知识图谱中的正负例数据、使用PageRank算法计算的作者的知识权重、将作者的知识权重添加到正负例数据中;
步骤6.训练提示学习模型,包括:使用掩码语言建模训练提示学习的预训练模型BERT、使用改进的P-tuning算法训练提示学习模型的提示模板;
步骤7.使用已训练的提示学习模型计算用户与文章之间的相似度,并对结果进行排序,按照用户指定的推荐数目进行学术资源推荐。
进一步地,在步骤2中,所述的对缺失的信息进行知识补全、对已经补全的信息进行知识消歧和构建知识图谱,其具体过程包括:
对缺失的信息进行知识补全:采用TextRank算法提取学术资源中的关键词,将相邻的关键词进行合并为关键词短语,并把关键词与关键词短语作为知识图谱中的实体;TextRank算法公式:
其中,WS(Vi)是节点Vi的权重分数,d是一个阻尼系数用于平衡随机游走和节点之间的关联度,是节点Vi的入度总和,/>是节点Vj的出度总和,wji是节点Vj指向节点Vi的边的权重,wjk是节点Vj指向节点Vk的边的权重,WS(Vj)是节点Vj的权重分数;只需要选取权重分数最大的几个词当作关键词;
对已经补全的信息进行知识消歧:使用FastText将文章向量化,然后计算不同文章之间的相似度,若相似度过高则进行融合,并将其作者进行融合;FastText算法公式:
其中,是整个文章的词向量,w1,w2,…,wn是文章中的每一个词,/>是第k个词的词向量,可以通过查询此表获得,k是每篇文章的词数量;
计算相似度的公式为:
其中,Similarity(A,B)是计算的A和B的相似度,A和B是需要计算相似度的向量,Ai和Bi是两个向量的第i个维度的特征;
构建知识图谱:定义知识图谱的模型层和数据层,然后将数据处理成<实体、关系、实体>这种三元组形式,并在本地构建子图然后导入至Neo4j数据库中。
进一步地,在步骤3中,所述的定义提示学习模型的提示模板、定义提示学习模型的预训练模型BERT,其具体过程包括:
定义提示学习模型的提示模板:在神经网络模型中添加的一个额外层,用于将外部提示信息与模型的输入进行融合,其过程为:在原始输入x附近插入提示词得到提示模板:{p0,…,pi,x,pi+1,…pm,[MASK]},其中[MASK]是一个特殊词,是模型需要预测的词;然后经过Prompt Encoder进行映射得到隐向量:{e([P0:i]),e(x),e([Pi+1:m]),e([MASK])},其中不同的提示学习算法有不同的Prompt Encoder,最后将隐向量输入到下游的模型中;
定义提示学习模型的预训练模型BERT:提示学习模型的预训练模型BERT包含,Embedding层和Encoder层,预训练模型BERT的Embedding层是对输入x数据进行编码的操作,Embedding的公式如下:
xe=Embedding(x)=(Tokenizer(x)+Segment(x)+Position(x))*Wv*d (4)
其中,xe是编码后的矩阵,Tokenizer(x)是对原始文本x进行分词后得到的one-hot编码矩阵,Segment(x)用于区分x中不同句子或片段的矩阵表示,Position(x)表示x中单词的位置信息的矩阵,Wv*d是一个投影矩阵,用来获取稠密的输入矩阵表示;
Encoder层对Embedding层的输出进行进一步的计算与学习;在Encoder层中包含了Multi-Head Attention层、两层Add&Norm层和Feed Froward层,其中Multi-HeadAttention层用于计算输入序列中每个位置的注意力权重,有助于模型在不同的语义空间进行关注,并提供更全面的上下文信息;Multi-Head Attention层的计算公式如公式(5)-(8)所示:
其中,Qi、Ki、Vi是第i个Head层的投影后的矩阵,Q、K和V是Embedding层输出的向量,是第i个Head层的投影矩阵;
其中,Attention(Q,K,V)是计算Scaled Dot-Product Attention,softmax是一种常用的激活函数,dk是缩放因子;
headi=Attention(Qi,Ki,Vi) (7)
其中,headi是不同Head层计算Attention后的结果;
xm=MultiHead(Q,K,V)=Concact(head1,…,head8)WO (8)
其中,xm是计算Multi-Head Attention后的矩阵,Concact将不同Head层的计算结果进行拼接,WO是一个投影矩阵;
Add&Norm层用于加强模型的表示能力和优化梯度流动,第一层Add&Norm层的计算公式如公式(9)-(10)所示;第二层Add&Norm层的计算公式如公式(11)-(12)所示:
X1=xe+xm (9)
其中,X1是经过第一层的Add层之后的矩阵,xe是Embedding层输出的矩阵,xm是MultiHead输出的矩阵;
其中,Xn1是经过第一层的Norm层的矩阵,γ是缩放参数,μ是X1向量的均值,σ是X1向量的标准差,β是平移参数;
X2=Xn1+xf (11)
其中,X2是经过第二层的Add层之后的矩阵,xf是Feed Froward层输出的矩阵;
其中,Xn2是经过第二层Norm层的矩阵,μ是X2向量的均值,σ是X2向量的标准差;
Feed Froward层用于增加模型的非线性能力和表示能力,Feed Froward层的计算公式为:
xf= FFNN(Xn1)= max(0,Xn1W1+b1)W2+b2 (13)
其中,xf是经过Feed Froward层后的矩阵,W1、W2是投影矩阵,b1、b2是偏置项。
具体地,所述的步骤4过程包括:
定义Metapath2vec的元路径生成器:按照实际的需要定义所使用的元路径模板,元路径应保持是一条对称的路径;
使用元路径生成器抽取知识图谱路径:使用元路径生成器生成的元路径模板,从知识图谱中抽取各个实体之间的路径;
在路径中添加特殊词:在路径开头添加[CLS]特殊词,在实体与关系之间添加[SEP]特殊词,组成新的路径数据。
具体地,所述的步骤5过程包括:
使用规则抽取知识图谱中的正负例数据:在知识图谱中若用户与资源之间存在点赞或者转发关系,则认为是正例的数据,若用户与资源之间不存在任何关系,则认为是负例的数据;
使用PageRank算法计算的作者的知识权重:计算知识图谱中作者实体的PageRank值,PageRank的计算公式如下:
其中,PR(u)是实体u的PageRank值,PR(v)是实体v的PageRank值,Nv是实体v的出度,v∈B(u)是连向实体u的实体v的集合;
将作者的知识权重添加到正负例数据中:将计算出来的作者知识权重插入到正负例数据中,放置在作者实体之前;
具体地,所述步骤6的过程包括:
使用掩码语言建模训练提示学习的预训练模型BERT:在输入的句子中的一些单词会被随机掩盖,即用特殊的掩码符号替代,然后模型通过上下文来预测被掩盖的单词;掩码语言建模的损失函数公式为:
其中,LMLM是掩码语言建模的损失函数,M是掩码的个数,pi是型对掩码位置上的词的预测概率,yi是掩码位置上的词的真实标签;
使用改进的P-tuning算法训练提示学习模型的提示模板:将P-tuning编码器中的双层LSTM替换为双层Bert-Encoder,其计算公式如下:
MLP(X)=max(0,XW1+b1)W2+b2 (16)
其中,是经过改进的P-tuning算法输出的矩阵,MLP是多层感知机,/>是输入改进的P-tuning算法的矩阵,Encoder是预训练模型BERT的Encoder层。
与现有技术相比,本发明具有以下优点和有益效果:
1.本发明通过知识图谱来统一规范不同学术社区的资源,解决学术社区知识关联程度低问题,加强不同网络学术社区中的资源流动,提升了社区之间的知识关联度。通过实验证明,当使用知识图谱后,该方法的命中率平均提升0.93575%,归一化累计折损率平均提升0.6805%。
2.本发明使用深层神经网络—预训练模型BERT,来提升推荐的效果,并使用提示学习来指导神经网络的训练过程。通过实验证明,当使用预训练模型BERT和提示学习后该方法相较于Metapath2vec的命中率平均提升0.61255%,归一化累计折损率平均提升0.49025%。
3.本发明使用提示学习,改进原始的P-tuning提示学习训练方法,将该方法中的双层LSTM替换为双层Bert-Encoder。该改进使得提示学习训练模型是更加鲁棒和稳定,并且通过实验证明,使用改进后的P-tuning方法的命中率平均提升0.271%,归一化累计折损率平均提升0.2955%。
附图说明
图1为本发明的一种基于知识图谱与提示学习的跨虚拟学术社区资源推荐方法的流程图。
图2为本发明的一种实施例的知识图谱的结构图。
图3为本发明的的一种实施例的元路径生成器的示意图。
图4为本发明的的一种实施例的提示学习的预训练模型BERT结构图。
图5为本发明的的一种实施例的提示学习的预训练模型BERT中Encoder的结构图。
具体实施方式
下面结合附图对本发明做进一步详细说明。
如图1所示,为本发明的一种基于知识图谱与提示学习的跨网络学术社区资源推荐方法,包括以下步骤:
(1)获取不同学术社区中的学术资源信息和作者信息,主要包括学术资源的标题、正文、网址、时间、来源、点赞人姓名、所属领域等属性和作者的关注和访问对象等属性;
(2)使用步骤(1)以上数据构建知识图谱,包括:对缺失的信息进行知识补全、对已经补全的信息进行知识消歧和构建知识图谱;
(3)构建提示学习模型,包括:定义提示学习模型的提示模板、定义提示学习模型的预训练模型BERT;
(4)构建提示学习模型的预训练模型BERT的训练数据,包括:定义Metapath2vec的元路径生成器、使用元路径生成器抽取知识图谱路径、在路径中添加特殊词;
(5)构建提示学习模型的提示模板的训练数据,包括:使用规则抽取知识图谱中的正负例数据、使用PageRank算法计算的作者的知识权重、将作者的知识权重添加到正负例数据中;
(6)训练提示学习模型,包括:使用掩码语言建模训练提示学习的预训练模型BERT、使用改进的P-tuning算法训练提示学习模型的提示模板;
(7)使用已训练的提示学习模型计算用户与文章之间的相似度,并对结果进行排序,按照用户指定的推荐数目进行学术资源推荐。
步骤(2)中所述的构建知识图谱,具体过程包括:
对缺失的信息进行知识补全:采用TextRank算法提取资源中的关键词,将相邻的关键词进行合并为关键词短语,并把关键词与关键词短语作为知识图谱中的实体。TextRank算法公式如(1)所示。
其中,WS(Vi)是节点Vi的权重分数,d是一个阻尼系数用于平衡随机游走和节点之间的关联度,是节点Vi的入度总和,/>是节点Vj的出度总和,wji是节点Vj指向节点Vi的边的权重,wjk是节点Vj指向节点Vk的边的权重,WS(Vj)是节点Vj的权重分数。只需要选取权重分数最大的几个词当作关键词。
对已经补全的信息进行知识消歧:使用FastText将文章向量化,然后计算不同文章之间的相似度,若相似度过高则进行融合,并将其作者也进行融合。FastText算法公式如公式(2)所示,计算相似度的公式如公式(3)所示。
其中,是整个文章的词向量,w1,w2,…,wn是文章中的每一个词,/>是第k个词的词向量,可以通过查询此表获得,k是每篇文章的词数量。
其中,Similarity(A,B)是计算的A和B的相似度,A和B是需要计算相似度的向量,Ai和Bi是两个向量的第i个维度的特征。
构建知识图谱:定义知识图谱的模型层和数据层,相应的结构设计图如图2所示。然后将数据处理成<实体,关系,实体>这种三元组形式,并在本地构建子图然后导入至Neo4j数据库中。
步骤(3)中所述的构建提示学习模型,具体过程包括:
定义提示学习模型的提示模板:在神经网络模型中添加的一个额外层,用于将外部提示信息与模型的输入进行融合。其基本步骤是在原始输入x附近插入提示词得到提示模板:{p0,…,pi,x,pi+1,…pm,[MASK]},其中[MASK]是一个特殊词,是模型需要预测的词。然后经过Prompt Encoder进行映射得到隐向量:{e([P0:i]),e(x),e([Pi+1:m]),e([MASK])},其中不同的提示学习算法有不同的Prompt Encoder,最后将隐向量输入到下游的模型中。
定义提示学习模型的预训练模型BERT:预训练模型BERT是一种基于Transformer架构的深度双向预训练模型。由Google在2018年提出的,通过在大规模的无标签文本数据上进行预训练,学习得到通用的语言表示,可以用于多种自然语言处理任务的下游任务。预训练模型BERT的模型结构如图3所示。Embedding层是对输入x数据进行编码的操作,Embedding的公式如公式(4)所示。
xe=Embedding(x)=(Tokenizer(x)+Segment(x)+Position(x))*Wv*d (4)
其中,xe是编码后的矩阵,Tokenizer(x)是对原始文本x进行分词后得到的one-hot编码矩阵,Segment(x)是用来区分x中不同句子或片段的矩阵表示,Position(x)是用来表示x中单词的位置信息的矩阵,Wv*d是一个投影矩阵,用来获取稠密的输入矩阵表示。
Encoder层是对Embedding层的输出进行进一步的计算与学习,Encoder层的结构如图4所示。在Encoder层中包含了Multi-Head Attention层、两层Add&Norm层和FeedFroward层。其中的Multi-Head Attention层是用于计算输入序列中每个位置的注意力权重,有助于模型在不同的语义空间进行关注,并提供更全面的上下文信息。Multi-HeadAttention层的计算公式如公式(5)-(8)所示。
其中,Qi、Ki、Vi是第i个Head层的投影后的矩阵,Q、K和V是Embedding层输出的向量,是第i个Head层的投影矩阵。
其中,Attention(Q,K,V)是计算Scaled Dot-Product Attention,softmax是一种常用的激活函数,dk是缩放因子。
headi=Attention(Qi,Ki,Vi) (7)
其中,headi是不同Head层计算Attention后的结果。
xm=MultiHead(Q,K,V)=Concact(head1,…,head8)WO (8)
其中,xm是计算Multi-Head Attention后的矩阵,Concact是将不同Head层的计算结果进行拼接,WO是一个投影矩阵。
Add&Norm层是用于加强模型的表示能力和优化梯度流动,第一层Add&Norm层的计算公式如公式(9)-(10)所示。第二层Add&Norm层的计算公式如公式(11)-(12)所示。
X1=xe+xm (9)
其中,X1是经过第一层的Add层之后的矩阵,xe是Embedding层输出的矩阵,xm是MultiHead输出的矩阵。
其中,Xn1是经过第一层的Norm层的矩阵,γ是缩放参数,μ是X1向量的均值,σ是X1向量的标准差,β是平移参数。
X2=Xn1+xf (11)
其中,X2是经过第二层的Add层之后的矩阵,xf是Feed Froward层输出的矩阵。
其中,Xn2是经过第二层Norm层的矩阵,μ是X2向量的均值,σ是X2向量的标准差。
Feed Froward层用于增加模型的非线性能力和表示能力,Feed Froward层的计算公式如公式(13)所示.
xf=FFNN(Xn1)=max(0,Xn1W1+b1)W2+b2 (13)
其中,xf是经过Feed Froward层后的矩阵,W1、W2是投影矩阵,b1、b2是偏置项。
步骤(4)中的构建提示学习模型的预训练模型BERT的训练数据,具体过程包括:
定义Metapath2vec的元路径生成器:按照实际的需要定义所使用的元路径模板,元路径应保持是一条对称的路径。元路径生成器如图5所示;
使用元路径生成器抽取知识图谱路径:使用元路径生成器生成的元路径模板,从知识图谱中抽取各个实体之间的路径;
在路径中添加特殊词:在路径开头添加[CLS]特殊词,在实体与关系之间添加[SEP]特殊词,组成新的路径数据;
步骤(5)中的构建提示学习模型的提示模板的训练数据,具体过程包括:
使用规则抽取知识图谱中的正负例数据:在知识图谱中若用户与资源之间存在点赞或者转发关系,则认为是正例的数据,若用户与资源之间不存在任何关系,则认为是负例的数据。
使用PageRank算法计算的作者的知识权重:计算知识图谱中作者实体的PageRank值,PageRank的计算公式如公式(14)所示。
其中,PR(u)是实体u的PageRank值,PR(v)是实体v的PageRank值,Nv是实体v的出度,v∈B(u)是连向实体u的实体v的集合。
将作者的知识权重添加到正负例数据中:将计算出来的作者知识权重插入到正负例数据中,放置在作者实体之前;
步骤(6)中的训练提示学习模型具体过程包括:
使用掩码语言建模训练提示学习的预训练模型BERT:在输入的句子中的一些单词会被随机掩盖(用特殊的掩码符号替代),然后模型需要通过上下文来预测被掩盖的单词。掩码语言建模的损失函数公式如公式(15)所示。
其中,LMLM是掩码语言建模的损失函数,M是掩码的个数,pi是型对掩码位置上的词的预测概率,yi是掩码位置上的词的真实标签。
使用改进的P-tuning算法训练提示学习模型的提示模板:将P-tuning编码器中的双层LSTM替换为双层Bert-Encoder,其计算公式如公式(16)所示。
MLP(X)=max(0,XW1+b1)W2+b2 (16)
其中,是经过改进的P-tuning算法输出的矩阵,MLP是多层感知机,/>是输入改进的P-tuning算法的矩阵,Encoder是提示学习的预训练模型BERT的Encoder层。
实验验证说明:
本发明进行了数据实验,抓取科学网博客从2015年12月至2022年6月共21326篇、知乎文章从2013年9月至2022年6月共14635篇以及345510研究者作为数据集。并使用该数据集构建了知识图谱,表1展示了知识图谱节点与关系信息。
表1知识图谱节点与关系信息
在数据抽取阶段,共抽取路径1064747,正负例409425。在使用掩码语言建模训练提示学习的预训练模型BERT模型时,设置每次输入模型的路径数量为128条,模型学习率为5e-5,训练轮次为3。在进行改进的P-tuning算法训练提示学习的提示模板时,设置每次输入正负例数量为128条,并设置学习率为1e-5,训练30个轮次。使用3135未在知识图谱中的链接作为测试数据,并使用命中率(HR)和归一化折损累计增益(NDCG)来衡量模型效果,具体公式如公式(18)-(20)所示。
其中,HR是命中率,#hits模型推荐的结果与测试集中研究者真实喜欢的结果的交集,#users是测试集中研究者喜欢的结果。
其中,DCG是指折损累计增益,rel(i)是指i位置上文档的相关度。
其中,NDCG是归一化折损累计增益,IDCG是理想的DCG,一般为1。
该实验将推荐列表截断成不同的长度K,K∈[5,10,15,20],以此来验证结果的全面性,表2为不同模型的实验结果。
表2推荐结果比较
其中,CF是指使用协同过滤推荐的方法,Matepath2vec是指在知识图谱上使用Matepath2vec算法进行实体表征并进行推荐,Matepath2vec-Bert是指将Matepath2vec中的skip-gram换成预训练模型BERT以提升表达能力,GAT是指图注意力神经网络,MRRVAC是指基于知识图谱与提示学习的跨网络学术社区资源推荐方法。以上比较的方法均在网络学术社区资源推荐方法中出现,并且本发明的方法要好于这些方法。
Claims (6)
1.一种基于知识图谱与提示学习的跨网络学术社区资源推荐方法,其特征在于,包括以下步骤:
步骤1.获取不同学术社区中的学术资源信息和作者信息,包括学术资源的标题、正文、网址、时间、来源、点赞人姓名、所属领域属性和作者的关注和访问对象属性;
步骤2.使用步骤1中所述数据构建知识图谱,包括:对缺失的信息进行知识补全、对已经补全的信息进行知识消歧和构建知识图谱;
步骤3.构建提示学习模型,包括:定义提示学习模型的提示模板、定义提示学习模型的预训练模型BERT;
步骤4.构建提示学习模型的预训练模型BERT的训练数据,包括:定义Metapath2vec的元路径生成器、使用元路径生成器抽取知识图谱路径、在路径中添加特殊词;
步骤5.构建提示学习模型的提示模板的训练数据,包括:使用规则抽取知识图谱中的正负例数据、使用PageRank算法计算的作者的知识权重、将作者的知识权重添加到正负例数据中;
步骤6.训练提示学习模型,包括:使用掩码语言建模训练提示学习的预训练模型BERT、使用改进的P-tuning算法训练提示学习模型的提示模板;
步骤7.使用已训练的提示学习模型计算用户与文章之间的相似度,并对结果进行排序,按照用户指定的推荐数目进行学术资源推荐。
2.根据权利要求1所述的一种基于知识图谱与提示学习的跨网络学术社区资源推荐方法,其特征在于,在步骤2中,所述的对缺失的信息进行知识补全、对已经补全的信息进行知识消歧和构建知识图谱,其具体过程包括:
对缺失的信息进行知识补全:采用TextRank算法提取学术资源中的关键词,将相邻的关键词进行合并为关键词短语,并把关键词与关键词短语作为知识图谱中的实体;TextRank算法公式:
其中,WS(Vi)是节点Vi的权重分数,d是一个阻尼系数用于平衡随机游走和节点之间的关联度,是节点Vi的入度总和,/>是节点Vj的出度总和,wji是节点Vj指向节点Vi的边的权重,wjk是节点Vj指向节点Vk的边的权重,WS(Vj)是节点Vj的权重分数;只需要选取权重分数最大的几个词当作关键词;
对已经补全的信息进行知识消歧:使用FastText将文章向量化,然后计算不同文章之间的相似度,若相似度过高则进行融合,并将其作者进行融合;FastText算法公式:
其中,是整个文章的词向量,w1,w2,...,wn是文章中的每一个词,/>是第k个词的词向量,可以通过查询此表获得,k是每篇文章的词数量;
计算相似度的公式为:
其中,Similarity(A,B)是计算的A和B的相似度,A和B是需要计算相似度的向量,Ai和Bi是两个向量的第i个维度的特征;
构建知识图谱:定义知识图谱的模型层和数据层,然后将数据处理成<实体、关系、实体>这种三元组形式,并在本地构建子图然后导入至Neo4j数据库中。
3.根据权利要求1所述的一种基于知识图谱与提示学习的跨网络学术社区资源推荐方法,其特征在于,在步骤3中,定义提示学习模型的提示模板、定义提示学习模型的预训练模型BERT,其具体过程包括:
定义提示学习模型的提示模板:在神经网络模型中添加的一个额外层,用于将外部提示信息与模型的输入进行融合,其过程为:在原始输入x附近插入提示词得到提示模板:{p0,...,pi,x,pi+1,...pm,[MASK]},其中[MASK]是一个特殊词,是模型需要预测的词;然后经过Prompt Encoder进行映射得到隐向量:{e([P0:i]),e(x),e([Pi+1:m]),e([MASK])},其中不同的提示学习算法有不同的Prompt Encoder,最后将隐向量输入到下游的模型中;
定义提示学习模型的预训练模型BERT:提示学习模型的预训练模型BERT包含,Embedding层和Encoder层,预训练模型BERT的Embedding层是对输入x数据进行编码的操作,Embedding的公式如下:
xe=Embedding(x)=(Tokenizer(x)+Segment(x)+Position(x))*Wv*d (4)
其中,xe是编码后的矩阵,Tokenizer(x)是对原始文本x进行分词后得到的one-hot编码矩阵,Segment(x)用于区分x中不同句子或片段的矩阵表示,Position(x)表示x中单词的位置信息的矩阵,Wv*d是一个投影矩阵,用来获取稠密的输入矩阵表示;
Encoder层对Embedding层的输出进行进一步的计算与学习;在Encoder层中包含了Multi-Head Attention层、两层Add&Norm层和Feed Froward层,其中Multi-HeadAttention层用于计算输入序列中每个位置的注意力权重,有助于模型在不同的语义空间进行关注,并提供更全面的上下文信息;Multi-Head Attention层的计算公式如公式(5)-(8)所示:
Qi=QWi Q,Ki=KWi K,Vi=VWi V (5)
其中,Qi、Ki、Vi是第i个Head层的投影后的矩阵,Q、K和V是Embedding层输出的向量,Wi Q、Wi K、Wi V是第i个Head层的投影矩阵;
其中,Attention(Q,K,V)是计算Scaled Dot-Product Attention,softmax是一种常用的激活函数,dk是缩放因子;
headi=Attention(Qi,Ki,Vi) (7)
其中,headi是不同Head层计算Attention后的结果;
xm=MultiHead(Q,K,V)=Concact(head1,...,head8)WO (8)
其中,xm是计算Multi-Head Attention后的矩阵,Concact将不同Head层的计算结果进行拼接,WO是一个投影矩阵;
Add&Norm层用于加强模型的表示能力和优化梯度流动,第一层Add&Norm层的计算公式如公式(9)-(10)所示;第二层Add&Norm层的计算公式如公式(11)-(12)所示:
X1=xe+xm (9)
其中,X1是经过第一层的Add层之后的矩阵,xe是Embedding层输出的矩阵,xm是MultiHead输出的矩阵;
其中,Xn1是经过第一层的Norm层的矩阵,γ是缩放参数,μ是X1向量的均值,σ是X1向量的标准差,β是平移参数;
X2=Xn1+xf (11)
其中,X2是经过第二层的Add层之后的矩阵,xf是Feed Froward层输出的矩阵;
其中,Xn2是经过第二层Norm层的矩阵,μ是X2向量的均值,σ是X2向量的标准差;
Feed Froward层用于增加模型的非线性能力和表示能力,Feed Froward层的计算公式为:
xf=FFNN(Xn1)=max(0,Xn1W1+b1)W2+b2 (13)
其中,xf是经过Feed Froward层后的矩阵,W1、W2是投影矩阵,b1、b2是偏置项。
4.根据权利要求1所述的一种基于知识图谱与提示学习的跨网络学术社区资源推荐方法,其特征在于,所述的步骤4,具体过程包括:
定义Metapath2vec的元路径生成器:按照实际的需要定义所使用的元路径模板,元路径应保持是一条对称的路径;
使用元路径生成器抽取知识图谱路径:使用元路径生成器生成的元路径模板,从知识图谱中抽取各个实体之间的路径;
在路径中添加特殊词:在路径开头添加[CLS]特殊词,在实体与关系之间添加[SEP]特殊词,组成新的路径数据。
5.根据权利要求1所述的一种基于知识图谱与提示学习的跨网络学术社区资源推荐方法,其特征在于,所述的步骤5,具体过程包括:
使用规则抽取知识图谱中的正负例数据:在知识图谱中若用户与资源之间存在点赞或者转发关系,则认为是正例的数据,若用户与资源之间不存在任何关系,则认为是负例的数据;
使用PageRank算法计算的作者的知识权重:计算知识图谱中作者实体的PageRank值,PageRank的计算公式如下:
其中,PR(u)是实体u的PageRank值,PR(v)是实体v的PageRank值,Nv是实体v的出度,v∈B(u)是连向实体u的实体v的集合;
将作者的知识权重添加到正负例数据中:将计算出来的作者知识权重插入到正负例数据中,放置在作者实体之前。
6.根据权利要求1所述的一种基于知识图谱与提示学习的跨网络学术社区资源推荐方法,其特征在于,在步骤6中,具体过程包括:
使用掩码语言建模训练提示学习的预训练模型BERT:在输入的句子中的一些单词会被随机掩盖,即用特殊的掩码符号替代,然后模型通过上下文来预测被掩盖的单词;掩码语言建模的损失函数公式为:
其中,LMLM是掩码语言建模的损失函数,M是掩码的个数,pi是型对掩码位置上的词的预测概率,yi是掩码位置上的词的真实标签;
使用改进的P-tuning算法训练提示学习模型的提示模板:将P-tuning编码器中的双层LSTM替换为双层Bert-Encoder,其计算公式如下:
MLP(X)=max(0,XW1+b1)W2+b2 (16)
其中,是经过改进的P-tuning算法输出的矩阵,MLP是多层感知机,/>是输入改进的P-tuning算法的矩阵,Encoder是预训练模型BERT的Encoder层。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311538150.3A CN117763363A (zh) | 2023-11-17 | 2023-11-17 | 基于知识图谱与提示学习的跨网络学术社区资源推荐方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311538150.3A CN117763363A (zh) | 2023-11-17 | 2023-11-17 | 基于知识图谱与提示学习的跨网络学术社区资源推荐方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117763363A true CN117763363A (zh) | 2024-03-26 |
Family
ID=90313389
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311538150.3A Pending CN117763363A (zh) | 2023-11-17 | 2023-11-17 | 基于知识图谱与提示学习的跨网络学术社区资源推荐方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117763363A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118115850A (zh) * | 2024-04-29 | 2024-05-31 | 成都索贝数码科技股份有限公司 | 一种基于跨模态提示学习的可控图像描述方法及装置 |
-
2023
- 2023-11-17 CN CN202311538150.3A patent/CN117763363A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118115850A (zh) * | 2024-04-29 | 2024-05-31 | 成都索贝数码科技股份有限公司 | 一种基于跨模态提示学习的可控图像描述方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110413986B (zh) | 一种改进词向量模型的文本聚类多文档自动摘要方法及系统 | |
CN108897857B (zh) | 面向领域的中文文本主题句生成方法 | |
CN110825881B (zh) | 一种建立电力知识图谱的方法 | |
CN110020438A (zh) | 基于序列识别的企业或组织中文名称实体消歧方法和装置 | |
CN112395393B (zh) | 一种基于多任务多示例的远程监督关系抽取方法 | |
CN115392259B (zh) | 一种基于对抗训练融合bert的微博文本情感分析方法及系统 | |
CN117763363A (zh) | 基于知识图谱与提示学习的跨网络学术社区资源推荐方法 | |
CN112559734A (zh) | 简报生成方法、装置、电子设备及计算机可读存储介质 | |
CN116304066A (zh) | 一种基于提示学习的异质信息网络节点分类方法 | |
Yang et al. | Ensemble sentiment analysis method based on R-CNN and C-RNN with fusion gate | |
CN114238653A (zh) | 一种编程教育知识图谱构建、补全与智能问答的方法 | |
CN116662565A (zh) | 基于对比学习预训练的异质信息网络关键词生成方法 | |
CN116186216A (zh) | 基于知识增强和双图交互的问题生成方法及系统 | |
CN115496072A (zh) | 一种基于对比学习的关系抽取方法 | |
CN114265936A (zh) | 一种科技项目文本挖掘的实现方法 | |
CN117112786A (zh) | 一种基于图注意力网络的谣言检测方法 | |
CN116629361A (zh) | 基于本体学习和注意力机制的知识推理方法 | |
Bao et al. | HTRM: a hybrid neural network algorithm based on tag-aware | |
CN112464673B (zh) | 融合义原信息的语言含义理解方法 | |
CN115169429A (zh) | 一种轻量化方面级文本情感分析方法 | |
CN114386425A (zh) | 用于对自然语言文本内容进行处理的大数据体系建立方法 | |
CN114238649A (zh) | 一种常识概念增强的语言模型预训练方法 | |
CN113010676A (zh) | 一种文本知识提取方法、装置及自然语言推断系统 | |
Wu et al. | A Text Emotion Analysis Method Using the Dual‐Channel Convolution Neural Network in Social Networks | |
Xiong et al. | Sentiment Analysis and Research Based on ERINE-BILSTM-ATT |
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 |