• 沒有找到結果。

關係分類與實體詞擷取

本論文使用機器學習系統 Tensorflow 與 Keras 工具進行關係擷取實作,透過 Tensorflow 與 Keras 工具建構兩個基於類神經網路的模型,關係偵測模型進行句 子的關係分類,而鑑別模型則判斷某實體詞配對是否具有特定關係。以下將詳細 說明兩個模型的架構及回饋學習機制。

本章將在章節5.1 詳細說明關係偵測模型整體架構;在章節 5.2 說明鑑別模型 整體架構,並針對與關係偵測模型不同處進行詳細說明;並將在章節 5.3 說明結 合上述兩個模型輸出結果的回饋學習機制。

21

圖5. 1 關係偵測模型架構

5.1 關係偵測模型

如圖 5. 1 所示,首先本模型會將訓練資料中每個句子𝑠中的所有詞𝑤-和詞性 𝑝-各自轉換成編號作為輸入。

嵌入層(Embedding Layer)

使用在第四章所提到,從文本語料庫預訓練的嵌入表示法特徵作為嵌入層的 權重初始值。詞和詞性編號經過嵌入層轉成詞嵌入向量和詞性嵌入向量,將這兩 個輸出向量接合作為每個詞語的特徵輸入。

雙向長短記憶層(Bi-LSTM Layer)

經過雙向長短記憶層得到各詞語的隱藏特徵向量。

22 注意力層(Attention Layer)

各隱藏特徵向量𝐻 = [ℎ3, ℎ4, … , ℎ6]會用來相互計算出二維注意力矩陣,表示 各詞語在不同概念上所佔的權重值。

前後文表示層(Context Representation Layer)

將各詞語的隱藏特徵向量乘上權重值得到前後文特徵矩陣。

平坦層(Flattened Layer)

經過平坦層轉成一個特徵向量。

全連接層(Fully Connected Layer)

透過一層全連接層用來學習特徵向量中每個特徵的權重,使用 Sigmoid 函式 讓數值範圍介於0 到 1 之間,預測句子具有此特定關係的機率值。

23

圖5. 2 嵌入層與雙向長短記憶層處理

以下將說明利用這些網絡層建立關係偵測模型的細節。

(1) 嵌入層

如圖5. 1 所示,句子中有𝑛個詞語𝑤3, 𝑤4, … , 𝑤6以及相對應的詞性𝑝3, 𝑝4, … , 𝑝6, 且皆以編號表示作為輸入。接著經過嵌入層,使用預訓練的嵌入向量作為嵌入層 的初始權重值,分別得到句子中𝑛個 𝑅4:;詞語嵌入向量,以𝑒=>, 𝑒=?, … , 𝑒=@表示,

以及𝑛個𝑅3;詞性嵌入向量,以𝑒A>, 𝑒A?, … , 𝑒A@表示。嵌入層輸出後,將各個字𝑤-的 詞語嵌入向量𝑒=B與各個詞性𝑝-的詞性嵌入向量𝑒AB接合成一個𝑅4C;向量,作為每個 詞語的特徵向量,輸入雙向長短期記憶層。

24

(2) 雙向長短期記憶層

長短期記憶是遞迴類神經網路的一種,本論文採用雙向長短期記憶架構,其考 慮詞語在句子中的向前及向後累積資訊,可以更完整地捕捉到較長距離且雙向的 語意關係。

圖5. 3 長短期記憶架構流程

一個長短期記憶層中的神經單元如圖5. 3 所示,對應到本問題中,𝑥E表示句子 中第𝑡個詞語輸入的特徵向量,ℎEG3為前一個詞語特徵經過長短期記憶後的輸出結 果,ℎE則表示目前詞語經過長短期記憶後的累積隱藏向量。長短期記憶透過控制 閘門來調整向量訊息的去留程度,包含輸入閥(Input Gate)、遺忘閥(Forget Gate)、

輸出閥(Output Gate),而上述閘門的輸出計算方式分別如公式 1、公式 2 和公式 3 所示,當時記憶單元內容𝐶I 的計算方式則如公式 4 所示。 E

𝑖E = 𝜎L𝑥E𝑈-+ ℎEG3𝑊-P (公式 1) 𝑓E = 𝜎(𝑥E𝑈R+ ℎEG3𝑊R) (公式 2) 𝑜E= 𝜎(𝑥E𝑈T + ℎEG3𝑊T) (公式 3) 𝐶I = 𝑡𝑎𝑛ℎ(𝑥E E𝑈V + ℎEG3𝑊V) (公式 4)

25 型的關係預測效果。注意力機制常用在sequence to sequence 模型中,在解碼時根 據解碼器的輸入特徵,對編碼器的各隱藏向量計算其對解碼的重要程度。在本問 類似論文[11]中 concat 注意力計算公式,並參考論文[9]將注意力轉換為二維度的

26

27

本論文在架構中採用一層 50 個神經元的全連接層,與平坦層輸出的𝑅3∗(CX∗]) 特徵向量接上,全連接層的輸出結果用來預測句子具有特定關係的程度值,並透 過Sigmoid 激活函數處理,得到一個[0,1]範圍的預測結果。

本論文訓練模型時,將模型的損失函數設定為常用於解決二分類問題的Binary Cross-entropy,亦稱做對數損失(Logloss),如公式 10 所示。其中𝑦-表示訓練資料

中給定的資料是否具有此關係,𝑦h表示系統預測句子中具有此關係類別的機率值,g 𝑛表示訓練資料的樣本數。

𝐿𝑜𝑔𝑙𝑜𝑠𝑠 = −3

6∑ L𝑦6- -𝑙𝑜𝑔(𝑦h) + (1 − 𝑦g -)𝑙𝑜𝑔(1 − 𝑦h)Pg (公式 10)

28

圖5. 4 鑑別模型架構

5.2 鑑別模型

如圖5. 4 所示,鑑別模型的整體架構與關係偵測模型相似,但模型輸入分成 三個部分:(一)一組實體詞配對、(二)四個關係的代表動詞、(三)出現這組實 體詞配對的句子。三者皆以詞語編號的方式輸入模型。

嵌入層(Embedding Layer)

使用預訓練的詞嵌入向量作為嵌入層的權重初始值,詞編號經過嵌入層轉成 詞嵌入向量,再以實體詞配對的向量差𝑒m-RR作為後續處理的特徵輸入。

雙向長短期記憶層(Bi-LSTM Layer)

採用與關係偵測模型相同的雙向長短期記憶層,計算出句子中各詞語的隱藏 特徵向量。

29 注意力層(Attention Layer)

以實體詞配對的向量差𝑒m-RR分別與四個代表動詞的詞嵌入向量𝑒n>、𝑒n?、𝑒no、 𝑒np和句子中各詞語的隱藏特徵向量進行注意力權重計算。

前後文表示層(Context Representation Layer)

將四個代表動詞的詞嵌入向量,以及句子各詞語的隱藏特徵向量分別乘上注 意力權重,得到關係特徵資訊和句子前後文特徵資訊。

接合層(Concatenated Layer)

將實體詞配對的向量差、關係特徵資訊及句子前後文特徵資訊三種特徵向量 接合起來,作為全連接層的輸入。

全連接層(Fully Connected Layer)

透過三層全連接層學習特徵向量中各種特徵的權重,使用tanh 激活函式讓數 值範圍介於-1 到 1 之間,最後預測該組實體詞配對具有此關係的程度值。

30

31

32

本論文訓練此模型時,損失函數的設定使用Keras 所提供的 Hinge Loss,如公 式16 所示,其中𝑦-表示訓練資料中給定的資料是否具有此關係,𝑦h表示系統預測g 句子中具有此關係類別的程度值,預測結果愈接近 1,表示輸入的實體詞配對愈 可能有此關係;預測結果愈接近-1,表示輸入的實體詞配對愈可能不具有此關係。

(5) 訓練資料產生

鑑別模型的訓練資料是將一個句子經過關係偵測模型後,利用計算注意力權 重找出前五名候選實體詞,將所有不同的候選實體詞進行排列組合,共產生20 組 候選實體詞配對。若其中一組為正確實體詞配對,則將其餘19 組實體詞配對皆當 作負面樣本;若沒有找出知識庫裡的實體詞配對,則將20 組候選實體詞配對皆當 作負面樣本。其中負面樣本的標籤為-1,正面樣本的標籤為 1。

此做法會導致正、負面樣本的比例懸殊過大,影響模型訓練效果,因此本模型 在進行關係分類時,將正面樣本的分類權重和負面樣本的分類權重分別設定為 100 比 1,在計算損失函數時才不會被過多負面樣本影響。

33

5.3 回饋學習機制

經過上述兩個模型後,統計擷取出來的事實關係三元詞組的次數後,可以找 出多個新的事實關係三元詞組,本論文使用次數大於𝑛次的事實關係三元詞組,利

用遠程監督的概念,再從語料庫中抓取同時包含這些實體詞配對的句子,增加上 述兩個模型的正面訓練資料量,並調整訓練關係擷取模型,以達到較好的效果,

如圖5. 5 所示。次數𝑛的設定將在實驗討論比較。

圖5. 5 回饋學習機制架構

34

相關文件