對應程式碼的github網址:https://github.com/WeizheYang-SHIN/Feature_Engineering_RE
神經化特徵工程模型的架構
本文提出的識別實體關係的模型分為兩個元件:特徵工程元件
和神經網路元件
。
- 特徵工程元件包含兩個步驟:
特徵提取
和特徵組合
。
在特徵提取過程中,從輸入句子中提取分類特徵,這些分類特徵可以是
原子特徵
或組合特徵
。
- 神經網路元件有四個步驟:
特徵表示
、特徵轉換
、特徵選擇
和特徵融合
。
- 特徵表示:組合的特徵被編碼為
分散式表示
,並透過嵌入層
輸入到深度神經網路中。- 特徵轉換:
卷積層
將區域性特徵轉換為高階抽象表示。三個具有不同架構的卷積網路被設計用於分別處理不同型別的特徵。- 特徵選擇:透過
池化層
實現,池化層從輸入中收集顯著特徵。- 特徵融合:使用
全連線層
將池化層的輸出連線成一個向量以進行特徵融合。- 最後,
softmax 層
輸出所有關係型別之間的分佈。
特徵工程
在基於特徵的模型中,特徵組合具有使用先驗知識和經驗
的優點。這種組合將任務的特徵空間對映到更高維的空間,這可以導致更靈活的決策邊界。
從技術角度來看,我們將組合特徵分為兩種型別:複雜特徵
和序列特徵
。
- 複雜特徵是透過連線兩個(或幾個)原子特徵來生成的。每個複雜特徵都用作
單個token
。在神經網路中,每個複雜的特徵都被嵌入到一個向量中。 - 序列特徵是序列資料,例如句子中的子句。每個序列特徵都透過
神經網路
對映到向量中。
原子特徵
在提取方面,通常使用七種型別的原子特徵集:實體型別
、實體子型別
、頭部名詞
、左詞和右詞 POS 標籤
、實體結構
和 n-gram 特徵
。
- 實體型別和子型別是關於命名實體的語義資訊。
- 頭部名詞確定命名實體的類別,如“印度尼西亞法院”中的“法院”。
- 左詞和右詞 POS 標籤是實體兩側相鄰詞的詞性 (POS) 標籤。
- 實體結構是實體對在句子中的相對位置。
- N-gram 特徵是句子中連續的單詞序列,並捕獲相鄰單詞之間的語義依賴性。
複雜特徵
本文采用七種特徵運算
來生成複雜特徵。
序列特徵
另一種型別的組合特徵是序列特徵,它是透過連線
句子的子字串生成的。
由表1-3,定義了五個特徵集
:
神經網路元件
在深度神經網路中,輸入的值表示訊號的時態。因此,每個組合特徵都表示為高維獨熱向量。
- 每個
複雜特徵
都直接嵌入
到向量中。 - 相反,
序列特徵
中的詞首先被對映到向量序列中
,然後透過遞迴神經網路
轉化為向量。
基於組合特徵的特徵,設計了三種常規模型(''CNN_A''、''CNN_B''和''CNN_C'')分別處理Fcomplex、Fsequential和FML。
- 由於
複雜特徵
(Fcomplex) 彼此不依賴,因此設計了具有兩個 1 × 1 核的卷積網路CNN_A。 - 為了處理實體頭對和
n-gram 特徵
,透過關係提及 r 實現了兩個 3 × 1 卷積核。神經網路與最大池化層堆疊在一起。它被稱為“CNN_B”。 標有實體邊界的關係提及
由卷積神經網路處理,稱為“CNN_C”,該網路由 1 × 1 核和 3 × 1 核組成。
因此,給定一個關係例項作為輸入,其抽象表示按如下方式編碼:
池化操作
從輸入中收集顯著特徵。在池化層之後,堆疊了一個全連線層
,用於進行全域性調節。最後,softmax 層
輸出所有關係型別之間的分佈。
資料集
ACE corpus
Chen Y, Yang W, Wang K, et al. A neuralized feature engineering method for entity relation extraction[J]. Neural Networks, 2021, 141: 249-260.