用以解決重疊關係問題
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層來保持整個句子的圖和序列結構。
\[g_i = GGNNs(M, h_i)
\]
解碼器
為了預測關係元組,採用一層單向LSTM
作為解碼器模組。
- 在每個訓練階段 t,單向 LSTM 採用
目標詞嵌入
\(y_i\)和編碼上下文隱藏狀態
\(h_i\)來預測新的解碼隱藏階段。
\[s_t = LSTM(h_{t-1}, y_{t-1}, s_{t-1})
\]
- 採用
Bahdanau注意力機制
來獲取每個單詞的上下文表示。 - 最後,透過
線性連線
運算得到每個生成的詞的機率值:
\[r_t = We_t + b
\]
- 在訓練過程中,我們採用
交叉熵
來最佳化生成的令牌和直接的目標標籤令牌。 - 然而,在推理過程中,解碼器生成了一個在原始句子中找不到的單詞、特殊標記和關係集 R。
- 因此,使用
掩碼
方法(在對映層利用了Softmax函式
),解決訓練階段和推理階段的不一致問題。
Liang Z, Du J. Sequence to sequence learning for joint extraction of entities and relations[J]. Neurocomputing, 2022, 501: 480-488.