CN110874392B - 基于深度双向注意力机制的文本网络信息融合嵌入方法 - Google Patents
基于深度双向注意力机制的文本网络信息融合嵌入方法 Download PDFInfo
- Publication number
- CN110874392B CN110874392B CN201911144528.5A CN201911144528A CN110874392B CN 110874392 B CN110874392 B CN 110874392B CN 201911144528 A CN201911144528 A CN 201911144528A CN 110874392 B CN110874392 B CN 110874392B
- Authority
- CN
- China
- Prior art keywords
- text
- matrix
- nodes
- embedding
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 44
- 230000004927 fusion Effects 0.000 title claims abstract description 41
- 230000007246 mechanism Effects 0.000 title claims abstract description 41
- 230000002457 bidirectional effect Effects 0.000 title claims abstract description 25
- 239000013598 vector Substances 0.000 claims abstract description 109
- 230000014509 gene expression Effects 0.000 claims abstract description 43
- 238000012549 training Methods 0.000 claims abstract description 25
- 230000008569 process Effects 0.000 claims abstract description 16
- 239000011159 matrix material Substances 0.000 claims description 77
- 238000012360 testing method Methods 0.000 claims description 38
- 230000006870 function Effects 0.000 claims description 23
- 238000004364 calculation method Methods 0.000 claims description 17
- 238000002474 experimental method Methods 0.000 claims description 17
- 238000011176 pooling Methods 0.000 claims description 16
- 238000013507 mapping Methods 0.000 claims description 12
- 238000005070 sampling Methods 0.000 claims description 10
- ORILYTVJVMAKLC-UHFFFAOYSA-N Adamantane Natural products C1C(C2)CC3CC1CC2C3 ORILYTVJVMAKLC-UHFFFAOYSA-N 0.000 claims description 5
- 238000012952 Resampling Methods 0.000 claims description 4
- 238000006243 chemical reaction Methods 0.000 claims description 4
- 238000013527 convolutional neural network Methods 0.000 claims description 3
- 241000689227 Cora <basidiomycete fungus> Species 0.000 abstract description 8
- 238000013461 design Methods 0.000 abstract description 2
- 230000000694 effects Effects 0.000 description 4
- 238000012935 Averaging Methods 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 230000006872 improvement Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/31—Indexing; Data structures therefor; Storage structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
- G06F16/334—Query execution
- G06F16/3344—Query execution using natural language analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- 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
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Evolutionary Computation (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Mathematical Physics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Machine Translation (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种基于深度双向注意力机制的文本网络信息融合嵌入方法,该方法使用两种向量表示来分别代表网络中节点的结构信息和文本信息,通过深度双向注意力机制将同个节点的结构信息和文本信息进行融合,让结构信息和文本信息进行相互选择,最后将融合得到的结构、文本注意力信息再和原始信息进行融合,作为最终的结构和文本向量表达,每一个节点的最终向量表示由学习得到的结构和文本向量相拼接得到。对于损失函数的设计,本发明在训练的时候倾向于让相邻节点具备相似的结构表达和相似的文本表达,过程中使用的数据集为zhihu、Cora和Hepth,在这三个数据集上进行关系预测。
Description
技术领域
本发明涉及自然语言处理中的文本网络嵌入相关领域,更具体地,涉及一种基于深度双向注意力机制的文本网络信息融合嵌入方法。
背景技术
在现代社会,伴随着网络的快速发展,人们可以很方便地在网络上发布一些文字信息与好友进行交流。例如我们可以在微信发布文字朋友圈,并在朋友圈下面跟自己的好友互相评论;我们还可以在网购平台上给购买的商品填写评价,或者回答好友关于购买商品的提问。如果我们想将上述例子提到的人与人之间的好友关系以及其发布的文本信息记录下来,我们会发现网络提供了一种非常方便的形式来记录这些数据。我们可以将网络中每个节点当做每一个用户,用节点之间的边的存在情况代表用户之间社会关系的存在情况,同时每个节点还可以附带文本数据,这样的网络被称之为文本网络。
通常情况下,文本网络会包含几千万甚至上亿的边、节点以及附带的文本信息,这就使得我们很难在整个网络上直接计算复杂度较高的运算。为了解决这个问题,文本网络嵌入技术面世,其旨在针对网络中的每个节点,根据其结构信息与文本内容进行特征抽取,得到每个节点低维度的特征向量表示。利用学习到的节点低维度向量表示,我们就可以将原本针对节点间关系计算的许多计算复杂度较高的运算转换成简单的对节点间所得向量相似度的计算,通过计算向量之间的余弦值或者向量间点积值来衡量节点之间关系的强弱。
发明内容
本发明提供一种提升文本网络嵌入表达质量的基于深度双向注意力机制的文本网络信息融合嵌入方法。
为了达到上述技术效果,本发明的技术方案如下:
一种基于深度双向注意力机制的文本网络信息融合嵌入方法,包括以下步骤:
S1:对节点的结构特征和文本特征进行提取;
S2:建立深度双向注意力机制将同个节点的结构特征和文本特征进行融合;
S3:通过深度双向注意力机制融合得到的结构特征和文本特征,设计损失函数,使邻居节点的结构特征和文本特征相似。
进一步地,所述步骤S1的具体过程是:
S11:对节点的结构特征进行提取:使用矩阵S∈R|V|×d来保存整个网络中每个节点的结构特征,其中|V|表示所有节点的总个数,d表示结构特征的维度,矩阵S的每一行si∈S表示第i个节点的结构特征表示,根据节点的索引从S矩阵中取出第i个节点的结构特征表示,矩阵S是随机初始化的,并作为模型的参数,在训练的时候根据最终的目标方程自动优化;
S12:对节点的文本特征进行提取:对文本的词序列,使用词嵌入技术转换为词向量序列后使用卷积神经网络进行特征提取,得到每个节点文本的特征矩阵。对特征矩阵使用平均池化操作得到每个节点文本的原始文本特征。
进一步地,所述步骤S1中还包括:
对文本中出现的所有词汇建立词汇表,并建立每一个单词的索引,通过索引将每个单词转换成对应的独热向量,使用矩阵W∈R|W_all|×d来保存整个网络中的词向量表示,其中|W_all|表示所有文本中出现单词的总个数,d表示文本特征的维度,词嵌入矩阵W的每一行wi∈W表示第i个单词的词向量表示,通过将每个单词的独热表示与词嵌入矩阵W相乘,取出某一行得到该文本中每个词的词嵌入表示,将每个节点文本内容中的词嵌入表示拼接在一起得到每个文本的词嵌入矩阵表示,矩阵W是随机初始化的,并作为模型的参数,在训练的时候根据最终的目标方程自动优化。
进一步地,所述步骤S1中还包括:
通过卷积层对词嵌入层得到的每个文本的词嵌入矩阵进行文本特征提取。对于输入的词嵌入矩阵wi,wi表示第i个文本的词嵌入矩阵,使用宽度为l的卷积核Fl∈Rl×d逐步进行卷积操作,得到特征映射的公式如下:
其中wi[j:j+l-1]表示词嵌入矩阵中第j行到第j+l-3行的实值,每经过一次计算,就将窗口滑动一定的步数,在每一个窗口内卷积核进行计算得到值,将这些值拼起来得到每个卷积核提取到的特征映射fl,如下:
其中n为该文本中所有单词个数,设置不同大小的卷积核来对文本进行特征的提取,每一个卷积核都可以提取出局部的语义信息,而多个不同的卷积核可以从多个方面对句子进行语义特征的提取,多个卷积核的特征映射向量会组成一个特征映射矩阵。
进一步地,所述步骤S1中还包括:依次对每个卷积核得到的特征向量进行平均池化操作,即对特征向量中的实值求和计算平均,然后将得到的值依次拼接得到每个文本的文本特征。
进一步地,所述步骤S2的具体过程是:
S21:对第一步得到的结构特征向量S∈Rembedding_size×batch_size和文本特征向量T∈Rbatch_size×embedding_size进行矩阵相乘,并将每个元素经过sigmoid函数计算,通过下列公式得到batch_size个相关性矩阵F∈Rembedding_size×embedding_size:
F=sigmoid(ST)
在相关性矩阵F中,每个元素Fi,j代表结构特征向量和文本特征向量的相关性因子;
S22:从相关性矩阵提取两个隐含的结构和文本相关性向量S1和T1,先通过行平均池化和列平均池化操作获得影响因子向量r=[r1,…,rembedding_size]T,c=[c1,…,cembedding_size]T,其中:
ri=mean(Fi,1,…,Fi,embedding_size)
ci=mean(F1,i,…,Fembedding_size,i)
通过softmax函数将影响因子向量转化为注意力向量s1和t1,其中
S23:得到融合之后的s1和t1注意力向量后,分别和原始结构特征向量s0和文本特征向量t0进行相加,将s0+s1、t0+t1作为第二层注意力融合机制的输入,注意力融合机制不变,输出s2和t2,再将s0+s2、t0+t2作为第三层注意力融合机制的输入,得到s3和t3,最终将三层经过结构和文本信息双向融合得到的注意力信息进行求和平均,得到最终的注意力融合信息s_add和t_add,公式如下:
S24:将注意力融合信息s_add和t_add与原始结构特征向量s0和文本特征向量t0进行拼接,再经过一层全连接层,最终得到经过深度双向注意力机制融合的结构特征表示s和文本特征表示t。
进一步地,所述步骤S3的具体过程如下:
S31:目标方程是对每条边上连接的两个节点进行计算,的目标是让相邻节点的文本特征和结构特征尽量相似,即提高相邻节点的结构表达相似度和文本表达相似度,降低非相邻节点的结构表达和文本表达相似度,损失函数如下:
L(i,j)=αLss(i,j)+βLtt(i,j)+γLts(i,j)+δLst(i,j)
其中损失函数中各项损失的计算方法如下:
Lss(i,j)=log p(si|sj)
Ltt(i,j)=log p(ti|tj)
Lts(i,j)=log p(ti|sj)
Lst(i,j)=log p(si|tj)
其中条件概率的计算方式为:
S32:上述条件概率每次在计算的时候都需要对整个网络中所有的节点进行计算,这会极大增加模型的计算复杂度,在保证模型精度的前提下引入负采样技术增加模型的计算速度,所以将目标方程转换为下式:
然后用Adam公式对目标函数进行优化;
S33:每次实验只保留e%的边用来训练,并将其余的作为测试集,其中e%范围从15%到95%,每隔10%进行一次实验,在建模学习到文本和结构表示向量之后,将文本特征向量和结构特征向量拼接得到最终的节点的嵌入表示,之后对得到的嵌入表示进行测试,每一次实验的测试都要从原始的网络信息中重新生成负样例测试集,生成负样例测试集的过程如下:每次从原始网络中随机抽取两个不一样的节点,然后判断两个节点在原始网络中是否存在边的关系,如果存在边的关系则放弃这一样本进行重新抽样,如果不存在边的关系,则将这一对节点放入负样例测试集中,在进行测试时,根据正样例测试集中节点之间的嵌入表达相似度是否大于负样例测试集中节点之间的嵌入表达相似度来进行模型的评估。
与现有技术相比,本发明技术方案的有益效果是:
本发明使用两种向量表示来分别代表网络中节点的结构信息和文本信息,通过深度双向注意力机制将同个节点的结构信息和文本信息进行融合,让结构信息和文本信息进行相互选择,最后将融合得到的结构、文本注意力信息再和原始信息进行融合,作为最终的结构和文本向量表达,每一个节点的最终向量表示由学习得到的结构和文本向量相拼接得到。对于损失函数的设计,本发明在训练的时候倾向于让相邻节点具备相似的结构表达和相似的文本表达,过程中使用的数据集为zhihu、Cora和Hepth,在这三个数据集上进行关系预测。
附图说明
图1为本发明方法流程示意图;
图2为实施例1中的处理过程示意图。
具体实施方式
附图仅用于示例性说明,不能理解为对本专利的限制;
为了更好说明本实施例,附图某些部件会有省略、放大或缩小,并不代表实际产品的尺寸;
对于本领域技术人员来说,附图中某些公知结构及其说明可能省略是可以理解的。
下面结合附图和实施例对本发明的技术方案做进一步的说明。
实施例1
如图1-2所示,一种基于深度双向注意力机制的文本网络信息融合嵌入方法,包括以下步骤:
S1:对节点的结构特征和文本特征进行提取;
S2:建立深度双向注意力机制将同个节点的结构特征和文本特征进行融合;
S3:通过深度双向注意力机制融合得到的结构特征和文本特征,设计损失函数,使邻居节点的结构特征和文本特征相似。
步骤S1的具体过程是:
S11:对节点的结构特征进行提取:使用矩阵S∈R|V|×d来保存整个网络中每个节点的结构特征,其中|V|表示所有节点的总个数,d表示结构特征的维度,矩阵S的每一行si∈S表示第i个节点的结构特征表示,根据节点的索引从S矩阵中取出第i个节点的结构特征表示,矩阵S是随机初始化的,并作为模型的参数,在训练的时候根据最终的目标方程自动优化;
S12:对节点的文本特征进行提取:对文本的词序列,使用词嵌入技术转换为词向量序列后使用卷积神经网络进行特征提取,得到每个节点文本的特征矩阵。对特征矩阵使用平均池化操作得到每个节点文本的原始文本特征。
步骤S1中还包括:
对文本中出现的所有词汇建立词汇表,并建立每一个单词的索引,通过索引将每个单词转换成对应的独热向量,使用矩阵W∈R|W_all|×d来保存整个网络中的词向量表示,其中|W_all|表示所有文本中出现单词的总个数,d表示文本特征的维度,词嵌入矩阵W的每一行wi∈W表示第i个单词的词向量表示,通过将每个单词的独热表示与词嵌入矩阵W相乘,取出某一行得到该文本中每个词的词嵌入表示,将每个节点文本内容中的词嵌入表示拼接在一起得到每个文本的词嵌入矩阵表示,矩阵W是随机初始化的,并作为模型的参数,在训练的时候根据最终的目标方程自动优化。
步骤S1中还包括:
通过卷积层对词嵌入层得到的每个文本的词嵌入矩阵进行文本特征提取。对于输入的词嵌入矩阵wi,wi表示第i个文本的词嵌入矩阵,使用宽度为l的卷积核Fl∈Rl×d逐步进行卷积操作,得到特征映射的公式如下:
其中wi[j:j+l-1]表示词嵌入矩阵中第j行到第j+l-3行的实值,每经过一次计算,就将窗口滑动一定的步数,在每一个窗口内卷积核进行计算得到值,将这些值拼起来得到每个卷积核提取到的特征映射fl,如下:
其中n为该文本中所有单词个数,设置不同大小的卷积核来对文本进行特征的提取,每一个卷积核都可以提取出局部的语义信息,而多个不同的卷积核可以从多个方面对句子进行语义特征的提取,多个卷积核的特征映射向量会组成一个特征映射矩阵。
步骤S1中还包括:依次对每个卷积核得到的特征向量进行平均池化操作,即对特征向量中的实值求和计算平均,然后将得到的值依次拼接得到每个文本的文本特征。
步骤S2的具体过程是:
S21:对第一步得到的结构特征向量S∈Rembedding_size×batch_size和文本特征向量T∈Rbatch_size×embedding_size进行矩阵相乘,并将每个元素经过sigmoid函数计算,通过下列公式得到batch_size个相关性矩阵F∈Rembedding_size×embedding_size:
F=sigmoid(ST)
在相关性矩阵F中,每个元素Fi,j代表结构特征向量和文本特征向量的相关性因子;
S22:从相关性矩阵提取两个隐含的结构和文本相关性向量S1和T1,先通过行平均池化和列平均池化操作获得影响因子向量r=[r1,…,rembedding_size]T,c=[c1,…,cembedding_size]T,其中:
ri=mean(Fi,1,…,Fi,embedding_size)
ci=mean(F1,i,…,Fembedding_size,i)
通过softmax函数将影响因子向量转化为注意力向量s1和t1,其中
S23:得到融合之后的s1和t1注意力向量后,分别和原始结构特征向量s0和文本特征向量t0进行相加,将s0+s1、t0+t1作为第二层注意力融合机制的输入,注意力融合机制不变,输出s2和t2,再将s0+s2、t0+t2作为第三层注意力融合机制的输入,得到s3和t3,最终将三层经过结构和文本信息双向融合得到的注意力信息进行求和平均,得到最终的注意力融合信息s_add和t_add,公式如下:
S24:将注意力融合信息s_add和t_add与原始结构特征向量s0和文本特征向量t0进行拼接,再经过一层全连接层,最终得到经过深度双向注意力机制融合的结构特征表示s和文本特征表示t。
步骤S3的具体过程如下:
S31:目标方程是对每条边上连接的两个节点进行计算,的目标是让相邻节点的文本特征和结构特征尽量相似,即提高相邻节点的结构表达相似度和文本表达相似度,降低非相邻节点的结构表达和文本表达相似度,损失函数如下:
L(i,j)=αLss(i,j)+βLtt(i,j)+γLts(i,j)+δLst(i,j)
其中损失函数中各项损失的计算方法如下:
Lss(i,j)=log p(si|sj)
Ltt(i,j)=log p(ti|tj)
Lts(i,j)=log p(ti|sj)
Lst(i,j)=log p(si|tj)
其中条件概率的计算方式为:
S32:上述条件概率每次在计算的时候都需要对整个网络中所有的节点进行计算,这会极大增加模型的计算复杂度,在保证模型精度的前提下引入负采样技术增加模型的计算速度,所以将目标方程转换为下式:
然后用Adam公式对目标函数进行优化;
S33:每次实验只保留e%的边用来训练,并将其余的作为测试集,其中e%范围从15%到95%,每隔10%进行一次实验,在建模学习到文本和结构表示向量之后,将文本特征向量和结构特征向量拼接得到最终的节点的嵌入表示,之后对得到的嵌入表示进行测试,每一次实验的测试都要从原始的网络信息中重新生成负样例测试集,生成负样例测试集的过程如下:每次从原始网络中随机抽取两个不一样的节点,然后判断两个节点在原始网络中是否存在边的关系,如果存在边的关系则放弃这一样本进行重新抽样,如果不存在边的关系,则将这一对节点放入负样例测试集中,在进行测试时,根据正样例测试集中节点之间的嵌入表达相似度是否大于负样例测试集中节点之间的嵌入表达相似度来进行模型的评估。
首先了解数据集:实验所用数据集为Cora、HepTh和Zhihu。Cora数据集是一个论文引用网站,包括2277篇论文以及它们对应的文本信息(平均长度93个单词),并且被分为7类。此外网络共包含5214条边,其中顶点最大连接数是93。HepTh数据集是从arXiv处获取的,共包含1038篇论文以及对应的摘要信息,平均单词长度54个单词。网络共包含1990条边,其中顶点最大连接数是24。知乎是中国的一个问答社区网络,在我们的实验中,我们将活跃用户以及对他们兴趣爱好描述的文本被收集下来,分别当做网络的节点以及节点对应的文本内容。数据集一共包括10000个节点,43894条边,文本的平均长度为190个单词,其中顶点的最大连接数是2191。具体的数据集信息详见表1。
表1、实验所用数据集信息
数据集 | Cora | HepTh | Zhihu |
节点数 | 2277 | 1038 | 10000 |
边数 | 5214 | 1990 | 43894 |
顶点最大连接数 | 93 | 24 | 2191 |
文本的平均长度 | 90 | 54 | 190 |
类别 | 7 | - | - |
在之前的文本网络嵌入方法中,效果较好的做法是CANE和WANE。CANE是分别使用两种向量表示来分别代表网络中节点的结构信息和文本信息,每一个节点的最终向量表示由学习得到的结构和文本向量相拼接得到,在训练的时候倾向于让相邻节点具备相似的结构表达和相似的文本表达,在建模相邻节点的文本表达时采用注意力机制根据节点连接情况的不同有侧重点的进行选择表达。WANE则是在CANE的基础上,采取了更细粒度的词对齐技术来更好地建模邻居节点的文本之间的交互关系。但这些做法都忽略了文本信息与结构信息的交互作用,对文本和结构建模过程较为独立,影响嵌入表达的质量。本方法提出的深度双向注意力机制可以将同个节点的文本信息和结构信息进行融合,得到较高质量的文本和结构信息表达,最终提升了文本网络嵌入任务的实验效果。
具体方法步骤如下:首先我们将数据集中存在的边划分为训练集和测试集,每次实验随机采样出e%的边用来训练,其余的作为测试集。其中e%范围从15%到95%,每隔10%进行一次实验。在划分完训练集之后,对训练集中每个节点的文本信息和结构信息进行建模。先提取结构特征,随机初始化矩阵S用于保存整个网络中每个节点的结构特征,根据节点的索引从S矩阵中取出第i行向量作为第i个节点的结构特征表示s0。再通过词嵌入层、卷积层和池化层提取节点的文本特征表示t0,通过三层注意力机制将结构、文本特征进行融合,最终将得到的注意力信息和原始结构、文本特征表示进行拼接得到结构和文本特征的最终表示。根据我们设计的目标方程进行学习,因为目标方程中在计算条件概率时需要对整个网络中所有的节点进行计算,极大增加了模型的计算复杂度。在保证模型精度的前提下,我们引入负采样技术来增加模型的计算速度,随后使用Adam优化经过负采样转换之后的目标方程,从而训练模型的参数。在训练完模型之后从原始的网络信息中生成负样例测试集,根据正样例测试集中节点之间的嵌入表达相似度是否大于负样例测试集中节点之间的嵌入表达相似度来进行模型的评估。
细节如下:
1、将数据集中的边随机采样出e%作为训练集,假设e为45,则训练集中包含数据集45%的边,剩下的55%的边作为测试集。数据集中给定的边信息每一行包含两个邻居节点[A B],表示节点A和节点B是有边相连的。对训练集中每一对邻居节点A、B先在原始数据集中随机采样出10个与A、B都不相连的节点组成10组。每次从训练集中取出batch_size组进行训练。实验中batch_size设为64。
2、随机初始化一个S∈R|V|×d矩阵来保存整个网络中每个节点的结构特征。其中|V|表示所有节点的总个数,d表示结构特征的维度即embedding_size,实验中embedding_size设为100,矩阵S的每一行si∈S表示节点i的结构特征表示。假设从训练集随机采样出的batch_size条边中包含[A B],并且负采样节点为N,则取出矩阵S的第A行作为节点A的结构特征表示N_A,取出矩阵S的第B行作为节点B的结构特征表示N_B,取出矩阵S的第N行作为负采样节点N的结构特征表示N_NEG。
3、对数据集文本中出现的所有词汇建立词汇表,并建立每一个单词的索引,通过索引将每个单词转换成对应的独热向量。随机初始化一个W∈R|W_all|×d矩阵来保存整个网络中每个节点的词向量,其中|W_all|表示数据集中所有文本中出现单词的总个数,d表示文本特征的维度(与结构特征维度相同)即embedding_size,词嵌入矩阵W的每一行wi∈W表示第i个单词的词向量表示。对于每个节点的文本,将文本中每个单词的独热表示与词嵌入矩阵W相乘,取出某一行得到该文本中每个词的词嵌入表示。将每个节点文本内容中的词嵌入表示拼接在一起得到每个文本的词嵌入矩阵表示。
4、对于词嵌入矩阵wi(这里wi表示第i个文本的词嵌入矩阵),分别使用宽度为1,3,5,7的卷积核对其进行卷积操作,卷积步长设为1,通过zero-padding使其通过不同卷积核大小卷积出来的特征映射向量在同一个维度。将多个卷积核的特征映射向量组成一个特征映射矩阵,并依次对每个卷积核得到的特征向量进行平均池化操作,即对特征向量中的实值求和计算平均,然后将得到的值依次拼接后经过一个全连接层得到每个节点文本的文本特征。
5、在一个batch中,得到每一组邻居节点A、B和负采样节点N的结构特征向量表示N_A、N_B、N_NEG和文本特征向量表示T_A、T_B、T_NEG后,分别将每个节点的结构特征向量和文本特征向量进行矩阵相乘,并且矩阵中每个元素通过simoid函数计算,得到batch_size个相关性矩阵F∈Rembedding_size×embedding_size。例如对于节点A,将N_A(s0)和T_A(t0)进行矩阵相乘并通过sigmoid函数得到100x100的相关性矩阵F,对F中的每一行进行平均池化得到第一层注意力信息100x1向量s1,对F中的每一列进行平均池化得到第一层注意力信息1x100向量t1。
6、将s0+s1,t0+t1作为第二层注意力融合机制的输入,即同样经过矩阵相乘和sigmoid函数计算出相关性矩阵F,并通过每一行和每一列的平均池化操作得到第二层注意力信息100x1向量s2和1x100向量t2。再将s0+s2、t0+t2作为第三层注意力融合机制的输入,得到s3和t3。最终将三层经过结构和文本信息双向融合得到的注意力信息s1、s2、s3和t1、t2、t3进行求和平均,得到最终的注意力融合信息s_add和t_add。然后将注意力融合信息s_add和t_add与原始结构特征向量s0和文本特征向量t0进行拼接,再经过一层全连接层,得到经过深度双向注意力机制融合的最终结构特征表示s和文本特征表示t。
7、在一个batch中,得到每一组邻居节点A、B和负采样节点N经过深度双向注意力机制融合的最终结构特征向量表示N_A、N_B、N_NEG和文本特征向量表示T_A、T_B、T_NEG后,通过计算loss进行反向传播训练模型参数。根据损失函数计算loss:
L(i,j)=αLss(i,j)+βLtt(i,j)+γLts(i,j)+6Lst(i,j)
将N_A代入上式si,N_B代入sj,N_NEG代入sk,T_A代入ti,T_B代入tj,T_NEG代入tk进行计算。实验中β设为1.0,α、γ、δ均设为0.3。每经过一个batch计算后通过Adam优化器对模型参数进行更新。迭代30个epoch,每隔一个epoch计算一次loss。
8、在全部训练完毕之后,将学习得到的每个节点的文本特征向量和结构特征向量进行拼接得到200维的最终节点嵌入表示。假设测试集中有1000对邻居节点,则先生成1000对负样例测试集,即从原始数据集中随机抽取两个不一样的节点,然后判断两个节点在原始网络中是否存在边的关系,如果存在边的关系则放弃这一样本进行重新抽样,如果不存在边的关系,则将这一对节点放入负样例测试集中。然后对测试集中每一对邻居节点,将其节点嵌入表达进行点乘得到x,然后随机从负样例测试集中取出一对节点对其节点嵌入表达进行点乘得到y,比较x和y的大小,如果x>y则加1,如果x=y则加0.5,独立比较1000次,如果x>y的次数有n’次,x=y的次数有n”次,则最后指标分数如果所有分数都是随机产生的则AUC=0.5,所以AUC>0.5的程度衡量了算法在多大程度上比随机选择的方法准确。
为了和以前方法做对比,我们采用了之前一些表现效果较好的模型,并且在Cora、HepTh和Zhihu数据集上以相同的迭代次数进行了训练与测试,最终得到了如下的实验结果:
表2、Zhihu数据集上各个模型表现情况
表3、Cora数据集上各个模型表现情况
模型 | 15% | 25% | 35% | 45% | 55% | 65% | 75% | 85% | 95% |
DeepWalk | 56.0 | 63.0 | 70.2 | 75.5 | 80.1 | 85.2 | 85.3 | 87.8 | 90.3 |
LINE | 55.0 | 58.6 | 66.4 | 73.0 | 77.6 | 82.8 | 85.6 | 88.4 | 89.3 |
Node2Vec | 55.9 | 62.4 | 66.1 | 75.0 | 78.7 | 81.6 | 85.9 | 87.3 | 88.2 |
TADW | 86.6 | 88.2 | 90.2 | 90.8 | 90.0 | 93.0 | 91.0 | 93.4 | 92.7 |
CENE | 72.1 | 86.5 | 84.6 | 88.1 | 89.4 | 89.2 | 93.9 | 95.0 | 95.9 |
CANE | 86.8 | 91.5 | 92.2 | 93.9 | 94.6 | 94.9 | 95.6 | 96.6 | 97.7 |
WANE | 91.7 | 93.3 | 94.1 | 95.7 | 96.2 | 96.9 | 97.5 | 98.2 | 99.1 |
本文方法 | 90.6 | 92.2 | 95.8 | 96.4 | 97.3 | 97.6 | 97.9 | 98.6 | 99.3 |
表4、HepTh数据集上各个模型表现情况
模型 | 15% | 25% | 35% | 45% | 55% | 65% | 75% | 85% | 95% |
DeepWalk | 55.2 | 66.0 | 70.0 | 75.7 | 81.3 | 83.3 | 87.6 | 88.9 | 88.0 |
LINE | 53.7 | 60.4 | 66.5 | 73.9 | 78.5 | 83.8 | 87.5 | 87.7 | 87.6 |
Node2Vec | 57.1 | 63.6 | 69.9 | 76.2 | 84.3 | 87.3 | 88.4 | 89.2 | 89.2 |
TADW | 87.0 | 89.5 | 91.8 | 90.8 | 91.1 | 92.6 | 93.5 | 91.9 | 91.7 |
CENE | 86.2 | 84.6 | 89.8 | 91.2 | 92.3 | 91.8 | 93.2 | 92.9 | 93.2 |
CANE | 90.0 | 91.2 | 92.0 | 93.0 | 94.2 | 94.6 | 95.4 | 95.7 | 96.3 |
WANE | 92.3 | 94.1 | 95.7 | 96.7 | 97.5 | 97.5 | 97.7 | 98.2 | 98.7 |
本文方法 | 91.6 | 94.3 | 96.1 | 96.9 | 97.4 | 98.0 | 98.3 | 98.6 | 99.2 |
从结果可以看出我们的发明相较于以前方法有不小的提升,在三个数据集上都表现非常好,在Zhihu数据集上比目前最好的模型提高了大约10%的成绩,在Cora和HepTh数据集上也超过了基础模型。本发明考虑了同个节点的结构和文本特征的交互影响作用,利用深度双向注意力机制将结构信息和文本信息进行融合。
相同或相似的标号对应相同或相似的部件;
附图中描述位置关系的用于仅用于示例性说明,不能理解为对本专利的限制;
显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明权利要求的保护范围之内。
Claims (6)
1.一种基于深度双向注意力机制的文本网络信息融合嵌入方法,其特征在于,包括以下步骤:
S1:对节点的结构特征和文本特征进行提取;
S2:建立深度双向注意力机制将同个节点的结构特征和文本特征进行融合;具体过程是:
S21:对第一步得到的结构特征向量S∈Rembedding_size×batch_size和文本特征向量T∈Rbatch _size×embedding_size进行矩阵相乘,并将每个元素经过sigmoid函数计算,通过下列公式得到batch_size个相关性矩阵F∈Rembedding_size×embedding_size:
F=sigmoid(ST)
在相关性矩阵F中,每个元素Fi,j代表结构特征向量和文本特征向量的相关性因子;
S22:从相关性矩阵提取两个隐含的结构和文本相关性向量S1和T1,先通过行平均池化和列平均池化操作获得影响因子向量r=[r1,…,rembedding_size]T,c=[c1,…,cembedding_size]T,其中:
ri=mean(Fi,1,…,Fi,embedding_size)
ci=mean(F1,i,…,Fembedding_size,i)
通过softmax函数将影响因子向量转化为注意力向量s1和t1,其中
S23:得到融合之后的s1和t1注意力向量后,分别和原始结构特征向量s0和文本特征向量t0进行相加,将s0+s1、t0+t1作为第二层注意力融合机制的输入,注意力融合机制不变,输出s2和t2,再将s0+s2、t0+t2作为第三层注意力融合机制的输入,得到s3和t3,最终将三层经过结构和文本信息双向融合得到的注意力信息进行求和平均,得到最终的注意力融合信息s_add和t_add,公式如下:
S24:将注意力融合信息s_add和t_add与原始结构特征向量s0和文本特征向量t0进行拼接,再经过一层全连接层,最终得到经过深度双向注意力机制融合的结构特征表示s和文本特征表示t;
S3:通过深度双向注意力机制融合得到的结构特征和文本特征,设计损失函数,使邻居节点的结构特征和文本特征相似。
2.根据权利要求1所述的基于深度双向注意力机制的文本网络信息融合嵌入方法,其特征在于,所述步骤S1的具体过程是:
S11:对节点的结构特征进行提取:使用矩阵S∈R|V|×d来保存整个网络中每个节点的结构特征,其中|V|表示所有节点的总个数,d表示结构特征的维度,矩阵S的每一行si∈S表示第i个节点的结构特征表示,根据节点的索引从S矩阵中取出第i个节点的结构特征表示,矩阵S是随机初始化的,并作为模型的参数,在训练的时候根据最终的目标方程自动优化;
S12:对节点的文本特征进行提取:对文本的词序列,使用词嵌入技术转换为词向量序列后使用卷积神经网络进行特征提取,得到每个节点文本的特征矩阵;对特征矩阵使用平均池化操作得到每个节点文本的原始文本特征。
3.根据权利要求2所述的基于深度双向注意力机制的文本网络信息融合嵌入方法,其特征在于,所述步骤S1中还包括:
对文本中出现的所有词汇建立词汇表,并建立每一个单词的索引,通过索引将每个单词转换成对应的独热向量,使用矩阵W∈R|W_all|×d来保存整个网络中的词向量表示,其中|W_all|表示所有文本中出现单词的总个数,d表示文本特征的维度,词嵌入矩阵W的每一行wi∈W表示第i个单词的词向量表示,通过将每个单词的独热表示与词嵌入矩阵W相乘,取出某一行得到该文本中每个词的词嵌入表示,将每个节点文本内容中的词嵌入表示拼接在一起得到每个文本的词嵌入矩阵表示,矩阵W是随机初始化的,并作为模型的参数,在训练的时候根据最终的目标方程自动优化。
4.根据权利要求3所述的基于深度双向注意力机制的文本网络信息融合嵌入方法,其特征在于,所述步骤S1中还包括:
通过卷积层对词嵌入层得到的每个文本的词嵌入矩阵进行文本特征提取;对于输入的词嵌入矩阵wi,wi表示第i个文本的词嵌入矩阵,使用宽度为l的卷积核Fl∈Rl×d逐步进行卷积操作,得到特征映射的公式如下:
其中wi[j:j+l-1]表示词嵌入矩阵中第j行到第j+l-3行的实值,每经过一次计算,就将窗口滑动一定的步数,在每一个窗口内卷积核进行计算得到值,将这些值拼起来得到每个卷积核提取到的特征映射fl,如下:
其中n为该文本中所有单词个数,设置不同大小的卷积核来对文本进行特征的提取,每一个卷积核都可以提取出局部的语义信息,而多个不同的卷积核可以从多个方面对句子进行语义特征的提取,多个卷积核的特征映射向量会组成一个特征映射矩阵。
5.根据权利要求4所述的基于深度双向注意力机制的文本网络信息融合嵌入方法,其特征在于,所述步骤S1中还包括:依次对每个卷积核得到的特征向量进行平均池化操作,即对特征向量中的实值求和计算平均,然后将得到的值依次拼接得到每个文本的文本特征。
6.根据权利要求5所述的基于深度双向注意力机制的文本网络信息融合嵌入方法,其特征在于,所述步骤S3的具体过程如下:
S31:目标方程是对每条边上连接的两个节点进行计算的目标是让相邻节点的文本特征和结构特征尽量相似,即提高相邻节点的结构表达相似度和文本表达相似度,降低非相邻节点的结构表达和文本表达相似度,损失函数如下:
L(i,j)=αLss(i,j)+βLtt(i,j)+γLts(i,j)+δLst(i,j)
其中损失函数中各项损失的计算方法如下:
Lss(i,j)=log p(si|sj)
Ltt(i,j)=log p(ti|tj)
Lts(i,j)=log p(ti|sj)
Lst(i,j)=log p(si|tj)
其中条件概率的计算方式为:
S32:上述条件概率每次在计算的时候都需要对整个网络中所有的节点进行计算,这会极大增加模型的计算复杂度,在保证模型精度的前提下引入负采样技术增加模型的计算速度,所以将目标方程转换为下式:
然后用Adam公式对目标函数进行优化;
S33:每次实验只保留e%的边用来训练,并将其余的作为测试集,其中e%范围从15%到95%,每隔10%进行一次实验,在建模学习到文本和结构表示向量之后,将文本特征向量和结构特征向量拼接得到最终的节点的嵌入表示,之后对得到的嵌入表示进行测试,每一次实验的测试都要从原始的网络信息中重新生成负样例测试集,生成负样例测试集的过程如下:每次从原始网络中随机抽取两个不一样的节点,然后判断两个节点在原始网络中是否存在边的关系,如果存在边的关系则放弃这一样本进行重新抽样,如果不存在边的关系,则将这一对节点放入负样例测试集中,在进行测试时,根据正样例测试集中节点之间的嵌入表达相似度是否大于负样例测试集中节点之间的嵌入表达相似度来进行模型的评估。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911144528.5A CN110874392B (zh) | 2019-11-20 | 2019-11-20 | 基于深度双向注意力机制的文本网络信息融合嵌入方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911144528.5A CN110874392B (zh) | 2019-11-20 | 2019-11-20 | 基于深度双向注意力机制的文本网络信息融合嵌入方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110874392A CN110874392A (zh) | 2020-03-10 |
CN110874392B true CN110874392B (zh) | 2023-10-24 |
Family
ID=69717160
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911144528.5A Active CN110874392B (zh) | 2019-11-20 | 2019-11-20 | 基于深度双向注意力机制的文本网络信息融合嵌入方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110874392B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111916207B (zh) * | 2020-08-07 | 2023-08-08 | 杭州深睿博联科技有限公司 | 一种基于多模态融合的疾病识别方法及装置 |
CN113111224B (zh) * | 2021-03-17 | 2023-08-18 | 中山大学 | 一种基于拓扑感知文本表征的网络嵌入学习方法 |
CN116743182B (zh) * | 2023-08-15 | 2023-12-08 | 国网江西省电力有限公司信息通信分公司 | 一种数据无损压缩方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106610951A (zh) * | 2016-09-29 | 2017-05-03 | 四川用联信息技术有限公司 | 改进的基于语义分析的文本相似度求解算法 |
CN108664632A (zh) * | 2018-05-15 | 2018-10-16 | 华南理工大学 | 一种基于卷积神经网络和注意力机制的文本情感分类算法 |
CN109614611A (zh) * | 2018-11-28 | 2019-04-12 | 中山大学 | 一种融合生成非对抗网络与卷积神经网络的情感分析方法 |
CN110298037A (zh) * | 2019-06-13 | 2019-10-01 | 同济大学 | 基于增强注意力机制的卷积神经网络匹配的文本识别方法 |
CN110377686A (zh) * | 2019-07-04 | 2019-10-25 | 浙江大学 | 一种基于深度神经网络模型的地址信息特征抽取方法 |
-
2019
- 2019-11-20 CN CN201911144528.5A patent/CN110874392B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106610951A (zh) * | 2016-09-29 | 2017-05-03 | 四川用联信息技术有限公司 | 改进的基于语义分析的文本相似度求解算法 |
CN108664632A (zh) * | 2018-05-15 | 2018-10-16 | 华南理工大学 | 一种基于卷积神经网络和注意力机制的文本情感分类算法 |
CN109614611A (zh) * | 2018-11-28 | 2019-04-12 | 中山大学 | 一种融合生成非对抗网络与卷积神经网络的情感分析方法 |
CN110298037A (zh) * | 2019-06-13 | 2019-10-01 | 同济大学 | 基于增强注意力机制的卷积神经网络匹配的文本识别方法 |
CN110377686A (zh) * | 2019-07-04 | 2019-10-25 | 浙江大学 | 一种基于深度神经网络模型的地址信息特征抽取方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110874392A (zh) | 2020-03-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110807154B (zh) | 一种基于混合深度学习模型的推荐方法与系统 | |
CN109783817B (zh) | 一种基于深度强化学习的文本语义相似计算模型 | |
CN110245229B (zh) | 一种基于数据增强的深度学习主题情感分类方法 | |
CN108446271B (zh) | 基于汉字部件特征的卷积神经网络的文本情感分析方法 | |
CN113535984B (zh) | 一种基于注意力机制的知识图谱关系预测方法及装置 | |
CN108255813B (zh) | 一种基于词频-逆文档与crf的文本匹配方法 | |
CN110874392B (zh) | 基于深度双向注意力机制的文本网络信息融合嵌入方法 | |
CN110674850A (zh) | 一种基于注意力机制的图像描述生成方法 | |
CN111966812B (zh) | 一种基于动态词向量的自动问答方法和存储介质 | |
CN109977199B (zh) | 一种基于注意力池化机制的阅读理解方法 | |
CN110929034A (zh) | 一种基于改进lstm的商品评论细粒度情感分类方法 | |
WO2022095573A1 (zh) | 一种结合主动学习的社区问答网站答案排序方法及系统 | |
CN112256866B (zh) | 一种基于深度学习的文本细粒度情感分析算法 | |
CN110516070B (zh) | 一种基于文本纠错与神经网络的中文问句分类方法 | |
Zhou et al. | Sentiment analysis of text based on CNN and bi-directional LSTM model | |
CN110879938A (zh) | 文本情感分类方法、装置、设备和存储介质 | |
CN109101490B (zh) | 一种基于融合特征表示的事实型隐式情感识别方法和系统 | |
CN113392209A (zh) | 一种基于人工智能的文本聚类方法、相关设备及存储介质 | |
CN115422939B (zh) | 一种基于大数据的细粒度商品命名实体识别方法 | |
CN111930931A (zh) | 一种摘要评价方法及装置 | |
CN111339772B (zh) | 俄语文本情感分析方法、电子设备和存储介质 | |
CN113326374A (zh) | 基于特征增强的短文本情感分类方法及系统 | |
CN113486645A (zh) | 一种基于深度学习的文本相似度检测方法 | |
CN110569355B (zh) | 一种基于词块的观点目标抽取和目标情感分类联合方法及系统 | |
CN114036298B (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 |