用以解决重叠关系问题
GGNNs模型
GGNNs(门控图神经网络,Gated Graph Neural Networks)是一种处理图结构数据
的神经网络模型。它是图神经网络(GNN)的一个变体,使用了类似于长短时记忆网络(LSTM)中的门控机制
来更有效地处理图中的信息流。
GGNNs的核心机制
GGNNs的核心思想是通过在图结构中使用带门控的循环神经网络
(如GRU或LSTM)来更新节点的状态。这种结构使得网络能够在多个时间步内维持和传递节点状态,进而捕捉节点间长距离的依赖关系。
GGNNs的组成
- 节点状态更新:每个节点的状态是通过
考虑其邻居的状态
来更新的。这一过程通常使用GRU(门控循环单元)来实现,其中节点的当前状态和从邻居聚合的信息共同决定了节点状态的更新。 - 信息聚合:
信息从节点的邻居那里聚合
,通常使用加权和的形式。权重可以是固定的,也可以是通过学习得到的,依赖于节点间的关系类型。 - 门控机制:门控机制帮助模型决定在每个时间步应该
保留多少旧状态
,以及接受多少新的输入信息
。这是通过一个sigmoid激活函数来实现的,它输出一个在0到1之间的值,作为更新的权重。
本文提出的模型
由编码器
和解码器
两部分组成。
- 编码器模块包含
嵌入层
、Bi-LSTM层
和GGNNs层
。 - 解码器模块包含
注意力层
和LSTM关系元组生成层
。
编码器
首先建立了一个字典词汇表V
,其中包含原始句子token
、预定义的关系集R
、两个特殊的分隔标记
(";"和"and")、起始目标标记
(SOS)和未知词标记
(UNK)。
嵌入层
嵌入层包括单词嵌入层
和字符嵌入层
。
给定一个句子x,它包含n个token和目标实体-关系三元组。
- 首先,根据
字典词汇V
将输入标记转换为数字身份,然后利用预训练的词嵌入权重参数
来初始化输入句子token,得到\(w_i^0\)。 - 接着,采用
具有Max-pooling函数的卷积神经网络
来提取每个单词的特征向量,得到\(w_i^1\)。 - 因此,输入表示为\(W_i = [w_i^0,w_i^1]\)。
Bi-LSTM层
由于Bi-LSTM具有很强的句子语义特征提取能力,我们通过一层Bi-LSTM对词嵌入进行获取,以获取每个词的词隐藏状态。
- 首先,
前向 LSTM
将词顺序地嵌入到词隐藏状态\(\overrightarrow{h_i}\)中。 - 其次,
后向 LSTM
将输入词嵌入到隐藏状态\(\overleftarrow{h_i}\)中。 - 最后,我们得到每个词的词表示:\(h_i = [\overrightarrow{h_i}, \overleftarrow{h_i}]\)。
GGNNs层
为了更好地将区域特征与序列结构化特征相结合,我们通过依赖边缘
、自边缘
、前向边缘
和后向边缘
的关系建立了每个节点的边缘\(M\)。并利用GGNNs层来保持整个句子的图和序列结构。
解码器
为了预测关系元组,采用一层单向LSTM
作为解码器模块。
- 在每个训练阶段 t,单向 LSTM 采用
目标词嵌入
\(y_i\)和编码上下文隐藏状态
\(h_i\)来预测新的解码隐藏阶段。
- 采用
Bahdanau注意力机制
来获取每个单词的上下文表示。 - 最后,通过
线性连接
运算得到每个生成的词的概率值:
注意力层
- 在训练过程中,我们采用
交叉熵
来优化生成的令牌和直接的目标标签令牌。 - 然而,在推理过程中,解码器生成了一个在原始句子中找不到的单词、特殊标记和关系集 R。
- 因此,使用
掩码
方法(在映射层利用了Softmax函数
),解决训练阶段和推理阶段的不一致问题。
Liang Z, Du J. Sequence to sequence learning for joint extraction of entities and relations[J]. Neurocomputing, 2022, 501: 480-488.