天天看點

論文閱讀《Understanding Procedural Text using Interactive Entity Networks》

本文主要按照如下三個方面來叙述:

1 Target:Understanding procedural text

2 Method:By using Interactive Entity Network

3 Contributions:

introduce an novel module——IEN(by using attention)

conduct intensive experiments

4 Experiments

~

1 Task

e.g., scientific articles, instruction books, or recipes

sentence 1:

The water breaks into oxygen, hydrogen, and electrons.

sentence 2:

Blood travels to the lungs. Carbon dioxide is removed from the blood. Oxygen is added to your blood.

本文的任務:Focus on scientific process understanding task(Dalvi et al., 2018), in which the tracking targets are action and location of entities.

The state tracking task is to predict the states of each entity e i e_i ei​ after reading each sentence s t s_t st​, where an entity’s state is a value of a property p j p_j pj​.

CO2 enters leaf.
System: the existence( p j p_j pj​) of CO2 ( e i e_i ei​) is true the location( p j p_j pj​) of CO2 is leaf

dynamic nature

the involvement of multiple entities =&gt; [<code>The water breaks into oxygen, hydrogen, and electrons.</code>]

the complexity of tracking targets

how to properly capture the relationship between entity interactions and their state changes.

論文閱讀《Understanding Procedural Text using Interactive Entity Networks》

2 IEN: Interactive Entity Network

本文的貢獻就在于提出了這個IEN模型,因為它提高了任務的效果,是以它有用。

two-layer RNN model

論文閱讀《Understanding Procedural Text using Interactive Entity Networks》

w ⃗ i = [ e m b ( w i ) ; v i ] \vec \textbf w_{i} = [emb(w_i);v_i] w i​=[emb(wi​);vi​]

等式左邊的 w i w_i wi​ 表示的是embedding vector,程式右邊的 w i w_i wi​ 是單詞i

實驗中針對不同的<code>embedding function</code>,如(<code>fastText、ELMo</code>),進行對比

v i v_i vi​ 是一個标量,用于表示 w i w_i wi​ 這個詞是否是動詞

将得到的 w i w_i wi​ 送入到BiLSTM中得到最後的一個表示 u i = B i L S T M ( [ w i ] ) u_i =BiLSTM([w_i]) ui​=BiLSTM([wi​])

To track the state changes, we extract sentence features from word-level encodings by running another RNN at the sentence level.
論文閱讀《Understanding Procedural Text using Interactive Entity Networks》

x t e i x_t^{e_i} xtei​​ : 表示的就是在句子<code>t</code>中的 e i e_i ei​ 實體;

x t l j x_t^{l_j} xtlj​​ : 表示的就是在句子<code>t</code>中的 l j l_j lj​ 位置;

u t v u_t^{v} utv​:表示的是句子t中的謂語動詞。

補充:

如果entity 或者 location 是由多個詞構成的,那麼就執行一個mean pooling 操作。

接着分别将所有的實體、位置表示拼接在一起得到 x t e ∈ R n ∗ d x_t^e \in R^{n*d} xte​∈Rn∗d, x t l ∈ R m ∗ d x_t^l \in R^{m*d} xtl​∈Rm∗d。 x t e x_t^e xte​ 和 x t l x_t^l xtl​ 就是第<code>t</code>個IEN cell 的輸入。

下圖中紅框1就是IEN cell 部分,而其中的紅框2就是IEN cell 的輸入。

論文閱讀《Understanding Procedural Text using Interactive Entity Networks》

接着來看一下IEN cell 是如何設計的?

論文閱讀《Understanding Procedural Text using Interactive Entity Networks》

在每個 IEN cell中,都有 n 個實體 slots、 m個location slots,與上面的 x t e x_t^e xte​ 和 x t l x_t^l xtl​ 相對應。

the representations of all entities and all location candidates in a signle sentence st, or a mask vector if the entity or location candidate is not in st .
論文閱讀《Understanding Procedural Text using Interactive Entity Networks》
論文閱讀《Understanding Procedural Text using Interactive Entity Networks》

memory slots 是什麼?

we place memory slots inside IEN cells and let them recurrently update as GRU;

Each memory slot represents the state of a specific entity or a location candidate.

h t e ∈ R n ∗ d h_t^e \in R^{n*d} hte​∈Rn∗d 表示第t個IEN cell中所有實體的 memory slots; h t l ∈ R n ∗ d h_t^l \in R^{n*d} htl​∈Rn∗d 表示第t個IEN cell中所有location的 memory slots。更新過程如下:

論文閱讀《Understanding Procedural Text using Interactive Entity Networks》

這裡的 Att 是一個 scaled key-value attention function. 定義公式如下:

論文閱讀《Understanding Procedural Text using Interactive Entity Networks》

模型的亮點就在于将 attention 引入到了GRU中,這樣顯式地模拟出 entity-entity 以及 entity-location 之間的互動。

這個更新過程同 entity memory slots 很相似,不再叙述。

論文閱讀《Understanding Procedural Text using Interactive Entity Networks》
論文閱讀《Understanding Procedural Text using Interactive Entity Networks》

參考資料

GRU 的結構圖

論文閱讀《Understanding Procedural Text using Interactive Entity Networks》

繼續閱讀