ACL 2019 《基於參數生成的圖神經網路的關係提取》 論文解讀
Graph Neural Networks with Generated Parameters for Relation Extraction 論文解讀
Background
-
論文動機
- 現有的 GNNs 只能在預先定義好的graph上進行 multi-hop relational reasoning,並且不能直接應用在自然語言關係推理上。
- discover more accurate relations.
-
論文貢獻
- 提出了一種具有生成參數的圖神經網路**(a novel graph neural network model with generated parameters)**s。與傳統GNN相比,GP-GNNs可以學習邊參數,從關係缺失的圖或者是具有限數量的邊緣類型的圖推斷擴展到非結構化的文本輸入
- 證實了GP-GNN具有多條關係推理的能力。
Models
模型分為三個部分,GP-GNN首先用文本序列構造一個==全連接的同質網路圖==,不區分邊的類型,通過編碼的方式讓模型學習邊的參數(😏這也是為什麼叫生成參數的GNN的原因了)
1. 編碼模組
編碼模組將原本序列轉換為與邊相關的過渡矩陣**(transition matrices corresponding to edges)**,使邊能對豐富的語句資訊進行編碼。
sequence=\left(x_{0}^{i, j}, x_{1}^{i, j}, \ldots x_{\ell}^{i, j}\right)
得到 Aransition Matrices:
\mathcal{A}_{i, j}^{(n)}=f\left(E\left(x_{0}^{i, j}\right), E\left(x_{1}^{i, j}\right), \cdots, E\left(x_{l-1}^{i, j}\right) ; \theta_{e}^{n}\right)
f()是任何可以編碼序列數據的模型,例如,LSTMs,GRUs,CNNs,E()是 Embedding Function.
例如:
E\left(x_{t}^{i, j}\right)=\left[\boldsymbol{x}_{t} ; \boldsymbol{p}_{t}^{i, j}\right]
\mathcal{A}_{i, j}^{(n)}=\left[\operatorname{MLP}_{n}\left(\operatorname{BiLSTM}_{n}\left(\left(E\left(x_{0}^{i, j}\right), E\left(x_{1}^{i, j}\right), \cdots, E\left(x_{l-1}^{i, j}\right)\right)\right]\right.\right.
其中,\boldsymbol{p}_{t}^{i, j}是單詞t相對於實體對的位置 i,j 的位置嵌入向量表示; \boldsymbol{x}_{t} 是單詞 x_{t} 的word embedding.
n denotes the index of layer: means their parameters are different among layers
[\cdot] means reshaping a vector as a matrix.
\mathcal{A}_{i, j}^{(n)}指的是entity i和entity j在 gcn 第n層的邊的權重(作為圖中的參數),由此我們可以了解到:
==在gcn的每一層,邊的權重都是要計算的==(現在可以聯想到生成參數是怎麼回事了吧?)
2. 傳播模組
**傳播模組逐層學習節點的表示形式。**使用GCN在節點之間傳播關係資訊,節點的初始表示與任務相關,
\mathbf{h}_{i}^{(n+1)}=\sum_{v_{j} \in \mathcal{N}\left(v_{i}\right)} \sigma\left(\mathcal{A}_{i, j}^{(n)} \mathbf{h}_{j}^{(n)}\right)
The Initial embeddings of nodes
Annotators a_{subject} and a_{object} could also carry ==the prior knowledge== about subject entity and object entity.
(不太懂的操作?【0,1】,【1,0 】)
3. 分類模組
將實體v_i和v_j的K層的資訊都利用起來計算兩個節點之間的關係表示 \boldsymbol{r}_{v_{i}, v_{j}}
\boldsymbol{r}_{v_{i}, v_{j}}=\left[\left[\boldsymbol{h}_{v_{i}}^{(1)} \odot \boldsymbol{h}_{v_{j}}^{(1)}\right]^{\top} ;\left[\boldsymbol{h}_{v_{i}}^{(2)} \odot \boldsymbol{h}_{v_{j}}^{(2)}\right]^{\top} ; \ldots ;\left[\boldsymbol{h}_{v_{i}}^{(K)} \odot \boldsymbol{h}_{v_{j}}^{(K)}\right]^{\top}\right]
\mathbb{P}\left(r_{v_{i}, v_{j}} \mid h, t, s\right)=\operatorname{softmax}\left(\operatorname{MLP}\left(\boldsymbol{r}_{v_{i}, v_{j}}\right)\right)
\mathcal{L}=\sum_{s \in S} \sum_{i \neq j} \log \mathbb{P}\left(r_{v_{i}, v_{j}} \mid i, j, s\right)
==計算loss的時候會不會計算量太大了呢??==
Experiment
-
對比模型
Context-Aware RE(上下文感知RE 由Sorokin & Gurevych (2017)提出)
Multi-Window CNN.(多窗口的CNN 由Zeng et al. (2014))
PCNN, proposed (由 Zeng et al. (2015)提出)
LSTM or GP-GNN ( K = 1 )雙向 LSTM,可以看作模型的1層變體。
K=2 或 K=3 的 GP-GNN,可以進行 2 跳推理和 3 跳推理。
-
實驗數據集
-
Distantly labeled set
2017年Sorokin和Gurevych等人利用Wikipedia corpora構造的一個數據集。
本文任務與其任務之間有一個小區別:本文任務是提取句子中每對實體之間的關係,而他們的任務是提取給定實體對與上下文實體對之間的關係(extract the relationship between the given entity pair and the context entity pairs.) 。因此作者做了以下修改:
1)如果給定三元組中沒有reversed edges,例如如果句子中存在三元組(Earth, partof, Solar System),則向其添加一個反向標籤(Solar System, has a member, Earth);
2)對於所有沒有關係的實體對,在它們之間添加了「NA」標籤。(也作為有標籤的訓練數據?)
-
Human annotated test set
測試集中有350個句子和1230個三元組(人工精標)
-
Dense distantly labeled test set
實體數量應嚴格大於2;句子的真實標籤中必須至少one circle(至少有三個實體)(==圓的每個邊都有一個非「NA」標籤==?)。該測試集可用於測試論文方法在實體之間具有複雜相互作用的句子上的表現,該測試集中有1350個句子、超過17915個三元組和7906個關係。
-
-
實驗結果分析(==實驗結果是在詞袋上的??==)
在三個測試集中都表現為最佳。特別是在Dense distantly labeled test set (多實體情況中)